diff --git a/.babelrc b/.babelrc new file mode 100755 index 00000000..bc1cb9ca --- /dev/null +++ b/.babelrc @@ -0,0 +1,26 @@ +{ + "presets": [ + "@babel/preset-env", + "@babel/preset-react" + ], + "plugins": [ + "@babel/plugin-proposal-class-properties" + ], + "env": { + "development": { + "plugins": [ + "react-element-info" + ], + }, + "test": { + "plugins": [ + "react-element-info", + "@babel/plugin-transform-runtime", + ], + "presets": [ + "@babel/preset-env", + "@babel/preset-react" + ] + } + } +} diff --git a/__tests__/components/GridItem.test.js b/__tests__/components/GridItem.test.js index de8ee0f9..df2275fa 100755 --- a/__tests__/components/GridItem.test.js +++ b/__tests__/components/GridItem.test.js @@ -21,13 +21,14 @@ describe('', () => { var artist = state.core.artists['jest:artist:alpha']; var dom = shallow(); expect(dom.find('.grid__item__name').text()).toEqual('Alpha'); - expect(dom.find('.grid__item__secondary__content').text()).toEqual('123 followers 1 albums'); + expect(dom.find('.grid__item__secondary__content').childAt(0).render().text()).toEqual('123 followers'); + expect(dom.find('.grid__item__secondary__content').childAt(1).render().text()).toEqual('1 albums'); }); it('should handle playlist', () => { var playlist = state.core.playlists['jest:playlist:one']; var dom = shallow(); expect(dom.find('.grid__item__name').text()).toEqual('One'); - expect(dom.find('.grid__item__secondary__content').text()).toEqual('2 tracks'); + expect(dom.find('.grid__item__secondary__content').render().text()).toEqual('2 tracks'); }); }); \ No newline at end of file diff --git a/babel.config.js b/babel.config.js deleted file mode 100755 index 5a0f9223..00000000 --- a/babel.config.js +++ /dev/null @@ -1,9 +0,0 @@ -module.exports = { - presets: [ - '@babel/preset-env', - '@babel/preset-react', - ], - plugins: [ - '@babel/plugin-proposal-class-properties', - ], -}; diff --git a/mopidy_iris/static/app.js b/mopidy_iris/static/app.js index 06701df3..67471b4e 100644 --- a/mopidy_iris/static/app.js +++ b/mopidy_iris/static/app.js @@ -161,23 +161,6 @@ function _objectWithoutPropertiesLoose(source, excluded) { /***/ }), -/***/ "./node_modules/@babel/runtime/helpers/inheritsLoose.js": -/*!**************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/inheritsLoose.js ***! - \**************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -function _inheritsLoose(subClass, superClass) { - subClass.prototype = Object.create(superClass.prototype); - subClass.prototype.constructor = subClass; - subClass.__proto__ = superClass; -} - -module.exports = _inheritsLoose; - -/***/ }), - /***/ "./node_modules/@sentry/browser/esm/backend.js": /*!*****************************************************!*\ !*** ./node_modules/@sentry/browser/esm/backend.js ***! @@ -230,34 +213,14 @@ var BrowserBackend = /** @class */ (function (_super) { * @inheritDoc */ BrowserBackend.prototype.eventFromException = function (exception, hint) { - var syntheticException = (hint && hint.syntheticException) || undefined; - var event = Object(_eventbuilder__WEBPACK_IMPORTED_MODULE_4__["eventFromUnknownInput"])(exception, syntheticException, { - attachStacktrace: this._options.attachStacktrace, - }); - Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_3__["addExceptionMechanism"])(event, { - handled: true, - type: 'generic', - }); - event.level = _sentry_types__WEBPACK_IMPORTED_MODULE_2__["Severity"].Error; - if (hint && hint.event_id) { - event.event_id = hint.event_id; - } - return _sentry_utils__WEBPACK_IMPORTED_MODULE_3__["SyncPromise"].resolve(event); + return Object(_eventbuilder__WEBPACK_IMPORTED_MODULE_4__["eventFromException"])(this._options, exception, hint); }; /** * @inheritDoc */ BrowserBackend.prototype.eventFromMessage = function (message, level, hint) { if (level === void 0) { level = _sentry_types__WEBPACK_IMPORTED_MODULE_2__["Severity"].Info; } - var syntheticException = (hint && hint.syntheticException) || undefined; - var event = Object(_eventbuilder__WEBPACK_IMPORTED_MODULE_4__["eventFromString"])(message, syntheticException, { - attachStacktrace: this._options.attachStacktrace, - }); - event.level = level; - if (hint && hint.event_id) { - event.event_id = hint.event_id; - } - return _sentry_utils__WEBPACK_IMPORTED_MODULE_3__["SyncPromise"].resolve(event); + return Object(_eventbuilder__WEBPACK_IMPORTED_MODULE_4__["eventFromMessage"])(this._options, message, level, hint); }; return BrowserBackend; }(_sentry_core__WEBPACK_IMPORTED_MODULE_1__["BaseBackend"])); @@ -280,7 +243,11 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _sentry_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @sentry/core */ "./node_modules/@sentry/core/esm/index.js"); /* harmony import */ var _sentry_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @sentry/utils */ "./node_modules/@sentry/utils/esm/index.js"); /* harmony import */ var _backend__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./backend */ "./node_modules/@sentry/browser/esm/backend.js"); -/* harmony import */ var _version__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./version */ "./node_modules/@sentry/browser/esm/version.js"); +/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./helpers */ "./node_modules/@sentry/browser/esm/helpers.js"); +/* harmony import */ var _integrations__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./integrations */ "./node_modules/@sentry/browser/esm/integrations/index.js"); +/* harmony import */ var _version__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./version */ "./node_modules/@sentry/browser/esm/version.js"); + + @@ -308,14 +275,24 @@ var BrowserClient = /** @class */ (function (_super) { */ BrowserClient.prototype._prepareEvent = function (event, scope, hint) { event.platform = event.platform || 'javascript'; - event.sdk = tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"]({}, event.sdk, { name: _version__WEBPACK_IMPORTED_MODULE_4__["SDK_NAME"], packages: tslib__WEBPACK_IMPORTED_MODULE_0__["__spread"](((event.sdk && event.sdk.packages) || []), [ + event.sdk = tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"]({}, event.sdk, { name: _version__WEBPACK_IMPORTED_MODULE_6__["SDK_NAME"], packages: tslib__WEBPACK_IMPORTED_MODULE_0__["__spread"](((event.sdk && event.sdk.packages) || []), [ { name: 'npm:@sentry/browser', - version: _version__WEBPACK_IMPORTED_MODULE_4__["SDK_VERSION"], + version: _version__WEBPACK_IMPORTED_MODULE_6__["SDK_VERSION"], }, - ]), version: _version__WEBPACK_IMPORTED_MODULE_4__["SDK_VERSION"] }); + ]), version: _version__WEBPACK_IMPORTED_MODULE_6__["SDK_VERSION"] }); return _super.prototype._prepareEvent.call(this, event, scope, hint); }; + /** + * @inheritDoc + */ + BrowserClient.prototype._sendEvent = function (event) { + var integration = this.getIntegration(_integrations__WEBPACK_IMPORTED_MODULE_5__["Breadcrumbs"]); + if (integration) { + integration.addSentryBreadcrumb(event); + } + _super.prototype._sendEvent.call(this, event); + }; /** * Show a report dialog to the user to send feedback to a specific event. * @@ -329,25 +306,10 @@ var BrowserClient = /** @class */ (function (_super) { return; } if (!this._isEnabled()) { - _sentry_utils__WEBPACK_IMPORTED_MODULE_2__["logger"].error('Trying to call showReportDialog with Sentry Client is disabled'); + _sentry_utils__WEBPACK_IMPORTED_MODULE_2__["logger"].error('Trying to call showReportDialog with Sentry Client disabled'); return; } - var dsn = options.dsn || this.getDsn(); - if (!options.eventId) { - _sentry_utils__WEBPACK_IMPORTED_MODULE_2__["logger"].error('Missing `eventId` option in showReportDialog call'); - return; - } - if (!dsn) { - _sentry_utils__WEBPACK_IMPORTED_MODULE_2__["logger"].error('Missing `Dsn` option in showReportDialog call'); - return; - } - var script = document.createElement('script'); - script.async = true; - script.src = new _sentry_core__WEBPACK_IMPORTED_MODULE_1__["API"](dsn).getReportDialogEndpoint(options); - if (options.onLoad) { - script.onload = options.onLoad; - } - (document.head || document.body).appendChild(script); + Object(_helpers__WEBPACK_IMPORTED_MODULE_4__["injectReportDialog"])(tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"]({}, options, { dsn: options.dsn || this.getDsn() })); }; return BrowserClient; }(_sentry_core__WEBPACK_IMPORTED_MODULE_1__["BaseClient"])); @@ -360,54 +322,95 @@ var BrowserClient = /** @class */ (function (_super) { /*!**********************************************************!*\ !*** ./node_modules/@sentry/browser/esm/eventbuilder.js ***! \**********************************************************/ -/*! exports provided: eventFromUnknownInput, eventFromString */ +/*! exports provided: eventFromException, eventFromMessage, eventFromUnknownInput, eventFromString */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "eventFromException", function() { return eventFromException; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "eventFromMessage", function() { return eventFromMessage; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "eventFromUnknownInput", function() { return eventFromUnknownInput; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "eventFromString", function() { return eventFromString; }); -/* harmony import */ var _sentry_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @sentry/utils */ "./node_modules/@sentry/utils/esm/index.js"); -/* harmony import */ var _parsers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./parsers */ "./node_modules/@sentry/browser/esm/parsers.js"); -/* harmony import */ var _tracekit__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./tracekit */ "./node_modules/@sentry/browser/esm/tracekit.js"); +/* harmony import */ var _sentry_types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @sentry/types */ "./node_modules/@sentry/types/esm/index.js"); +/* harmony import */ var _sentry_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @sentry/utils */ "./node_modules/@sentry/utils/esm/index.js"); +/* harmony import */ var _parsers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./parsers */ "./node_modules/@sentry/browser/esm/parsers.js"); +/* harmony import */ var _tracekit__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./tracekit */ "./node_modules/@sentry/browser/esm/tracekit.js"); -/** JSDoc */ + +/** + * Builds and Event from a Exception + * @hidden + */ +function eventFromException(options, exception, hint) { + var syntheticException = (hint && hint.syntheticException) || undefined; + var event = eventFromUnknownInput(exception, syntheticException, { + attachStacktrace: options.attachStacktrace, + }); + Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_1__["addExceptionMechanism"])(event, { + handled: true, + type: 'generic', + }); + event.level = _sentry_types__WEBPACK_IMPORTED_MODULE_0__["Severity"].Error; + if (hint && hint.event_id) { + event.event_id = hint.event_id; + } + return _sentry_utils__WEBPACK_IMPORTED_MODULE_1__["SyncPromise"].resolve(event); +} +/** + * Builds and Event from a Message + * @hidden + */ +function eventFromMessage(options, message, level, hint) { + if (level === void 0) { level = _sentry_types__WEBPACK_IMPORTED_MODULE_0__["Severity"].Info; } + var syntheticException = (hint && hint.syntheticException) || undefined; + var event = eventFromString(message, syntheticException, { + attachStacktrace: options.attachStacktrace, + }); + event.level = level; + if (hint && hint.event_id) { + event.event_id = hint.event_id; + } + return _sentry_utils__WEBPACK_IMPORTED_MODULE_1__["SyncPromise"].resolve(event); +} +/** + * @hidden + */ function eventFromUnknownInput(exception, syntheticException, options) { if (options === void 0) { options = {}; } var event; - if (Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_0__["isErrorEvent"])(exception) && exception.error) { + if (Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_1__["isErrorEvent"])(exception) && exception.error) { // If it is an ErrorEvent with `error` property, extract it to get actual Error var errorEvent = exception; exception = errorEvent.error; // tslint:disable-line:no-parameter-reassignment - event = Object(_parsers__WEBPACK_IMPORTED_MODULE_1__["eventFromStacktrace"])(Object(_tracekit__WEBPACK_IMPORTED_MODULE_2__["computeStackTrace"])(exception)); + event = Object(_parsers__WEBPACK_IMPORTED_MODULE_2__["eventFromStacktrace"])(Object(_tracekit__WEBPACK_IMPORTED_MODULE_3__["computeStackTrace"])(exception)); return event; } - if (Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_0__["isDOMError"])(exception) || Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_0__["isDOMException"])(exception)) { + if (Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_1__["isDOMError"])(exception) || Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_1__["isDOMException"])(exception)) { // If it is a DOMError or DOMException (which are legacy APIs, but still supported in some browsers) // then we just extract the name and message, as they don't provide anything else // https://developer.mozilla.org/en-US/docs/Web/API/DOMError // https://developer.mozilla.org/en-US/docs/Web/API/DOMException var domException = exception; - var name_1 = domException.name || (Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_0__["isDOMError"])(domException) ? 'DOMError' : 'DOMException'); + var name_1 = domException.name || (Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_1__["isDOMError"])(domException) ? 'DOMError' : 'DOMException'); var message = domException.message ? name_1 + ": " + domException.message : name_1; event = eventFromString(message, syntheticException, options); - Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_0__["addExceptionTypeValue"])(event, message); + Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_1__["addExceptionTypeValue"])(event, message); return event; } - if (Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_0__["isError"])(exception)) { + if (Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_1__["isError"])(exception)) { // we have a real Error object, do nothing - event = Object(_parsers__WEBPACK_IMPORTED_MODULE_1__["eventFromStacktrace"])(Object(_tracekit__WEBPACK_IMPORTED_MODULE_2__["computeStackTrace"])(exception)); + event = Object(_parsers__WEBPACK_IMPORTED_MODULE_2__["eventFromStacktrace"])(Object(_tracekit__WEBPACK_IMPORTED_MODULE_3__["computeStackTrace"])(exception)); return event; } - if (Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_0__["isPlainObject"])(exception) || Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_0__["isEvent"])(exception)) { + if (Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_1__["isPlainObject"])(exception) || Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_1__["isEvent"])(exception)) { // If it is plain Object or Event, serialize it manually and extract options // This will allow us to group events based on top-level keys // which is much better than creating new group when any key/value change var objectException = exception; - event = Object(_parsers__WEBPACK_IMPORTED_MODULE_1__["eventFromPlainObject"])(objectException, syntheticException, options.rejection); - Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_0__["addExceptionMechanism"])(event, { + event = Object(_parsers__WEBPACK_IMPORTED_MODULE_2__["eventFromPlainObject"])(objectException, syntheticException, options.rejection); + Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_1__["addExceptionMechanism"])(event, { synthetic: true, }); return event; @@ -422,22 +425,23 @@ function eventFromUnknownInput(exception, syntheticException, options) { // // So bail out and capture it as a simple message: event = eventFromString(exception, syntheticException, options); - Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_0__["addExceptionTypeValue"])(event, "" + exception, undefined); - Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_0__["addExceptionMechanism"])(event, { + Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_1__["addExceptionTypeValue"])(event, "" + exception, undefined); + Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_1__["addExceptionMechanism"])(event, { synthetic: true, }); return event; } -// this._options.attachStacktrace -/** JSDoc */ +/** + * @hidden + */ function eventFromString(input, syntheticException, options) { if (options === void 0) { options = {}; } var event = { message: input, }; if (options.attachStacktrace && syntheticException) { - var stacktrace = Object(_tracekit__WEBPACK_IMPORTED_MODULE_2__["computeStackTrace"])(syntheticException); - var frames_1 = Object(_parsers__WEBPACK_IMPORTED_MODULE_1__["prepareFramesForEvent"])(stacktrace.stack); + var stacktrace = Object(_tracekit__WEBPACK_IMPORTED_MODULE_3__["computeStackTrace"])(syntheticException); + var frames_1 = Object(_parsers__WEBPACK_IMPORTED_MODULE_2__["prepareFramesForEvent"])(stacktrace.stack); event.stacktrace = { frames: frames_1, }; @@ -452,7 +456,7 @@ function eventFromString(input, syntheticException, options) { /*!*****************************************************!*\ !*** ./node_modules/@sentry/browser/esm/exports.js ***! \*****************************************************/ -/*! exports provided: Severity, Status, addGlobalEventProcessor, addBreadcrumb, captureException, captureEvent, captureMessage, configureScope, getHubFromCarrier, getCurrentHub, Hub, Scope, setContext, setExtra, setExtras, setTag, setTags, setUser, withScope, BrowserClient, defaultIntegrations, forceLoad, init, lastEventId, onLoad, showReportDialog, flush, close, wrap, SDK_NAME, SDK_VERSION */ +/*! exports provided: Severity, Status, addGlobalEventProcessor, addBreadcrumb, captureException, captureEvent, captureMessage, configureScope, getHubFromCarrier, getCurrentHub, Hub, makeMain, Scope, startTransaction, setContext, setExtra, setExtras, setTag, setTags, setUser, withScope, BrowserClient, injectReportDialog, eventFromException, eventFromMessage, defaultIntegrations, forceLoad, init, lastEventId, onLoad, showReportDialog, flush, close, wrap, SDK_NAME, SDK_VERSION */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -481,8 +485,12 @@ __webpack_require__.r(__webpack_exports__); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Hub", function() { return _sentry_core__WEBPACK_IMPORTED_MODULE_1__["Hub"]; }); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "makeMain", function() { return _sentry_core__WEBPACK_IMPORTED_MODULE_1__["makeMain"]; }); + /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Scope", function() { return _sentry_core__WEBPACK_IMPORTED_MODULE_1__["Scope"]; }); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "startTransaction", function() { return _sentry_core__WEBPACK_IMPORTED_MODULE_1__["startTransaction"]; }); + /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "setContext", function() { return _sentry_core__WEBPACK_IMPORTED_MODULE_1__["setContext"]; }); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "setExtra", function() { return _sentry_core__WEBPACK_IMPORTED_MODULE_1__["setExtra"]; }); @@ -500,29 +508,39 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./client */ "./node_modules/@sentry/browser/esm/client.js"); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "BrowserClient", function() { return _client__WEBPACK_IMPORTED_MODULE_2__["BrowserClient"]; }); -/* harmony import */ var _sdk__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./sdk */ "./node_modules/@sentry/browser/esm/sdk.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "defaultIntegrations", function() { return _sdk__WEBPACK_IMPORTED_MODULE_3__["defaultIntegrations"]; }); +/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./helpers */ "./node_modules/@sentry/browser/esm/helpers.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "injectReportDialog", function() { return _helpers__WEBPACK_IMPORTED_MODULE_3__["injectReportDialog"]; }); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "forceLoad", function() { return _sdk__WEBPACK_IMPORTED_MODULE_3__["forceLoad"]; }); +/* harmony import */ var _eventbuilder__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./eventbuilder */ "./node_modules/@sentry/browser/esm/eventbuilder.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "eventFromException", function() { return _eventbuilder__WEBPACK_IMPORTED_MODULE_4__["eventFromException"]; }); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "init", function() { return _sdk__WEBPACK_IMPORTED_MODULE_3__["init"]; }); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "eventFromMessage", function() { return _eventbuilder__WEBPACK_IMPORTED_MODULE_4__["eventFromMessage"]; }); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "lastEventId", function() { return _sdk__WEBPACK_IMPORTED_MODULE_3__["lastEventId"]; }); +/* harmony import */ var _sdk__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./sdk */ "./node_modules/@sentry/browser/esm/sdk.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "defaultIntegrations", function() { return _sdk__WEBPACK_IMPORTED_MODULE_5__["defaultIntegrations"]; }); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "onLoad", function() { return _sdk__WEBPACK_IMPORTED_MODULE_3__["onLoad"]; }); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "forceLoad", function() { return _sdk__WEBPACK_IMPORTED_MODULE_5__["forceLoad"]; }); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "showReportDialog", function() { return _sdk__WEBPACK_IMPORTED_MODULE_3__["showReportDialog"]; }); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "init", function() { return _sdk__WEBPACK_IMPORTED_MODULE_5__["init"]; }); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "flush", function() { return _sdk__WEBPACK_IMPORTED_MODULE_3__["flush"]; }); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "lastEventId", function() { return _sdk__WEBPACK_IMPORTED_MODULE_5__["lastEventId"]; }); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "close", function() { return _sdk__WEBPACK_IMPORTED_MODULE_3__["close"]; }); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "onLoad", function() { return _sdk__WEBPACK_IMPORTED_MODULE_5__["onLoad"]; }); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "wrap", function() { return _sdk__WEBPACK_IMPORTED_MODULE_3__["wrap"]; }); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "showReportDialog", function() { return _sdk__WEBPACK_IMPORTED_MODULE_5__["showReportDialog"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "flush", function() { return _sdk__WEBPACK_IMPORTED_MODULE_5__["flush"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "close", function() { return _sdk__WEBPACK_IMPORTED_MODULE_5__["close"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "wrap", function() { return _sdk__WEBPACK_IMPORTED_MODULE_5__["wrap"]; }); + +/* harmony import */ var _version__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./version */ "./node_modules/@sentry/browser/esm/version.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SDK_NAME", function() { return _version__WEBPACK_IMPORTED_MODULE_6__["SDK_NAME"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SDK_VERSION", function() { return _version__WEBPACK_IMPORTED_MODULE_6__["SDK_VERSION"]; }); -/* harmony import */ var _version__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./version */ "./node_modules/@sentry/browser/esm/version.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SDK_NAME", function() { return _version__WEBPACK_IMPORTED_MODULE_4__["SDK_NAME"]; }); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SDK_VERSION", function() { return _version__WEBPACK_IMPORTED_MODULE_4__["SDK_VERSION"]; }); @@ -537,7 +555,7 @@ __webpack_require__.r(__webpack_exports__); /*!*****************************************************!*\ !*** ./node_modules/@sentry/browser/esm/helpers.js ***! \*****************************************************/ -/*! exports provided: shouldIgnoreOnError, ignoreNextOnError, wrap */ +/*! exports provided: shouldIgnoreOnError, ignoreNextOnError, wrap, injectReportDialog */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -545,6 +563,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "shouldIgnoreOnError", function() { return shouldIgnoreOnError; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ignoreNextOnError", function() { return ignoreNextOnError; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "wrap", function() { return wrap; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "injectReportDialog", function() { return injectReportDialog; }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js"); /* harmony import */ var _sentry_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @sentry/core */ "./node_modules/@sentry/core/esm/index.js"); /* harmony import */ var _sentry_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @sentry/utils */ "./node_modules/@sentry/utils/esm/index.js"); @@ -682,6 +701,28 @@ function wrap(fn, options, before) { } return sentryWrapped; } +/** + * Injects the Report Dialog script + * @hidden + */ +function injectReportDialog(options) { + if (options === void 0) { options = {}; } + if (!options.eventId) { + _sentry_utils__WEBPACK_IMPORTED_MODULE_2__["logger"].error("Missing eventId option in showReportDialog call"); + return; + } + if (!options.dsn) { + _sentry_utils__WEBPACK_IMPORTED_MODULE_2__["logger"].error("Missing dsn option in showReportDialog call"); + return; + } + var script = document.createElement('script'); + script.async = true; + script.src = new _sentry_core__WEBPACK_IMPORTED_MODULE_1__["API"](options.dsn).getReportDialogEndpoint(options); + if (options.onLoad) { + script.onload = options.onLoad; + } + (document.head || document.body).appendChild(script); +} //# sourceMappingURL=helpers.js.map /***/ }), @@ -690,7 +731,7 @@ function wrap(fn, options, before) { /*!***************************************************!*\ !*** ./node_modules/@sentry/browser/esm/index.js ***! \***************************************************/ -/*! exports provided: Severity, Status, addGlobalEventProcessor, addBreadcrumb, captureException, captureEvent, captureMessage, configureScope, getHubFromCarrier, getCurrentHub, Hub, Scope, setContext, setExtra, setExtras, setTag, setTags, setUser, withScope, BrowserClient, defaultIntegrations, forceLoad, init, lastEventId, onLoad, showReportDialog, flush, close, wrap, SDK_NAME, SDK_VERSION, Integrations, Transports */ +/*! exports provided: Severity, Status, addGlobalEventProcessor, addBreadcrumb, captureException, captureEvent, captureMessage, configureScope, getHubFromCarrier, getCurrentHub, Hub, makeMain, Scope, startTransaction, setContext, setExtra, setExtras, setTag, setTags, setUser, withScope, BrowserClient, injectReportDialog, eventFromException, eventFromMessage, defaultIntegrations, forceLoad, init, lastEventId, onLoad, showReportDialog, flush, close, wrap, SDK_NAME, SDK_VERSION, Integrations, Transports */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -720,8 +761,12 @@ __webpack_require__.r(__webpack_exports__); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Hub", function() { return _exports__WEBPACK_IMPORTED_MODULE_1__["Hub"]; }); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "makeMain", function() { return _exports__WEBPACK_IMPORTED_MODULE_1__["makeMain"]; }); + /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Scope", function() { return _exports__WEBPACK_IMPORTED_MODULE_1__["Scope"]; }); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "startTransaction", function() { return _exports__WEBPACK_IMPORTED_MODULE_1__["startTransaction"]; }); + /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "setContext", function() { return _exports__WEBPACK_IMPORTED_MODULE_1__["setContext"]; }); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "setExtra", function() { return _exports__WEBPACK_IMPORTED_MODULE_1__["setExtra"]; }); @@ -738,6 +783,12 @@ __webpack_require__.r(__webpack_exports__); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "BrowserClient", function() { return _exports__WEBPACK_IMPORTED_MODULE_1__["BrowserClient"]; }); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "injectReportDialog", function() { return _exports__WEBPACK_IMPORTED_MODULE_1__["injectReportDialog"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "eventFromException", function() { return _exports__WEBPACK_IMPORTED_MODULE_1__["eventFromException"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "eventFromMessage", function() { return _exports__WEBPACK_IMPORTED_MODULE_1__["eventFromMessage"]; }); + /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "defaultIntegrations", function() { return _exports__WEBPACK_IMPORTED_MODULE_1__["defaultIntegrations"]; }); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "forceLoad", function() { return _exports__WEBPACK_IMPORTED_MODULE_1__["forceLoad"]; }); @@ -818,6 +869,22 @@ var Breadcrumbs = /** @class */ (function () { this.name = Breadcrumbs.id; this._options = tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"]({ console: true, dom: true, fetch: true, history: true, sentry: true, xhr: true }, options); } + /** + * Create a breadcrumb of `sentry` from the events themselves + */ + Breadcrumbs.prototype.addSentryBreadcrumb = function (event) { + if (!this._options.sentry) { + return; + } + Object(_sentry_core__WEBPACK_IMPORTED_MODULE_1__["getCurrentHub"])().addBreadcrumb({ + category: "sentry." + (event.type === 'transaction' ? 'transaction' : 'event'), + event_id: event.event_id, + level: event.level, + message: Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_3__["getEventDescription"])(event), + }, { + event: event, + }); + }; /** * Creates breadcrumbs from console API calls */ @@ -889,10 +956,6 @@ var Breadcrumbs = /** @class */ (function () { }); return; } - // We only capture issued sentry requests - if (this._options.sentry && handlerData.xhr.__sentry_own_request__) { - addSentryBreadcrumb(handlerData.args[0]); - } }; /** * Creates breadcrumbs from fetch API calls @@ -902,25 +965,14 @@ var Breadcrumbs = /** @class */ (function () { if (!handlerData.endTimestamp) { return; } - var client = Object(_sentry_core__WEBPACK_IMPORTED_MODULE_1__["getCurrentHub"])().getClient(); - var dsn = client && client.getDsn(); - if (this._options.sentry && dsn) { - var filterUrl = new _sentry_core__WEBPACK_IMPORTED_MODULE_1__["API"](dsn).getStoreEndpoint(); - // if Sentry key appears in URL, don't capture it as a request - // but rather as our own 'sentry' type breadcrumb - if (filterUrl && - handlerData.fetchData.url.indexOf(filterUrl) !== -1 && - handlerData.fetchData.method === 'POST' && - handlerData.args[1] && - handlerData.args[1].body) { - addSentryBreadcrumb(handlerData.args[1].body); - return; - } + if (handlerData.fetchData.url.match(/sentry_key/) && handlerData.fetchData.method === 'POST') { + // We will not create breadcrumbs for fetch requests that contain `sentry_key` (internal sentry requests) + return; } if (handlerData.error) { Object(_sentry_core__WEBPACK_IMPORTED_MODULE_1__["getCurrentHub"])().addBreadcrumb({ category: 'fetch', - data: tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"]({}, handlerData.fetchData, { status_code: handlerData.response.status }), + data: handlerData.fetchData, level: _sentry_types__WEBPACK_IMPORTED_MODULE_2__["Severity"].Error, type: 'http', }, { @@ -1049,26 +1101,6 @@ var Breadcrumbs = /** @class */ (function () { return Breadcrumbs; }()); -/** - * Create a breadcrumb of `sentry` from the events themselves - */ -function addSentryBreadcrumb(serializedData) { - // There's always something that can go wrong with deserialization... - try { - var event_1 = JSON.parse(serializedData); - Object(_sentry_core__WEBPACK_IMPORTED_MODULE_1__["getCurrentHub"])().addBreadcrumb({ - category: "sentry." + (event_1.type === 'transaction' ? 'transaction' : 'event'), - event_id: event_1.event_id, - level: event_1.level || _sentry_types__WEBPACK_IMPORTED_MODULE_2__["Severity"].fromString('error'), - message: Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_3__["getEventDescription"])(event_1), - }, { - event: event_1, - }); - } - catch (_oO) { - _sentry_utils__WEBPACK_IMPORTED_MODULE_3__["logger"].error('Error while adding sentry type breadcrumb'); - } -} //# sourceMappingURL=breadcrumbs.js.map /***/ }), @@ -1411,19 +1443,54 @@ var LinkedErrors = /** @class */ (function () { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TryCatch", function() { return TryCatch; }); -/* harmony import */ var _sentry_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @sentry/utils */ "./node_modules/@sentry/utils/esm/index.js"); -/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../helpers */ "./node_modules/@sentry/browser/esm/helpers.js"); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js"); +/* harmony import */ var _sentry_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @sentry/utils */ "./node_modules/@sentry/utils/esm/index.js"); +/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../helpers */ "./node_modules/@sentry/browser/esm/helpers.js"); + +var DEFAULT_EVENT_TARGET = [ + 'EventTarget', + 'Window', + 'Node', + 'ApplicationCache', + 'AudioTrackList', + 'ChannelMergerNode', + 'CryptoOperation', + 'EventSource', + 'FileReader', + 'HTMLUnknownElement', + 'IDBDatabase', + 'IDBRequest', + 'IDBTransaction', + 'KeyOperation', + 'MediaController', + 'MessagePort', + 'ModalWindow', + 'Notification', + 'SVGElementInstance', + 'Screen', + 'TextTrack', + 'TextTrackCue', + 'TextTrackList', + 'WebSocket', + 'WebSocketWorker', + 'Worker', + 'XMLHttpRequest', + 'XMLHttpRequestEventTarget', + 'XMLHttpRequestUpload', +]; /** Wrap timer functions and event targets to catch errors and provide better meta data */ var TryCatch = /** @class */ (function () { - function TryCatch() { - /** JSDoc */ - this._ignoreOnError = 0; + /** + * @inheritDoc + */ + function TryCatch(options) { /** * @inheritDoc */ this.name = TryCatch.id; + this._options = tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"]({ XMLHttpRequest: true, eventTarget: true, requestAnimationFrame: true, setInterval: true, setTimeout: true }, options); } /** JSDoc */ TryCatch.prototype._wrapTimeFunction = function (original) { @@ -1433,9 +1500,9 @@ var TryCatch = /** @class */ (function () { args[_i] = arguments[_i]; } var originalCallback = args[0]; - args[0] = Object(_helpers__WEBPACK_IMPORTED_MODULE_1__["wrap"])(originalCallback, { + args[0] = Object(_helpers__WEBPACK_IMPORTED_MODULE_2__["wrap"])(originalCallback, { mechanism: { - data: { function: Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_0__["getFunctionName"])(original) }, + data: { function: Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_1__["getFunctionName"])(original) }, handled: true, type: 'instrument', }, @@ -1446,11 +1513,11 @@ var TryCatch = /** @class */ (function () { /** JSDoc */ TryCatch.prototype._wrapRAF = function (original) { return function (callback) { - return original(Object(_helpers__WEBPACK_IMPORTED_MODULE_1__["wrap"])(callback, { + return original.call(this, Object(_helpers__WEBPACK_IMPORTED_MODULE_2__["wrap"])(callback, { mechanism: { data: { function: 'requestAnimationFrame', - handler: Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_0__["getFunctionName"])(original), + handler: Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_1__["getFunctionName"])(original), }, handled: true, type: 'instrument', @@ -1460,21 +1527,21 @@ var TryCatch = /** @class */ (function () { }; /** JSDoc */ TryCatch.prototype._wrapEventTarget = function (target) { - var global = Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_0__["getGlobalObject"])(); + var global = Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_1__["getGlobalObject"])(); var proto = global[target] && global[target].prototype; if (!proto || !proto.hasOwnProperty || !proto.hasOwnProperty('addEventListener')) { return; } - Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_0__["fill"])(proto, 'addEventListener', function (original) { + Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_1__["fill"])(proto, 'addEventListener', function (original) { return function (eventName, fn, options) { try { // tslint:disable-next-line:no-unbound-method strict-type-predicates if (typeof fn.handleEvent === 'function') { - fn.handleEvent = Object(_helpers__WEBPACK_IMPORTED_MODULE_1__["wrap"])(fn.handleEvent.bind(fn), { + fn.handleEvent = Object(_helpers__WEBPACK_IMPORTED_MODULE_2__["wrap"])(fn.handleEvent.bind(fn), { mechanism: { data: { function: 'handleEvent', - handler: Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_0__["getFunctionName"])(fn), + handler: Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_1__["getFunctionName"])(fn), target: target, }, handled: true, @@ -1486,11 +1553,11 @@ var TryCatch = /** @class */ (function () { catch (err) { // can sometimes get 'Permission denied to access property "handle Event' } - return original.call(this, eventName, Object(_helpers__WEBPACK_IMPORTED_MODULE_1__["wrap"])(fn, { + return original.call(this, eventName, Object(_helpers__WEBPACK_IMPORTED_MODULE_2__["wrap"])(fn, { mechanism: { data: { function: 'addEventListener', - handler: Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_0__["getFunctionName"])(fn), + handler: Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_1__["getFunctionName"])(fn), target: target, }, handled: true, @@ -1499,16 +1566,32 @@ var TryCatch = /** @class */ (function () { }), options); }; }); - Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_0__["fill"])(proto, 'removeEventListener', function (original) { + Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_1__["fill"])(proto, 'removeEventListener', function (original) { return function (eventName, fn, options) { - var callback = fn; + /** + * There are 2 possible scenarios here: + * + * 1. Someone passes a callback, which was attached prior to Sentry initialization, or by using unmodified + * method, eg. `document.addEventListener.call(el, name, handler). In this case, we treat this function + * as a pass-through, and call original `removeEventListener` with it. + * + * 2. Someone passes a callback, which was attached after Sentry was initialized, which means that it was using + * our wrapped version of `addEventListener`, which internally calls `wrap` helper. + * This helper "wraps" whole callback inside a try/catch statement, and attached appropriate metadata to it, + * in order for us to make a distinction between wrapped/non-wrapped functions possible. + * If a function was wrapped, it has additional property of `__sentry_wrapped__`, holding the handler. + * + * When someone adds a handler prior to initialization, and then do it again, but after, + * then we have to detach both of them. Otherwise, if we'd detach only wrapped one, it'd be impossible + * to get rid of the initial handler and it'd stick there forever. + */ try { - callback = callback && (callback.__sentry_wrapped__ || callback); + original.call(this, eventName, fn.__sentry_wrapped__, options); } catch (e) { // ignore, accessing __sentry_wrapped__ will throw in some Selenium environments } - return original.call(this, eventName, callback, options); + return original.call(this, eventName, fn, options); }; }); }; @@ -1523,12 +1606,12 @@ var TryCatch = /** @class */ (function () { var xmlHttpRequestProps = ['onload', 'onerror', 'onprogress', 'onreadystatechange']; xmlHttpRequestProps.forEach(function (prop) { if (prop in xhr && typeof xhr[prop] === 'function') { - Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_0__["fill"])(xhr, prop, function (original) { + Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_1__["fill"])(xhr, prop, function (original) { var wrapOptions = { mechanism: { data: { function: prop, - handler: Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_0__["getFunctionName"])(original), + handler: Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_1__["getFunctionName"])(original), }, handled: true, type: 'instrument', @@ -1536,10 +1619,10 @@ var TryCatch = /** @class */ (function () { }; // If Instrument integration has been called before TryCatch, get the name of original function if (original.__sentry_original__) { - wrapOptions.mechanism.data.handler = Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_0__["getFunctionName"])(original.__sentry_original__); + wrapOptions.mechanism.data.handler = Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_1__["getFunctionName"])(original.__sentry_original__); } // Otherwise wrap directly - return Object(_helpers__WEBPACK_IMPORTED_MODULE_1__["wrap"])(original, wrapOptions); + return Object(_helpers__WEBPACK_IMPORTED_MODULE_2__["wrap"])(original, wrapOptions); }); } }); @@ -1551,45 +1634,23 @@ var TryCatch = /** @class */ (function () { * and provide better metadata. */ TryCatch.prototype.setupOnce = function () { - this._ignoreOnError = this._ignoreOnError; - var global = Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_0__["getGlobalObject"])(); - Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_0__["fill"])(global, 'setTimeout', this._wrapTimeFunction.bind(this)); - Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_0__["fill"])(global, 'setInterval', this._wrapTimeFunction.bind(this)); - Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_0__["fill"])(global, 'requestAnimationFrame', this._wrapRAF.bind(this)); - if ('XMLHttpRequest' in global) { - Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_0__["fill"])(XMLHttpRequest.prototype, 'send', this._wrapXHR.bind(this)); + var global = Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_1__["getGlobalObject"])(); + if (this._options.setTimeout) { + Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_1__["fill"])(global, 'setTimeout', this._wrapTimeFunction.bind(this)); + } + if (this._options.setInterval) { + Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_1__["fill"])(global, 'setInterval', this._wrapTimeFunction.bind(this)); + } + if (this._options.requestAnimationFrame) { + Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_1__["fill"])(global, 'requestAnimationFrame', this._wrapRAF.bind(this)); + } + if (this._options.XMLHttpRequest && 'XMLHttpRequest' in global) { + Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_1__["fill"])(XMLHttpRequest.prototype, 'send', this._wrapXHR.bind(this)); + } + if (this._options.eventTarget) { + var eventTarget = Array.isArray(this._options.eventTarget) ? this._options.eventTarget : DEFAULT_EVENT_TARGET; + eventTarget.forEach(this._wrapEventTarget.bind(this)); } - [ - 'EventTarget', - 'Window', - 'Node', - 'ApplicationCache', - 'AudioTrackList', - 'ChannelMergerNode', - 'CryptoOperation', - 'EventSource', - 'FileReader', - 'HTMLUnknownElement', - 'IDBDatabase', - 'IDBRequest', - 'IDBTransaction', - 'KeyOperation', - 'MediaController', - 'MessagePort', - 'ModalWindow', - 'Notification', - 'SVGElementInstance', - 'Screen', - 'TextTrack', - 'TextTrackCue', - 'TextTrackList', - 'WebSocket', - 'WebSocketWorker', - 'Worker', - 'XMLHttpRequest', - 'XMLHttpRequestEventTarget', - 'XMLHttpRequestUpload', - ].forEach(this._wrapEventTarget.bind(this)); }; /** * @inheritDoc @@ -1636,7 +1697,6 @@ var UserAgent = /** @class */ (function () { if (!global.navigator || !global.location) { return event; } - // Request Interface: https://docs.sentry.io/development/sdk-dev/event-payloads/request/ var request = event.request || {}; request.url = request.url || global.location.href; request.headers = request.headers || {}; @@ -1752,6 +1812,7 @@ function prepareFramesForEvent(stack) { } // The frame where the crash happened, should be the last entry in the array return localStack + .slice(0, STACKTRACE_LIMIT) .map(function (frame) { return ({ colno: frame.column === null ? undefined : frame.column, filename: frame.url || localStack[0].url, @@ -1759,7 +1820,6 @@ function prepareFramesForEvent(stack) { in_app: true, lineno: frame.line === null ? undefined : frame.line, }); }) - .slice(0, STACKTRACE_LIMIT) .reverse(); } //# sourceMappingURL=parsers.js.map @@ -1975,11 +2035,21 @@ var gecko = /^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:file|https?|blob|chrome|webpack| var winjs = /^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i; var geckoEval = /(\S+) line (\d+)(?: > eval line \d+)* > eval/i; var chromeEval = /\((\S*)(?::(\d+))(?::(\d+))\)/; +// Based on our own mapping pattern - https://github.com/getsentry/sentry/blob/9f08305e09866c8bd6d0c24f5b0aabdd7dd6c59c/src/sentry/lang/javascript/errormapping.py#L83-L108 +var reactMinifiedRegexp = /Minified React error #\d+;/i; /** JSDoc */ function computeStackTrace(ex) { // tslint:disable:no-unsafe-any var stack = null; - var popSize = ex && ex.framesToPop; + var popSize = 0; + if (ex) { + if (typeof ex.framesToPop === 'number') { + popSize = ex.framesToPop; + } + else if (reactMinifiedRegexp.test(ex.message)) { + popSize = 1; + } + } try { // This must be tried first because Opera 10 *destroys* // its stacktrace property if you try to access the stack @@ -2190,7 +2260,9 @@ var BaseTransport = /** @class */ (function () { this.options = options; /** A simple buffer holding all requests. */ this._buffer = new _sentry_utils__WEBPACK_IMPORTED_MODULE_1__["PromiseBuffer"](30); - this.url = new _sentry_core__WEBPACK_IMPORTED_MODULE_0__["API"](this.options.dsn).getStoreEndpointWithUrlEncodedAuth(); + this._api = new _sentry_core__WEBPACK_IMPORTED_MODULE_0__["API"](this.options.dsn); + // tslint:disable-next-line:deprecation + this.url = this._api.getStoreEndpointWithUrlEncodedAuth(); } /** * @inheritDoc @@ -2222,14 +2294,16 @@ var BaseTransport = /** @class */ (function () { __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FetchTransport", function() { return FetchTransport; }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js"); -/* harmony import */ var _sentry_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @sentry/types */ "./node_modules/@sentry/types/esm/index.js"); -/* harmony import */ var _sentry_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @sentry/utils */ "./node_modules/@sentry/utils/esm/index.js"); -/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./base */ "./node_modules/@sentry/browser/esm/transports/base.js"); +/* harmony import */ var _sentry_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @sentry/core */ "./node_modules/@sentry/core/esm/index.js"); +/* harmony import */ var _sentry_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @sentry/types */ "./node_modules/@sentry/types/esm/index.js"); +/* harmony import */ var _sentry_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @sentry/utils */ "./node_modules/@sentry/utils/esm/index.js"); +/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./base */ "./node_modules/@sentry/browser/esm/transports/base.js"); -var global = Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_2__["getGlobalObject"])(); + +var global = Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_3__["getGlobalObject"])(); /** `fetch` based transport */ var FetchTransport = /** @class */ (function (_super) { tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"](FetchTransport, _super); @@ -2251,31 +2325,35 @@ var FetchTransport = /** @class */ (function (_super) { status: 429, }); } - var defaultOptions = { - body: JSON.stringify(event), + var sentryReq = Object(_sentry_core__WEBPACK_IMPORTED_MODULE_1__["eventToSentryRequest"])(event, this._api); + var options = { + body: sentryReq.body, method: 'POST', // Despite all stars in the sky saying that Edge supports old draft syntax, aka 'never', 'always', 'origin' and 'default // https://caniuse.com/#feat=referrer-policy // It doesn't. And it throw exception instead of ignoring this parameter... // REF: https://github.com/getsentry/raven-js/issues/1233 - referrerPolicy: (Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_2__["supportsReferrerPolicy"])() ? 'origin' : ''), + referrerPolicy: (Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_3__["supportsReferrerPolicy"])() ? 'origin' : ''), }; - if (this.options.headers !== undefined) { - defaultOptions.headers = this.options.headers; + if (this.options.fetchParameters !== undefined) { + Object.assign(options, this.options.fetchParameters); } - return this._buffer.add(new _sentry_utils__WEBPACK_IMPORTED_MODULE_2__["SyncPromise"](function (resolve, reject) { + if (this.options.headers !== undefined) { + options.headers = this.options.headers; + } + return this._buffer.add(new _sentry_utils__WEBPACK_IMPORTED_MODULE_3__["SyncPromise"](function (resolve, reject) { global - .fetch(_this.url, defaultOptions) + .fetch(sentryReq.url, options) .then(function (response) { - var status = _sentry_types__WEBPACK_IMPORTED_MODULE_1__["Status"].fromHttpCode(response.status); - if (status === _sentry_types__WEBPACK_IMPORTED_MODULE_1__["Status"].Success) { + var status = _sentry_types__WEBPACK_IMPORTED_MODULE_2__["Status"].fromHttpCode(response.status); + if (status === _sentry_types__WEBPACK_IMPORTED_MODULE_2__["Status"].Success) { resolve({ status: status }); return; } - if (status === _sentry_types__WEBPACK_IMPORTED_MODULE_1__["Status"].RateLimit) { + if (status === _sentry_types__WEBPACK_IMPORTED_MODULE_2__["Status"].RateLimit) { var now = Date.now(); - _this._disabledUntil = new Date(now + Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_2__["parseRetryAfterHeader"])(now, response.headers.get('Retry-After'))); - _sentry_utils__WEBPACK_IMPORTED_MODULE_2__["logger"].warn("Too many requests, backing off till: " + _this._disabledUntil); + _this._disabledUntil = new Date(now + Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_3__["parseRetryAfterHeader"])(now, response.headers.get('Retry-After'))); + _sentry_utils__WEBPACK_IMPORTED_MODULE_3__["logger"].warn("Too many requests, backing off till: " + _this._disabledUntil); } reject(response); }) @@ -2283,7 +2361,7 @@ var FetchTransport = /** @class */ (function (_super) { })); }; return FetchTransport; -}(_base__WEBPACK_IMPORTED_MODULE_3__["BaseTransport"])); +}(_base__WEBPACK_IMPORTED_MODULE_4__["BaseTransport"])); //# sourceMappingURL=fetch.js.map @@ -2325,9 +2403,11 @@ __webpack_require__.r(__webpack_exports__); __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "XHRTransport", function() { return XHRTransport; }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js"); -/* harmony import */ var _sentry_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @sentry/types */ "./node_modules/@sentry/types/esm/index.js"); -/* harmony import */ var _sentry_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @sentry/utils */ "./node_modules/@sentry/utils/esm/index.js"); -/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./base */ "./node_modules/@sentry/browser/esm/transports/base.js"); +/* harmony import */ var _sentry_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @sentry/core */ "./node_modules/@sentry/core/esm/index.js"); +/* harmony import */ var _sentry_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @sentry/types */ "./node_modules/@sentry/types/esm/index.js"); +/* harmony import */ var _sentry_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @sentry/utils */ "./node_modules/@sentry/utils/esm/index.js"); +/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./base */ "./node_modules/@sentry/browser/esm/transports/base.js"); + @@ -2353,35 +2433,36 @@ var XHRTransport = /** @class */ (function (_super) { status: 429, }); } - return this._buffer.add(new _sentry_utils__WEBPACK_IMPORTED_MODULE_2__["SyncPromise"](function (resolve, reject) { + var sentryReq = Object(_sentry_core__WEBPACK_IMPORTED_MODULE_1__["eventToSentryRequest"])(event, this._api); + return this._buffer.add(new _sentry_utils__WEBPACK_IMPORTED_MODULE_3__["SyncPromise"](function (resolve, reject) { var request = new XMLHttpRequest(); request.onreadystatechange = function () { if (request.readyState !== 4) { return; } - var status = _sentry_types__WEBPACK_IMPORTED_MODULE_1__["Status"].fromHttpCode(request.status); - if (status === _sentry_types__WEBPACK_IMPORTED_MODULE_1__["Status"].Success) { + var status = _sentry_types__WEBPACK_IMPORTED_MODULE_2__["Status"].fromHttpCode(request.status); + if (status === _sentry_types__WEBPACK_IMPORTED_MODULE_2__["Status"].Success) { resolve({ status: status }); return; } - if (status === _sentry_types__WEBPACK_IMPORTED_MODULE_1__["Status"].RateLimit) { + if (status === _sentry_types__WEBPACK_IMPORTED_MODULE_2__["Status"].RateLimit) { var now = Date.now(); - _this._disabledUntil = new Date(now + Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_2__["parseRetryAfterHeader"])(now, request.getResponseHeader('Retry-After'))); - _sentry_utils__WEBPACK_IMPORTED_MODULE_2__["logger"].warn("Too many requests, backing off till: " + _this._disabledUntil); + _this._disabledUntil = new Date(now + Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_3__["parseRetryAfterHeader"])(now, request.getResponseHeader('Retry-After'))); + _sentry_utils__WEBPACK_IMPORTED_MODULE_3__["logger"].warn("Too many requests, backing off till: " + _this._disabledUntil); } reject(request); }; - request.open('POST', _this.url); + request.open('POST', sentryReq.url); for (var header in _this.options.headers) { if (_this.options.headers.hasOwnProperty(header)) { request.setRequestHeader(header, _this.options.headers[header]); } } - request.send(JSON.stringify(event)); + request.send(sentryReq.body); })); }; return XHRTransport; -}(_base__WEBPACK_IMPORTED_MODULE_3__["BaseTransport"])); +}(_base__WEBPACK_IMPORTED_MODULE_4__["BaseTransport"])); //# sourceMappingURL=xhr.js.map @@ -2399,7 +2480,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SDK_NAME", function() { return SDK_NAME; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SDK_VERSION", function() { return SDK_VERSION; }); var SDK_NAME = 'sentry.javascript.browser'; -var SDK_VERSION = '5.15.5'; +var SDK_VERSION = '5.20.1'; //# sourceMappingURL=version.js.map /***/ }), @@ -2428,34 +2509,63 @@ var API = /** @class */ (function () { API.prototype.getDsn = function () { return this._dsnObject; }; - /** Returns a string with auth headers in the url to the store endpoint. */ - API.prototype.getStoreEndpoint = function () { - return "" + this._getBaseUrl() + this.getStoreEndpointPath(); - }; - /** Returns the store endpoint with auth added in url encoded. */ - API.prototype.getStoreEndpointWithUrlEncodedAuth = function () { - var dsn = this._dsnObject; - var auth = { - sentry_key: dsn.user, - sentry_version: SENTRY_API_VERSION, - }; - // Auth is intentionally sent as part of query string (NOT as custom HTTP header) - // to avoid preflight CORS requests - return this.getStoreEndpoint() + "?" + Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_0__["urlEncode"])(auth); - }; - /** Returns the base path of the url including the port. */ - API.prototype._getBaseUrl = function () { + /** Returns the prefix to construct Sentry ingestion API endpoints. */ + API.prototype.getBaseApiEndpoint = function () { var dsn = this._dsnObject; var protocol = dsn.protocol ? dsn.protocol + ":" : ''; var port = dsn.port ? ":" + dsn.port : ''; - return protocol + "//" + dsn.host + port; + return protocol + "//" + dsn.host + port + (dsn.path ? "/" + dsn.path : '') + "/api/"; + }; + /** Returns the store endpoint URL. */ + API.prototype.getStoreEndpoint = function () { + return this._getIngestEndpoint('store'); + }; + /** Returns the envelope endpoint URL. */ + API.prototype._getEnvelopeEndpoint = function () { + return this._getIngestEndpoint('envelope'); + }; + /** Returns the ingest API endpoint for target. */ + API.prototype._getIngestEndpoint = function (target) { + var base = this.getBaseApiEndpoint(); + var dsn = this._dsnObject; + return "" + base + dsn.projectId + "/" + target + "/"; + }; + /** + * Returns the store endpoint URL with auth in the query string. + * + * Sending auth as part of the query string and not as custom HTTP headers avoids CORS preflight requests. + */ + API.prototype.getStoreEndpointWithUrlEncodedAuth = function () { + return this.getStoreEndpoint() + "?" + this._encodedAuth(); + }; + /** + * Returns the envelope endpoint URL with auth in the query string. + * + * Sending auth as part of the query string and not as custom HTTP headers avoids CORS preflight requests. + */ + API.prototype.getEnvelopeEndpointWithUrlEncodedAuth = function () { + return this._getEnvelopeEndpoint() + "?" + this._encodedAuth(); + }; + /** Returns a URL-encoded string with auth config suitable for a query string. */ + API.prototype._encodedAuth = function () { + var dsn = this._dsnObject; + var auth = { + // We send only the minimum set of required information. See + // https://github.com/getsentry/sentry-javascript/issues/2572. + sentry_key: dsn.user, + sentry_version: SENTRY_API_VERSION, + }; + return Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_0__["urlEncode"])(auth); }; /** Returns only the path component for the store endpoint. */ API.prototype.getStoreEndpointPath = function () { var dsn = this._dsnObject; return (dsn.path ? "/" + dsn.path : '') + "/api/" + dsn.projectId + "/store/"; }; - /** Returns an object that can be used in request headers. */ + /** + * Returns an object that can be used in request headers. + * This is needed for node and the old /store endpoint in sentry + */ API.prototype.getRequestHeaders = function (clientName, clientVersion) { var dsn = this._dsnObject; var header = ["Sentry sentry_version=" + SENTRY_API_VERSION]; @@ -2473,7 +2583,7 @@ var API = /** @class */ (function () { API.prototype.getReportDialogEndpoint = function (dialogOptions) { if (dialogOptions === void 0) { dialogOptions = {}; } var dsn = this._dsnObject; - var endpoint = "" + this._getBaseUrl() + (dsn.path ? "/" + dsn.path : '') + "/api/embed/error-page/"; + var endpoint = this.getBaseApiEndpoint() + "embed/error-page/"; var encodedOptions = []; encodedOptions.push("dsn=" + dsn.toString()); for (var key in dialogOptions) { @@ -2581,8 +2691,10 @@ var BaseBackend = /** @class */ (function () { __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BaseClient", function() { return BaseClient; }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js"); -/* harmony import */ var _sentry_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @sentry/utils */ "./node_modules/@sentry/utils/esm/index.js"); -/* harmony import */ var _integration__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./integration */ "./node_modules/@sentry/core/esm/integration.js"); +/* harmony import */ var _sentry_hub__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @sentry/hub */ "./node_modules/@sentry/hub/esm/index.js"); +/* harmony import */ var _sentry_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @sentry/utils */ "./node_modules/@sentry/utils/esm/index.js"); +/* harmony import */ var _integration__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./integration */ "./node_modules/@sentry/core/esm/integration.js"); + @@ -2633,7 +2745,7 @@ var BaseClient = /** @class */ (function () { this._backend = new backendClass(options); this._options = options; if (options.dsn) { - this._dsn = new _sentry_utils__WEBPACK_IMPORTED_MODULE_1__["Dsn"](options.dsn); + this._dsn = new _sentry_utils__WEBPACK_IMPORTED_MODULE_2__["Dsn"](options.dsn); } } /** @@ -2645,15 +2757,8 @@ var BaseClient = /** @class */ (function () { this._processing = true; this._getBackend() .eventFromException(exception, hint) - .then(function (event) { return _this._processEvent(event, hint, scope); }) - .then(function (finalEvent) { - // We need to check for finalEvent in case beforeSend returned null - eventId = finalEvent && finalEvent.event_id; - _this._processing = false; - }) - .then(null, function (reason) { - _sentry_utils__WEBPACK_IMPORTED_MODULE_1__["logger"].error(reason); - _this._processing = false; + .then(function (event) { + eventId = _this.captureEvent(event, hint, scope); }); return eventId; }; @@ -2664,19 +2769,11 @@ var BaseClient = /** @class */ (function () { var _this = this; var eventId = hint && hint.event_id; this._processing = true; - var promisedEvent = Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_1__["isPrimitive"])(message) + var promisedEvent = Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_2__["isPrimitive"])(message) ? this._getBackend().eventFromMessage("" + message, level, hint) : this._getBackend().eventFromException(message, hint); - promisedEvent - .then(function (event) { return _this._processEvent(event, hint, scope); }) - .then(function (finalEvent) { - // We need to check for finalEvent in case beforeSend returned null - eventId = finalEvent && finalEvent.event_id; - _this._processing = false; - }) - .then(null, function (reason) { - _sentry_utils__WEBPACK_IMPORTED_MODULE_1__["logger"].error(reason); - _this._processing = false; + promisedEvent.then(function (event) { + eventId = _this.captureEvent(event, hint, scope); }); return eventId; }; @@ -2694,7 +2791,7 @@ var BaseClient = /** @class */ (function () { _this._processing = false; }) .then(null, function (reason) { - _sentry_utils__WEBPACK_IMPORTED_MODULE_1__["logger"].error(reason); + _sentry_utils__WEBPACK_IMPORTED_MODULE_2__["logger"].error(reason); _this._processing = false; }); return eventId; @@ -2739,7 +2836,7 @@ var BaseClient = /** @class */ (function () { */ BaseClient.prototype.setupIntegrations = function () { if (this._isEnabled()) { - this._integrations = Object(_integration__WEBPACK_IMPORTED_MODULE_2__["setupIntegrations"])(this._options); + this._integrations = Object(_integration__WEBPACK_IMPORTED_MODULE_3__["setupIntegrations"])(this._options); } }; /** @@ -2750,14 +2847,14 @@ var BaseClient = /** @class */ (function () { return this._integrations[integration.id] || null; } catch (_oO) { - _sentry_utils__WEBPACK_IMPORTED_MODULE_1__["logger"].warn("Cannot retrieve integration " + integration.id + " from the current Client"); + _sentry_utils__WEBPACK_IMPORTED_MODULE_2__["logger"].warn("Cannot retrieve integration " + integration.id + " from the current Client"); return null; } }; /** Waits for the client to be done with processing. */ BaseClient.prototype._isClientProcessing = function (timeout) { var _this = this; - return new _sentry_utils__WEBPACK_IMPORTED_MODULE_1__["SyncPromise"](function (resolve) { + return new _sentry_utils__WEBPACK_IMPORTED_MODULE_2__["SyncPromise"](function (resolve) { var ticked = 0; var tick = 1; var interval = 0; @@ -2799,45 +2896,29 @@ var BaseClient = /** @class */ (function () { * nested objects, such as the context, keys are merged. * * @param event The original event. - * @param hint May contain additional informartion about the original exception. + * @param hint May contain additional information about the original exception. * @param scope A scope containing event metadata. * @returns A new event with more information. */ BaseClient.prototype._prepareEvent = function (event, scope, hint) { var _this = this; - var _a = this.getOptions(), environment = _a.environment, release = _a.release, dist = _a.dist, _b = _a.maxValueLength, maxValueLength = _b === void 0 ? 250 : _b, _c = _a.normalizeDepth, normalizeDepth = _c === void 0 ? 3 : _c; - var prepared = tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"]({}, event); - if (prepared.environment === undefined && environment !== undefined) { - prepared.environment = environment; + var _a = this.getOptions().normalizeDepth, normalizeDepth = _a === void 0 ? 3 : _a; + var prepared = tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"]({}, event, { event_id: event.event_id || (hint && hint.event_id ? hint.event_id : Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_2__["uuid4"])()), timestamp: event.timestamp || Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_2__["timestampWithMs"])() }); + this._applyClientOptions(prepared); + this._applyIntegrationsMetadata(prepared); + // If we have scope given to us, use it as the base for further modifications. + // This allows us to prevent unnecessary copying of data if `captureContext` is not provided. + var finalScope = scope; + if (hint && hint.captureContext) { + finalScope = _sentry_hub__WEBPACK_IMPORTED_MODULE_1__["Scope"].clone(finalScope).update(hint.captureContext); } - if (prepared.release === undefined && release !== undefined) { - prepared.release = release; - } - if (prepared.dist === undefined && dist !== undefined) { - prepared.dist = dist; - } - if (prepared.message) { - prepared.message = Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_1__["truncate"])(prepared.message, maxValueLength); - } - var exception = prepared.exception && prepared.exception.values && prepared.exception.values[0]; - if (exception && exception.value) { - exception.value = Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_1__["truncate"])(exception.value, maxValueLength); - } - var request = prepared.request; - if (request && request.url) { - request.url = Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_1__["truncate"])(request.url, maxValueLength); - } - if (prepared.event_id === undefined) { - prepared.event_id = hint && hint.event_id ? hint.event_id : Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_1__["uuid4"])(); - } - this._addIntegrations(prepared.sdk); // We prepare the result here with a resolved Event. - var result = _sentry_utils__WEBPACK_IMPORTED_MODULE_1__["SyncPromise"].resolve(prepared); + var result = _sentry_utils__WEBPACK_IMPORTED_MODULE_2__["SyncPromise"].resolve(prepared); // This should be the last thing called, since we want that // {@link Hub.addEventProcessor} gets the finished prepared event. - if (scope) { + if (finalScope) { // In case we have a hub we reassign it. - result = scope.applyToEvent(prepared, hint); + result = finalScope.applyToEvent(prepared, hint); } return result.then(function (evt) { // tslint:disable-next-line:strict-type-predicates @@ -2862,28 +2943,76 @@ var BaseClient = /** @class */ (function () { return null; } // tslint:disable:no-unsafe-any - return tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"]({}, event, (event.breadcrumbs && { + var normalized = tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"]({}, event, (event.breadcrumbs && { breadcrumbs: event.breadcrumbs.map(function (b) { return (tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"]({}, b, (b.data && { - data: Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_1__["normalize"])(b.data, depth), + data: Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_2__["normalize"])(b.data, depth), }))); }), }), (event.user && { - user: Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_1__["normalize"])(event.user, depth), + user: Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_2__["normalize"])(event.user, depth), }), (event.contexts && { - contexts: Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_1__["normalize"])(event.contexts, depth), + contexts: Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_2__["normalize"])(event.contexts, depth), }), (event.extra && { - extra: Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_1__["normalize"])(event.extra, depth), + extra: Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_2__["normalize"])(event.extra, depth), })); + // event.contexts.trace stores information about a Transaction. Similarly, + // event.spans[] stores information about child Spans. Given that a + // Transaction is conceptually a Span, normalization should apply to both + // Transactions and Spans consistently. + // For now the decision is to skip normalization of Transactions and Spans, + // so this block overwrites the normalized event to add back the original + // Transaction information prior to normalization. + if (event.contexts && event.contexts.trace) { + normalized.contexts.trace = event.contexts.trace; + } + return normalized; + }; + /** + * Enhances event using the client configuration. + * It takes care of all "static" values like environment, release and `dist`, + * as well as truncating overly long values. + * @param event event instance to be enhanced + */ + BaseClient.prototype._applyClientOptions = function (event) { + var _a = this.getOptions(), environment = _a.environment, release = _a.release, dist = _a.dist, _b = _a.maxValueLength, maxValueLength = _b === void 0 ? 250 : _b; + if (event.environment === undefined && environment !== undefined) { + event.environment = environment; + } + if (event.release === undefined && release !== undefined) { + event.release = release; + } + if (event.dist === undefined && dist !== undefined) { + event.dist = dist; + } + if (event.message) { + event.message = Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_2__["truncate"])(event.message, maxValueLength); + } + var exception = event.exception && event.exception.values && event.exception.values[0]; + if (exception && exception.value) { + exception.value = Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_2__["truncate"])(exception.value, maxValueLength); + } + var request = event.request; + if (request && request.url) { + request.url = Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_2__["truncate"])(request.url, maxValueLength); + } }; /** * This function adds all used integrations to the SDK info in the event. * @param sdkInfo The sdkInfo of the event that will be filled with all integrations. */ - BaseClient.prototype._addIntegrations = function (sdkInfo) { + BaseClient.prototype._applyIntegrationsMetadata = function (event) { + var sdkInfo = event.sdk; var integrationsArray = Object.keys(this._integrations); if (sdkInfo && integrationsArray.length > 0) { sdkInfo.integrations = integrationsArray; } }; + /** + * Tells the backend to send this event + * @param event The Sentry event to send + */ + BaseClient.prototype._sendEvent = function (event) { + this._getBackend().sendEvent(event); + }; /** * Processes an event (either error or message) and sends it to Sentry. * @@ -2893,7 +3022,7 @@ var BaseClient = /** @class */ (function () { * * * @param event The event to send to Sentry. - * @param hint May contain additional informartion about the original exception. + * @param hint May contain additional information about the original exception. * @param scope A scope containing event metadata. * @returns A SyncPromise that resolves with the event or rejects in case event was/will not be send. */ @@ -2901,14 +3030,16 @@ var BaseClient = /** @class */ (function () { var _this = this; var _a = this.getOptions(), beforeSend = _a.beforeSend, sampleRate = _a.sampleRate; if (!this._isEnabled()) { - return _sentry_utils__WEBPACK_IMPORTED_MODULE_1__["SyncPromise"].reject('SDK not enabled, will not send event.'); + return _sentry_utils__WEBPACK_IMPORTED_MODULE_2__["SyncPromise"].reject('SDK not enabled, will not send event.'); } + var isTransaction = event.type === 'transaction'; // 1.0 === 100% events are sent // 0.0 === 0% events are sent - if (typeof sampleRate === 'number' && Math.random() > sampleRate) { - return _sentry_utils__WEBPACK_IMPORTED_MODULE_1__["SyncPromise"].reject('This event has been sampled, will not send event.'); + // Sampling for transaction happens somewhere else + if (!isTransaction && typeof sampleRate === 'number' && Math.random() > sampleRate) { + return _sentry_utils__WEBPACK_IMPORTED_MODULE_2__["SyncPromise"].reject('This event has been sampled, will not send event.'); } - return new _sentry_utils__WEBPACK_IMPORTED_MODULE_1__["SyncPromise"](function (resolve, reject) { + return new _sentry_utils__WEBPACK_IMPORTED_MODULE_2__["SyncPromise"](function (resolve, reject) { _this._prepareEvent(event, scope, hint) .then(function (prepared) { if (prepared === null) { @@ -2917,28 +3048,29 @@ var BaseClient = /** @class */ (function () { } var finalEvent = prepared; var isInternalException = hint && hint.data && hint.data.__sentry__ === true; - if (isInternalException || !beforeSend) { - _this._getBackend().sendEvent(finalEvent); + // We skip beforeSend in case of transactions + if (isInternalException || !beforeSend || isTransaction) { + _this._sendEvent(finalEvent); resolve(finalEvent); return; } var beforeSendResult = beforeSend(prepared, hint); // tslint:disable-next-line:strict-type-predicates if (typeof beforeSendResult === 'undefined') { - _sentry_utils__WEBPACK_IMPORTED_MODULE_1__["logger"].error('`beforeSend` method has to return `null` or a valid event.'); + _sentry_utils__WEBPACK_IMPORTED_MODULE_2__["logger"].error('`beforeSend` method has to return `null` or a valid event.'); } - else if (Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_1__["isThenable"])(beforeSendResult)) { + else if (Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_2__["isThenable"])(beforeSendResult)) { _this._handleAsyncBeforeSend(beforeSendResult, resolve, reject); } else { finalEvent = beforeSendResult; if (finalEvent === null) { - _sentry_utils__WEBPACK_IMPORTED_MODULE_1__["logger"].log('`beforeSend` returned `null`, will not send event.'); + _sentry_utils__WEBPACK_IMPORTED_MODULE_2__["logger"].log('`beforeSend` returned `null`, will not send event.'); resolve(null); return; } // From here on we are really async - _this._getBackend().sendEvent(finalEvent); + _this._sendEvent(finalEvent); resolve(finalEvent); } }) @@ -2965,7 +3097,7 @@ var BaseClient = /** @class */ (function () { return; } // From here on we are really async - _this._getBackend().sendEvent(processedEvent); + _this._sendEvent(processedEvent); resolve(processedEvent); }) .then(null, function (e) { @@ -2983,7 +3115,7 @@ var BaseClient = /** @class */ (function () { /*!************************************************!*\ !*** ./node_modules/@sentry/core/esm/index.js ***! \************************************************/ -/*! exports provided: addBreadcrumb, captureException, captureEvent, captureMessage, configureScope, setContext, setExtra, setExtras, setTag, setTags, setUser, withScope, addGlobalEventProcessor, getCurrentHub, getHubFromCarrier, Hub, Scope, API, BaseClient, BaseBackend, initAndBind, NoopTransport, Integrations */ +/*! exports provided: addBreadcrumb, captureException, captureEvent, captureMessage, configureScope, startTransaction, setContext, setExtra, setExtras, setTag, setTags, setUser, withScope, addGlobalEventProcessor, getCurrentHub, getHubFromCarrier, Hub, makeMain, Scope, API, BaseClient, BaseBackend, eventToSentryRequest, initAndBind, NoopTransport, Integrations */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -2999,6 +3131,8 @@ __webpack_require__.r(__webpack_exports__); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "configureScope", function() { return _sentry_minimal__WEBPACK_IMPORTED_MODULE_0__["configureScope"]; }); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "startTransaction", function() { return _sentry_minimal__WEBPACK_IMPORTED_MODULE_0__["startTransaction"]; }); + /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "setContext", function() { return _sentry_minimal__WEBPACK_IMPORTED_MODULE_0__["setContext"]; }); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "setExtra", function() { return _sentry_minimal__WEBPACK_IMPORTED_MODULE_0__["setExtra"]; }); @@ -3022,6 +3156,8 @@ __webpack_require__.r(__webpack_exports__); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Hub", function() { return _sentry_hub__WEBPACK_IMPORTED_MODULE_1__["Hub"]; }); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "makeMain", function() { return _sentry_hub__WEBPACK_IMPORTED_MODULE_1__["makeMain"]; }); + /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Scope", function() { return _sentry_hub__WEBPACK_IMPORTED_MODULE_1__["Scope"]; }); /* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./api */ "./node_modules/@sentry/core/esm/api.js"); @@ -3033,14 +3169,18 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _basebackend__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./basebackend */ "./node_modules/@sentry/core/esm/basebackend.js"); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "BaseBackend", function() { return _basebackend__WEBPACK_IMPORTED_MODULE_4__["BaseBackend"]; }); -/* harmony import */ var _sdk__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./sdk */ "./node_modules/@sentry/core/esm/sdk.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "initAndBind", function() { return _sdk__WEBPACK_IMPORTED_MODULE_5__["initAndBind"]; }); +/* harmony import */ var _request__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./request */ "./node_modules/@sentry/core/esm/request.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "eventToSentryRequest", function() { return _request__WEBPACK_IMPORTED_MODULE_5__["eventToSentryRequest"]; }); -/* harmony import */ var _transports_noop__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./transports/noop */ "./node_modules/@sentry/core/esm/transports/noop.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "NoopTransport", function() { return _transports_noop__WEBPACK_IMPORTED_MODULE_6__["NoopTransport"]; }); +/* harmony import */ var _sdk__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./sdk */ "./node_modules/@sentry/core/esm/sdk.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "initAndBind", function() { return _sdk__WEBPACK_IMPORTED_MODULE_6__["initAndBind"]; }); + +/* harmony import */ var _transports_noop__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./transports/noop */ "./node_modules/@sentry/core/esm/transports/noop.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "NoopTransport", function() { return _transports_noop__WEBPACK_IMPORTED_MODULE_7__["NoopTransport"]; }); + +/* harmony import */ var _integrations__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./integrations */ "./node_modules/@sentry/core/esm/integrations/index.js"); +/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "Integrations", function() { return _integrations__WEBPACK_IMPORTED_MODULE_8__; }); -/* harmony import */ var _integrations__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./integrations */ "./node_modules/@sentry/core/esm/integrations/index.js"); -/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "Integrations", function() { return _integrations__WEBPACK_IMPORTED_MODULE_7__; }); @@ -3245,19 +3385,18 @@ var InboundFilters = /** @class */ (function () { _sentry_utils__WEBPACK_IMPORTED_MODULE_2__["logger"].warn("Event dropped due to being matched by `ignoreErrors` option.\nEvent: " + Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_2__["getEventDescription"])(event)); return true; } - if (this._isBlacklistedUrl(event, options)) { - _sentry_utils__WEBPACK_IMPORTED_MODULE_2__["logger"].warn("Event dropped due to being matched by `blacklistUrls` option.\nEvent: " + Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_2__["getEventDescription"])(event) + ".\nUrl: " + this._getEventFilterUrl(event)); + if (this._isDeniedUrl(event, options)) { + _sentry_utils__WEBPACK_IMPORTED_MODULE_2__["logger"].warn("Event dropped due to being matched by `denyUrls` option.\nEvent: " + Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_2__["getEventDescription"])(event) + ".\nUrl: " + this._getEventFilterUrl(event)); return true; } - if (!this._isWhitelistedUrl(event, options)) { - _sentry_utils__WEBPACK_IMPORTED_MODULE_2__["logger"].warn("Event dropped due to not being matched by `whitelistUrls` option.\nEvent: " + Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_2__["getEventDescription"])(event) + ".\nUrl: " + this._getEventFilterUrl(event)); + if (!this._isAllowedUrl(event, options)) { + _sentry_utils__WEBPACK_IMPORTED_MODULE_2__["logger"].warn("Event dropped due to not being matched by `allowUrls` option.\nEvent: " + Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_2__["getEventDescription"])(event) + ".\nUrl: " + this._getEventFilterUrl(event)); return true; } return false; }; /** JSDoc */ InboundFilters.prototype._isSentryError = function (event, options) { - if (options === void 0) { options = {}; } if (!options.ignoreInternal) { return false; } @@ -3275,7 +3414,6 @@ var InboundFilters = /** @class */ (function () { }; /** JSDoc */ InboundFilters.prototype._isIgnoredError = function (event, options) { - if (options === void 0) { options = {}; } if (!options.ignoreErrors || !options.ignoreErrors.length) { return false; } @@ -3285,33 +3423,32 @@ var InboundFilters = /** @class */ (function () { }); }; /** JSDoc */ - InboundFilters.prototype._isBlacklistedUrl = function (event, options) { - if (options === void 0) { options = {}; } + InboundFilters.prototype._isDeniedUrl = function (event, options) { // TODO: Use Glob instead? - if (!options.blacklistUrls || !options.blacklistUrls.length) { + if (!options.denyUrls || !options.denyUrls.length) { return false; } var url = this._getEventFilterUrl(event); - return !url ? false : options.blacklistUrls.some(function (pattern) { return Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_2__["isMatchingPattern"])(url, pattern); }); + return !url ? false : options.denyUrls.some(function (pattern) { return Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_2__["isMatchingPattern"])(url, pattern); }); }; /** JSDoc */ - InboundFilters.prototype._isWhitelistedUrl = function (event, options) { - if (options === void 0) { options = {}; } + InboundFilters.prototype._isAllowedUrl = function (event, options) { // TODO: Use Glob instead? - if (!options.whitelistUrls || !options.whitelistUrls.length) { + if (!options.allowUrls || !options.allowUrls.length) { return true; } var url = this._getEventFilterUrl(event); - return !url ? true : options.whitelistUrls.some(function (pattern) { return Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_2__["isMatchingPattern"])(url, pattern); }); + return !url ? true : options.allowUrls.some(function (pattern) { return Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_2__["isMatchingPattern"])(url, pattern); }); }; /** JSDoc */ InboundFilters.prototype._mergeOptions = function (clientOptions) { if (clientOptions === void 0) { clientOptions = {}; } + // tslint:disable:deprecation return { - blacklistUrls: tslib__WEBPACK_IMPORTED_MODULE_0__["__spread"]((this._options.blacklistUrls || []), (clientOptions.blacklistUrls || [])), + allowUrls: tslib__WEBPACK_IMPORTED_MODULE_0__["__spread"]((this._options.whitelistUrls || []), (this._options.allowUrls || []), (clientOptions.whitelistUrls || []), (clientOptions.allowUrls || [])), + denyUrls: tslib__WEBPACK_IMPORTED_MODULE_0__["__spread"]((this._options.blacklistUrls || []), (this._options.denyUrls || []), (clientOptions.blacklistUrls || []), (clientOptions.denyUrls || [])), ignoreErrors: tslib__WEBPACK_IMPORTED_MODULE_0__["__spread"]((this._options.ignoreErrors || []), (clientOptions.ignoreErrors || []), DEFAULT_IGNORE_ERRORS), ignoreInternal: typeof this._options.ignoreInternal !== 'undefined' ? this._options.ignoreInternal : true, - whitelistUrls: tslib__WEBPACK_IMPORTED_MODULE_0__["__spread"]((this._options.whitelistUrls || []), (clientOptions.whitelistUrls || [])), }; }; /** JSDoc */ @@ -3381,6 +3518,53 @@ __webpack_require__.r(__webpack_exports__); /***/ }), +/***/ "./node_modules/@sentry/core/esm/request.js": +/*!**************************************************!*\ + !*** ./node_modules/@sentry/core/esm/request.js ***! + \**************************************************/ +/*! exports provided: eventToSentryRequest */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "eventToSentryRequest", function() { return eventToSentryRequest; }); +/* harmony import */ var _sentry_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @sentry/utils */ "./node_modules/@sentry/utils/esm/index.js"); + +/** Creates a SentryRequest from an event. */ +function eventToSentryRequest(event, api) { + var useEnvelope = event.type === 'transaction'; + var req = { + body: JSON.stringify(event), + url: useEnvelope ? api.getEnvelopeEndpointWithUrlEncodedAuth() : api.getStoreEndpointWithUrlEncodedAuth(), + }; + // https://develop.sentry.dev/sdk/envelopes/ + // Since we don't need to manipulate envelopes nor store them, there is no + // exported concept of an Envelope with operations including serialization and + // deserialization. Instead, we only implement a minimal subset of the spec to + // serialize events inline here. + if (useEnvelope) { + var envelopeHeaders = JSON.stringify({ + event_id: event.event_id, + // We need to add * 1000 since we divide it by 1000 by default but JS works with ms precision + // The reason we use timestampWithMs here is that all clocks across the SDK use the same clock + sent_at: new Date(Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_0__["timestampWithMs"])() * 1000).toISOString(), + }); + var itemHeaders = JSON.stringify({ + type: event.type, + }); + // The trailing newline is optional. We intentionally don't send it to avoid + // sending unnecessary bytes. + // + // const envelope = `${envelopeHeaders}\n${itemHeaders}\n${req.body}\n`; + var envelope = envelopeHeaders + "\n" + itemHeaders + "\n" + req.body; + req.body = envelope; + } + return req; +} +//# sourceMappingURL=request.js.map + +/***/ }), + /***/ "./node_modules/@sentry/core/esm/sdk.js": /*!**********************************************!*\ !*** ./node_modules/@sentry/core/esm/sdk.js ***! @@ -3514,6 +3698,7 @@ var Hub = /** @class */ (function () { /** Is a {@link Layer}[] containing the client and scope */ this._stack = []; this._stack.push({ client: client, scope: scope }); + this.bindClient(client); } /** * Internal helper function to call a method on the top client if it exists. @@ -3786,9 +3971,14 @@ var Hub = /** @class */ (function () { /** * @inheritDoc */ - Hub.prototype.startSpan = function (spanOrSpanContext, forceNoChild) { - if (forceNoChild === void 0) { forceNoChild = false; } - return this._callExtensionMethod('startSpan', spanOrSpanContext, forceNoChild); + Hub.prototype.startSpan = function (context) { + return this._callExtensionMethod('startSpan', context); + }; + /** + * @inheritDoc + */ + Hub.prototype.startTransaction = function (context) { + return this._callExtensionMethod('startTransaction', context); }; /** * @inheritDoc @@ -3999,7 +4189,7 @@ var Scope = /** @class */ (function () { /** Extra */ this._extra = {}; /** Contexts */ - this._context = {}; + this._contexts = {}; } /** * Add internal on change listener. Used for sub SDKs that need to store the scope. @@ -4118,20 +4308,24 @@ var Scope = /** @class */ (function () { /** * @inheritDoc */ - Scope.prototype.setTransaction = function (transaction) { - this._transaction = transaction; - if (this._span) { - this._span.transaction = transaction; - } + Scope.prototype.setTransactionName = function (name) { + this._transactionName = name; this._notifyScopeListeners(); return this; }; + /** + * Can be removed in major version. + * @deprecated in favor of {@link this.setTransactionName} + */ + Scope.prototype.setTransaction = function (name) { + return this.setTransactionName(name); + }; /** * @inheritDoc */ Scope.prototype.setContext = function (key, context) { var _a; - this._context = tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"]({}, this._context, (_a = {}, _a[key] = context, _a)); + this._contexts = tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"]({}, this._contexts, (_a = {}, _a[key] = context, _a)); this._notifyScopeListeners(); return this; }; @@ -4144,12 +4338,21 @@ var Scope = /** @class */ (function () { return this; }; /** - * Internal getter for Span, used in Hub. - * @hidden + * @inheritDoc */ Scope.prototype.getSpan = function () { return this._span; }; + /** + * @inheritDoc + */ + Scope.prototype.getTransaction = function () { + var span = this.getSpan(); + if (span && span.spanRecorder && span.spanRecorder.spans[0]) { + return span.spanRecorder.spans[0]; + } + return undefined; + }; /** * Inherit values from the parent scope. * @param scope to clone. @@ -4160,16 +4363,59 @@ var Scope = /** @class */ (function () { newScope._breadcrumbs = tslib__WEBPACK_IMPORTED_MODULE_0__["__spread"](scope._breadcrumbs); newScope._tags = tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"]({}, scope._tags); newScope._extra = tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"]({}, scope._extra); - newScope._context = tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"]({}, scope._context); + newScope._contexts = tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"]({}, scope._contexts); newScope._user = scope._user; newScope._level = scope._level; newScope._span = scope._span; - newScope._transaction = scope._transaction; + newScope._transactionName = scope._transactionName; newScope._fingerprint = scope._fingerprint; newScope._eventProcessors = tslib__WEBPACK_IMPORTED_MODULE_0__["__spread"](scope._eventProcessors); } return newScope; }; + /** + * @inheritDoc + */ + Scope.prototype.update = function (captureContext) { + if (!captureContext) { + return this; + } + if (typeof captureContext === 'function') { + var updatedScope = captureContext(this); + return updatedScope instanceof Scope ? updatedScope : this; + } + if (captureContext instanceof Scope) { + this._tags = tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"]({}, this._tags, captureContext._tags); + this._extra = tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"]({}, this._extra, captureContext._extra); + this._contexts = tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"]({}, this._contexts, captureContext._contexts); + if (captureContext._user) { + this._user = captureContext._user; + } + if (captureContext._level) { + this._level = captureContext._level; + } + if (captureContext._fingerprint) { + this._fingerprint = captureContext._fingerprint; + } + } + else if (Object(_sentry_utils__WEBPACK_IMPORTED_MODULE_1__["isPlainObject"])(captureContext)) { + // tslint:disable-next-line:no-parameter-reassignment + captureContext = captureContext; + this._tags = tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"]({}, this._tags, captureContext.tags); + this._extra = tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"]({}, this._extra, captureContext.extra); + this._contexts = tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"]({}, this._contexts, captureContext.contexts); + if (captureContext.user) { + this._user = captureContext.user; + } + if (captureContext.level) { + this._level = captureContext.level; + } + if (captureContext.fingerprint) { + this._fingerprint = captureContext.fingerprint; + } + } + return this; + }; /** * @inheritDoc */ @@ -4178,9 +4424,9 @@ var Scope = /** @class */ (function () { this._tags = {}; this._extra = {}; this._user = {}; - this._context = {}; + this._contexts = {}; this._level = undefined; - this._transaction = undefined; + this._transactionName = undefined; this._fingerprint = undefined; this._span = undefined; this._notifyScopeListeners(); @@ -4244,15 +4490,18 @@ var Scope = /** @class */ (function () { if (this._user && Object.keys(this._user).length) { event.user = tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"]({}, this._user, event.user); } - if (this._context && Object.keys(this._context).length) { - event.contexts = tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"]({}, this._context, event.contexts); + if (this._contexts && Object.keys(this._contexts).length) { + event.contexts = tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"]({}, this._contexts, event.contexts); } if (this._level) { event.level = this._level; } - if (this._transaction) { - event.transaction = this._transaction; + if (this._transactionName) { + event.transaction = this._transactionName; } + // We want to set the trace context for normal events only if there isn't already + // a trace context on the event. There is a product feature in place where we link + // errors with transaction and it relys on that. if (this._span) { event.contexts = tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"]({ trace: this._span.getTraceContext() }, event.contexts); } @@ -4288,7 +4537,7 @@ function addGlobalEventProcessor(callback) { /*!***************************************************!*\ !*** ./node_modules/@sentry/minimal/esm/index.js ***! \***************************************************/ -/*! exports provided: captureException, captureMessage, captureEvent, configureScope, addBreadcrumb, setContext, setExtras, setTags, setExtra, setTag, setUser, withScope, _callOnClient */ +/*! exports provided: captureException, captureMessage, captureEvent, configureScope, addBreadcrumb, setContext, setExtras, setTags, setExtra, setTag, setUser, withScope, _callOnClient, startTransaction */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -4306,6 +4555,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setUser", function() { return setUser; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "withScope", function() { return withScope; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_callOnClient", function() { return _callOnClient; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "startTransaction", function() { return startTransaction; }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js"); /* harmony import */ var _sentry_hub__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @sentry/hub */ "./node_modules/@sentry/hub/esm/index.js"); @@ -4333,7 +4583,7 @@ function callOnHub(method) { * @param exception An exception-like object. * @returns The generated eventId. */ -function captureException(exception) { +function captureException(exception, captureContext) { var syntheticException; try { throw new Error('Sentry syntheticException'); @@ -4342,6 +4592,7 @@ function captureException(exception) { syntheticException = exception; } return callOnHub('captureException', exception, { + captureContext: captureContext, originalException: exception, syntheticException: syntheticException, }); @@ -4353,7 +4604,7 @@ function captureException(exception) { * @param level Define the level of the message. * @returns The generated eventId. */ -function captureMessage(message, level) { +function captureMessage(message, captureContext) { var syntheticException; try { throw new Error(message); @@ -4361,10 +4612,11 @@ function captureMessage(message, level) { catch (exception) { syntheticException = exception; } - return callOnHub('captureMessage', message, level, { - originalException: message, - syntheticException: syntheticException, - }); + // This is necessary to provide explicit scopes upgrade, without changing the original + // arrity of the `captureMessage(message, level)` method. + var level = typeof captureContext === 'string' ? captureContext : undefined; + var context = typeof captureContext !== 'string' ? { captureContext: captureContext } : undefined; + return callOnHub('captureMessage', message, level, tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"]({ originalException: message, syntheticException: syntheticException }, context)); } /** * Captures a manually created event and sends it to Sentry. @@ -4396,7 +4648,7 @@ function addBreadcrumb(breadcrumb) { /** * Sets context data with the given name. * @param name of the context - * @param context Any kind of data. This data will be normailzed. + * @param context Any kind of data. This data will be normalized. */ function setContext(name, context) { callOnHub('setContext', name, context); @@ -4418,7 +4670,7 @@ function setTags(tags) { /** * Set key:value that will be sent as extra data with the event. * @param key String of extra - * @param extra Any kind of data. This data will be normailzed. + * @param extra Any kind of data. This data will be normalized. */ function setExtra(key, extra) { callOnHub('setExtra', key, extra); @@ -4472,6 +4724,26 @@ function _callOnClient(method) { } callOnHub.apply(void 0, tslib__WEBPACK_IMPORTED_MODULE_0__["__spread"](['_invokeClient', method], args)); } +/** + * Starts a new `Transaction` and returns it. This is the entry point to manual + * tracing instrumentation. + * + * A tree structure can be built by adding child spans to the transaction, and + * child spans to other spans. To start a new child span within the transaction + * or any span, call the respective `.startChild()` method. + * + * Every child span must be finished before the transaction is finished, + * otherwise the unfinished spans are discarded. + * + * The transaction must be finished with a call to its `.finish()` method, at + * which point the transaction with all its finished child spans will be sent to + * Sentry. + * + * @param context Properties of the new `Transaction`. + */ +function startTransaction(context) { + return callOnHub('startTransaction', tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"]({}, context)); +} //# sourceMappingURL=index.js.map /***/ }), @@ -4480,7 +4752,7 @@ function _callOnClient(method) { /*!*************************************************!*\ !*** ./node_modules/@sentry/types/esm/index.js ***! \*************************************************/ -/*! exports provided: LogLevel, Severity, SpanStatus, Status */ +/*! exports provided: LogLevel, Severity, Status */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -4491,12 +4763,8 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _severity__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./severity */ "./node_modules/@sentry/types/esm/severity.js"); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Severity", function() { return _severity__WEBPACK_IMPORTED_MODULE_1__["Severity"]; }); -/* harmony import */ var _span__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./span */ "./node_modules/@sentry/types/esm/span.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SpanStatus", function() { return _span__WEBPACK_IMPORTED_MODULE_2__["SpanStatus"]; }); - -/* harmony import */ var _status__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./status */ "./node_modules/@sentry/types/esm/status.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Status", function() { return _status__WEBPACK_IMPORTED_MODULE_3__["Status"]; }); - +/* harmony import */ var _status__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./status */ "./node_modules/@sentry/types/esm/status.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Status", function() { return _status__WEBPACK_IMPORTED_MODULE_2__["Status"]; }); @@ -4594,105 +4862,6 @@ var Severity; /***/ }), -/***/ "./node_modules/@sentry/types/esm/span.js": -/*!************************************************!*\ - !*** ./node_modules/@sentry/types/esm/span.js ***! - \************************************************/ -/*! exports provided: SpanStatus */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SpanStatus", function() { return SpanStatus; }); -/** The status of an Span. */ -var SpanStatus; -(function (SpanStatus) { - /** The operation completed successfully. */ - SpanStatus["Ok"] = "ok"; - /** Deadline expired before operation could complete. */ - SpanStatus["DeadlineExceeded"] = "deadline_exceeded"; - /** 401 Unauthorized (actually does mean unauthenticated according to RFC 7235) */ - SpanStatus["Unauthenticated"] = "unauthenticated"; - /** 403 Forbidden */ - SpanStatus["PermissionDenied"] = "permission_denied"; - /** 404 Not Found. Some requested entity (file or directory) was not found. */ - SpanStatus["NotFound"] = "not_found"; - /** 429 Too Many Requests */ - SpanStatus["ResourceExhausted"] = "resource_exhausted"; - /** Client specified an invalid argument. 4xx. */ - SpanStatus["InvalidArgument"] = "invalid_argument"; - /** 501 Not Implemented */ - SpanStatus["Unimplemented"] = "unimplemented"; - /** 503 Service Unavailable */ - SpanStatus["Unavailable"] = "unavailable"; - /** Other/generic 5xx. */ - SpanStatus["InternalError"] = "internal_error"; - /** Unknown. Any non-standard HTTP status code. */ - SpanStatus["UnknownError"] = "unknown_error"; - /** The operation was cancelled (typically by the user). */ - SpanStatus["Cancelled"] = "cancelled"; - /** Already exists (409) */ - SpanStatus["AlreadyExists"] = "already_exists"; - /** Operation was rejected because the system is not in a state required for the operation's */ - SpanStatus["FailedPrecondition"] = "failed_precondition"; - /** The operation was aborted, typically due to a concurrency issue. */ - SpanStatus["Aborted"] = "aborted"; - /** Operation was attempted past the valid range. */ - SpanStatus["OutOfRange"] = "out_of_range"; - /** Unrecoverable data loss or corruption */ - SpanStatus["DataLoss"] = "data_loss"; -})(SpanStatus || (SpanStatus = {})); -// tslint:disable:no-unnecessary-qualifier no-namespace -(function (SpanStatus) { - /** - * Converts a HTTP status code into a {@link SpanStatus}. - * - * @param httpStatus The HTTP response status code. - * @returns The span status or {@link SpanStatus.UnknownError}. - */ - // tslint:disable-next-line:completed-docs - function fromHttpCode(httpStatus) { - if (httpStatus < 400) { - return SpanStatus.Ok; - } - if (httpStatus >= 400 && httpStatus < 500) { - switch (httpStatus) { - case 401: - return SpanStatus.Unauthenticated; - case 403: - return SpanStatus.PermissionDenied; - case 404: - return SpanStatus.NotFound; - case 409: - return SpanStatus.AlreadyExists; - case 413: - return SpanStatus.FailedPrecondition; - case 429: - return SpanStatus.ResourceExhausted; - default: - return SpanStatus.InvalidArgument; - } - } - if (httpStatus >= 500 && httpStatus < 600) { - switch (httpStatus) { - case 501: - return SpanStatus.Unimplemented; - case 503: - return SpanStatus.Unavailable; - case 504: - return SpanStatus.DeadlineExceeded; - default: - return SpanStatus.InternalError; - } - } - return SpanStatus.UnknownError; - } - SpanStatus.fromHttpCode = fromHttpCode; -})(SpanStatus || (SpanStatus = {})); -//# sourceMappingURL=span.js.map - -/***/ }), - /***/ "./node_modules/@sentry/types/esm/status.js": /*!**************************************************!*\ !*** ./node_modules/@sentry/types/esm/status.js ***! @@ -4833,6 +5002,12 @@ var Dsn = /** @class */ (function () { path = split.slice(0, -1).join('/'); projectId = split.pop(); } + if (projectId) { + var projectMatch = projectId.match(/^\d+/); + if (projectMatch) { + projectId = projectMatch[0]; + } + } this._fromComponents({ host: host, pass: pass, path: path, projectId: projectId, port: port, protocol: protocol, user: user }); }; /** Maps Dsn components into this instance. */ @@ -4850,14 +5025,17 @@ var Dsn = /** @class */ (function () { var _this = this; ['protocol', 'user', 'host', 'projectId'].forEach(function (component) { if (!_this[component]) { - throw new _error__WEBPACK_IMPORTED_MODULE_1__["SentryError"](ERROR_MESSAGE); + throw new _error__WEBPACK_IMPORTED_MODULE_1__["SentryError"](ERROR_MESSAGE + ": " + component + " missing"); } }); + if (!this.projectId.match(/^\d+$/)) { + throw new _error__WEBPACK_IMPORTED_MODULE_1__["SentryError"](ERROR_MESSAGE + ": Invalid projectId " + this.projectId); + } if (this.protocol !== 'http' && this.protocol !== 'https') { - throw new _error__WEBPACK_IMPORTED_MODULE_1__["SentryError"](ERROR_MESSAGE); + throw new _error__WEBPACK_IMPORTED_MODULE_1__["SentryError"](ERROR_MESSAGE + ": Invalid protocol " + this.protocol); } if (this.port && isNaN(parseInt(this.port, 10))) { - throw new _error__WEBPACK_IMPORTED_MODULE_1__["SentryError"](ERROR_MESSAGE); + throw new _error__WEBPACK_IMPORTED_MODULE_1__["SentryError"](ERROR_MESSAGE + ": Invalid port " + this.port); } }; return Dsn; @@ -5225,6 +5403,9 @@ function instrumentFetch() { return response; }, function (error) { triggerHandlers('fetch', tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"]({}, commonHandlerData, { endTimestamp: Date.now(), error: error })); + // NOTE: If you are a Sentry user, and you are seeing this stack frame, + // it means the sentry.javascript SDK caught an error invoking your application code. + // This is expected behavior and NOT indicative of a bug with sentry.javascript. throw error; }); }; @@ -5264,32 +5445,17 @@ function instrumentXHR() { for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } + var xhr = this; // tslint:disable-line:no-this-assignment var url = args[1]; - this.__sentry_xhr__ = { + xhr.__sentry_xhr__ = { method: Object(_is__WEBPACK_IMPORTED_MODULE_1__["isString"])(args[0]) ? args[0].toUpperCase() : args[0], url: args[1], }; // if Sentry key appears in URL, don't capture it as a request - if (Object(_is__WEBPACK_IMPORTED_MODULE_1__["isString"])(url) && this.__sentry_xhr__.method === 'POST' && url.match(/sentry_key/)) { - this.__sentry_own_request__ = true; + if (Object(_is__WEBPACK_IMPORTED_MODULE_1__["isString"])(url) && xhr.__sentry_xhr__.method === 'POST' && url.match(/sentry_key/)) { + xhr.__sentry_own_request__ = true; } - return originalOpen.apply(this, args); - }; - }); - Object(_object__WEBPACK_IMPORTED_MODULE_4__["fill"])(xhrproto, 'send', function (originalSend) { - return function () { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - var xhr = this; // tslint:disable-line:no-this-assignment - var commonHandlerData = { - args: args, - startTimestamp: Date.now(), - xhr: xhr, - }; - triggerHandlers('xhr', tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"]({}, commonHandlerData)); - xhr.addEventListener('readystatechange', function () { + var onreadystatechangeHandler = function () { if (xhr.readyState === 4) { try { // touching statusCode in some platforms throws @@ -5301,8 +5467,42 @@ function instrumentXHR() { catch (e) { /* do nothing */ } - triggerHandlers('xhr', tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"]({}, commonHandlerData, { endTimestamp: Date.now() })); + triggerHandlers('xhr', { + args: args, + endTimestamp: Date.now(), + startTimestamp: Date.now(), + xhr: xhr, + }); } + }; + if ('onreadystatechange' in xhr && typeof xhr.onreadystatechange === 'function') { + Object(_object__WEBPACK_IMPORTED_MODULE_4__["fill"])(xhr, 'onreadystatechange', function (original) { + return function () { + var readyStateArgs = []; + for (var _i = 0; _i < arguments.length; _i++) { + readyStateArgs[_i] = arguments[_i]; + } + onreadystatechangeHandler(); + return original.apply(xhr, readyStateArgs); + }; + }); + } + else { + xhr.addEventListener('readystatechange', onreadystatechangeHandler); + } + return originalOpen.apply(xhr, args); + }; + }); + Object(_object__WEBPACK_IMPORTED_MODULE_4__["fill"])(xhrproto, 'send', function (originalSend) { + return function () { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + triggerHandlers('xhr', { + args: args, + startTimestamp: Date.now(), + xhr: this, }); return originalSend.apply(this, args); }; @@ -5405,14 +5605,13 @@ function instrumentDOM() { }); Object(_object__WEBPACK_IMPORTED_MODULE_4__["fill"])(proto, 'removeEventListener', function (original) { return function (eventName, fn, options) { - var callback = fn; try { - callback = callback && (callback.__sentry_wrapped__ || callback); + original.call(this, eventName, fn.__sentry_wrapped__, options); } catch (e) { // ignore, accessing __sentry_wrapped__ will throw in some Selenium environments } - return original.call(this, eventName, callback, options); + return original.call(this, eventName, fn, options); }; }); }); @@ -6126,9 +6325,9 @@ function _htmlElementAsString(el) { out.push("." + classes[i]); } } - var attrWhitelist = ['type', 'name', 'title', 'alt']; - for (i = 0; i < attrWhitelist.length; i++) { - key = attrWhitelist[i]; + var allowedAttrs = ['type', 'name', 'title', 'alt']; + for (i = 0; i < allowedAttrs.length; i++) { + key = allowedAttrs[i]; attr = elem.getAttribute(key); if (attr) { out.push("[" + key + "=\"" + attr + "\"]"); @@ -6159,21 +6358,23 @@ var crossPlatformPerformance = (function () { return performanceFallback; } } - if (getGlobalObject().performance) { - // Polyfill for performance.timeOrigin. - // - // While performance.timing.navigationStart is deprecated in favor of performance.timeOrigin, performance.timeOrigin - // is not as widely supported. Namely, performance.timeOrigin is undefined in Safari as of writing. - // tslint:disable-next-line:strict-type-predicates - if (performance.timeOrigin === undefined) { - // As of writing, performance.timing is not available in Web Workers in mainstream browsers, so it is not always a - // valid fallback. In the absence of a initial time provided by the browser, fallback to INITIAL_TIME. - // @ts-ignore - // tslint:disable-next-line:deprecation - performance.timeOrigin = (performance.timing && performance.timing.navigationStart) || INITIAL_TIME; - } + var performance = getGlobalObject().performance; + if (!performance || !performance.now) { + return performanceFallback; } - return getGlobalObject().performance || performanceFallback; + // Polyfill for performance.timeOrigin. + // + // While performance.timing.navigationStart is deprecated in favor of performance.timeOrigin, performance.timeOrigin + // is not as widely supported. Namely, performance.timeOrigin is undefined in Safari as of writing. + // tslint:disable-next-line:strict-type-predicates + if (performance.timeOrigin === undefined) { + // As of writing, performance.timing is not available in Web Workers in mainstream browsers, so it is not always a + // valid fallback. In the absence of a initial time provided by the browser, fallback to INITIAL_TIME. + // @ts-ignore + // tslint:disable-next-line:deprecation + performance.timeOrigin = (performance.timing && performance.timing.navigationStart) || INITIAL_TIME; + } + return performance; })(); /** * Returns a timestamp in seconds with milliseconds precision since the UNIX epoch calculated with the monotonic clock. @@ -7732,27 +7933,6 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;(( true && fun }); -/***/ }), - -/***/ "./node_modules/gud/index.js": -/*!***********************************!*\ - !*** ./node_modules/gud/index.js ***! - \***********************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(global) {// @flow - - -var key = '__global_unique_id__'; - -module.exports = function() { - return global[key] = (global[key] || 0) + 1; -}; - -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ "./node_modules/webpack/buildin/global.js"))) - /***/ }), /***/ "./node_modules/history/esm/history.js": @@ -8754,11 +8934,14 @@ var MEMO_STATICS = { }; var TYPE_STATICS = {}; TYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS; +TYPE_STATICS[reactIs.Memo] = MEMO_STATICS; function getStatics(component) { + // React v16.11 and below if (reactIs.isMemo(component)) { return MEMO_STATICS; - } + } // React v16.12 and above + return TYPE_STATICS[component['$$typeof']] || REACT_STATICS; } @@ -8809,20 +8992,6 @@ function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) { module.exports = hoistNonReactStatics; -/***/ }), - -/***/ "./node_modules/isarray/index.js": -/*!***************************************!*\ - !*** ./node_modules/isarray/index.js ***! - \***************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = Array.isArray || function (arr) { - return Object.prototype.toString.call(arr) == '[object Array]'; -}; - - /***/ }), /***/ "./node_modules/jquery/dist/jquery.js": @@ -8833,7 +9002,7 @@ module.exports = Array.isArray || function (arr) { /***/ (function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! - * jQuery JavaScript Library v3.5.0 + * jQuery JavaScript Library v3.5.1 * https://jquery.com/ * * Includes Sizzle.js @@ -8843,7 +9012,7 @@ var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! * Released under the MIT license * https://jquery.org/license * - * Date: 2020-04-10T15:07Z + * Date: 2020-05-04T22:49Z */ ( function( global, factory ) { @@ -8981,7 +9150,7 @@ function toType( obj ) { var - version = "3.5.0", + version = "3.5.1", // Define a local copy of jQuery jQuery = function( selector, context ) { @@ -13078,7 +13247,7 @@ Data.prototype = { // If not, create one if ( !value ) { - value = Object.create( null ); + value = {}; // We can accept data for non-element nodes in modern browsers, // but we should not, see #8335. @@ -21957,7 +22126,7 @@ module.exports = isSymbol; var undefined; /** Used as the semantic version number. */ - var VERSION = '4.17.15'; + var VERSION = '4.17.19'; /** Used as the size to enable large array optimizations. */ var LARGE_ARRAY_SIZE = 200; @@ -25664,8 +25833,21 @@ module.exports = isSymbol; * @returns {Array} Returns the new sorted array. */ function baseOrderBy(collection, iteratees, orders) { + if (iteratees.length) { + iteratees = arrayMap(iteratees, function(iteratee) { + if (isArray(iteratee)) { + return function(value) { + return baseGet(value, iteratee.length === 1 ? iteratee[0] : iteratee); + } + } + return iteratee; + }); + } else { + iteratees = [identity]; + } + var index = -1; - iteratees = arrayMap(iteratees.length ? iteratees : [identity], baseUnary(getIteratee())); + iteratees = arrayMap(iteratees, baseUnary(getIteratee())); var result = baseMap(collection, function(value, key, collection) { var criteria = arrayMap(iteratees, function(iteratee) { @@ -25922,6 +26104,10 @@ module.exports = isSymbol; var key = toKey(path[index]), newValue = value; + if (key === '__proto__' || key === 'constructor' || key === 'prototype') { + return object; + } + if (index != lastIndex) { var objValue = nested[key]; newValue = customizer ? customizer(objValue, key, nested) : undefined; @@ -26074,11 +26260,14 @@ module.exports = isSymbol; * into `array`. */ function baseSortedIndexBy(array, value, iteratee, retHighest) { - value = iteratee(value); - var low = 0, - high = array == null ? 0 : array.length, - valIsNaN = value !== value, + high = array == null ? 0 : array.length; + if (high === 0) { + return 0; + } + + value = iteratee(value); + var valIsNaN = value !== value, valIsNull = value === null, valIsSymbol = isSymbol(value), valIsUndefined = value === undefined; @@ -27563,10 +27752,11 @@ module.exports = isSymbol; if (arrLength != othLength && !(isPartial && othLength > arrLength)) { return false; } - // Assume cyclic values are equal. - var stacked = stack.get(array); - if (stacked && stack.get(other)) { - return stacked == other; + // Check that cyclic values are equal. + var arrStacked = stack.get(array); + var othStacked = stack.get(other); + if (arrStacked && othStacked) { + return arrStacked == other && othStacked == array; } var index = -1, result = true, @@ -27728,10 +27918,11 @@ module.exports = isSymbol; return false; } } - // Assume cyclic values are equal. - var stacked = stack.get(object); - if (stacked && stack.get(other)) { - return stacked == other; + // Check that cyclic values are equal. + var objStacked = stack.get(object); + var othStacked = stack.get(other); + if (objStacked && othStacked) { + return objStacked == other && othStacked == object; } var result = true; stack.set(object, other); @@ -31112,6 +31303,10 @@ module.exports = isSymbol; * // The `_.property` iteratee shorthand. * _.filter(users, 'active'); * // => objects for ['barney'] + * + * // Combining several predicates using `_.overEvery` or `_.overSome`. + * _.filter(users, _.overSome([{ 'age': 36 }, ['age', 40]])); + * // => objects for ['fred', 'barney'] */ function filter(collection, predicate) { var func = isArray(collection) ? arrayFilter : baseFilter; @@ -31861,15 +32056,15 @@ module.exports = isSymbol; * var users = [ * { 'user': 'fred', 'age': 48 }, * { 'user': 'barney', 'age': 36 }, - * { 'user': 'fred', 'age': 40 }, + * { 'user': 'fred', 'age': 30 }, * { 'user': 'barney', 'age': 34 } * ]; * * _.sortBy(users, [function(o) { return o.user; }]); - * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]] + * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 30]] * * _.sortBy(users, ['user', 'age']); - * // => objects for [['barney', 34], ['barney', 36], ['fred', 40], ['fred', 48]] + * // => objects for [['barney', 34], ['barney', 36], ['fred', 30], ['fred', 48]] */ var sortBy = baseRest(function(collection, iteratees) { if (collection == null) { @@ -36744,11 +36939,11 @@ module.exports = isSymbol; // Use a sourceURL for easier debugging. // The sourceURL gets injected into the source that's eval-ed, so be careful - // with lookup (in case of e.g. prototype pollution), and strip newlines if any. - // A newline wouldn't be a valid sourceURL anyway, and it'd enable code injection. + // to normalize all kinds of whitespace, so e.g. newlines (and unicode versions of it) can't sneak in + // and escape the comment, thus injecting code that gets evaled. var sourceURL = '//# sourceURL=' + (hasOwnProperty.call(options, 'sourceURL') - ? (options.sourceURL + '').replace(/[\r\n]/g, ' ') + ? (options.sourceURL + '').replace(/\s/g, ' ') : ('lodash.templateSources[' + (++templateCounter) + ']') ) + '\n'; @@ -36781,8 +36976,6 @@ module.exports = isSymbol; // If `variable` is not specified wrap a with-statement around the generated // code to add the data object to the top of the scope chain. - // Like with sourceURL, we take care to not check the option's prototype, - // as this configuration is a code injection vector. var variable = hasOwnProperty.call(options, 'variable') && options.variable; if (!variable) { source = 'with (obj) {\n' + source + '\n}\n'; @@ -37489,6 +37682,9 @@ module.exports = isSymbol; * values against any array or object value, respectively. See `_.isEqual` * for a list of supported value comparisons. * + * **Note:** Multiple values can be checked by combining several matchers + * using `_.overSome` + * * @static * @memberOf _ * @since 3.0.0 @@ -37504,6 +37700,10 @@ module.exports = isSymbol; * * _.filter(objects, _.matches({ 'a': 4, 'c': 6 })); * // => [{ 'a': 4, 'b': 5, 'c': 6 }] + * + * // Checking for several possible values + * _.filter(users, _.overSome([_.matches({ 'a': 1 }), _.matches({ 'a': 4 })])); + * // => [{ 'a': 1, 'b': 2, 'c': 3 }, { 'a': 4, 'b': 5, 'c': 6 }] */ function matches(source) { return baseMatches(baseClone(source, CLONE_DEEP_FLAG)); @@ -37518,6 +37718,9 @@ module.exports = isSymbol; * `srcValue` values against any array or object value, respectively. See * `_.isEqual` for a list of supported value comparisons. * + * **Note:** Multiple values can be checked by combining several matchers + * using `_.overSome` + * * @static * @memberOf _ * @since 3.2.0 @@ -37534,6 +37737,10 @@ module.exports = isSymbol; * * _.find(objects, _.matchesProperty('a', 4)); * // => { 'a': 4, 'b': 5, 'c': 6 } + * + * // Checking for several possible values + * _.filter(users, _.overSome([_.matchesProperty('a', 1), _.matchesProperty('a', 4)])); + * // => [{ 'a': 1, 'b': 2, 'c': 3 }, { 'a': 4, 'b': 5, 'c': 6 }] */ function matchesProperty(path, srcValue) { return baseMatchesProperty(path, baseClone(srcValue, CLONE_DEEP_FLAG)); @@ -37757,6 +37964,10 @@ module.exports = isSymbol; * Creates a function that checks if **all** of the `predicates` return * truthy when invoked with the arguments it receives. * + * Following shorthands are possible for providing predicates. + * Pass an `Object` and it will be used as an parameter for `_.matches` to create the predicate. + * Pass an `Array` of parameters for `_.matchesProperty` and the predicate will be created using them. + * * @static * @memberOf _ * @since 4.0.0 @@ -37783,6 +37994,10 @@ module.exports = isSymbol; * Creates a function that checks if **any** of the `predicates` return * truthy when invoked with the arguments it receives. * + * Following shorthands are possible for providing predicates. + * Pass an `Object` and it will be used as an parameter for `_.matches` to create the predicate. + * Pass an `Array` of parameters for `_.matchesProperty` and the predicate will be created using them. + * * @static * @memberOf _ * @since 4.0.0 @@ -37802,6 +38017,9 @@ module.exports = isSymbol; * * func(NaN); * // => false + * + * var matchesFunc = _.overSome([{ 'a': 1 }, { 'a': 2 }]) + * var matchesPropertyFunc = _.overSome([['a', 1], ['a', 2]]) */ var overSome = createOver(arraySome); @@ -39184,22 +39402,24 @@ module.exports = toString; "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* WEBPACK VAR INJECTION */(function(global) {/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/inheritsLoose */ "./node_modules/@babel/runtime/helpers/inheritsLoose.js"); -/* harmony import */ var _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inheritsLoose */ "./node_modules/mini-create-react-context/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var gud__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! gud */ "./node_modules/gud/index.js"); -/* harmony import */ var gud__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(gud__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var tiny_warning__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! tiny-warning */ "./node_modules/tiny-warning/dist/tiny-warning.esm.js"); - +/* harmony import */ var tiny_warning__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! tiny-warning */ "./node_modules/mini-create-react-context/node_modules/tiny-warning/dist/tiny-warning.esm.js"); var MAX_SIGNED_31_BIT_INT = 1073741823; +var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : {}; + +function getUniqueId() { + var key = '__global_unique_id__'; + return commonjsGlobal[key] = (commonjsGlobal[key] || 0) + 1; +} function objectIs(x, y) { if (x === y) { @@ -39239,12 +39459,10 @@ function onlyChild(children) { function createReactContext(defaultValue, calculateChangedBits) { var _Provider$childContex, _Consumer$contextType; - var contextProp = '__create-react-context-' + gud__WEBPACK_IMPORTED_MODULE_3___default()() + '__'; + var contextProp = '__create-react-context-' + getUniqueId() + '__'; - var Provider = - /*#__PURE__*/ - function (_Component) { - _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1___default()(Provider, _Component); + var Provider = /*#__PURE__*/function (_Component) { + Object(_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__["default"])(Provider, _Component); function Provider() { var _this; @@ -39274,7 +39492,7 @@ function createReactContext(defaultValue, calculateChangedBits) { changedBits = typeof calculateChangedBits === 'function' ? calculateChangedBits(oldValue, newValue) : MAX_SIGNED_31_BIT_INT; if (true) { - Object(tiny_warning__WEBPACK_IMPORTED_MODULE_4__["default"])((changedBits & MAX_SIGNED_31_BIT_INT) === changedBits, 'calculateChangedBits: Expected the return value to be a ' + '31-bit integer. Instead received: ' + changedBits); + Object(tiny_warning__WEBPACK_IMPORTED_MODULE_3__["default"])((changedBits & MAX_SIGNED_31_BIT_INT) === changedBits, 'calculateChangedBits: Expected the return value to be a ' + '31-bit integer. Instead received: ' + changedBits); } changedBits |= 0; @@ -39295,10 +39513,8 @@ function createReactContext(defaultValue, calculateChangedBits) { Provider.childContextTypes = (_Provider$childContex = {}, _Provider$childContex[contextProp] = prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.object.isRequired, _Provider$childContex); - var Consumer = - /*#__PURE__*/ - function (_Component2) { - _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1___default()(Consumer, _Component2); + var Consumer = /*#__PURE__*/function (_Component2) { + Object(_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__["default"])(Consumer, _Component2); function Consumer() { var _this2; @@ -39369,6 +39585,58 @@ var index = react__WEBPACK_IMPORTED_MODULE_0___default.a.createContext || create /* harmony default export */ __webpack_exports__["default"] = (index); +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../webpack/buildin/global.js */ "./node_modules/webpack/buildin/global.js"))) + +/***/ }), + +/***/ "./node_modules/mini-create-react-context/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js": +/*!*********************************************************************************************************!*\ + !*** ./node_modules/mini-create-react-context/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js ***! + \*********************************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _inheritsLoose; }); +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; + subClass.__proto__ = superClass; +} + +/***/ }), + +/***/ "./node_modules/mini-create-react-context/node_modules/tiny-warning/dist/tiny-warning.esm.js": +/*!***************************************************************************************************!*\ + !*** ./node_modules/mini-create-react-context/node_modules/tiny-warning/dist/tiny-warning.esm.js ***! + \***************************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +var isProduction = "development" === 'production'; +function warning(condition, message) { + if (!isProduction) { + if (condition) { + return; + } + + var text = "Warning: " + message; + + if (typeof console !== 'undefined') { + console.warn(text); + } + + try { + throw Error(text); + } catch (x) {} + } +} + +/* harmony default export */ __webpack_exports__["default"] = (warning); + /***/ }), @@ -39839,7 +40107,7 @@ module.exports = shouldUseNative() ? Object.assign : function (target, source) { /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -var isarray = __webpack_require__(/*! isarray */ "./node_modules/isarray/index.js") +var isarray = __webpack_require__(/*! isarray */ "./node_modules/path-to-regexp/node_modules/isarray/index.js") /** * Expose `pathToRegexp`. @@ -40267,6 +40535,20 @@ function pathToRegexp (path, keys, options) { } +/***/ }), + +/***/ "./node_modules/path-to-regexp/node_modules/isarray/index.js": +/*!*******************************************************************!*\ + !*** ./node_modules/path-to-regexp/node_modules/isarray/index.js ***! + \*******************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +module.exports = Array.isArray || function (arr) { + return Object.prototype.toString.call(arr) == '[object Array]'; +}; + + /***/ }), /***/ "./node_modules/process/browser.js": @@ -70484,13 +70766,13 @@ _ref) { // Distinguish between actual "data" props that were passed to the wrapper component, // and values needed to control behavior (forwarded refs, alternate context instances). // To maintain the wrapperProps object reference, memoize this destructuring. - var forwardedRef = props.forwardedRef, - wrapperProps = Object(_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__["default"])(props, ["forwardedRef"]); + var reactReduxForwardedRef = props.reactReduxForwardedRef, + wrapperProps = Object(_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__["default"])(props, ["reactReduxForwardedRef"]); - return [props.context, forwardedRef, wrapperProps]; + return [props.context, reactReduxForwardedRef, wrapperProps]; }, [props]), propsContext = _useMemo[0], - forwardedRef = _useMemo[1], + reactReduxForwardedRef = _useMemo[1], wrapperProps = _useMemo[2]; var ContextToUse = Object(react__WEBPACK_IMPORTED_MODULE_3__["useMemo"])(function () { @@ -70593,9 +70875,9 @@ _ref) { var renderedWrappedComponent = Object(react__WEBPACK_IMPORTED_MODULE_3__["useMemo"])(function () { return react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(WrappedComponent, Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, actualChildProps, { - ref: forwardedRef + ref: reactReduxForwardedRef })); - }, [forwardedRef, WrappedComponent, actualChildProps]); // If React sees the exact same element reference as last time, it bails out of re-rendering + }, [reactReduxForwardedRef, WrappedComponent, actualChildProps]); // If React sees the exact same element reference as last time, it bails out of re-rendering // that child, same as if it was wrapped in React.memo() or returned false from shouldComponentUpdate. var renderedChild = Object(react__WEBPACK_IMPORTED_MODULE_3__["useMemo"])(function () { @@ -70621,7 +70903,7 @@ _ref) { if (forwardRef) { var forwarded = react__WEBPACK_IMPORTED_MODULE_3___default.a.forwardRef(function forwardConnectRef(props, ref) { return react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(Connect, Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, props, { - forwardedRef: ref + reactReduxForwardedRef: ref })); }); forwarded.displayName = displayName; @@ -71226,12 +71508,14 @@ function useSelectorWithStoreAndSubscription(selector, equalityFn, store, contex }, [store, contextSub]); var latestSubscriptionCallbackError = Object(react__WEBPACK_IMPORTED_MODULE_0__["useRef"])(); var latestSelector = Object(react__WEBPACK_IMPORTED_MODULE_0__["useRef"])(); + var latestStoreState = Object(react__WEBPACK_IMPORTED_MODULE_0__["useRef"])(); var latestSelectedState = Object(react__WEBPACK_IMPORTED_MODULE_0__["useRef"])(); + var storeState = store.getState(); var selectedState; try { - if (selector !== latestSelector.current || latestSubscriptionCallbackError.current) { - selectedState = selector(store.getState()); + if (selector !== latestSelector.current || storeState !== latestStoreState.current || latestSubscriptionCallbackError.current) { + selectedState = selector(storeState); } else { selectedState = latestSelectedState.current; } @@ -71245,6 +71529,7 @@ function useSelectorWithStoreAndSubscription(selector, equalityFn, store, contex Object(_utils_useIsomorphicLayoutEffect__WEBPACK_IMPORTED_MODULE_3__["useIsomorphicLayoutEffect"])(function () { latestSelector.current = selector; + latestStoreState.current = storeState; latestSelectedState.current = selectedState; latestSubscriptionCallbackError.current = undefined; }); @@ -71266,7 +71551,7 @@ function useSelectorWithStoreAndSubscription(selector, equalityFn, store, contex latestSubscriptionCallbackError.current = err; } - forceRender({}); + forceRender(); } subscription.onStateChange = checkForUpdates; @@ -71300,14 +71585,16 @@ function createSelectorHook(context) { } if ( true && !selector) { - throw new Error("You must pass a selector to useSelectors"); + throw new Error("You must pass a selector to useSelector"); } var _useReduxContext = useReduxContext(), store = _useReduxContext.store, contextSub = _useReduxContext.subscription; - return useSelectorWithStoreAndSubscription(selector, equalityFn, store, contextSub); + var selectedState = useSelectorWithStoreAndSubscription(selector, equalityFn, store, contextSub); + Object(react__WEBPACK_IMPORTED_MODULE_0__["useDebugValue"])(selectedState); + return selectedState; }; } /** @@ -72068,7 +72355,7 @@ if (false) {} else { /*!***************************************************************!*\ !*** ./node_modules/react-router-dom/esm/react-router-dom.js ***! \***************************************************************/ -/*! exports provided: MemoryRouter, Prompt, Redirect, Route, Router, StaticRouter, Switch, __RouterContext, generatePath, matchPath, useHistory, useLocation, useParams, useRouteMatch, withRouter, BrowserRouter, HashRouter, Link, NavLink */ +/*! exports provided: MemoryRouter, Prompt, Redirect, Route, Router, StaticRouter, Switch, generatePath, matchPath, useHistory, useLocation, useParams, useRouteMatch, withRouter, BrowserRouter, HashRouter, Link, NavLink */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -72092,8 +72379,6 @@ __webpack_require__.r(__webpack_exports__); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Switch", function() { return react_router__WEBPACK_IMPORTED_MODULE_0__["Switch"]; }); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "__RouterContext", function() { return react_router__WEBPACK_IMPORTED_MODULE_0__["__RouterContext"]; }); - /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "generatePath", function() { return react_router__WEBPACK_IMPORTED_MODULE_0__["generatePath"]; }); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "matchPath", function() { return react_router__WEBPACK_IMPORTED_MODULE_0__["matchPath"]; }); @@ -72277,6 +72562,8 @@ var LinkAnchor = forwardRef(function (_ref, forwardedRef) { } else { props.ref = innerRef; } + /* eslint-disable-next-line jsx-a11y/anchor-has-content */ + return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("a", props); }); @@ -72372,11 +72659,12 @@ var NavLink = forwardRef$1(function (_ref, forwardedRef) { exact = _ref.exact, isActiveProp = _ref.isActive, locationProp = _ref.location, + sensitive = _ref.sensitive, strict = _ref.strict, styleProp = _ref.style, to = _ref.to, innerRef = _ref.innerRef, - rest = Object(_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_7__["default"])(_ref, ["aria-current", "activeClassName", "activeStyle", "className", "exact", "isActive", "location", "strict", "style", "to", "innerRef"]); + rest = Object(_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_7__["default"])(_ref, ["aria-current", "activeClassName", "activeStyle", "className", "exact", "isActive", "location", "sensitive", "strict", "style", "to", "innerRef"]); return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(react_router__WEBPACK_IMPORTED_MODULE_0__["__RouterContext"].Consumer, null, function (context) { !context ? true ? Object(tiny_invariant__WEBPACK_IMPORTED_MODULE_8__["default"])(false, "You should not use outside a ") : undefined : void 0; @@ -72388,6 +72676,7 @@ var NavLink = forwardRef$1(function (_ref, forwardedRef) { var match = escapedPath ? Object(react_router__WEBPACK_IMPORTED_MODULE_0__["matchPath"])(currentLocation.pathname, { path: escapedPath, exact: exact, + sensitive: sensitive, strict: strict }) : null; var isActive = !!(isActiveProp ? isActiveProp(match, currentLocation) : match); @@ -72423,6 +72712,7 @@ if (true) { exact: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.bool, isActive: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.func, location: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.object, + sensitive: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.bool, strict: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.bool, style: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.object }); @@ -72438,7 +72728,7 @@ if (true) { /*!*******************************************************!*\ !*** ./node_modules/react-router/esm/react-router.js ***! \*******************************************************/ -/*! exports provided: MemoryRouter, Prompt, Redirect, Route, Router, StaticRouter, Switch, __RouterContext, generatePath, matchPath, useHistory, useLocation, useParams, useRouteMatch, withRouter */ +/*! exports provided: MemoryRouter, Prompt, Redirect, Route, Router, StaticRouter, Switch, __HistoryContext, __RouterContext, generatePath, matchPath, useHistory, useLocation, useParams, useRouteMatch, withRouter */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -72450,6 +72740,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Router", function() { return Router; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "StaticRouter", function() { return StaticRouter; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Switch", function() { return Switch; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__HistoryContext", function() { return historyContext; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__RouterContext", function() { return context; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "generatePath", function() { return generatePath; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "matchPath", function() { return matchPath; }); @@ -72496,9 +72787,21 @@ var createNamedContext = function createNamedContext(name) { return context; }; +var historyContext = +/*#__PURE__*/ +createNamedContext("Router-History"); + +// TODO: Replace with React.createContext once we can assume React 16+ + +var createNamedContext$1 = function createNamedContext(name) { + var context = Object(mini_create_react_context__WEBPACK_IMPORTED_MODULE_5__["default"])(); + context.displayName = name; + return context; +}; + var context = /*#__PURE__*/ -createNamedContext("Router"); +createNamedContext$1("Router"); /** * The public API for putting history on context. @@ -72566,14 +72869,16 @@ function (_React$Component) { _proto.render = function render() { return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(context.Provider, { - children: this.props.children || null, value: { history: this.props.history, location: this.state.location, match: Router.computeRootMatch(this.state.location.pathname), staticContext: this.props.staticContext } - }); + }, react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(historyContext.Provider, { + children: this.props.children || null, + value: this.props.history + })); }; return Router; @@ -73180,7 +73485,7 @@ function useHistory() { !(typeof useContext === "function") ? true ? Object(tiny_invariant__WEBPACK_IMPORTED_MODULE_6__["default"])(false, "You must use React >= 16.8 in order to use useHistory()") : undefined : void 0; } - return useContext(context).history; + return useContext(historyContext); } function useLocation() { if (true) { @@ -73202,7 +73507,9 @@ function useRouteMatch(path) { !(typeof useContext === "function") ? true ? Object(tiny_invariant__WEBPACK_IMPORTED_MODULE_6__["default"])(false, "You must use React >= 16.8 in order to use useRouteMatch()") : undefined : void 0; } - return path ? matchPath(useLocation().pathname, path) : useContext(context).match; + var location = useLocation(); + var match = useContext(context).match; + return path ? matchPath(location.pathname, path) : match; } if (true) { @@ -84262,323 +84569,228 @@ var __WEBPACK_AMD_DEFINE_RESULT__;/** @license MIT License (c) copyright 2010-20 /*!***********************!*\ !*** ./src/js/App.js ***! \***********************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: App, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.App = undefined; - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); - -var _reactRouterDom = __webpack_require__(/*! react-router-dom */ "./node_modules/react-router-dom/esm/react-router-dom.js"); - -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); - -var _reactGa = __webpack_require__(/*! react-ga */ "./node_modules/react-ga/dist/esm/index.js"); - -var _reactGa2 = _interopRequireDefault(_reactGa); - -var _browser = __webpack_require__(/*! @sentry/browser */ "./node_modules/@sentry/browser/esm/index.js"); - -var Sentry = _interopRequireWildcard(_browser); - -var _Sidebar = __webpack_require__(/*! ./components/Sidebar */ "./src/js/components/Sidebar.js"); - -var _Sidebar2 = _interopRequireDefault(_Sidebar); - -var _PlaybackControls = __webpack_require__(/*! ./components/PlaybackControls */ "./src/js/components/PlaybackControls.js"); - -var _PlaybackControls2 = _interopRequireDefault(_PlaybackControls); - -var _ContextMenu = __webpack_require__(/*! ./components/ContextMenu */ "./src/js/components/ContextMenu.js"); - -var _ContextMenu2 = _interopRequireDefault(_ContextMenu); - -var _Dragger = __webpack_require__(/*! ./components/Dragger */ "./src/js/components/Dragger.js"); - -var _Dragger2 = _interopRequireDefault(_Dragger); - -var _Notifications = __webpack_require__(/*! ./components/Notifications */ "./src/js/components/Notifications.js"); - -var _Notifications2 = _interopRequireDefault(_Notifications); - -var _ResizeListener = __webpack_require__(/*! ./components/ResizeListener */ "./src/js/components/ResizeListener.js"); - -var _ResizeListener2 = _interopRequireDefault(_ResizeListener); - -var _Hotkeys = __webpack_require__(/*! ./components/Hotkeys */ "./src/js/components/Hotkeys.js"); - -var _Hotkeys2 = _interopRequireDefault(_Hotkeys); - -var _DebugInfo = __webpack_require__(/*! ./components/DebugInfo */ "./src/js/components/DebugInfo.js"); - -var _DebugInfo2 = _interopRequireDefault(_DebugInfo); - -var _ErrorMessage = __webpack_require__(/*! ./components/ErrorMessage */ "./src/js/components/ErrorMessage.js"); - -var _ErrorMessage2 = _interopRequireDefault(_ErrorMessage); - -var _Stream = __webpack_require__(/*! ./components/Stream */ "./src/js/components/Stream.js"); - -var _Stream2 = _interopRequireDefault(_Stream); - -var _Album = __webpack_require__(/*! ./views/Album */ "./src/js/views/Album.js"); - -var _Album2 = _interopRequireDefault(_Album); - -var _Artist = __webpack_require__(/*! ./views/Artist */ "./src/js/views/Artist.js"); - -var _Artist2 = _interopRequireDefault(_Artist); - -var _Playlist = __webpack_require__(/*! ./views/Playlist */ "./src/js/views/Playlist.js"); - -var _Playlist2 = _interopRequireDefault(_Playlist); - -var _User = __webpack_require__(/*! ./views/User */ "./src/js/views/User.js"); - -var _User2 = _interopRequireDefault(_User); - -var _Track = __webpack_require__(/*! ./views/Track */ "./src/js/views/Track.js"); - -var _Track2 = _interopRequireDefault(_Track); - -var _Queue = __webpack_require__(/*! ./views/Queue */ "./src/js/views/Queue.js"); - -var _Queue2 = _interopRequireDefault(_Queue); - -var _QueueHistory = __webpack_require__(/*! ./views/QueueHistory */ "./src/js/views/QueueHistory.js"); - -var _QueueHistory2 = _interopRequireDefault(_QueueHistory); - -var _Debug = __webpack_require__(/*! ./views/Debug */ "./src/js/views/Debug.js"); - -var _Debug2 = _interopRequireDefault(_Debug); - -var _Search = __webpack_require__(/*! ./views/Search */ "./src/js/views/Search.js"); - -var _Search2 = _interopRequireDefault(_Search); - -var _Settings = __webpack_require__(/*! ./views/Settings */ "./src/js/views/Settings.js"); - -var _Settings2 = _interopRequireDefault(_Settings); - -var _DiscoverRecommendations = __webpack_require__(/*! ./views/discover/DiscoverRecommendations */ "./src/js/views/discover/DiscoverRecommendations.js"); - -var _DiscoverRecommendations2 = _interopRequireDefault(_DiscoverRecommendations); - -var _DiscoverFeatured = __webpack_require__(/*! ./views/discover/DiscoverFeatured */ "./src/js/views/discover/DiscoverFeatured.js"); - -var _DiscoverFeatured2 = _interopRequireDefault(_DiscoverFeatured); - -var _DiscoverCategories = __webpack_require__(/*! ./views/discover/DiscoverCategories */ "./src/js/views/discover/DiscoverCategories.js"); - -var _DiscoverCategories2 = _interopRequireDefault(_DiscoverCategories); - -var _DiscoverCategory = __webpack_require__(/*! ./views/discover/DiscoverCategory */ "./src/js/views/discover/DiscoverCategory.js"); - -var _DiscoverCategory2 = _interopRequireDefault(_DiscoverCategory); - -var _DiscoverNewReleases = __webpack_require__(/*! ./views/discover/DiscoverNewReleases */ "./src/js/views/discover/DiscoverNewReleases.js"); - -var _DiscoverNewReleases2 = _interopRequireDefault(_DiscoverNewReleases); - -var _LibraryArtists = __webpack_require__(/*! ./views/library/LibraryArtists */ "./src/js/views/library/LibraryArtists.js"); - -var _LibraryArtists2 = _interopRequireDefault(_LibraryArtists); - -var _LibraryAlbums = __webpack_require__(/*! ./views/library/LibraryAlbums */ "./src/js/views/library/LibraryAlbums.js"); - -var _LibraryAlbums2 = _interopRequireDefault(_LibraryAlbums); - -var _LibraryTracks = __webpack_require__(/*! ./views/library/LibraryTracks */ "./src/js/views/library/LibraryTracks.js"); - -var _LibraryTracks2 = _interopRequireDefault(_LibraryTracks); - -var _LibraryPlaylists = __webpack_require__(/*! ./views/library/LibraryPlaylists */ "./src/js/views/library/LibraryPlaylists.js"); - -var _LibraryPlaylists2 = _interopRequireDefault(_LibraryPlaylists); - -var _LibraryBrowse = __webpack_require__(/*! ./views/library/LibraryBrowse */ "./src/js/views/library/LibraryBrowse.js"); - -var _LibraryBrowse2 = _interopRequireDefault(_LibraryBrowse); - -var _LibraryBrowseDirectory = __webpack_require__(/*! ./views/library/LibraryBrowseDirectory */ "./src/js/views/library/LibraryBrowseDirectory.js"); - -var _LibraryBrowseDirectory2 = _interopRequireDefault(_LibraryBrowseDirectory); - -var _EditPlaylist = __webpack_require__(/*! ./views/modals/EditPlaylist */ "./src/js/views/modals/EditPlaylist.js"); - -var _EditPlaylist2 = _interopRequireDefault(_EditPlaylist); - -var _CreatePlaylist = __webpack_require__(/*! ./views/modals/CreatePlaylist */ "./src/js/views/modals/CreatePlaylist.js"); - -var _CreatePlaylist2 = _interopRequireDefault(_CreatePlaylist); - -var _EditRadio = __webpack_require__(/*! ./views/modals/EditRadio */ "./src/js/views/modals/EditRadio.js"); - -var _EditRadio2 = _interopRequireDefault(_EditRadio); - -var _AddToQueue = __webpack_require__(/*! ./views/modals/AddToQueue */ "./src/js/views/modals/AddToQueue.js"); - -var _AddToQueue2 = _interopRequireDefault(_AddToQueue); - -var _InitialSetup = __webpack_require__(/*! ./views/modals/InitialSetup */ "./src/js/views/modals/InitialSetup.js"); - -var _InitialSetup2 = _interopRequireDefault(_InitialSetup); - -var _KioskMode = __webpack_require__(/*! ./views/modals/KioskMode */ "./src/js/views/modals/KioskMode.js"); - -var _KioskMode2 = _interopRequireDefault(_KioskMode); - -var _ShareConfiguration = __webpack_require__(/*! ./views/modals/ShareConfiguration */ "./src/js/views/modals/ShareConfiguration.js"); - -var _ShareConfiguration2 = _interopRequireDefault(_ShareConfiguration); - -var _AddToPlaylist = __webpack_require__(/*! ./views/modals/AddToPlaylist */ "./src/js/views/modals/AddToPlaylist.js"); - -var _AddToPlaylist2 = _interopRequireDefault(_AddToPlaylist); - -var _ImageZoom = __webpack_require__(/*! ./views/modals/ImageZoom */ "./src/js/views/modals/ImageZoom.js"); - -var _ImageZoom2 = _interopRequireDefault(_ImageZoom); - -var _EditCommand = __webpack_require__(/*! ./views/modals/EditCommand */ "./src/js/views/modals/EditCommand.js"); - -var _EditCommand2 = _interopRequireDefault(_EditCommand); - -var _helpers = __webpack_require__(/*! ./util/helpers */ "./src/js/util/helpers.js"); - -var _storage = __webpack_require__(/*! ./util/storage */ "./src/js/util/storage.js"); - -var _storage2 = _interopRequireDefault(_storage); - -var _actions = __webpack_require__(/*! ./services/core/actions */ "./src/js/services/core/actions.js"); - -var coreActions = _interopRequireWildcard(_actions); - -var _actions2 = __webpack_require__(/*! ./services/ui/actions */ "./src/js/services/ui/actions.js"); - -var uiActions = _interopRequireWildcard(_actions2); - -var _actions3 = __webpack_require__(/*! ./services/pusher/actions */ "./src/js/services/pusher/actions.js"); - -var pusherActions = _interopRequireWildcard(_actions3); - -var _actions4 = __webpack_require__(/*! ./services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); - -var mopidyActions = _interopRequireWildcard(_actions4); - -var _actions5 = __webpack_require__(/*! ./services/spotify/actions */ "./src/js/services/spotify/actions.js"); - -var spotifyActions = _interopRequireWildcard(_actions5); - -var _actions6 = __webpack_require__(/*! ./services/lastfm/actions */ "./src/js/services/lastfm/actions.js"); - -var lastfmActions = _interopRequireWildcard(_actions6); - -var _actions7 = __webpack_require__(/*! ./services/genius/actions */ "./src/js/services/genius/actions.js"); - -var geniusActions = _interopRequireWildcard(_actions7); - -var _actions8 = __webpack_require__(/*! ./services/snapcast/actions */ "./src/js/services/snapcast/actions.js"); - -var snapcastActions = _interopRequireWildcard(_actions8); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "App", function() { return App; }); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-router-dom */ "./node_modules/react-router-dom/esm/react-router-dom.js"); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var react_ga__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-ga */ "./node_modules/react-ga/dist/esm/index.js"); +/* harmony import */ var _sentry_browser__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @sentry/browser */ "./node_modules/@sentry/browser/esm/index.js"); +/* harmony import */ var _components_Sidebar__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./components/Sidebar */ "./src/js/components/Sidebar.js"); +/* harmony import */ var _components_PlaybackControls__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./components/PlaybackControls */ "./src/js/components/PlaybackControls.js"); +/* harmony import */ var _components_ContextMenu__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./components/ContextMenu */ "./src/js/components/ContextMenu.js"); +/* harmony import */ var _components_Dragger__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./components/Dragger */ "./src/js/components/Dragger.js"); +/* harmony import */ var _components_Notifications__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./components/Notifications */ "./src/js/components/Notifications.js"); +/* harmony import */ var _components_ResizeListener__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./components/ResizeListener */ "./src/js/components/ResizeListener.js"); +/* harmony import */ var _components_Hotkeys__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./components/Hotkeys */ "./src/js/components/Hotkeys.js"); +/* harmony import */ var _components_DebugInfo__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./components/DebugInfo */ "./src/js/components/DebugInfo.js"); +/* harmony import */ var _components_ErrorMessage__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./components/ErrorMessage */ "./src/js/components/ErrorMessage.js"); +/* harmony import */ var _components_Stream__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./components/Stream */ "./src/js/components/Stream.js"); +/* harmony import */ var _views_Album__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./views/Album */ "./src/js/views/Album.js"); +/* harmony import */ var _views_Artist__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./views/Artist */ "./src/js/views/Artist.js"); +/* harmony import */ var _views_Playlist__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./views/Playlist */ "./src/js/views/Playlist.js"); +/* harmony import */ var _views_User__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./views/User */ "./src/js/views/User.js"); +/* harmony import */ var _views_Track__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./views/Track */ "./src/js/views/Track.js"); +/* harmony import */ var _views_Queue__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./views/Queue */ "./src/js/views/Queue.js"); +/* harmony import */ var _views_QueueHistory__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./views/QueueHistory */ "./src/js/views/QueueHistory.js"); +/* harmony import */ var _views_Debug__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./views/Debug */ "./src/js/views/Debug.js"); +/* harmony import */ var _views_Search__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./views/Search */ "./src/js/views/Search.js"); +/* harmony import */ var _views_Settings__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./views/Settings */ "./src/js/views/Settings.js"); +/* harmony import */ var _views_discover_DiscoverRecommendations__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./views/discover/DiscoverRecommendations */ "./src/js/views/discover/DiscoverRecommendations.js"); +/* harmony import */ var _views_discover_DiscoverFeatured__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./views/discover/DiscoverFeatured */ "./src/js/views/discover/DiscoverFeatured.js"); +/* harmony import */ var _views_discover_DiscoverCategories__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./views/discover/DiscoverCategories */ "./src/js/views/discover/DiscoverCategories.js"); +/* harmony import */ var _views_discover_DiscoverCategory__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./views/discover/DiscoverCategory */ "./src/js/views/discover/DiscoverCategory.js"); +/* harmony import */ var _views_discover_DiscoverNewReleases__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./views/discover/DiscoverNewReleases */ "./src/js/views/discover/DiscoverNewReleases.js"); +/* harmony import */ var _views_library_LibraryArtists__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./views/library/LibraryArtists */ "./src/js/views/library/LibraryArtists.js"); +/* harmony import */ var _views_library_LibraryAlbums__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./views/library/LibraryAlbums */ "./src/js/views/library/LibraryAlbums.js"); +/* harmony import */ var _views_library_LibraryTracks__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./views/library/LibraryTracks */ "./src/js/views/library/LibraryTracks.js"); +/* harmony import */ var _views_library_LibraryPlaylists__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./views/library/LibraryPlaylists */ "./src/js/views/library/LibraryPlaylists.js"); +/* harmony import */ var _views_library_LibraryBrowse__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./views/library/LibraryBrowse */ "./src/js/views/library/LibraryBrowse.js"); +/* harmony import */ var _views_library_LibraryBrowseDirectory__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ./views/library/LibraryBrowseDirectory */ "./src/js/views/library/LibraryBrowseDirectory.js"); +/* harmony import */ var _views_modals_EditPlaylist__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ./views/modals/EditPlaylist */ "./src/js/views/modals/EditPlaylist.js"); +/* harmony import */ var _views_modals_CreatePlaylist__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ./views/modals/CreatePlaylist */ "./src/js/views/modals/CreatePlaylist.js"); +/* harmony import */ var _views_modals_EditRadio__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ./views/modals/EditRadio */ "./src/js/views/modals/EditRadio.js"); +/* harmony import */ var _views_modals_AddToQueue__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ./views/modals/AddToQueue */ "./src/js/views/modals/AddToQueue.js"); +/* harmony import */ var _views_modals_InitialSetup__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ./views/modals/InitialSetup */ "./src/js/views/modals/InitialSetup.js"); +/* harmony import */ var _views_modals_KioskMode__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ./views/modals/KioskMode */ "./src/js/views/modals/KioskMode.js"); +/* harmony import */ var _views_modals_ShareConfiguration__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! ./views/modals/ShareConfiguration */ "./src/js/views/modals/ShareConfiguration.js"); +/* harmony import */ var _views_modals_AddToPlaylist__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! ./views/modals/AddToPlaylist */ "./src/js/views/modals/AddToPlaylist.js"); +/* harmony import */ var _views_modals_ImageZoom__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(/*! ./views/modals/ImageZoom */ "./src/js/views/modals/ImageZoom.js"); +/* harmony import */ var _views_modals_EditCommand__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! ./views/modals/EditCommand */ "./src/js/views/modals/EditCommand.js"); +/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(/*! ./util/helpers */ "./src/js/util/helpers.js"); +/* harmony import */ var _util_storage__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(/*! ./util/storage */ "./src/js/util/storage.js"); +/* harmony import */ var _services_core_actions__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(/*! ./services/core/actions */ "./src/js/services/core/actions.js"); +/* harmony import */ var _services_ui_actions__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(/*! ./services/ui/actions */ "./src/js/services/ui/actions.js"); +/* harmony import */ var _services_pusher_actions__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(/*! ./services/pusher/actions */ "./src/js/services/pusher/actions.js"); +/* harmony import */ var _services_mopidy_actions__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(/*! ./services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); +/* harmony import */ var _services_spotify_actions__WEBPACK_IMPORTED_MODULE_53__ = __webpack_require__(/*! ./services/spotify/actions */ "./src/js/services/spotify/actions.js"); +/* harmony import */ var _services_lastfm_actions__WEBPACK_IMPORTED_MODULE_54__ = __webpack_require__(/*! ./services/lastfm/actions */ "./src/js/services/lastfm/actions.js"); +/* harmony import */ var _services_genius_actions__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(/*! ./services/genius/actions */ "./src/js/services/genius/actions.js"); +/* harmony import */ var _services_snapcast_actions__WEBPACK_IMPORTED_MODULE_56__ = __webpack_require__(/*! ./services/snapcast/actions */ "./src/js/services/snapcast/actions.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -var App = exports.App = function (_React$Component) { +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +var App = /*#__PURE__*/function (_React$Component) { _inherits(App, _React$Component); + var _super = _createSuper(App); + function App(props) { + var _this; + _classCallCheck(this, App); - // Load query param settings - var _this = _possibleConstructorReturn(this, (App.__proto__ || Object.getPrototypeOf(App)).call(this, props)); + _this = _super.call(this, props); // Load query param settings var configs = ['ui', 'spotify', 'pusher', 'snapcast', 'mopidy', 'google', 'lastfm', 'genius']; var params = new URLSearchParams(window.location.search); var changed = []; var urlParams = params.forEach(function (v, k) { if (!configs.includes(k)) return; + try { - _storage2.default.set(k, JSON.parse(v)); + _util_storage__WEBPACK_IMPORTED_MODULE_48__["default"].set(k, JSON.parse(v)); changed.push(k); } catch (error) { console.error(error); } }); + if (changed.length > 0) { changed.forEach(function (k) { - return params.delete(k); + return params["delete"](k); }); var url = window.location.toString().replace(window.location.search, params.toString()); console.log('settings changed:', changed, 'redirect to:', url); window.location.assign(url); } - _this.handleInstallPrompt = _this.handleInstallPrompt.bind(_this); - _this.handleFocusAndBlur = _this.handleFocusAndBlur.bind(_this); + _this.handleInstallPrompt = _this.handleInstallPrompt.bind(_assertThisInitialized(_this)); + _this.handleFocusAndBlur = _this.handleFocusAndBlur.bind(_assertThisInitialized(_this)); window.language = props.language; return _this; } _createClass(App, [{ - key: 'componentWillUnmount', + key: "componentWillUnmount", value: function componentWillUnmount() { window.removeEventListener('beforeinstallprompt', this.handleInstallPrompt, false); window.removeEventListener('focus', this.handleFocusAndBlur, false); window.removeEventListener('blur', this.handleFocusAndBlur, false); } }, { - key: 'componentDidMount', + key: "componentDidMount", value: function componentDidMount() { - var _props = this.props, - history = _props.history, - snapcast_enabled = _props.snapcast_enabled, - allow_reporting = _props.allow_reporting, - initial_setup_complete = _props.initial_setup_complete, - mopidyActions = _props.mopidyActions, - pusherActions = _props.pusherActions, - snapcastActions = _props.snapcastActions, - coreActions = _props.coreActions; - - + var _this$props = this.props, + history = _this$props.history, + snapcast_enabled = _this$props.snapcast_enabled, + allow_reporting = _this$props.allow_reporting, + initial_setup_complete = _this$props.initial_setup_complete, + mopidyActions = _this$props.mopidyActions, + pusherActions = _this$props.pusherActions, + snapcastActions = _this$props.snapcastActions, + coreActions = _this$props.coreActions; window.addEventListener('beforeinstallprompt', this.handleInstallPrompt, false); window.addEventListener('focus', this.handleFocusAndBlur, false); window.addEventListener('blur', this.handleFocusAndBlur, false); if (allow_reporting) { - _reactGa2.default.initialize('UA-64701652-3'); - Sentry.init({ + react_ga__WEBPACK_IMPORTED_MODULE_4__["default"].initialize('UA-64701652-3'); + _sentry_browser__WEBPACK_IMPORTED_MODULE_5__["init"]({ dsn: 'https://ca99fb6662fe40ae8ec4c18a466e4b4b@o99789.ingest.sentry.io/219026' }); - } + } // Fire up our services + - // Fire up our services mopidyActions.connect(); pusherActions.connect(); + if (snapcast_enabled) { snapcastActions.connect(); } + coreActions.getBroadcasts(); if (!initial_setup_complete) { @@ -84586,31 +84798,32 @@ var App = exports.App = function (_React$Component) { } } }, { - key: 'componentDidUpdate', + key: "componentDidUpdate", value: function componentDidUpdate(_ref) { var prevLocation = _ref.location; - var _props2 = this.props, - _props2$location = _props2.location, - location = _props2$location === undefined ? {} : _props2$location, - allow_reporting = _props2.allow_reporting, - uiActions = _props2.uiActions, - context_menu = _props2.context_menu; - - // When we have navigated to a new route + var _this$props2 = this.props, + _this$props2$location = _this$props2.location, + location = _this$props2$location === void 0 ? {} : _this$props2$location, + allow_reporting = _this$props2.allow_reporting, + uiActions = _this$props2.uiActions, + context_menu = _this$props2.context_menu; // When we have navigated to a new route if (location !== prevLocation) { // Log our pageview if (allow_reporting) { - _reactGa2.default.set({ page: location.pathname }); - _reactGa2.default.pageview(location.pathname); - } - - // If the location has a "scroll_position" state variable, scroll to it. + react_ga__WEBPACK_IMPORTED_MODULE_4__["default"].set({ + page: location.pathname + }); + react_ga__WEBPACK_IMPORTED_MODULE_4__["default"].pageview(location.pathname); + } // If the location has a "scroll_position" state variable, scroll to it. // This is invisibly injected to the history by the Link component when navigating, so // hitting back in the browser allows us to restore the position + + var location_state = location.state || {}; + if (location_state.scroll_position) { - (0, _helpers.scrollTo)(parseInt(location_state.scroll_position), false); + Object(_util_helpers__WEBPACK_IMPORTED_MODULE_47__["scrollTo"])(parseInt(location_state.scroll_position), false); } uiActions.toggleSidebar(false); @@ -84618,7 +84831,6 @@ var App = exports.App = function (_React$Component) { if (context_menu) uiActions.hideContextMenu(); } } - /** * Using Visibility API, detect whether the browser is in focus or not * @@ -84630,207 +84842,319 @@ var App = exports.App = function (_React$Component) { * */ }, { - key: 'handleFocusAndBlur', + key: "handleFocusAndBlur", value: function handleFocusAndBlur() { var setWindowFocus = this.props.uiActions.setWindowFocus; - setWindowFocus(document.hasFocus()); } }, { - key: 'handleInstallPrompt', + key: "handleInstallPrompt", value: function handleInstallPrompt(e) { var installPrompt = this.props.uiActions.installPrompt; - e.preventDefault(); console.log('Install prompt detected'); installPrompt(e); } }, { - key: 'render', + key: "render", value: function render() { - var className = this.props.theme + '-theme app-inner'; - className += ' ' + (navigator.onLine ? 'online' : 'offline'); + var className = "".concat(this.props.theme, "-theme app-inner"); + className += " ".concat(navigator.onLine ? 'online' : 'offline'); + if (this.props.wide_scrollbar_enabled) { className += ' wide-scrollbar'; } + if (this.props.dragging) { className += ' dragging'; } + if (this.props.sidebar_open) { className += ' sidebar-open'; } + if (this.props.touch_dragging) { className += ' touch-dragging'; } + if (this.props.context_menu) { className += ' context-menu-open'; } + if (this.props.slim_mode) { className += ' slim-mode'; } + if (this.props.smooth_scrolling_enabled) { className += ' smooth-scrolling-enabled'; } - if ((0, _helpers.isTouchDevice)()) { + + if (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_47__["isTouchDevice"])()) { className += ' touch'; } else { className += ' notouch'; } - return _react2.default.createElement( - 'div', - { className: className }, - _react2.default.createElement( - 'div', - { className: 'body' }, - _react2.default.createElement( - _reactRouterDom.Switch, - null, - _react2.default.createElement(_reactRouterDom.Route, { path: '/initial-setup', component: _InitialSetup2.default }), - _react2.default.createElement(_reactRouterDom.Route, { path: '/kiosk-mode', component: _KioskMode2.default }), - _react2.default.createElement(_reactRouterDom.Route, { path: '/add-to-playlist/:uris', component: _AddToPlaylist2.default }), - _react2.default.createElement(_reactRouterDom.Route, { path: '/image-zoom', component: _ImageZoom2.default }), - _react2.default.createElement(_reactRouterDom.Route, { path: '/share-configuration', component: _ShareConfiguration2.default }), - _react2.default.createElement(_reactRouterDom.Route, { path: '/edit-command/:id?', component: _EditCommand2.default }), - _react2.default.createElement(_reactRouterDom.Route, { path: '/queue/radio', component: _EditRadio2.default }), - _react2.default.createElement(_reactRouterDom.Route, { path: '/queue/add-uri', component: _AddToQueue2.default }), - _react2.default.createElement(_reactRouterDom.Route, { path: '/playlist/create', component: _CreatePlaylist2.default }), - _react2.default.createElement(_reactRouterDom.Route, { path: '/playlist/:uri/edit', component: _EditPlaylist2.default }), - _react2.default.createElement( - _reactRouterDom.Route, - null, - _react2.default.createElement( - 'div', - null, - _react2.default.createElement(_Sidebar2.default, { - location: this.props.location, - history: this.props.history, - tabIndex: '3' - }), - _react2.default.createElement(_PlaybackControls2.default, { - history: this.props.history, - slim_mode: this.props.slim_mode, - tabIndex: '2' - }), - _react2.default.createElement( - 'main', - { id: 'main', className: 'smooth-scroll', tabIndex: '1' }, - _react2.default.createElement( - _reactRouterDom.Switch, - null, - _react2.default.createElement(_reactRouterDom.Route, { exact: true, path: '/', component: _Queue2.default }), - _react2.default.createElement(_reactRouterDom.Route, { exact: true, path: '/queue', component: _Queue2.default }), - _react2.default.createElement(_reactRouterDom.Route, { - exact: true, - path: '/queue/history', - component: _QueueHistory2.default - }), - _react2.default.createElement(_reactRouterDom.Route, { exact: true, path: '/settings/debug', component: _Debug2.default }), - _react2.default.createElement(_reactRouterDom.Route, { path: '/settings', component: _Settings2.default }), - _react2.default.createElement(_reactRouterDom.Route, { - exact: true, - path: '/search/:type?/:term?', - component: _Search2.default - }), - _react2.default.createElement(_reactRouterDom.Route, { exact: true, path: '/album/:uri', component: _Album2.default }), - _react2.default.createElement(_reactRouterDom.Route, { - exact: true, - path: '/artist/:uri/:sub_view?', - component: _Artist2.default - }), - _react2.default.createElement(_reactRouterDom.Route, { exact: true, path: '/playlist/:uri', component: _Playlist2.default }), - _react2.default.createElement(_reactRouterDom.Route, { exact: true, path: '/user/:uri', component: _User2.default }), - _react2.default.createElement(_reactRouterDom.Route, { exact: true, path: '/track/:uri', component: _Track2.default }), - _react2.default.createElement(_reactRouterDom.Route, { - exact: true, - path: '/discover/recommendations/:seeds?', - component: _DiscoverRecommendations2.default - }), - _react2.default.createElement(_reactRouterDom.Route, { - exact: true, - path: '/discover/featured', - component: _DiscoverFeatured2.default - }), - _react2.default.createElement(_reactRouterDom.Route, { - exact: true, - path: '/discover/categories/:id', - component: _DiscoverCategory2.default - }), - _react2.default.createElement(_reactRouterDom.Route, { - exact: true, - path: '/discover/categories', - component: _DiscoverCategories2.default - }), - _react2.default.createElement(_reactRouterDom.Route, { - exact: true, - path: '/discover/new-releases', - component: _DiscoverNewReleases2.default - }), - _react2.default.createElement(_reactRouterDom.Route, { - exact: true, - path: '/library/artists', - component: _LibraryArtists2.default - }), - _react2.default.createElement(_reactRouterDom.Route, { - exact: true, - path: '/library/albums', - component: _LibraryAlbums2.default - }), - _react2.default.createElement(_reactRouterDom.Route, { - exact: true, - path: '/library/tracks', - component: _LibraryTracks2.default - }), - _react2.default.createElement(_reactRouterDom.Route, { - exact: true, - path: '/library/playlists', - component: _LibraryPlaylists2.default - }), - _react2.default.createElement(_reactRouterDom.Route, { - exact: true, - path: '/library/browse', - component: _LibraryBrowse2.default - }), - _react2.default.createElement(_reactRouterDom.Route, { - exact: true, - path: '/library/browse/:uri', - component: _LibraryBrowseDirectory2.default - }), - _react2.default.createElement( - _reactRouterDom.Route, - null, - _react2.default.createElement( - _ErrorMessage2.default, - { type: 'not-found', title: 'Not found' }, - _react2.default.createElement( - 'p', - null, - 'Oops, that link could not be found' - ) - ) - ) - ) - ) - ) - ) - ) - ), - _react2.default.createElement(_ResizeListener2.default, { - uiActions: this.props.uiActions, - slim_mode: this.props.slim_mode - }), - this.props.hotkeys_enabled && _react2.default.createElement(_Hotkeys2.default, { history: this.props.history }), - _react2.default.createElement(_ContextMenu2.default, null), - _react2.default.createElement(_Dragger2.default, null), - _react2.default.createElement(_Notifications2.default, null), - _react2.default.createElement(_Stream2.default, null), - this.props.debug_info ? _react2.default.createElement(_DebugInfo2.default, null) : null - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: className, + "data-qa-node": "div", + "data-qa-file": "App" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "body", + "data-qa-node": "div", + "data-qa-file": "App" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_2__["Switch"], { + "data-qa-node": "Switch", + "data-qa-file": "App" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_2__["Route"], { + path: "/initial-setup", + component: _views_modals_InitialSetup__WEBPACK_IMPORTED_MODULE_41__["default"], + "data-qa-node": "Route", + "data-qa-file": "App" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_2__["Route"], { + path: "/kiosk-mode", + component: _views_modals_KioskMode__WEBPACK_IMPORTED_MODULE_42__["default"], + "data-qa-node": "Route", + "data-qa-file": "App" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_2__["Route"], { + path: "/add-to-playlist/:uris", + component: _views_modals_AddToPlaylist__WEBPACK_IMPORTED_MODULE_44__["default"], + "data-qa-node": "Route", + "data-qa-file": "App" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_2__["Route"], { + path: "/image-zoom", + component: _views_modals_ImageZoom__WEBPACK_IMPORTED_MODULE_45__["default"], + "data-qa-node": "Route", + "data-qa-file": "App" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_2__["Route"], { + path: "/share-configuration", + component: _views_modals_ShareConfiguration__WEBPACK_IMPORTED_MODULE_43__["default"], + "data-qa-node": "Route", + "data-qa-file": "App" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_2__["Route"], { + path: "/edit-command/:id?", + component: _views_modals_EditCommand__WEBPACK_IMPORTED_MODULE_46__["default"], + "data-qa-node": "Route", + "data-qa-file": "App" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_2__["Route"], { + path: "/queue/radio", + component: _views_modals_EditRadio__WEBPACK_IMPORTED_MODULE_39__["default"], + "data-qa-node": "Route", + "data-qa-file": "App" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_2__["Route"], { + path: "/queue/add-uri", + component: _views_modals_AddToQueue__WEBPACK_IMPORTED_MODULE_40__["default"], + "data-qa-node": "Route", + "data-qa-file": "App" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_2__["Route"], { + path: "/playlist/create", + component: _views_modals_CreatePlaylist__WEBPACK_IMPORTED_MODULE_38__["default"], + "data-qa-node": "Route", + "data-qa-file": "App" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_2__["Route"], { + path: "/playlist/:uri/edit", + component: _views_modals_EditPlaylist__WEBPACK_IMPORTED_MODULE_37__["default"], + "data-qa-node": "Route", + "data-qa-file": "App" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_2__["Route"], { + "data-qa-node": "Route", + "data-qa-file": "App" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + "data-qa-node": "div", + "data-qa-file": "App" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Sidebar__WEBPACK_IMPORTED_MODULE_6__["default"], { + location: this.props.location, + history: this.props.history, + tabIndex: "3", + "data-qa-node": "Sidebar", + "data-qa-file": "App" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_PlaybackControls__WEBPACK_IMPORTED_MODULE_7__["default"], { + history: this.props.history, + slim_mode: this.props.slim_mode, + tabIndex: "2", + "data-qa-node": "PlaybackControls", + "data-qa-file": "App" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("main", { + id: "main", + className: "smooth-scroll", + tabIndex: "1", + "data-qa-node": "main", + "data-qa-file": "App" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_2__["Switch"], { + "data-qa-node": "Switch", + "data-qa-file": "App" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_2__["Route"], { + exact: true, + path: "/", + component: _views_Queue__WEBPACK_IMPORTED_MODULE_21__["default"], + "data-qa-node": "Route", + "data-qa-file": "App" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_2__["Route"], { + exact: true, + path: "/queue", + component: _views_Queue__WEBPACK_IMPORTED_MODULE_21__["default"], + "data-qa-node": "Route", + "data-qa-file": "App" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_2__["Route"], { + exact: true, + path: "/queue/history", + component: _views_QueueHistory__WEBPACK_IMPORTED_MODULE_22__["default"], + "data-qa-node": "Route", + "data-qa-file": "App" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_2__["Route"], { + exact: true, + path: "/settings/debug", + component: _views_Debug__WEBPACK_IMPORTED_MODULE_23__["default"], + "data-qa-node": "Route", + "data-qa-file": "App" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_2__["Route"], { + path: "/settings", + component: _views_Settings__WEBPACK_IMPORTED_MODULE_25__["default"], + "data-qa-node": "Route", + "data-qa-file": "App" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_2__["Route"], { + exact: true, + path: "/search/:type?/:term?", + component: _views_Search__WEBPACK_IMPORTED_MODULE_24__["default"], + "data-qa-node": "Route", + "data-qa-file": "App" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_2__["Route"], { + exact: true, + path: "/album/:uri", + component: _views_Album__WEBPACK_IMPORTED_MODULE_16__["default"], + "data-qa-node": "Route", + "data-qa-file": "App" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_2__["Route"], { + exact: true, + path: "/artist/:uri/:sub_view?", + component: _views_Artist__WEBPACK_IMPORTED_MODULE_17__["default"], + "data-qa-node": "Route", + "data-qa-file": "App" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_2__["Route"], { + exact: true, + path: "/playlist/:uri", + component: _views_Playlist__WEBPACK_IMPORTED_MODULE_18__["default"], + "data-qa-node": "Route", + "data-qa-file": "App" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_2__["Route"], { + exact: true, + path: "/user/:uri", + component: _views_User__WEBPACK_IMPORTED_MODULE_19__["default"], + "data-qa-node": "Route", + "data-qa-file": "App" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_2__["Route"], { + exact: true, + path: "/track/:uri", + component: _views_Track__WEBPACK_IMPORTED_MODULE_20__["default"], + "data-qa-node": "Route", + "data-qa-file": "App" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_2__["Route"], { + exact: true, + path: "/discover/recommendations/:seeds?", + component: _views_discover_DiscoverRecommendations__WEBPACK_IMPORTED_MODULE_26__["default"], + "data-qa-node": "Route", + "data-qa-file": "App" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_2__["Route"], { + exact: true, + path: "/discover/featured", + component: _views_discover_DiscoverFeatured__WEBPACK_IMPORTED_MODULE_27__["default"], + "data-qa-node": "Route", + "data-qa-file": "App" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_2__["Route"], { + exact: true, + path: "/discover/categories/:id", + component: _views_discover_DiscoverCategory__WEBPACK_IMPORTED_MODULE_29__["default"], + "data-qa-node": "Route", + "data-qa-file": "App" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_2__["Route"], { + exact: true, + path: "/discover/categories", + component: _views_discover_DiscoverCategories__WEBPACK_IMPORTED_MODULE_28__["default"], + "data-qa-node": "Route", + "data-qa-file": "App" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_2__["Route"], { + exact: true, + path: "/discover/new-releases", + component: _views_discover_DiscoverNewReleases__WEBPACK_IMPORTED_MODULE_30__["default"], + "data-qa-node": "Route", + "data-qa-file": "App" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_2__["Route"], { + exact: true, + path: "/library/artists", + component: _views_library_LibraryArtists__WEBPACK_IMPORTED_MODULE_31__["default"], + "data-qa-node": "Route", + "data-qa-file": "App" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_2__["Route"], { + exact: true, + path: "/library/albums", + component: _views_library_LibraryAlbums__WEBPACK_IMPORTED_MODULE_32__["default"], + "data-qa-node": "Route", + "data-qa-file": "App" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_2__["Route"], { + exact: true, + path: "/library/tracks", + component: _views_library_LibraryTracks__WEBPACK_IMPORTED_MODULE_33__["default"], + "data-qa-node": "Route", + "data-qa-file": "App" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_2__["Route"], { + exact: true, + path: "/library/playlists", + component: _views_library_LibraryPlaylists__WEBPACK_IMPORTED_MODULE_34__["default"], + "data-qa-node": "Route", + "data-qa-file": "App" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_2__["Route"], { + exact: true, + path: "/library/browse", + component: _views_library_LibraryBrowse__WEBPACK_IMPORTED_MODULE_35__["default"], + "data-qa-node": "Route", + "data-qa-file": "App" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_2__["Route"], { + exact: true, + path: "/library/browse/:uri", + component: _views_library_LibraryBrowseDirectory__WEBPACK_IMPORTED_MODULE_36__["default"], + "data-qa-node": "Route", + "data-qa-file": "App" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_2__["Route"], { + "data-qa-node": "Route", + "data-qa-file": "App" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_ErrorMessage__WEBPACK_IMPORTED_MODULE_14__["default"], { + type: "not-found", + title: "Not found", + "data-qa-node": "ErrorMessage", + "data-qa-file": "App" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p", { + "data-qa-node": "p", + "data-qa-file": "App" + }, "Oops, that link could not be found"))))))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_ResizeListener__WEBPACK_IMPORTED_MODULE_11__["default"], { + uiActions: this.props.uiActions, + slim_mode: this.props.slim_mode, + "data-qa-node": "ResizeListener", + "data-qa-file": "App" + }), this.props.hotkeys_enabled && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Hotkeys__WEBPACK_IMPORTED_MODULE_12__["default"], { + history: this.props.history, + "data-qa-node": "Hotkeys", + "data-qa-file": "App" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_ContextMenu__WEBPACK_IMPORTED_MODULE_8__["default"], { + "data-qa-node": "ContextMenu", + "data-qa-file": "App" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Dragger__WEBPACK_IMPORTED_MODULE_9__["default"], { + "data-qa-node": "Dragger", + "data-qa-file": "App" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Notifications__WEBPACK_IMPORTED_MODULE_10__["default"], { + "data-qa-node": "Notifications", + "data-qa-file": "App" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Stream__WEBPACK_IMPORTED_MODULE_15__["default"], { + "data-qa-node": "Stream", + "data-qa-file": "App" + }), this.props.debug_info ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_DebugInfo__WEBPACK_IMPORTED_MODULE_13__["default"], { + "data-qa-node": "DebugInfo", + "data-qa-file": "App" + }) : null); } }]); return App; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); var mapStateToProps = function mapStateToProps(state, ownProps) { return { @@ -84855,18 +85179,18 @@ var mapStateToProps = function mapStateToProps(state, ownProps) { var mapDispatchToProps = function mapDispatchToProps(dispatch) { return { - coreActions: (0, _redux.bindActionCreators)(coreActions, dispatch), - uiActions: (0, _redux.bindActionCreators)(uiActions, dispatch), - pusherActions: (0, _redux.bindActionCreators)(pusherActions, dispatch), - mopidyActions: (0, _redux.bindActionCreators)(mopidyActions, dispatch), - spotifyActions: (0, _redux.bindActionCreators)(spotifyActions, dispatch), - lastfmActions: (0, _redux.bindActionCreators)(lastfmActions, dispatch), - geniusActions: (0, _redux.bindActionCreators)(geniusActions, dispatch), - snapcastActions: (0, _redux.bindActionCreators)(snapcastActions, dispatch) + coreActions: Object(redux__WEBPACK_IMPORTED_MODULE_1__["bindActionCreators"])(_services_core_actions__WEBPACK_IMPORTED_MODULE_49__, dispatch), + uiActions: Object(redux__WEBPACK_IMPORTED_MODULE_1__["bindActionCreators"])(_services_ui_actions__WEBPACK_IMPORTED_MODULE_50__, dispatch), + pusherActions: Object(redux__WEBPACK_IMPORTED_MODULE_1__["bindActionCreators"])(_services_pusher_actions__WEBPACK_IMPORTED_MODULE_51__, dispatch), + mopidyActions: Object(redux__WEBPACK_IMPORTED_MODULE_1__["bindActionCreators"])(_services_mopidy_actions__WEBPACK_IMPORTED_MODULE_52__, dispatch), + spotifyActions: Object(redux__WEBPACK_IMPORTED_MODULE_1__["bindActionCreators"])(_services_spotify_actions__WEBPACK_IMPORTED_MODULE_53__, dispatch), + lastfmActions: Object(redux__WEBPACK_IMPORTED_MODULE_1__["bindActionCreators"])(_services_lastfm_actions__WEBPACK_IMPORTED_MODULE_54__, dispatch), + geniusActions: Object(redux__WEBPACK_IMPORTED_MODULE_1__["bindActionCreators"])(_services_genius_actions__WEBPACK_IMPORTED_MODULE_55__, dispatch), + snapcastActions: Object(redux__WEBPACK_IMPORTED_MODULE_1__["bindActionCreators"])(_services_snapcast_actions__WEBPACK_IMPORTED_MODULE_56__, dispatch) }; }; -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(App); +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_3__["connect"])(mapStateToProps, mapDispatchToProps)(App)); /***/ }), @@ -84874,67 +85198,65 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)( /*!****************************************!*\ !*** ./src/js/components/AlbumGrid.js ***! \****************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); - -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); - -var _actions = __webpack_require__(/*! ../services/ui/actions */ "./src/js/services/ui/actions.js"); - -var uiActions = _interopRequireWildcard(_actions); - -var _actions2 = __webpack_require__(/*! ../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); - -var mopidyActions = _interopRequireWildcard(_actions2); - -var _actions3 = __webpack_require__(/*! ../services/lastfm/actions */ "./src/js/services/lastfm/actions.js"); - -var lastfmActions = _interopRequireWildcard(_actions3); - -var _GridItem = __webpack_require__(/*! ./GridItem */ "./src/js/components/GridItem.js"); - -var _GridItem2 = _interopRequireDefault(_GridItem); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var _services_ui_actions__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../services/ui/actions */ "./src/js/services/ui/actions.js"); +/* harmony import */ var _services_mopidy_actions__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); +/* harmony import */ var _services_lastfm_actions__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../services/lastfm/actions */ "./src/js/services/lastfm/actions.js"); +/* harmony import */ var _GridItem__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./GridItem */ "./src/js/components/GridItem.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } -var AlbumGrid = function (_React$Component) { +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _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; } + + + + + + + + + +var AlbumGrid = /*#__PURE__*/function (_React$Component) { _inherits(AlbumGrid, _React$Component); - function AlbumGrid() { - var _ref; + var _super = _createSuper(AlbumGrid); - var _temp, _this, _ret; + function AlbumGrid() { + var _this; _classCallCheck(this, AlbumGrid); - for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } - return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = AlbumGrid.__proto__ || Object.getPrototypeOf(AlbumGrid)).call.apply(_ref, [this].concat(args))), _this), _this.handleContextMenu = function (e, item) { - var showContextMenu = _this.props.uiActions.showContextMenu; + _this = _super.call.apply(_super, [this].concat(args)); + _defineProperty(_assertThisInitialized(_this), "handleContextMenu", function (e, item) { + var showContextMenu = _this.props.uiActions.showContextMenu; e.preventDefault(); showContextMenu({ e: e, @@ -84943,7 +85265,9 @@ var AlbumGrid = function (_React$Component) { items: [item], tracklist_uri: item.uri }); - }, _this.render = function () { + }); + + _defineProperty(_assertThisInitialized(_this), "render", function () { var _this$props = _this.props, albums = _this$props.albums, className = _this$props.className, @@ -84951,32 +85275,33 @@ var AlbumGrid = function (_React$Component) { lastfmActions = _this$props.lastfmActions, mopidyActions = _this$props.mopidyActions, show_source_icon = _this$props.show_source_icon; - - if (!albums) return null; + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "grid grid--albums ".concat(className, " ").concat(mini ? ' grid--mini' : ''), + "data-qa-node": "div", + "data-qa-file": "AlbumGrid" + }, albums.map(function (album) { + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_GridItem__WEBPACK_IMPORTED_MODULE_6__["default"], { + key: album.uri, + type: "album", + item: album, + lastfmActions: lastfmActions, + mopidyActions: mopidyActions, + show_source_icon: show_source_icon, + onContextMenu: function onContextMenu(e) { + return _this.handleContextMenu(e, album); + }, + "data-qa-node": "GridItem", + "data-qa-file": "AlbumGrid" + }); + })); + }); - return _react2.default.createElement( - 'div', - { className: 'grid grid--albums ' + className + ' ' + (mini ? ' grid--mini' : '') }, - albums.map(function (album) { - return _react2.default.createElement(_GridItem2.default, { - key: album.uri, - type: 'album', - item: album, - lastfmActions: lastfmActions, - mopidyActions: mopidyActions, - show_source_icon: show_source_icon, - onContextMenu: function onContextMenu(e) { - return _this.handleContextMenu(e, album); - } - }); - }) - ); - }, _temp), _possibleConstructorReturn(_this, _ret); + return _this; } return AlbumGrid; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); var mapStateToProps = function mapStateToProps(state) { return { @@ -84986,13 +85311,13 @@ var mapStateToProps = function mapStateToProps(state) { var mapDispatchToProps = function mapDispatchToProps(dispatch) { return { - uiActions: (0, _redux.bindActionCreators)(uiActions, dispatch), - lastfmActions: (0, _redux.bindActionCreators)(lastfmActions, dispatch), - mopidyActions: (0, _redux.bindActionCreators)(mopidyActions, dispatch) + uiActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_ui_actions__WEBPACK_IMPORTED_MODULE_3__, dispatch), + lastfmActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_lastfm_actions__WEBPACK_IMPORTED_MODULE_5__, dispatch), + mopidyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_mopidy_actions__WEBPACK_IMPORTED_MODULE_4__, dispatch) }; }; -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(AlbumGrid); +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapStateToProps, mapDispatchToProps)(AlbumGrid)); /***/ }), @@ -85000,69 +85325,67 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)( /*!*****************************************!*\ !*** ./src/js/components/ArtistGrid.js ***! \*****************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); - -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); - -var _GridItem = __webpack_require__(/*! ./GridItem */ "./src/js/components/GridItem.js"); - -var _GridItem2 = _interopRequireDefault(_GridItem); - -var _format = __webpack_require__(/*! ../util/format */ "./src/js/util/format.js"); - -var _actions = __webpack_require__(/*! ../services/ui/actions */ "./src/js/services/ui/actions.js"); - -var uiActions = _interopRequireWildcard(_actions); - -var _actions2 = __webpack_require__(/*! ../services/lastfm/actions */ "./src/js/services/lastfm/actions.js"); - -var lastfmActions = _interopRequireWildcard(_actions2); - -var _actions3 = __webpack_require__(/*! ../services/spotify/actions */ "./src/js/services/spotify/actions.js"); - -var spotifyActions = _interopRequireWildcard(_actions3); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var _GridItem__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./GridItem */ "./src/js/components/GridItem.js"); +/* harmony import */ var _util_format__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../util/format */ "./src/js/util/format.js"); +/* harmony import */ var _services_ui_actions__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../services/ui/actions */ "./src/js/services/ui/actions.js"); +/* harmony import */ var _services_lastfm_actions__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../services/lastfm/actions */ "./src/js/services/lastfm/actions.js"); +/* harmony import */ var _services_spotify_actions__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../services/spotify/actions */ "./src/js/services/spotify/actions.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } -var ArtistGrid = function (_React$Component) { +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _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; } + + + + + + + + + + +var ArtistGrid = /*#__PURE__*/function (_React$Component) { _inherits(ArtistGrid, _React$Component); - function ArtistGrid() { - var _ref; + var _super = _createSuper(ArtistGrid); - var _temp, _this, _ret; + function ArtistGrid() { + var _this; _classCallCheck(this, ArtistGrid); - for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } - return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = ArtistGrid.__proto__ || Object.getPrototypeOf(ArtistGrid)).call.apply(_ref, [this].concat(args))), _this), _this.handleContextMenu = function (e, item) { - var showContextMenu = _this.props.uiActions.showContextMenu; + _this = _super.call.apply(_super, [this].concat(args)); + _defineProperty(_assertThisInitialized(_this), "handleContextMenu", function (e, item) { + var showContextMenu = _this.props.uiActions.showContextMenu; e.preventDefault(); showContextMenu({ e: e, @@ -85070,7 +85393,9 @@ var ArtistGrid = function (_React$Component) { uris: [item.uri], items: [item] }); - }, _this.render = function () { + }); + + _defineProperty(_assertThisInitialized(_this), "render", function () { var _this$props = _this.props, artists = _this$props.artists, albums = _this$props.albums, @@ -85082,37 +85407,40 @@ var ArtistGrid = function (_React$Component) { spotifyActions = _this$props.spotifyActions, spotifyAvailable = _this$props.spotifyAvailable, lastfmActions = _this$props.lastfmActions; - - if (!artists) return null; + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "grid grid--artists ".concat(className, " ").concat(mini ? 'grid--mini' : ''), + "data-qa-node": "div", + "data-qa-file": "ArtistGrid" + }, artists.map(function (item) { + var artist = Object(_util_format__WEBPACK_IMPORTED_MODULE_4__["collate"])(item, { + albums: albums + }); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_GridItem__WEBPACK_IMPORTED_MODULE_3__["default"], { + key: artist.uri, + type: "artist", + item: artist, + show_source_icon: show_source_icon, + onClick: function onClick() { + history.push("/artist/".concat(encodeURIComponent(artist.uri))); + }, + lastfmActions: lastfmActions, + spotifyActions: spotifyActions, + spotifyAvailable: spotifyAvailable, + onContextMenu: function onContextMenu(e) { + return _this.handleContextMenu(e, artist); + }, + "data-qa-node": "GridItem", + "data-qa-file": "ArtistGrid" + }); + })); + }); - return _react2.default.createElement( - 'div', - { className: 'grid grid--artists ' + className + ' ' + (mini ? 'grid--mini' : '') }, - artists.map(function (item) { - var artist = (0, _format.collate)(item, { albums: albums }); - return _react2.default.createElement(_GridItem2.default, { - key: artist.uri, - type: 'artist', - item: artist, - show_source_icon: show_source_icon, - onClick: function onClick() { - history.push('/artist/' + encodeURIComponent(artist.uri)); - }, - lastfmActions: lastfmActions, - spotifyActions: spotifyActions, - spotifyAvailable: spotifyAvailable, - onContextMenu: function onContextMenu(e) { - return _this.handleContextMenu(e, artist); - } - }); - }) - ); - }, _temp), _possibleConstructorReturn(_this, _ret); + return _this; } return ArtistGrid; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); var mapStateToProps = function mapStateToProps(state, ownProps) { return { @@ -85123,13 +85451,13 @@ var mapStateToProps = function mapStateToProps(state, ownProps) { var mapDispatchToProps = function mapDispatchToProps(dispatch) { return { - uiActions: (0, _redux.bindActionCreators)(uiActions, dispatch), - lastfmActions: (0, _redux.bindActionCreators)(lastfmActions, dispatch), - spotifyActions: (0, _redux.bindActionCreators)(spotifyActions, dispatch) + uiActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_ui_actions__WEBPACK_IMPORTED_MODULE_5__, dispatch), + lastfmActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_lastfm_actions__WEBPACK_IMPORTED_MODULE_6__, dispatch), + spotifyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_spotify_actions__WEBPACK_IMPORTED_MODULE_7__, dispatch) }; }; -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(ArtistGrid); +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapStateToProps, mapDispatchToProps)(ArtistGrid)); /***/ }), @@ -85137,46 +85465,36 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)( /*!*******************************************!*\ !*** ./src/js/components/CategoryGrid.js ***! \*******************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _GridItem__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./GridItem */ "./src/js/components/GridItem.js"); -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _GridItem = __webpack_require__(/*! ./GridItem */ "./src/js/components/GridItem.js"); - -var _GridItem2 = _interopRequireDefault(_GridItem); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -exports.default = (0, _react.memo)(function (_ref) { +/* harmony default export */ __webpack_exports__["default"] = (/*#__PURE__*/Object(react__WEBPACK_IMPORTED_MODULE_0__["memo"])(function (_ref) { var categories = _ref.categories, className = _ref.className, mini = _ref.mini; - if (!categories) return null; - - return _react2.default.createElement( - 'div', - { className: 'grid grid--tiles ' + className + ' ' + (mini ? 'grid--mini' : '') }, - categories.map(function (category) { - return _react2.default.createElement(_GridItem2.default, { - key: category.id, - type: 'category', - item: category, - link: '/discover/categories/' + encodeURIComponent(category.id) - }); - }) - ); -}); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "grid grid--tiles ".concat(className, " ").concat(mini ? 'grid--mini' : ''), + "data-qa-node": "div", + "data-qa-file": "CategoryGrid" + }, categories.map(function (category) { + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_GridItem__WEBPACK_IMPORTED_MODULE_1__["default"], { + key: category.id, + type: "category", + item: category, + link: "/discover/categories/".concat(encodeURIComponent(category.id)), + "data-qa-node": "GridItem", + "data-qa-file": "CategoryGrid" + }); + })); +})); /***/ }), @@ -85184,105 +85502,96 @@ exports.default = (0, _react.memo)(function (_ref) { /*!******************************************!*\ !*** ./src/js/components/ContextMenu.js ***! \******************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* WEBPACK VAR INJECTION */(function($) { - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); - -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); - -var _reactRouter = __webpack_require__(/*! react-router */ "./node_modules/react-router/esm/react-router.js"); - -var _helpers = __webpack_require__(/*! ../util/helpers */ "./src/js/util/helpers.js"); - -var _arrays = __webpack_require__(/*! ../util/arrays */ "./src/js/util/arrays.js"); - -var _Link = __webpack_require__(/*! ./Link */ "./src/js/components/Link.js"); - -var _Link2 = _interopRequireDefault(_Link); - -var _Icon = __webpack_require__(/*! ./Icon */ "./src/js/components/Icon.js"); - -var _Icon2 = _interopRequireDefault(_Icon); - -var _Loader = __webpack_require__(/*! ./Loader */ "./src/js/components/Loader.js"); - -var _Loader2 = _interopRequireDefault(_Loader); - -var _URILink = __webpack_require__(/*! ./URILink */ "./src/js/components/URILink.js"); - -var _URILink2 = _interopRequireDefault(_URILink); - -var _actions = __webpack_require__(/*! ../services/core/actions */ "./src/js/services/core/actions.js"); - -var coreActions = _interopRequireWildcard(_actions); - -var _actions2 = __webpack_require__(/*! ../services/ui/actions */ "./src/js/services/ui/actions.js"); - -var uiActions = _interopRequireWildcard(_actions2); - -var _actions3 = __webpack_require__(/*! ../services/pusher/actions */ "./src/js/services/pusher/actions.js"); - -var pusherActions = _interopRequireWildcard(_actions3); - -var _actions4 = __webpack_require__(/*! ../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); - -var mopidyActions = _interopRequireWildcard(_actions4); - -var _actions5 = __webpack_require__(/*! ../services/lastfm/actions */ "./src/js/services/lastfm/actions.js"); - -var lastfmActions = _interopRequireWildcard(_actions5); - -var _actions6 = __webpack_require__(/*! ../services/spotify/actions */ "./src/js/services/spotify/actions.js"); - -var spotifyActions = _interopRequireWildcard(_actions6); - -var _locale = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js"); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +__webpack_require__.r(__webpack_exports__); +/* WEBPACK VAR INJECTION */(function($) {/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var react_router__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-router */ "./node_modules/react-router/esm/react-router.js"); +/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../util/helpers */ "./src/js/util/helpers.js"); +/* harmony import */ var _util_arrays__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../util/arrays */ "./src/js/util/arrays.js"); +/* harmony import */ var _Link__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Link */ "./src/js/components/Link.js"); +/* harmony import */ var _Icon__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Icon */ "./src/js/components/Icon.js"); +/* harmony import */ var _Loader__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Loader */ "./src/js/components/Loader.js"); +/* harmony import */ var _URILink__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./URILink */ "./src/js/components/URILink.js"); +/* harmony import */ var _services_core_actions__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../services/core/actions */ "./src/js/services/core/actions.js"); +/* harmony import */ var _services_ui_actions__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../services/ui/actions */ "./src/js/services/ui/actions.js"); +/* harmony import */ var _services_pusher_actions__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../services/pusher/actions */ "./src/js/services/pusher/actions.js"); +/* harmony import */ var _services_mopidy_actions__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); +/* harmony import */ var _services_lastfm_actions__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../services/lastfm/actions */ "./src/js/services/lastfm/actions.js"); +/* harmony import */ var _services_spotify_actions__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../services/spotify/actions */ "./src/js/services/spotify/actions.js"); +/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -var ContextMenu = function (_React$Component) { +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _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; } + + + + + + + + + + + + + + + + + + + +var ContextMenu = /*#__PURE__*/function (_React$Component) { _inherits(ContextMenu, _React$Component); + var _super = _createSuper(ContextMenu); + function ContextMenu(props) { + var _this; + _classCallCheck(this, ContextMenu); - var _this = _possibleConstructorReturn(this, (ContextMenu.__proto__ || Object.getPrototypeOf(ContextMenu)).call(this, props)); + _this = _super.call(this, props); - _this.componentDidMount = function () { + _defineProperty(_assertThisInitialized(_this), "componentDidMount", function () { window.addEventListener('scroll', _this.handleScroll, false); window.addEventListener('mousedown', _this.handleMouseDown, false); window.addEventListener('touchstart', _this.handleTouchStart, false); - }; + }); - _this.componentWillUnmount = function () { + _defineProperty(_assertThisInitialized(_this), "componentWillUnmount", function () { window.removeEventListener('scroll', _this.handleScroll, false); window.removeEventListener('mousedown', _this.handleMouseDown, false); window.removeEventListener('touchstart', _this.handleTouchStart, false); - }; + }); - _this.componentDidUpdate = function (prevProps) { + _defineProperty(_assertThisInitialized(_this), "componentDidUpdate", function (prevProps) { var prevMenu = prevProps.menu, prevTracks = prevProps.tracks; var _this$props = _this.props, @@ -85291,16 +85600,16 @@ var ContextMenu = function (_React$Component) { lastfm_authorized = _this$props.lastfm_authorized, spotify_available = _this$props.spotify_available, spotifyActions = _this$props.spotifyActions, - lastfmActions = _this$props.lastfmActions; - - // if we've been given a menu object (ie activated) when we didn't have one prior + lastfmActions = _this$props.lastfmActions; // if we've been given a menu object (ie activated) when we didn't have one prior if (!prevMenu && menu) { - _this.setState({ submenu: null }); + _this.setState({ + submenu: null + }); + + var context = _this.getContext(_this.props); // if we're able to be in the library, run a check - var context = _this.getContext(_this.props); - // if we're able to be in the library, run a check if (spotify_available && context.source === 'spotify') { switch (menu.context) { case 'artist': @@ -85313,52 +85622,49 @@ var ContextMenu = function (_React$Component) { case 'queue-track': spotifyActions.following(menu.items[0].uri); break; + default: break; } - } + } // if we're able to be in the LastFM library, run a check + - // if we're able to be in the LastFM library, run a check if (lastfm_authorized && context.is_track && context.items_count == 1) { if (menu.items[0].uri && prevTracks[menu.items[0].uri] !== undefined && tracks[menu.items[0].uri].userloved === undefined) { lastfmActions.getTrack(menu.items[0].uri); } } } - }; + }); - _this.handleScroll = function () { + _defineProperty(_assertThisInitialized(_this), "handleScroll", function () { var _this$props2 = _this.props, menu = _this$props2.menu, hideContextMenu = _this$props2.uiActions.hideContextMenu; - - if (menu) hideContextMenu(); - }; + }); - _this.handleMouseDown = function (e) { + _defineProperty(_assertThisInitialized(_this), "handleMouseDown", function (e) { var _this$props3 = _this.props, menu = _this$props3.menu, hideContextMenu = _this$props3.uiActions.hideContextMenu; - if (menu && $(e.target).closest('.context-menu').length <= 0 && $(e.target).closest('.context-menu-trigger').length <= 0) { hideContextMenu(); } - }; + }); - _this.handleTouchStart = function (e) { + _defineProperty(_assertThisInitialized(_this), "handleTouchStart", function (e) { var _this$props4 = _this.props, menu = _this$props4.menu, hideContextMenu = _this$props4.uiActions.hideContextMenu; - if (menu && $(e.target).closest('.context-menu').length <= 0 && $(e.target).closest('.context-menu-trigger').length <= 0) { hideContextMenu(); } - }; + }); - _this.inLibrary = function () { + _defineProperty(_assertThisInitialized(_this), "inLibrary", function () { var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, uri = _ref.uri; @@ -85367,336 +85673,299 @@ var ContextMenu = function (_React$Component) { spotify_library_albums = _this$props5.spotify_library_albums, spotify_library_playlists = _this$props5.spotify_library_playlists, spotify_library_tracks = _this$props5.spotify_library_tracks; - if (!uri) return false; - switch ((0, _helpers.uriType)(uri)) { + switch (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_4__["uriType"])(uri)) { case 'artist': return spotify_library_artists && spotify_library_artists.indexOf(uri) > -1; + case 'album': return spotify_library_albums && spotify_library_albums.indexOf(uri) > -1; + case 'playlist': return spotify_library_playlists && spotify_library_playlists.indexOf(uri) > -1; + case 'track': return spotify_library_tracks && spotify_library_tracks.indexOf(uri) > -1; + default: return false; } - }; + }); - _this.isLoved = function () { + _defineProperty(_assertThisInitialized(_this), "isLoved", function () { var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, uri = _ref2.uri; var tracks = _this.props.tracks; - - if (!uri) return false; if (tracks[uri] === undefined) return false; - var track = tracks[uri]; return track.userloved !== undefined && track.userloved == '1'; - }; + }); - _this.canBeInLibrary = function () { + _defineProperty(_assertThisInitialized(_this), "canBeInLibrary", function () { var _this$props6 = _this.props, spotify_available = _this$props6.spotify_available, items = _this$props6.menu.items; - if (!spotify_available) return false; - return (0, _helpers.uriSource)(items[0].uri) === 'spotify'; - }; + return Object(_util_helpers__WEBPACK_IMPORTED_MODULE_4__["uriSource"])(items[0].uri) === 'spotify'; + }); - _this.toggleInLibrary = function (e, in_library) { + _defineProperty(_assertThisInitialized(_this), "toggleInLibrary", function (e, in_library) { var _this$props7 = _this.props, hideContextMenu = _this$props7.uiActions.hideContextMenu, following = _this$props7.spotifyActions.following, _this$props7$menu = _this$props7.menu; - _this$props7$menu = _this$props7$menu === undefined ? {} : _this$props7$menu; + _this$props7$menu = _this$props7$menu === void 0 ? {} : _this$props7$menu; var items = _this$props7$menu.items; - - hideContextMenu(); + if (in_library) { following(items[0].uri, 'DELETE'); } else { following(items[0].uri, 'PUT'); } - }; + }); - _this.playQueueItem = function () { + _defineProperty(_assertThisInitialized(_this), "playQueueItem", function () { var _this$props8 = _this.props, hideContextMenu = _this$props8.uiActions.hideContextMenu, changeTrack = _this$props8.mopidyActions.changeTrack, _this$props8$menu = _this$props8.menu; - _this$props8$menu = _this$props8$menu === undefined ? {} : _this$props8$menu; + _this$props8$menu = _this$props8$menu === void 0 ? {} : _this$props8$menu; var items = _this$props8$menu.items; - - hideContextMenu(); changeTrack(items[0].tlid); - }; + }); - _this.removeFromQueue = function () { + _defineProperty(_assertThisInitialized(_this), "removeFromQueue", function () { var _this$props9 = _this.props, hideContextMenu = _this$props9.uiActions.hideContextMenu, removeTracks = _this$props9.mopidyActions.removeTracks, _this$props9$menu = _this$props9.menu; - _this$props9$menu = _this$props9$menu === undefined ? {} : _this$props9$menu; + _this$props9$menu = _this$props9$menu === void 0 ? {} : _this$props9$menu; var items = _this$props9$menu.items; - - hideContextMenu(); - removeTracks((0, _arrays.arrayOf)('tlid', items)); - }; + removeTracks(Object(_util_arrays__WEBPACK_IMPORTED_MODULE_5__["arrayOf"])('tlid', items)); + }); - _this.playURIs = function () { + _defineProperty(_assertThisInitialized(_this), "playURIs", function () { var _this$props10 = _this.props, hideContextMenu = _this$props10.uiActions.hideContextMenu, playURIs = _this$props10.mopidyActions.playURIs, _this$props10$menu = _this$props10.menu; - _this$props10$menu = _this$props10$menu === undefined ? {} : _this$props10$menu; + _this$props10$menu = _this$props10$menu === void 0 ? {} : _this$props10$menu; var uris = _this$props10$menu.uris, tracklist_uri = _this$props10$menu.tracklist_uri; - - hideContextMenu(); playURIs(uris, tracklist_uri); - }; + }); - _this.playPlaylist = function () { + _defineProperty(_assertThisInitialized(_this), "playPlaylist", function () { var _this$props11 = _this.props, hideContextMenu = _this$props11.uiActions.hideContextMenu, playPlaylist = _this$props11.mopidyActions.playPlaylist, _this$props11$menu = _this$props11.menu; - _this$props11$menu = _this$props11$menu === undefined ? {} : _this$props11$menu; + _this$props11$menu = _this$props11$menu === void 0 ? {} : _this$props11$menu; var uris = _this$props11$menu.uris; - - hideContextMenu(); playPlaylist(uris[0]); - }; + }); - _this.enqueuePlaylist = function (e) { + _defineProperty(_assertThisInitialized(_this), "enqueuePlaylist", function (e) { var play_next = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; var _this$props12 = _this.props, hideContextMenu = _this$props12.uiActions.hideContextMenu, enqueuePlaylist = _this$props12.mopidyActions.enqueuePlaylist, _this$props12$menu = _this$props12.menu; - _this$props12$menu = _this$props12$menu === undefined ? {} : _this$props12$menu; + _this$props12$menu = _this$props12$menu === void 0 ? {} : _this$props12$menu; var uris = _this$props12$menu.uris; - - hideContextMenu(); enqueuePlaylist(uris[0], play_next); - }; + }); - _this.shufflePlayPlaylist = function () { + _defineProperty(_assertThisInitialized(_this), "shufflePlayPlaylist", function () { var _this$props13 = _this.props, hideContextMenu = _this$props13.uiActions.hideContextMenu, playPlaylist = _this$props13.mopidyActions.playPlaylist, _this$props13$menu = _this$props13.menu; - _this$props13$menu = _this$props13$menu === undefined ? {} : _this$props13$menu; + _this$props13$menu = _this$props13$menu === void 0 ? {} : _this$props13$menu; var uris = _this$props13$menu.uris; - - hideContextMenu(); playPlaylist(uris[0], true); - }; + }); - _this.playArtistTopTracks = function () { + _defineProperty(_assertThisInitialized(_this), "playArtistTopTracks", function () { var _this$props14 = _this.props, hideContextMenu = _this$props14.uiActions.hideContextMenu, playArtistTopTracks = _this$props14.spotifyActions.playArtistTopTracks, _this$props14$menu = _this$props14.menu; - _this$props14$menu = _this$props14$menu === undefined ? {} : _this$props14$menu; + _this$props14$menu = _this$props14$menu === void 0 ? {} : _this$props14$menu; var uris = _this$props14$menu.uris; - - hideContextMenu(); playArtistTopTracks(uris[0]); - }; + }); - _this.addToQueue = function (e) { + _defineProperty(_assertThisInitialized(_this), "addToQueue", function (e) { var play_next = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; var _this$props15 = _this.props, hideContextMenu = _this$props15.uiActions.hideContextMenu, enqueueURIs = _this$props15.mopidyActions.enqueueURIs, _this$props15$menu = _this$props15.menu; - _this$props15$menu = _this$props15$menu === undefined ? {} : _this$props15$menu; + _this$props15$menu = _this$props15$menu === void 0 ? {} : _this$props15$menu; var uris = _this$props15$menu.uris, tracklist_uri = _this$props15$menu.tracklist_uri; - - hideContextMenu(); enqueueURIs(uris, tracklist_uri, play_next); - }; + }); - _this.addTracksToPlaylist = function (e, playlist_uri) { + _defineProperty(_assertThisInitialized(_this), "addTracksToPlaylist", function (e, playlist_uri) { var _this$props16 = _this.props, hideContextMenu = _this$props16.uiActions.hideContextMenu, addTracksToPlaylist = _this$props16.coreActions.addTracksToPlaylist, _this$props16$menu = _this$props16.menu; - _this$props16$menu = _this$props16$menu === undefined ? {} : _this$props16$menu; + _this$props16$menu = _this$props16$menu === void 0 ? {} : _this$props16$menu; var uris = _this$props16$menu.uris; - - hideContextMenu(); addTracksToPlaylist(playlist_uri, uris); - }; + }); - _this.toggleLoved = function (e, is_loved) { + _defineProperty(_assertThisInitialized(_this), "toggleLoved", function (e, is_loved) { var _this$props17 = _this.props, hideContextMenu = _this$props17.uiActions.hideContextMenu, _this$props17$lastfmA = _this$props17.lastfmActions, unloveTrack = _this$props17$lastfmA.unloveTrack, loveTrack = _this$props17$lastfmA.loveTrack, _this$props17$menu = _this$props17.menu; - _this$props17$menu = _this$props17$menu === undefined ? {} : _this$props17$menu; + _this$props17$menu = _this$props17$menu === void 0 ? {} : _this$props17$menu; var uris = _this$props17$menu.uris; - - hideContextMenu(); + if (is_loved) { unloveTrack(uris[0]); } else { loveTrack(uris[0]); } - }; + }); - _this.unloveTrack = function () { + _defineProperty(_assertThisInitialized(_this), "unloveTrack", function () { var _this$props18 = _this.props, hideContextMenu = _this$props18.uiActions.hideContextMenu, unloveTrack = _this$props18.lastfmActions.unloveTrack, _this$props18$menu = _this$props18.menu; - _this$props18$menu = _this$props18$menu === undefined ? {} : _this$props18$menu; + _this$props18$menu = _this$props18$menu === void 0 ? {} : _this$props18$menu; var items = _this$props18$menu.items; - - hideContextMenu(); unloveTrack(items[0]); - }; + }); - _this.removeFromPlaylist = function () { + _defineProperty(_assertThisInitialized(_this), "removeFromPlaylist", function () { var _this$props19 = _this.props, hideContextMenu = _this$props19.uiActions.hideContextMenu, removeTracksFromPlaylist = _this$props19.coreActions.removeTracksFromPlaylist, _this$props19$menu = _this$props19.menu; - _this$props19$menu = _this$props19$menu === undefined ? {} : _this$props19$menu; + _this$props19$menu = _this$props19$menu === void 0 ? {} : _this$props19$menu; var tracklist_uri = _this$props19$menu.tracklist_uri, indexes = _this$props19$menu.indexes; - - hideContextMenu(); removeTracksFromPlaylist(tracklist_uri, indexes); - }; + }); - _this.deletePlaylist = function () { + _defineProperty(_assertThisInitialized(_this), "deletePlaylist", function () { var _this$props20 = _this.props, hideContextMenu = _this$props20.uiActions.hideContextMenu, deletePlaylist = _this$props20.coreActions.deletePlaylist, _this$props20$menu = _this$props20.menu; - _this$props20$menu = _this$props20$menu === undefined ? {} : _this$props20$menu; + _this$props20$menu = _this$props20$menu === void 0 ? {} : _this$props20$menu; var uris = _this$props20$menu.uris; - - hideContextMenu(); deletePlaylist(uris[0]); - }; + }); - _this.startRadio = function () { + _defineProperty(_assertThisInitialized(_this), "startRadio", function () { var _this$props21 = _this.props, hideContextMenu = _this$props21.uiActions.hideContextMenu, startRadio = _this$props21.pusherActions.startRadio, _this$props21$menu = _this$props21.menu; - _this$props21$menu = _this$props21$menu === undefined ? {} : _this$props21$menu; + _this$props21$menu = _this$props21$menu === void 0 ? {} : _this$props21$menu; var uris = _this$props21$menu.uris; - - hideContextMenu(); startRadio(uris); - }; + }); - _this.goToRecommendations = function () { + _defineProperty(_assertThisInitialized(_this), "goToRecommendations", function () { var _this$props22 = _this.props, hideContextMenu = _this$props22.uiActions.hideContextMenu, _this$props22$menu = _this$props22.menu; - _this$props22$menu = _this$props22$menu === undefined ? {} : _this$props22$menu; + _this$props22$menu = _this$props22$menu === void 0 ? {} : _this$props22$menu; var items = _this$props22$menu.items, push = _this$props22.history.push; - - hideContextMenu(); - push('/discover/recommendations/' + (0, _arrays.arrayOf)('uri', items).join(',')); - }; + push("/discover/recommendations/".concat(Object(_util_arrays__WEBPACK_IMPORTED_MODULE_5__["arrayOf"])('uri', items).join(','))); + }); - _this.goToArtist = function () { + _defineProperty(_assertThisInitialized(_this), "goToArtist", function () { var _this$props23 = _this.props, hideContextMenu = _this$props23.uiActions.hideContextMenu, _this$props23$menu = _this$props23.menu; - _this$props23$menu = _this$props23$menu === undefined ? {} : _this$props23$menu; + _this$props23$menu = _this$props23$menu === void 0 ? {} : _this$props23$menu; var items = _this$props23$menu.items, push = _this$props23.history.push; - if (!items || items.length <= 0 || !items[0].artists_uris || items[0].artists_uris.length <= 0) { return null; } - hideContextMenu(); - // note: we can only go to one artist (even if this item has multiple artists, just go to the first one) - push((0, _helpers.buildLink)(items[0].artists_uris[0])); - }; + hideContextMenu(); // note: we can only go to one artist (even if this item has multiple artists, just go to the first one) - _this.goToUser = function () { + push(Object(_util_helpers__WEBPACK_IMPORTED_MODULE_4__["buildLink"])(items[0].artists_uris[0])); + }); + + _defineProperty(_assertThisInitialized(_this), "goToUser", function () { var _this$props24 = _this.props, hideContextMenu = _this$props24.uiActions.hideContextMenu, _this$props24$menu = _this$props24.menu; - _this$props24$menu = _this$props24$menu === undefined ? {} : _this$props24$menu; + _this$props24$menu = _this$props24$menu === void 0 ? {} : _this$props24$menu; var items = _this$props24$menu.items, push = _this$props24.history.push; - - if (!items || items.length <= 0 || !items[0].user_uri) return null; hideContextMenu(); - push((0, _helpers.buildLink)(items[0].user_uri)); - }; + push(Object(_util_helpers__WEBPACK_IMPORTED_MODULE_4__["buildLink"])(items[0].user_uri)); + }); - _this.goToTrack = function () { + _defineProperty(_assertThisInitialized(_this), "goToTrack", function () { var _this$props25 = _this.props, hideContextMenu = _this$props25.uiActions.hideContextMenu, _this$props25$menu = _this$props25.menu; - _this$props25$menu = _this$props25$menu === undefined ? {} : _this$props25$menu; + _this$props25$menu = _this$props25$menu === void 0 ? {} : _this$props25$menu; var uris = _this$props25$menu.uris, push = _this$props25.history.push; - - if (!uris) return null; hideContextMenu(); - push((0, _helpers.buildLink)(uris[0])); - }; + push(Object(_util_helpers__WEBPACK_IMPORTED_MODULE_4__["buildLink"])(uris[0])); + }); - _this.copyURIs = function () { + _defineProperty(_assertThisInitialized(_this), "copyURIs", function () { var _this$props26 = _this.props, _this$props26$uiActio = _this$props26.uiActions, hideContextMenu = _this$props26$uiActio.hideContextMenu, createNotification = _this$props26$uiActio.createNotification, _this$props26$menu = _this$props26.menu; - _this$props26$menu = _this$props26$menu === undefined ? {} : _this$props26$menu; + _this$props26$menu = _this$props26$menu === void 0 ? {} : _this$props26$menu; var uris = _this$props26$menu.uris; - - var temp = $(''); $('body').append(temp); temp.val(uris.join(',')).select(); document.execCommand('copy'); temp.remove(); - - createNotification({ content: 'Copied ' + uris.length + ' URIs' }); + createNotification({ + content: "Copied ".concat(uris.length, " URIs") + }); hideContextMenu(); - }; + }); - _this.renderTitle = function () { + _defineProperty(_assertThisInitialized(_this), "renderTitle", function () { var _this$props27 = _this.props, _this$props27$uiActio = _this$props27.uiActions, hideContextMenu = _this$props27$uiActio.hideContextMenu, @@ -85704,103 +85973,121 @@ var ContextMenu = function (_React$Component) { queue_metadata = _this$props27.queue_metadata, title = _this$props27.menu.title; - var context = _this.getContext(); if (context.items_count > 1) { - return _react2.default.createElement( - 'div', - { className: 'context-menu__title' }, - _react2.default.createElement( - 'div', - { className: 'context-menu__title__text' }, - context.items_count + ' ' + context.nice_name + (context.items_count > 1 ? 's' : '') + ' selected', - _react2.default.createElement( - 'span', - { - className: 'context-menu__title__deselect', - onClick: function onClick() { - setSelectedTracks([]); - hideContextMenu(); - } }, - _react2.default.createElement(_Icon2.default, { name: 'close' }) - ) - ) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "context-menu__title", + "data-qa-node": "div", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "context-menu__title__text", + "data-qa-node": "div", + "data-qa-file": "ContextMenu" + }, "".concat(context.items_count, " ").concat(context.nice_name).concat(context.items_count > 1 ? 's' : '', " selected"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "context-menu__title__deselect", + onClick: function onClick() { + setSelectedTracks([]); + hideContextMenu(); + }, + "data-qa-node": "span", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_7__["default"], { + name: "close", + "data-qa-node": "Icon", + "data-qa-file": "ContextMenu" + })))); } if (context.items_count === 1 && context.name === 'queue-track' && context.item !== undefined) { - if (queue_metadata['tlid_' + context.item.tlid] !== undefined) { - var metadata = queue_metadata['tlid_' + context.item.tlid]; + if (queue_metadata["tlid_".concat(context.item.tlid)] !== undefined) { + var metadata = queue_metadata["tlid_".concat(context.item.tlid)]; if (metadata.added_from && metadata.added_by) { - var type = metadata.added_from ? (0, _helpers.uriType)(metadata.added_from) : null; + var type = metadata.added_from ? Object(_util_helpers__WEBPACK_IMPORTED_MODULE_4__["uriType"])(metadata.added_from) : null; switch (type) { case 'discover': - var link = _react2.default.createElement( - _URILink2.default, - { type: 'recommendations', uri: (0, _helpers.getFromUri)('seeds', metadata.added_from) }, - _react2.default.createElement(_locale.I18n, { path: 'discover.title', transform: 'lower' }) - ); + var link = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_URILink__WEBPACK_IMPORTED_MODULE_9__["default"], { + type: "recommendations", + uri: Object(_util_helpers__WEBPACK_IMPORTED_MODULE_4__["getFromUri"])('seeds', metadata.added_from), + "data-qa-node": "URILink", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_16__["I18n"], { + path: "discover.title", + transform: "lower", + "data-qa-node": "I18n", + "data-qa-file": "ContextMenu" + })); break; case 'browse': - var link = _react2.default.createElement( - _URILink2.default, - { type: 'browse', uri: metadata.added_from.replace('iris:browse:', '') }, - _react2.default.createElement(_locale.I18n, { path: 'library.browse.title', transform: 'lower' }) - ); + var link = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_URILink__WEBPACK_IMPORTED_MODULE_9__["default"], { + type: "browse", + uri: metadata.added_from.replace('iris:browse:', ''), + "data-qa-node": "URILink", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_16__["I18n"], { + path: "library.browse.title", + transform: "lower", + "data-qa-node": "I18n", + "data-qa-file": "ContextMenu" + })); break; case 'search': - var link = _react2.default.createElement( - _URILink2.default, - { type: 'search', uri: metadata.added_from.replace('iris:', '') }, - _react2.default.createElement(_locale.I18n, { path: 'search.title', transform: 'lower' }) - ); + var link = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_URILink__WEBPACK_IMPORTED_MODULE_9__["default"], { + type: "search", + uri: metadata.added_from.replace('iris:', ''), + "data-qa-node": "URILink", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_16__["I18n"], { + path: "search.title", + transform: "lower", + "data-qa-node": "I18n", + "data-qa-file": "ContextMenu" + })); break; default: - var link = _react2.default.createElement( - _URILink2.default, - { type: type, uri: metadata.added_from }, - type - ); + var link = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_URILink__WEBPACK_IMPORTED_MODULE_9__["default"], { + type: type, + uri: metadata.added_from, + "data-qa-node": "URILink", + "data-qa-file": "ContextMenu" + }, type); } - return _react2.default.createElement( - 'div', - { className: 'context-menu__title' }, - _react2.default.createElement( - 'div', - { className: 'context-menu__title__text' }, - metadata.added_by + ' added from ', - link - ) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "context-menu__title", + "data-qa-node": "div", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "context-menu__title__text", + "data-qa-node": "div", + "data-qa-file": "ContextMenu" + }, "".concat(metadata.added_by, " added from "), link)); } } } if (context.name === 'custom') { if (!title) return null; - - return _react2.default.createElement( - 'div', - { className: 'context-menu__title' }, - _react2.default.createElement( - 'div', - { className: 'context-menu__title__text' }, - title - ) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "context-menu__title", + "data-qa-node": "div", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "context-menu__title__text", + "data-qa-node": "div", + "data-qa-file": "ContextMenu" + }, title)); } return null; - }; + }); - _this.setSubmenu = function (name) { + _defineProperty(_assertThisInitialized(_this), "setSubmenu", function (name) { var submenu = _this.state.submenu; var _this$props28 = _this.props, spotify_available = _this$props28.spotify_available, @@ -85814,105 +86101,119 @@ var ContextMenu = function (_React$Component) { if (!mopidy_library_playlists_loaded_all) mopidyActions.getLibraryPlaylists(); } - _this.setState({ submenu: name }); - }; + _this.setState({ + submenu: name + }); + }); - _this.closeSubmenu = function () { - return _this.setState({ submenu: null }); - }; + _defineProperty(_assertThisInitialized(_this), "closeSubmenu", function () { + return _this.setState({ + submenu: null + }); + }); - _this.renderSubmenu = function () { + _defineProperty(_assertThisInitialized(_this), "renderSubmenu", function () { var submenu = _this.state.submenu; var _this$props29 = _this.props, playlistsIndex = _this$props29.playlists, processes = _this$props29.processes; - - var list = null; var isLoading = false; if (submenu === 'add-to-playlist') { - var playlists = (0, _arrays.indexToArray)(playlistsIndex); + var playlists = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_5__["indexToArray"])(playlistsIndex); playlists = playlists.filter(function (playlist) { return playlist.can_edit; }); - playlists = (0, _arrays.sortItems)(playlists, 'name'); + playlists = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_5__["sortItems"])(playlists, 'name'); if (processes.SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR && processes.SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR.status === 'running') { isLoading = true; } - list = _react2.default.createElement( - 'span', - { className: 'context-menu__item' }, - _react2.default.createElement( - 'span', - { className: 'context-menu__item mid_grey-text' }, - _react2.default.createElement( - 'span', - { className: 'context-menu__item__link context-menu__item__link--inactive' }, - _react2.default.createElement(_locale.I18n, { path: 'context_menu.add_to_playlist.no_playlists' }) - ) - ) - ); + list = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "context-menu__item", + "data-qa-node": "span", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "context-menu__item mid_grey-text", + "data-qa-node": "span", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "context-menu__item__link context-menu__item__link--inactive", + "data-qa-node": "span", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_16__["I18n"], { + path: "context_menu.add_to_playlist.no_playlists", + "data-qa-node": "I18n", + "data-qa-file": "ContextMenu" + })))); + if (playlists.length) { list = playlists.map(function (playlist) { - return _react2.default.createElement( - 'span', - { className: 'context-menu__item', key: playlist.uri }, - _react2.default.createElement( - 'a', - { - className: 'context-menu__item__link', - onClick: function onClick(e) { - return _this.addTracksToPlaylist(e, playlist.uri); - } - }, - _react2.default.createElement( - 'span', - { className: 'context-menu__item__label' }, - playlist.name - ) - ) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "context-menu__item", + key: playlist.uri, + "data-qa-node": "span", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + className: "context-menu__item__link", + onClick: function onClick(e) { + return _this.addTracksToPlaylist(e, playlist.uri); + }, + "data-qa-node": "a", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "context-menu__item__label", + "data-qa-node": "span", + "data-qa-file": "ContextMenu" + }, playlist.name))); }); } } - return _react2.default.createElement( - 'div', - { className: 'context-menu__section context-menu__section--submenu' }, - _react2.default.createElement( - 'div', - { className: 'context-menu__item' }, - _react2.default.createElement( - 'a', - { - className: 'context-menu__item__link context-menu__item__link--close-submenu', - onClick: _this.closeSubmenu - }, - _react2.default.createElement( - 'span', - { className: 'context-menu__item__label' }, - _react2.default.createElement(_Icon2.default, { name: 'arrow_back' }), - _react2.default.createElement( - 'span', - null, - _react2.default.createElement(_locale.I18n, { path: 'actions.back' }) - ) - ) - ) - ), - list, - isLoading && _react2.default.createElement( - 'div', - { className: 'context-menu__item' }, - _react2.default.createElement(_Loader2.default, { className: 'context-menu__item', mini: true, loading: true }) - ) - ); - }; + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "context-menu__section context-menu__section--submenu", + "data-qa-node": "div", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "context-menu__item", + "data-qa-node": "div", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + className: "context-menu__item__link context-menu__item__link--close-submenu", + onClick: _this.closeSubmenu, + "data-qa-node": "a", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "context-menu__item__label", + "data-qa-node": "span", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_7__["default"], { + name: "arrow_back", + "data-qa-node": "Icon", + "data-qa-file": "ContextMenu" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + "data-qa-node": "span", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_16__["I18n"], { + path: "actions.back", + "data-qa-node": "I18n", + "data-qa-file": "ContextMenu" + }))))), list, isLoading && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "context-menu__item", + "data-qa-node": "div", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Loader__WEBPACK_IMPORTED_MODULE_8__["default"], { + className: "context-menu__item", + mini: true, + loading: true, + "data-qa-node": "Loader", + "data-qa-file": "ContextMenu" + }))); + }); - _this.renderItems = function () { + _defineProperty(_assertThisInitialized(_this), "renderItems", function () { var _this$props30 = _this.props, lastfm_authorized = _this$props30.lastfm_authorized, spotify_available = _this$props30.spotify_available, @@ -85920,495 +86221,605 @@ var ContextMenu = function (_React$Component) { var context = _this.getContext(); - var play_uris = _react2.default.createElement( - 'div', - { className: 'context-menu__item' }, - _react2.default.createElement( - 'a', - { className: 'context-menu__item__link', onClick: _this.playURIs }, - _react2.default.createElement( - 'span', - { className: 'context-menu__item__label' }, - _react2.default.createElement(_locale.I18n, { path: 'actions.play' }) - ) - ) - ); - - var play_playlist = _react2.default.createElement( - 'div', - { className: 'context-menu__item' }, - _react2.default.createElement( - 'a', - { className: 'context-menu__item__link', onClick: _this.playPlaylist }, - _react2.default.createElement( - 'span', - { className: 'context-menu__item__label' }, - _react2.default.createElement(_locale.I18n, { path: 'actions.play' }) - ) - ) - ); - - var shuffle_play_playlist = _react2.default.createElement( - 'div', - { className: 'context-menu__item' }, - _react2.default.createElement( - 'a', - { className: 'context-menu__item__link', onClick: _this.shufflePlayPlaylist }, - _react2.default.createElement( - 'span', - { className: 'context-menu__item__label' }, - _react2.default.createElement(_locale.I18n, { path: 'actions.shuffle_play' }) - ) - ) - ); - - var play_queue_item = _react2.default.createElement( - 'div', - { className: 'context-menu__item' }, - _react2.default.createElement( - 'a', - { className: 'context-menu__item__link', onClick: _this.playQueueItem }, - _react2.default.createElement( - 'span', - { className: 'context-menu__item__label' }, - _react2.default.createElement(_locale.I18n, { path: 'actions.play' }) - ) - ) - ); - - var play_uris_next = _react2.default.createElement( - 'div', - { className: 'context-menu__item' }, - _react2.default.createElement( - 'a', - { className: 'context-menu__item__link', onClick: function onClick(e) { - return _this.addToQueue(e, true); - } }, - _react2.default.createElement( - 'span', - { className: 'context-menu__item__label' }, - _react2.default.createElement(_locale.I18n, { path: 'context_menu.play_next' }) - ) - ) - ); - - var play_artist_top_tracks = _react2.default.createElement( - 'div', - { className: 'context-menu__item' }, - _react2.default.createElement( - 'a', - { className: 'context-menu__item__link', onClick: _this.playArtistTopTracks }, - _react2.default.createElement( - 'span', - { className: 'context-menu__item__label' }, - _react2.default.createElement(_locale.I18n, { path: 'context_menu.play_top_tracks' }) - ) - ) - ); - - var add_to_queue = _react2.default.createElement( - 'div', - { className: 'context-menu__item' }, - _react2.default.createElement( - 'a', - { className: 'context-menu__item__link', onClick: _this.addToQueue }, - _react2.default.createElement( - 'span', - { className: 'context-menu__item__label' }, - _react2.default.createElement(_locale.I18n, { path: 'actions.add_to_queue' }) - ) - ) - ); - - var add_playlist_to_queue = _react2.default.createElement( - 'div', - { className: 'context-menu__item' }, - _react2.default.createElement( - 'a', - { className: 'context-menu__item__link', onClick: _this.enqueuePlaylist }, - _react2.default.createElement( - 'span', - { className: 'context-menu__item__label' }, - _react2.default.createElement(_locale.I18n, { path: 'actions.add_to_queue' }) - ) - ) - ); - - var play_playlist_next = _react2.default.createElement( - 'div', - { className: 'context-menu__item' }, - _react2.default.createElement( - 'a', - { className: 'context-menu__item__link', onClick: function onClick(e) { - return _this.enqueuePlaylist(e, true); - } }, - _react2.default.createElement( - 'span', - { className: 'context-menu__item__label' }, - _react2.default.createElement(_locale.I18n, { path: 'context_menu.play_next' }) - ) - ) - ); - - var add_to_playlist = _react2.default.createElement( - 'div', - { className: 'context-menu__item context-menu__item--has-submenu' }, - _react2.default.createElement( - 'a', - { className: 'context-menu__item__link', onClick: function onClick() { - return _this.setSubmenu('add-to-playlist'); - } }, - _react2.default.createElement( - 'span', - { className: 'context-menu__item__label' }, - _react2.default.createElement(_locale.I18n, { path: 'context_menu.add_to_playlist.title' }) - ), - _react2.default.createElement(_Icon2.default, { className: 'submenu-icon', name: 'arrow_forward' }) - ) - ); - - var toggle_in_library = _react2.default.createElement( - 'div', - { className: 'context-menu__item' }, - _react2.default.createElement( - 'a', - { className: 'context-menu__item__link', onClick: function onClick(e) { - return _this.toggleInLibrary(e, context.in_library); - } }, - _react2.default.createElement( - 'span', - { className: 'context-menu__item__label' }, - _react2.default.createElement(_locale.I18n, { path: 'actions.' + (context.in_library ? 'remove_from' : 'add_to') + '_library' }) - ) - ) - ); + var play_uris = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "context-menu__item", + "data-qa-node": "div", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + className: "context-menu__item__link", + onClick: _this.playURIs, + "data-qa-node": "a", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "context-menu__item__label", + "data-qa-node": "span", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_16__["I18n"], { + path: "actions.play", + "data-qa-node": "I18n", + "data-qa-file": "ContextMenu" + })))); + var play_playlist = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "context-menu__item", + "data-qa-node": "div", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + className: "context-menu__item__link", + onClick: _this.playPlaylist, + "data-qa-node": "a", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "context-menu__item__label", + "data-qa-node": "span", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_16__["I18n"], { + path: "actions.play", + "data-qa-node": "I18n", + "data-qa-file": "ContextMenu" + })))); + var shuffle_play_playlist = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "context-menu__item", + "data-qa-node": "div", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + className: "context-menu__item__link", + onClick: _this.shufflePlayPlaylist, + "data-qa-node": "a", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "context-menu__item__label", + "data-qa-node": "span", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_16__["I18n"], { + path: "actions.shuffle_play", + "data-qa-node": "I18n", + "data-qa-file": "ContextMenu" + })))); + var play_queue_item = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "context-menu__item", + "data-qa-node": "div", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + className: "context-menu__item__link", + onClick: _this.playQueueItem, + "data-qa-node": "a", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "context-menu__item__label", + "data-qa-node": "span", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_16__["I18n"], { + path: "actions.play", + "data-qa-node": "I18n", + "data-qa-file": "ContextMenu" + })))); + var play_uris_next = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "context-menu__item", + "data-qa-node": "div", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + className: "context-menu__item__link", + onClick: function onClick(e) { + return _this.addToQueue(e, true); + }, + "data-qa-node": "a", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "context-menu__item__label", + "data-qa-node": "span", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_16__["I18n"], { + path: "context_menu.play_next", + "data-qa-node": "I18n", + "data-qa-file": "ContextMenu" + })))); + var play_artist_top_tracks = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "context-menu__item", + "data-qa-node": "div", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + className: "context-menu__item__link", + onClick: _this.playArtistTopTracks, + "data-qa-node": "a", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "context-menu__item__label", + "data-qa-node": "span", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_16__["I18n"], { + path: "context_menu.play_top_tracks", + "data-qa-node": "I18n", + "data-qa-file": "ContextMenu" + })))); + var add_to_queue = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "context-menu__item", + "data-qa-node": "div", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + className: "context-menu__item__link", + onClick: _this.addToQueue, + "data-qa-node": "a", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "context-menu__item__label", + "data-qa-node": "span", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_16__["I18n"], { + path: "actions.add_to_queue", + "data-qa-node": "I18n", + "data-qa-file": "ContextMenu" + })))); + var add_playlist_to_queue = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "context-menu__item", + "data-qa-node": "div", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + className: "context-menu__item__link", + onClick: _this.enqueuePlaylist, + "data-qa-node": "a", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "context-menu__item__label", + "data-qa-node": "span", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_16__["I18n"], { + path: "actions.add_to_queue", + "data-qa-node": "I18n", + "data-qa-file": "ContextMenu" + })))); + var play_playlist_next = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "context-menu__item", + "data-qa-node": "div", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + className: "context-menu__item__link", + onClick: function onClick(e) { + return _this.enqueuePlaylist(e, true); + }, + "data-qa-node": "a", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "context-menu__item__label", + "data-qa-node": "span", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_16__["I18n"], { + path: "context_menu.play_next", + "data-qa-node": "I18n", + "data-qa-file": "ContextMenu" + })))); + var add_to_playlist = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "context-menu__item context-menu__item--has-submenu", + "data-qa-node": "div", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + className: "context-menu__item__link", + onClick: function onClick() { + return _this.setSubmenu('add-to-playlist'); + }, + "data-qa-node": "a", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "context-menu__item__label", + "data-qa-node": "span", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_16__["I18n"], { + path: "context_menu.add_to_playlist.title", + "data-qa-node": "I18n", + "data-qa-file": "ContextMenu" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_7__["default"], { + className: "submenu-icon", + name: "arrow_forward", + "data-qa-node": "Icon", + "data-qa-file": "ContextMenu" + }))); + var toggle_in_library = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "context-menu__item", + "data-qa-node": "div", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + className: "context-menu__item__link", + onClick: function onClick(e) { + return _this.toggleInLibrary(e, context.in_library); + }, + "data-qa-node": "a", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "context-menu__item__label", + "data-qa-node": "span", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_16__["I18n"], { + path: "actions.".concat(context.in_library ? 'remove_from' : 'add_to', "_library"), + "data-qa-node": "I18n", + "data-qa-file": "ContextMenu" + })))); if (!spotify_available) { toggle_in_library = null; - } else if ((0, _helpers.isLoading)(load_queue, ['spotify_me/tracks/contains', 'spotify_me/playlists/contains', 'spotify_me/albums/contains', 'spotify_me/artists/contains'])) { - toggle_in_library = _react2.default.createElement( - 'div', - { className: 'context-menu__item' }, - _react2.default.createElement( - 'a', - { className: 'context-menu__item__link' }, - _react2.default.createElement( - 'span', - { className: 'context-menu__item__label mid_grey-text' }, - _react2.default.createElement(_locale.I18n, { path: 'actions.add_to_library' }) - ) - ) - ); + } else if (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_4__["isLoading"])(load_queue, ['spotify_me/tracks/contains', 'spotify_me/playlists/contains', 'spotify_me/albums/contains', 'spotify_me/artists/contains'])) { + toggle_in_library = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "context-menu__item", + "data-qa-node": "div", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + className: "context-menu__item__link", + "data-qa-node": "a", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "context-menu__item__label mid_grey-text", + "data-qa-node": "span", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_16__["I18n"], { + path: "actions.add_to_library", + "data-qa-node": "I18n", + "data-qa-file": "ContextMenu" + })))); } else { - toggle_in_library = _react2.default.createElement( - 'div', - { className: 'context-menu__item' }, - _react2.default.createElement( - 'a', - { className: 'context-menu__item__link', onClick: function onClick(e) { - return _this.toggleInLibrary(e, context.in_library); - } }, - _react2.default.createElement( - 'span', - { className: 'context-menu__item__label' }, - _react2.default.createElement(_locale.I18n, { path: 'actions.' + (context.in_library ? 'remove_from' : 'add_to') + '_library' }) - ) - ) - ); + toggle_in_library = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "context-menu__item", + "data-qa-node": "div", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + className: "context-menu__item__link", + onClick: function onClick(e) { + return _this.toggleInLibrary(e, context.in_library); + }, + "data-qa-node": "a", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "context-menu__item__label", + "data-qa-node": "span", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_16__["I18n"], { + path: "actions.".concat(context.in_library ? 'remove_from' : 'add_to', "_library"), + "data-qa-node": "I18n", + "data-qa-file": "ContextMenu" + })))); } if (!lastfm_authorized) { var toggle_loved = null; - } else if ((0, _helpers.isLoading)(load_queue, ['lastfm_track.getInfo'])) { - var toggle_loved = _react2.default.createElement( - 'div', - { className: 'context-menu__item' }, - _react2.default.createElement( - 'a', - { className: 'context-menu__item__link' }, - _react2.default.createElement( - 'span', - { className: 'context-menu__item__label mid_grey-text' }, - _react2.default.createElement(_locale.I18n, { path: 'context_menu.love_track' }) - ) - ) - ); + } else if (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_4__["isLoading"])(load_queue, ['lastfm_track.getInfo'])) { + var toggle_loved = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "context-menu__item", + "data-qa-node": "div", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + className: "context-menu__item__link", + "data-qa-node": "a", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "context-menu__item__label mid_grey-text", + "data-qa-node": "span", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_16__["I18n"], { + path: "context_menu.love_track", + "data-qa-node": "I18n", + "data-qa-file": "ContextMenu" + })))); } else { - var toggle_loved = _react2.default.createElement( - 'div', - { className: 'context-menu__item' }, - _react2.default.createElement( - 'a', - { className: 'context-menu__item__link', onClick: function onClick(e) { - return _this.toggleLoved(e, context.is_loved); - } }, - _react2.default.createElement( - 'span', - { className: 'context-menu__item__label' }, - _react2.default.createElement(_locale.I18n, { path: 'context_menu.' + (context.is_loved ? 'un' : '') + 'love_track' }) - ) - ) - ); + var toggle_loved = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "context-menu__item", + "data-qa-node": "div", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + className: "context-menu__item__link", + onClick: function onClick(e) { + return _this.toggleLoved(e, context.is_loved); + }, + "data-qa-node": "a", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "context-menu__item__label", + "data-qa-node": "span", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_16__["I18n"], { + path: "context_menu.".concat(context.is_loved ? 'un' : '', "love_track"), + "data-qa-node": "I18n", + "data-qa-file": "ContextMenu" + })))); } - var go_to_artist = _react2.default.createElement( - 'div', - { className: 'context-menu__item' }, - _react2.default.createElement( - 'a', - { className: 'context-menu__item__link', onClick: _this.goToArtist }, - _react2.default.createElement( - 'span', - { className: 'context-menu__item__label' }, - _react2.default.createElement(_locale.I18n, { path: 'context_menu.go_to_artist' }) - ) - ) - ); - - var go_to_user = _react2.default.createElement( - 'div', - { className: 'context-menu__item' }, - _react2.default.createElement( - 'a', - { className: 'context-menu__item__link', onClick: _this.goToUser }, - _react2.default.createElement( - 'span', - { className: 'context-menu__item__label' }, - _react2.default.createElement(_locale.I18n, { path: 'context_menu.go_to_user' }) - ) - ) - ); - - var go_to_track = _react2.default.createElement( - 'div', - { className: 'context-menu__item' }, - _react2.default.createElement( - 'a', - { className: 'context-menu__item__link', onClick: _this.goToTrack }, - _react2.default.createElement( - 'span', - { className: 'context-menu__item__label' }, - _react2.default.createElement(_locale.I18n, { path: 'context_menu.track_info' }) - ) - ) - ); - - var go_to_recommendations = _react2.default.createElement( - 'div', - { className: 'context-menu__item' }, - _react2.default.createElement( - 'a', - { className: 'context-menu__item__link', onClick: _this.goToRecommendations }, - _react2.default.createElement( - 'span', - { className: 'context-menu__item__label' }, - _react2.default.createElement(_locale.I18n, { path: 'context_menu.discover_similar' }) - ) - ) - ); - - var start_radio = _react2.default.createElement( - 'div', - { className: 'context-menu__item' }, - _react2.default.createElement( - 'a', - { className: 'context-menu__item__link', onClick: _this.startRadio }, - _react2.default.createElement( - 'span', - { className: 'context-menu__item__label' }, - _react2.default.createElement(_locale.I18n, { path: 'context_menu.start_radio' }) - ) - ) - ); - - var remove_from_queue = _react2.default.createElement( - 'div', - { className: 'context-menu__item' }, - _react2.default.createElement( - 'a', - { className: 'context-menu__item__link', onClick: _this.removeFromQueue }, - _react2.default.createElement( - 'span', - { className: 'context-menu__item__label' }, - _react2.default.createElement(_locale.I18n, { path: 'actions.remove' }) - ) - ) - ); - - var remove_from_playlist = _react2.default.createElement( - 'div', - { className: 'context-menu__item' }, - _react2.default.createElement( - 'a', - { className: 'context-menu__item__link', onClick: _this.removeFromPlaylist }, - _react2.default.createElement( - 'span', - { className: 'context-menu__item__label' }, - _react2.default.createElement(_locale.I18n, { path: 'actions.remove' }) - ) - ) - ); - - var edit_playlist = _react2.default.createElement( - 'div', - { className: 'context-menu__item' }, - _react2.default.createElement( - _Link2.default, - { className: 'context-menu__item__link', to: '/playlist/' + context.item.uri + '/edit' }, - _react2.default.createElement( - 'span', - { className: 'context-menu__item__label' }, - _react2.default.createElement(_locale.I18n, { path: 'actions.edit' }) - ) - ) - ); - - var delete_playlist = _react2.default.createElement( - 'div', - { className: 'context-menu__item' }, - _react2.default.createElement( - 'a', - { className: 'context-menu__item__link', onClick: _this.deletePlaylist }, - _react2.default.createElement( - 'span', - { className: 'context-menu__item__label' }, - _react2.default.createElement(_locale.I18n, { path: 'actions.delete' }) - ) - ) - ); - - var copy_uris = _react2.default.createElement( - 'div', - { className: 'context-menu__item' }, - _react2.default.createElement( - 'a', - { className: 'context-menu__item__link', onClick: _this.copyURIs }, - _react2.default.createElement( - 'span', - { className: 'context-menu__item__label' }, - _react2.default.createElement(_locale.I18n, { path: 'context_menu.copy_uri' }) - ) - ) - ); + var go_to_artist = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "context-menu__item", + "data-qa-node": "div", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + className: "context-menu__item__link", + onClick: _this.goToArtist, + "data-qa-node": "a", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "context-menu__item__label", + "data-qa-node": "span", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_16__["I18n"], { + path: "context_menu.go_to_artist", + "data-qa-node": "I18n", + "data-qa-file": "ContextMenu" + })))); + var go_to_user = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "context-menu__item", + "data-qa-node": "div", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + className: "context-menu__item__link", + onClick: _this.goToUser, + "data-qa-node": "a", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "context-menu__item__label", + "data-qa-node": "span", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_16__["I18n"], { + path: "context_menu.go_to_user", + "data-qa-node": "I18n", + "data-qa-file": "ContextMenu" + })))); + var go_to_track = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "context-menu__item", + "data-qa-node": "div", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + className: "context-menu__item__link", + onClick: _this.goToTrack, + "data-qa-node": "a", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "context-menu__item__label", + "data-qa-node": "span", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_16__["I18n"], { + path: "context_menu.track_info", + "data-qa-node": "I18n", + "data-qa-file": "ContextMenu" + })))); + var go_to_recommendations = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "context-menu__item", + "data-qa-node": "div", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + className: "context-menu__item__link", + onClick: _this.goToRecommendations, + "data-qa-node": "a", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "context-menu__item__label", + "data-qa-node": "span", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_16__["I18n"], { + path: "context_menu.discover_similar", + "data-qa-node": "I18n", + "data-qa-file": "ContextMenu" + })))); + var start_radio = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "context-menu__item", + "data-qa-node": "div", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + className: "context-menu__item__link", + onClick: _this.startRadio, + "data-qa-node": "a", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "context-menu__item__label", + "data-qa-node": "span", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_16__["I18n"], { + path: "context_menu.start_radio", + "data-qa-node": "I18n", + "data-qa-file": "ContextMenu" + })))); + var remove_from_queue = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "context-menu__item", + "data-qa-node": "div", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + className: "context-menu__item__link", + onClick: _this.removeFromQueue, + "data-qa-node": "a", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "context-menu__item__label", + "data-qa-node": "span", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_16__["I18n"], { + path: "actions.remove", + "data-qa-node": "I18n", + "data-qa-file": "ContextMenu" + })))); + var remove_from_playlist = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "context-menu__item", + "data-qa-node": "div", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + className: "context-menu__item__link", + onClick: _this.removeFromPlaylist, + "data-qa-node": "a", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "context-menu__item__label", + "data-qa-node": "span", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_16__["I18n"], { + path: "actions.remove", + "data-qa-node": "I18n", + "data-qa-file": "ContextMenu" + })))); + var edit_playlist = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "context-menu__item", + "data-qa-node": "div", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Link__WEBPACK_IMPORTED_MODULE_6__["default"], { + className: "context-menu__item__link", + to: "/playlist/".concat(context.item.uri, "/edit"), + "data-qa-node": "Link", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "context-menu__item__label", + "data-qa-node": "span", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_16__["I18n"], { + path: "actions.edit", + "data-qa-node": "I18n", + "data-qa-file": "ContextMenu" + })))); + var delete_playlist = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "context-menu__item", + "data-qa-node": "div", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + className: "context-menu__item__link", + onClick: _this.deletePlaylist, + "data-qa-node": "a", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "context-menu__item__label", + "data-qa-node": "span", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_16__["I18n"], { + path: "actions.delete", + "data-qa-node": "I18n", + "data-qa-file": "ContextMenu" + })))); + var copy_uris = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "context-menu__item", + "data-qa-node": "div", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + className: "context-menu__item__link", + onClick: _this.copyURIs, + "data-qa-node": "a", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "context-menu__item__label", + "data-qa-node": "span", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_16__["I18n"], { + path: "context_menu.copy_uri", + "data-qa-node": "I18n", + "data-qa-file": "ContextMenu" + })))); switch (context.name) { case 'album': - return _react2.default.createElement( - 'div', - null, - play_uris, - play_uris_next, - add_to_queue, - _this.canBeInLibrary() && _react2.default.createElement('div', { className: 'context-menu__divider' }), - _this.canBeInLibrary() && toggle_in_library, - _react2.default.createElement('div', { className: 'context-menu__divider' }), - go_to_artist, - copy_uris - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + "data-qa-node": "div", + "data-qa-file": "ContextMenu" + }, play_uris, play_uris_next, add_to_queue, _this.canBeInLibrary() && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "context-menu__divider", + "data-qa-node": "div", + "data-qa-file": "ContextMenu" + }), _this.canBeInLibrary() && toggle_in_library, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "context-menu__divider", + "data-qa-node": "div", + "data-qa-file": "ContextMenu" + }), go_to_artist, copy_uris); + case 'artist': - return _react2.default.createElement( - 'div', - null, - context.source === 'spotify' && play_artist_top_tracks, - context.source === 'spotify' && start_radio, - _this.canBeInLibrary() && _react2.default.createElement('div', { className: 'context-menu__divider' }), - _this.canBeInLibrary() && toggle_in_library, - _react2.default.createElement('div', { className: 'context-menu__divider' }), - context.source === 'spotify' && go_to_recommendations, - copy_uris - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + "data-qa-node": "div", + "data-qa-file": "ContextMenu" + }, context.source === 'spotify' && play_artist_top_tracks, context.source === 'spotify' && start_radio, _this.canBeInLibrary() && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "context-menu__divider", + "data-qa-node": "div", + "data-qa-file": "ContextMenu" + }), _this.canBeInLibrary() && toggle_in_library, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "context-menu__divider", + "data-qa-node": "div", + "data-qa-file": "ContextMenu" + }), context.source === 'spotify' && go_to_recommendations, copy_uris); + case 'playlist': - return _react2.default.createElement( - 'div', - null, - play_playlist, - play_playlist_next, - shuffle_play_playlist, - add_playlist_to_queue, - _this.canBeInLibrary() && _react2.default.createElement('div', { className: 'context-menu__divider' }), - _this.canBeInLibrary() && toggle_in_library, - _react2.default.createElement('div', { className: 'context-menu__divider' }), - context.source === 'spotify' && go_to_user, - copy_uris, - context.items_count === 1 && context.item.can_edit && _react2.default.createElement( - 'div', - null, - _react2.default.createElement('div', { className: 'context-menu__divider' }), - edit_playlist, - delete_playlist - ) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + "data-qa-node": "div", + "data-qa-file": "ContextMenu" + }, play_playlist, play_playlist_next, shuffle_play_playlist, add_playlist_to_queue, _this.canBeInLibrary() && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "context-menu__divider", + "data-qa-node": "div", + "data-qa-file": "ContextMenu" + }), _this.canBeInLibrary() && toggle_in_library, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "context-menu__divider", + "data-qa-node": "div", + "data-qa-file": "ContextMenu" + }), context.source === 'spotify' && go_to_user, copy_uris, context.items_count === 1 && context.item.can_edit && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + "data-qa-node": "div", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "context-menu__divider", + "data-qa-node": "div", + "data-qa-file": "ContextMenu" + }), edit_playlist, delete_playlist)); + case 'queue-track': - return _react2.default.createElement( - 'div', - null, - context.items_count === 1 && play_queue_item, - _react2.default.createElement('div', { className: 'context-menu__divider' }), - add_to_playlist, - _this.canBeInLibrary() && toggle_in_library, - toggle_loved, - _react2.default.createElement('div', { className: 'context-menu__divider' }), - context.source === 'spotify' && context.items_count <= 5 && go_to_recommendations, - context.items_count === 1 && go_to_track, - copy_uris, - _react2.default.createElement('div', { className: 'context-menu__divider' }), - remove_from_queue - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + "data-qa-node": "div", + "data-qa-file": "ContextMenu" + }, context.items_count === 1 && play_queue_item, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "context-menu__divider", + "data-qa-node": "div", + "data-qa-file": "ContextMenu" + }), add_to_playlist, _this.canBeInLibrary() && toggle_in_library, toggle_loved, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "context-menu__divider", + "data-qa-node": "div", + "data-qa-file": "ContextMenu" + }), context.source === 'spotify' && context.items_count <= 5 && go_to_recommendations, context.items_count === 1 && go_to_track, copy_uris, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "context-menu__divider", + "data-qa-node": "div", + "data-qa-file": "ContextMenu" + }), remove_from_queue); + case 'editable-playlist-track': - return _react2.default.createElement( - 'div', - null, - play_uris, - play_uris_next, - add_to_queue, - context.source === 'spotify' && context.items_count === 1 && start_radio, - _react2.default.createElement('div', { className: 'context-menu__divider' }), - add_to_playlist, - _this.canBeInLibrary() && toggle_in_library, - toggle_loved, - _react2.default.createElement('div', { className: 'context-menu__divider' }), - context.source === 'spotify' && context.items_count <= 5 && go_to_recommendations, - context.items_count === 1 && go_to_track, - copy_uris, - _react2.default.createElement('div', { className: 'context-menu__divider' }), - remove_from_playlist - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + "data-qa-node": "div", + "data-qa-file": "ContextMenu" + }, play_uris, play_uris_next, add_to_queue, context.source === 'spotify' && context.items_count === 1 && start_radio, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "context-menu__divider", + "data-qa-node": "div", + "data-qa-file": "ContextMenu" + }), add_to_playlist, _this.canBeInLibrary() && toggle_in_library, toggle_loved, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "context-menu__divider", + "data-qa-node": "div", + "data-qa-file": "ContextMenu" + }), context.source === 'spotify' && context.items_count <= 5 && go_to_recommendations, context.items_count === 1 && go_to_track, copy_uris, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "context-menu__divider", + "data-qa-node": "div", + "data-qa-file": "ContextMenu" + }), remove_from_playlist); + default: - return _react2.default.createElement( - 'div', - null, - play_uris, - play_uris_next, - add_to_queue, - context.source === 'spotify' && context.items_count === 1 && start_radio, - _react2.default.createElement('div', { className: 'context-menu__divider' }), - add_to_playlist, - _this.canBeInLibrary() && toggle_in_library, - toggle_loved, - _react2.default.createElement('div', { className: 'context-menu__divider' }), - context.source === 'spotify' && context.items_count <= 5 && go_to_recommendations, - context.items_count === 1 && go_to_track, - _react2.default.createElement('div', { className: 'context-menu__divider' }), - copy_uris - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + "data-qa-node": "div", + "data-qa-file": "ContextMenu" + }, play_uris, play_uris_next, add_to_queue, context.source === 'spotify' && context.items_count === 1 && start_radio, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "context-menu__divider", + "data-qa-node": "div", + "data-qa-file": "ContextMenu" + }), add_to_playlist, _this.canBeInLibrary() && toggle_in_library, toggle_loved, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "context-menu__divider", + "data-qa-node": "div", + "data-qa-file": "ContextMenu" + }), context.source === 'spotify' && context.items_count <= 5 && go_to_recommendations, context.items_count === 1 && go_to_track, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "context-menu__divider", + "data-qa-node": "div", + "data-qa-file": "ContextMenu" + }), copy_uris); } - }; + }); _this.state = { submenu: null }; - _this.handleScroll = (0, _helpers.throttle)(_this.handleScroll.bind(_this), 50); - _this.handleMouseDown = _this.handleMouseDown.bind(_this); - _this.handleTouchStart = _this.handleTouchStart.bind(_this); + _this.handleScroll = Object(_util_helpers__WEBPACK_IMPORTED_MODULE_4__["throttle"])(_this.handleScroll.bind(_assertThisInitialized(_this)), 50); + _this.handleMouseDown = _this.handleMouseDown.bind(_assertThisInitialized(_this)); + _this.handleTouchStart = _this.handleTouchStart.bind(_assertThisInitialized(_this)); return _this; } _createClass(ContextMenu, [{ - key: 'getContext', + key: "getContext", value: function getContext() { var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.props; var menu = props.menu; - var context = { name: null, nice_name: 'Unknown', @@ -86417,9 +86828,8 @@ var ContextMenu = function (_React$Component) { if (menu && menu.context) { context.name = menu.context; - context.nice_name = menu.context; + context.nice_name = menu.context; // handle ugly labels - // handle ugly labels switch (menu.context) { case 'playlist': case 'editable-playlist': @@ -86433,17 +86843,17 @@ var ContextMenu = function (_React$Component) { context.nice_name = 'track'; context.is_track = true; break; - } - - // Consider the object(s) themselves + } // Consider the object(s) themselves // We can only really accommodate the first item. The only instances where // there is multiple is tracklists, when they're all of the same source (except search?) + + if (menu.items && menu.items.length > 0) { var item = menu.items[0]; context.item = item; context.items_count = menu.items.length; - context.source = (0, _helpers.uriSource)(item.uri); - context.type = (0, _helpers.uriType)(item.uri); + context.source = Object(_util_helpers__WEBPACK_IMPORTED_MODULE_4__["uriSource"])(item.uri); + context.type = Object(_util_helpers__WEBPACK_IMPORTED_MODULE_4__["uriType"])(item.uri); context.in_library = this.inLibrary(item); context.is_loved = this.isLoved(item); } @@ -86451,29 +86861,21 @@ var ContextMenu = function (_React$Component) { return context; } - - /** - * TODO: Currently the select track keys are the only details available. We need - * the actual track object reference (including name and artists) to getTrack from LastFM - * */ - }, { - key: 'render', + key: "render", value: function render() { - var _props = this.props, - menu = _props.menu, - hideContextMenu = _props.uiActions.hideContextMenu; + var _this$props31 = this.props, + menu = _this$props31.menu, + hideContextMenu = _this$props31.uiActions.hideContextMenu; var submenu = this.state.submenu; - - if (!menu) return null; - var style = { left: menu.position_x, top: menu.position_y }; var height = 200; // TODO: use jquery to detect height - var className = 'context-menu ' + menu.context; + + var className = "context-menu ".concat(menu.context); if (submenu) className += ' context-menu--submenu-expanded'; if (menu.closing) className += ' context-menu--closing'; @@ -86487,23 +86889,27 @@ var ContextMenu = function (_React$Component) { style.bottom = 10; } - return _react2.default.createElement( - 'div', - { id: 'context-menu', className: className, style: style }, - _react2.default.createElement( - 'div', - { className: 'context-menu__section context-menu__section--items' }, - this.renderTitle(), - menu.context === 'custom' ? menu.options : this.renderItems() - ), - this.renderSubmenu(), - _react2.default.createElement('div', { className: 'context-menu__background', onClick: hideContextMenu }) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + id: "context-menu", + className: className, + style: style, + "data-qa-node": "div", + "data-qa-file": "ContextMenu" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "context-menu__section context-menu__section--items", + "data-qa-node": "div", + "data-qa-file": "ContextMenu" + }, this.renderTitle(), menu.context === 'custom' ? menu.options : this.renderItems()), this.renderSubmenu(), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "context-menu__background", + onClick: hideContextMenu, + "data-qa-node": "div", + "data-qa-file": "ContextMenu" + })); } }]); return ContextMenu; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); var mapStateToProps = function mapStateToProps(state) { return { @@ -86531,16 +86937,16 @@ var mapStateToProps = function mapStateToProps(state) { var mapDispatchToProps = function mapDispatchToProps(dispatch) { return { - coreActions: (0, _redux.bindActionCreators)(coreActions, dispatch), - uiActions: (0, _redux.bindActionCreators)(uiActions, dispatch), - pusherActions: (0, _redux.bindActionCreators)(pusherActions, dispatch), - spotifyActions: (0, _redux.bindActionCreators)(spotifyActions, dispatch), - lastfmActions: (0, _redux.bindActionCreators)(lastfmActions, dispatch), - mopidyActions: (0, _redux.bindActionCreators)(mopidyActions, dispatch) + coreActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_core_actions__WEBPACK_IMPORTED_MODULE_10__, dispatch), + uiActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_ui_actions__WEBPACK_IMPORTED_MODULE_11__, dispatch), + pusherActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_pusher_actions__WEBPACK_IMPORTED_MODULE_12__, dispatch), + spotifyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_spotify_actions__WEBPACK_IMPORTED_MODULE_15__, dispatch), + lastfmActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_lastfm_actions__WEBPACK_IMPORTED_MODULE_14__, dispatch), + mopidyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_mopidy_actions__WEBPACK_IMPORTED_MODULE_13__, dispatch) }; }; -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)((0, _reactRouter.withRouter)(ContextMenu)); +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapStateToProps, mapDispatchToProps)(Object(react_router__WEBPACK_IMPORTED_MODULE_3__["withRouter"])(ContextMenu))); /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ "./node_modules/jquery/dist/jquery.js"))) /***/ }), @@ -86549,27 +86955,17 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)( /*!*************************************************!*\ !*** ./src/js/components/ContextMenuTrigger.js ***! \*************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _Icon__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Icon */ "./src/js/components/Icon.js"); -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _Icon = __webpack_require__(/*! ./Icon */ "./src/js/components/Icon.js"); - -var _Icon2 = _interopRequireDefault(_Icon); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -exports.default = (0, _react.memo)(function (props) { +/* harmony default export */ __webpack_exports__["default"] = (/*#__PURE__*/Object(react__WEBPACK_IMPORTED_MODULE_0__["memo"])(function (props) { var handleClick = function handleClick(e) { e.preventDefault(); e.stopPropagation(); @@ -86577,16 +86973,22 @@ exports.default = (0, _react.memo)(function (props) { }; var className = 'context-menu-trigger mouse-contextable touch-contextable'; + if (props.className) { - className += ' ' + props.className; + className += " ".concat(props.className); } - return _react2.default.createElement( - 'span', - { className: className, onClick: handleClick }, - _react2.default.createElement(_Icon2.default, { name: 'more_horiz' }) - ); -}); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: className, + onClick: handleClick, + "data-qa-node": "span", + "data-qa-file": "ContextMenuTrigger" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_1__["default"], { + name: "more_horiz", + "data-qa-node": "Icon", + "data-qa-file": "ContextMenuTrigger" + })); +})); /***/ }), @@ -86594,77 +86996,70 @@ exports.default = (0, _react.memo)(function (props) { /*!************************************!*\ !*** ./src/js/components/Dater.js ***! \************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: Dater, dater, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Dater", function() { return Dater; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "dater", function() { return dater; }); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js"); -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.dater = exports.Dater = undefined; - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _locale = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js"); - /** * Format time duration * * @param milliseconds int * @return string (HH:mm:ss) * */ + var durationTime = function durationTime() { var milliseconds = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; - if (!milliseconds) return null; - var string = ''; - var total_hours = void 0;var total_minutes = void 0;var total_seconds = void 0;var minutes = void 0;var seconds = void 0; + var total_hours; + var total_minutes; + var total_seconds; + var minutes; + var seconds; // get total values for each - // get total values for each total_seconds = Math.floor(milliseconds / 1000); total_minutes = Math.floor(milliseconds / (1000 * 60)); - total_hours = Math.floor(milliseconds / (1000 * 60 * 60)); + total_hours = Math.floor(milliseconds / (1000 * 60 * 60)); // get left-over number of seconds - // get left-over number of seconds seconds = total_seconds - total_minutes * 60; - if (seconds <= 9) seconds = '0' + seconds; - if (seconds == 0) seconds = '00'; + if (seconds <= 9) seconds = "0".concat(seconds); + if (seconds == 0) seconds = '00'; // get left-over number of minutes - // get left-over number of minutes minutes = total_minutes - total_hours * 60; - if (minutes <= 9 && total_hours) minutes = '0' + minutes; + if (minutes <= 9 && total_hours) minutes = "0".concat(minutes); if (minutes == 0) minutes = '0'; - - if (total_hours) string += total_hours + ':'; - if (minutes) string += minutes + ':'; + if (total_hours) string += "".concat(total_hours, ":"); + if (minutes) string += "".concat(minutes, ":"); if (seconds) string += seconds; - return string; }; - /** * Format time duration as a human-friendly sentence * * @param milliseconds int * @return string (eg 2+ hours) * */ + + var durationSentence = function durationSentence() { var milliseconds = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; + if (milliseconds === null) return null; // get total values for each - if (milliseconds === null) return null; - - // get total values for each var totalSeconds = Math.floor(milliseconds / 1000); var totalMinutes = Math.floor(milliseconds / (1000 * 60)); var totalHours = Math.floor(milliseconds / (1000 * 60 * 60)); - - if (totalHours > 1) return totalHours + '+ ' + (0, _locale.i18n)('time.hours.short'); - if (totalMinutes > 1) return totalMinutes + ' ' + (0, _locale.i18n)('time.minutes.short'); - if (totalSeconds) return totalSeconds + ' ' + (0, _locale.i18n)('time.seconds.short'); - return '0 ' + (0, _locale.i18n)('time.minutes.short'); + if (totalHours > 1) return "".concat(totalHours, "+ ").concat(Object(_locale__WEBPACK_IMPORTED_MODULE_1__["i18n"])('time.hours.short')); + if (totalMinutes > 1) return "".concat(totalMinutes, " ").concat(Object(_locale__WEBPACK_IMPORTED_MODULE_1__["i18n"])('time.minutes.short')); + if (totalSeconds) return "".concat(totalSeconds, " ").concat(Object(_locale__WEBPACK_IMPORTED_MODULE_1__["i18n"])('time.seconds.short')); + return "0 ".concat(Object(_locale__WEBPACK_IMPORTED_MODULE_1__["i18n"])('time.minutes.short')); }; var dater = function dater(type, data) { @@ -86676,26 +87071,26 @@ var dater = function dater(type, data) { case 'total-time': var duration = 0; var tracks = data; + for (var i = 0; i < tracks.length; i++) { if (tracks[i].duration) { duration += parseInt(tracks[i].duration); } } + return durationSentence(duration); case 'length': return durationTime(data); case 'date': - // A four-character date indicates just a year (rather than a full date) if (data.length == 4) { - return data; - - // Digest as a date string + return data; // Digest as a date string } + var date = new Date(data); - return date.getDate() + '/' + (date.getMonth() + 1) + '/' + date.getFullYear(); + return "".concat(date.getDate(), "/").concat(date.getMonth() + 1, "/").concat(date.getFullYear()); case 'ago': var date = new Date(data); @@ -86708,31 +87103,39 @@ var dater = function dater(type, data) { var years = Math.floor(diff / (1000 * 60 * 60 * 24 * 7 * 52)); if (seconds < 60) { - return seconds + ' ' + (0, _locale.i18n)('time.seconds.' + (seconds > 1 ? 'plural' : 'singular')); - }if (minutes < 60) { - return minutes + ' ' + (0, _locale.i18n)('time.minutes.' + (minutes > 1 ? 'plural' : 'singular')); - }if (hours < 24) { - return hours + ' ' + (0, _locale.i18n)('time.hours.' + (hours > 1 ? 'plural' : 'singular')); - }if (days < 7) { - return days + ' ' + (0, _locale.i18n)('time.days.' + (days > 1 ? 'plural' : 'singular')); - }if (weeks < 54) { - return weeks + ' ' + (0, _locale.i18n)('time.weeks.' + (weeks > 1 ? 'plural' : 'singular')); + return "".concat(seconds, " ").concat(Object(_locale__WEBPACK_IMPORTED_MODULE_1__["i18n"])("time.seconds.".concat(seconds > 1 ? 'plural' : 'singular'))); } - return years + ' ' + (0, _locale.i18n)('time.years.' + (years > 1 ? 'plural' : 'singular')); + + if (minutes < 60) { + return "".concat(minutes, " ").concat(Object(_locale__WEBPACK_IMPORTED_MODULE_1__["i18n"])("time.minutes.".concat(minutes > 1 ? 'plural' : 'singular'))); + } + + if (hours < 24) { + return "".concat(hours, " ").concat(Object(_locale__WEBPACK_IMPORTED_MODULE_1__["i18n"])("time.hours.".concat(hours > 1 ? 'plural' : 'singular'))); + } + + if (days < 7) { + return "".concat(days, " ").concat(Object(_locale__WEBPACK_IMPORTED_MODULE_1__["i18n"])("time.days.".concat(days > 1 ? 'plural' : 'singular'))); + } + + if (weeks < 54) { + return "".concat(weeks, " ").concat(Object(_locale__WEBPACK_IMPORTED_MODULE_1__["i18n"])("time.weeks.".concat(weeks > 1 ? 'plural' : 'singular'))); + } + + return "".concat(years, " ").concat(Object(_locale__WEBPACK_IMPORTED_MODULE_1__["i18n"])("time.years.".concat(years > 1 ? 'plural' : 'singular'))); + default: return null; } }; -var Dater = (0, _react.memo)(function (_ref) { +var Dater = /*#__PURE__*/Object(react__WEBPACK_IMPORTED_MODULE_0__["memo"])(function (_ref) { var type = _ref.type, data = _ref.data; return dater(type, data); }); -exports.Dater = Dater; -exports.dater = dater; -exports.default = Dater; +/* harmony default export */ __webpack_exports__["default"] = (Dater); /***/ }), @@ -86740,57 +87143,62 @@ exports.default = Dater; /*!****************************************!*\ !*** ./src/js/components/DebugInfo.js ***! \****************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); - -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); - -var _storage = __webpack_require__(/*! ../util/storage */ "./src/js/util/storage.js"); - -var _helpers = __webpack_require__(/*! ../util/helpers */ "./src/js/util/helpers.js"); - -var _actions = __webpack_require__(/*! ../services/ui/actions */ "./src/js/services/ui/actions.js"); - -var uiActions = _interopRequireWildcard(_actions); - -var _arrays = __webpack_require__(/*! ../util/arrays */ "./src/js/util/arrays.js"); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var _util_storage__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../util/storage */ "./src/js/util/storage.js"); +/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../util/helpers */ "./src/js/util/helpers.js"); +/* harmony import */ var _services_ui_actions__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../services/ui/actions */ "./src/js/services/ui/actions.js"); +/* harmony import */ var _util_arrays__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../util/arrays */ "./src/js/util/arrays.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -var DebugInfo = function (_React$Component) { +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + + + + + + + + + +var DebugInfo = /*#__PURE__*/function (_React$Component) { _inherits(DebugInfo, _React$Component); + var _super = _createSuper(DebugInfo); + function DebugInfo() { _classCallCheck(this, DebugInfo); - return _possibleConstructorReturn(this, (DebugInfo.__proto__ || Object.getPrototypeOf(DebugInfo)).apply(this, arguments)); + return _super.apply(this, arguments); } _createClass(DebugInfo, [{ - key: 'localStorageSize', + key: "localStorageSize", value: function localStorageSize() { var data = ''; @@ -86802,6 +87210,7 @@ var DebugInfo = function (_React$Component) { var used = 0; var total = 5000; + if (data !== '') { used = (data.length * 16 / (8 * 1024)).toFixed(2); } @@ -86812,206 +87221,148 @@ var DebugInfo = function (_React$Component) { }; } }, { - key: 'renderLoadQueue', + key: "renderLoadQueue", value: function renderLoadQueue() { var load_queue = this.props.ui.load_queue; - - if (!load_queue) return _react2.default.createElement( - 'div', - { className: 'debug-info-item mid_grey-text' }, - 'Nothing loading' - ); - - var queue = (0, _arrays.indexToArray)(load_queue); + if (!load_queue) return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "debug-info-item mid_grey-text", + "data-qa-node": "div", + "data-qa-file": "DebugInfo" + }, "Nothing loading"); + var queue = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_6__["indexToArray"])(load_queue); if (queue.length > 0) { - return _react2.default.createElement( - 'div', - { className: 'debug-info-item' }, - queue.map(function (item) { - return _react2.default.createElement( - 'div', - { key: item }, - item - ); - }) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "debug-info-item", + "data-qa-node": "div", + "data-qa-file": "DebugInfo" + }, queue.map(function (item) { + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + key: item, + "data-qa-node": "div", + "data-qa-file": "DebugInfo" + }, item); + })); } - return _react2.default.createElement( - 'div', - { className: 'debug-info-item mid_grey-text' }, - 'Nothing loading' - ); + + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "debug-info-item mid_grey-text", + "data-qa-node": "div", + "data-qa-file": "DebugInfo" + }, "Nothing loading"); } }, { - key: 'render', + key: "render", value: function render() { var localStorageUsage = this.localStorageSize(); - - return _react2.default.createElement( - 'div', - { className: 'debug-info' }, - _react2.default.createElement( - 'div', - { className: 'debug-info-section' }, - _react2.default.createElement( - 'div', - { className: 'debug-info-item' }, - 'Version:', - ' ', - version - ), - _react2.default.createElement( - 'div', - { className: 'debug-info-item' }, - 'Build:', - ' ', - build - ) - ), - _react2.default.createElement( - 'div', - { className: 'debug-info-section' }, - _react2.default.createElement( - 'h5', - null, - 'Indexes' - ), - _react2.default.createElement( - 'div', - { className: 'debug-info-item' }, - 'Albums:', - ' ', - this.props.core.albums ? Object.keys(this.props.core.albums).length : '0' - ), - _react2.default.createElement( - 'div', - { className: 'debug-info-item' }, - 'Artists:', - ' ', - this.props.core.artists ? Object.keys(this.props.core.artists).length : '0' - ), - _react2.default.createElement( - 'div', - { className: 'debug-info-item' }, - 'Playlists:', - ' ', - this.props.core.playlists ? Object.keys(this.props.core.playlists).length : '0' - ), - _react2.default.createElement( - 'div', - { className: 'debug-info-item' }, - 'Tracks:', - ' ', - this.props.core.tracks ? Object.keys(this.props.core.tracks).length : '0' - ), - _react2.default.createElement( - 'div', - { className: 'debug-info-item' }, - 'Users:', - ' ', - this.props.core.users ? Object.keys(this.props.core.users).length : '0' - ), - _react2.default.createElement( - 'div', - { className: 'debug-info-item' }, - 'Notifications:', - ' ', - this.props.ui.notifications ? Object.keys(this.props.ui.notifications).length : '0' - ), - _react2.default.createElement( - 'div', - { className: 'debug-info-item' }, - 'Processes:', - ' ', - this.props.ui.processes ? Object.keys(this.props.ui.processes).length : '0' - ), - _react2.default.createElement( - 'div', - { className: 'debug-info-item' }, - 'Enqueue batches:', - ' ', - this.props.mopidy.enqueue_uris_batches ? this.props.mopidy.enqueue_uris_batches.length : '0' - ), - _react2.default.createElement( - 'div', - { className: 'debug-info-item' }, - 'Cached URLs:', - ' ', - Object.keys((0, _storage.get)('cache')).length - ) - ), - _react2.default.createElement( - 'div', - { className: 'debug-info-section' }, - _react2.default.createElement( - 'h5', - null, - 'Config' - ), - _react2.default.createElement( - 'div', - { className: 'debug-info-item' }, - 'Slim mode:', - ' ', - this.props.ui.slim_mode ? 'on' : 'off' - ), - _react2.default.createElement( - 'div', - { className: 'debug-info-item' }, - 'Test mode:', - ' ', - this.props.ui.test_mode ? 'on' : 'off' - ), - _react2.default.createElement( - 'div', - { className: 'debug-info-item' }, - 'Touch:', - ' ', - (0, _helpers.isTouchDevice)() ? 'on' : 'off' - ), - _react2.default.createElement( - 'div', - { className: 'debug-info-item' }, - 'LocalStorage usage:', - ' ', - localStorageUsage.used, - 'kb (~', - localStorageUsage.percent, - '%)' - ), - _react2.default.createElement( - 'div', - { className: 'debug-info-item' }, - 'Selected tracks:', - ' ', - this.props.ui.selected_tracks.length, - _react2.default.createElement('br', null), - this.props.ui.selected_tracks.map(function (track_key, index) { - return _react2.default.createElement( - 'div', - { key: track_key + '_' + index }, - track_key - ); - }) - ) - ), - _react2.default.createElement( - 'div', - { className: 'debug-info-section' }, - _react2.default.createElement( - 'h5', - null, - 'Load queue' - ), - this.renderLoadQueue() - ) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "debug-info", + "data-qa-node": "div", + "data-qa-file": "DebugInfo" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "debug-info-section", + "data-qa-node": "div", + "data-qa-file": "DebugInfo" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "debug-info-item", + "data-qa-node": "div", + "data-qa-file": "DebugInfo" + }, "Version:", ' ', version), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "debug-info-item", + "data-qa-node": "div", + "data-qa-file": "DebugInfo" + }, "Build:", ' ', build)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "debug-info-section", + "data-qa-node": "div", + "data-qa-file": "DebugInfo" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h5", { + "data-qa-node": "h5", + "data-qa-file": "DebugInfo" + }, "Indexes"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "debug-info-item", + "data-qa-node": "div", + "data-qa-file": "DebugInfo" + }, "Albums:", ' ', this.props.core.albums ? Object.keys(this.props.core.albums).length : '0'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "debug-info-item", + "data-qa-node": "div", + "data-qa-file": "DebugInfo" + }, "Artists:", ' ', this.props.core.artists ? Object.keys(this.props.core.artists).length : '0'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "debug-info-item", + "data-qa-node": "div", + "data-qa-file": "DebugInfo" + }, "Playlists:", ' ', this.props.core.playlists ? Object.keys(this.props.core.playlists).length : '0'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "debug-info-item", + "data-qa-node": "div", + "data-qa-file": "DebugInfo" + }, "Tracks:", ' ', this.props.core.tracks ? Object.keys(this.props.core.tracks).length : '0'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "debug-info-item", + "data-qa-node": "div", + "data-qa-file": "DebugInfo" + }, "Users:", ' ', this.props.core.users ? Object.keys(this.props.core.users).length : '0'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "debug-info-item", + "data-qa-node": "div", + "data-qa-file": "DebugInfo" + }, "Notifications:", ' ', this.props.ui.notifications ? Object.keys(this.props.ui.notifications).length : '0'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "debug-info-item", + "data-qa-node": "div", + "data-qa-file": "DebugInfo" + }, "Processes:", ' ', this.props.ui.processes ? Object.keys(this.props.ui.processes).length : '0'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "debug-info-item", + "data-qa-node": "div", + "data-qa-file": "DebugInfo" + }, "Enqueue batches:", ' ', this.props.mopidy.enqueue_uris_batches ? this.props.mopidy.enqueue_uris_batches.length : '0'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "debug-info-item", + "data-qa-node": "div", + "data-qa-file": "DebugInfo" + }, "Cached URLs:", ' ', Object.keys(Object(_util_storage__WEBPACK_IMPORTED_MODULE_3__["get"])('cache')).length)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "debug-info-section", + "data-qa-node": "div", + "data-qa-file": "DebugInfo" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h5", { + "data-qa-node": "h5", + "data-qa-file": "DebugInfo" + }, "Config"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "debug-info-item", + "data-qa-node": "div", + "data-qa-file": "DebugInfo" + }, "Slim mode:", ' ', this.props.ui.slim_mode ? 'on' : 'off'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "debug-info-item", + "data-qa-node": "div", + "data-qa-file": "DebugInfo" + }, "Test mode:", ' ', this.props.ui.test_mode ? 'on' : 'off'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "debug-info-item", + "data-qa-node": "div", + "data-qa-file": "DebugInfo" + }, "Touch:", ' ', Object(_util_helpers__WEBPACK_IMPORTED_MODULE_4__["isTouchDevice"])() ? 'on' : 'off'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "debug-info-item", + "data-qa-node": "div", + "data-qa-file": "DebugInfo" + }, "LocalStorage usage:", ' ', localStorageUsage.used, "kb (~", localStorageUsage.percent, "%)"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "debug-info-item", + "data-qa-node": "div", + "data-qa-file": "DebugInfo" + }, "Selected tracks:", ' ', this.props.ui.selected_tracks.length, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("br", { + "data-qa-node": "br", + "data-qa-file": "DebugInfo" + }), this.props.ui.selected_tracks.map(function (track_key, index) { + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + key: "".concat(track_key, "_").concat(index), + "data-qa-node": "div", + "data-qa-file": "DebugInfo" + }, track_key); + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "debug-info-section", + "data-qa-node": "div", + "data-qa-file": "DebugInfo" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h5", { + "data-qa-node": "h5", + "data-qa-file": "DebugInfo" + }, "Load queue"), this.renderLoadQueue())); } }]); return DebugInfo; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); var mapStateToProps = function mapStateToProps(state, ownProps) { return { @@ -87023,11 +87374,11 @@ var mapStateToProps = function mapStateToProps(state, ownProps) { var mapDispatchToProps = function mapDispatchToProps(dispatch) { return { - uiActions: (0, _redux.bindActionCreators)(uiActions, dispatch) + uiActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_ui_actions__WEBPACK_IMPORTED_MODULE_5__, dispatch) }; }; -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(DebugInfo); +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapStateToProps, mapDispatchToProps)(DebugInfo)); /***/ }), @@ -87035,61 +87386,62 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)( /*!**************************************!*\ !*** ./src/js/components/Dragger.js ***! \**************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); - -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); - -var _actions = __webpack_require__(/*! ../services/ui/actions */ "./src/js/services/ui/actions.js"); - -var uiActions = _interopRequireWildcard(_actions); - -var _actions2 = __webpack_require__(/*! ../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); - -var mopidyActions = _interopRequireWildcard(_actions2); - -var _actions3 = __webpack_require__(/*! ../services/spotify/actions */ "./src/js/services/spotify/actions.js"); - -var spotifyActions = _interopRequireWildcard(_actions3); - -var _locale = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js"); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var _services_ui_actions__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../services/ui/actions */ "./src/js/services/ui/actions.js"); +/* harmony import */ var _services_mopidy_actions__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); +/* harmony import */ var _services_spotify_actions__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../services/spotify/actions */ "./src/js/services/spotify/actions.js"); +/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -var Dragger = function (_React$Component) { +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + + + + + + + + + +var Dragger = /*#__PURE__*/function (_React$Component) { _inherits(Dragger, _React$Component); + var _super = _createSuper(Dragger); + function Dragger(props) { + var _this; + _classCallCheck(this, Dragger); - var _this = _possibleConstructorReturn(this, (Dragger.__proto__ || Object.getPrototypeOf(Dragger)).call(this, props)); - - _this.handleMouseMove = _this.handleMouseMove.bind(_this); - _this.handleMouseUp = _this.handleMouseUp.bind(_this); - + _this = _super.call(this, props); + _this.handleMouseMove = _this.handleMouseMove.bind(_assertThisInitialized(_this)); + _this.handleMouseUp = _this.handleMouseUp.bind(_assertThisInitialized(_this)); _this.state = { active: false, position_x: 0, @@ -87099,86 +87451,85 @@ var Dragger = function (_React$Component) { } _createClass(Dragger, [{ - key: 'componentDidMount', + key: "componentDidMount", value: function componentDidMount() { window.addEventListener('mousemove', this.handleMouseMove, false); window.addEventListener('mouseup', this.handleMouseUp, false); } }, { - key: 'componentWillUnmount', + key: "componentWillUnmount", value: function componentWillUnmount() { window.removeEventListener('mousemove', this.handleMouseMove, false); window.removeEventListener('mouseup', this.handleMouseUp, false); } }, { - key: 'handleMouseMove', + key: "handleMouseMove", value: function handleMouseMove(e) { - var _props = this.props, - dragger = _props.dragger, - dragActive = _props.uiActions.dragActive; + var _this$props = this.props, + dragger = _this$props.dragger, + dragActive = _this$props.uiActions.dragActive; var target = e.target; - if (!dragger) return null; - var threshold = 10; + if (e.clientX > dragger.start_x + threshold || e.clientX < dragger.start_x - threshold || e.clientY > dragger.start_y + threshold || e.clientY < dragger.start_y - threshold) { this.setState({ position_x: e.clientX, position_y: e.clientY }); - var dropzones = document.getElementsByClassName('dropzone'); + for (var i = 0; i < dropzones.length; i++) { dropzones[i].classList.remove('hover'); } if (target.classList.contains('dropzone') && !target.classList.contains('hover')) { target.className += ' hover'; - } + } // if not already, activate + - // if not already, activate if (!dragger.active) dragActive(); } } }, { - key: 'handleMouseUp', + key: "handleMouseUp", value: function handleMouseUp(e) { - var _props2 = this.props, - dragger = _props2.dragger, - dragEnd = _props2.uiActions.dragEnd; - + var _this$props2 = this.props, + dragger = _this$props2.dragger, + dragEnd = _this$props2.uiActions.dragEnd; if (!dragger) return null; dragEnd(e); } }, { - key: 'render', + key: "render", value: function render() { - var _props$dragger = this.props.dragger; - _props$dragger = _props$dragger === undefined ? {} : _props$dragger; - var active = _props$dragger.active, - victims = _props$dragger.victims; - var _state = this.state, - position_x = _state.position_x, - position_y = _state.position_y; - - + var _this$props$dragger = this.props.dragger; + _this$props$dragger = _this$props$dragger === void 0 ? {} : _this$props$dragger; + var active = _this$props$dragger.active, + victims = _this$props$dragger.victims; + var _this$state = this.state, + position_x = _this$state.position_x, + position_y = _this$state.position_y; if (!active) return null; - - return _react2.default.createElement( - 'div', - { - className: 'dragger', style: { - left: position_x, - top: position_y - } + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "dragger", + style: { + left: position_x, + top: position_y }, - _react2.default.createElement(_locale.I18n, { path: 'dropzones.dragging_things', count: victims.length }) - ); + "data-qa-node": "div", + "data-qa-file": "Dragger" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_6__["I18n"], { + path: "dropzones.dragging_things", + count: victims.length, + "data-qa-node": "I18n", + "data-qa-file": "Dragger" + })); } }]); return Dragger; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); var mapStateToProps = function mapStateToProps(state) { return { @@ -87188,13 +87539,13 @@ var mapStateToProps = function mapStateToProps(state) { var mapDispatchToProps = function mapDispatchToProps(dispatch) { return { - uiActions: (0, _redux.bindActionCreators)(uiActions, dispatch), - spotifyActions: (0, _redux.bindActionCreators)(spotifyActions, dispatch), - mopidyActions: (0, _redux.bindActionCreators)(mopidyActions, dispatch) + uiActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_ui_actions__WEBPACK_IMPORTED_MODULE_3__, dispatch), + spotifyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_spotify_actions__WEBPACK_IMPORTED_MODULE_5__, dispatch), + mopidyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_mopidy_actions__WEBPACK_IMPORTED_MODULE_4__, dispatch) }; }; -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(Dragger); +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapStateToProps, mapDispatchToProps)(Dragger)); /***/ }), @@ -87202,64 +87553,76 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)( /*!********************************************!*\ !*** ./src/js/components/ErrorBoundary.js ***! \********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _ErrorMessage = __webpack_require__(/*! ./ErrorMessage */ "./src/js/components/ErrorMessage.js"); - -var _ErrorMessage2 = _interopRequireDefault(_ErrorMessage); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return ErrorBoundary; }); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _ErrorMessage__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ErrorMessage */ "./src/js/components/ErrorMessage.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -var ErrorBoundary = function (_React$Component) { +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _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; } + + + + +var ErrorBoundary = /*#__PURE__*/function (_React$Component) { _inherits(ErrorBoundary, _React$Component); + var _super = _createSuper(ErrorBoundary); + function ErrorBoundary(props) { + var _this; + _classCallCheck(this, ErrorBoundary); - var _this = _possibleConstructorReturn(this, (ErrorBoundary.__proto__ || Object.getPrototypeOf(ErrorBoundary)).call(this, props)); + _this = _super.call(this, props); - _this.render = function () { + _defineProperty(_assertThisInitialized(_this), "render", function () { var _this$state = _this.state, hasError = _this$state.hasError, _this$state$info = _this$state.info; - _this$state$info = _this$state$info === undefined ? {} : _this$state$info; + _this$state$info = _this$state$info === void 0 ? {} : _this$state$info; var componentStack = _this$state$info.componentStack; var children = _this.props.children; - if (hasError) { - return _react2.default.createElement( - _ErrorMessage2.default, - { type: 'error-boundary' }, - componentStack && _react2.default.createElement( - 'pre', - { className: 'error-message__trace' }, - componentStack - ) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ErrorMessage__WEBPACK_IMPORTED_MODULE_1__["default"], { + type: "error-boundary", + "data-qa-node": "ErrorMessage", + "data-qa-file": "ErrorBoundary" + }, componentStack && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("pre", { + className: "error-message__trace", + "data-qa-node": "pre", + "data-qa-file": "ErrorBoundary" + }, componentStack)); } + return children; - }; + }); _this.state = { hasError: false, @@ -87270,7 +87633,7 @@ var ErrorBoundary = function (_React$Component) { } _createClass(ErrorBoundary, [{ - key: 'componentDidCatch', + key: "componentDidCatch", value: function componentDidCatch(error, info) { this.setState({ hasError: true, @@ -87282,9 +87645,9 @@ var ErrorBoundary = function (_React$Component) { }]); return ErrorBoundary; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); + -exports.default = ErrorBoundary; /***/ }), @@ -87292,48 +87655,38 @@ exports.default = ErrorBoundary; /*!*******************************************!*\ !*** ./src/js/components/ErrorMessage.js ***! \*******************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js"); -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _locale = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js"); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -exports.default = (0, _react.memo)(function (_ref) { +/* harmony default export */ __webpack_exports__["default"] = (/*#__PURE__*/Object(react__WEBPACK_IMPORTED_MODULE_0__["memo"])(function (_ref) { var type = _ref.type, title = _ref.title, children = _ref.children; - return _react2.default.createElement( - 'div', - { className: 'error-message' + (type ? ' error-message--' + type : '') }, - _react2.default.createElement( - 'i', - { className: 'error-message__icon icon icon--material' }, - 'error' - ), - _react2.default.createElement( - 'h4', - { className: 'error-message__title' }, - title || (0, _locale.i18n)('errors.unknown_error') - ), - _react2.default.createElement( - 'div', - { className: 'error-message__content' }, - children - ) - ); -}); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "error-message".concat(type ? " error-message--".concat(type) : ''), + "data-qa-node": "div", + "data-qa-file": "ErrorMessage" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("i", { + className: "error-message__icon icon icon--material", + "data-qa-node": "i", + "data-qa-file": "ErrorMessage" + }, "error"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h4", { + className: "error-message__title", + "data-qa-node": "h4", + "data-qa-file": "ErrorMessage" + }, title || Object(_locale__WEBPACK_IMPORTED_MODULE_1__["i18n"])('errors.unknown_error')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "error-message__content", + "data-qa-node": "div", + "data-qa-file": "ErrorMessage" + }, children)); +})); /***/ }), @@ -87341,202 +87694,212 @@ exports.default = (0, _react.memo)(function (_ref) { /*!**************************************************!*\ !*** ./src/js/components/Fields/AddSeedField.js ***! \**************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* WEBPACK VAR INJECTION */(function($) { - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); - -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); - -var _LinksSentence = __webpack_require__(/*! ../LinksSentence */ "./src/js/components/LinksSentence.js"); - -var _LinksSentence2 = _interopRequireDefault(_LinksSentence); - -var _TextField = __webpack_require__(/*! ./TextField */ "./src/js/components/Fields/TextField.js"); - -var _TextField2 = _interopRequireDefault(_TextField); - -var _actions = __webpack_require__(/*! ../../services/core/actions */ "./src/js/services/core/actions.js"); - -var coreActions = _interopRequireWildcard(_actions); - -var _actions2 = __webpack_require__(/*! ../../services/ui/actions */ "./src/js/services/ui/actions.js"); - -var uiActions = _interopRequireWildcard(_actions2); - -var _actions3 = __webpack_require__(/*! ../../services/spotify/actions */ "./src/js/services/spotify/actions.js"); - -var spotifyActions = _interopRequireWildcard(_actions3); - -var _helpers = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); - -var _locale = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js"); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +__webpack_require__.r(__webpack_exports__); +/* WEBPACK VAR INJECTION */(function($) {/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var _LinksSentence__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../LinksSentence */ "./src/js/components/LinksSentence.js"); +/* harmony import */ var _TextField__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./TextField */ "./src/js/components/Fields/TextField.js"); +/* harmony import */ var _services_core_actions__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../services/core/actions */ "./src/js/services/core/actions.js"); +/* harmony import */ var _services_ui_actions__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../services/ui/actions */ "./src/js/services/ui/actions.js"); +/* harmony import */ var _services_spotify_actions__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../services/spotify/actions */ "./src/js/services/spotify/actions.js"); +/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); +/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -var AddSeedField = function (_React$Component) { +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _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; } + + + + + + + + + + + + +var AddSeedField = /*#__PURE__*/function (_React$Component) { _inherits(AddSeedField, _React$Component); + var _super = _createSuper(AddSeedField); + function AddSeedField(props) { + var _this; + _classCallCheck(this, AddSeedField); - var _this = _possibleConstructorReturn(this, (AddSeedField.__proto__ || Object.getPrototypeOf(AddSeedField)).call(this, props)); + _this = _super.call(this, props); - _this.handleClick = function (e) { + _defineProperty(_assertThisInitialized(_this), "handleClick", function (e) { var clearAutocompleteResults = _this.props.spotifyActions.clearAutocompleteResults; - if ($(e.target).closest('.add-seed-field').length <= 0) { clearAutocompleteResults(_this.id); } - }; + }); - _this.handleChange = function (value) { + _defineProperty(_assertThisInitialized(_this), "handleChange", function (value) { var getAutocompleteResults = _this.props.spotifyActions.getAutocompleteResults; - var self = _this; + var self = _assertThisInitialized(_this); // update our local state - // update our local state - _this.setState({ value: value }); - // start a timer to perform the actual search + _this.setState({ + value: value + }); // start a timer to perform the actual search // this provides a wee delay between key presses to avoid request spamming + + clearTimeout(_this.timer); _this.timer = setTimeout(function () { - self.setState({ searching: true }); + self.setState({ + searching: true + }); getAutocompleteResults(self.id, value, ['artist', 'track', 'genre']); }, 500); - }; + }); - _this.handleSelect = function (e, item) { + _defineProperty(_assertThisInitialized(_this), "handleSelect", function (e, item) { var _this$props = _this.props, onSelect = _this$props.onSelect, clearAutocompleteResults = _this$props.spotifyActions.clearAutocompleteResults; + _this.setState({ + value: '' + }); - _this.setState({ value: '' }); onSelect(e, item.uri); clearAutocompleteResults(_this.id); - }; + }); - _this.results = function (type) { + _defineProperty(_assertThisInitialized(_this), "results", function (type) { var resultsProp = _this.props.results; - - var results = resultsProp[_this.id]; + if (type) { if (results) { return results[type]; } + return null; } + return results; - }; + }); - _this.renderResults = function (type) { + _defineProperty(_assertThisInitialized(_this), "renderResults", function (type) { var results = _this.results(type); + if (!results) return null; + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "type", + "data-qa-node": "div", + "data-qa-file": "AddSeedField" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h4", { + className: "mid_grey-text", + "data-qa-node": "h4", + "data-qa-file": "AddSeedField" + }, type), results.slice(0, 3).map(function (item) { + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "result", + key: item.uri, + onClick: function onClick(e) { + return _this.handleSelect(e, item); + }, + "data-qa-node": "div", + "data-qa-file": "AddSeedField" + }, item.name, type === 'tracks' && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "mid_grey-text", + "data-qa-node": "span", + "data-qa-file": "AddSeedField" + }, ' ', /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_LinksSentence__WEBPACK_IMPORTED_MODULE_3__["default"], { + items: item.artists, + nolinks: true, + "data-qa-node": "LinksSentence", + "data-qa-file": "AddSeedField" + }))); + })); + }); - return _react2.default.createElement( - 'div', - { className: 'type' }, - _react2.default.createElement( - 'h4', - { className: 'mid_grey-text' }, - type - ), - results.slice(0, 3).map(function (item) { - return _react2.default.createElement( - 'div', - { className: 'result', key: item.uri, onClick: function onClick(e) { - return _this.handleSelect(e, item); - } }, - item.name, - type === 'tracks' && _react2.default.createElement( - 'span', - { className: 'mid_grey-text' }, - ' ', - _react2.default.createElement(_LinksSentence2.default, { items: item.artists, nolinks: true }) - ) - ); - }) - ); - }; - - _this.render = function () { + _defineProperty(_assertThisInitialized(_this), "render", function () { var _this$props2 = _this.props, placeholder = _this$props2.placeholder, _this$props2$classNam = _this$props2.className, - classNameProp = _this$props2$classNam === undefined ? '' : _this$props2$classNam; + classNameProp = _this$props2$classNam === void 0 ? '' : _this$props2$classNam; var value = _this.state.value; var results = _this.results(); var className = 'field autocomplete-field add-seed-field'; + if (results && results.loading) { className += ' loading'; } - return _react2.default.createElement( - 'div', - { className: className + ' ' + classNameProp }, - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement(_TextField2.default, { - value: value, - onChange: _this.handleChange, - placeholder: placeholder || (0, _locale.i18n)('fields.start_typing'), - everyChange: true - }) - ), - _react2.default.createElement( - 'div', - { className: 'results' }, - _this.renderResults('artists'), - _this.renderResults('tracks'), - _this.renderResults('genres') - ) - ); - }; + + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "".concat(className, " ").concat(classNameProp), + "data-qa-node": "div", + "data-qa-file": "AddSeedField" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "AddSeedField" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_TextField__WEBPACK_IMPORTED_MODULE_4__["default"], { + value: value, + onChange: _this.handleChange, + placeholder: placeholder || Object(_locale__WEBPACK_IMPORTED_MODULE_9__["i18n"])('fields.start_typing'), + everyChange: true, + "data-qa-node": "TextField", + "data-qa-file": "AddSeedField" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "results", + "data-qa-node": "div", + "data-qa-file": "AddSeedField" + }, _this.renderResults('artists'), _this.renderResults('tracks'), _this.renderResults('genres'))); + }); _this.state = { value: '' }; - _this.id = (0, _helpers.generateGuid)(); + _this.id = Object(_util_helpers__WEBPACK_IMPORTED_MODULE_8__["generateGuid"])(); _this.timer = null; - _this.handleClick = _this.handleClick.bind(_this); + _this.handleClick = _this.handleClick.bind(_assertThisInitialized(_this)); return _this; } _createClass(AddSeedField, [{ - key: 'componentDidMount', + key: "componentDidMount", value: function componentDidMount() { - var _props = this.props, - genres = _props.genres, - getGenres = _props.spotifyActions.getGenres; - - + var _this$props3 = this.props, + genres = _this$props3.genres, + getGenres = _this$props3.spotifyActions.getGenres; window.addEventListener('click', this.handleClick, false); if (!genres) { @@ -87544,14 +87907,14 @@ var AddSeedField = function (_React$Component) { } } }, { - key: 'componentWillUnmount', + key: "componentWillUnmount", value: function componentWillUnmount() { window.removeEventListener('click', this.handleClick, false); } }]); return AddSeedField; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); var mapStateToProps = function mapStateToProps(state) { return { @@ -87562,13 +87925,13 @@ var mapStateToProps = function mapStateToProps(state) { var mapDispatchToProps = function mapDispatchToProps(dispatch) { return { - coreActions: (0, _redux.bindActionCreators)(coreActions, dispatch), - uiActions: (0, _redux.bindActionCreators)(uiActions, dispatch), - spotifyActions: (0, _redux.bindActionCreators)(spotifyActions, dispatch) + coreActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_core_actions__WEBPACK_IMPORTED_MODULE_5__, dispatch), + uiActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_ui_actions__WEBPACK_IMPORTED_MODULE_6__, dispatch), + spotifyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_spotify_actions__WEBPACK_IMPORTED_MODULE_7__, dispatch) }; }; -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(AddSeedField); +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapStateToProps, mapDispatchToProps)(AddSeedField)); /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ "./node_modules/jquery/dist/jquery.js"))) /***/ }), @@ -87577,57 +87940,49 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)( /*!*************************************************!*\ !*** ./src/js/components/Fields/ColourField.js ***! \*************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _Icon__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Icon */ "./src/js/components/Icon.js"); -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _Icon = __webpack_require__(/*! ../Icon */ "./src/js/components/Icon.js"); - -var _Icon2 = _interopRequireDefault(_Icon); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -exports.default = (0, _react.memo)(function (props) { +/* harmony default export */ __webpack_exports__["default"] = (/*#__PURE__*/Object(react__WEBPACK_IMPORTED_MODULE_0__["memo"])(function (props) { var colours = ['', 'white', 'mid_grey', 'grey', 'dark_grey', 'black', 'turquoise', 'green', 'blue', 'light_blue', 'yellow', 'orange', 'red']; + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "colour-field", + "data-qa-node": "div", + "data-qa-file": "ColourField" + }, colours.map(function (colour) { + var text_colour = 'white'; - return _react2.default.createElement( - 'div', - { className: 'colour-field' }, - colours.map(function (colour) { - var text_colour = 'white'; + switch (colour) { + case 'yellow': + case 'white': + case 'light_blue': + text_colour = 'black'; + break; + } - switch (colour) { - case 'yellow': - case 'white': - case 'light_blue': - text_colour = 'black'; - break; - } - - return _react2.default.createElement( - 'div', - { - key: colour, - className: 'colour-field__option ' + (colour ? colour + '-background ' : '') + (props.colour == colour ? 'colour-field__option--selected' : ''), - onClick: function onClick(e) { - return props.onChange(colour); - } - }, - props.colour == colour ? _react2.default.createElement(_Icon2.default, { name: 'check', className: 'colour-field__option__icon ' + text_colour + '-text' }) : null - ); - }) - ); -}); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + key: colour, + className: "colour-field__option ".concat(colour ? "".concat(colour, "-background ") : '').concat(props.colour == colour ? 'colour-field__option--selected' : ''), + onClick: function onClick(e) { + return props.onChange(colour); + }, + "data-qa-node": "div", + "data-qa-file": "ColourField" + }, props.colour == colour ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_1__["default"], { + name: "check", + className: "colour-field__option__icon ".concat(text_colour, "-text"), + "data-qa-node": "Icon", + "data-qa-file": "ColourField" + }) : null); + })); +})); /***/ }), @@ -87635,108 +87990,100 @@ exports.default = (0, _react.memo)(function (props) { /*!**********************************************!*\ !*** ./src/js/components/Fields/Commands.js ***! \**********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return Commands; }); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_sortablejs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-sortablejs */ "./node_modules/react-sortablejs/lib/index.js"); +/* harmony import */ var react_sortablejs__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_sortablejs__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _Icon__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Icon */ "./src/js/components/Icon.js"); +/* harmony import */ var _Link__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Link */ "./src/js/components/Link.js"); +/* harmony import */ var _util_arrays__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../util/arrays */ "./src/js/util/arrays.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } -Object.defineProperty(exports, "__esModule", { - value: true -}); +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _reactSortablejs = __webpack_require__(/*! react-sortablejs */ "./node_modules/react-sortablejs/lib/index.js"); - -var _reactSortablejs2 = _interopRequireDefault(_reactSortablejs); - -var _Icon = __webpack_require__(/*! ../Icon */ "./src/js/components/Icon.js"); - -var _Icon2 = _interopRequireDefault(_Icon); - -var _Link = __webpack_require__(/*! ../Link */ "./src/js/components/Link.js"); - -var _Link2 = _interopRequireDefault(_Link); - -var _arrays = __webpack_require__(/*! ../../util/arrays */ "./src/js/util/arrays.js"); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +function _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; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -var Commands = function (_React$Component) { +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + + + + + + + +var Commands = /*#__PURE__*/function (_React$Component) { _inherits(Commands, _React$Component); + var _super = _createSuper(Commands); + function Commands(props) { _classCallCheck(this, Commands); - return _possibleConstructorReturn(this, (Commands.__proto__ || Object.getPrototypeOf(Commands)).call(this, props)); + return _super.call(this, props); } _createClass(Commands, [{ - key: 'onChange', + key: "onChange", value: function onChange(order) { var commands = {}; + for (var i = 0; i <= order.length; i++) { var command = this.props.commands[order[i]]; + if (command) { - commands[command.id] = _extends({}, command, { sort_order: i }); + commands[command.id] = _objectSpread(_objectSpread({}, command), { + sort_order: i + }); } } this.props.onChange(commands); } }, { - key: 'commands', + key: "commands", value: function commands() { var commands = []; if (this.props.commands) { - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = Object.keys(this.props.commands)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var key = _step.value; - - commands.push(_extends({}, this.props.commands[key])); - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } + for (var _i = 0, _Object$keys = Object.keys(this.props.commands); _i < _Object$keys.length; _i++) { + var key = _Object$keys[_i]; + commands.push(_objectSpread({}, this.props.commands[key])); } } - commands = (0, _arrays.sortItems)(commands, 'sort_order'); - + commands = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_4__["sortItems"])(commands, 'sort_order'); return commands; } }, { - key: 'render', + key: "render", value: function render() { - var _this2 = this; + var _this = this; var commands = this.commands(); @@ -87744,68 +88091,87 @@ var Commands = function (_React$Component) { return null; } - return _react2.default.createElement( - _reactSortablejs2.default, - { - options: { - handle: '.commands-setup__item__drag-handle', - animation: 150 - }, - className: 'list commands-setup', - onChange: function onChange(order, sortable, e) { - _this2.onChange(order); - } + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_sortablejs__WEBPACK_IMPORTED_MODULE_1___default.a, { + options: { + handle: '.commands-setup__item__drag-handle', + animation: 150 }, - commands.map(function (command) { - return _react2.default.createElement( - 'div', - { className: 'list__item commands-setup__item list__item--no-interaction', key: command.id, 'data-id': command.id }, - _react2.default.createElement( - 'div', - { className: 'commands-setup__item__details' }, - _react2.default.createElement(_Icon2.default, { className: 'commands-setup__item__drag-handle', name: 'drag_indicator' }), - _react2.default.createElement( - 'div', - { className: 'commands-setup__item__command-item commands__item commands__item--small' }, - _react2.default.createElement(_Icon2.default, { className: 'commands__item__icon', name: command.icon }), - _react2.default.createElement('span', { className: command.colour + '-background commands__item__background' }) - ), - _react2.default.createElement( - 'div', - { className: 'commands-setup__item__url commands__item__url' }, - command.name ? command.name : _react2.default.createElement( - 'span', - { className: 'grey-text' }, - command.url - ) - ) - ), - _react2.default.createElement( - 'div', - { className: 'commands-setup__item__actions' }, - _react2.default.createElement( - 'a', - { className: 'commands-setup__item__run-button action', onClick: function onClick(e) { - return _this2.props.runCommand(command.id, true); - } }, - _react2.default.createElement(_Icon2.default, { name: 'play_arrow' }) - ), - _react2.default.createElement( - _Link2.default, - { className: 'commands-setup__item__edit-button action', to: '/edit-command/' + command.id }, - _react2.default.createElement(_Icon2.default, { name: 'edit' }) - ) - ) - ); - }) - ); + className: "list commands-setup", + onChange: function onChange(order, sortable, e) { + _this.onChange(order); + }, + "data-qa-node": "Sortable", + "data-qa-file": "Commands" + }, commands.map(function (command) { + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "list__item commands-setup__item list__item--no-interaction", + key: command.id, + "data-id": command.id, + "data-qa-node": "div", + "data-qa-file": "Commands" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "commands-setup__item__details", + "data-qa-node": "div", + "data-qa-file": "Commands" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_2__["default"], { + className: "commands-setup__item__drag-handle", + name: "drag_indicator", + "data-qa-node": "Icon", + "data-qa-file": "Commands" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "commands-setup__item__command-item commands__item commands__item--small", + "data-qa-node": "div", + "data-qa-file": "Commands" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_2__["default"], { + className: "commands__item__icon", + name: command.icon, + "data-qa-node": "Icon", + "data-qa-file": "Commands" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "".concat(command.colour, "-background commands__item__background"), + "data-qa-node": "span", + "data-qa-file": "Commands" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "commands-setup__item__url commands__item__url", + "data-qa-node": "div", + "data-qa-file": "Commands" + }, command.name ? command.name : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "grey-text", + "data-qa-node": "span", + "data-qa-file": "Commands" + }, command.url))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "commands-setup__item__actions", + "data-qa-node": "div", + "data-qa-file": "Commands" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + className: "commands-setup__item__run-button action", + onClick: function onClick(e) { + return _this.props.runCommand(command.id, true); + }, + "data-qa-node": "a", + "data-qa-file": "Commands" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_2__["default"], { + name: "play_arrow", + "data-qa-node": "Icon", + "data-qa-file": "Commands" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Link__WEBPACK_IMPORTED_MODULE_3__["default"], { + className: "commands-setup__item__edit-button action", + to: "/edit-command/".concat(command.id), + "data-qa-node": "Link", + "data-qa-file": "Commands" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_2__["default"], { + name: "edit", + "data-qa-node": "Icon", + "data-qa-file": "Commands" + })))); + })); } }]); return Commands; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); + -exports.default = Commands; /***/ }), @@ -87813,71 +88179,96 @@ exports.default = Commands; /*!********************************************************!*\ !*** ./src/js/components/Fields/ConfirmationButton.js ***! \********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _locale = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js"); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return ConfirmationButton; }); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -var ConfirmationButton = function (_React$Component) { +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _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; } + + + + +var ConfirmationButton = /*#__PURE__*/function (_React$Component) { _inherits(ConfirmationButton, _React$Component); + var _super = _createSuper(ConfirmationButton); + function ConfirmationButton(props) { + var _this; + _classCallCheck(this, ConfirmationButton); - var _this = _possibleConstructorReturn(this, (ConfirmationButton.__proto__ || Object.getPrototypeOf(ConfirmationButton)).call(this, props)); + _this = _super.call(this, props); - _this.handleClick = function () { + _defineProperty(_assertThisInitialized(_this), "handleClick", function () { var confirming = _this.state.confirming; var onConfirm = _this.props.onConfirm; - if (confirming) { - _this.setState({ confirming: false }); + _this.setState({ + confirming: false + }); + onConfirm(); } else { - _this.setState({ confirming: true }); + _this.setState({ + confirming: true + }); } - }; + }); + + _defineProperty(_assertThisInitialized(_this), "handleMouseEnter", function () { + _this.setState({ + timing_out: false + }); - _this.handleMouseEnter = function () { - _this.setState({ timing_out: false }); clearTimeout(_this.unconfirmTimer); - }; + }); - _this.handleMouseLeave = function () { + _defineProperty(_assertThisInitialized(_this), "handleMouseLeave", function () { var confirming = _this.state.confirming; - if (confirming) { - _this.setState({ timing_out: true }); + _this.setState({ + timing_out: true + }); + _this.unconfirmTimer = setTimeout(function () { - _this.setState({ confirming: false }); + _this.setState({ + confirming: false + }); }, 2000); } - }; + }); - _this.render = function () { + _defineProperty(_assertThisInitialized(_this), "render", function () { var _this$props = _this.props, confirmingContent = _this$props.confirmingContent, working = _this$props.working, @@ -87887,12 +88278,12 @@ var ConfirmationButton = function (_React$Component) { var _this$state = _this.state, confirming = _this$state.confirming, timing_out = _this$state.timing_out; - var className = 'button'; if (confirming) { className += ' button--confirming'; - content = confirmingContent || (0, _locale.i18n)('actions.confirm'); + content = confirmingContent || Object(_locale__WEBPACK_IMPORTED_MODULE_1__["i18n"])('actions.confirm'); + if (timing_out) { className += ' button--timing-out'; } @@ -87906,18 +88297,16 @@ var ConfirmationButton = function (_React$Component) { } } - return _react2.default.createElement( - 'button', - { - className: className + ' ' + classNameProp, - onClick: _this.handleClick, - onMouseLeave: _this.handleMouseLeave, - onMouseEnter: _this.handleMouseEnter, - type: 'button' - }, - content - ); - }; + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", { + className: "".concat(className, " ").concat(classNameProp), + onClick: _this.handleClick, + onMouseLeave: _this.handleMouseLeave, + onMouseEnter: _this.handleMouseEnter, + type: "button", + "data-qa-node": "button", + "data-qa-file": "ConfirmationButton" + }, content); + }); _this.state = { timing_out: false, @@ -87929,16 +88318,16 @@ var ConfirmationButton = function (_React$Component) { } _createClass(ConfirmationButton, [{ - key: 'componentWillUnmount', + key: "componentWillUnmount", value: function componentWillUnmount() { clearTimeout(this.unconfirmTimer); } }]); return ConfirmationButton; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); + -exports.default = ConfirmationButton; /***/ }), @@ -87946,90 +88335,117 @@ exports.default = ConfirmationButton; /*!***************************************************!*\ !*** ./src/js/components/Fields/DropdownField.js ***! \***************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* WEBPACK VAR INJECTION */(function($) { +__webpack_require__.r(__webpack_exports__); +/* WEBPACK VAR INJECTION */(function($) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return DropdownField; }); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _Icon__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Icon */ "./src/js/components/Icon.js"); +/* harmony import */ var _util_arrays__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/arrays */ "./src/js/util/arrays.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } -Object.defineProperty(exports, "__esModule", { - value: true -}); +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); } -var _react2 = _interopRequireDefault(_react); +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } -var _Icon = __webpack_require__(/*! ../Icon */ "./src/js/components/Icon.js"); +function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } -var _Icon2 = _interopRequireDefault(_Icon); +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } -var _arrays = __webpack_require__(/*! ../../util/arrays */ "./src/js/util/arrays.js"); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -var DropdownField = function (_React$Component) { +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + + + + + +var DropdownField = /*#__PURE__*/function (_React$Component) { _inherits(DropdownField, _React$Component); + var _super = _createSuper(DropdownField); + function DropdownField(props) { + var _this; + _classCallCheck(this, DropdownField); - // Create a "unique" id. This is human-controlled to avoid requiring + _this = _super.call(this, props); // Create a "unique" id. This is human-controlled to avoid requiring // other libraries for a very simple purpose: clicking outside - var _this = _possibleConstructorReturn(this, (DropdownField.__proto__ || Object.getPrototypeOf(DropdownField)).call(this, props)); _this.uid = _this.props.name.replace(' ', '_').toLowerCase(); + if (_this.props.uid) { - _this.uid += '_' + _this.props.uid; + _this.uid += "_".concat(_this.props.uid); } _this.state = { expanded: false, changed: false }; - - _this.handleClick = _this.handleClick.bind(_this); + _this.handleClick = _this.handleClick.bind(_assertThisInitialized(_this)); return _this; } _createClass(DropdownField, [{ - key: 'componentDidMount', + key: "componentDidMount", value: function componentDidMount() { window.addEventListener('click', this.handleClick, false); } }, { - key: 'componentWillUnmount', + key: "componentWillUnmount", value: function componentWillUnmount() { window.removeEventListener('click', this.handleClick, false); } }, { - key: 'setExpanded', + key: "setExpanded", value: function setExpanded() { var expanded = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : !this.state.expanded; if (expanded) { - this.setState({ expanded: expanded, changed: false }); + this.setState({ + expanded: expanded, + changed: false + }); window.addEventListener('click', this.handleClick, false); } else { - this.setState({ expanded: expanded }); + this.setState({ + expanded: expanded + }); window.removeEventListener('click', this.handleClick, false); + if (this.props.onClose && this.state.changed) { this.props.onClose(); } } } }, { - key: 'handleClick', + key: "handleClick", value: function handleClick(e) { // TODO: remove dependency on jQuery and explore the performance of this functionality if ($(e.target).closest('.dropdown-field').attr('data-uid') != this.uid && this.state.expanded) { @@ -88037,14 +88453,17 @@ var DropdownField = function (_React$Component) { } } }, { - key: 'handleChange', + key: "handleChange", value: function handleChange(value, is_selected) { var current_value = this.props.value; - this.setState({ changed: true }); + this.setState({ + changed: true + }); if (this.isMultiSelect()) { if (value == 'select-all') { var new_value = []; + for (var i = 0; i < this.props.options.length; i++) { new_value.push(this.props.options[i].value); } @@ -88056,28 +88475,27 @@ var DropdownField = function (_React$Component) { current_value.push(value); var new_value = current_value; } - new_value = (0, _arrays.removeDuplicates)(new_value); - } else { - var new_value = value; - // Collapse our menu + new_value = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_2__["removeDuplicates"])(new_value); + } else { + var new_value = value; // Collapse our menu + this.setExpanded(false); } return this.props.handleChange(new_value); } }, { - key: 'isMultiSelect', + key: "isMultiSelect", value: function isMultiSelect() { return this.props.value instanceof Array; } }, { - key: 'selectedOptions', + key: "selectedOptions", value: function selectedOptions() { - var _props = this.props, - optionsProp = _props.options, - value = _props.value; - + var _this$props = this.props, + optionsProp = _this$props.options, + value = _this$props.value; var selectedOptions = []; if (optionsProp) { @@ -88086,35 +88504,24 @@ var DropdownField = function (_React$Component) { selectedOptions = [optionsProp[0]]; } else { if (this.isMultiSelect()) { - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; + var _iterator = _createForOfIteratorHelper(value), + _step; try { var _loop = function _loop() { var multiSelectValue = _step.value; - selectedOptions = [].concat(_toConsumableArray(selectedOptions), _toConsumableArray(optionsProp.filter(function (option) { return option.value === multiSelectValue; }))); }; - for (var _iterator = value[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + for (_iterator.s(); !(_step = _iterator.n()).done;) { _loop(); } } catch (err) { - _didIteratorError = true; - _iteratorError = err; + _iterator.e(err); } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } + _iterator.f(); } } else { selectedOptions = optionsProp.filter(function (option) { @@ -88127,32 +88534,29 @@ var DropdownField = function (_React$Component) { return selectedOptions; } }, { - key: 'render', + key: "render", value: function render() { var _this2 = this; - var _props2 = this.props, - optionsProp = _props2.options, - no_status_icon = _props2.no_status_icon, - no_label = _props2.no_label, - button = _props2.button, - _props2$className = _props2.className, - classNameProp = _props2$className === undefined ? '' : _props2$className, - name = _props2.name, - value = _props2.value, - icon = _props2.icon, - icon_type = _props2.icon_type, - selectedIconProp = _props2.selected_icon, - valueAsLabel = _props2.valueAsLabel, - noLabel = _props2.noLabel; + var _this$props2 = this.props, + optionsProp = _this$props2.options, + no_status_icon = _this$props2.no_status_icon, + no_label = _this$props2.no_label, + button = _this$props2.button, + _this$props2$classNam = _this$props2.className, + classNameProp = _this$props2$classNam === void 0 ? '' : _this$props2$classNam, + name = _this$props2.name, + value = _this$props2.value, + icon = _this$props2.icon, + icon_type = _this$props2.icon_type, + selectedIconProp = _this$props2.selected_icon, + valueAsLabel = _this$props2.valueAsLabel, + noLabel = _this$props2.noLabel; var expanded = this.state.expanded; - - if (!optionsProp) return null; - var selectedOptions = this.selectedOptions(); - var options = Object.assign([], optionsProp); + if (this.isMultiSelect()) { options.push({ value: 'select-all', @@ -88161,73 +88565,81 @@ var DropdownField = function (_React$Component) { }); } - var className = 'dropdown-field ' + classNameProp; + var className = "dropdown-field ".concat(classNameProp); if (expanded) className += ' dropdown-field--expanded'; if (no_status_icon) className += ' dropdown-field--no-status-icon'; if (no_label) className += ' dropdown-field--no-label'; if (button) className += ' dropdown-field--buttonify'; + var selected_icon = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_1__["default"], { + name: "check", + "data-qa-node": "Icon", + "data-qa-file": "DropdownField" + }); - var selected_icon = _react2.default.createElement(_Icon2.default, { name: 'check' }); if (selectedIconProp) { - selected_icon = _react2.default.createElement(_Icon2.default, { name: selectedIconProp }); + selected_icon = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_1__["default"], { + name: selectedIconProp, + "data-qa-node": "Icon", + "data-qa-file": "DropdownField" + }); } - return _react2.default.createElement( - 'div', - { className: className, 'data-uid': this.uid }, - _react2.default.createElement( - 'div', - { className: 'dropdown-field__label' + (button ? ' button ' + button : ''), onClick: function onClick(e) { - return _this2.setExpanded(); - } }, - icon ? _react2.default.createElement(_Icon2.default, { name: icon, type: icon_type ? icon_type : 'material' }) : null, - !noLabel && _react2.default.createElement( - 'span', - { className: 'text' }, - _react2.default.createElement( - 'span', - { className: 'dropdown-field__label__value' }, - valueAsLabel && selectedOptions.length === 1 ? selectedOptions[0].label : name - ), - _react2.default.createElement( - 'span', - { className: 'dropdown-field__label__name' }, - name - ), - this.isMultiSelect() ? ' (' + selectedOptions.length + ')' : null - ) - ), - _react2.default.createElement( - 'div', - { className: 'dropdown-field__options' }, - _react2.default.createElement( - 'div', - { className: 'dropdown-field__options__liner' }, - options.map(function (option) { - var is_selected = selectedOptions.includes(option); - return _react2.default.createElement( - 'div', - { - className: 'dropdown-field__options__item ' + (option.className ? option.className : ''), - key: option.value, - onClick: function onClick(e) { - return _this2.handleChange(option.value, is_selected); - } - }, - !no_status_icon && is_selected && selected_icon, - option.label - ); - }) - ) - ) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: className, + "data-uid": this.uid, + "data-qa-node": "div", + "data-qa-file": "DropdownField" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "dropdown-field__label".concat(button ? " button ".concat(button) : ''), + onClick: function onClick(e) { + return _this2.setExpanded(); + }, + "data-qa-node": "div", + "data-qa-file": "DropdownField" + }, icon ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_1__["default"], { + name: icon, + type: icon_type ? icon_type : 'material', + "data-qa-node": "Icon", + "data-qa-file": "DropdownField" + }) : null, !noLabel && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "text", + "data-qa-node": "span", + "data-qa-file": "DropdownField" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "dropdown-field__label__value", + "data-qa-node": "span", + "data-qa-file": "DropdownField" + }, valueAsLabel && selectedOptions.length === 1 ? selectedOptions[0].label : name), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "dropdown-field__label__name", + "data-qa-node": "span", + "data-qa-file": "DropdownField" + }, name), this.isMultiSelect() ? " (".concat(selectedOptions.length, ")") : null)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "dropdown-field__options", + "data-qa-node": "div", + "data-qa-file": "DropdownField" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "dropdown-field__options__liner", + "data-qa-node": "div", + "data-qa-file": "DropdownField" + }, options.map(function (option) { + var is_selected = selectedOptions.includes(option); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "dropdown-field__options__item ".concat(option.className ? option.className : ''), + key: option.value, + onClick: function onClick(e) { + return _this2.handleChange(option.value, is_selected); + }, + "data-qa-node": "div", + "data-qa-file": "DropdownField" + }, !no_status_icon && is_selected && selected_icon, option.label); + })))); } }]); return DropdownField; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); + -exports.default = DropdownField; /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ "./node_modules/jquery/dist/jquery.js"))) /***/ }), @@ -88236,91 +88648,104 @@ exports.default = DropdownField; /*!**********************************************!*\ !*** ./src/js/components/Fields/Dropzone.js ***! \**********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _Icon = __webpack_require__(/*! ../Icon */ "./src/js/components/Icon.js"); - -var _Icon2 = _interopRequireDefault(_Icon); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return Dropzone; }); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _Icon__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Icon */ "./src/js/components/Icon.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -var Dropzone = function (_React$Component) { +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _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; } + + + + +var Dropzone = /*#__PURE__*/function (_React$Component) { _inherits(Dropzone, _React$Component); + var _super = _createSuper(Dropzone); + function Dropzone(props) { + var _this; + _classCallCheck(this, Dropzone); - var _this = _possibleConstructorReturn(this, (Dropzone.__proto__ || Object.getPrototypeOf(Dropzone)).call(this, props)); + _this = _super.call(this, props); - _this.handleMouseOver = function () { - _this.setState({ hover: true }); - }; + _defineProperty(_assertThisInitialized(_this), "handleMouseOver", function () { + _this.setState({ + hover: true + }); + }); - _this.handleMouseOut = function () { - _this.setState({ hover: false }); - }; + _defineProperty(_assertThisInitialized(_this), "handleMouseOut", function () { + _this.setState({ + hover: false + }); + }); - _this.render = function () { + _defineProperty(_assertThisInitialized(_this), "render", function () { var _this$props = _this.props, data = _this$props.data, handleMouseUp = _this$props.handleMouseUp; var hover = _this.state.hover; - - if (!data) return null; - - return _react2.default.createElement( - 'div', - { - className: hover ? 'dropzone hover' : 'dropzone', - onMouseUp: handleMouseUp - }, - _react2.default.createElement(_Icon2.default, { name: data.icon }), - _react2.default.createElement( - 'span', - { className: 'title' }, - data.title - ) - ); - }; + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: hover ? 'dropzone hover' : 'dropzone', + onMouseUp: handleMouseUp, + "data-qa-node": "div", + "data-qa-file": "Dropzone" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_1__["default"], { + name: data.icon, + "data-qa-node": "Icon", + "data-qa-file": "Dropzone" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "title", + "data-qa-node": "span", + "data-qa-file": "Dropzone" + }, data.title)); + }); _this.state = { hover: false }; - - _this.handleMouseOver = _this.handleMouseOver.bind(_this); - _this.handleMouseOut = _this.handleMouseOut.bind(_this); + _this.handleMouseOver = _this.handleMouseOver.bind(_assertThisInitialized(_this)); + _this.handleMouseOut = _this.handleMouseOut.bind(_assertThisInitialized(_this)); return _this; } _createClass(Dropzone, [{ - key: 'componentDidMount', + key: "componentDidMount", value: function componentDidMount() { window.addEventListener('mouseover', this.handleMouseOver, false); window.addEventListener('mouseout', this.handleMouseOut, false); } }, { - key: 'componentWillUnmount', + key: "componentWillUnmount", value: function componentWillUnmount() { window.removeEventListener('mouseover', this.handleMouseOver, false); window.removeEventListener('mouseout', this.handleMouseOut, false); @@ -88328,9 +88753,9 @@ var Dropzone = function (_React$Component) { }]); return Dropzone; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); + -exports.default = Dropzone; /***/ }), @@ -88338,134 +88763,136 @@ exports.default = Dropzone; /*!***********************************************!*\ !*** ./src/js/components/Fields/Dropzones.js ***! \***********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); - -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); - -var _reactRouter = __webpack_require__(/*! react-router */ "./node_modules/react-router/esm/react-router.js"); - -var _Dropzone = __webpack_require__(/*! ./Dropzone */ "./src/js/components/Fields/Dropzone.js"); - -var _Dropzone2 = _interopRequireDefault(_Dropzone); - -var _actions = __webpack_require__(/*! ../../services/ui/actions */ "./src/js/services/ui/actions.js"); - -var uiActions = _interopRequireWildcard(_actions); - -var _actions2 = __webpack_require__(/*! ../../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); - -var mopidyActions = _interopRequireWildcard(_actions2); - -var _actions3 = __webpack_require__(/*! ../../services/spotify/actions */ "./src/js/services/spotify/actions.js"); - -var spotifyActions = _interopRequireWildcard(_actions3); - -var _arrays = __webpack_require__(/*! ../../util/arrays */ "./src/js/util/arrays.js"); - -var _helpers = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); - -var _locale = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js"); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var react_router__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-router */ "./node_modules/react-router/esm/react-router.js"); +/* harmony import */ var _Dropzone__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Dropzone */ "./src/js/components/Fields/Dropzone.js"); +/* harmony import */ var _services_ui_actions__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../services/ui/actions */ "./src/js/services/ui/actions.js"); +/* harmony import */ var _services_mopidy_actions__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); +/* harmony import */ var _services_spotify_actions__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../services/spotify/actions */ "./src/js/services/spotify/actions.js"); +/* harmony import */ var _util_arrays__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../util/arrays */ "./src/js/util/arrays.js"); +/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); +/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } -var Dropzones = function (_React$Component) { +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _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; } + + + + + + + + + + + + + +var Dropzones = /*#__PURE__*/function (_React$Component) { _inherits(Dropzones, _React$Component); + var _super = _createSuper(Dropzones); + function Dropzones(props) { + var _this; + _classCallCheck(this, Dropzones); - var _this = _possibleConstructorReturn(this, (Dropzones.__proto__ || Object.getPrototypeOf(Dropzones)).call(this, props)); + _this = _super.call(this, props); - _this.handleMouseMove = function (e) { + _defineProperty(_assertThisInitialized(_this), "handleMouseMove", function (e) { var _this$props = _this.props, _this$props$dragger = _this$props.dragger, - dragger = _this$props$dragger === undefined ? {} : _this$props$dragger, + dragger = _this$props$dragger === void 0 ? {} : _this$props$dragger, dragMove = _this$props.uiActions.dragMove; - if (!dragger || !dragger.active) return null; return dragMove(e); - }; + }); - _this.handleMouseUp = function (zone) { + _defineProperty(_assertThisInitialized(_this), "handleMouseUp", function (zone) { var _this$props2 = _this.props, _this$props2$dragger = _this$props2.dragger, _this$props2$dragger$ = _this$props2$dragger.victims, - victims = _this$props2$dragger$ === undefined ? [] : _this$props2$dragger$, + victims = _this$props2$dragger$ === void 0 ? [] : _this$props2$dragger$, from_uri = _this$props2$dragger.from_uri, enqueueURIs = _this$props2.mopidyActions.enqueueURIs, history = _this$props2.history; - - var uris = (0, _arrays.arrayOf)('uri', victims); + var uris = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_8__["arrayOf"])('uri', victims); switch (zone.action) { case 'enqueue': enqueueURIs(uris, from_uri); break; + case 'enqueue_next': enqueueURIs(uris, from_uri, true); break; + case 'add_to_playlist': - history.push('/add-to-playlist/' + encodeURIComponent(uris.join(','))); - // uris + history.push("/add-to-playlist/".concat(encodeURIComponent(uris.join(',')))); // uris + break; + default: break; } - }; + }); - _this.render = function () { + _defineProperty(_assertThisInitialized(_this), "render", function () { var _this$props$dragger2 = _this.props.dragger, - dragger = _this$props$dragger2 === undefined ? {} : _this$props$dragger2; - + dragger = _this$props$dragger2 === void 0 ? {} : _this$props$dragger2; if (!dragger || !dragger.active) return null; - - return _react2.default.createElement( - 'div', - { className: 'dropzones' }, - _this._zones.map(function (zone) { - return _react2.default.createElement(_Dropzone2.default, { - key: zone.action, - data: zone, - handleMouseUp: function handleMouseUp() { - return _this.handleMouseUp(zone); - } - }); - }) - ); - }; + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "dropzones", + "data-qa-node": "div", + "data-qa-file": "Dropzones" + }, _this._zones.map(function (zone) { + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Dropzone__WEBPACK_IMPORTED_MODULE_4__["default"], { + key: zone.action, + data: zone, + handleMouseUp: function handleMouseUp() { + return _this.handleMouseUp(zone); + }, + "data-qa-node": "Dropzone", + "data-qa-file": "Dropzones" + }); + })); + }); _this._zones = [{ - title: (0, _locale.i18n)('actions.add_to_queue'), + title: Object(_locale__WEBPACK_IMPORTED_MODULE_10__["i18n"])('actions.add_to_queue'), icon: 'play_arrow', action: 'enqueue' }, { - title: (0, _locale.i18n)('actions.play_next'), + title: Object(_locale__WEBPACK_IMPORTED_MODULE_10__["i18n"])('actions.play_next'), icon: 'play_arrow', action: 'enqueue_next' }, { - title: (0, _locale.i18n)('actions.add_to_playlist'), + title: Object(_locale__WEBPACK_IMPORTED_MODULE_10__["i18n"])('actions.add_to_playlist'), icon: 'playlist_add', action: 'add_to_playlist', accepts: ['tltrack', 'track', 'album', 'playlist', 'artist'] @@ -88474,7 +88901,7 @@ var Dropzones = function (_React$Component) { } return Dropzones; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); var mapStateToProps = function mapStateToProps(state, ownProps) { return { @@ -88484,13 +88911,13 @@ var mapStateToProps = function mapStateToProps(state, ownProps) { var mapDispatchToProps = function mapDispatchToProps(dispatch) { return { - uiActions: (0, _redux.bindActionCreators)(uiActions, dispatch), - spotifyActions: (0, _redux.bindActionCreators)(spotifyActions, dispatch), - mopidyActions: (0, _redux.bindActionCreators)(mopidyActions, dispatch) + uiActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_ui_actions__WEBPACK_IMPORTED_MODULE_5__, dispatch), + spotifyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_spotify_actions__WEBPACK_IMPORTED_MODULE_7__, dispatch), + mopidyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_mopidy_actions__WEBPACK_IMPORTED_MODULE_6__, dispatch) }; }; -exports.default = (0, _reactRouter.withRouter)((0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(Dropzones)); +/* harmony default export */ __webpack_exports__["default"] = (Object(react_router__WEBPACK_IMPORTED_MODULE_3__["withRouter"])(Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapStateToProps, mapDispatchToProps)(Dropzones))); /***/ }), @@ -88498,96 +88925,103 @@ exports.default = (0, _reactRouter.withRouter)((0, _reactRedux.connect)(mapState /*!*************************************************!*\ !*** ./src/js/components/Fields/FilterField.js ***! \*************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _Link = __webpack_require__(/*! ../Link */ "./src/js/components/Link.js"); - -var _Link2 = _interopRequireDefault(_Link); - -var _Icon = __webpack_require__(/*! ../Icon */ "./src/js/components/Icon.js"); - -var _Icon2 = _interopRequireDefault(_Icon); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return FilterField; }); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _Link__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Link */ "./src/js/components/Link.js"); +/* harmony import */ var _Icon__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Icon */ "./src/js/components/Icon.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -var FilterField = function (_React$Component) { +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + + + + + +var FilterField = /*#__PURE__*/function (_React$Component) { _inherits(FilterField, _React$Component); + var _super = _createSuper(FilterField); + function FilterField(props) { + var _this; + _classCallCheck(this, FilterField); - var _this = _possibleConstructorReturn(this, (FilterField.__proto__ || Object.getPrototypeOf(FilterField)).call(this, props)); - + _this = _super.call(this, props); _this.state = { value: '', active: !!_this.props.slim_mode }; - - _this.handleKeyUp = _this.handleKeyUp.bind(_this); + _this.handleKeyUp = _this.handleKeyUp.bind(_assertThisInitialized(_this)); return _this; } _createClass(FilterField, [{ - key: 'componentDidMount', + key: "componentDidMount", value: function componentDidMount() { window.addEventListener('keyup', this.handleKeyUp, false); - this.setState({ value: this.props.initialValue }); + this.setState({ + value: this.props.initialValue + }); } }, { - key: 'componentWillUnmount', + key: "componentWillUnmount", value: function componentWillUnmount() { window.removeEventListener('keyup', this.handleKeyUp, false); } }, { - key: 'handleKeyUp', + key: "handleKeyUp", value: function handleKeyUp(e) { if (e.keyCode == 27 && !this.props.slim_mode) { e.preventDefault(); - this.setState({ value: '', active: false }); - this.handleChange(''); } } }, { - key: 'handleSubmit', + key: "handleSubmit", value: function handleSubmit(e) { var onSubmit = this.props.onSubmit; - if (onSubmit) onSubmit(e); e.preventDefault(); return false; } }, { - key: 'activate', + key: "activate", value: function activate() { - this.setState({ active: true }); + this.setState({ + active: true + }); } }, { - key: 'handleChange', + key: "handleChange", value: function handleChange(value) { this.setState({ value: value, @@ -88596,51 +89030,60 @@ var FilterField = function (_React$Component) { this.props.handleChange(value); } }, { - key: 'handleBlur', + key: "handleBlur", value: function handleBlur() { if (this.state.value == '' && !this.props.slim_mode) { - this.setState({ active: false }); + this.setState({ + active: false + }); } } }, { - key: 'render', + key: "render", value: function render() { var _this2 = this; - return _react2.default.createElement( - 'span', - { className: 'filter-field ' + (this.state.active ? 'active' : ''), onClick: function onClick(e) { - return _this2.activate(); - } }, - _react2.default.createElement( - 'form', - { onSubmit: function onSubmit(e) { - return _this2.handleSubmit(e); - } }, - _react2.default.createElement('input', { - type: 'text', - placeholder: 'Filter', - value: this.state.value, - onFocus: function onFocus(e) { - return _this2.activate(); - }, - onBlur: function onBlur(e) { - return _this2.handleBlur(); - }, - onChange: function onChange(e) { - return _this2.handleChange(e.target.value); - } - }), - _react2.default.createElement(_Icon2.default, { name: 'search', type: 'material' }) - ) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "filter-field ".concat(this.state.active ? 'active' : ''), + onClick: function onClick(e) { + return _this2.activate(); + }, + "data-qa-node": "span", + "data-qa-file": "FilterField" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("form", { + onSubmit: function onSubmit(e) { + return _this2.handleSubmit(e); + }, + "data-qa-node": "form", + "data-qa-file": "FilterField" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { + type: "text", + placeholder: "Filter", + value: this.state.value, + onFocus: function onFocus(e) { + return _this2.activate(); + }, + onBlur: function onBlur(e) { + return _this2.handleBlur(); + }, + onChange: function onChange(e) { + return _this2.handleChange(e.target.value); + }, + "data-qa-node": "input", + "data-qa-file": "FilterField" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_2__["default"], { + name: "search", + type: "material", + "data-qa-node": "Icon", + "data-qa-file": "FilterField" + }))); } }]); return FilterField; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); + -exports.default = FilterField; /***/ }), @@ -88648,81 +89091,88 @@ exports.default = FilterField; /*!**************************************************!*\ !*** ./src/js/components/Fields/FollowButton.js ***! \**************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); - -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); - -var _actions = __webpack_require__(/*! ../../services/ui/actions */ "./src/js/services/ui/actions.js"); - -var uiActions = _interopRequireWildcard(_actions); - -var _actions2 = __webpack_require__(/*! ../../services/spotify/actions */ "./src/js/services/spotify/actions.js"); - -var spotifyActions = _interopRequireWildcard(_actions2); - -var _helpers = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); - -var _locale = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js"); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var _services_ui_actions__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../services/ui/actions */ "./src/js/services/ui/actions.js"); +/* harmony import */ var _services_spotify_actions__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../services/spotify/actions */ "./src/js/services/spotify/actions.js"); +/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); +/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } -var FollowButton = function (_React$Component) { +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _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; } + + + + + + + + + +var FollowButton = /*#__PURE__*/function (_React$Component) { _inherits(FollowButton, _React$Component); - function FollowButton() { - var _ref; + var _super = _createSuper(FollowButton); - var _temp, _this, _ret; + function FollowButton() { + var _this; _classCallCheck(this, FollowButton); - for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } - return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = FollowButton.__proto__ || Object.getPrototypeOf(FollowButton)).call.apply(_ref, [this].concat(args))), _this), _this.remove = function () { + _this = _super.call.apply(_super, [this].concat(args)); + + _defineProperty(_assertThisInitialized(_this), "remove", function () { var _this$props = _this.props, actions = _this$props.spotifyActions, uri = _this$props.uri; - actions.following(uri, 'DELETE'); - }, _this.add = function () { + }); + + _defineProperty(_assertThisInitialized(_this), "add", function () { var _this$props2 = _this.props, actions = _this$props2.spotifyActions, uri = _this$props2.uri; - actions.following(uri, 'PUT'); - }, _this.unauthorized = function () { + }); + + _defineProperty(_assertThisInitialized(_this), "unauthorized", function () { var createNotification = _this.props.uiActions.createNotification; - - createNotification({ - content: (0, _locale.i18n)('errors.authorization_required', { provider: (0, _locale.i18n)('services.spotify.title') }), + content: Object(_locale__WEBPACK_IMPORTED_MODULE_6__["i18n"])('errors.authorization_required', { + provider: Object(_locale__WEBPACK_IMPORTED_MODULE_6__["i18n"])('services.spotify.title') + }), level: 'warning' }); - }, _this.render = function () { + }); + + _defineProperty(_assertThisInitialized(_this), "render", function () { var _this$props3 = _this.props, uri = _this$props3.uri, addText = _this$props3.addText, @@ -88731,50 +89181,47 @@ var FollowButton = function (_React$Component) { is_following = _this$props3.is_following, load_queue = _this$props3.load_queue; var className = _this.props.className; - - if (!uri) return null; - className += ' button'; - if ((0, _helpers.isLoading)(load_queue, ['spotify_me/tracks?', 'spotify_me/albums?', 'spotify_me/following?', 'spotify_playlists/' + (0, _helpers.getFromUri)('playlistid', uri) + '/followers?'])) { + + if (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_5__["isLoading"])(load_queue, ['spotify_me/tracks?', 'spotify_me/albums?', 'spotify_me/following?', "spotify_playlists/".concat(Object(_util_helpers__WEBPACK_IMPORTED_MODULE_5__["getFromUri"])('playlistid', uri), "/followers?")])) { className += ' button--working'; } if (!spotify_authorized) { - return _react2.default.createElement( - 'button', - { - type: 'button', - className: className + ' button--disabled', - onClick: _this.unauthorized - }, - addText || (0, _locale.i18n)('actions.add_to_library') - ); - }if (is_following === true) { - return _react2.default.createElement( - 'button', - { - type: 'button', - className: className + ' button--destructive', - onClick: _this.remove - }, - removeText || (0, _locale.i18n)('actions.remove_from_library') - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", { + type: "button", + className: "".concat(className, " button--disabled"), + onClick: _this.unauthorized, + "data-qa-node": "button", + "data-qa-file": "FollowButton" + }, addText || Object(_locale__WEBPACK_IMPORTED_MODULE_6__["i18n"])('actions.add_to_library')); } - return _react2.default.createElement( - 'button', - { - type: 'button', - className: className + ' button--default', - onClick: _this.add - }, - addText || (0, _locale.i18n)('actions.add_to_library') - ); - }, _temp), _possibleConstructorReturn(_this, _ret); + + if (is_following === true) { + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", { + type: "button", + className: "".concat(className, " button--destructive"), + onClick: _this.remove, + "data-qa-node": "button", + "data-qa-file": "FollowButton" + }, removeText || Object(_locale__WEBPACK_IMPORTED_MODULE_6__["i18n"])('actions.remove_from_library')); + } + + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", { + type: "button", + className: "".concat(className, " button--default"), + onClick: _this.add, + "data-qa-node": "button", + "data-qa-file": "FollowButton" + }, addText || Object(_locale__WEBPACK_IMPORTED_MODULE_6__["i18n"])('actions.add_to_library')); + }); + + return _this; } return FollowButton; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); var mapStateToProps = function mapStateToProps(state) { return { @@ -88785,12 +89232,12 @@ var mapStateToProps = function mapStateToProps(state) { var mapDispatchToProps = function mapDispatchToProps(dispatch) { return { - uiActions: (0, _redux.bindActionCreators)(uiActions, dispatch), - spotifyActions: (0, _redux.bindActionCreators)(spotifyActions, dispatch) + uiActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_ui_actions__WEBPACK_IMPORTED_MODULE_3__, dispatch), + spotifyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_spotify_actions__WEBPACK_IMPORTED_MODULE_4__, dispatch) }; }; -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(FollowButton); +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapStateToProps, mapDispatchToProps)(FollowButton)); /***/ }), @@ -88798,168 +89245,190 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)( /*!***************************************************************!*\ !*** ./src/js/components/Fields/GeniusAuthenticationFrame.js ***! \***************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); - -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); - -var _actions = __webpack_require__(/*! ../../services/ui/actions */ "./src/js/services/ui/actions.js"); - -var uiActions = _interopRequireWildcard(_actions); - -var _actions2 = __webpack_require__(/*! ../../services/genius/actions */ "./src/js/services/genius/actions.js"); - -var geniusActions = _interopRequireWildcard(_actions2); - -var _format = __webpack_require__(/*! ../../util/format */ "./src/js/util/format.js"); - -var _locale = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js"); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var _services_ui_actions__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../services/ui/actions */ "./src/js/services/ui/actions.js"); +/* harmony import */ var _services_genius_actions__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../services/genius/actions */ "./src/js/services/genius/actions.js"); +/* harmony import */ var _util_format__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../util/format */ "./src/js/util/format.js"); +/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -var GeniusAuthenticationFrame = function (_React$Component) { +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + + + + + + + + + +var GeniusAuthenticationFrame = /*#__PURE__*/function (_React$Component) { _inherits(GeniusAuthenticationFrame, _React$Component); + var _super = _createSuper(GeniusAuthenticationFrame); + function GeniusAuthenticationFrame(props) { + var _this; + _classCallCheck(this, GeniusAuthenticationFrame); - var _this = _possibleConstructorReturn(this, (GeniusAuthenticationFrame.__proto__ || Object.getPrototypeOf(GeniusAuthenticationFrame)).call(this, props)); - + _this = _super.call(this, props); _this.state = { authorizing: false }; - - _this.handleMessage = _this.handleMessage.bind(_this); + _this.handleMessage = _this.handleMessage.bind(_assertThisInitialized(_this)); return _this; } _createClass(GeniusAuthenticationFrame, [{ - key: 'componentDidMount', + key: "componentDidMount", value: function componentDidMount() { window.addEventListener('message', this.handleMessage, false); } }, { - key: 'componentWillUnmount', + key: "componentWillUnmount", value: function componentWillUnmount() { window.removeEventListener('message', this.handleMessage, false); } }, { - key: 'handleMessage', + key: "handleMessage", value: function handleMessage(event) { - var data = (0, _format.toJSON)(event.data); + var data = Object(_util_format__WEBPACK_IMPORTED_MODULE_5__["toJSON"])(event.data); // Only digest messages relevant to us - // Only digest messages relevant to us if (data.origin != 'auth_genius') { return; - } + } // Only allow incoming data from our authorized authenticator proxy + - // Only allow incoming data from our authorized authenticator proxy var authorization_domain = this.props.authorization_url.substring(0, this.props.authorization_url.indexOf('/', 8)); + if (event.origin != authorization_domain) { this.props.uiActions.createNotification({ - content: (0, _locale.i18n)('authentication.failed', { origin: event.origin }), + content: Object(_locale__WEBPACK_IMPORTED_MODULE_6__["i18n"])('authentication.failed', { + origin: event.origin + }), level: 'error' }); return false; - } + } // Bounced with an error + - // Bounced with an error if (data.error !== undefined) { - this.props.uiActions.createNotification({ content: data.message, level: 'error' }); - - // No errors? We're in! + this.props.uiActions.createNotification({ + content: data.message, + level: 'error' + }); // No errors? We're in! } else { this.props.geniusActions.authorizationGranted(data); this.props.geniusActions.getMe(); - } + } // Turn off our authorizing switch - // Turn off our authorizing switch - this.setState({ authorizing: false }); + + this.setState({ + authorizing: false + }); } }, { - key: 'startAuthorization', + key: "startAuthorization", value: function startAuthorization() { var self = this; - this.setState({ authorizing: true }); + this.setState({ + authorizing: true + }); // Open an authentication request window - // Open an authentication request window - var url = this.props.authorization_url + '?action=authorize&scope=me'; + var url = "".concat(this.props.authorization_url, "?action=authorize&scope=me"); var popup = window.open(url, 'popup', 'height=580,width=350'); - popup.name = 'GeniusAuthenticationWindow'; + popup.name = 'GeniusAuthenticationWindow'; // Start timer to check our popup's state - // Start timer to check our popup's state var timer = setInterval(checkPopup, 1000); + function checkPopup() { // Popup has been closed if (typeof popup !== 'undefined' && popup) { if (popup.closed) { - self.setState({ authorizing: false }); + self.setState({ + authorizing: false + }); clearInterval(timer); - } + } // Popup does not exist, so must have been blocked - // Popup does not exist, so must have been blocked } else { self.props.uiActions.createNotification({ - content: (0, _locale.i18n)('authentication.popup_blocked'), + content: Object(_locale__WEBPACK_IMPORTED_MODULE_6__["i18n"])('authentication.popup_blocked'), level: 'error' }); - self.setState({ authorizing: false }); + self.setState({ + authorizing: false + }); clearInterval(timer); } } } }, { - key: 'render', + key: "render", value: function render() { var _this2 = this; var authorizing = this.state.authorizing; - if (this.props.authorized) { - return _react2.default.createElement( - 'a', - { className: "button button--destructive" + (authorizing ? ' button--working' : ''), onClick: function onClick(e) { - return _this2.props.geniusActions.revokeAuthorization(); - } }, - _react2.default.createElement(_locale.I18n, { path: 'authentication.log_out' }) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + className: "button button--destructive" + (authorizing ? ' button--working' : ''), + onClick: function onClick(e) { + return _this2.props.geniusActions.revokeAuthorization(); + }, + "data-qa-node": "a", + "data-qa-file": "GeniusAuthenticationFrame" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_6__["I18n"], { + path: "authentication.log_out", + "data-qa-node": "I18n", + "data-qa-file": "GeniusAuthenticationFrame" + })); } - return _react2.default.createElement( - 'a', - { className: "button button--primary" + (authorizing ? ' button--working' : ''), onClick: function onClick(e) { - return _this2.startAuthorization(); - } }, - _react2.default.createElement(_locale.I18n, { path: 'authentication.log_in' }) - ); + + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + className: "button button--primary" + (authorizing ? ' button--working' : ''), + onClick: function onClick(e) { + return _this2.startAuthorization(); + }, + "data-qa-node": "a", + "data-qa-file": "GeniusAuthenticationFrame" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_6__["I18n"], { + path: "authentication.log_in", + "data-qa-node": "I18n", + "data-qa-file": "GeniusAuthenticationFrame" + })); } }]); return GeniusAuthenticationFrame; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); var mapStateToProps = function mapStateToProps(state, ownProps) { return { @@ -88971,12 +89440,12 @@ var mapStateToProps = function mapStateToProps(state, ownProps) { var mapDispatchToProps = function mapDispatchToProps(dispatch) { return { - uiActions: (0, _redux.bindActionCreators)(uiActions, dispatch), - geniusActions: (0, _redux.bindActionCreators)(geniusActions, dispatch) + uiActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_ui_actions__WEBPACK_IMPORTED_MODULE_3__, dispatch), + geniusActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_genius_actions__WEBPACK_IMPORTED_MODULE_4__, dispatch) }; }; -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(GeniusAuthenticationFrame); +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapStateToProps, mapDispatchToProps)(GeniusAuthenticationFrame)); /***/ }), @@ -88984,47 +89453,39 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)( /*!***********************************************!*\ !*** ./src/js/components/Fields/IconField.js ***! \***********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _Icon__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Icon */ "./src/js/components/Icon.js"); -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _Icon = __webpack_require__(/*! ../Icon */ "./src/js/components/Icon.js"); - -var _Icon2 = _interopRequireDefault(_Icon); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -exports.default = (0, _react.memo)(function (props) { +/* harmony default export */ __webpack_exports__["default"] = (/*#__PURE__*/Object(react__WEBPACK_IMPORTED_MODULE_0__["memo"])(function (props) { var icons = props.icons ? props.icons : ['3d_rotation', 'ac_unit', 'access_alarm', 'access_alarms', 'access_time', 'accessibility', 'accessible', 'account_balance', 'account_balance_wallet', 'account_box', 'account_circle', 'adb', 'add', 'add_a_photo', 'add_alarm', 'add_alert', 'add_box', 'add_circle', 'add_circle_outline', 'add_location', 'add_shopping_cart', 'add_to_photos', 'add_to_queue', 'adjust', 'airline_seat_flat', 'airline_seat_flat_angled', 'airline_seat_individual_suite', 'airline_seat_legroom_extra', 'airline_seat_legroom_normal', 'airline_seat_legroom_reduced', 'airline_seat_recline_extra', 'airline_seat_recline_normal', 'airplanemode_active', 'airplanemode_inactive', 'airplay', 'airport_shuttle', 'alarm', 'alarm_add', 'alarm_off', 'alarm_on', 'album', 'all_inclusive', 'all_out', 'android', 'announcement', 'apps', 'archive', 'arrow_back', 'arrow_downward', 'arrow_drop_down', 'arrow_drop_down_circle', 'arrow_drop_up', 'arrow_forward', 'arrow_upward', 'art_track', 'aspect_ratio', 'assessment', 'assignment', 'assignment_ind', 'assignment_late', 'assignment_return', 'assignment_returned', 'assignment_turned_in', 'assistant', 'assistant_photo', 'attach_file', 'attach_money', 'attachment', 'audiotrack', 'autorenew', 'av_timer', 'backspace', 'backup', 'battery_alert', 'battery_charging_full', 'battery_full', 'battery_std', 'battery_unknown', 'beach_access', 'beenhere', 'block', 'bluetooth', 'bluetooth_audio', 'bluetooth_connected', 'bluetooth_disabled', 'bluetooth_searching', 'blur_circular', 'blur_linear', 'blur_off', 'blur_on', 'book', 'bookmark', 'bookmark_border', 'border_all', 'border_bottom', 'border_clear', 'border_color', 'border_horizontal', 'border_inner', 'border_left', 'border_outer', 'border_right', 'border_style', 'border_top', 'border_vertical', 'branding_watermark', 'brightness_1', 'brightness_2', 'brightness_3', 'brightness_4', 'brightness_5', 'brightness_6', 'brightness_7', 'brightness_auto', 'brightness_high', 'brightness_low', 'brightness_medium', 'broken_image', 'brush', 'bubble_chart', 'bug_report', 'build', 'burst_mode', 'business', 'business_center', 'cached', 'cake', 'call', 'call_end', 'call_made', 'call_merge', 'call_missed', 'call_missed_outgoing', 'call_received', 'call_split', 'call_to_action', 'camera', 'camera_alt', 'camera_enhance', 'camera_front', 'camera_rear', 'camera_roll', 'cancel', 'card_giftcard', 'card_membership', 'card_travel', 'casino', 'cast', 'cast_connected', 'center_focus_strong', 'center_focus_weak', 'change_history', 'chat', 'chat_bubble', 'chat_bubble_outline', 'check', 'check_box', 'check_box_outline_blank', 'check_circle', 'chevron_left', 'chevron_right', 'child_care', 'child_friendly', 'chrome_reader_mode', 'class', 'clear', 'clear_all', 'close', 'closed_caption', 'cloud', 'cloud_circle', 'cloud_done', 'cloud_download', 'cloud_off', 'cloud_queue', 'cloud_upload', 'code', 'collections', 'collections_bookmark', 'color_lens', 'colorize', 'comment', 'compare', 'compare_arrows', 'computer', 'confirmation_number', 'contact_mail', 'contact_phone', 'contacts', 'content_copy', 'content_cut', 'content_paste', 'control_point', 'control_point_duplicate', 'copyright', 'create', 'create_new_folder', 'credit_card', 'crop', 'crop_16_9', 'crop_3_2', 'crop_5_4', 'crop_7_5', 'crop_din', 'crop_free', 'crop_landscape', 'crop_original', 'crop_portrait', 'crop_rotate', 'crop_square', 'dashboard', 'data_usage', 'date_range', 'dehaze', 'delete', 'delete_forever', 'delete_sweep', 'description', 'desktop_mac', 'desktop_windows', 'details', 'developer_board', 'developer_mode', 'device_hub', 'devices', 'devices_other', 'dialer_sip', 'dialpad', 'directions', 'directions_bike', 'directions_boat', 'directions_bus', 'directions_car', 'directions_railway', 'directions_run', 'directions_subway', 'directions_transit', 'directions_walk', 'disc_full', 'dns', 'do_not_disturb', 'do_not_disturb_alt', 'do_not_disturb_off', 'do_not_disturb_on', 'dock', 'domain', 'done', 'done_all', 'donut_large', 'donut_small', 'drafts', 'drag_handle', 'drive_eta', 'dvr', 'edit', 'edit_location', 'eject', 'email', 'enhanced_encryption', 'equalizer', 'error', 'error_outline', 'euro_symbol', 'ev_station', 'event', 'event_available', 'event_busy', 'event_note', 'event_seat', 'exit_to_app', 'expand_less', 'expand_more', 'explicit', 'explore', 'exposure', 'exposure_neg_1', 'exposure_neg_2', 'exposure_plus_1', 'exposure_plus_2', 'exposure_zero', 'extension', 'face', 'fast_forward', 'fast_rewind', 'favorite', 'favorite_border', 'featured_play_list', 'featured_video', 'feedback', 'fiber_dvr', 'fiber_manual_record', 'fiber_new', 'fiber_pin', 'fiber_smart_record', 'file_download', 'file_upload', 'filter', 'filter_1', 'filter_2', 'filter_3', 'filter_4', 'filter_5', 'filter_6', 'filter_7', 'filter_8', 'filter_9', 'filter_9_plus', 'filter_b_and_w', 'filter_center_focus', 'filter_drama', 'filter_frames', 'filter_hdr', 'filter_list', 'filter_none', 'filter_tilt_shift', 'filter_vintage', 'find_in_page', 'find_replace', 'fingerprint', 'first_page', 'fitness_center', 'flag', 'flare', 'flash_auto', 'flash_off', 'flash_on', 'flight', 'flight_land', 'flight_takeoff', 'flip', 'flip_to_back', 'flip_to_front', 'folder', 'folder_open', 'folder_shared', 'folder_special', 'font_download', 'format_align_center', 'format_align_justify', 'format_align_left', 'format_align_right', 'format_bold', 'format_clear', 'format_color_fill', 'format_color_reset', 'format_color_text', 'format_indent_decrease', 'format_indent_increase', 'format_italic', 'format_line_spacing', 'format_list_bulleted', 'format_list_numbered', 'format_paint', 'format_quote', 'format_shapes', 'format_size', 'format_strikethrough', 'format_textdirection_l_to_r', 'format_textdirection_r_to_l', 'format_underlined', 'forum', 'forward', 'forward_10', 'forward_30', 'forward_5', 'free_breakfast', 'fullscreen', 'fullscreen_exit', 'functions', 'g_translate', 'gamepad', 'games', 'gavel', 'gesture', 'get_app', 'gif', 'golf_course', 'gps_fixed', 'gps_not_fixed', 'gps_off', 'grade', 'gradient', 'grain', 'graphic_eq', 'grid_off', 'grid_on', 'group', 'group_add', 'group_work', 'hd', 'hdr_off', 'hdr_on', 'hdr_strong', 'hdr_weak', 'headset', 'headset_mic', 'healing', 'hearing', 'help', 'help_outline', 'high_quality', 'highlight', 'highlight_off', 'history', 'home', 'hot_tub', 'hotel', 'hourglass_empty', 'hourglass_full', 'http', 'https', 'image', 'image_aspect_ratio', 'import_contacts', 'import_export', 'important_devices', 'inbox', 'indeterminate_check_box', 'info', 'info_outline', 'input', 'insert_chart', 'insert_comment', 'insert_drive_file', 'insert_emoticon', 'insert_invitation', 'insert_link', 'insert_photo', 'invert_colors', 'invert_colors_off', 'iso', 'keyboard', 'keyboard_arrow_down', 'keyboard_arrow_left', 'keyboard_arrow_right', 'keyboard_arrow_up', 'keyboard_backspace', 'keyboard_capslock', 'keyboard_hide', 'keyboard_return', 'keyboard_tab', 'keyboard_voice', 'kitchen', 'label', 'label_outline', 'landscape', 'language', 'laptop', 'laptop_chromebook', 'laptop_mac', 'laptop_windows', 'last_page', 'launch', 'layers', 'layers_clear', 'leak_add', 'leak_remove', 'lens', 'library_add', 'library_books', 'library_music', 'lightbulb_outline', 'line_style', 'line_weight', 'linear_scale', 'link', 'linked_camera', 'list', 'live_help', 'live_tv', 'local_activity', 'local_airport', 'local_atm', 'local_bar', 'local_cafe', 'local_car_wash', 'local_convenience_store', 'local_dining', 'local_drink', 'local_florist', 'local_gas_station', 'local_grocery_store', 'local_hospital', 'local_hotel', 'local_laundry_service', 'local_library', 'local_mall', 'local_movies', 'local_offer', 'local_parking', 'local_pharmacy', 'local_phone', 'local_pizza', 'local_play', 'local_post_office', 'local_printshop', 'local_see', 'local_shipping', 'local_taxi', 'location_city', 'location_disabled', 'location_off', 'location_on', 'location_searching', 'lock', 'lock_open', 'lock_outline', 'looks', 'looks_3', 'looks_4', 'looks_5', 'looks_6', 'looks_one', 'looks_two', 'loop', 'loupe', 'low_priority', 'loyalty', 'mail', 'mail_outline', 'map', 'markunread', 'markunread_mailbox', 'memory', 'menu', 'merge_type', 'message', 'mic', 'mic_none', 'mic_off', 'mms', 'mode_comment', 'mode_edit', 'monetization_on', 'money_off', 'monochrome_photos', 'mood', 'mood_bad', 'more', 'more_horiz', 'more_vert', 'motorcycle', 'mouse', 'move_to_inbox', 'movie', 'movie_creation', 'movie_filter', 'multiline_chart', 'music_note', 'music_video', 'my_location', 'nature', 'nature_people', 'navigate_before', 'navigate_next', 'navigation', 'near_me', 'network_cell', 'network_check', 'network_locked', 'network_wifi', 'new_releases', 'next_week', 'nfc', 'no_encryption', 'no_sim', 'not_interested', 'note', 'note_add', 'notifications', 'notifications_active', 'notifications_none', 'notifications_off', 'notifications_paused', 'offline_pin', 'ondemand_video', 'opacity', 'open_in_browser', 'open_in_new', 'open_with', 'pages', 'pageview', 'palette', 'pan_tool', 'panorama', 'panorama_fish_eye', 'panorama_horizontal', 'panorama_vertical', 'panorama_wide_angle', 'party_mode', 'pause', 'pause_circle_filled', 'pause_circle_outline', 'payment', 'people', 'people_outline', 'perm_camera_mic', 'perm_contact_calendar', 'perm_data_setting', 'perm_device_information', 'perm_identity', 'perm_media', 'perm_phone_msg', 'perm_scan_wifi', 'person', 'person_add', 'person_outline', 'person_pin', 'person_pin_circle', 'personal_video', 'pets', 'phone', 'phone_android', 'phone_bluetooth_speaker', 'phone_forwarded', 'phone_in_talk', 'phone_iphone', 'phone_locked', 'phone_missed', 'phone_paused', 'phonelink', 'phonelink_erase', 'phonelink_lock', 'phonelink_off', 'phonelink_ring', 'phonelink_setup', 'photo', 'photo_album', 'photo_camera', 'photo_filter', 'photo_library', 'photo_size_select_actual', 'photo_size_select_large', 'photo_size_select_small', 'picture_as_pdf', 'picture_in_picture', 'picture_in_picture_alt', 'pie_chart', 'pie_chart_outlined', 'pin_drop', 'place', 'play_arrow', 'play_circle_filled', 'play_circle_outline', 'play_for_work', 'playlist_add', 'playlist_add_check', 'playlist_play', 'plus_one', 'poll', 'polymer', 'pool', 'portable_wifi_off', 'portrait', 'power', 'power_input', 'power_settings_new', 'pregnant_woman', 'present_to_all', 'print', 'priority_high', 'public', 'publish', 'query_builder', 'question_answer', 'queue', 'queue_music', 'queue_play_next', 'radio', 'radio_button_checked', 'radio_button_unchecked', 'rate_review', 'receipt', 'recent_actors', 'record_voice_over', 'redeem', 'redo', 'refresh', 'remove', 'remove_circle', 'remove_circle_outline', 'remove_from_queue', 'remove_red_eye', 'remove_shopping_cart', 'reorder', 'repeat', 'repeat_one', 'replay', 'replay_10', 'replay_30', 'replay_5', 'reply', 'reply_all', 'report', 'report_problem', 'restaurant', 'restaurant_menu', 'restore', 'restore_page', 'ring_volume', 'room', 'room_service', 'rotate_90_degrees_ccw', 'rotate_left', 'rotate_right', 'rounded_corner', 'router', 'rowing', 'rss_feed', 'rv_hookup', 'satellite', 'save', 'scanner', 'schedule', 'school', 'screen_lock_landscape', 'screen_lock_portrait', 'screen_lock_rotation', 'screen_rotation', 'screen_share', 'sd_card', 'sd_storage', 'search', 'security', 'select_all', 'send', 'sentiment_dissatisfied', 'sentiment_neutral', 'sentiment_satisfied', 'sentiment_very_dissatisfied', 'sentiment_very_satisfied', 'settings', 'settings_applications', 'settings_backup_restore', 'settings_bluetooth', 'settings_brightness', 'settings_cell', 'settings_ethernet', 'settings_input_antenna', 'settings_input_component', 'settings_input_composite', 'settings_input_hdmi', 'settings_input_svideo', 'settings_overscan', 'settings_phone', 'settings_power', 'settings_remote', 'settings_system_daydream', 'settings_voice', 'share', 'shop', 'shop_two', 'shopping_basket', 'shopping_cart', 'short_text', 'show_chart', 'shuffle', 'signal_cellular_4_bar', 'signal_cellular_connected_no_internet_4_bar', 'signal_cellular_no_sim', 'signal_cellular_null', 'signal_cellular_off', 'signal_wifi_4_bar', 'signal_wifi_4_bar_lock', 'signal_wifi_off', 'sim_card', 'sim_card_alert', 'skip_next', 'skip_previous', 'slideshow', 'slow_motion_video', 'smartphone', 'smoke_free', 'smoking_rooms', 'sms', 'sms_failed', 'snooze', 'sort', 'sort_by_alpha', 'spa', 'space_bar', 'speaker', 'speaker_group', 'speaker_notes', 'speaker_notes_off', 'speaker_phone', 'spellcheck', 'star', 'star_border', 'star_half', 'stars', 'stay_current_landscape', 'stay_current_portrait', 'stay_primary_landscape', 'stay_primary_portrait', 'stop', 'stop_screen_share', 'storage', 'store', 'store_mall_directory', 'straighten', 'streetview', 'strikethrough_s', 'style', 'subdirectory_arrow_left', 'subdirectory_arrow_right', 'subject', 'subscriptions', 'subtitles', 'subway', 'supervisor_account', 'surround_sound', 'swap_calls', 'swap_horiz', 'swap_vert', 'swap_vertical_circle', 'switch_camera', 'switch_video', 'sync', 'sync_disabled', 'sync_problem', 'system_update', 'system_update_alt', 'tab', 'tab_unselected', 'tablet', 'tablet_android', 'tablet_mac', 'tag_faces', 'tap_and_play', 'terrain', 'text_fields', 'text_format', 'textsms', 'texture', 'theaters', 'thumb_down', 'thumb_up', 'thumbs_up_down', 'time_to_leave', 'timelapse', 'timeline', 'timer', 'timer_10', 'timer_3', 'timer_off', 'title', 'toc', 'today', 'toll', 'tonality', 'touch_app', 'toys', 'track_changes', 'traffic', 'train', 'tram', 'transfer_within_a_station', 'transform', 'translate', 'trending_down', 'trending_flat', 'trending_up', 'tune', 'turned_in', 'turned_in_not', 'tv', 'unarchive', 'undo', 'unfold_less', 'unfold_more', 'update', 'usb', 'verified_user', 'vertical_align_bottom', 'vertical_align_center', 'vertical_align_top', 'vibration', 'video_call', 'video_label', 'video_library', 'videocam', 'videocam_off', 'videogame_asset', 'view_agenda', 'view_array', 'view_carousel', 'view_column', 'view_comfy', 'view_compact', 'view_day', 'view_headline', 'view_list', 'view_module', 'view_quilt', 'view_stream', 'view_week', 'vignette', 'visibility', 'visibility_off', 'voice_chat', 'voicemail', 'volume_down', 'volume_mute', 'volume_off', 'volume_up', 'vpn_key', 'vpn_lock', 'wallpaper', 'warning', 'watch', 'watch_later', 'wb_auto', 'wb_cloudy', 'wb_incandescent', 'wb_iridescent', 'wb_sunny', 'wc', 'web', 'web_asset', 'weekend', 'whatshot', 'widgets', 'wifi', 'wifi_lock', 'wifi_tethering', 'work', 'wrap_text', 'youtube_searched_for', 'zoom_in', 'zoom_out', 'zoom_out_map']; - - return _react2.default.createElement( - 'div', - { className: 'icon-field' }, - icons.map(function (icon) { - return _react2.default.createElement( - 'div', - { - key: icon, - className: 'icon-field__option ' + (props.icon == icon ? 'icon-field__option--selected' : ''), - onClick: function onClick(e) { - return props.onChange(icon); - } - }, - _react2.default.createElement(_Icon2.default, { name: icon, className: 'icon-field__option__icon' }) - ); - }) - ); -}); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "icon-field", + "data-qa-node": "div", + "data-qa-file": "IconField" + }, icons.map(function (icon) { + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + key: icon, + className: "icon-field__option ".concat(props.icon == icon ? 'icon-field__option--selected' : ''), + onClick: function onClick(e) { + return props.onChange(icon); + }, + "data-qa-node": "div", + "data-qa-file": "IconField" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_1__["default"], { + name: icon, + className: "icon-field__option__icon", + "data-qa-node": "Icon", + "data-qa-file": "IconField" + })); + })); +})); /***/ }), @@ -89032,168 +89493,190 @@ exports.default = (0, _react.memo)(function (props) { /*!***************************************************************!*\ !*** ./src/js/components/Fields/LastfmAuthenticationFrame.js ***! \***************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); - -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); - -var _actions = __webpack_require__(/*! ../../services/ui/actions */ "./src/js/services/ui/actions.js"); - -var uiActions = _interopRequireWildcard(_actions); - -var _actions2 = __webpack_require__(/*! ../../services/lastfm/actions */ "./src/js/services/lastfm/actions.js"); - -var lastfmActions = _interopRequireWildcard(_actions2); - -var _format = __webpack_require__(/*! ../../util/format */ "./src/js/util/format.js"); - -var _locale = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js"); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var _services_ui_actions__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../services/ui/actions */ "./src/js/services/ui/actions.js"); +/* harmony import */ var _services_lastfm_actions__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../services/lastfm/actions */ "./src/js/services/lastfm/actions.js"); +/* harmony import */ var _util_format__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../util/format */ "./src/js/util/format.js"); +/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -var LastfmAuthenticationFrame = function (_React$Component) { +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + + + + + + + + + +var LastfmAuthenticationFrame = /*#__PURE__*/function (_React$Component) { _inherits(LastfmAuthenticationFrame, _React$Component); + var _super = _createSuper(LastfmAuthenticationFrame); + function LastfmAuthenticationFrame(props) { + var _this; + _classCallCheck(this, LastfmAuthenticationFrame); - var _this = _possibleConstructorReturn(this, (LastfmAuthenticationFrame.__proto__ || Object.getPrototypeOf(LastfmAuthenticationFrame)).call(this, props)); - + _this = _super.call(this, props); _this.state = { authorizing: false }; - - _this.handleMessage = _this.handleMessage.bind(_this); + _this.handleMessage = _this.handleMessage.bind(_assertThisInitialized(_this)); return _this; } _createClass(LastfmAuthenticationFrame, [{ - key: 'componentDidMount', + key: "componentDidMount", value: function componentDidMount() { window.addEventListener('message', this.handleMessage, false); } }, { - key: 'componentWillUnmount', + key: "componentWillUnmount", value: function componentWillUnmount() { window.removeEventListener('message', this.handleMessage, false); } }, { - key: 'handleMessage', + key: "handleMessage", value: function handleMessage(event) { - var data = (0, _format.toJSON)(event.data); + var data = Object(_util_format__WEBPACK_IMPORTED_MODULE_5__["toJSON"])(event.data); // Only digest messages relevant to us - // Only digest messages relevant to us if (data.origin != 'auth_lastfm') { return; - } + } // Only allow incoming data from our authorized authenticator proxy + - // Only allow incoming data from our authorized authenticator proxy var authorization_domain = this.props.authorization_url.substring(0, this.props.authorization_url.indexOf('/', 8)); + if (event.origin != authorization_domain) { this.props.uiActions.createNotification({ - content: (0, _locale.i18n)('authentication.failed', { origin: event.origin }), + content: Object(_locale__WEBPACK_IMPORTED_MODULE_6__["i18n"])('authentication.failed', { + origin: event.origin + }), level: 'error' }); return false; - } + } // Bounced with an error + - // Bounced with an error if (data.error !== undefined) { - this.props.uiActions.createNotification({ content: data.message, level: 'error' }); - - // No errors? We're in! + this.props.uiActions.createNotification({ + content: data.message, + level: 'error' + }); // No errors? We're in! } else { this.props.lastfmActions.authorizationGranted(data); this.props.lastfmActions.getMe(); - } + } // Turn off our authorizing switch - // Turn off our authorizing switch - this.setState({ authorizing: false }); + + this.setState({ + authorizing: false + }); } }, { - key: 'startAuthorization', + key: "startAuthorization", value: function startAuthorization() { var self = this; - this.setState({ authorizing: true }); + this.setState({ + authorizing: true + }); // Open an authentication request window - // Open an authentication request window - var url = this.props.authorization_url + '?action=authorize'; + var url = "".concat(this.props.authorization_url, "?action=authorize"); var popup = window.open(url, 'popup', 'height=580,width=350'); - popup.name = 'LastfmAuthenticationWindow'; + popup.name = 'LastfmAuthenticationWindow'; // Start timer to check our popup's state - // Start timer to check our popup's state var timer = setInterval(checkPopup, 1000); + function checkPopup() { // Popup has been closed if (typeof popup !== 'undefined' && popup) { if (popup.closed) { - self.setState({ authorizing: false }); + self.setState({ + authorizing: false + }); clearInterval(timer); - } + } // Popup does not exist, so must have been blocked - // Popup does not exist, so must have been blocked } else { self.props.uiActions.createNotification({ - content: (0, _locale.i18n)('authentication.popup_blocked'), + content: Object(_locale__WEBPACK_IMPORTED_MODULE_6__["i18n"])('authentication.popup_blocked'), level: 'error' }); - self.setState({ authorizing: false }); + self.setState({ + authorizing: false + }); clearInterval(timer); } } } }, { - key: 'render', + key: "render", value: function render() { var _this2 = this; var authorizing = this.state.authorizing; - if (this.props.authorization) { - return _react2.default.createElement( - 'a', - { className: "button button--destructive" + (authorizing ? ' button--working' : ''), onClick: function onClick(e) { - return _this2.props.lastfmActions.revokeAuthorization(); - } }, - _react2.default.createElement(_locale.I18n, { path: 'authentication.log_out' }) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + className: "button button--destructive" + (authorizing ? ' button--working' : ''), + onClick: function onClick(e) { + return _this2.props.lastfmActions.revokeAuthorization(); + }, + "data-qa-node": "a", + "data-qa-file": "LastfmAuthenticationFrame" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_6__["I18n"], { + path: "authentication.log_out", + "data-qa-node": "I18n", + "data-qa-file": "LastfmAuthenticationFrame" + })); } - return _react2.default.createElement( - 'a', - { className: "button button--primary" + (authorizing ? ' button--working' : ''), onClick: function onClick(e) { - return _this2.startAuthorization(); - } }, - _react2.default.createElement(_locale.I18n, { path: 'authentication.log_in' }) - ); + + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + className: "button button--primary" + (authorizing ? ' button--working' : ''), + onClick: function onClick(e) { + return _this2.startAuthorization(); + }, + "data-qa-node": "a", + "data-qa-file": "LastfmAuthenticationFrame" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_6__["I18n"], { + path: "authentication.log_in", + "data-qa-node": "I18n", + "data-qa-file": "LastfmAuthenticationFrame" + })); } }]); return LastfmAuthenticationFrame; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); var mapStateToProps = function mapStateToProps(state, ownProps) { return { @@ -89205,12 +89688,12 @@ var mapStateToProps = function mapStateToProps(state, ownProps) { var mapDispatchToProps = function mapDispatchToProps(dispatch) { return { - uiActions: (0, _redux.bindActionCreators)(uiActions, dispatch), - lastfmActions: (0, _redux.bindActionCreators)(lastfmActions, dispatch) + uiActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_ui_actions__WEBPACK_IMPORTED_MODULE_3__, dispatch), + lastfmActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_lastfm_actions__WEBPACK_IMPORTED_MODULE_4__, dispatch) }; }; -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(LastfmAuthenticationFrame); +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapStateToProps, mapDispatchToProps)(LastfmAuthenticationFrame)); /***/ }), @@ -89218,37 +89701,24 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)( /*!******************************************************!*\ !*** ./src/js/components/Fields/LastfmLoveButton.js ***! \******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var _services_ui_actions__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../services/ui/actions */ "./src/js/services/ui/actions.js"); +/* harmony import */ var _services_lastfm_actions__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../services/lastfm/actions */ "./src/js/services/lastfm/actions.js"); +/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js"); -Object.defineProperty(exports, "__esModule", { - value: true -}); -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); -var _react2 = _interopRequireDefault(_react); -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); - -var _actions = __webpack_require__(/*! ../../services/ui/actions */ "./src/js/services/ui/actions.js"); - -var uiActions = _interopRequireWildcard(_actions); - -var _actions2 = __webpack_require__(/*! ../../services/lastfm/actions */ "./src/js/services/lastfm/actions.js"); - -var lastfmActions = _interopRequireWildcard(_actions2); - -var _locale = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js"); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var FollowButton = function FollowButton(_ref) { var uri = _ref.uri, @@ -89258,7 +89728,7 @@ var FollowButton = function FollowButton(_ref) { removeText = _ref.removeText, is_loved = _ref.is_loved, _ref$className = _ref.className, - classNameProp = _ref$className === undefined ? '' : _ref$className, + classNameProp = _ref$className === void 0 ? '' : _ref$className, lastfm_authorized = _ref.lastfm_authorized, createNotification = _ref.uiActions.createNotification, _ref$lastfmActions = _ref.lastfmActions, @@ -89268,12 +89738,16 @@ var FollowButton = function FollowButton(_ref) { var onRemove = function onRemove() { return unloveTrack(uri, artist, track); }; + var onAdd = function onAdd() { return loveTrack(uri, artist, track); }; + var onDisabledClick = function onDisabledClick() { createNotification({ - content: (0, _locale.i18n)('errors.authorization_required', { provider: (0, _locale.i18n)('services.lastfm.title') }), + content: Object(_locale__WEBPACK_IMPORTED_MODULE_5__["i18n"])('errors.authorization_required', { + provider: Object(_locale__WEBPACK_IMPORTED_MODULE_5__["i18n"])('services.lastfm.title') + }), level: 'warning' }); }; @@ -89282,38 +89756,35 @@ var FollowButton = function FollowButton(_ref) { return false; } - var className = 'button ' + classNameProp; + var className = "button ".concat(classNameProp); if (!lastfm_authorized) { - return _react2.default.createElement( - 'button', - { - className: className + ' button--disabled', - onClick: onDisabledClick, - type: 'button' - }, - addText || (0, _locale.i18n)('services.lastfm.love') - ); - }if (is_loved && is_loved !== '0') { - return _react2.default.createElement( - 'button', - { - className: className + ' button--destructive', - onClick: onRemove, - type: 'button' - }, - removeText || (0, _locale.i18n)('services.lastfm.unlove') - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", { + className: "".concat(className, " button--disabled"), + onClick: onDisabledClick, + type: "button", + "data-qa-node": "button", + "data-qa-file": "LastfmLoveButton" + }, addText || Object(_locale__WEBPACK_IMPORTED_MODULE_5__["i18n"])('services.lastfm.love')); } - return _react2.default.createElement( - 'button', - { - className: className + ' button--default', - onClick: onAdd, - type: 'button' - }, - addText || (0, _locale.i18n)('services.lastfm.love') - ); + + if (is_loved && is_loved !== '0') { + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", { + className: "".concat(className, " button--destructive"), + onClick: onRemove, + type: "button", + "data-qa-node": "button", + "data-qa-file": "LastfmLoveButton" + }, removeText || Object(_locale__WEBPACK_IMPORTED_MODULE_5__["i18n"])('services.lastfm.unlove')); + } + + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", { + className: "".concat(className, " button--default"), + onClick: onAdd, + type: "button", + "data-qa-node": "button", + "data-qa-file": "LastfmLoveButton" + }, addText || Object(_locale__WEBPACK_IMPORTED_MODULE_5__["i18n"])('services.lastfm.love')); }; var mapStateToProps = function mapStateToProps(state) { @@ -89325,12 +89796,12 @@ var mapStateToProps = function mapStateToProps(state) { var mapDispatchToProps = function mapDispatchToProps(dispatch) { return { - uiActions: (0, _redux.bindActionCreators)(uiActions, dispatch), - lastfmActions: (0, _redux.bindActionCreators)(lastfmActions, dispatch) + uiActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_ui_actions__WEBPACK_IMPORTED_MODULE_3__, dispatch), + lastfmActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_lastfm_actions__WEBPACK_IMPORTED_MODULE_4__, dispatch) }; }; -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(FollowButton); +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapStateToProps, mapDispatchToProps)(FollowButton)); /***/ }), @@ -89338,51 +89809,62 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)( /*!****************************************************!*\ !*** ./src/js/components/Fields/LatencyControl.js ***! \****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _helpers = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return LatencyControl; }); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -var LatencyControl = function (_React$Component) { +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + + + + +var LatencyControl = /*#__PURE__*/function (_React$Component) { _inherits(LatencyControl, _React$Component); + var _super = _createSuper(LatencyControl); + function LatencyControl(props) { + var _this; + _classCallCheck(this, LatencyControl); - var _this = _possibleConstructorReturn(this, (LatencyControl.__proto__ || Object.getPrototypeOf(LatencyControl)).call(this, props)); - - _this.handleChange = (0, _helpers.throttle)(_this.handleChange.bind(_this), 100); + _this = _super.call(this, props); + _this.handleChange = Object(_util_helpers__WEBPACK_IMPORTED_MODULE_1__["throttle"])(_this.handleChange.bind(_assertThisInitialized(_this)), 100); return _this; } _createClass(LatencyControl, [{ - key: 'handleChange', + key: "handleChange", value: function handleChange(value) { this.props.onChange(value, this.props.value); } }, { - key: 'render', + key: "render", value: function render() { var _this2 = this; @@ -89393,64 +89875,75 @@ var LatencyControl = function (_React$Component) { if (value > this.props.max) { value = this.props.max; } + var percentage = Math.round(value / this.props.max * 100 / 2); var left = 50; var width = percentage; var negative = false; - - if (width > this.props.max / 2) width = this.props.max / 2; - - // Negative value + if (width > this.props.max / 2) width = this.props.max / 2; // Negative value // We reverse it to a positive for easier maths and style rules } else { var value = -this.props.value; + if (value < -this.props.max) { value = -this.props.max; } + var percentage = Math.round(value / this.props.max * 100 / 2); var left = 50 - percentage; var width = percentage; var negative = true; - if (left < 0) left = 0; if (width > this.props.max / 2) width = this.props.max / 2; } - return _react2.default.createElement( - 'span', - { className: 'latency-control' }, - _react2.default.createElement( - 'div', - { className: 'slider__wrapper' }, - _react2.default.createElement( - 'div', - { className: 'slider slider--latency' }, - _react2.default.createElement('input', { - type: 'range', - min: -this.props.max, - max: this.props.max, - className: 'slider__input', - value: this.props.value, - onChange: function onChange(e) { - return _this2.handleChange(parseInt(e.target.value)); - } - }), - _react2.default.createElement('div', { className: 'zero' }), - _react2.default.createElement( - 'div', - { className: 'slider__track' }, - _react2.default.createElement('div', { className: 'slider__track__progress slider__track__progress--' + (negative ? 'negative' : 'positive'), style: { width: width + '%', left: left + '%' } }) - ) - ) - ) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "latency-control", + "data-qa-node": "span", + "data-qa-file": "LatencyControl" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "slider__wrapper", + "data-qa-node": "div", + "data-qa-file": "LatencyControl" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "slider slider--latency", + "data-qa-node": "div", + "data-qa-file": "LatencyControl" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { + type: "range", + min: -this.props.max, + max: this.props.max, + className: "slider__input", + value: this.props.value, + onChange: function onChange(e) { + return _this2.handleChange(parseInt(e.target.value)); + }, + "data-qa-node": "input", + "data-qa-file": "LatencyControl" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "zero", + "data-qa-node": "div", + "data-qa-file": "LatencyControl" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "slider__track", + "data-qa-node": "div", + "data-qa-file": "LatencyControl" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "slider__track__progress slider__track__progress--".concat(negative ? 'negative' : 'positive'), + style: { + width: "".concat(width, "%"), + left: "".concat(left, "%") + }, + "data-qa-node": "div", + "data-qa-file": "LatencyControl" + }))))); } }]); return LatencyControl; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); + -exports.default = LatencyControl; /***/ }), @@ -89458,54 +89951,55 @@ exports.default = LatencyControl; /*!*************************************************!*\ !*** ./src/js/components/Fields/MuteControl.js ***! \*************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _Icon__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Icon */ "./src/js/components/Icon.js"); -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _Icon = __webpack_require__(/*! ../Icon */ "./src/js/components/Icon.js"); - -var _Icon2 = _interopRequireDefault(_Icon); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -exports.default = (0, _react.memo)(function (props) { +/* harmony default export */ __webpack_exports__["default"] = (/*#__PURE__*/Object(react__WEBPACK_IMPORTED_MODULE_0__["memo"])(function (props) { if (props.mute) { - return _react2.default.createElement( - 'button', - { className: 'control mute-control ' + (props.noTooltip ? '' : 'tooltip ') + (props.className ? props.className : ''), onClick: function onClick() { - return props.onMuteChange(false); - } }, - _react2.default.createElement(_Icon2.default, { className: 'red-text', name: 'volume_off' }), - props.noTooltip ? null : _react2.default.createElement( - 'span', - { className: 'tooltip__content' }, - 'Unmute' - ) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", { + className: "control mute-control ".concat(props.noTooltip ? '' : 'tooltip ').concat(props.className ? props.className : ''), + onClick: function onClick() { + return props.onMuteChange(false); + }, + "data-qa-node": "button", + "data-qa-file": "MuteControl" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_1__["default"], { + className: "red-text", + name: "volume_off", + "data-qa-node": "Icon", + "data-qa-file": "MuteControl" + }), props.noTooltip ? null : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "tooltip__content", + "data-qa-node": "span", + "data-qa-file": "MuteControl" + }, "Unmute")); } - return _react2.default.createElement( - 'button', - { className: 'control mute-control ' + (props.noTooltip ? '' : 'tooltip ') + (props.className ? props.className : ''), onClick: function onClick() { - return props.onMuteChange(true); - } }, - _react2.default.createElement(_Icon2.default, { className: 'muted', name: 'volume_mute' }), - props.noTooltip ? null : _react2.default.createElement( - 'span', - { className: 'tooltip__content' }, - 'Mute' - ) - ); -}); + + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", { + className: "control mute-control ".concat(props.noTooltip ? '' : 'tooltip ').concat(props.className ? props.className : ''), + onClick: function onClick() { + return props.onMuteChange(true); + }, + "data-qa-node": "button", + "data-qa-file": "MuteControl" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_1__["default"], { + className: "muted", + name: "volume_mute", + "data-qa-node": "Icon", + "data-qa-file": "MuteControl" + }), props.noTooltip ? null : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "tooltip__content", + "data-qa-node": "span", + "data-qa-file": "MuteControl" + }, "Mute")); +})); /***/ }), @@ -89513,349 +90007,370 @@ exports.default = (0, _react.memo)(function (props) { /*!***************************************************!*\ !*** ./src/js/components/Fields/OutputControl.js ***! \***************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* WEBPACK VAR INJECTION */(function($) { - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); - -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); - -var _VolumeControl = __webpack_require__(/*! ./VolumeControl */ "./src/js/components/Fields/VolumeControl.js"); - -var _VolumeControl2 = _interopRequireDefault(_VolumeControl); - -var _MuteControl = __webpack_require__(/*! ./MuteControl */ "./src/js/components/Fields/MuteControl.js"); - -var _MuteControl2 = _interopRequireDefault(_MuteControl); - -var _Icon = __webpack_require__(/*! ../Icon */ "./src/js/components/Icon.js"); - -var _Icon2 = _interopRequireDefault(_Icon); - -var _DropdownField = __webpack_require__(/*! ./DropdownField */ "./src/js/components/Fields/DropdownField.js"); - -var _DropdownField2 = _interopRequireDefault(_DropdownField); - -var _actions = __webpack_require__(/*! ../../services/core/actions */ "./src/js/services/core/actions.js"); - -var coreActions = _interopRequireWildcard(_actions); - -var _actions2 = __webpack_require__(/*! ../../services/pusher/actions */ "./src/js/services/pusher/actions.js"); - -var pusherActions = _interopRequireWildcard(_actions2); - -var _actions3 = __webpack_require__(/*! ../../services/snapcast/actions */ "./src/js/services/snapcast/actions.js"); - -var snapcastActions = _interopRequireWildcard(_actions3); - -var _arrays = __webpack_require__(/*! ../../util/arrays */ "./src/js/util/arrays.js"); - -var _format = __webpack_require__(/*! ../../util/format */ "./src/js/util/format.js"); - -var _locale = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js"); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +__webpack_require__.r(__webpack_exports__); +/* WEBPACK VAR INJECTION */(function($) {/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var _VolumeControl__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./VolumeControl */ "./src/js/components/Fields/VolumeControl.js"); +/* harmony import */ var _MuteControl__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./MuteControl */ "./src/js/components/Fields/MuteControl.js"); +/* harmony import */ var _Icon__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../Icon */ "./src/js/components/Icon.js"); +/* harmony import */ var _DropdownField__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./DropdownField */ "./src/js/components/Fields/DropdownField.js"); +/* harmony import */ var _services_core_actions__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../services/core/actions */ "./src/js/services/core/actions.js"); +/* harmony import */ var _services_pusher_actions__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../services/pusher/actions */ "./src/js/services/pusher/actions.js"); +/* harmony import */ var _services_snapcast_actions__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../services/snapcast/actions */ "./src/js/services/snapcast/actions.js"); +/* harmony import */ var _util_arrays__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../util/arrays */ "./src/js/util/arrays.js"); +/* harmony import */ var _util_format__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../util/format */ "./src/js/util/format.js"); +/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -var OutputControl = function (_React$Component) { +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _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; } + + + + + + + + + + + + + + + +var OutputControl = /*#__PURE__*/function (_React$Component) { _inherits(OutputControl, _React$Component); + var _super = _createSuper(OutputControl); + function OutputControl(props) { + var _this; + _classCallCheck(this, OutputControl); - var _this = _possibleConstructorReturn(this, (OutputControl.__proto__ || Object.getPrototypeOf(OutputControl)).call(this, props)); + _this = _super.call(this, props); - _this.componentDidUpdate = function (_ref) { + _defineProperty(_assertThisInitialized(_this), "componentDidUpdate", function (_ref) { var prev_force_expanded = _ref.force_expanded; var force_expanded = _this.props.force_expanded; - if (!prev_force_expanded && force_expanded) _this.setExpanded(true); - }; + }); _this.state = { expanded: false }; - - _this.handleClick = _this.handleClick.bind(_this); + _this.handleClick = _this.handleClick.bind(_assertThisInitialized(_this)); return _this; } _createClass(OutputControl, [{ - key: 'setExpanded', + key: "setExpanded", value: function setExpanded() { var expanded = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : !this.state.expanded; var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.props; if (expanded) { - this.setState({ expanded: expanded }); - window.addEventListener('click', this.handleClick, false); - - // Re-check our snapcast clients + this.setState({ + expanded: expanded + }); + window.addEventListener('click', this.handleClick, false); // Re-check our snapcast clients // TODO: Once we have push events, remove this as it'll (marginally) // slow down the reveal/render + if (props.pusher_connected && props.snapcast_enabled) { this.props.snapcastActions.getServer(); } } else { - this.setState({ expanded: expanded }); + this.setState({ + expanded: expanded + }); window.removeEventListener('click', this.handleClick, false); } } }, { - key: 'handleClick', + key: "handleClick", value: function handleClick(e) { if (!this.props.force_expanded && $(e.target).closest('.output-control').length <= 0) { this.setExpanded(false); } } }, { - key: 'snapcastGroups', + key: "snapcastGroups", value: function snapcastGroups() { - var _props = this.props, - snapcast_streams = _props.snapcast_streams, - snapcastActions = _props.snapcastActions, - snapcast_groups = _props.snapcast_groups, - clients = _props.snapcast_clients, - show_disconnected_clients = _props.show_disconnected_clients; - - - var groups = (0, _arrays.indexToArray)(snapcast_groups); + var _this$props = this.props, + snapcast_streams = _this$props.snapcast_streams, + snapcastActions = _this$props.snapcastActions, + snapcast_groups = _this$props.snapcast_groups, + clients = _this$props.snapcast_clients, + show_disconnected_clients = _this$props.show_disconnected_clients; + var groups = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_10__["indexToArray"])(snapcast_groups); if (groups.length <= 0) return null; - var streams = Object.keys(snapcast_streams).map(function (id) { - return { value: id, label: id }; + return { + value: id, + label: id + }; }); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + "data-qa-node": "div", + "data-qa-file": "OutputControl" + }, groups.map(function (simpleGroup) { + var group = Object(_util_format__WEBPACK_IMPORTED_MODULE_11__["collate"])(simpleGroup, { + clients: clients + }); + var _group$clients = group.clients, + groupClients = _group$clients === void 0 ? [] : _group$clients; - return _react2.default.createElement( - 'div', - null, - groups.map(function (simpleGroup) { - var group = (0, _format.collate)(simpleGroup, { clients: clients }); - var _group$clients = group.clients, - groupClients = _group$clients === undefined ? [] : _group$clients; + if (!show_disconnected_clients) { + groupClients = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_10__["applyFilter"])('connected', true, groupClients); + } - if (!show_disconnected_clients) { - groupClients = (0, _arrays.applyFilter)('connected', true, groupClients); - } - - if (!groupClients.length) return null; - - var volume = groupClients.reduce(function (acc, client) { - return acc + (client.volume || 0); - }, 0) / groupClients.length; - - return _react2.default.createElement( - 'div', - { className: 'output-control__item outputs__item--snapcast', key: group.id }, - _react2.default.createElement( - 'div', - { className: 'output-control__item__name' }, - group.name - ), - _react2.default.createElement( - 'div', - { className: 'output-control__item__controls' }, - _react2.default.createElement(_DropdownField2.default, { - name: 'Source', - value: group.stream_id, - icon: 'settings_input_component', - options: streams, - noLabel: true, - handleChange: function handleChange(value) { - return snapcastActions.setGroupStream(group.id, value); - } - }), - _react2.default.createElement(_MuteControl2.default, { - className: 'output-control__item__mute', - noTooltip: true, - mute: group.mute, - onMuteChange: function onMuteChange(mute) { - return snapcastActions.setGroupMute(group.id, mute); - } - }), - _react2.default.createElement(_VolumeControl2.default, { - className: 'output-control__item__volume', - volume: volume, - mute: group.mute, - onVolumeChange: function onVolumeChange(percent, previousPercent) { - return snapcastActions.setGroupVolume(group.id, percent, previousPercent); - } - }) - ) - ); - }) - ); + if (!groupClients.length) return null; + var volume = groupClients.reduce(function (acc, client) { + return acc + (client.volume || 0); + }, 0) / groupClients.length; + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "output-control__item outputs__item--snapcast", + key: group.id, + "data-qa-node": "div", + "data-qa-file": "OutputControl" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "output-control__item__name", + "data-qa-node": "div", + "data-qa-file": "OutputControl" + }, group.name), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "output-control__item__controls", + "data-qa-node": "div", + "data-qa-file": "OutputControl" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_DropdownField__WEBPACK_IMPORTED_MODULE_6__["default"], { + name: "Source", + value: group.stream_id, + icon: "settings_input_component", + options: streams, + noLabel: true, + handleChange: function handleChange(value) { + return snapcastActions.setGroupStream(group.id, value); + }, + "data-qa-node": "DropdownField", + "data-qa-file": "OutputControl" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_MuteControl__WEBPACK_IMPORTED_MODULE_4__["default"], { + className: "output-control__item__mute", + noTooltip: true, + mute: group.mute, + onMuteChange: function onMuteChange(mute) { + return snapcastActions.setGroupMute(group.id, mute); + }, + "data-qa-node": "MuteControl", + "data-qa-file": "OutputControl" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_VolumeControl__WEBPACK_IMPORTED_MODULE_3__["default"], { + className: "output-control__item__volume", + volume: volume, + mute: group.mute, + onVolumeChange: function onVolumeChange(percent, previousPercent) { + return snapcastActions.setGroupVolume(group.id, percent, previousPercent); + }, + "data-qa-node": "VolumeControl", + "data-qa-file": "OutputControl" + }))); + })); } }, { - key: 'commands', + key: "commands", value: function commands() { - var _props2 = this.props, - pusher_commands = _props2.pusher_commands, - pusherActions = _props2.pusherActions; - - + var _this$props2 = this.props, + pusher_commands = _this$props2.pusher_commands, + pusherActions = _this$props2.pusherActions; if (!pusher_commands) return null; - - var items = (0, _arrays.indexToArray)(pusher_commands); + var items = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_10__["indexToArray"])(pusher_commands); if (items.length <= 0) return null; - - items = (0, _arrays.sortItems)(items, 'sort_order'); - - return _react2.default.createElement( - 'div', - { className: 'output-control__item output-control__item--commands commands' }, - items.map(function (command) { - return _react2.default.createElement( - 'div', - { - key: command.id, - className: 'commands__item commands__item--interactive', - onClick: function onClick(e) { - return pusherActions.runCommand(command.id); - } - }, - _react2.default.createElement(_Icon2.default, { className: 'commands__item__icon', name: command.icon }), - _react2.default.createElement('span', { className: command.colour + '-background commands__item__background' }) - ); - }) - ); + items = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_10__["sortItems"])(items, 'sort_order'); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "output-control__item output-control__item--commands commands", + "data-qa-node": "div", + "data-qa-file": "OutputControl" + }, items.map(function (command) { + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + key: command.id, + className: "commands__item commands__item--interactive", + onClick: function onClick(e) { + return pusherActions.runCommand(command.id); + }, + "data-qa-node": "div", + "data-qa-file": "OutputControl" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_5__["default"], { + className: "commands__item__icon", + name: command.icon, + "data-qa-node": "Icon", + "data-qa-file": "OutputControl" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "".concat(command.colour, "-background commands__item__background"), + "data-qa-node": "span", + "data-qa-file": "OutputControl" + })); + })); } }, { - key: 'localStreaming', + key: "localStreaming", value: function localStreaming() { - var _props3 = this.props, - http_streaming_enabled = _props3.http_streaming_enabled, - http_streaming_volume = _props3.http_streaming_volume, - http_streaming_mute = _props3.http_streaming_mute, - coreActions = _props3.coreActions; - - + var _this$props3 = this.props, + http_streaming_enabled = _this$props3.http_streaming_enabled, + http_streaming_volume = _this$props3.http_streaming_volume, + http_streaming_mute = _this$props3.http_streaming_mute, + coreActions = _this$props3.coreActions; if (!http_streaming_enabled) return null; - - return _react2.default.createElement( - 'div', - { className: 'output-control__item outputs__item--icecast' }, - _react2.default.createElement( - 'div', - { className: 'output-control__item__name' }, - 'Local browser' - ), - _react2.default.createElement( - 'div', - { className: 'output-control__item__controls' }, - _react2.default.createElement(_MuteControl2.default, { - className: 'output-control__item__mute', - noTooltip: true, - mute: http_streaming_mute, - onMuteChange: function onMuteChange(mute) { - return coreActions.set({ http_streaming_mute: mute }); - } - }), - _react2.default.createElement(_VolumeControl2.default, { - className: 'output-control__item__volume', - volume: http_streaming_volume, - mute: http_streaming_mute, - onVolumeChange: function onVolumeChange(percent) { - return coreActions.set({ http_streaming_volume: percent }); - } - }) - ) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "output-control__item outputs__item--icecast", + "data-qa-node": "div", + "data-qa-file": "OutputControl" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "output-control__item__name", + "data-qa-node": "div", + "data-qa-file": "OutputControl" + }, "Local browser"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "output-control__item__controls", + "data-qa-node": "div", + "data-qa-file": "OutputControl" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_MuteControl__WEBPACK_IMPORTED_MODULE_4__["default"], { + className: "output-control__item__mute", + noTooltip: true, + mute: http_streaming_mute, + onMuteChange: function onMuteChange(mute) { + return coreActions.set({ + http_streaming_mute: mute + }); + }, + "data-qa-node": "MuteControl", + "data-qa-file": "OutputControl" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_VolumeControl__WEBPACK_IMPORTED_MODULE_3__["default"], { + className: "output-control__item__volume", + volume: http_streaming_volume, + mute: http_streaming_mute, + onVolumeChange: function onVolumeChange(percent) { + return coreActions.set({ + http_streaming_volume: percent + }); + }, + "data-qa-node": "VolumeControl", + "data-qa-file": "OutputControl" + }))); } }, { - key: 'renderOutputs', + key: "renderOutputs", value: function renderOutputs() { var snapcastGroups = this.snapcastGroups(); var localStreaming = this.localStreaming(); var commands = this.commands(); if (!snapcastGroups && !localStreaming && !commands) { - return _react2.default.createElement( - 'div', - { className: 'output-control__items output-control__items--no-results' }, - _react2.default.createElement( - 'p', - { className: 'no-results' }, - _react2.default.createElement(_locale.I18n, { path: 'playback_controls.no_outputs' }) - ) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "output-control__items output-control__items--no-results", + "data-qa-node": "div", + "data-qa-file": "OutputControl" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p", { + className: "no-results", + "data-qa-node": "p", + "data-qa-file": "OutputControl" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_12__["I18n"], { + path: "playback_controls.no_outputs", + "data-qa-node": "I18n", + "data-qa-file": "OutputControl" + }))); } - return _react2.default.createElement( - 'div', - { className: 'output-control__items' }, - commands, - localStreaming, - snapcastGroups - ); + + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "output-control__items", + "data-qa-node": "div", + "data-qa-file": "OutputControl" + }, commands, localStreaming, snapcastGroups); } }, { - key: 'render', + key: "render", value: function render() { var _this2 = this; if (this.state.expanded) { - return _react2.default.createElement( - 'span', - { className: 'output-control' }, - _react2.default.createElement( - 'button', - { className: 'control speakers active', onClick: function onClick(e) { - return _this2.setExpanded(); - } }, - _react2.default.createElement(_Icon2.default, { name: 'speaker' }) - ), - this.renderOutputs() - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "output-control", + "data-qa-node": "span", + "data-qa-file": "OutputControl" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", { + className: "control speakers active", + onClick: function onClick(e) { + return _this2.setExpanded(); + }, + "data-qa-node": "button", + "data-qa-file": "OutputControl" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_5__["default"], { + name: "speaker", + "data-qa-node": "Icon", + "data-qa-file": "OutputControl" + })), this.renderOutputs()); + } // No customisable outputs + + + if (!this.props.http_streaming_enabled && !this.props.snapcast_enabled && !this.props.pusher_commands) { + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "output-control disabled", + "data-qa-node": "span", + "data-qa-file": "OutputControl" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", { + className: "control speakers", + "data-qa-node": "button", + "data-qa-file": "OutputControl" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_5__["default"], { + name: "speaker", + "data-qa-node": "Icon", + "data-qa-file": "OutputControl" + }))); } - // No customisable outputs - if (!this.props.http_streaming_enabled && !this.props.snapcast_enabled && !this.props.pusher_commands) { - return _react2.default.createElement( - 'span', - { className: 'output-control disabled' }, - _react2.default.createElement( - 'button', - { className: 'control speakers' }, - _react2.default.createElement(_Icon2.default, { name: 'speaker' }) - ) - ); - } - return _react2.default.createElement( - 'span', - { className: 'output-control' }, - _react2.default.createElement( - 'button', - { className: 'control speakers', onClick: function onClick(e) { - return _this2.setExpanded(); - } }, - _react2.default.createElement(_Icon2.default, { name: 'speaker' }) - ) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "output-control", + "data-qa-node": "span", + "data-qa-file": "OutputControl" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", { + className: "control speakers", + onClick: function onClick(e) { + return _this2.setExpanded(); + }, + "data-qa-node": "button", + "data-qa-file": "OutputControl" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_5__["default"], { + name: "speaker", + "data-qa-node": "Icon", + "data-qa-file": "OutputControl" + }))); } }]); return OutputControl; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); var mapStateToProps = function mapStateToProps(state, ownProps) { return { @@ -89874,13 +90389,13 @@ var mapStateToProps = function mapStateToProps(state, ownProps) { var mapDispatchToProps = function mapDispatchToProps(dispatch) { return { - coreActions: (0, _redux.bindActionCreators)(coreActions, dispatch), - snapcastActions: (0, _redux.bindActionCreators)(snapcastActions, dispatch), - pusherActions: (0, _redux.bindActionCreators)(pusherActions, dispatch) + coreActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_core_actions__WEBPACK_IMPORTED_MODULE_7__, dispatch), + snapcastActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_snapcast_actions__WEBPACK_IMPORTED_MODULE_9__, dispatch), + pusherActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_pusher_actions__WEBPACK_IMPORTED_MODULE_8__, dispatch) }; }; -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(OutputControl); +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapStateToProps, mapDispatchToProps)(OutputControl)); /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ "./node_modules/jquery/dist/jquery.js"))) /***/ }), @@ -89889,104 +90404,120 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)( /*!****************************************************!*\ !*** ./src/js/components/Fields/ProgressSlider.js ***! \****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); - -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); - -var _actions = __webpack_require__(/*! ../../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); - -var mopidyActions = _interopRequireWildcard(_actions); - -var _helpers = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var _services_mopidy_actions__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); +/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -var ProgressSlider = function (_React$Component) { +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + + + + + + + +var ProgressSlider = /*#__PURE__*/function (_React$Component) { _inherits(ProgressSlider, _React$Component); + var _super = _createSuper(ProgressSlider); + function ProgressSlider(props) { + var _this; + _classCallCheck(this, ProgressSlider); - var _this = _possibleConstructorReturn(this, (ProgressSlider.__proto__ || Object.getPrototypeOf(ProgressSlider)).call(this, props)); - - _this.handleChange = (0, _helpers.throttle)(_this.handleChange.bind(_this), 250); + _this = _super.call(this, props); + _this.handleChange = Object(_util_helpers__WEBPACK_IMPORTED_MODULE_4__["throttle"])(_this.handleChange.bind(_assertThisInitialized(_this)), 250); return _this; } _createClass(ProgressSlider, [{ - key: 'handleChange', + key: "handleChange", value: function handleChange(value) { this.props.mopidyActions.setTimePosition(this.props.current_track.duration * (value / 100)); } }, { - key: 'render', + key: "render", value: function render() { var _this2 = this; var percent = 0; + if (this.props.connected && this.props.time_position && this.props.current_track && this.props.current_track.duration) { percent = this.props.time_position / this.props.current_track.duration; percent *= 100; + if (percent > 1000) { percent = 100; } } - return _react2.default.createElement( - 'div', - { className: 'slider slider--playback-progress slider--' + this.props.play_state }, - _react2.default.createElement('input', { - type: 'range', - min: '0', - max: '100', - value: percent, - className: 'slider__input', - onChange: function onChange(e) { - return _this2.handleChange(parseInt(e.target.value)); - } - }), - _react2.default.createElement( - 'div', - { className: 'slider__track' }, - _react2.default.createElement('div', { className: 'slider__track__progress', style: { width: percent + '%' } }) - ) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "slider slider--playback-progress slider--".concat(this.props.play_state), + "data-qa-node": "div", + "data-qa-file": "ProgressSlider" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { + type: "range", + min: "0", + max: "100", + value: percent, + className: "slider__input", + onChange: function onChange(e) { + return _this2.handleChange(parseInt(e.target.value)); + }, + "data-qa-node": "input", + "data-qa-file": "ProgressSlider" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "slider__track", + "data-qa-node": "div", + "data-qa-file": "ProgressSlider" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "slider__track__progress", + style: { + width: "".concat(percent, "%") + }, + "data-qa-node": "div", + "data-qa-file": "ProgressSlider" + }))); } }]); return ProgressSlider; -}(_react2.default.Component); - +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); /** * Export our component * * We also integrate our global store, using connect() * */ + var mapStateToProps = function mapStateToProps(state, ownProps) { return { current_track: state.core.current_track && state.core.tracks[state.core.current_track.uri] !== undefined ? state.core.tracks[state.core.current_track.uri] : null, @@ -89998,11 +90529,11 @@ var mapStateToProps = function mapStateToProps(state, ownProps) { var mapDispatchToProps = function mapDispatchToProps(dispatch) { return { - mopidyActions: (0, _redux.bindActionCreators)(mopidyActions, dispatch) + mopidyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_mopidy_actions__WEBPACK_IMPORTED_MODULE_3__, dispatch) }; }; -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(ProgressSlider); +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapStateToProps, mapDispatchToProps)(ProgressSlider)); /***/ }), @@ -90010,142 +90541,156 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)( /*!************************************************!*\ !*** ./src/js/components/Fields/SearchForm.js ***! \************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); - -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); - -var _actions = __webpack_require__(/*! ../../services/ui/actions */ "./src/js/services/ui/actions.js"); - -var uiActions = _interopRequireWildcard(_actions); - -var _helpers = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); - -var _Icon = __webpack_require__(/*! ../Icon */ "./src/js/components/Icon.js"); - -var _Icon2 = _interopRequireDefault(_Icon); - -var _locale = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js"); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var _services_ui_actions__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../services/ui/actions */ "./src/js/services/ui/actions.js"); +/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); +/* harmony import */ var _Icon__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../Icon */ "./src/js/components/Icon.js"); +/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -var SearchForm = function (_React$Component) { +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _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; } + + + + + + + + + +var SearchForm = /*#__PURE__*/function (_React$Component) { _inherits(SearchForm, _React$Component); + var _super = _createSuper(SearchForm); + function SearchForm(props) { + var _this; + _classCallCheck(this, SearchForm); - var _this = _possibleConstructorReturn(this, (SearchForm.__proto__ || Object.getPrototypeOf(SearchForm)).call(this, props)); + _this = _super.call(this, props); - _this.shouldComponentUpdate = function (nextProps, nextState) { + _defineProperty(_assertThisInitialized(_this), "shouldComponentUpdate", function (nextProps, nextState) { var termProp = _this.props.term; var termState = _this.state.term; - if (nextProps.term !== termProp) return true; if (nextState.term !== termState) return true; - return false; - }; + }); - _this.onChange = function (e) { + _defineProperty(_assertThisInitialized(_this), "onChange", function (e) { _this.setState({ term: e.target.value, pristine: false }); - }; + }); - _this.onBlur = function () { + _defineProperty(_assertThisInitialized(_this), "onBlur", function () { var onBlur = _this.props.onBlur; var term = _this.state.term; - _this.setState({ pristine: false }); + _this.setState({ + pristine: false + }); + if (onBlur) { onBlur(term); } - }; + }); - _this.onFocus = function () { - _this.setState({ pristine: false }); - }; + _defineProperty(_assertThisInitialized(_this), "onFocus", function () { + _this.setState({ + pristine: false + }); + }); - _this.onSubmit = function (e) { + _defineProperty(_assertThisInitialized(_this), "onSubmit", function (e) { var term = _this.state.term; var history = _this.props.history; + e.preventDefault(); // check for uri type matching - e.preventDefault(); - - // check for uri type matching - switch ((0, _helpers.uriType)(term)) { + switch (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_4__["uriType"])(term)) { case 'album': - history.push('/album/' + encodeURIComponent(term)); + history.push("/album/".concat(encodeURIComponent(term))); break; case 'artist': - history.push('/artist/' + encodeURIComponent(term)); + history.push("/artist/".concat(encodeURIComponent(term))); break; case 'playlist': - history.push('/playlist/' + encodeURIComponent(term)); + history.push("/playlist/".concat(encodeURIComponent(term))); break; case 'track': - history.push('/track/' + encodeURIComponent(term)); + history.push("/track/".concat(encodeURIComponent(term))); break; default: _this.props.onSubmit(term); + break; } return false; - }; + }); - _this.render = function () { + _defineProperty(_assertThisInitialized(_this), "render", function () { var term = _this.state.term; var onReset = _this.props.onReset; - - - return _react2.default.createElement( - 'form', - { className: 'search-form', onSubmit: _this.onSubmit }, - _react2.default.createElement( - 'label', - null, - _react2.default.createElement('input', { - type: 'text', - placeholder: (0, _locale.i18n)('fields.search'), - onChange: _this.onChange, - onBlur: _this.onBlur, - onFocus: _this.onFocus, - value: term - }) - ), - term && _react2.default.createElement(_Icon2.default, { name: 'close', className: 'search-form__reset', onClick: onReset }) - ); - }; + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("form", { + className: "search-form", + onSubmit: _this.onSubmit, + "data-qa-node": "form", + "data-qa-file": "SearchForm" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { + "data-qa-node": "label", + "data-qa-file": "SearchForm" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { + type: "text", + placeholder: Object(_locale__WEBPACK_IMPORTED_MODULE_6__["i18n"])('fields.search'), + onChange: _this.onChange, + onBlur: _this.onBlur, + onFocus: _this.onFocus, + value: term, + "data-qa-node": "input", + "data-qa-file": "SearchForm" + })), term && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_5__["default"], { + name: "close", + className: "search-form__reset", + onClick: onReset, + "data-qa-node": "Icon", + "data-qa-file": "SearchForm" + })); + }); _this.state = { term: props.term, @@ -90155,7 +90700,7 @@ var SearchForm = function (_React$Component) { } _createClass(SearchForm, null, [{ - key: 'getDerivedStateFromProps', + key: "getDerivedStateFromProps", value: function getDerivedStateFromProps(props, state) { var pristine = state.pristine, term = state.term; @@ -90166,20 +90711,21 @@ var SearchForm = function (_React$Component) { pristine: false }; } + return null; } }]); return SearchForm; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); var mapDispatchToProps = function mapDispatchToProps(dispatch) { return { - uiActions: (0, _redux.bindActionCreators)(uiActions, dispatch) + uiActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_ui_actions__WEBPACK_IMPORTED_MODULE_3__, dispatch) }; }; -exports.default = (0, _reactRedux.connect)(mapDispatchToProps)(SearchForm); +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapDispatchToProps)(SearchForm)); /***/ }), @@ -90187,54 +90733,48 @@ exports.default = (0, _reactRedux.connect)(mapDispatchToProps)(SearchForm); /*!*************************************************!*\ !*** ./src/js/components/Fields/SelectField.js ***! \*************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _Icon__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Icon */ "./src/js/components/Icon.js"); -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _Icon = __webpack_require__(/*! ../Icon */ "./src/js/components/Icon.js"); - -var _Icon2 = _interopRequireDefault(_Icon); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var SelectField = function SelectField(_ref) { var _onChange = _ref.onChange, value = _ref.value, options = _ref.options; - return _react2.default.createElement( - 'div', - { className: 'select-field' }, - _react2.default.createElement( - 'select', - { - onChange: function onChange(e) { - return _onChange(e.target.value); - }, - value: value - }, - options.map(function (option) { - return _react2.default.createElement( - 'option', - { value: option.value, key: option.key || option.value }, - option.label - ); - }) - ), - _react2.default.createElement(_Icon2.default, { name: 'arrow_drop_down', className: 'select-field__icon' }) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "select-field", + "data-qa-node": "div", + "data-qa-file": "SelectField" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("select", { + onChange: function onChange(e) { + return _onChange(e.target.value); + }, + value: value, + "data-qa-node": "select", + "data-qa-file": "SelectField" + }, options.map(function (option) { + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("option", { + value: option.value, + key: option.key || option.value, + "data-qa-node": "option", + "data-qa-file": "SelectField" + }, option.label); + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_1__["default"], { + name: "arrow_drop_down", + className: "select-field__icon", + "data-qa-node": "Icon", + "data-qa-file": "SelectField" + })); }; -exports.default = SelectField; +/* harmony default export */ __webpack_exports__["default"] = (SelectField); /***/ }), @@ -90242,58 +90782,67 @@ exports.default = SelectField; /*!*****************************************************!*\ !*** ./src/js/components/Fields/SourcesPriority.js ***! \*****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _reactSortablejs = __webpack_require__(/*! react-sortablejs */ "./node_modules/react-sortablejs/lib/index.js"); - -var _reactSortablejs2 = _interopRequireDefault(_reactSortablejs); - -var _Icon = __webpack_require__(/*! ../Icon */ "./src/js/components/Icon.js"); - -var _Icon2 = _interopRequireDefault(_Icon); - -var _helpers = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return SourcesPriority; }); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_sortablejs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-sortablejs */ "./node_modules/react-sortablejs/lib/index.js"); +/* harmony import */ var react_sortablejs__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_sortablejs__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _Icon__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Icon */ "./src/js/components/Icon.js"); +/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -var SourcesPriority = function (_React$Component) { +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + + + + + + +var SourcesPriority = /*#__PURE__*/function (_React$Component) { _inherits(SourcesPriority, _React$Component); + var _super = _createSuper(SourcesPriority); + function SourcesPriority() { _classCallCheck(this, SourcesPriority); - return _possibleConstructorReturn(this, (SourcesPriority.__proto__ || Object.getPrototypeOf(SourcesPriority)).apply(this, arguments)); + return _super.apply(this, arguments); } _createClass(SourcesPriority, [{ - key: 'handleSort', + key: "handleSort", value: function handleSort(order) { - this.props.uiActions.set({ uri_schemes_priority: order }); + this.props.uiActions.set({ + uri_schemes_priority: order + }); } }, { - key: 'render', + key: "render", value: function render() { - var _this2 = this; + var _this = this; var className = 'sources-priority-field'; var ordered_schemes = []; @@ -90313,35 +90862,37 @@ var SourcesPriority = function (_React$Component) { ordered_schemes.push(unordered_schemes[i]); } - return _react2.default.createElement( - _reactSortablejs2.default, - { - options: { - animation: 150 - }, - className: className, - onChange: function onChange(order, sortable, e) { - _this2.handleSort(order); - } + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_sortablejs__WEBPACK_IMPORTED_MODULE_1___default.a, { + options: { + animation: 150 }, - ordered_schemes.map(function (scheme) { - var name = (0, _helpers.titleCase)(scheme.replace(':', '').replace('+', ' ')); - - return _react2.default.createElement( - 'span', - { className: 'source flag flag--grey', key: scheme, 'data-id': scheme }, - _react2.default.createElement(_Icon2.default, { name: 'drag_indicator' }), - name - ); - }) - ); + className: className, + onChange: function onChange(order, sortable, e) { + _this.handleSort(order); + }, + "data-qa-node": "Sortable", + "data-qa-file": "SourcesPriority" + }, ordered_schemes.map(function (scheme) { + var name = Object(_util_helpers__WEBPACK_IMPORTED_MODULE_3__["titleCase"])(scheme.replace(':', '').replace('+', ' ')); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "source flag flag--grey", + key: scheme, + "data-id": scheme, + "data-qa-node": "span", + "data-qa-file": "SourcesPriority" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_2__["default"], { + name: "drag_indicator", + "data-qa-node": "Icon", + "data-qa-file": "SourcesPriority" + }), name); + })); } }]); return SourcesPriority; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); + -exports.default = SourcesPriority; /***/ }), @@ -90349,169 +90900,192 @@ exports.default = SourcesPriority; /*!****************************************************************!*\ !*** ./src/js/components/Fields/SpotifyAuthenticationFrame.js ***! \****************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); - -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); - -var _actions = __webpack_require__(/*! ../../services/ui/actions */ "./src/js/services/ui/actions.js"); - -var uiActions = _interopRequireWildcard(_actions); - -var _actions2 = __webpack_require__(/*! ../../services/spotify/actions */ "./src/js/services/spotify/actions.js"); - -var spotifyActions = _interopRequireWildcard(_actions2); - -var _format = __webpack_require__(/*! ../../util/format */ "./src/js/util/format.js"); - -var _locale = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js"); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var _services_ui_actions__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../services/ui/actions */ "./src/js/services/ui/actions.js"); +/* harmony import */ var _services_spotify_actions__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../services/spotify/actions */ "./src/js/services/spotify/actions.js"); +/* harmony import */ var _util_format__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../util/format */ "./src/js/util/format.js"); +/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -var SpotifyAuthenticationFrame = function (_React$Component) { +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + + + + + + + + + +var SpotifyAuthenticationFrame = /*#__PURE__*/function (_React$Component) { _inherits(SpotifyAuthenticationFrame, _React$Component); + var _super = _createSuper(SpotifyAuthenticationFrame); + function SpotifyAuthenticationFrame(props) { + var _this; + _classCallCheck(this, SpotifyAuthenticationFrame); - var _this = _possibleConstructorReturn(this, (SpotifyAuthenticationFrame.__proto__ || Object.getPrototypeOf(SpotifyAuthenticationFrame)).call(this, props)); - + _this = _super.call(this, props); _this.state = { authorizing: false }; - - _this.handleMessage = _this.handleMessage.bind(_this); + _this.handleMessage = _this.handleMessage.bind(_assertThisInitialized(_this)); return _this; } _createClass(SpotifyAuthenticationFrame, [{ - key: 'componentDidMount', + key: "componentDidMount", value: function componentDidMount() { window.addEventListener('message', this.handleMessage, false); } }, { - key: 'componentWillUnmount', + key: "componentWillUnmount", value: function componentWillUnmount() { window.removeEventListener('message', this.handleMessage, false); } }, { - key: 'handleMessage', + key: "handleMessage", value: function handleMessage(event) { - var data = (0, _format.toJSON)(event.data); + var data = Object(_util_format__WEBPACK_IMPORTED_MODULE_5__["toJSON"])(event.data); // Only digest messages relevant to us - // Only digest messages relevant to us if (data.origin != 'auth_spotify') { return; - } + } // Only allow incoming data from our authorized authenticator proxy + - // Only allow incoming data from our authorized authenticator proxy var authorization_domain = this.props.authorization_url.substring(0, this.props.authorization_url.indexOf('/', 8)); + if (event.origin != authorization_domain) { this.props.uiActions.createNotification({ - content: (0, _locale.i18n)('authentication.failed', { origin: event.origin }), + content: Object(_locale__WEBPACK_IMPORTED_MODULE_6__["i18n"])('authentication.failed', { + origin: event.origin + }), level: 'error' }); return false; - } + } // Spotify bounced with an error + - // Spotify bounced with an error if (data.error !== undefined) { - this.props.uiActions.createNotification({ content: data.error, level: 'error' }); - - // No errors? We're in! + this.props.uiActions.createNotification({ + content: data.error, + level: 'error' + }); // No errors? We're in! } else { this.props.spotifyActions.authorizationGranted(data); this.props.spotifyActions.getMe(); - } + } // Turn off our authorizing switch - // Turn off our authorizing switch - this.setState({ authorizing: false }); + + this.setState({ + authorizing: false + }); } }, { - key: 'startAuthorization', + key: "startAuthorization", value: function startAuthorization() { var self = this; - this.setState({ authorizing: true }); + this.setState({ + authorizing: true + }); // Open an authentication request window (to spotify) - // Open an authentication request window (to spotify) - var url = this.props.authorization_url + '?action=authorize'; - var scopes = ['playlist-modify-private', 'playlist-modify-public', 'playlist-read-private', 'playlist-modify-private', 'user-library-read', 'user-library-modify', 'user-follow-modify', 'user-follow-read', 'user-read-email', 'user-top-read', 'user-read-currently-playing', 'user-read-playback-state', 'playlist-read-collaborative', 'ugc-image-upload']; - var popup = window.open(url + '&scope=' + scopes.join('%20'), 'popup', 'height=580,width=350'); + var url = "".concat(this.props.authorization_url, "?action=authorize"); + var scopes = ['playlist-modify-private', 'playlist-modify-public', 'playlist-read-private', 'playlist-modify-private', 'user-library-read', 'user-library-modify', 'user-follow-modify', 'user-follow-read', 'user-read-email', 'user-top-read', 'user-read-currently-playing', 'user-read-playback-state', 'playlist-read-collaborative', 'ugc-image-upload' // playlist image uploading + ]; + var popup = window.open("".concat(url, "&scope=").concat(scopes.join('%20')), 'popup', 'height=580,width=350'); // Start timer to check our popup's state - // Start timer to check our popup's state var timer = setInterval(checkPopup, 1000); + function checkPopup() { // Popup has been closed if (typeof popup !== 'undefined' && popup) { if (popup.closed) { - self.setState({ authorizing: false }); + self.setState({ + authorizing: false + }); clearInterval(timer); - } + } // Popup does not exist, so must have been blocked - // Popup does not exist, so must have been blocked } else { self.props.uiActions.createNotification({ - content: (0, _locale.i18n)('authentication.popup_blocked'), + content: Object(_locale__WEBPACK_IMPORTED_MODULE_6__["i18n"])('authentication.popup_blocked'), level: 'error' }); - self.setState({ authorizing: false }); + self.setState({ + authorizing: false + }); clearInterval(timer); } } } }, { - key: 'render', + key: "render", value: function render() { var _this2 = this; var authorizing = this.state.authorizing; var authorized = this.props.authorized; - if (authorized) { - return _react2.default.createElement( - 'a', - { className: 'button button--destructive ' + (authorizing ? 'button--working' : ''), onClick: function onClick(e) { - return _this2.props.spotifyActions.revokeAuthorization(); - } }, - _react2.default.createElement(_locale.I18n, { path: 'authentication.log_out' }) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + className: "button button--destructive ".concat(authorizing ? 'button--working' : ''), + onClick: function onClick(e) { + return _this2.props.spotifyActions.revokeAuthorization(); + }, + "data-qa-node": "a", + "data-qa-file": "SpotifyAuthenticationFrame" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_6__["I18n"], { + path: "authentication.log_out", + "data-qa-node": "I18n", + "data-qa-file": "SpotifyAuthenticationFrame" + })); } - return _react2.default.createElement( - 'a', - { className: 'button button--primary ' + (authorizing ? 'button--working' : ''), onClick: function onClick(e) { - return _this2.startAuthorization(); - } }, - _react2.default.createElement(_locale.I18n, { path: 'authentication.log_in' }) - ); + + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + className: "button button--primary ".concat(authorizing ? 'button--working' : ''), + onClick: function onClick(e) { + return _this2.startAuthorization(); + }, + "data-qa-node": "a", + "data-qa-file": "SpotifyAuthenticationFrame" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_6__["I18n"], { + path: "authentication.log_in", + "data-qa-node": "I18n", + "data-qa-file": "SpotifyAuthenticationFrame" + })); } }]); return SpotifyAuthenticationFrame; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); var mapStateToProps = function mapStateToProps(state, ownProps) { return { @@ -90523,12 +91097,12 @@ var mapStateToProps = function mapStateToProps(state, ownProps) { var mapDispatchToProps = function mapDispatchToProps(dispatch) { return { - uiActions: (0, _redux.bindActionCreators)(uiActions, dispatch), - spotifyActions: (0, _redux.bindActionCreators)(spotifyActions, dispatch) + uiActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_ui_actions__WEBPACK_IMPORTED_MODULE_3__, dispatch), + spotifyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_spotify_actions__WEBPACK_IMPORTED_MODULE_4__, dispatch) }; }; -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(SpotifyAuthenticationFrame); +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapStateToProps, mapDispatchToProps)(SpotifyAuthenticationFrame)); /***/ }), @@ -90536,98 +91110,124 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)( /*!***********************************************!*\ !*** ./src/js/components/Fields/TextField.js ***! \***********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _Icon = __webpack_require__(/*! ../Icon */ "./src/js/components/Icon.js"); - -var _Icon2 = _interopRequireDefault(_Icon); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return TextField; }); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _Icon__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Icon */ "./src/js/components/Icon.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -var TextField = function (_React$Component) { +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _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; } + + + + +var TextField = /*#__PURE__*/function (_React$Component) { _inherits(TextField, _React$Component); + var _super = _createSuper(TextField); + function TextField(props) { + var _this; + _classCallCheck(this, TextField); - var _this = _possibleConstructorReturn(this, (TextField.__proto__ || Object.getPrototypeOf(TextField)).call(this, props)); + _this = _super.call(this, props); - _this.handleChange = function (_ref) { + _defineProperty(_assertThisInitialized(_this), "handleChange", function (_ref) { var value = _ref.target.value; var _this$props = _this.props, everyChange = _this$props.everyChange, onChange = _this$props.onChange; + _this.setState({ + value: value + }); - _this.setState({ value: value }); if (everyChange) { onChange(value); } - }; + }); - _this.handleFocus = function () { - _this.setState({ in_focus: true, saved: false }); - }; + _defineProperty(_assertThisInitialized(_this), "handleFocus", function () { + _this.setState({ + in_focus: true, + saved: false + }); + }); - _this.handleBlur = function () { + _defineProperty(_assertThisInitialized(_this), "handleBlur", function () { var _this$props2 = _this.props, value = _this$props2.value, onChange = _this$props2.onChange, autosave = _this$props2.autosave; var stateValue = _this.state.value; - _this.setState({ in_focus: false }); + _this.setState({ + in_focus: false + }); + if (stateValue !== value) { onChange(stateValue); - if (autosave) _this.setState({ saved: true }); + if (autosave) _this.setState({ + saved: true + }); } - }; + }); - _this.render = function () { + _defineProperty(_assertThisInitialized(_this), "render", function () { var _this$props3 = _this.props, className = _this$props3.className, _this$props3$type = _this$props3.type, - type = _this$props3$type === undefined ? 'text' : _this$props3$type, + type = _this$props3$type === void 0 ? 'text' : _this$props3$type, placeholder = _this$props3.placeholder; var _this$state = _this.state, value = _this$state.value, saved = _this$state.saved; - - - return _react2.default.createElement( - 'div', - { className: 'text-field__wrapper ' + className }, - _react2.default.createElement('input', { - type: type, - onChange: _this.handleChange, - onFocus: _this.handleFocus, - onBlur: _this.handleBlur, - value: value, - placeholder: placeholder - }), - saved && _react2.default.createElement(_Icon2.default, { name: 'check', className: 'text-field__saved' }) - ); - }; + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "text-field__wrapper ".concat(className), + "data-qa-node": "div", + "data-qa-file": "TextField" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { + type: type, + onChange: _this.handleChange, + onFocus: _this.handleFocus, + onBlur: _this.handleBlur, + value: value, + placeholder: placeholder, + "data-qa-node": "input", + "data-qa-file": "TextField" + }), saved && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_1__["default"], { + name: "check", + className: "text-field__saved", + "data-qa-node": "Icon", + "data-qa-file": "TextField" + })); + }); _this.state = { in_focus: false, @@ -90638,7 +91238,7 @@ var TextField = function (_React$Component) { } _createClass(TextField, null, [{ - key: 'getDerivedStateFromProps', + key: "getDerivedStateFromProps", value: function getDerivedStateFromProps(_ref2, state) { var value = _ref2.value; @@ -90647,14 +91247,15 @@ var TextField = function (_React$Component) { value: value }; } + return null; } }]); return TextField; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); + -exports.default = TextField; /***/ }), @@ -90662,95 +91263,113 @@ exports.default = TextField; /*!***************************************************!*\ !*** ./src/js/components/Fields/VolumeControl.js ***! \***************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _helpers = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return VolumeControl; }); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -var VolumeControl = function (_React$Component) { +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + + + + +var VolumeControl = /*#__PURE__*/function (_React$Component) { _inherits(VolumeControl, _React$Component); + var _super = _createSuper(VolumeControl); + function VolumeControl(props) { + var _this; + _classCallCheck(this, VolumeControl); - var _this = _possibleConstructorReturn(this, (VolumeControl.__proto__ || Object.getPrototypeOf(VolumeControl)).call(this, props)); - - _this.handleChange = (0, _helpers.throttle)(_this.handleChange.bind(_this), 100); + _this = _super.call(this, props); + _this.handleChange = Object(_util_helpers__WEBPACK_IMPORTED_MODULE_1__["throttle"])(_this.handleChange.bind(_assertThisInitialized(_this)), 100); return _this; } _createClass(VolumeControl, [{ - key: 'handleChange', + key: "handleChange", value: function handleChange(value) { this.props.onVolumeChange(value, this.props.volume); } }, { - key: 'render', + key: "render", value: function render() { var _this2 = this; - var _props = this.props, - className = _props.className, - mute = _props.mute, - volume = _props.volume, - vertical = _props.vertical; - - + var _this$props = this.props, + className = _this$props.className, + mute = _this$props.mute, + volume = _this$props.volume, + vertical = _this$props.vertical; var sliderClassName = "slider slider--volume"; if (mute) sliderClassName += " slider--muted"; - - return _react2.default.createElement( - 'div', - { className: 'slider__wrapper slider__wrapper--' + (vertical ? 'vertical' : 'horiztonal') + ' ' + className }, - _react2.default.createElement( - 'div', - { className: sliderClassName }, - _react2.default.createElement('input', { - className: 'slider__input', - type: 'range', - min: '0', - max: '25', - orient: vertical ? 'vertical' : 'horizontal', - value: volume / 4, - onChange: function onChange(e) { - return _this2.handleChange(parseInt(e.target.value) * 4); - } - }), - _react2.default.createElement( - 'div', - { className: 'slider__track' }, - _react2.default.createElement('div', { className: 'slider__track__progress', style: vertical ? { height: volume + '%' } : { width: volume + '%' } }) - ) - ) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "slider__wrapper slider__wrapper--".concat(vertical ? 'vertical' : 'horiztonal', " ").concat(className), + "data-qa-node": "div", + "data-qa-file": "VolumeControl" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: sliderClassName, + "data-qa-node": "div", + "data-qa-file": "VolumeControl" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { + className: "slider__input", + type: "range", + min: "0", + max: "25", + orient: vertical ? 'vertical' : 'horizontal', + value: volume / 4, + onChange: function onChange(e) { + return _this2.handleChange(parseInt(e.target.value) * 4); + }, + "data-qa-node": "input", + "data-qa-file": "VolumeControl" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "slider__track", + "data-qa-node": "div", + "data-qa-file": "VolumeControl" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "slider__track__progress", + style: vertical ? { + height: "".concat(volume, "%") + } : { + width: "".concat(volume, "%") + }, + "data-qa-node": "div", + "data-qa-file": "VolumeControl" + })))); } }]); return VolumeControl; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); + -exports.default = VolumeControl; /***/ }), @@ -90758,179 +91377,217 @@ exports.default = VolumeControl; /*!***************************************!*\ !*** ./src/js/components/GridItem.js ***! \***************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return GridItem; }); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/helpers */ "./src/js/util/helpers.js"); +/* harmony import */ var _Link__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Link */ "./src/js/components/Link.js"); +/* harmony import */ var _Icon__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Icon */ "./src/js/components/Icon.js"); +/* harmony import */ var _Thumbnail__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Thumbnail */ "./src/js/components/Thumbnail.js"); +/* harmony import */ var _LinksSentence__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./LinksSentence */ "./src/js/components/LinksSentence.js"); +/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _helpers = __webpack_require__(/*! ../util/helpers */ "./src/js/util/helpers.js"); - -var _Link = __webpack_require__(/*! ./Link */ "./src/js/components/Link.js"); - -var _Link2 = _interopRequireDefault(_Link); - -var _Icon = __webpack_require__(/*! ./Icon */ "./src/js/components/Icon.js"); - -var _Icon2 = _interopRequireDefault(_Icon); - -var _Thumbnail = __webpack_require__(/*! ./Thumbnail */ "./src/js/components/Thumbnail.js"); - -var _Thumbnail2 = _interopRequireDefault(_Thumbnail); - -var _LinksSentence = __webpack_require__(/*! ./LinksSentence */ "./src/js/components/LinksSentence.js"); - -var _LinksSentence2 = _interopRequireDefault(_LinksSentence); - -var _locale = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js"); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -var GridItem = function (_React$Component) { +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _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; } + + + + + + + + + +var GridItem = /*#__PURE__*/function (_React$Component) { _inherits(GridItem, _React$Component); - function GridItem() { - var _ref; + var _super = _createSuper(GridItem); - var _temp, _this, _ret; + function GridItem() { + var _this; _classCallCheck(this, GridItem); - for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } - return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = GridItem.__proto__ || Object.getPrototypeOf(GridItem)).call.apply(_ref, [this].concat(args))), _this), _this.shouldComponentUpdate = function (nextProps) { - var item = _this.props.item; + _this = _super.call.apply(_super, [this].concat(args)); + _defineProperty(_assertThisInitialized(_this), "shouldComponentUpdate", function (nextProps) { + var item = _this.props.item; return nextProps.item !== item; - }, _this.onContextMenu = function (e) { + }); + + _defineProperty(_assertThisInitialized(_this), "onContextMenu", function (e) { var onContextMenu = _this.props.onContextMenu; if (onContextMenu) { onContextMenu(e); } - }, _this.renderSecondary = function (_ref2) { - var uri = _ref2.uri, - tracks_total = _ref2.tracks_total, - followers = _ref2.followers, - albums_uris = _ref2.albums_uris, - artists = _ref2.artists; + }); - switch ((0, _helpers.uriType)(uri)) { + _defineProperty(_assertThisInitialized(_this), "renderSecondary", function (_ref) { + var uri = _ref.uri, + tracks_total = _ref.tracks_total, + followers = _ref.followers, + albums_uris = _ref.albums_uris, + artists = _ref.artists; + + switch (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_1__["uriType"])(uri)) { case 'playlist': - return tracks_total ? _react2.default.createElement( - 'span', - { className: 'grid__item__secondary__content' }, - _react2.default.createElement(_locale.I18n, { path: 'specs.tracks', count: tracks_total }) - ) : null; + return tracks_total ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "grid__item__secondary__content", + "data-qa-node": "span", + "data-qa-file": "GridItem" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_6__["I18n"], { + path: "specs.tracks", + count: tracks_total, + "data-qa-node": "I18n", + "data-qa-file": "GridItem" + })) : null; case 'artist': - return _react2.default.createElement( - 'span', - { className: 'grid__item__secondary__content' }, - followers && _react2.default.createElement(_locale.I18n, { path: 'specs.followers', count: followers.toLocaleString() }), - albums_uris && _react2.default.createElement(_locale.I18n, { path: 'specs.albums', count: albums_uris.length }) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "grid__item__secondary__content", + "data-qa-node": "span", + "data-qa-file": "GridItem" + }, followers && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_6__["I18n"], { + path: "specs.followers", + count: followers.toLocaleString(), + "data-qa-node": "I18n", + "data-qa-file": "GridItem" + }), albums_uris && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_6__["I18n"], { + path: "specs.albums", + count: albums_uris.length, + "data-qa-node": "I18n", + "data-qa-file": "GridItem" + })); case 'album': - return _react2.default.createElement( - 'span', - { className: 'grid__item__secondary__content' }, - artists && _react2.default.createElement(_LinksSentence2.default, { nolinks: true, items: artists }) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "grid__item__secondary__content", + "data-qa-node": "span", + "data-qa-file": "GridItem" + }, artists && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_LinksSentence__WEBPACK_IMPORTED_MODULE_5__["default"], { + nolinks: true, + items: artists, + "data-qa-node": "LinksSentence", + "data-qa-file": "GridItem" + })); default: - return _react2.default.createElement( - 'span', - { className: 'grid__item__secondary__content' }, - artists && _react2.default.createElement(_LinksSentence2.default, { nolinks: true, items: item.artists }), - followers && _react2.default.createElement(_locale.I18n, { path: 'specs.followers', count: followers.toLocaleString() }) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "grid__item__secondary__content", + "data-qa-node": "span", + "data-qa-file": "GridItem" + }, artists && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_LinksSentence__WEBPACK_IMPORTED_MODULE_5__["default"], { + nolinks: true, + items: item.artists, + "data-qa-node": "LinksSentence", + "data-qa-file": "GridItem" + }), followers && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_6__["I18n"], { + path: "specs.followers", + count: followers.toLocaleString(), + "data-qa-node": "I18n", + "data-qa-file": "GridItem" + })); } - }, _this.render = function () { + }); + + _defineProperty(_assertThisInitialized(_this), "render", function () { var _this$props = _this.props, album = _this$props.item.album, customLink = _this$props.link, type = _this$props.type, show_source_icon = _this$props.show_source_icon; var item = _this.props.item; - - if (!item) return null; - if (album) item = _extends({}, item, album); + if (album) item = _objectSpread(_objectSpread({}, item), album); + var link = customLink || "/".concat(type, "/").concat(encodeURIComponent(item.uri)); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Link__WEBPACK_IMPORTED_MODULE_2__["default"], { + className: "grid__item grid__item--".concat(type), + to: link, + onClick: _util_helpers__WEBPACK_IMPORTED_MODULE_1__["scrollTo"], + onContextMenu: _this.onContextMenu, + "data-qa-node": "Link", + "data-qa-file": "GridItem" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Thumbnail__WEBPACK_IMPORTED_MODULE_4__["default"], { + glow: true, + size: "medium", + className: "grid__item__thumbnail", + images: item.images || item.icons, + type: type, + "data-qa-node": "Thumbnail", + "data-qa-file": "GridItem" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "grid__item__name", + "data-qa-node": "div", + "data-qa-file": "GridItem" + }, item.name ? item.name : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "opaque-text", + "data-qa-node": "span", + "data-qa-file": "GridItem" + }, item.uri)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "grid__item__secondary", + "data-qa-node": "div", + "data-qa-file": "GridItem" + }, show_source_icon && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_3__["default"], { + name: Object(_util_helpers__WEBPACK_IMPORTED_MODULE_1__["sourceIcon"])(item.uri), + type: "fontawesome", + className: "source", + "data-qa-node": "Icon", + "data-qa-file": "GridItem" + }), _this.renderSecondary(item))); + }); - var link = customLink || '/' + type + '/' + encodeURIComponent(item.uri); - - return _react2.default.createElement( - _Link2.default, - { - className: 'grid__item grid__item--' + type, - to: link, - onClick: _helpers.scrollTo, - onContextMenu: _this.onContextMenu - }, - _react2.default.createElement(_Thumbnail2.default, { - glow: true, - size: 'medium', - className: 'grid__item__thumbnail', - images: item.images || item.icons, - type: type - }), - _react2.default.createElement( - 'div', - { className: 'grid__item__name' }, - item.name ? item.name : _react2.default.createElement( - 'span', - { className: 'opaque-text' }, - item.uri - ) - ), - _react2.default.createElement( - 'div', - { className: 'grid__item__secondary' }, - show_source_icon && _react2.default.createElement(_Icon2.default, { name: (0, _helpers.sourceIcon)(item.uri), type: 'fontawesome', className: 'source' }), - _this.renderSecondary(item) - ) - ); - }, _temp), _possibleConstructorReturn(_this, _ret); + return _this; } _createClass(GridItem, [{ - key: 'componentDidMount', + key: "componentDidMount", value: function componentDidMount() { - var _props = this.props, - mopidyActions = _props.mopidyActions, - spotifyActions = _props.spotifyActions, - spotifyAvailable = _props.spotifyAvailable, - item = _props.item; - - + var _this$props2 = this.props, + mopidyActions = _this$props2.mopidyActions, + spotifyActions = _this$props2.spotifyActions, + spotifyAvailable = _this$props2.spotifyAvailable, + item = _this$props2.item; if (!item || item.images) return; - switch ((0, _helpers.uriType)(item.uri)) { + switch (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_1__["uriType"])(item.uri)) { case 'artist': - if (spotifyActions && spotifyAvailable) { - //spotifyActions.getArtistImages(item); + if (spotifyActions && spotifyAvailable) {//spotifyActions.getArtistImages(item); } + break; case 'album': @@ -90938,6 +91595,7 @@ var GridItem = function (_React$Component) { if (mopidyActions) { mopidyActions.getImages('albums', [item.uri]); } + break; default: @@ -90947,9 +91605,9 @@ var GridItem = function (_React$Component) { }]); return GridItem; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); + -exports.default = GridItem; /***/ }), @@ -90957,27 +91615,17 @@ exports.default = GridItem; /*!*************************************!*\ !*** ./src/js/components/Header.js ***! \*************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _ContextMenuTrigger__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ContextMenuTrigger */ "./src/js/components/ContextMenuTrigger.js"); -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _ContextMenuTrigger = __webpack_require__(/*! ./ContextMenuTrigger */ "./src/js/components/ContextMenuTrigger.js"); - -var _ContextMenuTrigger2 = _interopRequireDefault(_ContextMenuTrigger); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -exports.default = (0, _react.memo)(function (_ref) { +/* harmony default export */ __webpack_exports__["default"] = (/*#__PURE__*/Object(react__WEBPACK_IMPORTED_MODULE_0__["memo"])(function (_ref) { var handleContextMenuTrigger = _ref.handleContextMenuTrigger, options = _ref.options, title = _ref.title, @@ -90987,7 +91635,6 @@ exports.default = (0, _react.memo)(function (_ref) { var onTrigger = function onTrigger(e) { if (handleContextMenuTrigger) return handleContextMenuTrigger(e); - e.preventDefault(); var data = { e: e, @@ -90999,26 +91646,27 @@ exports.default = (0, _react.memo)(function (_ref) { return true; }; - return _react2.default.createElement( - 'header', - { className: className }, - _react2.default.createElement( - 'h1', - null, - children - ), - (options || handleContextMenuTrigger) && _react2.default.createElement( - 'div', - { className: 'header__options' }, - _react2.default.createElement(_ContextMenuTrigger2.default, { onTrigger: onTrigger }), - _react2.default.createElement( - 'div', - { className: 'header__options__wrapper' }, - options || null - ) - ) - ); -}); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("header", { + className: className, + "data-qa-node": "header", + "data-qa-file": "Header" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h1", { + "data-qa-node": "h1", + "data-qa-file": "Header" + }, children), (options || handleContextMenuTrigger) && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "header__options", + "data-qa-node": "div", + "data-qa-file": "Header" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ContextMenuTrigger__WEBPACK_IMPORTED_MODULE_1__["default"], { + onTrigger: onTrigger, + "data-qa-node": "ContextMenuTrigger", + "data-qa-file": "Header" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "header__options__wrapper", + "data-qa-node": "div", + "data-qa-file": "Header" + }, options || null))); +})); /***/ }), @@ -91026,99 +91674,100 @@ exports.default = (0, _react.memo)(function (_ref) { /*!**************************************!*\ !*** ./src/js/components/Hotkeys.js ***! \**************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* WEBPACK VAR INJECTION */(function($) { - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _reactGa = __webpack_require__(/*! react-ga */ "./node_modules/react-ga/dist/esm/index.js"); - -var _reactGa2 = _interopRequireDefault(_reactGa); - -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); - -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); - -var _actions = __webpack_require__(/*! ../services/ui/actions */ "./src/js/services/ui/actions.js"); - -var uiActions = _interopRequireWildcard(_actions); - -var _actions2 = __webpack_require__(/*! ../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); - -var mopidyActions = _interopRequireWildcard(_actions2); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +__webpack_require__.r(__webpack_exports__); +/* WEBPACK VAR INJECTION */(function($) {/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_ga__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-ga */ "./node_modules/react-ga/dist/esm/index.js"); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var _services_ui_actions__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../services/ui/actions */ "./src/js/services/ui/actions.js"); +/* harmony import */ var _services_mopidy_actions__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -var Hotkeys = function (_React$Component) { +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + + + + + + + + +var Hotkeys = /*#__PURE__*/function (_React$Component) { _inherits(Hotkeys, _React$Component); + var _super = _createSuper(Hotkeys); + function Hotkeys(props) { + var _this; + _classCallCheck(this, Hotkeys); - var _this = _possibleConstructorReturn(this, (Hotkeys.__proto__ || Object.getPrototypeOf(Hotkeys)).call(this, props)); - - _this.handleKeyDown = _this.handleKeyDown.bind(_this); + _this = _super.call(this, props); + _this.handleKeyDown = _this.handleKeyDown.bind(_assertThisInitialized(_this)); return _this; } _createClass(Hotkeys, [{ - key: 'componentDidMount', + key: "componentDidMount", value: function componentDidMount() { window.addEventListener('keydown', this.handleKeyDown, false); } }, { - key: 'componentWillUnmount', + key: "componentWillUnmount", value: function componentWillUnmount() { window.removeEventListener('keydown', this.handleKeyDown, false); } }, { - key: 'handleKeyDown', + key: "handleKeyDown", value: function handleKeyDown(e) { - var _props = this.props, - play_state = _props.play_state, - mopidyActions = _props.mopidyActions, - uiActions = _props.uiActions, - mute = _props.mute, - play_time_position = _props.play_time_position, - history = _props.history, - modal = _props.modal, - dragging = _props.dragging, - allow_reporting = _props.allow_reporting; + var _this$props = this.props, + play_state = _this$props.play_state, + mopidyActions = _this$props.mopidyActions, + uiActions = _this$props.uiActions, + mute = _this$props.mute, + play_time_position = _this$props.play_time_position, + history = _this$props.history, + modal = _this$props.modal, + dragging = _this$props.dragging, + allow_reporting = _this$props.allow_reporting; var volume = this.props.volume; + var key = e.key.toLowerCase(); // Ignore text input fields - var key = e.key.toLowerCase(); - - // Ignore text input fields if (e.target.nodeName === 'INPUT' && (e.target.type === 'text' || e.target.type === 'number') || e.target.nodeName === 'TEXTAREA' || e.target.nodeName === 'BUTTON' && key === ' ') { return; - } - - // Ignore when there are any key modifiers. This enables us to avoid interfering + } // Ignore when there are any key modifiers. This enables us to avoid interfering // with browser- and OS-default functions. + + if (e.altKey || e.ctrlKey || e.metaKey || e.shiftKey) { return; } var prevent = false; + switch (key) { case ' ': case 'p': @@ -91126,60 +91775,112 @@ var Hotkeys = function (_React$Component) { // are in focus (ie slider) and is reserved for that field's interactivity. if (play_state == 'playing') { mopidyActions.pause(); - uiActions.createNotification({ content: 'pause', type: 'shortcut' }); - if (allow_reporting) _reactGa2.default.event({ category: 'Hotkey', action: key, label: 'Pause' }); + uiActions.createNotification({ + content: 'pause', + type: 'shortcut' + }); + if (allow_reporting) react_ga__WEBPACK_IMPORTED_MODULE_1__["default"].event({ + category: 'Hotkey', + action: key, + label: 'Pause' + }); } else { mopidyActions.play(); - uiActions.createNotification({ content: 'play_arrow', type: 'shortcut' }); - if (allow_reporting) _reactGa2.default.event({ category: 'Hotkey', action: key, label: 'Play' }); + uiActions.createNotification({ + content: 'play_arrow', + type: 'shortcut' + }); + if (allow_reporting) react_ga__WEBPACK_IMPORTED_MODULE_1__["default"].event({ + category: 'Hotkey', + action: key, + label: 'Play' + }); } + prevent = true; break; case 's': // Stop mopidyActions.stop(); - uiActions.createNotification({ content: 'stop', type: 'shortcut' }); + uiActions.createNotification({ + content: 'stop', + type: 'shortcut' + }); prevent = true; - if (allow_reporting) _reactGa2.default.event({ category: 'Hotkey', action: key, label: 'Stop' }); + if (allow_reporting) react_ga__WEBPACK_IMPORTED_MODULE_1__["default"].event({ + category: 'Hotkey', + action: key, + label: 'Stop' + }); break; case 'b': // Seek backwards 30 sec var new_position = play_time_position - 30000; + if (new_position < 0) { new_position = 0; } + mopidyActions.setTimePosition(new_position); - uiActions.createNotification({ content: 'fast_rewind', type: 'shortcut' }); + uiActions.createNotification({ + content: 'fast_rewind', + type: 'shortcut' + }); prevent = true; - if (allow_reporting) _reactGa2.default.event({ category: 'Hotkey', action: key, label: 'Rewind' }); + if (allow_reporting) react_ga__WEBPACK_IMPORTED_MODULE_1__["default"].event({ + category: 'Hotkey', + action: key, + label: 'Rewind' + }); break; case 'f': // Seek forwards 30 sec mopidyActions.setTimePosition(play_time_position + 30000); - uiActions.createNotification({ content: 'fast_forward', type: 'shortcut' }); + uiActions.createNotification({ + content: 'fast_forward', + type: 'shortcut' + }); prevent = true; - if (allow_reporting) _reactGa2.default.event({ category: 'Hotkey', action: key, label: 'Fastforward' }); + if (allow_reporting) react_ga__WEBPACK_IMPORTED_MODULE_1__["default"].event({ + category: 'Hotkey', + action: key, + label: 'Fastforward' + }); break; case ',': case '<': // Previous track mopidyActions.previous(); - uiActions.createNotification({ content: 'skip_previous', type: 'shortcut' }); + uiActions.createNotification({ + content: 'skip_previous', + type: 'shortcut' + }); prevent = true; - if (allow_reporting) _reactGa2.default.event({ category: 'Hotkey', action: key, label: 'Previous' }); + if (allow_reporting) react_ga__WEBPACK_IMPORTED_MODULE_1__["default"].event({ + category: 'Hotkey', + action: key, + label: 'Previous' + }); break; case '.': case '>': // Next track mopidyActions.next(); - uiActions.createNotification({ content: 'skip_next', type: 'shortcut' }); + uiActions.createNotification({ + content: 'skip_next', + type: 'shortcut' + }); prevent = true; - if (allow_reporting) _reactGa2.default.event({ category: 'Hotkey', action: key, label: 'Next' }); + if (allow_reporting) react_ga__WEBPACK_IMPORTED_MODULE_1__["default"].event({ + category: 'Hotkey', + action: key, + label: 'Next' + }); break; case '=': @@ -91187,47 +91888,85 @@ var Hotkeys = function (_React$Component) { // Volume up if (volume !== 'false') { volume += 5; + if (volume > 100) { volume = 100; } + mopidyActions.setVolume(volume); + if (mute) { mopidyActions.setMute(false); } - uiActions.createNotification({ content: 'volume_up', type: 'shortcut' }); + + uiActions.createNotification({ + content: 'volume_up', + type: 'shortcut' + }); } + prevent = true; - if (allow_reporting) _reactGa2.default.event({ category: 'Hotkey', action: key, label: 'Volume up' }); + if (allow_reporting) react_ga__WEBPACK_IMPORTED_MODULE_1__["default"].event({ + category: 'Hotkey', + action: key, + label: 'Volume up' + }); break; case '-': // Volume down if (volume !== 'false') { volume -= 5; + if (volume < 0) { volume = 0; } + mopidyActions.setVolume(volume); + if (mute) { mopidyActions.setMute(false); } } - uiActions.createNotification({ content: 'volume_down', type: 'shortcut' }); + + uiActions.createNotification({ + content: 'volume_down', + type: 'shortcut' + }); prevent = true; - if (allow_reporting) _reactGa2.default.event({ category: 'Hotkey', action: key, label: 'Volume down' }); + if (allow_reporting) react_ga__WEBPACK_IMPORTED_MODULE_1__["default"].event({ + category: 'Hotkey', + action: key, + label: 'Volume down' + }); break; case '0': // Mute if (mute) { mopidyActions.setMute(false); - uiActions.createNotification({ content: 'volume_up', type: 'shortcut' }); - if (allow_reporting) _reactGa2.default.event({ category: 'Hotkey', action: key, label: 'Unmute' }); + uiActions.createNotification({ + content: 'volume_up', + type: 'shortcut' + }); + if (allow_reporting) react_ga__WEBPACK_IMPORTED_MODULE_1__["default"].event({ + category: 'Hotkey', + action: key, + label: 'Unmute' + }); } else { mopidyActions.setMute(true); - uiActions.createNotification({ content: 'volume_off', type: 'shortcut' }); - if (allow_reporting) _reactGa2.default.event({ category: 'Hotkey', action: key, label: 'Mute' }); + uiActions.createNotification({ + content: 'volume_off', + type: 'shortcut' + }); + if (allow_reporting) react_ga__WEBPACK_IMPORTED_MODULE_1__["default"].event({ + category: 'Hotkey', + action: key, + label: 'Mute' + }); } + prevent = true; break; @@ -91236,33 +91975,54 @@ var Hotkeys = function (_React$Component) { if (dragging) { uiActions.dragEnd(); prevent = true; - if (allow_reporting) _reactGa2.default.event({ category: 'Hotkey', action: key, label: 'Dragging' }); + if (allow_reporting) react_ga__WEBPACK_IMPORTED_MODULE_1__["default"].event({ + category: 'Hotkey', + action: key, + label: 'Dragging' + }); } else if ($('body').hasClass('modal-open')) { window.history.back(); prevent = true; - if (allow_reporting) _reactGa2.default.event({ category: 'Hotkey', action: key, label: 'Modal' }); + if (allow_reporting) react_ga__WEBPACK_IMPORTED_MODULE_1__["default"].event({ + category: 'Hotkey', + action: key, + label: 'Modal' + }); } + break; case '1': // Navigation: Queue history.push('/queue'); prevent = true; - if (allow_reporting) _reactGa2.default.event({ category: 'Hotkey', action: key, label: 'Queue' }); + if (allow_reporting) react_ga__WEBPACK_IMPORTED_MODULE_1__["default"].event({ + category: 'Hotkey', + action: key, + label: 'Queue' + }); break; case '2': // Navigation: Search history.push('/search'); prevent = true; - if (allow_reporting) _reactGa2.default.event({ category: 'Hotkey', action: key, label: 'Search' }); + if (allow_reporting) react_ga__WEBPACK_IMPORTED_MODULE_1__["default"].event({ + category: 'Hotkey', + action: key, + label: 'Search' + }); break; case '3': // Navigation: Kiosk mode history.push('/kiosk-mode'); prevent = true; - if (allow_reporting) _reactGa2.default.event({ category: 'Hotkey', action: key, label: 'Kiosk mode' }); + if (allow_reporting) react_ga__WEBPACK_IMPORTED_MODULE_1__["default"].event({ + category: 'Hotkey', + action: key, + label: 'Kiosk mode' + }); break; default: @@ -91274,14 +92034,14 @@ var Hotkeys = function (_React$Component) { } } }, { - key: 'render', + key: "render", value: function render() { return null; } }]); return Hotkeys; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); var mapStateToProps = function mapStateToProps(state, ownProps) { return { @@ -91296,12 +92056,12 @@ var mapStateToProps = function mapStateToProps(state, ownProps) { var mapDispatchToProps = function mapDispatchToProps(dispatch) { return { - uiActions: (0, _redux.bindActionCreators)(uiActions, dispatch), - mopidyActions: (0, _redux.bindActionCreators)(mopidyActions, dispatch) + uiActions: Object(redux__WEBPACK_IMPORTED_MODULE_3__["bindActionCreators"])(_services_ui_actions__WEBPACK_IMPORTED_MODULE_4__, dispatch), + mopidyActions: Object(redux__WEBPACK_IMPORTED_MODULE_3__["bindActionCreators"])(_services_mopidy_actions__WEBPACK_IMPORTED_MODULE_5__, dispatch) }; }; -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(Hotkeys); +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_2__["connect"])(mapStateToProps, mapDispatchToProps)(Hotkeys)); /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ "./node_modules/jquery/dist/jquery.js"))) /***/ }), @@ -91310,66 +92070,83 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)( /*!***********************************!*\ !*** ./src/js/components/Icon.js ***! \***********************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_fontawesome__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-fontawesome */ "./node_modules/react-fontawesome/lib/index.js"); +/* harmony import */ var react_fontawesome__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_fontawesome__WEBPACK_IMPORTED_MODULE_1__); -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _reactFontawesome = __webpack_require__(/*! react-fontawesome */ "./node_modules/react-fontawesome/lib/index.js"); - -var _reactFontawesome2 = _interopRequireDefault(_reactFontawesome); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -exports.default = (0, _react.memo)(function (_ref) { +/* harmony default export */ __webpack_exports__["default"] = (/*#__PURE__*/Object(react__WEBPACK_IMPORTED_MODULE_0__["memo"])(function (_ref) { var name = _ref.name, type = _ref.type, className = _ref.className, onClick = _ref.onClick; - if (!name || name === '') return null; - - var fullClassName = 'icon icon--' + (type || 'material') + ' ' + (className || ''); + var fullClassName = "icon icon--".concat(type || 'material', " ").concat(className || ''); switch (type) { case 'svg': - return _react2.default.createElement('img', { className: fullClassName, src: '/iris/assets/icons/' + name + '.svg', onClick: onClick }); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("img", { + className: fullClassName, + src: "/iris/assets/icons/".concat(name, ".svg"), + onClick: onClick, + "data-qa-node": "img", + "data-qa-file": "Icon" + }); case 'gif': - return _react2.default.createElement('img', { className: fullClassName, src: '/iris/assets/icons/' + name + '.gif', onClick: onClick }); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("img", { + className: fullClassName, + src: "/iris/assets/icons/".concat(name, ".gif"), + onClick: onClick, + "data-qa-node": "img", + "data-qa-file": "Icon" + }); case 'fontawesome': - return _react2.default.createElement(_reactFontawesome2.default, { className: fullClassName, type: 'fontawesome', name: name, onClick: onClick }); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_fontawesome__WEBPACK_IMPORTED_MODULE_1___default.a, { + className: fullClassName, + type: "fontawesome", + name: name, + onClick: onClick, + "data-qa-node": "FontAwesome", + "data-qa-file": "Icon" + }); case 'css': if (name === 'playing') { - return _react2.default.createElement( - 'i', - { className: fullClassName + ' icon--playing' }, - _react2.default.createElement('span', null), - _react2.default.createElement('span', null), - _react2.default.createElement('span', null) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("i", { + className: "".concat(fullClassName, " icon--playing"), + "data-qa-node": "i", + "data-qa-file": "Icon" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + "data-qa-node": "span", + "data-qa-file": "Icon" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + "data-qa-node": "span", + "data-qa-file": "Icon" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + "data-qa-node": "span", + "data-qa-file": "Icon" + })); } + break; default: - return _react2.default.createElement( - 'i', - { className: fullClassName, onClick: onClick }, - name - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("i", { + className: fullClassName, + onClick: onClick, + "data-qa-node": "i", + "data-qa-file": "Icon" + }, name); } -}); +})); /***/ }), @@ -91377,77 +92154,93 @@ exports.default = (0, _react.memo)(function (_ref) { /*!***********************************************!*\ !*** ./src/js/components/LazyLoadListener.js ***! \***********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _helpers = __webpack_require__(/*! ../util/helpers */ "./src/js/util/helpers.js"); - -var _Loader = __webpack_require__(/*! ./Loader */ "./src/js/components/Loader.js"); - -var _Loader2 = _interopRequireDefault(_Loader); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return LazyLoadListener; }); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/helpers */ "./src/js/util/helpers.js"); +/* harmony import */ var _Loader__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Loader */ "./src/js/components/Loader.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -var LazyLoadListener = function (_React$Component) { +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _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; } + + + + + +var LazyLoadListener = /*#__PURE__*/function (_React$Component) { _inherits(LazyLoadListener, _React$Component); + var _super = _createSuper(LazyLoadListener); + function LazyLoadListener(props) { + var _this; + _classCallCheck(this, LazyLoadListener); - var _this = _possibleConstructorReturn(this, (LazyLoadListener.__proto__ || Object.getPrototypeOf(LazyLoadListener)).call(this, props)); + _this = _super.call(this, props); - _this.render = function () { + _defineProperty(_assertThisInitialized(_this), "render", function () { var showLoader = _this.props.showLoader; - - return _react2.default.createElement(_Loader2.default, { body: true, lazy: true, loading: showLoader }); - }; + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Loader__WEBPACK_IMPORTED_MODULE_2__["default"], { + body: true, + lazy: true, + loading: showLoader, + "data-qa-node": "Loader", + "data-qa-file": "LazyLoadListener" + }); + }); _this.state = { listening: !!_this.props.loadKey, loadKey: _this.props.loadKey }; - - _this.handleScroll = (0, _helpers.throttle)(_this.handleScroll.bind(_this), 50); + _this.handleScroll = Object(_util_helpers__WEBPACK_IMPORTED_MODULE_1__["throttle"])(_this.handleScroll.bind(_assertThisInitialized(_this)), 50); return _this; } _createClass(LazyLoadListener, [{ - key: 'componentDidMount', + key: "componentDidMount", value: function componentDidMount() { this.element = document.getElementById('main'); this.element.addEventListener('scroll', this.handleScroll, false); } }, { - key: 'componentWillUnmount', + key: "componentWillUnmount", value: function componentWillUnmount() { this.element.removeEventListener('scroll', this.handleScroll, false); } }, { - key: 'handleScroll', + key: "handleScroll", value: function handleScroll(e) { var listening = this.state.listening; - var _props = this.props, - loadKey = _props.loadKey, - loadMore = _props.loadMore; + var _this$props = this.props, + loadKey = _this$props.loadKey, + loadMore = _this$props.loadMore; var _ref = this.element || {}, scrollTop = _ref.scrollTop, @@ -91455,21 +92248,21 @@ var LazyLoadListener = function (_React$Component) { offsetHeight = _ref.offsetHeight; if (listening) { - var window_height = Math.max(document.documentElement.clientHeight, window.innerHeight || 0); + var window_height = Math.max(document.documentElement.clientHeight, window.innerHeight || 0); // At, or half a screen from bottom of the page - // At, or half a screen from bottom of the page if (scrollTop > scrollHeight - offsetHeight - window_height / 2) { - // Immediately stop listening to avoid duplicating pagination requests - this.setState({ listening: false }, function () { - console.info('Loading more: ' + loadKey); + this.setState({ + listening: false + }, function () { + console.info("Loading more: ".concat(loadKey)); loadMore(); }); } } } }], [{ - key: 'getDerivedStateFromProps', + key: "getDerivedStateFromProps", value: function getDerivedStateFromProps(props, state) { if (props.loadKey && props.loadKey !== state.loadKey) { return { @@ -91477,14 +92270,15 @@ var LazyLoadListener = function (_React$Component) { listening: true }; } + return null; } }]); return LazyLoadListener; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); + -exports.default = LazyLoadListener; /***/ }), @@ -91492,89 +92286,80 @@ exports.default = LazyLoadListener; /*!***********************************!*\ !*** ./src/js/components/Link.js ***! \***********************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-router-dom */ "./node_modules/react-router-dom/esm/react-router-dom.js"); +/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util/helpers */ "./src/js/util/helpers.js"); +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function _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; } -Object.defineProperty(exports, "__esModule", { - value: true -}); -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _reactRouterDom = __webpack_require__(/*! react-router-dom */ "./node_modules/react-router-dom/esm/react-router-dom.js"); - -var _helpers = __webpack_require__(/*! ../util/helpers */ "./src/js/util/helpers.js"); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** * Extends react-router's Link but provides the ability to hook in to the navigation event * which lets us scroll to the top of our
for a more traditional navigation experience * */ -exports.default = function (_ref) { + +/* harmony default export */ __webpack_exports__["default"] = (function (_ref) { var retainScroll = _ref.retainScroll, scrollToProp = _ref.scrollTo, onContextMenu = _ref.onContextMenu, _ref$className = _ref.className, - className = _ref$className === undefined ? '' : _ref$className, + className = _ref$className === void 0 ? '' : _ref$className, activeClassName = _ref.activeClassName, to = _ref.to, exact = _ref.exact, children = _ref.children; - - if (!to) return _react2.default.createElement( - 'span', - { className: className }, - children - ); - var history = (0, _reactRouterDom.useHistory)(); - var location = (0, _reactRouterDom.useLocation)(); + if (!to) return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: className, + "data-qa-node": "span", + "data-qa-file": "Link" + }, children); + var history = Object(react_router_dom__WEBPACK_IMPORTED_MODULE_1__["useHistory"])(); + var location = Object(react_router_dom__WEBPACK_IMPORTED_MODULE_1__["useLocation"])(); var onClick = function onClick() { // Fetch the current scroll position of our #main element and save to our history's state, so // clicking 'back' etc will restore the previous scroll position. // This doesn't trigger lazy-load elements (unless scrolling exposes the LazyLoader component). var main = document.getElementById('main'); - - history.replace(location.pathname, _extends({}, location.state, { + history.replace(location.pathname, _objectSpread(_objectSpread({}, location.state), {}, { scroll_position: main.scrollTop, previous: { pathname: location.pathname } - })); - - // Allow a link to disable auto-scrolling to the top of the page + })); // Allow a link to disable auto-scrolling to the top of the page // on navigation. Useful for tabs, etc. - if (!retainScroll) (0, _helpers.scrollTo)(scrollToProp, scrollToProp); - }; - // Decode both links. This handles issues where one link is encoded and the other isn't, but + if (!retainScroll) Object(_util_helpers__WEBPACK_IMPORTED_MODULE_2__["scrollTo"])(scrollToProp, scrollToProp); + }; // Decode both links. This handles issues where one link is encoded and the other isn't, but // they're otherwise identical + + var link = decodeURIComponent(to); var currentLink = decodeURIComponent(history.location.pathname); - var isLinkActive = exact ? currentLink === link : currentLink.startsWith(link); - - // We have an active detector method + var isLinkActive = exact ? currentLink === link : currentLink.startsWith(link); // We have an active detector method // This is used almost solely by the Sidebar navigation + var active = history && isLinkActive ? activeClassName || 'active' : ''; - return _react2.default.createElement( - _reactRouterDom.Link, - { - onClick: onClick, - onContextMenu: onContextMenu, - className: className + ' ' + active, - to: to - }, - children - ); -}; + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_1__["Link"], { + onClick: onClick, + onContextMenu: onContextMenu, + className: "".concat(className, " ").concat(active), + to: to, + "data-qa-node": "Link", + "data-qa-file": "Link" + }, children); +}); /***/ }), @@ -91582,89 +92367,70 @@ exports.default = function (_ref) { /*!********************************************!*\ !*** ./src/js/components/LinksSentence.js ***! \********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _URILink__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./URILink */ "./src/js/components/URILink.js"); -Object.defineProperty(exports, "__esModule", { - value: true -}); +/* harmony default export */ __webpack_exports__["default"] = (/*#__PURE__*/Object(react__WEBPACK_IMPORTED_MODULE_0__["memo"])(function (_ref) { + var items = _ref.items, + className = _ref.className, + nolinks = _ref.nolinks; + if (!items) return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "".concat(className, " links-sentence"), + "data-qa-node": "span", + "data-qa-file": "LinksSentence" + }, "-"); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "".concat(className, " links-sentence"), + "data-qa-node": "span", + "data-qa-file": "LinksSentence" + }, items.map(function (_ref2, index) { + var name = _ref2.name, + uri = _ref2.uri; + if (!name) return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + "data-qa-node": "span", + "data-qa-file": "LinksSentence" + }, "-"); + var separator = null; -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); + if (index == items.length - 2) { + separator = ' and '; + } else if (index < items.length - 2) { + separator = ', '; + } -var _react2 = _interopRequireDefault(_react); + if (!name) { + var content = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + "data-qa-node": "span", + "data-qa-file": "LinksSentence" + }, "-"); + } else if (!uri || nolinks) { + var content = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + "data-qa-node": "span", + "data-qa-file": "LinksSentence" + }, name); + } else { + var content = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_URILink__WEBPACK_IMPORTED_MODULE_1__["default"], { + className: "links-sentence__item links-sentence__item--link", + uri: uri, + "data-qa-node": "URILink", + "data-qa-file": "LinksSentence" + }, name); + } -var _URILink = __webpack_require__(/*! ./URILink */ "./src/js/components/URILink.js"); - -var _URILink2 = _interopRequireDefault(_URILink); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -exports.default = (0, _react.memo)(function (_ref) { - var items = _ref.items, - className = _ref.className, - nolinks = _ref.nolinks; - - if (!items) return _react2.default.createElement( - 'span', - { className: className + ' links-sentence' }, - '-' - ); - - return _react2.default.createElement( - 'span', - { className: className + ' links-sentence' }, - items.map(function (_ref2, index) { - var name = _ref2.name, - uri = _ref2.uri; - - if (!name) return _react2.default.createElement( - 'span', - null, - '-' - ); - - var separator = null; - if (index == items.length - 2) { - separator = ' and '; - } else if (index < items.length - 2) { - separator = ', '; - } - - if (!name) { - var content = _react2.default.createElement( - 'span', - null, - '-' - ); - } else if (!uri || nolinks) { - var content = _react2.default.createElement( - 'span', - null, - name - ); - } else { - var content = _react2.default.createElement( - _URILink2.default, - { - className: 'links-sentence__item links-sentence__item--link', - uri: uri - }, - name - ); - } - - return _react2.default.createElement( - 'span', - { key: 'index_' + uri }, - content, - separator - ); - }) - ); -}); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + key: "index_".concat(uri), + "data-qa-node": "span", + "data-qa-file": "LinksSentence" + }, content, separator); + })); +})); /***/ }), @@ -91672,65 +92438,64 @@ exports.default = (0, _react.memo)(function (_ref) { /*!***********************************!*\ !*** ./src/js/components/List.js ***! \***********************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); - -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); - -var _reactRouter = __webpack_require__(/*! react-router */ "./node_modules/react-router/esm/react-router.js"); - -var _ListItem = __webpack_require__(/*! ./ListItem */ "./src/js/components/ListItem.js"); - -var _ListItem2 = _interopRequireDefault(_ListItem); - -var _actions = __webpack_require__(/*! ../services/ui/actions */ "./src/js/services/ui/actions.js"); - -var uiActions = _interopRequireWildcard(_actions); - -var _actions2 = __webpack_require__(/*! ../services/lastfm/actions */ "./src/js/services/lastfm/actions.js"); - -var lastfmActions = _interopRequireWildcard(_actions2); - -var _actions3 = __webpack_require__(/*! ../services/discogs/actions */ "./src/js/services/discogs/actions.js"); - -var discogsActions = _interopRequireWildcard(_actions3); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var react_router__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-router */ "./node_modules/react-router/esm/react-router.js"); +/* harmony import */ var _ListItem__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ListItem */ "./src/js/components/ListItem.js"); +/* harmony import */ var _services_ui_actions__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../services/ui/actions */ "./src/js/services/ui/actions.js"); +/* harmony import */ var _services_lastfm_actions__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../services/lastfm/actions */ "./src/js/services/lastfm/actions.js"); +/* harmony import */ var _services_discogs_actions__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../services/discogs/actions */ "./src/js/services/discogs/actions.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -var List = function (_React$Component) { +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + + + + + + + + + + +var List = /*#__PURE__*/function (_React$Component) { _inherits(List, _React$Component); + var _super = _createSuper(List); + function List() { _classCallCheck(this, List); - return _possibleConstructorReturn(this, (List.__proto__ || Object.getPrototypeOf(List)).apply(this, arguments)); + return _super.apply(this, arguments); } _createClass(List, [{ - key: 'handleContextMenu', + key: "handleContextMenu", value: function handleContextMenu(e, item) { if (this.props.handleContextMenu) { e.preventDefault(); @@ -91738,42 +92503,44 @@ var List = function (_React$Component) { } } }, { - key: 'render', + key: "render", value: function render() { - var _this2 = this; + var _this = this; if (!this.props.rows) return null; - var className = 'list'; + if (this.props.className) { - className += ' ' + this.props.className; + className += " ".concat(this.props.className); } - return _react2.default.createElement( - 'div', - { className: className }, - this.props.rows.map(function (item, index) { - return _react2.default.createElement(_ListItem2.default, { - key: index, - item: item, - lastfmActions: _this2.props.lastfmActions, - discogsActions: _this2.props.discogsActions, - history: _this2.props.history, - link_prefix: _this2.props.link_prefix, - handleContextMenu: function handleContextMenu(e) { - return _this2.handleContextMenu(e, item); - }, - thumbnail: _this2.props.thumbnail, - details: _this2.props.details, - nocontext: _this2.props.nocontext - }); - }) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: className, + "data-qa-node": "div", + "data-qa-file": "List" + }, this.props.rows.map(function (item, index) { + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ListItem__WEBPACK_IMPORTED_MODULE_4__["default"], { + key: index, + item: item, + lastfmActions: _this.props.lastfmActions, + discogsActions: _this.props.discogsActions, + history: _this.props.history, + link_prefix: _this.props.link_prefix, + handleContextMenu: function handleContextMenu(e) { + return _this.handleContextMenu(e, item); + }, + thumbnail: _this.props.thumbnail, + details: _this.props.details, + nocontext: _this.props.nocontext, + "data-qa-node": "ListItem", + "data-qa-file": "List" + }); + })); } }]); return List; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); var mapStateToProps = function mapStateToProps(state, ownProps) { return {}; @@ -91781,13 +92548,13 @@ var mapStateToProps = function mapStateToProps(state, ownProps) { var mapDispatchToProps = function mapDispatchToProps(dispatch) { return { - uiActions: (0, _redux.bindActionCreators)(uiActions, dispatch), - lastfmActions: (0, _redux.bindActionCreators)(lastfmActions, dispatch), - discogsActions: (0, _redux.bindActionCreators)(discogsActions, dispatch) + uiActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_ui_actions__WEBPACK_IMPORTED_MODULE_5__, dispatch), + lastfmActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_lastfm_actions__WEBPACK_IMPORTED_MODULE_6__, dispatch), + discogsActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_discogs_actions__WEBPACK_IMPORTED_MODULE_7__, dispatch) }; }; -exports.default = (0, _reactRouter.withRouter)((0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(List)); +/* harmony default export */ __webpack_exports__["default"] = (Object(react_router__WEBPACK_IMPORTED_MODULE_3__["withRouter"])(Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapStateToProps, mapDispatchToProps)(List))); /***/ }), @@ -91795,119 +92562,117 @@ exports.default = (0, _reactRouter.withRouter)((0, _reactRedux.connect)(mapState /*!***************************************!*\ !*** ./src/js/components/ListItem.js ***! \***************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _LinksSentence = __webpack_require__(/*! ./LinksSentence */ "./src/js/components/LinksSentence.js"); - -var _LinksSentence2 = _interopRequireDefault(_LinksSentence); - -var _Dater = __webpack_require__(/*! ./Dater */ "./src/js/components/Dater.js"); - -var _URILink = __webpack_require__(/*! ./URILink */ "./src/js/components/URILink.js"); - -var _URILink2 = _interopRequireDefault(_URILink); - -var _ContextMenuTrigger = __webpack_require__(/*! ./ContextMenuTrigger */ "./src/js/components/ContextMenuTrigger.js"); - -var _ContextMenuTrigger2 = _interopRequireDefault(_ContextMenuTrigger); - -var _Icon = __webpack_require__(/*! ./Icon */ "./src/js/components/Icon.js"); - -var _Icon2 = _interopRequireDefault(_Icon); - -var _Thumbnail = __webpack_require__(/*! ./Thumbnail */ "./src/js/components/Thumbnail.js"); - -var _Thumbnail2 = _interopRequireDefault(_Thumbnail); - -var _Popularity = __webpack_require__(/*! ./Popularity */ "./src/js/components/Popularity.js"); - -var _Popularity2 = _interopRequireDefault(_Popularity); - -var _helpers = __webpack_require__(/*! ../util/helpers */ "./src/js/util/helpers.js"); - -var _locale = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js"); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return ListItem; }); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _LinksSentence__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./LinksSentence */ "./src/js/components/LinksSentence.js"); +/* harmony import */ var _Dater__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Dater */ "./src/js/components/Dater.js"); +/* harmony import */ var _URILink__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./URILink */ "./src/js/components/URILink.js"); +/* harmony import */ var _ContextMenuTrigger__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ContextMenuTrigger */ "./src/js/components/ContextMenuTrigger.js"); +/* harmony import */ var _Icon__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Icon */ "./src/js/components/Icon.js"); +/* harmony import */ var _Thumbnail__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Thumbnail */ "./src/js/components/Thumbnail.js"); +/* harmony import */ var _Popularity__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Popularity */ "./src/js/components/Popularity.js"); +/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../util/helpers */ "./src/js/util/helpers.js"); +/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -var ListItem = function (_React$Component) { +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + + + + + + + + + + + + +var ListItem = /*#__PURE__*/function (_React$Component) { _inherits(ListItem, _React$Component); + var _super = _createSuper(ListItem); + function ListItem(props) { _classCallCheck(this, ListItem); - return _possibleConstructorReturn(this, (ListItem.__proto__ || Object.getPrototypeOf(ListItem)).call(this, props)); + return _super.call(this, props); } _createClass(ListItem, [{ - key: 'componentDidMount', + key: "componentDidMount", value: function componentDidMount() { - var _props = this.props, - item = _props.item, - lastfmActions = _props.lastfmActions, - discogsActions = _props.discogsActions; - - if (!item) return; - - // If the item that has just been mounted doesn't have images, + var _this$props = this.props, + item = _this$props.item, + lastfmActions = _this$props.lastfmActions, + discogsActions = _this$props.discogsActions; + if (!item) return; // If the item that has just been mounted doesn't have images, // try fetching them from LastFM + if (!item.images) { - switch ((0, _helpers.uriType)(item.uri)) { + switch (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_8__["uriType"])(item.uri)) { case 'artist': if (discogsActions) { discogsActions.getArtistImages(item.uri, item); } + break; case 'album': if (lastfmActions && item.artists && item.artists.length > 0) { lastfmActions.getAlbum(item.uri, item.artists[0].name, item.name, item.mbid ? item.mbid : null); } + break; } } } }, { - key: 'handleClick', + key: "handleClick", value: function handleClick(e) { // make sure we haven't clicked a nested link (ie Artist name) if (e.target.tagName.toLowerCase() !== 'a') { e.preventDefault(); this.props.history.push((this.props.link_prefix ? this.props.link_prefix : '') + encodeURIComponent(this.props.item.uri)); - (0, _helpers.scrollTo)(); + Object(_util_helpers__WEBPACK_IMPORTED_MODULE_8__["scrollTo"])(); } } }, { - key: 'handleMouseDown', + key: "handleMouseDown", value: function handleMouseDown(e) { // make sure we haven't clicked a nested link (ie Artist name) if (e.target.tagName.toLowerCase() !== 'a') { e.preventDefault(); this.props.history.push((this.props.link_prefix ? this.props.link_prefix : '') + encodeURIComponent(this.props.item.uri)); - (0, _helpers.scrollTo)(); + Object(_util_helpers__WEBPACK_IMPORTED_MODULE_8__["scrollTo"])(); } } }, { - key: 'handleContextMenu', + key: "handleContextMenu", value: function handleContextMenu(e) { if (this.props.handleContextMenu) { e.preventDefault(); @@ -91915,7 +92680,7 @@ var ListItem = function (_React$Component) { } } }, { - key: 'renderValue', + key: "renderValue", value: function renderValue(key_string) { var key = key_string.split('.'); var value = Object.assign(this.props.item); @@ -91923,63 +92688,98 @@ var ListItem = function (_React$Component) { for (var i = 0; i < key.length; i++) { if (value[key[i]] === undefined) { return null; - }if (typeof value[key[i]] === 'string' && value[key[i]].replace(' ', '') == '') { + } + + if (typeof value[key[i]] === 'string' && value[key[i]].replace(' ', '') == '') { return null; } + value = value[key[i]]; } if (key_string === 'tracks_total' || key_string === 'tracks_uris.length') { - return _react2.default.createElement( - 'span', - null, - _react2.default.createElement(_locale.I18n, { path: 'specs.tracks', count: value }) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + "data-qa-node": "span", + "data-qa-file": "ListItem" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_9__["I18n"], { + path: "specs.tracks", + count: value, + "data-qa-node": "I18n", + "data-qa-file": "ListItem" + })); } + if (key_string === 'followers') { - return _react2.default.createElement( - 'span', - null, - _react2.default.createElement(_locale.I18n, { path: 'specs.followers', count: value.toLocaleString() }) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + "data-qa-node": "span", + "data-qa-file": "ListItem" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_9__["I18n"], { + path: "specs.followers", + count: value.toLocaleString(), + "data-qa-node": "I18n", + "data-qa-file": "ListItem" + })); } + if (key_string === 'added_at') { - return _react2.default.createElement( - 'span', - null, - _react2.default.createElement(_locale.I18n, { path: 'specs.added_ago', time: (0, _Dater.dater)('ago', value) }) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + "data-qa-node": "span", + "data-qa-file": "ListItem" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_9__["I18n"], { + path: "specs.added_ago", + time: Object(_Dater__WEBPACK_IMPORTED_MODULE_2__["dater"])('ago', value), + "data-qa-node": "I18n", + "data-qa-file": "ListItem" + })); } + if (key_string === 'last_modified') { - return _react2.default.createElement( - 'span', - null, - _react2.default.createElement(_locale.I18n, { path: 'specs.updated_ago', time: (0, _Dater.dater)('ago', value) }) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + "data-qa-node": "span", + "data-qa-file": "ListItem" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_9__["I18n"], { + path: "specs.updated_ago", + time: Object(_Dater__WEBPACK_IMPORTED_MODULE_2__["dater"])('ago', value), + "data-qa-node": "I18n", + "data-qa-file": "ListItem" + })); } - if (key_string === 'owner') return _react2.default.createElement( - _URILink2.default, - { type: 'user', uri: value.uri }, - value.id - ); - if (key_string === 'popularity') return _react2.default.createElement(_Popularity2.default, { full: true, popularity: value }); - if (key_string === 'artists') return _react2.default.createElement(_LinksSentence2.default, { items: value }); - if (value === true) return _react2.default.createElement(_Icon2.default, { name: 'check' }); - if (typeof value === 'number') return _react2.default.createElement( - 'span', - null, - value.toLocaleString() - ); - return _react2.default.createElement( - 'span', - null, - value - ); + + if (key_string === 'owner') return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_URILink__WEBPACK_IMPORTED_MODULE_3__["default"], { + type: "user", + uri: value.uri, + "data-qa-node": "URILink", + "data-qa-file": "ListItem" + }, value.id); + if (key_string === 'popularity') return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Popularity__WEBPACK_IMPORTED_MODULE_7__["default"], { + full: true, + popularity: value, + "data-qa-node": "Popularity", + "data-qa-file": "ListItem" + }); + if (key_string === 'artists') return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_LinksSentence__WEBPACK_IMPORTED_MODULE_1__["default"], { + items: value, + "data-qa-node": "LinksSentence", + "data-qa-file": "ListItem" + }); + if (value === true) return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_5__["default"], { + name: "check", + "data-qa-node": "Icon", + "data-qa-file": "ListItem" + }); + if (typeof value === 'number') return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + "data-qa-node": "span", + "data-qa-file": "ListItem" + }, value.toLocaleString()); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + "data-qa-node": "span", + "data-qa-file": "ListItem" + }, value); } }, { - key: 'render', + key: "render", value: function render() { - var _this2 = this; + var _this = this; var item = this.props.item; @@ -91988,8 +92788,9 @@ var ListItem = function (_React$Component) { } var class_name = 'list__item'; + if (item.type) { - class_name += ' list__item--' + item.type; + class_name += " list__item--".concat(item.type); } if (this.props.middle_column) { @@ -92004,81 +92805,88 @@ var ListItem = function (_React$Component) { class_name += ' list__item--has-details'; } - return _react2.default.createElement( - 'div', - { - className: class_name, - onClick: function onClick(e) { - return _this2.handleClick(e); - }, - onContextMenu: function onContextMenu(e) { - return _this2.handleContextMenu(e); - } + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: class_name, + onClick: function onClick(e) { + return _this.handleClick(e); }, - this.props.right_column && !this.props.nocontext && _react2.default.createElement( - 'div', - { className: 'list__item__column list__item__column--right' }, - this.props.right_column ? this.props.right_column.map(function (column, index) { - return _react2.default.createElement( - 'span', - { className: 'list__item__column__item list__item__column__item--' + column.replace('.', '_'), key: index }, - _this2.renderValue(column, item) - ); - }) : null, - this.props.nocontext ? null : _react2.default.createElement(_ContextMenuTrigger2.default, { className: 'list__item__column__item list__item__column__item--context-menu-trigger subtle', onTrigger: function onTrigger(e) { - return _this2.handleContextMenu(e); - } }) - ), - _react2.default.createElement( - 'div', - { className: 'list__item__column list__item__column--name' }, - this.props.thumbnail ? _react2.default.createElement(_Thumbnail2.default, { className: 'list__item__column__item list__item__column__item--thumbnail', images: item.images ? item.images : null, size: 'small' }) : null, - _react2.default.createElement( - 'div', - { className: 'list__item__column__item list__item__column__item--name' }, - item.name !== undefined ? this.renderValue('name') : _react2.default.createElement( - 'span', - { className: 'grey-text' }, - item.uri - ) - ), - this.props.details ? _react2.default.createElement( - 'ul', - { className: 'list__item__column__item list__item__column__item--details details' }, - this.props.details.map(function (detail, index) { - var value = _this2.renderValue(detail); + onContextMenu: function onContextMenu(e) { + return _this.handleContextMenu(e); + }, + "data-qa-node": "div", + "data-qa-file": "ListItem" + }, this.props.right_column && !this.props.nocontext && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "list__item__column list__item__column--right", + "data-qa-node": "div", + "data-qa-file": "ListItem" + }, this.props.right_column ? this.props.right_column.map(function (column, index) { + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "list__item__column__item list__item__column__item--".concat(column.replace('.', '_')), + key: index, + "data-qa-node": "span", + "data-qa-file": "ListItem" + }, _this.renderValue(column, item)); + }) : null, this.props.nocontext ? null : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ContextMenuTrigger__WEBPACK_IMPORTED_MODULE_4__["default"], { + className: "list__item__column__item list__item__column__item--context-menu-trigger subtle", + onTrigger: function onTrigger(e) { + return _this.handleContextMenu(e); + }, + "data-qa-node": "ContextMenuTrigger", + "data-qa-file": "ListItem" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "list__item__column list__item__column--name", + "data-qa-node": "div", + "data-qa-file": "ListItem" + }, this.props.thumbnail ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Thumbnail__WEBPACK_IMPORTED_MODULE_6__["default"], { + className: "list__item__column__item list__item__column__item--thumbnail", + images: item.images ? item.images : null, + size: "small", + "data-qa-node": "Thumbnail", + "data-qa-file": "ListItem" + }) : null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "list__item__column__item list__item__column__item--name", + "data-qa-node": "div", + "data-qa-file": "ListItem" + }, item.name !== undefined ? this.renderValue('name') : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "grey-text", + "data-qa-node": "span", + "data-qa-file": "ListItem" + }, item.uri)), this.props.details ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("ul", { + className: "list__item__column__item list__item__column__item--details details", + "data-qa-node": "ul", + "data-qa-file": "ListItem" + }, this.props.details.map(function (detail, index) { + var value = _this.renderValue(detail); - if (!value) { - return null; - } + if (!value) { + return null; + } - return _react2.default.createElement( - 'li', - { className: 'details__item details__item--' + detail.replace('.', '_'), key: index }, - value - ); - }) - ) : null - ), - this.props.middle_column ? _react2.default.createElement( - 'div', - { className: 'list__item__column list__item__column--middle' }, - this.props.middle_column ? this.props.middle_column.map(function (column, index) { - return _react2.default.createElement( - 'span', - { className: 'list__item__column__item list__item__column__item--' + column.replace('.', '_'), key: index }, - _this2.renderValue(column) - ); - }) : null - ) : null - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li", { + className: "details__item details__item--".concat(detail.replace('.', '_')), + key: index, + "data-qa-node": "li", + "data-qa-file": "ListItem" + }, value); + })) : null), this.props.middle_column ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "list__item__column list__item__column--middle", + "data-qa-node": "div", + "data-qa-file": "ListItem" + }, this.props.middle_column ? this.props.middle_column.map(function (column, index) { + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "list__item__column__item list__item__column__item--".concat(column.replace('.', '_')), + key: index, + "data-qa-node": "span", + "data-qa-file": "ListItem" + }, _this.renderValue(column)); + }) : null) : null); } }]); return ListItem; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); + -exports.default = ListItem; /***/ }), @@ -92086,154 +92894,175 @@ exports.default = ListItem; /*!*************************************!*\ !*** ./src/js/components/Loader.js ***! \*************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _Icon__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Icon */ "./src/js/components/Icon.js"); +/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js"); -Object.defineProperty(exports, "__esModule", { - value: true -}); -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _Icon = __webpack_require__(/*! ./Icon */ "./src/js/components/Icon.js"); - -var _Icon2 = _interopRequireDefault(_Icon); - -var _locale = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js"); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var ProgressRing = function ProgressRing(_ref) { var radius = _ref.radius, stroke = _ref.stroke, progress = _ref.progress; - var normalizedRadius = radius - stroke * 2; var circumference = normalizedRadius * 2 * Math.PI; var strokeDashoffset = circumference - progress * circumference; - - return _react2.default.createElement( - 'svg', - { - className: 'loader__spinner__progress', - height: radius * 2, - width: radius * 2 - }, - _react2.default.createElement('circle', { - className: 'loader__spinner__progress__circle', - stroke: 'white', - fill: 'transparent', - strokeWidth: stroke, - strokeDasharray: circumference + ' ' + circumference, - strokeDashoffset: strokeDashoffset, - r: normalizedRadius, - cx: radius, - cy: radius - }) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("svg", { + className: "loader__spinner__progress", + height: radius * 2, + width: radius * 2, + "data-qa-node": "svg", + "data-qa-file": "Loader" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("circle", { + className: "loader__spinner__progress__circle", + stroke: "white", + fill: "transparent", + strokeWidth: stroke, + strokeDasharray: "".concat(circumference, " ").concat(circumference), + strokeDashoffset: strokeDashoffset, + r: normalizedRadius, + cx: radius, + cy: radius, + "data-qa-node": "circle", + "data-qa-file": "Loader" + })); }; -exports.default = (0, _react.memo)(function (props) { +/* harmony default export */ __webpack_exports__["default"] = (/*#__PURE__*/Object(react__WEBPACK_IMPORTED_MODULE_0__["memo"])(function (props) { var body = props.body, loading = props.loading, _props$finished = props.finished, - finished = _props$finished === undefined ? false : _props$finished, + finished = _props$finished === void 0 ? false : _props$finished, mini = props.mini, lazy = props.lazy, white = props.white, _props$className = props.className, - className = _props$className === undefined ? '' : _props$className, + className = _props$className === void 0 ? '' : _props$className, _props$progress = props.progress, - progress = _props$progress === undefined ? null : _props$progress; - + progress = _props$progress === void 0 ? null : _props$progress; if (!loading && !finished) { return null; } var classNameString = 'loader'; + if (className) { - classNameString += ' ' + className; + classNameString += " ".concat(className); } + if (mini) { classNameString += ' loader--mini'; } + if (body) { classNameString += ' loader--body'; } + if (lazy) { classNameString += ' loader--lazy'; } + if (white) { classNameString += ' loader--white'; } if (!navigator.onLine) { - return _react2.default.createElement( - 'div', - { className: classNameString }, - _react2.default.createElement( - 'div', - { className: 'loader__offline' }, - _react2.default.createElement(_Icon2.default, { name: 'wifi_off' }), - _react2.default.createElement( - 'p', - null, - _react2.default.createElement(_locale.I18n, { path: 'errors.need_to_be_online' }) - ) - ) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: classNameString, + "data-qa-node": "div", + "data-qa-file": "Loader" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "loader__offline", + "data-qa-node": "div", + "data-qa-file": "Loader" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_1__["default"], { + name: "wifi_off", + "data-qa-node": "Icon", + "data-qa-file": "Loader" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p", { + "data-qa-node": "p", + "data-qa-file": "Loader" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_2__["I18n"], { + path: "errors.need_to_be_online", + "data-qa-node": "I18n", + "data-qa-file": "Loader" + })))); } if (finished) { classNameString += ' loader--finished'; - return _react2.default.createElement( - 'div', - { className: classNameString }, - _react2.default.createElement( - 'div', - { className: 'loader__spinner' }, - _react2.default.createElement(_Icon2.default, { name: 'check' }), - _react2.default.createElement('div', { className: 'loader__spinner__background' }), - _react2.default.createElement('div', { className: 'loader__spinner__foreground' }) - ) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: classNameString, + "data-qa-node": "div", + "data-qa-file": "Loader" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "loader__spinner", + "data-qa-node": "div", + "data-qa-file": "Loader" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_1__["default"], { + name: "check", + "data-qa-node": "Icon", + "data-qa-file": "Loader" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "loader__spinner__background", + "data-qa-node": "div", + "data-qa-file": "Loader" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "loader__spinner__foreground", + "data-qa-node": "div", + "data-qa-file": "Loader" + }))); } if (progress) { classNameString += ' loader--progress'; - return _react2.default.createElement( - 'div', - { className: classNameString }, - _react2.default.createElement( - 'div', - { className: 'loader__spinner' }, - _react2.default.createElement(ProgressRing, { - stroke: '2', - radius: mini ? '13' : '60', - progress: progress - }), - _react2.default.createElement('div', { className: 'loader__spinner__foreground' }) - ) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: classNameString, + "data-qa-node": "div", + "data-qa-file": "Loader" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "loader__spinner", + "data-qa-node": "div", + "data-qa-file": "Loader" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(ProgressRing, { + stroke: "2", + radius: mini ? '13' : '60', + progress: progress, + "data-qa-node": "ProgressRing", + "data-qa-file": "Loader" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "loader__spinner__foreground", + "data-qa-node": "div", + "data-qa-file": "Loader" + }))); } - return _react2.default.createElement( - 'div', - { className: classNameString }, - _react2.default.createElement( - 'div', - { className: 'loader__spinner' }, - _react2.default.createElement('div', { className: 'loader__spinner__background' }), - _react2.default.createElement('div', { className: 'loader__spinner__foreground' }) - ) - ); -}); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: classNameString, + "data-qa-node": "div", + "data-qa-file": "Loader" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "loader__spinner", + "data-qa-node": "div", + "data-qa-file": "Loader" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "loader__spinner__background", + "data-qa-node": "div", + "data-qa-file": "Loader" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "loader__spinner__foreground", + "data-qa-node": "div", + "data-qa-file": "Loader" + }))); +})); /***/ }), @@ -92241,37 +93070,28 @@ exports.default = (0, _react.memo)(function (props) { /*!*****************************************!*\ !*** ./src/js/components/NiceNumber.js ***! \*****************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: NiceNumber, nice_number, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "NiceNumber", function() { return NiceNumber; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "nice_number", function() { return nice_number; }); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.nice_number = exports.NiceNumber = undefined; - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - var nice_number = function nice_number(value) { - var formatted = parseInt(value); + var formatted = parseInt(value); // > 1 million - // > 1 million if (formatted > 1000000) { formatted /= 1000000; formatted = Math.round(formatted * 10) / 10; - formatted = formatted + 'm'; - - // > 1 thousand + formatted = "".concat(formatted, "m"); // > 1 thousand } else if (formatted > 1000) { formatted /= 1000; formatted = Math.round(formatted * 10) / 10; - formatted = formatted + 'k'; + formatted = "".concat(formatted, "k"); } else { formatted = formatted.toLocaleString(); } @@ -92279,14 +93099,12 @@ var nice_number = function nice_number(value) { return formatted; }; -var NiceNumber = (0, _react.memo)(function (_ref) { +var NiceNumber = /*#__PURE__*/Object(react__WEBPACK_IMPORTED_MODULE_0__["memo"])(function (_ref) { var value = _ref.value; return nice_number(value); }); -exports.NiceNumber = NiceNumber; -exports.nice_number = nice_number; -exports.default = NiceNumber; +/* harmony default export */ __webpack_exports__["default"] = (NiceNumber); /***/ }), @@ -92294,85 +93112,76 @@ exports.default = NiceNumber; /*!********************************************!*\ !*** ./src/js/components/Notifications.js ***! \********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); - -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); - -var _actions = __webpack_require__(/*! ../services/ui/actions */ "./src/js/services/ui/actions.js"); - -var uiActions = _interopRequireWildcard(_actions); - -var _actions2 = __webpack_require__(/*! ../services/spotify/actions */ "./src/js/services/spotify/actions.js"); - -var spotifyActions = _interopRequireWildcard(_actions2); - -var _actions3 = __webpack_require__(/*! ../services/lastfm/actions */ "./src/js/services/lastfm/actions.js"); - -var lastfmActions = _interopRequireWildcard(_actions3); - -var _actions4 = __webpack_require__(/*! ../services/genius/actions */ "./src/js/services/genius/actions.js"); - -var geniusActions = _interopRequireWildcard(_actions4); - -var _actions5 = __webpack_require__(/*! ../services/snapcast/actions */ "./src/js/services/snapcast/actions.js"); - -var snapcastActions = _interopRequireWildcard(_actions5); - -var _Icon = __webpack_require__(/*! ./Icon */ "./src/js/components/Icon.js"); - -var _Icon2 = _interopRequireDefault(_Icon); - -var _Loader = __webpack_require__(/*! ./Loader */ "./src/js/components/Loader.js"); - -var _Loader2 = _interopRequireDefault(_Loader); - -var _arrays = __webpack_require__(/*! ../util/arrays */ "./src/js/util/arrays.js"); - -var _locale = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js"); - -var _ErrorBoundary = __webpack_require__(/*! ./ErrorBoundary */ "./src/js/components/ErrorBoundary.js"); - -var _ErrorBoundary2 = _interopRequireDefault(_ErrorBoundary); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var _services_ui_actions__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../services/ui/actions */ "./src/js/services/ui/actions.js"); +/* harmony import */ var _services_spotify_actions__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../services/spotify/actions */ "./src/js/services/spotify/actions.js"); +/* harmony import */ var _services_lastfm_actions__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../services/lastfm/actions */ "./src/js/services/lastfm/actions.js"); +/* harmony import */ var _services_genius_actions__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../services/genius/actions */ "./src/js/services/genius/actions.js"); +/* harmony import */ var _services_snapcast_actions__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../services/snapcast/actions */ "./src/js/services/snapcast/actions.js"); +/* harmony import */ var _Icon__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Icon */ "./src/js/components/Icon.js"); +/* harmony import */ var _Loader__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Loader */ "./src/js/components/Loader.js"); +/* harmony import */ var _util_arrays__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../util/arrays */ "./src/js/util/arrays.js"); +/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js"); +/* harmony import */ var _ErrorBoundary__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./ErrorBoundary */ "./src/js/components/ErrorBoundary.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -var Notifications = function (_React$Component) { +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + + + + + + + + + + + + + + + +var Notifications = /*#__PURE__*/function (_React$Component) { _inherits(Notifications, _React$Component); + var _super = _createSuper(Notifications); + function Notifications() { _classCallCheck(this, Notifications); - return _possibleConstructorReturn(this, (Notifications.__proto__ || Object.getPrototypeOf(Notifications)).apply(this, arguments)); + return _super.apply(this, arguments); } _createClass(Notifications, [{ - key: 'importConfiguration', + key: "importConfiguration", value: function importConfiguration(notification_key, configuration) { - var _this2 = this; + var _this = this; if (configuration.ui) { this.props.uiActions.set(configuration.ui); @@ -92385,7 +93194,7 @@ var Notifications = function (_React$Component) { if (configuration.snapcast) { this.props.snapcastActions.set(configuration.snapcast); setTimeout(function () { - return _this2.props.snapcastActions.connect(); + return _this.props.snapcastActions.connect(); }, 100); } @@ -92400,272 +93209,309 @@ var Notifications = function (_React$Component) { this.props.uiActions.removeNotification(notification_key, true); this.props.uiActions.createNotification({ level: 'warning', - content: (0, _locale.i18n)('modal.share_configuration.import.successful') + content: Object(_locale__WEBPACK_IMPORTED_MODULE_11__["i18n"])('modal.share_configuration.import.successful') }); } }, { - key: 'renderNotifications', + key: "renderNotifications", value: function renderNotifications() { - var _this3 = this; + var _this2 = this; if (!this.props.notifications || this.props.notifications.length <= 0) return null; + var notifications = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_10__["indexToArray"])(this.props.notifications); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ErrorBoundary__WEBPACK_IMPORTED_MODULE_12__["default"], { + "data-qa-node": "ErrorBoundary", + "data-qa-file": "Notifications" + }, notifications.map(function (notification) { + switch (notification.type) { + case 'shortcut': + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "notification__wrapper", + key: notification.key, + "data-qa-node": "div", + "data-qa-file": "Notifications" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "notification notification--shortcut".concat(notification.closing ? ' closing' : ''), + "data-duration": notification.duration, + "data-qa-node": "div", + "data-qa-file": "Notifications" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_8__["default"], { + name: notification.content, + "data-qa-node": "Icon", + "data-qa-file": "Notifications" + }))); - var notifications = (0, _arrays.indexToArray)(this.props.notifications); + case 'share-configuration-received': + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "notification__wrapper", + key: notification.key, + "data-qa-node": "div", + "data-qa-file": "Notifications" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "notification notification--info", + key: notification.key, + "data-duration": notification.duration, + "data-qa-node": "div", + "data-qa-file": "Notifications" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_8__["default"], { + name: "close", + className: "notification__close-button", + onClick: function onClick(e) { + return _this2.props.uiActions.removeNotification(notification.key, true); + }, + "data-qa-node": "Icon", + "data-qa-file": "Notifications" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h4", { + className: "notification__title", + "data-qa-node": "h4", + "data-qa-file": "Notifications" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_11__["I18n"], { + path: "modal.share_configuration.import.title", + "data-qa-node": "I18n", + "data-qa-file": "Notifications" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "notification__content", + "data-qa-node": "div", + "data-qa-file": "Notifications" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p", { + "data-qa-node": "p", + "data-qa-file": "Notifications" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_11__["I18n"], { + path: "modal.share_configuration.import.subtitle", + "data-qa-node": "I18n", + "data-qa-file": "Notifications" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("ul", { + "data-qa-node": "ul", + "data-qa-file": "Notifications" + }, notification.configuration.ui && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li", { + "data-qa-node": "li", + "data-qa-file": "Notifications" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_11__["I18n"], { + path: "modal.share_configuration.interface", + "data-qa-node": "I18n", + "data-qa-file": "Notifications" + })), notification.configuration.spotify && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li", { + "data-qa-node": "li", + "data-qa-file": "Notifications" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_11__["I18n"], { + path: "services.spotify.title", + "data-qa-node": "I18n", + "data-qa-file": "Notifications" + })), notification.configuration.lastfm && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li", { + "data-qa-node": "li", + "data-qa-file": "Notifications" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_11__["I18n"], { + path: "services.lastfm.title", + "data-qa-node": "I18n", + "data-qa-file": "Notifications" + })), notification.configuration.genius && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li", { + "data-qa-node": "li", + "data-qa-file": "Notifications" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_11__["I18n"], { + path: "services.genius.title", + "data-qa-node": "I18n", + "data-qa-file": "Notifications" + })), notification.configuration.snapcast && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li", { + "data-qa-node": "li", + "data-qa-file": "Notifications" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_11__["I18n"], { + path: "services.snapcast.title", + "data-qa-node": "I18n", + "data-qa-file": "Notifications" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p", { + "data-qa-node": "p", + "data-qa-file": "Notifications" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_11__["I18n"], { + path: "modal.share_configuration.import.do_you_want_to_import", + "data-qa-node": "I18n", + "data-qa-file": "Notifications" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "notification__actions", + "data-qa-node": "div", + "data-qa-file": "Notifications" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + className: "notification__actions__item button button--default", + onClick: function onClick(e) { + return _this2.importConfiguration(notification.key, notification.configuration); + }, + "data-qa-node": "a", + "data-qa-file": "Notifications" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_11__["I18n"], { + path: "modal.share_configuration.import.import_now", + "data-qa-node": "I18n", + "data-qa-file": "Notifications" + }))))); - return _react2.default.createElement( - _ErrorBoundary2.default, - null, - notifications.map(function (notification) { - switch (notification.type) { - case 'shortcut': - return _react2.default.createElement( - 'div', - { className: 'notification__wrapper', key: notification.key }, - _react2.default.createElement( - 'div', - { className: 'notification notification--shortcut' + (notification.closing ? ' closing' : ''), 'data-duration': notification.duration }, - _react2.default.createElement(_Icon2.default, { name: notification.content }) - ) - ); - - case 'share-configuration-received': - return _react2.default.createElement( - 'div', - { className: 'notification__wrapper', key: notification.key }, - _react2.default.createElement( - 'div', - { className: 'notification notification--info', key: notification.key, 'data-duration': notification.duration }, - _react2.default.createElement(_Icon2.default, { - name: 'close', - className: 'notification__close-button', - onClick: function onClick(e) { - return _this3.props.uiActions.removeNotification(notification.key, true); - } - }), - _react2.default.createElement( - 'h4', - { className: 'notification__title' }, - _react2.default.createElement(_locale.I18n, { path: 'modal.share_configuration.import.title' }) - ), - _react2.default.createElement( - 'div', - { className: 'notification__content' }, - _react2.default.createElement( - 'p', - null, - _react2.default.createElement(_locale.I18n, { path: 'modal.share_configuration.import.subtitle' }) - ), - _react2.default.createElement( - 'ul', - null, - notification.configuration.ui && _react2.default.createElement( - 'li', - null, - _react2.default.createElement(_locale.I18n, { path: 'modal.share_configuration.interface' }) - ), - notification.configuration.spotify && _react2.default.createElement( - 'li', - null, - _react2.default.createElement(_locale.I18n, { path: 'services.spotify.title' }) - ), - notification.configuration.lastfm && _react2.default.createElement( - 'li', - null, - _react2.default.createElement(_locale.I18n, { path: 'services.lastfm.title' }) - ), - notification.configuration.genius && _react2.default.createElement( - 'li', - null, - _react2.default.createElement(_locale.I18n, { path: 'services.genius.title' }) - ), - notification.configuration.snapcast && _react2.default.createElement( - 'li', - null, - _react2.default.createElement(_locale.I18n, { path: 'services.snapcast.title' }) - ) - ), - _react2.default.createElement( - 'p', - null, - _react2.default.createElement(_locale.I18n, { path: 'modal.share_configuration.import.do_you_want_to_import' }) - ) - ), - _react2.default.createElement( - 'div', - { className: 'notification__actions' }, - _react2.default.createElement( - 'a', - { className: 'notification__actions__item button button--default', onClick: function onClick(e) { - return _this3.importConfiguration(notification.key, notification.configuration); - } }, - _react2.default.createElement(_locale.I18n, { path: 'modal.share_configuration.import.import_now' }) - ) - ) - ) - ); - - default: - return _react2.default.createElement( - 'div', - { className: 'notification__wrapper', key: notification.key }, - _react2.default.createElement( - 'div', - { - className: 'notification notification--' + notification.level + (notification.closing ? ' closing' : ''), - 'data-key': notification.key, - 'data-duration': notification.duration - }, - _react2.default.createElement(_Icon2.default, { - name: 'close', - className: 'notification__close-button', - onClick: function onClick() { - return _this3.props.uiActions.removeNotification(notification.key, true); - } - }), - notification.title && _react2.default.createElement( - 'h4', - { className: 'notification__title' }, - notification.title - ), - notification.content && _react2.default.createElement( - 'div', - { className: 'notification__content' }, - notification.content - ), - notification.description && _react2.default.createElement( - 'div', - { className: 'notification__description' }, - notification.description - ), - notification.links && _react2.default.createElement( - 'div', - { className: 'notification__actions' }, - notification.links.map(function (link, i) { - return _react2.default.createElement( - 'a', - { - className: 'notification__actions__item button button--secondary', - href: link.url, - target: link.new_window ? '_blank' : 'self', - key: i - }, - link.text - ); - }) - ) - ) - ); - } - }) - ); + default: + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "notification__wrapper", + key: notification.key, + "data-qa-node": "div", + "data-qa-file": "Notifications" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "notification notification--".concat(notification.level).concat(notification.closing ? ' closing' : ''), + "data-key": notification.key, + "data-duration": notification.duration, + "data-qa-node": "div", + "data-qa-file": "Notifications" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_8__["default"], { + name: "close", + className: "notification__close-button", + onClick: function onClick() { + return _this2.props.uiActions.removeNotification(notification.key, true); + }, + "data-qa-node": "Icon", + "data-qa-file": "Notifications" + }), notification.title && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h4", { + className: "notification__title", + "data-qa-node": "h4", + "data-qa-file": "Notifications" + }, notification.title), notification.content && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "notification__content", + "data-qa-node": "div", + "data-qa-file": "Notifications" + }, notification.content), notification.description && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "notification__description", + "data-qa-node": "div", + "data-qa-file": "Notifications" + }, notification.description), notification.links && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "notification__actions", + "data-qa-node": "div", + "data-qa-file": "Notifications" + }, notification.links.map(function (link, i) { + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + className: "notification__actions__item button button--secondary", + href: link.url, + target: link.new_window ? '_blank' : 'self', + key: i, + "data-qa-node": "a", + "data-qa-file": "Notifications" + }, link.text); + })))); + } + })); } }, { - key: 'renderProcess', + key: "renderProcess", value: function renderProcess(process) { var _process$data = process.data, total = _process$data.total, remaining = _process$data.remaining, _process$level = process.level, - level = _process$level === undefined ? 'info' : _process$level, + level = _process$level === void 0 ? 'info' : _process$level, content = process.content, _process$description = process.description, - description = _process$description === undefined ? null : _process$description, + description = _process$description === void 0 ? null : _process$description, status = process.status, closing = process.closing, key = process.key; var uiActions = this.props.uiActions; - var progress = 0; + if (total && remaining) { progress = ((total - remaining) / total).toFixed(4); } switch (status) { case 'running': - return _react2.default.createElement( - 'div', - { className: 'notification__wrapper', key: key }, - _react2.default.createElement( - 'div', - { - className: 'notification notification--' + level + ' notification--process' + (closing ? ' closing' : '') - }, - _react2.default.createElement(_Loader2.default, { - progress: progress, - loading: true, - mini: true, - white: true - }), - content && content !== '' && _react2.default.createElement( - 'div', - { className: 'notification__content' }, - content - ), - description && description !== '' && _react2.default.createElement( - 'div', - { className: 'notification__description' }, - description - ), - _react2.default.createElement(_Icon2.default, { name: 'close', className: 'notification__close-button', onClick: function onClick() { - uiActions.cancelProcess(key); - } }) - ) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "notification__wrapper", + key: key, + "data-qa-node": "div", + "data-qa-file": "Notifications" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "notification notification--".concat(level, " notification--process").concat(closing ? ' closing' : ''), + "data-qa-node": "div", + "data-qa-file": "Notifications" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Loader__WEBPACK_IMPORTED_MODULE_9__["default"], { + progress: progress, + loading: true, + mini: true, + white: true, + "data-qa-node": "Loader", + "data-qa-file": "Notifications" + }), content && content !== '' && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "notification__content", + "data-qa-node": "div", + "data-qa-file": "Notifications" + }, content), description && description !== '' && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "notification__description", + "data-qa-node": "div", + "data-qa-file": "Notifications" + }, description), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_8__["default"], { + name: "close", + className: "notification__close-button", + onClick: function onClick() { + uiActions.cancelProcess(key); + }, + "data-qa-node": "Icon", + "data-qa-file": "Notifications" + }))); case 'finished': - return _react2.default.createElement( - 'div', - { className: 'notification__wrapper', key: key }, - _react2.default.createElement( - 'div', - { - className: 'notification notification--' + level + ' notification--process' + (closing ? ' closing' : '') - }, - _react2.default.createElement(_Icon2.default, { className: 'notification__icon', name: level === 'error' ? 'close' : 'check' }), - content && content !== '' && _react2.default.createElement( - 'div', - { className: 'notification__content' }, - content - ), - description && description !== '' && _react2.default.createElement( - 'div', - { className: 'notification__description' }, - description - ), - _react2.default.createElement(_Icon2.default, { name: 'close', className: 'notification__close-button', onClick: function onClick() { - uiActions.closeProcess(key); - } }) - ) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "notification__wrapper", + key: key, + "data-qa-node": "div", + "data-qa-file": "Notifications" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "notification notification--".concat(level, " notification--process").concat(closing ? ' closing' : ''), + "data-qa-node": "div", + "data-qa-file": "Notifications" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_8__["default"], { + className: "notification__icon", + name: level === 'error' ? 'close' : 'check', + "data-qa-node": "Icon", + "data-qa-file": "Notifications" + }), content && content !== '' && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "notification__content", + "data-qa-node": "div", + "data-qa-file": "Notifications" + }, content), description && description !== '' && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "notification__description", + "data-qa-node": "div", + "data-qa-file": "Notifications" + }, description), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_8__["default"], { + name: "close", + className: "notification__close-button", + onClick: function onClick() { + uiActions.closeProcess(key); + }, + "data-qa-node": "Icon", + "data-qa-file": "Notifications" + }))); case 'cancelling': - return _react2.default.createElement( - 'div', - { className: 'notification__wrapper', key: key }, - _react2.default.createElement( - 'div', - { - className: 'notification notification--' + level + ' notification--process cancelling' + (closing ? ' closing' : '') - }, - _react2.default.createElement(_Loader2.default, { - progress: progress, - loading: true, - mini: true, - white: true - }), - content && content !== '' && _react2.default.createElement( - 'div', - { className: 'notification__content' }, - content - ), - description && description !== '' && _react2.default.createElement( - 'div', - { className: 'notification__description' }, - description - ), - _react2.default.createElement(_Icon2.default, { name: 'close', className: 'notification__close-button' }) - ) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "notification__wrapper", + key: key, + "data-qa-node": "div", + "data-qa-file": "Notifications" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "notification notification--".concat(level, " notification--process cancelling").concat(closing ? ' closing' : ''), + "data-qa-node": "div", + "data-qa-file": "Notifications" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Loader__WEBPACK_IMPORTED_MODULE_9__["default"], { + progress: progress, + loading: true, + mini: true, + white: true, + "data-qa-node": "Loader", + "data-qa-file": "Notifications" + }), content && content !== '' && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "notification__content", + "data-qa-node": "div", + "data-qa-file": "Notifications" + }, content), description && description !== '' && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "notification__description", + "data-qa-node": "div", + "data-qa-file": "Notifications" + }, description), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_8__["default"], { + name: "close", + className: "notification__close-button", + "data-qa-node": "Icon", + "data-qa-file": "Notifications" + }))); case 'cancelled': case 'completed': @@ -92674,40 +93520,33 @@ var Notifications = function (_React$Component) { } } }, { - key: 'renderProcesses', + key: "renderProcesses", value: function renderProcesses() { - var _this4 = this; - - var _props$processes = this.props.processes, - processesObj = _props$processes === undefined ? {} : _props$processes; + var _this3 = this; + var _this$props$processes = this.props.processes, + processesObj = _this$props$processes === void 0 ? {} : _this$props$processes; var processes = Object.keys(processesObj).map(function (key) { return processesObj[key]; }); if (!processes.length) return null; - - return _react2.default.createElement( - _react.Fragment, - null, - processes.map(function (process) { - return _this4.renderProcess(process); - }) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null, processes.map(function (process) { + return _this3.renderProcess(process); + })); } }, { - key: 'render', + key: "render", value: function render() { - return _react2.default.createElement( - 'div', - { className: 'notifications' }, - this.renderNotifications(), - this.renderProcesses() - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "notifications", + "data-qa-node": "div", + "data-qa-file": "Notifications" + }, this.renderNotifications(), this.renderProcesses()); } }]); return Notifications; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); var mapStateToProps = function mapStateToProps(state) { return { @@ -92719,15 +93558,15 @@ var mapStateToProps = function mapStateToProps(state) { var mapDispatchToProps = function mapDispatchToProps(dispatch) { return { - uiActions: (0, _redux.bindActionCreators)(uiActions, dispatch), - spotifyActions: (0, _redux.bindActionCreators)(spotifyActions, dispatch), - geniusActions: (0, _redux.bindActionCreators)(geniusActions, dispatch), - lastfmActions: (0, _redux.bindActionCreators)(lastfmActions, dispatch), - snapcastActions: (0, _redux.bindActionCreators)(snapcastActions, dispatch) + uiActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_ui_actions__WEBPACK_IMPORTED_MODULE_3__, dispatch), + spotifyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_spotify_actions__WEBPACK_IMPORTED_MODULE_4__, dispatch), + geniusActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_genius_actions__WEBPACK_IMPORTED_MODULE_6__, dispatch), + lastfmActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_lastfm_actions__WEBPACK_IMPORTED_MODULE_5__, dispatch), + snapcastActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_snapcast_actions__WEBPACK_IMPORTED_MODULE_7__, dispatch) }; }; -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(Notifications); +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapStateToProps, mapDispatchToProps)(Notifications)); /***/ }), @@ -92735,46 +93574,59 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)( /*!***************************************!*\ !*** ./src/js/components/Parallax.js ***! \***************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _storage = __webpack_require__(/*! ../util/storage */ "./src/js/util/storage.js"); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return Parallax; }); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _util_storage__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/storage */ "./src/js/util/storage.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -var Parallax = function (_React$Component) { +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _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; } + + + + +var Parallax = /*#__PURE__*/function (_React$Component) { _inherits(Parallax, _React$Component); + var _super = _createSuper(Parallax); + function Parallax(props) { + var _this; + _classCallCheck(this, Parallax); - var _this = _possibleConstructorReturn(this, (Parallax.__proto__ || Object.getPrototypeOf(Parallax)).call(this, props)); + _this = _super.call(this, props); - _this.componentDidUpdate = function () { + _defineProperty(_assertThisInitialized(_this), "componentDidUpdate", function () { var image = _this.props.image; var url = _this.state.url; - if (image && image !== url) _this.loadImage(image); - }; + }); _this.state = { loaded: false, @@ -92785,21 +93637,20 @@ var Parallax = function (_React$Component) { } _createClass(Parallax, [{ - key: 'componentDidMount', + key: "componentDidMount", value: function componentDidMount() { if (this.props.image) { this.loadImage(this.props.image); } } }, { - key: 'loadImage', + key: "loadImage", value: function loadImage(url) { if (url && url !== '') { this.setState({ - loaded: (0, _storage.isCached)(url), + loaded: Object(_util_storage__WEBPACK_IMPORTED_MODULE_1__["isCached"])(url), url: url }); - var self = this; var imageObject = new Image(); imageObject.src = url; @@ -92809,9 +93660,8 @@ var Parallax = function (_React$Component) { loaded: true, url: url }); - }; + }; // No Image, so reset it - // No Image, so reset it } else { this.setState({ loaded: false, @@ -92820,44 +93670,50 @@ var Parallax = function (_React$Component) { } } }, { - key: 'render', + key: "render", value: function render() { - var _props = this.props, - blur = _props.blur, - fixedHeight = _props.fixedHeight, - image = _props.image, - _props$animate = _props.animate, - animate = _props$animate === undefined ? true : _props$animate; - var _state = this.state, - loaded = _state.loaded, - url = _state.url; - - + var _this$props = this.props, + blur = _this$props.blur, + fixedHeight = _this$props.fixedHeight, + image = _this$props.image, + _this$props$animate = _this$props.animate, + animate = _this$props$animate === void 0 ? true : _this$props$animate; + var _this$state = this.state, + loaded = _this$state.loaded, + url = _this$state.url; var className = 'parallax preserve-3d'; - className += ' parallax--' + (fixedHeight ? 'fixed' : 'flexible') + '-height'; + className += " parallax--".concat(fixedHeight ? 'fixed' : 'flexible', "-height"); if (blur) className += ' parallax--blur'; if (loaded) className += ' parallax--loaded'; if (animate) className += ' parallax--animate'; - - var style = loaded && url ? { backgroundImage: 'url("' + url + '")' } : {}; - - return _react2.default.createElement( - 'div', - { className: className }, - _react2.default.createElement( - 'div', - { className: 'parallax__layer preserve-3d' }, - _react2.default.createElement('div', { className: 'parallax__image', style: style }), - _react2.default.createElement('div', { className: 'parallax__overlay' }) - ) - ); + var style = loaded && url ? { + backgroundImage: "url(\"".concat(url, "\")") + } : {}; + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: className, + "data-qa-node": "div", + "data-qa-file": "Parallax" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "parallax__layer preserve-3d", + "data-qa-node": "div", + "data-qa-file": "Parallax" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "parallax__image", + style: style, + "data-qa-node": "div", + "data-qa-file": "Parallax" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "parallax__overlay", + "data-qa-node": "div", + "data-qa-file": "Parallax" + }))); } }]); return Parallax; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); + -exports.default = Parallax; /***/ }), @@ -92865,151 +93721,139 @@ exports.default = Parallax; /*!***********************************************!*\ !*** ./src/js/components/PlaybackControls.js ***! \***********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var _Link__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Link */ "./src/js/components/Link.js"); +/* harmony import */ var _Fields_ProgressSlider__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Fields/ProgressSlider */ "./src/js/components/Fields/ProgressSlider.js"); +/* harmony import */ var _Fields_VolumeControl__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Fields/VolumeControl */ "./src/js/components/Fields/VolumeControl.js"); +/* harmony import */ var _Fields_MuteControl__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Fields/MuteControl */ "./src/js/components/Fields/MuteControl.js"); +/* harmony import */ var _Fields_OutputControl__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Fields/OutputControl */ "./src/js/components/Fields/OutputControl.js"); +/* harmony import */ var _Dater__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Dater */ "./src/js/components/Dater.js"); +/* harmony import */ var _LinksSentence__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./LinksSentence */ "./src/js/components/LinksSentence.js"); +/* harmony import */ var _Thumbnail__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./Thumbnail */ "./src/js/components/Thumbnail.js"); +/* harmony import */ var _Icon__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./Icon */ "./src/js/components/Icon.js"); +/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../util/helpers */ "./src/js/util/helpers.js"); +/* harmony import */ var _services_ui_actions__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../services/ui/actions */ "./src/js/services/ui/actions.js"); +/* harmony import */ var _services_core_actions__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../services/core/actions */ "./src/js/services/core/actions.js"); +/* harmony import */ var _services_mopidy_actions__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); +/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); - -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); - -var _Link = __webpack_require__(/*! ./Link */ "./src/js/components/Link.js"); - -var _Link2 = _interopRequireDefault(_Link); - -var _ProgressSlider = __webpack_require__(/*! ./Fields/ProgressSlider */ "./src/js/components/Fields/ProgressSlider.js"); - -var _ProgressSlider2 = _interopRequireDefault(_ProgressSlider); - -var _VolumeControl = __webpack_require__(/*! ./Fields/VolumeControl */ "./src/js/components/Fields/VolumeControl.js"); - -var _VolumeControl2 = _interopRequireDefault(_VolumeControl); - -var _MuteControl = __webpack_require__(/*! ./Fields/MuteControl */ "./src/js/components/Fields/MuteControl.js"); - -var _MuteControl2 = _interopRequireDefault(_MuteControl); - -var _OutputControl = __webpack_require__(/*! ./Fields/OutputControl */ "./src/js/components/Fields/OutputControl.js"); - -var _OutputControl2 = _interopRequireDefault(_OutputControl); - -var _Dater = __webpack_require__(/*! ./Dater */ "./src/js/components/Dater.js"); - -var _LinksSentence = __webpack_require__(/*! ./LinksSentence */ "./src/js/components/LinksSentence.js"); - -var _LinksSentence2 = _interopRequireDefault(_LinksSentence); - -var _Thumbnail = __webpack_require__(/*! ./Thumbnail */ "./src/js/components/Thumbnail.js"); - -var _Thumbnail2 = _interopRequireDefault(_Thumbnail); - -var _Icon = __webpack_require__(/*! ./Icon */ "./src/js/components/Icon.js"); - -var _Icon2 = _interopRequireDefault(_Icon); - -var _helpers = __webpack_require__(/*! ../util/helpers */ "./src/js/util/helpers.js"); - -var _actions = __webpack_require__(/*! ../services/ui/actions */ "./src/js/services/ui/actions.js"); - -var uiActions = _interopRequireWildcard(_actions); - -var _actions2 = __webpack_require__(/*! ../services/core/actions */ "./src/js/services/core/actions.js"); - -var coreActions = _interopRequireWildcard(_actions2); - -var _actions3 = __webpack_require__(/*! ../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); - -var mopidyActions = _interopRequireWildcard(_actions3); - -var _locale = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js"); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -var PlaybackControls = function (_React$Component) { +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _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; } + + + + + + + + + + + + + + + + + + + +var PlaybackControls = /*#__PURE__*/function (_React$Component) { _inherits(PlaybackControls, _React$Component); + var _super = _createSuper(PlaybackControls); + function PlaybackControls(props) { + var _this; + _classCallCheck(this, PlaybackControls); - var _this = _possibleConstructorReturn(this, (PlaybackControls.__proto__ || Object.getPrototypeOf(PlaybackControls)).call(this, props)); + _this = _super.call(this, props); - _this.handleTouchStart = function (e) { + _defineProperty(_assertThisInitialized(_this), "handleTouchStart", function (e) { var touch_enabled = _this.props.touch_enabled; - if (!touch_enabled) return; + var timestamp = Math.floor(Date.now()); // Save touch start details - var timestamp = Math.floor(Date.now()); - - // Save touch start details _this.start_time = timestamp; _this.start_position = { x: e.touches[0].clientX }; - return false; - }; + }); - _this.handleTouchEnd = function (e) { + _defineProperty(_assertThisInitialized(_this), "handleTouchEnd", function (e) { var touch_enabled = _this.props.touch_enabled; - if (!touch_enabled) return; - var timestamp = Math.floor(Date.now()); var tap_distance_threshold = 10; // Max distance (px) between touchstart and touchend to qualify as a tap + var tap_time_threshold = 200; // Max time (ms) between touchstart and touchend to qualify as a tap + var end_position = { x: e.changedTouches[0].clientX - }; + }; // Too long between touchstart and touchend - // Too long between touchstart and touchend if (_this.start_time + tap_time_threshold < timestamp) { return false; - } - - // Make sure there's enough distance between start and end before we handle + } // Make sure there's enough distance between start and end before we handle // this event as a 'tap' + + if (_this.start_position.x + tap_distance_threshold > end_position.x && _this.start_position.x - tap_distance_threshold < end_position.x) { // Scroll to top (without smooth_scroll) - (0, _helpers.scrollTo)(null, false); + Object(_util_helpers__WEBPACK_IMPORTED_MODULE_12__["scrollTo"])(null, false); + _this.props.history.push('/queue'); } else { // Swipe to the left = previous track if (_this.start_position.x < end_position.x) { _this.setTransition('previous'); - _this.props.mopidyActions.previous(); - // Swipe to the right = skip track + _this.props.mopidyActions.previous(); // Swipe to the right = skip track + } else if (_this.start_position.x > end_position.x) { _this.setTransition('next'); + _this.props.mopidyActions.next(); } } _this.end_time = timestamp; e.preventDefault(); - }; + }); _this.stream = null; _this.state = { @@ -93022,17 +93866,16 @@ var PlaybackControls = function (_React$Component) { } _createClass(PlaybackControls, [{ - key: 'setTransition', + key: "setTransition", value: function setTransition(direction) { var _this2 = this; this.setState({ transition_track: this.state.current_track, transition_direction: direction - }); - - // Allow time for the animation to complete, then remove + }); // Allow time for the animation to complete, then remove // the transitioning track from state + setTimeout(function () { _this2.setState({ transition_track: null @@ -93040,327 +93883,457 @@ var PlaybackControls = function (_React$Component) { }, 250); } }, { - key: 'renderPlayButton', + key: "renderPlayButton", value: function renderPlayButton() { var _this3 = this; - var button = _react2.default.createElement( - 'button', - { className: 'control play', onClick: function onClick() { - return _this3.props.mopidyActions.play(); - } }, - _react2.default.createElement(_Icon2.default, { name: 'play_circle_filled', type: 'material' }) - ); + var button = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", { + className: "control play", + onClick: function onClick() { + return _this3.props.mopidyActions.play(); + }, + "data-qa-node": "button", + "data-qa-file": "PlaybackControls" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_11__["default"], { + name: "play_circle_filled", + type: "material", + "data-qa-node": "Icon", + "data-qa-file": "PlaybackControls" + })); + if (this.props.play_state == 'playing') { - button = _react2.default.createElement( - 'button', - { className: 'control play', onClick: function onClick() { - return _this3.props.mopidyActions.pause(); - } }, - _react2.default.createElement(_Icon2.default, { name: 'pause_circle_filled', type: 'material' }) - ); + button = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", { + className: "control play", + onClick: function onClick() { + return _this3.props.mopidyActions.pause(); + }, + "data-qa-node": "button", + "data-qa-file": "PlaybackControls" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_11__["default"], { + name: "pause_circle_filled", + type: "material", + "data-qa-node": "Icon", + "data-qa-file": "PlaybackControls" + })); } + return button; } }, { - key: 'renderConsumeButton', + key: "renderConsumeButton", value: function renderConsumeButton() { var _this4 = this; - var button = _react2.default.createElement( - 'button', - { className: 'control tooltip', onClick: function onClick() { - return _this4.props.mopidyActions.setConsume(true); - } }, - _react2.default.createElement(_Icon2.default, { name: 'restaurant', type: 'material' }), - _react2.default.createElement( - 'span', - { className: 'tooltip__content' }, - _react2.default.createElement(_locale.I18n, { path: 'playback_controls.consume' }) - ) - ); + var button = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", { + className: "control tooltip", + onClick: function onClick() { + return _this4.props.mopidyActions.setConsume(true); + }, + "data-qa-node": "button", + "data-qa-file": "PlaybackControls" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_11__["default"], { + name: "restaurant", + type: "material", + "data-qa-node": "Icon", + "data-qa-file": "PlaybackControls" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "tooltip__content", + "data-qa-node": "span", + "data-qa-file": "PlaybackControls" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_16__["I18n"], { + path: "playback_controls.consume", + "data-qa-node": "I18n", + "data-qa-file": "PlaybackControls" + }))); + if (this.props.consume) { - button = _react2.default.createElement( - 'button', - { className: 'control control--active tooltip', onClick: function onClick() { - return _this4.props.mopidyActions.setConsume(false); - } }, - _react2.default.createElement(_Icon2.default, { name: 'restaurant', type: 'material' }), - _react2.default.createElement( - 'span', - { className: 'tooltip__content' }, - _react2.default.createElement(_locale.I18n, { path: 'playback_controls.consume' }) - ) - ); + button = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", { + className: "control control--active tooltip", + onClick: function onClick() { + return _this4.props.mopidyActions.setConsume(false); + }, + "data-qa-node": "button", + "data-qa-file": "PlaybackControls" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_11__["default"], { + name: "restaurant", + type: "material", + "data-qa-node": "Icon", + "data-qa-file": "PlaybackControls" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "tooltip__content", + "data-qa-node": "span", + "data-qa-file": "PlaybackControls" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_16__["I18n"], { + path: "playback_controls.consume", + "data-qa-node": "I18n", + "data-qa-file": "PlaybackControls" + }))); } + return button; } }, { - key: 'renderRandomButton', + key: "renderRandomButton", value: function renderRandomButton() { var _this5 = this; - var button = _react2.default.createElement( - 'button', - { className: 'control tooltip', onClick: function onClick() { - return _this5.props.mopidyActions.setRandom(true); - } }, - _react2.default.createElement(_Icon2.default, { name: 'shuffle', type: 'material' }), - _react2.default.createElement( - 'span', - { className: 'tooltip__content' }, - _react2.default.createElement(_locale.I18n, { path: 'playback_controls.shuffle' }) - ) - ); + var button = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", { + className: "control tooltip", + onClick: function onClick() { + return _this5.props.mopidyActions.setRandom(true); + }, + "data-qa-node": "button", + "data-qa-file": "PlaybackControls" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_11__["default"], { + name: "shuffle", + type: "material", + "data-qa-node": "Icon", + "data-qa-file": "PlaybackControls" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "tooltip__content", + "data-qa-node": "span", + "data-qa-file": "PlaybackControls" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_16__["I18n"], { + path: "playback_controls.shuffle", + "data-qa-node": "I18n", + "data-qa-file": "PlaybackControls" + }))); + if (this.props.random) { - button = _react2.default.createElement( - 'button', - { className: 'control control--active tooltip', onClick: function onClick() { - return _this5.props.mopidyActions.setRandom(false); - } }, - _react2.default.createElement(_Icon2.default, { name: 'shuffle', type: 'material' }), - _react2.default.createElement( - 'span', - { className: 'tooltip__content' }, - _react2.default.createElement(_locale.I18n, { path: 'playback_controls.shuffle' }) - ) - ); + button = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", { + className: "control control--active tooltip", + onClick: function onClick() { + return _this5.props.mopidyActions.setRandom(false); + }, + "data-qa-node": "button", + "data-qa-file": "PlaybackControls" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_11__["default"], { + name: "shuffle", + type: "material", + "data-qa-node": "Icon", + "data-qa-file": "PlaybackControls" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "tooltip__content", + "data-qa-node": "span", + "data-qa-file": "PlaybackControls" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_16__["I18n"], { + path: "playback_controls.shuffle", + "data-qa-node": "I18n", + "data-qa-file": "PlaybackControls" + }))); } + return button; } }, { - key: 'renderRepeatButton', + key: "renderRepeatButton", value: function renderRepeatButton() { var _this6 = this; - var button = _react2.default.createElement( - 'button', - { className: 'control tooltip', onClick: function onClick() { - return _this6.props.mopidyActions.setRepeat(true); - } }, - _react2.default.createElement(_Icon2.default, { name: 'repeat' }), - _react2.default.createElement( - 'span', - { className: 'tooltip__content' }, - _react2.default.createElement(_locale.I18n, { path: 'playback_controls.repeat' }) - ) - ); + var button = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", { + className: "control tooltip", + onClick: function onClick() { + return _this6.props.mopidyActions.setRepeat(true); + }, + "data-qa-node": "button", + "data-qa-file": "PlaybackControls" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_11__["default"], { + name: "repeat", + "data-qa-node": "Icon", + "data-qa-file": "PlaybackControls" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "tooltip__content", + "data-qa-node": "span", + "data-qa-file": "PlaybackControls" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_16__["I18n"], { + path: "playback_controls.repeat", + "data-qa-node": "I18n", + "data-qa-file": "PlaybackControls" + }))); + if (this.props.repeat) { - button = _react2.default.createElement( - 'button', - { className: 'control control--active tooltip', onClick: function onClick() { - return _this6.props.mopidyActions.setRepeat(false); - } }, - _react2.default.createElement(_Icon2.default, { name: 'repeat' }), - _react2.default.createElement( - 'span', - { className: 'tooltip__content' }, - _react2.default.createElement(_locale.I18n, { path: 'playback_controls.repeat' }) - ) - ); + button = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", { + className: "control control--active tooltip", + onClick: function onClick() { + return _this6.props.mopidyActions.setRepeat(false); + }, + "data-qa-node": "button", + "data-qa-file": "PlaybackControls" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_11__["default"], { + name: "repeat", + "data-qa-node": "Icon", + "data-qa-file": "PlaybackControls" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "tooltip__content", + "data-qa-node": "span", + "data-qa-file": "PlaybackControls" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_16__["I18n"], { + path: "playback_controls.repeat", + "data-qa-node": "I18n", + "data-qa-file": "PlaybackControls" + }))); } + return button; } }, { - key: 'render', + key: "render", value: function render() { var _this7 = this; - var _props = this.props, - next_track = _props.next_track, - touch_enabled = _props.touch_enabled, - time_position = _props.time_position; - var _state = this.state, - current_track = _state.current_track, - expanded = _state.expanded, - transition_track = _state.transition_track, - transition_direction = _state.transition_direction; - - - return _react2.default.createElement( - 'div', - { className: 'playback-controls' + (expanded ? ' playback-controls--expanded' : '') + (touch_enabled ? ' playback-controls--touch-enabled' : '') }, - _react2.default.createElement('div', { className: 'playback-controls__background' }), - next_track && next_track.images ? _react2.default.createElement(_Thumbnail2.default, { className: 'hide', size: 'large', images: next_track.images }) : null, - _react2.default.createElement( - 'div', - { - className: 'current-track__wrapper', - transition: transition_track, - direction: transition_direction - }, - transition_track && transition_direction && _react2.default.createElement( - 'div', - { className: 'current-track current-track__outgoing' }, - _react2.default.createElement( - 'div', - { className: 'text' }, - _react2.default.createElement( - 'div', - { className: 'title' }, - transition_track.name - ), - _react2.default.createElement( - 'div', - { className: 'artist' }, - _react2.default.createElement(_LinksSentence2.default, { items: transition_track.artists, nolinks: true }) - ) - ) - ), - current_track && (!transition_track || transition_track.tlid !== current_track.tlid) ? _react2.default.createElement( - 'div', - { - className: 'current-track current-track__incoming', - onTouchStart: this.handleTouchStart, - onTouchEnd: this.handleTouchEnd, - tabIndex: '-1', - key: current_track.tlid - }, - _react2.default.createElement( - _Link2.default, - { className: 'thumbnail-wrapper', to: '/kiosk-mode', tabIndex: '-1' }, - _react2.default.createElement(_Thumbnail2.default, { size: 'small', images: current_track.images, type: 'track' }) - ), - _react2.default.createElement( - 'div', - { className: 'text' }, - _react2.default.createElement( - 'div', - { className: 'title' }, - current_track ? current_track.name : _react2.default.createElement( - 'span', - null, - '-' - ) - ), - _react2.default.createElement( - 'div', - { className: 'artist' }, - current_track ? _react2.default.createElement(_LinksSentence2.default, { items: current_track.artists }) : _react2.default.createElement(_LinksSentence2.default, null) - ) - ) - ) : _react2.default.createElement( - 'div', - { - className: 'current-track', - onTouchStart: this.handleTouchStart, - onTouchEnd: this.handleTouchEnd, - tabIndex: '-1' - }, - _react2.default.createElement( - _Link2.default, - { className: 'thumbnail-wrapper', to: '/kiosk-mode', tabIndex: '-1' }, - _react2.default.createElement(_Thumbnail2.default, { size: 'small', type: 'track' }) - ), - _react2.default.createElement( - 'div', - { className: 'text' }, - _react2.default.createElement( - 'div', - { className: 'title' }, - '\xA0' - ), - _react2.default.createElement( - 'div', - { className: 'artist' }, - '\xA0' - ) - ) - ) - ), - _react2.default.createElement( - 'section', - { className: 'playback' }, - _react2.default.createElement( - 'button', - { className: 'control previous', onClick: function onClick() { - return _this7.props.mopidyActions.previous(); - } }, - _react2.default.createElement(_Icon2.default, { name: 'navigate_before', type: 'material' }) - ), - this.renderPlayButton(), - _react2.default.createElement( - 'button', - { className: 'control next', onClick: function onClick() { - return _this7.props.mopidyActions.next(); - } }, - _react2.default.createElement(_Icon2.default, { name: 'navigate_next', type: 'material' }) - ) - ), - _react2.default.createElement( - 'section', - { className: 'progress' }, - _react2.default.createElement( - 'div', - { className: 'time time--current' }, - time_position ? _react2.default.createElement(_Dater.Dater, { type: 'length', data: time_position }) : '-' - ), - _react2.default.createElement(_ProgressSlider2.default, null), - _react2.default.createElement( - 'div', - { className: 'time time--total' }, - current_track ? _react2.default.createElement(_Dater.Dater, { type: 'length', data: current_track.duration }) : '-' - ) - ), - _react2.default.createElement( - 'section', - { className: 'settings' }, - this.renderConsumeButton(), - this.renderRandomButton(), - this.renderRepeatButton(), - _react2.default.createElement(_OutputControl2.default, { force_expanded: this.state.expanded }) - ), - _react2.default.createElement( - 'section', - { className: 'volume' }, - _react2.default.createElement(_MuteControl2.default, { - mute: this.props.mute, - onMuteChange: function onMuteChange(mute) { - return _this7.props.mopidyActions.setMute(mute); - } - }), - _react2.default.createElement(_VolumeControl2.default, { - scrollWheel: true, - volume: this.props.volume, - mute: this.props.mute, - onVolumeChange: function onVolumeChange(percent) { - return _this7.props.mopidyActions.setVolume(percent); - } - }) - ), - _react2.default.createElement( - 'section', - { className: 'triggers' }, - _react2.default.createElement( - 'button', - { className: 'control expanded-controls', onClick: function onClick(e) { - return _this7.setState({ expanded: !_this7.state.expanded }); - } }, - this.state.expanded ? _react2.default.createElement(_Icon2.default, { name: 'expand_more', type: 'material' }) : _react2.default.createElement(_Icon2.default, { name: 'expand_less', type: 'material' }) - ), - _react2.default.createElement( - 'button', - { className: 'control sidebar-toggle' + (this.props.sidebar_open ? ' open' : ''), onClick: function onClick(e) { - return _this7.props.uiActions.toggleSidebar(); - } }, - _react2.default.createElement(_Icon2.default, { className: 'open', name: 'menu', type: 'material' }) - ) - ) - ); + var _this$props = this.props, + next_track = _this$props.next_track, + touch_enabled = _this$props.touch_enabled, + time_position = _this$props.time_position; + var _this$state = this.state, + current_track = _this$state.current_track, + expanded = _this$state.expanded, + transition_track = _this$state.transition_track, + transition_direction = _this$state.transition_direction; + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "playback-controls".concat(expanded ? ' playback-controls--expanded' : '').concat(touch_enabled ? ' playback-controls--touch-enabled' : ''), + "data-qa-node": "div", + "data-qa-file": "PlaybackControls" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "playback-controls__background", + "data-qa-node": "div", + "data-qa-file": "PlaybackControls" + }), next_track && next_track.images ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Thumbnail__WEBPACK_IMPORTED_MODULE_10__["default"], { + className: "hide", + size: "large", + images: next_track.images, + "data-qa-node": "Thumbnail", + "data-qa-file": "PlaybackControls" + }) : null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "current-track__wrapper", + transition: transition_track, + direction: transition_direction, + "data-qa-node": "div", + "data-qa-file": "PlaybackControls" + }, transition_track && transition_direction && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "current-track current-track__outgoing", + "data-qa-node": "div", + "data-qa-file": "PlaybackControls" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "text", + "data-qa-node": "div", + "data-qa-file": "PlaybackControls" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "title", + "data-qa-node": "div", + "data-qa-file": "PlaybackControls" + }, transition_track.name), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "artist", + "data-qa-node": "div", + "data-qa-file": "PlaybackControls" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_LinksSentence__WEBPACK_IMPORTED_MODULE_9__["default"], { + items: transition_track.artists, + nolinks: true, + "data-qa-node": "LinksSentence", + "data-qa-file": "PlaybackControls" + })))), current_track && (!transition_track || transition_track.tlid !== current_track.tlid) ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "current-track current-track__incoming", + onTouchStart: this.handleTouchStart, + onTouchEnd: this.handleTouchEnd, + tabIndex: "-1", + key: current_track.tlid, + "data-qa-node": "div", + "data-qa-file": "PlaybackControls" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Link__WEBPACK_IMPORTED_MODULE_3__["default"], { + className: "thumbnail-wrapper", + to: "/kiosk-mode", + tabIndex: "-1", + "data-qa-node": "Link", + "data-qa-file": "PlaybackControls" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Thumbnail__WEBPACK_IMPORTED_MODULE_10__["default"], { + size: "small", + images: current_track.images, + type: "track", + "data-qa-node": "Thumbnail", + "data-qa-file": "PlaybackControls" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "text", + "data-qa-node": "div", + "data-qa-file": "PlaybackControls" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "title", + "data-qa-node": "div", + "data-qa-file": "PlaybackControls" + }, current_track ? current_track.name : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + "data-qa-node": "span", + "data-qa-file": "PlaybackControls" + }, "-")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "artist", + "data-qa-node": "div", + "data-qa-file": "PlaybackControls" + }, current_track ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_LinksSentence__WEBPACK_IMPORTED_MODULE_9__["default"], { + items: current_track.artists, + "data-qa-node": "LinksSentence", + "data-qa-file": "PlaybackControls" + }) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_LinksSentence__WEBPACK_IMPORTED_MODULE_9__["default"], { + "data-qa-node": "LinksSentence", + "data-qa-file": "PlaybackControls" + })))) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "current-track", + onTouchStart: this.handleTouchStart, + onTouchEnd: this.handleTouchEnd, + tabIndex: "-1", + "data-qa-node": "div", + "data-qa-file": "PlaybackControls" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Link__WEBPACK_IMPORTED_MODULE_3__["default"], { + className: "thumbnail-wrapper", + to: "/kiosk-mode", + tabIndex: "-1", + "data-qa-node": "Link", + "data-qa-file": "PlaybackControls" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Thumbnail__WEBPACK_IMPORTED_MODULE_10__["default"], { + size: "small", + type: "track", + "data-qa-node": "Thumbnail", + "data-qa-file": "PlaybackControls" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "text", + "data-qa-node": "div", + "data-qa-file": "PlaybackControls" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "title", + "data-qa-node": "div", + "data-qa-file": "PlaybackControls" + }, "\xA0"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "artist", + "data-qa-node": "div", + "data-qa-file": "PlaybackControls" + }, "\xA0")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("section", { + className: "playback", + "data-qa-node": "section", + "data-qa-file": "PlaybackControls" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", { + className: "control previous", + onClick: function onClick() { + return _this7.props.mopidyActions.previous(); + }, + "data-qa-node": "button", + "data-qa-file": "PlaybackControls" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_11__["default"], { + name: "navigate_before", + type: "material", + "data-qa-node": "Icon", + "data-qa-file": "PlaybackControls" + })), this.renderPlayButton(), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", { + className: "control next", + onClick: function onClick() { + return _this7.props.mopidyActions.next(); + }, + "data-qa-node": "button", + "data-qa-file": "PlaybackControls" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_11__["default"], { + name: "navigate_next", + type: "material", + "data-qa-node": "Icon", + "data-qa-file": "PlaybackControls" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("section", { + className: "progress", + "data-qa-node": "section", + "data-qa-file": "PlaybackControls" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "time time--current", + "data-qa-node": "div", + "data-qa-file": "PlaybackControls" + }, time_position ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Dater__WEBPACK_IMPORTED_MODULE_8__["Dater"], { + type: "length", + data: time_position, + "data-qa-node": "Dater", + "data-qa-file": "PlaybackControls" + }) : '-'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Fields_ProgressSlider__WEBPACK_IMPORTED_MODULE_4__["default"], { + "data-qa-node": "ProgressSlider", + "data-qa-file": "PlaybackControls" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "time time--total", + "data-qa-node": "div", + "data-qa-file": "PlaybackControls" + }, current_track ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Dater__WEBPACK_IMPORTED_MODULE_8__["Dater"], { + type: "length", + data: current_track.duration, + "data-qa-node": "Dater", + "data-qa-file": "PlaybackControls" + }) : '-')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("section", { + className: "settings", + "data-qa-node": "section", + "data-qa-file": "PlaybackControls" + }, this.renderConsumeButton(), this.renderRandomButton(), this.renderRepeatButton(), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Fields_OutputControl__WEBPACK_IMPORTED_MODULE_7__["default"], { + force_expanded: this.state.expanded, + "data-qa-node": "OutputControl", + "data-qa-file": "PlaybackControls" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("section", { + className: "volume", + "data-qa-node": "section", + "data-qa-file": "PlaybackControls" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Fields_MuteControl__WEBPACK_IMPORTED_MODULE_6__["default"], { + mute: this.props.mute, + onMuteChange: function onMuteChange(mute) { + return _this7.props.mopidyActions.setMute(mute); + }, + "data-qa-node": "MuteControl", + "data-qa-file": "PlaybackControls" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Fields_VolumeControl__WEBPACK_IMPORTED_MODULE_5__["default"], { + scrollWheel: true, + volume: this.props.volume, + mute: this.props.mute, + onVolumeChange: function onVolumeChange(percent) { + return _this7.props.mopidyActions.setVolume(percent); + }, + "data-qa-node": "VolumeControl", + "data-qa-file": "PlaybackControls" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("section", { + className: "triggers", + "data-qa-node": "section", + "data-qa-file": "PlaybackControls" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", { + className: "control expanded-controls", + onClick: function onClick(e) { + return _this7.setState({ + expanded: !_this7.state.expanded + }); + }, + "data-qa-node": "button", + "data-qa-file": "PlaybackControls" + }, this.state.expanded ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_11__["default"], { + name: "expand_more", + type: "material", + "data-qa-node": "Icon", + "data-qa-file": "PlaybackControls" + }) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_11__["default"], { + name: "expand_less", + type: "material", + "data-qa-node": "Icon", + "data-qa-file": "PlaybackControls" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", { + className: "control sidebar-toggle".concat(this.props.sidebar_open ? ' open' : ''), + onClick: function onClick(e) { + return _this7.props.uiActions.toggleSidebar(); + }, + "data-qa-node": "button", + "data-qa-file": "PlaybackControls" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_11__["default"], { + className: "open", + name: "menu", + type: "material", + "data-qa-node": "Icon", + "data-qa-file": "PlaybackControls" + })))); } }], [{ - key: 'getDerivedStateFromProps', + key: "getDerivedStateFromProps", value: function getDerivedStateFromProps(_ref, state) { var current_track = _ref.current_track; - - return _extends({}, state, { + return _objectSpread(_objectSpread({}, state), {}, { current_track: current_track }); } }]); return PlaybackControls; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); var mapStateToProps = function mapStateToProps(state) { return { @@ -93383,13 +94356,13 @@ var mapStateToProps = function mapStateToProps(state) { var mapDispatchToProps = function mapDispatchToProps(dispatch) { return { - coreActions: (0, _redux.bindActionCreators)(coreActions, dispatch), - uiActions: (0, _redux.bindActionCreators)(uiActions, dispatch), - mopidyActions: (0, _redux.bindActionCreators)(mopidyActions, dispatch) + coreActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_core_actions__WEBPACK_IMPORTED_MODULE_14__, dispatch), + uiActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_ui_actions__WEBPACK_IMPORTED_MODULE_13__, dispatch), + mopidyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_mopidy_actions__WEBPACK_IMPORTED_MODULE_15__, dispatch) }; }; -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(PlaybackControls); +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapStateToProps, mapDispatchToProps)(PlaybackControls)); /***/ }), @@ -93397,55 +94370,58 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)( /*!*******************************************!*\ !*** ./src/js/components/PlaylistGrid.js ***! \*******************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); - -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); - -var _actions = __webpack_require__(/*! ../services/ui/actions */ "./src/js/services/ui/actions.js"); - -var uiActions = _interopRequireWildcard(_actions); - -var _GridItem = __webpack_require__(/*! ./GridItem */ "./src/js/components/GridItem.js"); - -var _GridItem2 = _interopRequireDefault(_GridItem); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var _services_ui_actions__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../services/ui/actions */ "./src/js/services/ui/actions.js"); +/* harmony import */ var _GridItem__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./GridItem */ "./src/js/components/GridItem.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -var PlaylistGrid = function (_React$Component) { +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + + + + + + + +var PlaylistGrid = /*#__PURE__*/function (_React$Component) { _inherits(PlaylistGrid, _React$Component); + var _super = _createSuper(PlaylistGrid); + function PlaylistGrid() { _classCallCheck(this, PlaylistGrid); - return _possibleConstructorReturn(this, (PlaylistGrid.__proto__ || Object.getPrototypeOf(PlaylistGrid)).apply(this, arguments)); + return _super.apply(this, arguments); } _createClass(PlaylistGrid, [{ - key: 'handleContextMenu', + key: "handleContextMenu", value: function handleContextMenu(e, item) { e.preventDefault(); var data = { @@ -93458,40 +94434,40 @@ var PlaylistGrid = function (_React$Component) { this.props.uiActions.showContextMenu(data); } }, { - key: 'render', + key: "render", value: function render() { - var _this2 = this; + var _this = this; if (!this.props.playlists) return null; - var className = 'grid grid--playlists'; - if (this.props.className) className += ' ' + this.props.className; + if (this.props.className) className += " ".concat(this.props.className); if (this.props.single_row) className += ' grid--single-row'; if (this.props.mini) className += ' grid--mini'; - - return _react2.default.createElement( - 'div', - { className: className }, - this.props.playlists.map(function (playlist) { - return _react2.default.createElement(_GridItem2.default, { - key: playlist.uri, - type: 'playlist', - item: playlist, - show_source_icon: _this2.props.show_source_icon, - onClick: function onClick(e) { - _this2.props.history.push('/playlist/' + encodeURIComponent(playlist.uri)); - }, - onContextMenu: function onContextMenu(e) { - return _this2.handleContextMenu(e, playlist); - } - }); - }) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: className, + "data-qa-node": "div", + "data-qa-file": "PlaylistGrid" + }, this.props.playlists.map(function (playlist) { + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_GridItem__WEBPACK_IMPORTED_MODULE_4__["default"], { + key: playlist.uri, + type: "playlist", + item: playlist, + show_source_icon: _this.props.show_source_icon, + onClick: function onClick(e) { + _this.props.history.push("/playlist/".concat(encodeURIComponent(playlist.uri))); + }, + onContextMenu: function onContextMenu(e) { + return _this.handleContextMenu(e, playlist); + }, + "data-qa-node": "GridItem", + "data-qa-file": "PlaylistGrid" + }); + })); } }]); return PlaylistGrid; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); var mapStateToProps = function mapStateToProps(state, ownProps) { return {}; @@ -93499,11 +94475,11 @@ var mapStateToProps = function mapStateToProps(state, ownProps) { var mapDispatchToProps = function mapDispatchToProps(dispatch) { return { - uiActions: (0, _redux.bindActionCreators)(uiActions, dispatch) + uiActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_ui_actions__WEBPACK_IMPORTED_MODULE_3__, dispatch) }; }; -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(PlaylistGrid); +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapStateToProps, mapDispatchToProps)(PlaylistGrid)); /***/ }), @@ -93511,48 +94487,60 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)( /*!*****************************************!*\ !*** ./src/js/components/Popularity.js ***! \*****************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js"); -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _locale = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js"); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -exports.default = (0, _react.memo)(function (props) { +/* harmony default export */ __webpack_exports__["default"] = (/*#__PURE__*/Object(react__WEBPACK_IMPORTED_MODULE_0__["memo"])(function (props) { if (props.popularity === undefined || props.popularity === null) { return null; } - return _react2.default.createElement( - 'span', - { className: 'popularity' }, - _react2.default.createElement( - 'span', - { className: 'popularity-bars' }, - _react2.default.createElement('span', { className: 'bar' + (props.popularity > 10 ? ' filled' : '') }), - _react2.default.createElement('span', { className: 'bar' + (props.popularity > 30 ? ' filled' : '') }), - _react2.default.createElement('span', { className: 'bar' + (props.popularity > 50 ? ' filled' : '') }), - _react2.default.createElement('span', { className: 'bar' + (props.popularity > 70 ? ' filled' : '') }), - _react2.default.createElement('span', { className: 'bar' + (props.popularity > 90 ? ' filled' : '') }) - ), - _react2.default.createElement( - 'span', - { className: 'popularity-value' }, - _react2.default.createElement(_locale.I18n, { path: 'specs.popularity', percent: props.popularity }) - ) - ); -}); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "popularity", + "data-qa-node": "span", + "data-qa-file": "Popularity" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "popularity-bars", + "data-qa-node": "span", + "data-qa-file": "Popularity" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "bar".concat(props.popularity > 10 ? ' filled' : ''), + "data-qa-node": "span", + "data-qa-file": "Popularity" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "bar".concat(props.popularity > 30 ? ' filled' : ''), + "data-qa-node": "span", + "data-qa-file": "Popularity" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "bar".concat(props.popularity > 50 ? ' filled' : ''), + "data-qa-node": "span", + "data-qa-file": "Popularity" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "bar".concat(props.popularity > 70 ? ' filled' : ''), + "data-qa-node": "span", + "data-qa-file": "Popularity" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "bar".concat(props.popularity > 90 ? ' filled' : ''), + "data-qa-node": "span", + "data-qa-file": "Popularity" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "popularity-value", + "data-qa-node": "span", + "data-qa-file": "Popularity" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_1__["I18n"], { + path: "specs.popularity", + percent: props.popularity, + "data-qa-node": "I18n", + "data-qa-file": "Popularity" + }))); +})); /***/ }), @@ -93560,133 +94548,153 @@ exports.default = (0, _react.memo)(function (props) { /*!***************************************************!*\ !*** ./src/js/components/PusherConnectionList.js ***! \***************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); - -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); - -var _actions = __webpack_require__(/*! ../services/pusher/actions */ "./src/js/services/pusher/actions.js"); - -var pusherActions = _interopRequireWildcard(_actions); - -var _arrays = __webpack_require__(/*! ../util/arrays */ "./src/js/util/arrays.js"); - -var _locale = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js"); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var _services_pusher_actions__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../services/pusher/actions */ "./src/js/services/pusher/actions.js"); +/* harmony import */ var _util_arrays__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../util/arrays */ "./src/js/util/arrays.js"); +/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -var PusherConnectionList = function (_React$Component) { +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _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; } + + + + + + + + +var PusherConnectionList = /*#__PURE__*/function (_React$Component) { _inherits(PusherConnectionList, _React$Component); - function PusherConnectionList() { - var _ref; + var _super = _createSuper(PusherConnectionList); - var _temp, _this, _ret; + function PusherConnectionList() { + var _this; _classCallCheck(this, PusherConnectionList); - for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } - return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = PusherConnectionList.__proto__ || Object.getPrototypeOf(PusherConnectionList)).call.apply(_ref, [this].concat(args))), _this), _this.componentDidUpdate = function (_ref2) { - var prevConnected = _ref2.connected; + _this = _super.call.apply(_super, [this].concat(args)); + + _defineProperty(_assertThisInitialized(_this), "componentDidUpdate", function (_ref) { + var prevConnected = _ref.connected; var _this$props = _this.props, connected = _this$props.connected, getConnections = _this$props.pusherActions.getConnections; - if (!prevConnected && connected) getConnections(); - }, _temp), _possibleConstructorReturn(_this, _ret); + }); + + return _this; } _createClass(PusherConnectionList, [{ - key: 'componentDidMount', + key: "componentDidMount", value: function componentDidMount() { if (this.props.connected) { this.props.pusherActions.getConnections(); } } }, { - key: 'render', + key: "render", value: function render() { var _this2 = this; if (!this.props.connected) { - return _react2.default.createElement( - 'div', - { className: 'pusher-connection-list mid_grey-text' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.pusher_connection_list.not_connected' }) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "pusher-connection-list mid_grey-text", + "data-qa-node": "div", + "data-qa-file": "PusherConnectionList" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_5__["I18n"], { + path: "settings.pusher_connection_list.not_connected", + "data-qa-node": "I18n", + "data-qa-file": "PusherConnectionList" + })); } - var connections = (0, _arrays.indexToArray)(this.props.connections); + var connections = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_4__["indexToArray"])(this.props.connections); + if (connections.length <= 0) { - return _react2.default.createElement( - 'div', - { className: 'pusher-connection-list mid_grey-text' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.pusher_connection_list.no_connections' }) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "pusher-connection-list mid_grey-text", + "data-qa-node": "div", + "data-qa-file": "PusherConnectionList" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_5__["I18n"], { + path: "settings.pusher_connection_list.no_connections", + "data-qa-node": "I18n", + "data-qa-file": "PusherConnectionList" + })); } - return _react2.default.createElement( - 'div', - { className: 'pusher-connection-list' }, - connections.map(function (connection) { - var is_me = false; - if (connection.connection_id == _this2.props.connection_id) { - is_me = true; - } + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "pusher-connection-list", + "data-qa-node": "div", + "data-qa-file": "PusherConnectionList" + }, connections.map(function (connection) { + var is_me = false; - return _react2.default.createElement( - 'div', - { className: is_me ? 'connection cf me' : 'connection cf', key: connection.connection_id }, - _react2.default.createElement( - 'div', - { className: 'col col--w30' }, - connection.username, - is_me && _react2.default.createElement(_locale.I18n, { path: 'settings.pusher_connection_list.you' }) - ), - _react2.default.createElement( - 'div', - { className: 'col col--w70' }, - connection.ip, - _react2.default.createElement( - 'span', - { className: 'mid_grey-text' }, - ' (' + connection.connection_id + ')' - ) - ) - ); - }) - ); + if (connection.connection_id == _this2.props.connection_id) { + is_me = true; + } + + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: is_me ? 'connection cf me' : 'connection cf', + key: connection.connection_id, + "data-qa-node": "div", + "data-qa-file": "PusherConnectionList" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "col col--w30", + "data-qa-node": "div", + "data-qa-file": "PusherConnectionList" + }, connection.username, is_me && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_5__["I18n"], { + path: "settings.pusher_connection_list.you", + "data-qa-node": "I18n", + "data-qa-file": "PusherConnectionList" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "col col--w70", + "data-qa-node": "div", + "data-qa-file": "PusherConnectionList" + }, connection.ip, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "mid_grey-text", + "data-qa-node": "span", + "data-qa-file": "PusherConnectionList" + }, " (".concat(connection.connection_id, ")")))); + })); } }]); return PusherConnectionList; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); var mapStateToProps = function mapStateToProps(state) { return { @@ -93698,11 +94706,11 @@ var mapStateToProps = function mapStateToProps(state) { var mapDispatchToProps = function mapDispatchToProps(dispatch) { return { - pusherActions: (0, _redux.bindActionCreators)(pusherActions, dispatch) + pusherActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_pusher_actions__WEBPACK_IMPORTED_MODULE_3__, dispatch) }; }; -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(PusherConnectionList); +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapStateToProps, mapDispatchToProps)(PusherConnectionList)); /***/ }), @@ -93710,36 +94718,23 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)( /*!*********************************************!*\ !*** ./src/js/components/RelatedArtists.js ***! \*********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _Thumbnail__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Thumbnail */ "./src/js/components/Thumbnail.js"); +/* harmony import */ var _URILink__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./URILink */ "./src/js/components/URILink.js"); -Object.defineProperty(exports, "__esModule", { - value: true -}); -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _Thumbnail = __webpack_require__(/*! ./Thumbnail */ "./src/js/components/Thumbnail.js"); - -var _Thumbnail2 = _interopRequireDefault(_Thumbnail); - -var _URILink = __webpack_require__(/*! ./URILink */ "./src/js/components/URILink.js"); - -var _URILink2 = _interopRequireDefault(_URILink); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -exports.default = (0, _react.memo)(function (_ref) { +/* harmony default export */ __webpack_exports__["default"] = (/*#__PURE__*/Object(react__WEBPACK_IMPORTED_MODULE_0__["memo"])(function (_ref) { var artists = _ref.artists, _ref$uiActions = _ref.uiActions; - _ref$uiActions = _ref$uiActions === undefined ? {} : _ref$uiActions; + _ref$uiActions = _ref$uiActions === void 0 ? {} : _ref$uiActions; var showContextMenu = _ref$uiActions.showContextMenu; - if (!artists) return null; var onContextMenu = function onContextMenu(e, item) { @@ -93754,54 +94749,61 @@ exports.default = (0, _react.memo)(function (_ref) { } }; - return _react2.default.createElement( - 'div', - { className: 'related-artists' }, - artists.map(function (artist) { - var images = artist.images; + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "related-artists", + "data-qa-node": "div", + "data-qa-file": "RelatedArtists" + }, artists.map(function (artist) { + var images = artist.images; - if (Array.isArray(images)) { - images = images[0]; - } + if (Array.isArray(images)) { + images = images[0]; + } - if (artist.uri) { - return _react2.default.createElement( - _URILink2.default, - { - type: 'artist', - uri: artist.uri, - key: artist.uri, - className: 'related-artists__item related-artists__item--link', - handleContextMenu: function handleContextMenu(e) { - return onContextMenu(e, artist); - } - }, - _react2.default.createElement(_Thumbnail2.default, { className: 'related-artists__item__thumbnail', circle: true, size: 'small', images: images }), - _react2.default.createElement( - 'span', - { className: 'related-artists__item__name' }, - artist.name - ) - ); - } - return _react2.default.createElement( - 'span', - { key: artist.uri, className: 'related-artists__item' }, - _react2.default.createElement(_Thumbnail2.default, { - className: 'related-artists__item__thumbnail', - circle: true, - size: 'small', - images: images - }), - _react2.default.createElement( - 'span', - { className: 'related-artists__item__name' }, - artist.name - ) - ); - }) - ); -}); + if (artist.uri) { + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_URILink__WEBPACK_IMPORTED_MODULE_2__["default"], { + type: "artist", + uri: artist.uri, + key: artist.uri, + className: "related-artists__item related-artists__item--link", + handleContextMenu: function handleContextMenu(e) { + return onContextMenu(e, artist); + }, + "data-qa-node": "URILink", + "data-qa-file": "RelatedArtists" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Thumbnail__WEBPACK_IMPORTED_MODULE_1__["default"], { + className: "related-artists__item__thumbnail", + circle: true, + size: "small", + images: images, + "data-qa-node": "Thumbnail", + "data-qa-file": "RelatedArtists" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "related-artists__item__name", + "data-qa-node": "span", + "data-qa-file": "RelatedArtists" + }, artist.name)); + } + + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + key: artist.uri, + className: "related-artists__item", + "data-qa-node": "span", + "data-qa-file": "RelatedArtists" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Thumbnail__WEBPACK_IMPORTED_MODULE_1__["default"], { + className: "related-artists__item__thumbnail", + circle: true, + size: "small", + images: images, + "data-qa-node": "Thumbnail", + "data-qa-file": "RelatedArtists" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "related-artists__item__name", + "data-qa-node": "span", + "data-qa-file": "RelatedArtists" + }, artist.name)); + })); +})); /***/ }), @@ -93809,17 +94811,12 @@ exports.default = (0, _react.memo)(function (_ref) { /*!*********************************************!*\ !*** ./src/js/components/ResizeListener.js ***! \*********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -exports.default = function (props) { +__webpack_require__.r(__webpack_exports__); +/* harmony default export */ __webpack_exports__["default"] = (function (props) { window.addEventListener('resize', handleWindowResize, false); var handleWindowResize = function handleWindowResize(e) { @@ -93835,7 +94832,7 @@ exports.default = function (props) { }; return null; -}; +}); /***/ }), @@ -93843,59 +94840,48 @@ exports.default = function (props) { /*!********************************************!*\ !*** ./src/js/components/SearchResults.js ***! \********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util/helpers */ "./src/js/util/helpers.js"); +/* harmony import */ var _util_arrays__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../util/arrays */ "./src/js/util/arrays.js"); +/* harmony import */ var _URILink__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./URILink */ "./src/js/components/URILink.js"); +/* harmony import */ var _Icon__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Icon */ "./src/js/components/Icon.js"); +/* harmony import */ var _AlbumGrid__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./AlbumGrid */ "./src/js/components/AlbumGrid.js"); +/* harmony import */ var _ArtistGrid__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./ArtistGrid */ "./src/js/components/ArtistGrid.js"); +/* harmony import */ var _PlaylistGrid__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./PlaylistGrid */ "./src/js/components/PlaylistGrid.js"); +/* harmony import */ var _TrackList__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./TrackList */ "./src/js/components/TrackList.js"); +/* harmony import */ var _LazyLoadListener__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./LazyLoadListener */ "./src/js/components/LazyLoadListener.js"); +/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js"); +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } -Object.defineProperty(exports, "__esModule", { - value: true -}); -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); -var _react2 = _interopRequireDefault(_react); -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); -var _helpers = __webpack_require__(/*! ../util/helpers */ "./src/js/util/helpers.js"); -var _arrays = __webpack_require__(/*! ../util/arrays */ "./src/js/util/arrays.js"); -var _URILink = __webpack_require__(/*! ./URILink */ "./src/js/components/URILink.js"); -var _URILink2 = _interopRequireDefault(_URILink); -var _Icon = __webpack_require__(/*! ./Icon */ "./src/js/components/Icon.js"); -var _Icon2 = _interopRequireDefault(_Icon); -var _AlbumGrid = __webpack_require__(/*! ./AlbumGrid */ "./src/js/components/AlbumGrid.js"); -var _AlbumGrid2 = _interopRequireDefault(_AlbumGrid); - -var _ArtistGrid = __webpack_require__(/*! ./ArtistGrid */ "./src/js/components/ArtistGrid.js"); - -var _ArtistGrid2 = _interopRequireDefault(_ArtistGrid); - -var _PlaylistGrid = __webpack_require__(/*! ./PlaylistGrid */ "./src/js/components/PlaylistGrid.js"); - -var _PlaylistGrid2 = _interopRequireDefault(_PlaylistGrid); - -var _TrackList = __webpack_require__(/*! ./TrackList */ "./src/js/components/TrackList.js"); - -var _TrackList2 = _interopRequireDefault(_TrackList); - -var _LazyLoadListener = __webpack_require__(/*! ./LazyLoadListener */ "./src/js/components/LazyLoadListener.js"); - -var _LazyLoadListener2 = _interopRequireDefault(_LazyLoadListener); - -var _locale = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js"); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } var SearchResults = function SearchResults(_ref) { var type = _ref.type, @@ -93908,85 +94894,123 @@ var SearchResults = function SearchResults(_ref) { sort_reverse = _ref.sort_reverse, uri_schemes_priority = _ref.uri_schemes_priority, all = _ref.all; - var encodedTerm = encodeURIComponent(query.term); + var resultsMatchQuery = function resultsMatchQuery(results) { if (!results.query) return false; if (results.query.term !== query.term) return false; if (results.query.type !== query.type) return false; return true; }; + var results = []; + if (resultsMatchQuery(mopidy_search_results) && mopidy_search_results[type]) { - results = [].concat(_toConsumableArray(results), _toConsumableArray(type === 'tracks' ? mopidy_search_results[type] : (0, _helpers.getIndexedRecords)(index, mopidy_search_results[type]))); + results = [].concat(_toConsumableArray(results), _toConsumableArray(type === 'tracks' ? mopidy_search_results[type] : Object(_util_helpers__WEBPACK_IMPORTED_MODULE_2__["getIndexedRecords"])(index, mopidy_search_results[type]))); } if (resultsMatchQuery(spotify_search_results) && spotify_search_results[type]) { - results = [].concat(_toConsumableArray(results), _toConsumableArray(type === 'tracks' ? spotify_search_results[type] : (0, _helpers.getIndexedRecords)(index, spotify_search_results[type]))); + results = [].concat(_toConsumableArray(results), _toConsumableArray(type === 'tracks' ? spotify_search_results[type] : Object(_util_helpers__WEBPACK_IMPORTED_MODULE_2__["getIndexedRecords"])(index, spotify_search_results[type]))); } var sort_map = null; + switch (sort) { case 'uri': sort_map = uri_schemes_priority; break; + case 'followers': // Followers (aka popularlity works in reverse-numerical order) // Ie "more popular" is a bigger number sort_reverse = !sort_reverse; break; + default: break; } - results = (0, _arrays.sortItems)(results, type === 'tracks' && sort === 'followers' ? 'popularity' : sort, sort_reverse, sort_map); - + results = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_3__["sortItems"])(results, type === 'tracks' && sort === 'followers' ? 'popularity' : sort, sort_reverse, sort_map); var resultsCount = results.length; + if (all && type !== 'tracks' && results.length > 5) { results = results.slice(0, 6); } if (results.length <= 0) return null; - - return _react2.default.createElement( - 'div', - null, - _react2.default.createElement( - 'h4', - null, - !all && _react2.default.createElement( - 'span', - null, - _react2.default.createElement( - _URILink2.default, - { uri: 'iris:search:all:' + encodedTerm }, - _react2.default.createElement(_locale.I18n, { path: 'search.title' }) - ), - ' ', - _react2.default.createElement(_Icon2.default, { type: 'fontawesome', name: 'angle-right' }), - ' ', - _react2.default.createElement(_locale.I18n, { path: 'search.' + type + '.title' }) - ), - all && _react2.default.createElement( - _URILink2.default, - { uri: 'iris:search:' + type + ':' + encodedTerm }, - _react2.default.createElement(_locale.I18n, { path: 'search.' + type + '.title' }) - ) - ), - _react2.default.createElement( - 'section', - { className: 'grid-wrapper' }, - type === 'artists' && _react2.default.createElement(_ArtistGrid2.default, { artists: results, show_source_icon: true, mini: all }), - type === 'albums' && _react2.default.createElement(_AlbumGrid2.default, { albums: results, show_source_icon: true, mini: all }), - type === 'playlists' && _react2.default.createElement(_PlaylistGrid2.default, { playlists: results, show_source_icon: true, mini: all }), - type === 'tracks' && _react2.default.createElement(_TrackList2.default, { tracks: results, uri: 'iris:search:' + query.type + ':' + encodedTerm, show_source_icon: true }), - resultsCount > results.length && _react2.default.createElement( - _URILink2.default, - { uri: 'iris:search:' + type + ':' + encodedTerm, className: 'button button--default' }, - _react2.default.createElement(_locale.I18n, { path: 'search.' + type + '.more', count: resultsCount }) - ) - ) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + "data-qa-node": "div", + "data-qa-file": "SearchResults" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h4", { + "data-qa-node": "h4", + "data-qa-file": "SearchResults" + }, !all && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + "data-qa-node": "span", + "data-qa-file": "SearchResults" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_URILink__WEBPACK_IMPORTED_MODULE_4__["default"], { + uri: "iris:search:all:".concat(encodedTerm), + "data-qa-node": "URILink", + "data-qa-file": "SearchResults" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_11__["I18n"], { + path: "search.title", + "data-qa-node": "I18n", + "data-qa-file": "SearchResults" + })), ' ', /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_5__["default"], { + type: "fontawesome", + name: "angle-right", + "data-qa-node": "Icon", + "data-qa-file": "SearchResults" + }), ' ', /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_11__["I18n"], { + path: "search.".concat(type, ".title"), + "data-qa-node": "I18n", + "data-qa-file": "SearchResults" + })), all && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_URILink__WEBPACK_IMPORTED_MODULE_4__["default"], { + uri: "iris:search:".concat(type, ":").concat(encodedTerm), + "data-qa-node": "URILink", + "data-qa-file": "SearchResults" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_11__["I18n"], { + path: "search.".concat(type, ".title"), + "data-qa-node": "I18n", + "data-qa-file": "SearchResults" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("section", { + className: "grid-wrapper", + "data-qa-node": "section", + "data-qa-file": "SearchResults" + }, type === 'artists' && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ArtistGrid__WEBPACK_IMPORTED_MODULE_7__["default"], { + artists: results, + show_source_icon: true, + mini: all, + "data-qa-node": "ArtistGrid", + "data-qa-file": "SearchResults" + }), type === 'albums' && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AlbumGrid__WEBPACK_IMPORTED_MODULE_6__["default"], { + albums: results, + show_source_icon: true, + mini: all, + "data-qa-node": "AlbumGrid", + "data-qa-file": "SearchResults" + }), type === 'playlists' && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_PlaylistGrid__WEBPACK_IMPORTED_MODULE_8__["default"], { + playlists: results, + show_source_icon: true, + mini: all, + "data-qa-node": "PlaylistGrid", + "data-qa-file": "SearchResults" + }), type === 'tracks' && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_TrackList__WEBPACK_IMPORTED_MODULE_9__["default"], { + tracks: results, + uri: "iris:search:".concat(query.type, ":").concat(encodedTerm), + show_source_icon: true, + "data-qa-node": "TrackList", + "data-qa-file": "SearchResults" + }), resultsCount > results.length && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_URILink__WEBPACK_IMPORTED_MODULE_4__["default"], { + uri: "iris:search:".concat(type, ":").concat(encodedTerm), + className: "button button--default", + "data-qa-node": "URILink", + "data-qa-file": "SearchResults" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_11__["I18n"], { + path: "search.".concat(type, ".more"), + count: resultsCount, + "data-qa-node": "I18n", + "data-qa-file": "SearchResults" + })))); }; var mapStateToProps = function mapStateToProps(state, ownProps) { @@ -94004,7 +95028,7 @@ var mapDispatchToProps = function mapDispatchToProps() { return {}; }; -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(SearchResults); +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapStateToProps, mapDispatchToProps)(SearchResults)); /***/ }), @@ -94012,68 +95036,45 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)( /*!**************************************!*\ !*** ./src/js/components/Servers.js ***! \**************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var _Link__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Link */ "./src/js/components/Link.js"); +/* harmony import */ var _Icon__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Icon */ "./src/js/components/Icon.js"); +/* harmony import */ var _URILink__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./URILink */ "./src/js/components/URILink.js"); +/* harmony import */ var _Fields_TextField__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Fields/TextField */ "./src/js/components/Fields/TextField.js"); +/* harmony import */ var _util_arrays__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../util/arrays */ "./src/js/util/arrays.js"); +/* harmony import */ var _services_ui_actions__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../services/ui/actions */ "./src/js/services/ui/actions.js"); +/* harmony import */ var _services_core_actions__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../services/core/actions */ "./src/js/services/core/actions.js"); +/* harmony import */ var _services_mopidy_actions__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); +/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../util/helpers */ "./src/js/util/helpers.js"); +/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js"); -Object.defineProperty(exports, "__esModule", { - value: true -}); -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); -var _react2 = _interopRequireDefault(_react); -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); -var _Link = __webpack_require__(/*! ./Link */ "./src/js/components/Link.js"); -var _Link2 = _interopRequireDefault(_Link); -var _Icon = __webpack_require__(/*! ./Icon */ "./src/js/components/Icon.js"); -var _Icon2 = _interopRequireDefault(_Icon); -var _URILink = __webpack_require__(/*! ./URILink */ "./src/js/components/URILink.js"); -var _URILink2 = _interopRequireDefault(_URILink); -var _TextField = __webpack_require__(/*! ./Fields/TextField */ "./src/js/components/Fields/TextField.js"); -var _TextField2 = _interopRequireDefault(_TextField); - -var _arrays = __webpack_require__(/*! ../util/arrays */ "./src/js/util/arrays.js"); - -var _actions = __webpack_require__(/*! ../services/ui/actions */ "./src/js/services/ui/actions.js"); - -var uiActions = _interopRequireWildcard(_actions); - -var _actions2 = __webpack_require__(/*! ../services/core/actions */ "./src/js/services/core/actions.js"); - -var coreActions = _interopRequireWildcard(_actions2); - -var _actions3 = __webpack_require__(/*! ../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); - -var mopidyActions = _interopRequireWildcard(_actions3); - -var _helpers = __webpack_require__(/*! ../util/helpers */ "./src/js/util/helpers.js"); - -var _locale = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js"); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var Servers = function Servers(_ref) { var serverId = _ref.match.params.id, history = _ref.history; - - var store = (0, _reactRedux.useStore)(); - var dispatch = (0, _reactRedux.useDispatch)(); + var store = Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["useStore"])(); + var dispatch = Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["useDispatch"])(); var _store$getState = store.getState(), _store$getState$mopid = _store$getState.mopidy, @@ -94087,92 +95088,120 @@ var Servers = function Servers(_ref) { pusherConnecting = _store$getState$pushe.connecting; var addServer = function addServer() { - var action = mopidyActions.addServer(); + var action = _services_mopidy_actions__WEBPACK_IMPORTED_MODULE_10__["addServer"](); dispatch(action); - history.push('/settings/servers/' + action.server.id); + history.push("/settings/servers/".concat(action.server.id)); }; var renderMenu = function renderMenu() { - return _react2.default.createElement( - 'div', - { className: 'sub-tabs__menu', id: 'servers-menu' }, - _react2.default.createElement( - 'div', - { className: 'menu__inner' }, - (0, _arrays.indexToArray)(servers).map(function (server) { - var status = _react2.default.createElement( - 'span', - { className: 'status mid_grey-text' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.servers.inactive' }) - ); - if (server.id === current_server) { - if (mopidyConnecting || pusherConnecting) { - status = _react2.default.createElement( - 'span', - { className: 'status mid_grey-text' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.servers.connecting' }) - ); - } else if (!mopidyConnected || !pusherConnected) { - status = _react2.default.createElement( - 'span', - { className: 'status red-text' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.servers.disconnected' }) - ); - } else if (mopidyConnected && pusherConnected) { - status = _react2.default.createElement( - 'span', - { className: 'status green-text' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.servers.connected' }) - ); - } - } - return _react2.default.createElement( - _Link2.default, - { - history: history, - className: 'menu-item', - activeClassName: 'menu-item--active', - to: '/settings/servers/' + server.id, - scrollTo: '#servers-menu', - key: server.id - }, - _react2.default.createElement( - 'div', - { className: 'menu-item__inner' }, - _react2.default.createElement(_Icon2.default, { className: 'menu-item__icon', name: (0, _helpers.iconFromKeyword)(server.name) || 'dns' }), - _react2.default.createElement( - 'div', - { className: 'menu-item__title' }, - server.name - ), - status - ) - ); - }), - _react2.default.createElement( - 'span', - { - className: 'menu-item menu-item--add', - onClick: addServer - }, - _react2.default.createElement( - 'div', - { className: 'menu-item__inner' }, - _react2.default.createElement(_Icon2.default, { className: 'menu-item__icon', name: 'add' }), - _react2.default.createElement( - 'div', - { className: 'menu-item__title' }, - _react2.default.createElement(_locale.I18n, { path: 'actions.add' }) - ), - _react2.default.createElement( - 'span', - { className: 'status mid_grey-text' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.servers.new_server' }) - ) - ) - ) - ) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "sub-tabs__menu", + id: "servers-menu", + "data-qa-node": "div", + "data-qa-file": "Servers" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "menu__inner", + "data-qa-node": "div", + "data-qa-file": "Servers" + }, Object(_util_arrays__WEBPACK_IMPORTED_MODULE_7__["indexToArray"])(servers).map(function (server) { + var status = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "status mid_grey-text", + "data-qa-node": "span", + "data-qa-file": "Servers" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_12__["I18n"], { + path: "settings.servers.inactive", + "data-qa-node": "I18n", + "data-qa-file": "Servers" + })); + + if (server.id === current_server) { + if (mopidyConnecting || pusherConnecting) { + status = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "status mid_grey-text", + "data-qa-node": "span", + "data-qa-file": "Servers" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_12__["I18n"], { + path: "settings.servers.connecting", + "data-qa-node": "I18n", + "data-qa-file": "Servers" + })); + } else if (!mopidyConnected || !pusherConnected) { + status = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "status red-text", + "data-qa-node": "span", + "data-qa-file": "Servers" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_12__["I18n"], { + path: "settings.servers.disconnected", + "data-qa-node": "I18n", + "data-qa-file": "Servers" + })); + } else if (mopidyConnected && pusherConnected) { + status = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "status green-text", + "data-qa-node": "span", + "data-qa-file": "Servers" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_12__["I18n"], { + path: "settings.servers.connected", + "data-qa-node": "I18n", + "data-qa-file": "Servers" + })); + } + } + + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Link__WEBPACK_IMPORTED_MODULE_3__["default"], { + history: history, + className: "menu-item", + activeClassName: "menu-item--active", + to: "/settings/servers/".concat(server.id), + scrollTo: "#servers-menu", + key: server.id, + "data-qa-node": "Link", + "data-qa-file": "Servers" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "menu-item__inner", + "data-qa-node": "div", + "data-qa-file": "Servers" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_4__["default"], { + className: "menu-item__icon", + name: Object(_util_helpers__WEBPACK_IMPORTED_MODULE_11__["iconFromKeyword"])(server.name) || 'dns', + "data-qa-node": "Icon", + "data-qa-file": "Servers" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "menu-item__title", + "data-qa-node": "div", + "data-qa-file": "Servers" + }, server.name), status)); + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "menu-item menu-item--add", + onClick: addServer, + "data-qa-node": "span", + "data-qa-file": "Servers" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "menu-item__inner", + "data-qa-node": "div", + "data-qa-file": "Servers" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_4__["default"], { + className: "menu-item__icon", + name: "add", + "data-qa-node": "Icon", + "data-qa-file": "Servers" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "menu-item__title", + "data-qa-node": "div", + "data-qa-file": "Servers" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_12__["I18n"], { + path: "actions.add", + "data-qa-node": "I18n", + "data-qa-file": "Servers" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "status mid_grey-text", + "data-qa-node": "span", + "data-qa-file": "Servers" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_12__["I18n"], { + path: "settings.servers.new_server", + "data-qa-node": "I18n", + "data-qa-file": "Servers" + })))))); }; var renderServer = function renderServer() { @@ -94181,145 +95210,180 @@ var Servers = function Servers(_ref) { if (!server) return null; var remove = function remove() { - dispatch(mopidyActions.removeServer(server.id)); + dispatch(_services_mopidy_actions__WEBPACK_IMPORTED_MODULE_10__["removeServer"](server.id)); }; var setAsCurrent = function setAsCurrent() { - dispatch(mopidyActions.setCurrentServer(server)); + dispatch(_services_mopidy_actions__WEBPACK_IMPORTED_MODULE_10__["setCurrentServer"](server)); }; - return _react2.default.createElement( - 'div', - { className: 'sub-tabs__content' }, - _react2.default.createElement( - 'label', - { className: 'field' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.servers.name' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement(_TextField2.default, { - type: 'text', - value: server.name, - onChange: function onChange(value) { - return dispatch(mopidyActions.updateServer({ id: server.id, name: value })); - }, - autosave: true - }) - ) - ), - _react2.default.createElement( - 'label', - { className: 'field' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.servers.host' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement(_TextField2.default, { - value: server.host, - onChange: function onChange(value) { - return dispatch(mopidyActions.updateServer({ id: server.id, host: value })); - }, - autosave: true - }) - ) - ), - _react2.default.createElement( - 'label', - { className: 'field' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.servers.port' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement(_TextField2.default, { - type: 'text', - value: server.port, - onChange: function onChange(value) { - return dispatch(mopidyActions.updateServer({ id: server.id, port: value })); - }, - autosave: true - }) - ) - ), - _react2.default.createElement( - 'div', - { className: 'field checkbox' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.servers.encryption.label' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement( - 'label', - null, - _react2.default.createElement('input', { - type: 'checkbox', - name: 'ssl', - value: server.ssl, - checked: server.ssl, - onChange: function onChange() { - return dispatch(mopidyActions.updateServer({ id: server.id, ssl: !server.ssl })); - } - }), - _react2.default.createElement( - 'span', - { className: 'label tooltip' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.servers.encryption.sublabel' }), - _react2.default.createElement( - 'span', - { className: 'tooltip__content' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.servers.encryption.description' }) - ) - ) - ) - ) - ), - _react2.default.createElement( - 'button', - { - type: 'button', - className: 'button button--primary', - onClick: setAsCurrent - }, - _react2.default.createElement(_locale.I18n, { path: 'settings.servers.' + (server.id === current_server ? 'reconnect' : 'switch') }) - ), - _react2.default.createElement( - 'button', - { - type: 'button', - className: 'button button--destructive', - disabled: server.id === current_server, - onClick: remove - }, - _react2.default.createElement(_locale.I18n, { path: 'actions.remove' }) - ) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "sub-tabs__content", + "data-qa-node": "div", + "data-qa-file": "Servers" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { + className: "field", + "data-qa-node": "label", + "data-qa-file": "Servers" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "Servers" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_12__["I18n"], { + path: "settings.servers.name", + "data-qa-node": "I18n", + "data-qa-file": "Servers" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "Servers" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Fields_TextField__WEBPACK_IMPORTED_MODULE_6__["default"], { + type: "text", + value: server.name, + onChange: function onChange(value) { + return dispatch(_services_mopidy_actions__WEBPACK_IMPORTED_MODULE_10__["updateServer"]({ + id: server.id, + name: value + })); + }, + autosave: true, + "data-qa-node": "TextField", + "data-qa-file": "Servers" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { + className: "field", + "data-qa-node": "label", + "data-qa-file": "Servers" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "Servers" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_12__["I18n"], { + path: "settings.servers.host", + "data-qa-node": "I18n", + "data-qa-file": "Servers" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "Servers" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Fields_TextField__WEBPACK_IMPORTED_MODULE_6__["default"], { + value: server.host, + onChange: function onChange(value) { + return dispatch(_services_mopidy_actions__WEBPACK_IMPORTED_MODULE_10__["updateServer"]({ + id: server.id, + host: value + })); + }, + autosave: true, + "data-qa-node": "TextField", + "data-qa-file": "Servers" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { + className: "field", + "data-qa-node": "label", + "data-qa-file": "Servers" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "Servers" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_12__["I18n"], { + path: "settings.servers.port", + "data-qa-node": "I18n", + "data-qa-file": "Servers" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "Servers" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Fields_TextField__WEBPACK_IMPORTED_MODULE_6__["default"], { + type: "text", + value: server.port, + onChange: function onChange(value) { + return dispatch(_services_mopidy_actions__WEBPACK_IMPORTED_MODULE_10__["updateServer"]({ + id: server.id, + port: value + })); + }, + autosave: true, + "data-qa-node": "TextField", + "data-qa-file": "Servers" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field checkbox", + "data-qa-node": "div", + "data-qa-file": "Servers" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "Servers" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_12__["I18n"], { + path: "settings.servers.encryption.label", + "data-qa-node": "I18n", + "data-qa-file": "Servers" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "Servers" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { + "data-qa-node": "label", + "data-qa-file": "Servers" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { + type: "checkbox", + name: "ssl", + value: server.ssl, + checked: server.ssl, + onChange: function onChange() { + return dispatch(_services_mopidy_actions__WEBPACK_IMPORTED_MODULE_10__["updateServer"]({ + id: server.id, + ssl: !server.ssl + })); + }, + "data-qa-node": "input", + "data-qa-file": "Servers" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "label tooltip", + "data-qa-node": "span", + "data-qa-file": "Servers" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_12__["I18n"], { + path: "settings.servers.encryption.sublabel", + "data-qa-node": "I18n", + "data-qa-file": "Servers" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "tooltip__content", + "data-qa-node": "span", + "data-qa-file": "Servers" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_12__["I18n"], { + path: "settings.servers.encryption.description", + "data-qa-node": "I18n", + "data-qa-file": "Servers" + })))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", { + type: "button", + className: "button button--primary", + onClick: setAsCurrent, + "data-qa-node": "button", + "data-qa-file": "Servers" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_12__["I18n"], { + path: "settings.servers.".concat(server.id === current_server ? 'reconnect' : 'switch'), + "data-qa-node": "I18n", + "data-qa-file": "Servers" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", { + type: "button", + className: "button button--destructive", + disabled: server.id === current_server, + onClick: remove, + "data-qa-node": "button", + "data-qa-file": "Servers" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_12__["I18n"], { + path: "actions.remove", + "data-qa-node": "I18n", + "data-qa-file": "Servers" + }))); }; - return _react2.default.createElement( - 'div', - { className: 'sub-tabs sub-tabs--servers' }, - renderMenu(), - renderServer() - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "sub-tabs sub-tabs--servers", + "data-qa-node": "div", + "data-qa-file": "Servers" + }, renderMenu(), renderServer()); }; -exports.default = Servers; +/* harmony default export */ __webpack_exports__["default"] = (Servers); /***/ }), @@ -94327,110 +95391,86 @@ exports.default = Servers; /*!***************************************!*\ !*** ./src/js/components/Services.js ***! \***************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); - -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); - -var _Link = __webpack_require__(/*! ./Link */ "./src/js/components/Link.js"); - -var _Link2 = _interopRequireDefault(_Link); - -var _Thumbnail = __webpack_require__(/*! ./Thumbnail */ "./src/js/components/Thumbnail.js"); - -var _Thumbnail2 = _interopRequireDefault(_Thumbnail); - -var _Icon = __webpack_require__(/*! ./Icon */ "./src/js/components/Icon.js"); - -var _Icon2 = _interopRequireDefault(_Icon); - -var _URILink = __webpack_require__(/*! ./URILink */ "./src/js/components/URILink.js"); - -var _URILink2 = _interopRequireDefault(_URILink); - -var _TextField = __webpack_require__(/*! ./Fields/TextField */ "./src/js/components/Fields/TextField.js"); - -var _TextField2 = _interopRequireDefault(_TextField); - -var _SpotifyAuthenticationFrame = __webpack_require__(/*! ./Fields/SpotifyAuthenticationFrame */ "./src/js/components/Fields/SpotifyAuthenticationFrame.js"); - -var _SpotifyAuthenticationFrame2 = _interopRequireDefault(_SpotifyAuthenticationFrame); - -var _LastfmAuthenticationFrame = __webpack_require__(/*! ./Fields/LastfmAuthenticationFrame */ "./src/js/components/Fields/LastfmAuthenticationFrame.js"); - -var _LastfmAuthenticationFrame2 = _interopRequireDefault(_LastfmAuthenticationFrame); - -var _GeniusAuthenticationFrame = __webpack_require__(/*! ./Fields/GeniusAuthenticationFrame */ "./src/js/components/Fields/GeniusAuthenticationFrame.js"); - -var _GeniusAuthenticationFrame2 = _interopRequireDefault(_GeniusAuthenticationFrame); - -var _Snapcast = __webpack_require__(/*! ./Snapcast */ "./src/js/components/Snapcast.js"); - -var _Snapcast2 = _interopRequireDefault(_Snapcast); - -var _actions = __webpack_require__(/*! ../services/ui/actions */ "./src/js/services/ui/actions.js"); - -var uiActions = _interopRequireWildcard(_actions); - -var _actions2 = __webpack_require__(/*! ../services/core/actions */ "./src/js/services/core/actions.js"); - -var coreActions = _interopRequireWildcard(_actions2); - -var _actions3 = __webpack_require__(/*! ../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); - -var mopidyActions = _interopRequireWildcard(_actions3); - -var _actions4 = __webpack_require__(/*! ../services/pusher/actions */ "./src/js/services/pusher/actions.js"); - -var pusherActions = _interopRequireWildcard(_actions4); - -var _actions5 = __webpack_require__(/*! ../services/spotify/actions */ "./src/js/services/spotify/actions.js"); - -var spotifyActions = _interopRequireWildcard(_actions5); - -var _actions6 = __webpack_require__(/*! ../services/lastfm/actions */ "./src/js/services/lastfm/actions.js"); - -var lastfmActions = _interopRequireWildcard(_actions6); - -var _actions7 = __webpack_require__(/*! ../services/genius/actions */ "./src/js/services/genius/actions.js"); - -var geniusActions = _interopRequireWildcard(_actions7); - -var _locale = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js"); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var _Link__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Link */ "./src/js/components/Link.js"); +/* harmony import */ var _Thumbnail__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Thumbnail */ "./src/js/components/Thumbnail.js"); +/* harmony import */ var _Icon__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Icon */ "./src/js/components/Icon.js"); +/* harmony import */ var _URILink__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./URILink */ "./src/js/components/URILink.js"); +/* harmony import */ var _Fields_TextField__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Fields/TextField */ "./src/js/components/Fields/TextField.js"); +/* harmony import */ var _Fields_SpotifyAuthenticationFrame__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Fields/SpotifyAuthenticationFrame */ "./src/js/components/Fields/SpotifyAuthenticationFrame.js"); +/* harmony import */ var _Fields_LastfmAuthenticationFrame__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Fields/LastfmAuthenticationFrame */ "./src/js/components/Fields/LastfmAuthenticationFrame.js"); +/* harmony import */ var _Fields_GeniusAuthenticationFrame__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./Fields/GeniusAuthenticationFrame */ "./src/js/components/Fields/GeniusAuthenticationFrame.js"); +/* harmony import */ var _Snapcast__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./Snapcast */ "./src/js/components/Snapcast.js"); +/* harmony import */ var _services_ui_actions__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../services/ui/actions */ "./src/js/services/ui/actions.js"); +/* harmony import */ var _services_core_actions__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../services/core/actions */ "./src/js/services/core/actions.js"); +/* harmony import */ var _services_mopidy_actions__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); +/* harmony import */ var _services_pusher_actions__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../services/pusher/actions */ "./src/js/services/pusher/actions.js"); +/* harmony import */ var _services_spotify_actions__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../services/spotify/actions */ "./src/js/services/spotify/actions.js"); +/* harmony import */ var _services_lastfm_actions__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../services/lastfm/actions */ "./src/js/services/lastfm/actions.js"); +/* harmony import */ var _services_genius_actions__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../services/genius/actions */ "./src/js/services/genius/actions.js"); +/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -var Services = function (_React$Component) { +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + + + + + + + + + + + + + + + + + + + + + + +var Services = /*#__PURE__*/function (_React$Component) { _inherits(Services, _React$Component); + var _super = _createSuper(Services); + function Services(props) { + var _this; + _classCallCheck(this, Services); - var _this = _possibleConstructorReturn(this, (Services.__proto__ || Object.getPrototypeOf(Services)).call(this, props)); - + _this = _super.call(this, props); _this.state = { country: _this.props.spotify.country, locale: _this.props.spotify.locale, @@ -94440,587 +95480,821 @@ var Services = function (_React$Component) { } _createClass(Services, [{ - key: 'componentDidMount', + key: "componentDidMount", value: function componentDidMount() { if ((this.props.spotify.enabled || this.props.spotify.authorization) && (!this.props.spotify.me || this.props.core.users[this.props.spotify.me.id] === undefined)) { this.props.spotifyActions.getMe(); } - if (this.props.lastfm.authorization && this.props.core.users['lastfm:user:' + this.props.lastfm.authorization.name] === undefined) { + + if (this.props.lastfm.authorization && this.props.core.users["lastfm:user:".concat(this.props.lastfm.authorization.name)] === undefined) { this.props.lastfmActions.getMe(); } - if (this.props.genius.authorization && (!this.props.genius.me || this.props.core.users['genius:user:' + this.props.genius.me.id] === undefined)) { + + if (this.props.genius.authorization && (!this.props.genius.me || this.props.core.users["genius:user:".concat(this.props.genius.me.id)] === undefined)) { this.props.geniusActions.getMe(); } } }, { - key: 'handleBlur', + key: "handleBlur", value: function handleBlur(name, value) { - this.setState({ input_in_focus: null }); + this.setState({ + input_in_focus: null + }); var data = {}; data[name] = value; this.props.coreActions.set(data); } }, { - key: 'renderSpotify', + key: "renderSpotify", value: function renderSpotify() { - var _props = this.props, - core = _props.core, - spotify = _props.spotify, - mopidy = _props.mopidy, - spotifyActions = _props.spotifyActions; - var _state = this.state, - country = _state.country, - locale = _state.locale; - + var _this$props = this.props, + core = _this$props.core, + spotify = _this$props.spotify, + mopidy = _this$props.mopidy, + spotifyActions = _this$props.spotifyActions; + var _this$state = this.state, + country = _this$state.country, + locale = _this$state.locale; var user_object = spotify.me && core.users[spotify.me.uri] ? core.users[spotify.me.uri] : null; + if (user_object) { - var user = _react2.default.createElement( - _URILink2.default, - { className: 'user', type: 'user', uri: user_object.uri }, - _react2.default.createElement(_Thumbnail2.default, { circle: true, size: 'small', images: user_object.images }), - _react2.default.createElement( - 'span', - { className: 'user-name' }, - user_object.name ? user_object.name : user_object.id, - !this.props.spotify.authorization && _react2.default.createElement( - 'span', - { className: 'mid_grey-text' }, - ' (', - _react2.default.createElement(_locale.I18n, { path: 'settings.services.limited_access' }), - ')' - ) - ) - ); + var user = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_URILink__WEBPACK_IMPORTED_MODULE_6__["default"], { + className: "user", + type: "user", + uri: user_object.uri, + "data-qa-node": "URILink", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Thumbnail__WEBPACK_IMPORTED_MODULE_4__["default"], { + circle: true, + size: "small", + images: user_object.images, + "data-qa-node": "Thumbnail", + "data-qa-file": "Services" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "user-name", + "data-qa-node": "span", + "data-qa-file": "Services" + }, user_object.name ? user_object.name : user_object.id, !this.props.spotify.authorization && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "mid_grey-text", + "data-qa-node": "span", + "data-qa-file": "Services" + }, ' (', /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_19__["I18n"], { + path: "settings.services.limited_access", + "data-qa-node": "I18n", + "data-qa-file": "Services" + }), ')'))); } else { - var user = _react2.default.createElement( - _URILink2.default, - { className: 'user' }, - _react2.default.createElement(_Thumbnail2.default, { circle: true, size: 'small' }), - _react2.default.createElement( - 'span', - { className: 'user-name' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.services.unknown' }) - ) - ); + var user = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_URILink__WEBPACK_IMPORTED_MODULE_6__["default"], { + className: "user", + "data-qa-node": "URILink", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Thumbnail__WEBPACK_IMPORTED_MODULE_4__["default"], { + circle: true, + size: "small", + "data-qa-node": "Thumbnail", + "data-qa-file": "Services" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "user-name", + "data-qa-node": "span", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_19__["I18n"], { + path: "settings.services.unknown", + "data-qa-node": "I18n", + "data-qa-file": "Services" + }))); } var not_installed = null; if (!mopidy.uri_schemes || !mopidy.uri_schemes.includes('spotify:')) { - not_installed = _react2.default.createElement( - 'div', - null, - _react2.default.createElement( - 'p', - { className: 'message warning' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.services.spotify.mopidy_spotify_not_running' }) - ), - _react2.default.createElement('br', null) - ); + not_installed = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + "data-qa-node": "div", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p", { + className: "message warning", + "data-qa-node": "p", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_19__["I18n"], { + path: "settings.services.spotify.mopidy_spotify_not_running", + "data-qa-node": "I18n", + "data-qa-file": "Services" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("br", { + "data-qa-node": "br", + "data-qa-file": "Services" + })); } - return _react2.default.createElement( - 'div', - null, - not_installed, - _react2.default.createElement( - 'label', - { className: 'field' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.services.spotify.country.label' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement(_TextField2.default, { - onChange: function onChange(value) { - return spotifyActions.set({ country: value }); - }, - value: country, - autosave: true - }), - _react2.default.createElement( - 'div', - { className: 'description' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.services.spotify.country.description' }) - ) - ) - ), - _react2.default.createElement( - 'label', - { className: 'field' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.services.spotify.locale.title' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement(_TextField2.default, { - onChange: function onChange(value) { - return spotifyActions.set({ locale: value }); - }, - value: locale, - autosave: true - }), - _react2.default.createElement( - 'div', - { className: 'description' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.services.spotify.locale.description' }) - ) - ) - ), - _react2.default.createElement( - 'div', - { className: 'field current-user' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - 'Current user' - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement( - 'div', - { className: 'text' }, - user - ) - ) - ), - _react2.default.createElement( - 'div', - { className: 'field' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.services.authorization' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement(_SpotifyAuthenticationFrame2.default, null), - spotify.refreshing_token ? _react2.default.createElement( - 'a', - { className: 'button button--default button--working' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.services.refresh_token' }) - ) : _react2.default.createElement( - 'a', - { - className: 'button button--default', - onClick: function onClick() { - return spotifyActions.refreshingToken(); - } - }, - _react2.default.createElement(_locale.I18n, { path: 'settings.services.refresh_token' }) - ) - ) - ) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + "data-qa-node": "div", + "data-qa-file": "Services" + }, not_installed, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { + className: "field", + "data-qa-node": "label", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_19__["I18n"], { + path: "settings.services.spotify.country.label", + "data-qa-node": "I18n", + "data-qa-file": "Services" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Fields_TextField__WEBPACK_IMPORTED_MODULE_7__["default"], { + onChange: function onChange(value) { + return spotifyActions.set({ + country: value + }); + }, + value: country, + autosave: true, + "data-qa-node": "TextField", + "data-qa-file": "Services" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "description", + "data-qa-node": "div", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_19__["I18n"], { + path: "settings.services.spotify.country.description", + "data-qa-node": "I18n", + "data-qa-file": "Services" + })))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { + className: "field", + "data-qa-node": "label", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_19__["I18n"], { + path: "settings.services.spotify.locale.title", + "data-qa-node": "I18n", + "data-qa-file": "Services" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Fields_TextField__WEBPACK_IMPORTED_MODULE_7__["default"], { + onChange: function onChange(value) { + return spotifyActions.set({ + locale: value + }); + }, + value: locale, + autosave: true, + "data-qa-node": "TextField", + "data-qa-file": "Services" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "description", + "data-qa-node": "div", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_19__["I18n"], { + path: "settings.services.spotify.locale.description", + "data-qa-node": "I18n", + "data-qa-file": "Services" + })))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field current-user", + "data-qa-node": "div", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "Services" + }, "Current user"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "text", + "data-qa-node": "div", + "data-qa-file": "Services" + }, user))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field", + "data-qa-node": "div", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_19__["I18n"], { + path: "settings.services.authorization", + "data-qa-node": "I18n", + "data-qa-file": "Services" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Fields_SpotifyAuthenticationFrame__WEBPACK_IMPORTED_MODULE_8__["default"], { + "data-qa-node": "SpotifyAuthenticationFrame", + "data-qa-file": "Services" + }), spotify.refreshing_token ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + className: "button button--default button--working", + "data-qa-node": "a", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_19__["I18n"], { + path: "settings.services.refresh_token", + "data-qa-node": "I18n", + "data-qa-file": "Services" + })) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + className: "button button--default", + onClick: function onClick() { + return spotifyActions.refreshingToken(); + }, + "data-qa-node": "a", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_19__["I18n"], { + path: "settings.services.refresh_token", + "data-qa-node": "I18n", + "data-qa-file": "Services" + }))))); } }, { - key: 'renderLastfm', + key: "renderLastfm", value: function renderLastfm() { - var user_object = this.props.lastfm.me ? this.props.core.users['lastfm:user:' + this.props.lastfm.me.name] : null; + var user_object = this.props.lastfm.me ? this.props.core.users["lastfm:user:".concat(this.props.lastfm.me.name)] : null; + if (user_object) { - var user = _react2.default.createElement( - 'span', - { className: 'user' }, - _react2.default.createElement(_Thumbnail2.default, { circle: true, size: 'small', images: user_object.images }), - _react2.default.createElement( - 'span', - { className: 'user-name' }, - user_object.name - ) - ); + var user = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "user", + "data-qa-node": "span", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Thumbnail__WEBPACK_IMPORTED_MODULE_4__["default"], { + circle: true, + size: "small", + images: user_object.images, + "data-qa-node": "Thumbnail", + "data-qa-file": "Services" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "user-name", + "data-qa-node": "span", + "data-qa-file": "Services" + }, user_object.name)); } else { - var user = _react2.default.createElement( - 'span', - { className: 'user' }, - _react2.default.createElement(_Thumbnail2.default, { circle: true, size: 'small' }), - _react2.default.createElement( - 'span', - { className: 'user-name' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.services.unknown' }) - ) - ); + var user = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "user", + "data-qa-node": "span", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Thumbnail__WEBPACK_IMPORTED_MODULE_4__["default"], { + circle: true, + size: "small", + "data-qa-node": "Thumbnail", + "data-qa-file": "Services" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "user-name", + "data-qa-node": "span", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_19__["I18n"], { + path: "settings.services.unknown", + "data-qa-node": "I18n", + "data-qa-file": "Services" + }))); } - return _react2.default.createElement( - 'div', - null, - this.props.lastfm.authorization ? _react2.default.createElement( - 'div', - { className: 'field current-user' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.services.current_user' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement( - 'div', - { className: 'text' }, - user - ) - ) - ) : null, - _react2.default.createElement( - 'div', - { className: 'field' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.services.authorization' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement(_LastfmAuthenticationFrame2.default, null) - ) - ) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + "data-qa-node": "div", + "data-qa-file": "Services" + }, this.props.lastfm.authorization ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field current-user", + "data-qa-node": "div", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_19__["I18n"], { + path: "settings.services.current_user", + "data-qa-node": "I18n", + "data-qa-file": "Services" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "text", + "data-qa-node": "div", + "data-qa-file": "Services" + }, user))) : null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field", + "data-qa-node": "div", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_19__["I18n"], { + path: "settings.services.authorization", + "data-qa-node": "I18n", + "data-qa-file": "Services" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Fields_LastfmAuthenticationFrame__WEBPACK_IMPORTED_MODULE_9__["default"], { + "data-qa-node": "LastfmAuthenticationFrame", + "data-qa-file": "Services" + })))); } }, { - key: 'renderGenius', + key: "renderGenius", value: function renderGenius() { var user_object = this.props.genius.me ? this.props.core.users[this.props.genius.me.uri] : null; + if (user_object) { - var user = _react2.default.createElement( - 'span', - { className: 'user' }, - _react2.default.createElement(_Thumbnail2.default, { circle: true, size: 'small', images: user_object.images }), - _react2.default.createElement( - 'span', - { className: 'user-name' }, - user_object.name - ) - ); + var user = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "user", + "data-qa-node": "span", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Thumbnail__WEBPACK_IMPORTED_MODULE_4__["default"], { + circle: true, + size: "small", + images: user_object.images, + "data-qa-node": "Thumbnail", + "data-qa-file": "Services" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "user-name", + "data-qa-node": "span", + "data-qa-file": "Services" + }, user_object.name)); } else { - var user = _react2.default.createElement( - 'span', - { className: 'user' }, - _react2.default.createElement(_Thumbnail2.default, { circle: true, size: 'small' }), - _react2.default.createElement( - 'span', - { className: 'user-name' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.services.unknown' }) - ) - ); + var user = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "user", + "data-qa-node": "span", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Thumbnail__WEBPACK_IMPORTED_MODULE_4__["default"], { + circle: true, + size: "small", + "data-qa-node": "Thumbnail", + "data-qa-file": "Services" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "user-name", + "data-qa-node": "span", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_19__["I18n"], { + path: "settings.services.unknown", + "data-qa-node": "I18n", + "data-qa-file": "Services" + }))); } - return _react2.default.createElement( - 'div', - null, - this.props.genius.authorization ? _react2.default.createElement( - 'div', - { className: 'field current-user' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.services.current_user' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement( - 'div', - { className: 'text' }, - user - ) - ) - ) : null, - _react2.default.createElement( - 'div', - { className: 'field' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.services.authorization' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement(_GeniusAuthenticationFrame2.default, null) - ) - ) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + "data-qa-node": "div", + "data-qa-file": "Services" + }, this.props.genius.authorization ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field current-user", + "data-qa-node": "div", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_19__["I18n"], { + path: "settings.services.current_user", + "data-qa-node": "I18n", + "data-qa-file": "Services" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "text", + "data-qa-node": "div", + "data-qa-file": "Services" + }, user))) : null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field", + "data-qa-node": "div", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_19__["I18n"], { + path: "settings.services.authorization", + "data-qa-node": "I18n", + "data-qa-file": "Services" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Fields_GeniusAuthenticationFrame__WEBPACK_IMPORTED_MODULE_10__["default"], { + "data-qa-node": "GeniusAuthenticationFrame", + "data-qa-file": "Services" + })))); } }, { - key: 'renderIcecast', + key: "renderIcecast", value: function renderIcecast() { - var _props2 = this.props, - core = _props2.core, - coreActions = _props2.coreActions; - - return _react2.default.createElement( - 'div', - null, - _react2.default.createElement( - 'div', - { className: 'field checkbox' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.services.icecast.enable.label' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement( - 'label', - null, - _react2.default.createElement('input', { - type: 'checkbox', - name: 'ssl', - checked: core.http_streaming_enabled, - onChange: function onChange() { - return coreActions.set({ http_streaming_enabled: !core.http_streaming_enabled }); - } - }), - _react2.default.createElement( - 'span', - { className: 'label' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.services.icecast.enable.description' }) - ) - ) - ) - ), - _react2.default.createElement( - 'label', - { className: 'field' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.services.icecast.location.label' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement(_TextField2.default, { - onChange: function onChange(value) { - return coreActions.set({ http_streaming_url: value }); - }, - value: core.http_streaming_url, - autosave: true - }), - _react2.default.createElement( - 'div', - { className: 'description' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.services.icecast.location.description' }) - ) - ) - ) - ); + var _this$props2 = this.props, + core = _this$props2.core, + coreActions = _this$props2.coreActions; + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + "data-qa-node": "div", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field checkbox", + "data-qa-node": "div", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_19__["I18n"], { + path: "settings.services.icecast.enable.label", + "data-qa-node": "I18n", + "data-qa-file": "Services" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { + "data-qa-node": "label", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { + type: "checkbox", + name: "ssl", + checked: core.http_streaming_enabled, + onChange: function onChange() { + return coreActions.set({ + http_streaming_enabled: !core.http_streaming_enabled + }); + }, + "data-qa-node": "input", + "data-qa-file": "Services" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "label", + "data-qa-node": "span", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_19__["I18n"], { + path: "settings.services.icecast.enable.description", + "data-qa-node": "I18n", + "data-qa-file": "Services" + }))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { + className: "field", + "data-qa-node": "label", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_19__["I18n"], { + path: "settings.services.icecast.location.label", + "data-qa-node": "I18n", + "data-qa-file": "Services" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Fields_TextField__WEBPACK_IMPORTED_MODULE_7__["default"], { + onChange: function onChange(value) { + return coreActions.set({ + http_streaming_url: value + }); + }, + value: core.http_streaming_url, + autosave: true, + "data-qa-node": "TextField", + "data-qa-file": "Services" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "description", + "data-qa-node": "div", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_19__["I18n"], { + path: "settings.services.icecast.location.description", + "data-qa-node": "I18n", + "data-qa-file": "Services" + }))))); } }, { - key: 'renderMenu', + key: "renderMenu", value: function renderMenu() { if (this.props.spotify.me && this.props.core.users[this.props.spotify.me.uri]) { - var spotify_icon = _react2.default.createElement(_Thumbnail2.default, { className: 'menu-item__thumbnail', circle: true, size: 'small', images: this.props.core.users[this.props.spotify.me.uri].images }); + var spotify_icon = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Thumbnail__WEBPACK_IMPORTED_MODULE_4__["default"], { + className: "menu-item__thumbnail", + circle: true, + size: "small", + images: this.props.core.users[this.props.spotify.me.uri].images, + "data-qa-node": "Thumbnail", + "data-qa-file": "Services" + }); } else { - var spotify_icon = _react2.default.createElement(_Thumbnail2.default, { className: 'menu-item__thumbnail', circle: true, size: 'small' }); + var spotify_icon = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Thumbnail__WEBPACK_IMPORTED_MODULE_4__["default"], { + className: "menu-item__thumbnail", + circle: true, + size: "small", + "data-qa-node": "Thumbnail", + "data-qa-file": "Services" + }); } if (this.props.lastfm.me && this.props.core.users[this.props.lastfm.me.uri]) { - var lastfm_icon = _react2.default.createElement(_Thumbnail2.default, { className: 'menu-item__thumbnail', circle: true, size: 'small', images: this.props.core.users[this.props.lastfm.me.uri].images }); + var lastfm_icon = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Thumbnail__WEBPACK_IMPORTED_MODULE_4__["default"], { + className: "menu-item__thumbnail", + circle: true, + size: "small", + images: this.props.core.users[this.props.lastfm.me.uri].images, + "data-qa-node": "Thumbnail", + "data-qa-file": "Services" + }); } else { - var lastfm_icon = _react2.default.createElement(_Icon2.default, { type: 'fontawesome', name: 'lastfm', className: 'menu-item__icon' }); + var lastfm_icon = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_5__["default"], { + type: "fontawesome", + name: "lastfm", + className: "menu-item__icon", + "data-qa-node": "Icon", + "data-qa-file": "Services" + }); } if (this.props.genius.me && this.props.core.users[this.props.genius.me.uri]) { - var genius_icon = _react2.default.createElement(_Thumbnail2.default, { className: 'menu-item__thumbnail', circle: true, size: 'small', images: this.props.core.users[this.props.genius.me.uri].images }); + var genius_icon = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Thumbnail__WEBPACK_IMPORTED_MODULE_4__["default"], { + className: "menu-item__thumbnail", + circle: true, + size: "small", + images: this.props.core.users[this.props.genius.me.uri].images, + "data-qa-node": "Thumbnail", + "data-qa-file": "Services" + }); } else { - var genius_icon = _react2.default.createElement(_Icon2.default, { name: 'genius', type: 'svg', className: 'menu-item__icon' }); + var genius_icon = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_5__["default"], { + name: "genius", + type: "svg", + className: "menu-item__icon", + "data-qa-node": "Icon", + "data-qa-file": "Services" + }); } - return _react2.default.createElement( - 'div', - { className: 'sub-tabs__menu menu', id: 'services-menu' }, - _react2.default.createElement( - 'div', - { className: 'menu__inner' }, - _react2.default.createElement( - _Link2.default, - { history: this.props.history, className: 'menu-item menu-item--spotify', activeClassName: 'menu-item--active', to: '/settings/services/spotify', scrollTo: '#services-menu' }, - _react2.default.createElement( - 'div', - { className: 'menu-item__inner' }, - spotify_icon, - _react2.default.createElement( - 'div', - { className: 'menu-item__title' }, - _react2.default.createElement(_locale.I18n, { path: 'services.spotify.title' }) - ), - this.props.spotify.authorization ? _react2.default.createElement( - 'span', - { className: 'status green-text' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.services.authorized' }) - ) : _react2.default.createElement( - 'span', - { className: 'status mid_grey-text' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.services.read_only' }) - ) - ) - ), - _react2.default.createElement( - _Link2.default, - { history: this.props.history, className: 'menu-item menu-item--lastfm', activeClassName: 'menu-item--active', to: '/settings/services/lastfm', scrollTo: '#services-menu' }, - _react2.default.createElement( - 'div', - { className: 'menu-item__inner' }, - lastfm_icon, - _react2.default.createElement( - 'div', - { className: 'menu-item__title' }, - _react2.default.createElement(_locale.I18n, { path: 'services.lastfm.title' }) - ), - this.props.lastfm.authorization ? _react2.default.createElement( - 'span', - { className: 'status green-text' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.services.authorized' }) - ) : _react2.default.createElement( - 'span', - { className: 'status mid_grey-text' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.services.read_only' }) - ) - ) - ), - _react2.default.createElement( - _Link2.default, - { history: this.props.history, className: 'menu-item menu-item--genius', activeClassName: 'menu-item--active', to: '/settings/services/genius', scrollTo: '#services-menu' }, - _react2.default.createElement( - 'div', - { className: 'menu-item__inner' }, - genius_icon, - _react2.default.createElement( - 'div', - { className: 'menu-item__title' }, - _react2.default.createElement(_locale.I18n, { path: 'services.genius.title' }) - ), - this.props.genius.authorization ? _react2.default.createElement( - 'span', - { className: 'status green-text' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.services.authorized' }) - ) : _react2.default.createElement( - 'span', - { className: 'status mid_grey-text' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.services.unauthorized' }) - ) - ) - ), - _react2.default.createElement( - _Link2.default, - { history: this.props.history, className: 'menu-item menu-item--snapcast', activeClassName: 'menu-item--active', to: '/settings/services/snapcast', scrollTo: '#services-menu' }, - _react2.default.createElement( - 'div', - { className: 'menu-item__inner' }, - _react2.default.createElement(_Icon2.default, { className: 'menu-item__icon', name: 'devices' }), - _react2.default.createElement( - 'div', - { className: 'menu-item__title' }, - _react2.default.createElement(_locale.I18n, { path: 'services.snapcast.title' }) - ), - !this.props.snapcast.enabled && _react2.default.createElement( - 'span', - { className: 'status mid_grey-text' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.services.disabled' }) - ), - this.props.snapcast.enabled && !this.props.snapcast.connected && _react2.default.createElement( - 'span', - { className: 'status red-text' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.services.disconnected' }) - ), - this.props.snapcast.enabled && this.props.snapcast.connected && _react2.default.createElement( - 'span', - { className: 'status green-text' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.services.connected' }) - ) - ) - ), - _react2.default.createElement( - _Link2.default, - { history: this.props.history, className: 'menu-item menu-item--icecast', activeClassName: 'menu-item--active', to: '/settings/services/icecast', scrollTo: '#services-menu' }, - _react2.default.createElement( - 'div', - { className: 'menu-item__inner' }, - _react2.default.createElement(_Icon2.default, { className: 'menu-item__icon', name: 'wifi_tethering' }), - _react2.default.createElement( - 'div', - { className: 'menu-item__title' }, - _react2.default.createElement(_locale.I18n, { path: 'services.icecast.title' }) - ), - this.props.core.http_streaming_enabled ? _react2.default.createElement( - 'span', - { className: 'status green-text' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.services.enabled' }) - ) : _react2.default.createElement( - 'span', - { className: 'status mid_grey-text' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.services.disabled' }) - ) - ) - ) - ) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "sub-tabs__menu menu", + id: "services-menu", + "data-qa-node": "div", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "menu__inner", + "data-qa-node": "div", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Link__WEBPACK_IMPORTED_MODULE_3__["default"], { + history: this.props.history, + className: "menu-item menu-item--spotify", + activeClassName: "menu-item--active", + to: "/settings/services/spotify", + scrollTo: "#services-menu", + "data-qa-node": "Link", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "menu-item__inner", + "data-qa-node": "div", + "data-qa-file": "Services" + }, spotify_icon, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "menu-item__title", + "data-qa-node": "div", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_19__["I18n"], { + path: "services.spotify.title", + "data-qa-node": "I18n", + "data-qa-file": "Services" + })), this.props.spotify.authorization ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "status green-text", + "data-qa-node": "span", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_19__["I18n"], { + path: "settings.services.authorized", + "data-qa-node": "I18n", + "data-qa-file": "Services" + })) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "status mid_grey-text", + "data-qa-node": "span", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_19__["I18n"], { + path: "settings.services.read_only", + "data-qa-node": "I18n", + "data-qa-file": "Services" + })))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Link__WEBPACK_IMPORTED_MODULE_3__["default"], { + history: this.props.history, + className: "menu-item menu-item--lastfm", + activeClassName: "menu-item--active", + to: "/settings/services/lastfm", + scrollTo: "#services-menu", + "data-qa-node": "Link", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "menu-item__inner", + "data-qa-node": "div", + "data-qa-file": "Services" + }, lastfm_icon, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "menu-item__title", + "data-qa-node": "div", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_19__["I18n"], { + path: "services.lastfm.title", + "data-qa-node": "I18n", + "data-qa-file": "Services" + })), this.props.lastfm.authorization ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "status green-text", + "data-qa-node": "span", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_19__["I18n"], { + path: "settings.services.authorized", + "data-qa-node": "I18n", + "data-qa-file": "Services" + })) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "status mid_grey-text", + "data-qa-node": "span", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_19__["I18n"], { + path: "settings.services.read_only", + "data-qa-node": "I18n", + "data-qa-file": "Services" + })))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Link__WEBPACK_IMPORTED_MODULE_3__["default"], { + history: this.props.history, + className: "menu-item menu-item--genius", + activeClassName: "menu-item--active", + to: "/settings/services/genius", + scrollTo: "#services-menu", + "data-qa-node": "Link", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "menu-item__inner", + "data-qa-node": "div", + "data-qa-file": "Services" + }, genius_icon, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "menu-item__title", + "data-qa-node": "div", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_19__["I18n"], { + path: "services.genius.title", + "data-qa-node": "I18n", + "data-qa-file": "Services" + })), this.props.genius.authorization ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "status green-text", + "data-qa-node": "span", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_19__["I18n"], { + path: "settings.services.authorized", + "data-qa-node": "I18n", + "data-qa-file": "Services" + })) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "status mid_grey-text", + "data-qa-node": "span", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_19__["I18n"], { + path: "settings.services.unauthorized", + "data-qa-node": "I18n", + "data-qa-file": "Services" + })))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Link__WEBPACK_IMPORTED_MODULE_3__["default"], { + history: this.props.history, + className: "menu-item menu-item--snapcast", + activeClassName: "menu-item--active", + to: "/settings/services/snapcast", + scrollTo: "#services-menu", + "data-qa-node": "Link", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "menu-item__inner", + "data-qa-node": "div", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_5__["default"], { + className: "menu-item__icon", + name: "devices", + "data-qa-node": "Icon", + "data-qa-file": "Services" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "menu-item__title", + "data-qa-node": "div", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_19__["I18n"], { + path: "services.snapcast.title", + "data-qa-node": "I18n", + "data-qa-file": "Services" + })), !this.props.snapcast.enabled && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "status mid_grey-text", + "data-qa-node": "span", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_19__["I18n"], { + path: "settings.services.disabled", + "data-qa-node": "I18n", + "data-qa-file": "Services" + })), this.props.snapcast.enabled && !this.props.snapcast.connected && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "status red-text", + "data-qa-node": "span", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_19__["I18n"], { + path: "settings.services.disconnected", + "data-qa-node": "I18n", + "data-qa-file": "Services" + })), this.props.snapcast.enabled && this.props.snapcast.connected && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "status green-text", + "data-qa-node": "span", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_19__["I18n"], { + path: "settings.services.connected", + "data-qa-node": "I18n", + "data-qa-file": "Services" + })))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Link__WEBPACK_IMPORTED_MODULE_3__["default"], { + history: this.props.history, + className: "menu-item menu-item--icecast", + activeClassName: "menu-item--active", + to: "/settings/services/icecast", + scrollTo: "#services-menu", + "data-qa-node": "Link", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "menu-item__inner", + "data-qa-node": "div", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_5__["default"], { + className: "menu-item__icon", + name: "wifi_tethering", + "data-qa-node": "Icon", + "data-qa-file": "Services" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "menu-item__title", + "data-qa-node": "div", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_19__["I18n"], { + path: "services.icecast.title", + "data-qa-node": "I18n", + "data-qa-file": "Services" + })), this.props.core.http_streaming_enabled ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "status green-text", + "data-qa-node": "span", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_19__["I18n"], { + path: "settings.services.enabled", + "data-qa-node": "I18n", + "data-qa-file": "Services" + })) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "status mid_grey-text", + "data-qa-node": "span", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_19__["I18n"], { + path: "settings.services.disabled", + "data-qa-node": "I18n", + "data-qa-file": "Services" + })))))); } }, { - key: 'renderService', + key: "renderService", value: function renderService() { var match = this.props.match; switch (match.params.service) { case 'spotify': - return _react2.default.createElement( - 'div', - { className: 'sub-tabs__content' }, - this.renderSpotify() - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "sub-tabs__content", + "data-qa-node": "div", + "data-qa-file": "Services" + }, this.renderSpotify()); + case 'lastfm': - return _react2.default.createElement( - 'div', - { className: 'sub-tabs__content' }, - this.renderLastfm() - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "sub-tabs__content", + "data-qa-node": "div", + "data-qa-file": "Services" + }, this.renderLastfm()); + case 'genius': - return _react2.default.createElement( - 'div', - { className: 'sub-tabs__content' }, - this.renderGenius() - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "sub-tabs__content", + "data-qa-node": "div", + "data-qa-file": "Services" + }, this.renderGenius()); + case 'icecast': - return _react2.default.createElement( - 'div', - { className: 'sub-tabs__content' }, - this.renderIcecast() - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "sub-tabs__content", + "data-qa-node": "div", + "data-qa-file": "Services" + }, this.renderIcecast()); + case 'snapcast': - return _react2.default.createElement( - 'div', - { className: 'sub-tabs__content' }, - _react2.default.createElement(_Snapcast2.default, { match: this.props.match }) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "sub-tabs__content", + "data-qa-node": "div", + "data-qa-file": "Services" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Snapcast__WEBPACK_IMPORTED_MODULE_11__["default"], { + match: this.props.match, + "data-qa-node": "Snapcast", + "data-qa-file": "Services" + })); + default: return null; } } }, { - key: 'render', + key: "render", value: function render() { - return _react2.default.createElement( - 'div', - { className: 'sub-tabs sub-tabs--services' }, - this.renderMenu(), - this.renderService() - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "sub-tabs sub-tabs--services", + "data-qa-node": "div", + "data-qa-file": "Services" + }, this.renderMenu(), this.renderService()); } }], [{ - key: 'getDerivedStateFromProps', + key: "getDerivedStateFromProps", value: function getDerivedStateFromProps(props, state) { var changed = false; var changes = {}; @@ -95029,6 +96303,7 @@ var Services = function (_React$Component) { changed = true; changes.country = props.spotify.country; } + if (props.spotify.locale !== state.locale && state.input_in_focus !== 'locale') { changed = true; changes.locale = props.spotify.locale; @@ -95040,7 +96315,7 @@ var Services = function (_React$Component) { }]); return Services; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); var mapStateToProps = function mapStateToProps(state, ownProps) { return state; @@ -95048,17 +96323,17 @@ var mapStateToProps = function mapStateToProps(state, ownProps) { var mapDispatchToProps = function mapDispatchToProps(dispatch) { return { - coreActions: (0, _redux.bindActionCreators)(coreActions, dispatch), - uiActions: (0, _redux.bindActionCreators)(uiActions, dispatch), - pusherActions: (0, _redux.bindActionCreators)(pusherActions, dispatch), - mopidyActions: (0, _redux.bindActionCreators)(mopidyActions, dispatch), - spotifyActions: (0, _redux.bindActionCreators)(spotifyActions, dispatch), - lastfmActions: (0, _redux.bindActionCreators)(lastfmActions, dispatch), - geniusActions: (0, _redux.bindActionCreators)(geniusActions, dispatch) + coreActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_core_actions__WEBPACK_IMPORTED_MODULE_13__, dispatch), + uiActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_ui_actions__WEBPACK_IMPORTED_MODULE_12__, dispatch), + pusherActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_pusher_actions__WEBPACK_IMPORTED_MODULE_15__, dispatch), + mopidyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_mopidy_actions__WEBPACK_IMPORTED_MODULE_14__, dispatch), + spotifyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_spotify_actions__WEBPACK_IMPORTED_MODULE_16__, dispatch), + lastfmActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_lastfm_actions__WEBPACK_IMPORTED_MODULE_17__, dispatch), + geniusActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_genius_actions__WEBPACK_IMPORTED_MODULE_18__, dispatch) }; }; -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(Services); +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapStateToProps, mapDispatchToProps)(Services)); /***/ }), @@ -95066,275 +96341,445 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)( /*!**************************************!*\ !*** ./src/js/components/Sidebar.js ***! \**************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); - -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); - -var _reactRouter = __webpack_require__(/*! react-router */ "./node_modules/react-router/esm/react-router.js"); - -var _Link = __webpack_require__(/*! ./Link */ "./src/js/components/Link.js"); - -var _Link2 = _interopRequireDefault(_Link); - -var _Icon = __webpack_require__(/*! ./Icon */ "./src/js/components/Icon.js"); - -var _Icon2 = _interopRequireDefault(_Icon); - -var _Dropzones = __webpack_require__(/*! ./Fields/Dropzones */ "./src/js/components/Fields/Dropzones.js"); - -var _Dropzones2 = _interopRequireDefault(_Dropzones); - -var _actions = __webpack_require__(/*! ../services/ui/actions */ "./src/js/services/ui/actions.js"); - -var uiActions = _interopRequireWildcard(_actions); - -var _actions2 = __webpack_require__(/*! ../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); - -var mopidyActions = _interopRequireWildcard(_actions2); - -var _locale = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js"); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var react_router__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-router */ "./node_modules/react-router/esm/react-router.js"); +/* harmony import */ var _Link__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Link */ "./src/js/components/Link.js"); +/* harmony import */ var _Icon__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Icon */ "./src/js/components/Icon.js"); +/* harmony import */ var _Fields_Dropzones__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Fields/Dropzones */ "./src/js/components/Fields/Dropzones.js"); +/* harmony import */ var _services_ui_actions__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../services/ui/actions */ "./src/js/services/ui/actions.js"); +/* harmony import */ var _services_mopidy_actions__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); +/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -var Sidebar = function (_React$Component) { +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _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; } + + + + + + + + + + + + +var Sidebar = /*#__PURE__*/function (_React$Component) { _inherits(Sidebar, _React$Component); - function Sidebar() { - var _ref; + var _super = _createSuper(Sidebar); - var _temp, _this, _ret; + function Sidebar() { + var _this; _classCallCheck(this, Sidebar); - for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } - return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Sidebar.__proto__ || Object.getPrototypeOf(Sidebar)).call.apply(_ref, [this].concat(args))), _this), _this.closeSidebar = function () { - return uiActions.toggleSidebar(false); - }, _temp), _possibleConstructorReturn(_this, _ret); + _this = _super.call.apply(_super, [this].concat(args)); + + _defineProperty(_assertThisInitialized(_this), "closeSidebar", function () { + return _services_ui_actions__WEBPACK_IMPORTED_MODULE_7__["toggleSidebar"](false); + }); + + return _this; } _createClass(Sidebar, [{ - key: 'renderStatusIcon', + key: "renderStatusIcon", value: function renderStatusIcon() { - var _props = this.props, - update_available = _props.update_available, - mopidy_connected = _props.mopidy_connected, - pusher_connected = _props.pusher_connected, - snapcast_connected = _props.snapcast_connected, - snapcast_enabled = _props.snapcast_enabled; + var _this$props = this.props, + update_available = _this$props.update_available, + mopidy_connected = _this$props.mopidy_connected, + pusher_connected = _this$props.pusher_connected, + snapcast_connected = _this$props.snapcast_connected, + snapcast_enabled = _this$props.snapcast_enabled; if (update_available) { - return _react2.default.createElement( - 'span', - { className: 'status tooltip tooltip--right' }, - _react2.default.createElement(_Icon2.default, { name: 'cloud_download', className: 'green-text' }), - _react2.default.createElement( - 'span', - { className: 'tooltip__content' }, - _react2.default.createElement(_locale.I18n, { path: 'sidebar.update_available' }) - ) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "status tooltip tooltip--right", + "data-qa-node": "span", + "data-qa-file": "Sidebar" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_5__["default"], { + name: "cloud_download", + className: "green-text", + "data-qa-node": "Icon", + "data-qa-file": "Sidebar" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "tooltip__content", + "data-qa-node": "span", + "data-qa-file": "Sidebar" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_9__["I18n"], { + path: "sidebar.update_available", + "data-qa-node": "I18n", + "data-qa-file": "Sidebar" + }))); } if (!navigator.onLine) { - return _react2.default.createElement( - 'span', - { className: 'status tooltip tooltip--right' }, - _react2.default.createElement(_Icon2.default, { name: 'wifi_off', className: 'red-text' }), - _react2.default.createElement( - 'span', - { className: 'tooltip__content' }, - _react2.default.createElement(_locale.I18n, { path: 'sidebar.browser_offline' }) - ) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "status tooltip tooltip--right", + "data-qa-node": "span", + "data-qa-file": "Sidebar" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_5__["default"], { + name: "wifi_off", + className: "red-text", + "data-qa-node": "Icon", + "data-qa-file": "Sidebar" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "tooltip__content", + "data-qa-node": "span", + "data-qa-file": "Sidebar" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_9__["I18n"], { + path: "sidebar.browser_offline", + "data-qa-node": "I18n", + "data-qa-file": "Sidebar" + }))); } if (!mopidy_connected || !pusher_connected || !snapcast_connected && snapcast_enabled) { - return _react2.default.createElement( - 'span', - { className: 'status tooltip tooltip--right' }, - _react2.default.createElement(_Icon2.default, { name: 'warning', className: 'red-text' }), - _react2.default.createElement( - 'span', - { className: 'tooltip__content' }, - !mopidy_connected && _react2.default.createElement( - _locale.I18n, - { path: 'sidebar.not_connected', params: { name: 'Mopidy' }, contentAfter: true }, - _react2.default.createElement('br', null) - ), - !pusher_connected && _react2.default.createElement( - _locale.I18n, - { path: 'sidebar.not_connected', params: { name: 'Pusher' }, contentAfter: true }, - _react2.default.createElement('br', null) - ), - !snapcast_connected && snapcast_enabled && _react2.default.createElement( - _locale.I18n, - { path: 'sidebar.not_connected', params: { name: 'Snapcast' }, contentAfter: true }, - _react2.default.createElement('br', null) - ) - ) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "status tooltip tooltip--right", + "data-qa-node": "span", + "data-qa-file": "Sidebar" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_5__["default"], { + name: "warning", + className: "red-text", + "data-qa-node": "Icon", + "data-qa-file": "Sidebar" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "tooltip__content", + "data-qa-node": "span", + "data-qa-file": "Sidebar" + }, !mopidy_connected && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_9__["I18n"], { + path: "sidebar.not_connected", + params: { + name: 'Mopidy' + }, + contentAfter: true, + "data-qa-node": "I18n", + "data-qa-file": "Sidebar" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("br", { + "data-qa-node": "br", + "data-qa-file": "Sidebar" + })), !pusher_connected && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_9__["I18n"], { + path: "sidebar.not_connected", + params: { + name: 'Pusher' + }, + contentAfter: true, + "data-qa-node": "I18n", + "data-qa-file": "Sidebar" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("br", { + "data-qa-node": "br", + "data-qa-file": "Sidebar" + })), !snapcast_connected && snapcast_enabled && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_9__["I18n"], { + path: "sidebar.not_connected", + params: { + name: 'Snapcast' + }, + contentAfter: true, + "data-qa-node": "I18n", + "data-qa-file": "Sidebar" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("br", { + "data-qa-node": "br", + "data-qa-file": "Sidebar" + })))); } return null; } }, { - key: 'render', + key: "render", value: function render() { - var _props2 = this.props, - history = _props2.history, - spotify_available = _props2.spotify_available, - uiActions = _props2.uiActions; - - - return _react2.default.createElement( - 'aside', - { className: 'sidebar' }, - _react2.default.createElement( - 'div', - { className: 'sidebar__liner' }, - _react2.default.createElement( - 'nav', - { className: 'sidebar__menu' }, - _react2.default.createElement( - 'section', - { className: 'sidebar__menu__section' }, - _react2.default.createElement( - _Link2.default, - { to: '/queue', history: history, className: 'sidebar__menu__item', activeClassName: 'sidebar__menu__item--active' }, - _react2.default.createElement(_Icon2.default, { name: 'play_arrow', type: 'material' }), - _react2.default.createElement(_locale.I18n, { path: 'sidebar.now_playing' }) - ), - _react2.default.createElement( - _Link2.default, - { to: '/search', history: history, className: 'sidebar__menu__item', activeClassName: 'sidebar__menu__item--active' }, - _react2.default.createElement(_Icon2.default, { name: 'search', type: 'material' }), - _react2.default.createElement(_locale.I18n, { path: 'sidebar.search' }) - ) - ), - spotify_available && _react2.default.createElement( - 'section', - { className: 'sidebar__menu__section' }, - _react2.default.createElement( - 'title', - { className: 'sidebar__menu__section__title' }, - _react2.default.createElement(_locale.I18n, { path: 'sidebar.discover' }) - ), - _react2.default.createElement( - _Link2.default, - { to: '/discover/recommendations', history: history, className: 'sidebar__menu__item', activeClassName: 'sidebar__menu__item--active' }, - _react2.default.createElement(_Icon2.default, { name: 'explore', type: 'material' }), - _react2.default.createElement(_locale.I18n, { path: 'sidebar.discover' }) - ), - _react2.default.createElement( - _Link2.default, - { to: '/discover/categories', history: history, className: 'sidebar__menu__item', activeClassName: 'sidebar__menu__item--active' }, - _react2.default.createElement(_Icon2.default, { name: 'mood', type: 'material' }), - _react2.default.createElement(_locale.I18n, { path: 'sidebar.genre' }) - ), - _react2.default.createElement( - _Link2.default, - { to: '/discover/featured', history: history, className: 'sidebar__menu__item', activeClassName: 'sidebar__menu__item--active' }, - _react2.default.createElement(_Icon2.default, { name: 'star', type: 'material' }), - _react2.default.createElement(_locale.I18n, { path: 'sidebar.featured_playlists' }) - ), - _react2.default.createElement( - _Link2.default, - { to: '/discover/new-releases', history: history, className: 'sidebar__menu__item', activeClassName: 'sidebar__menu__item--active' }, - _react2.default.createElement(_Icon2.default, { name: 'new_releases', type: 'material' }), - _react2.default.createElement(_locale.I18n, { path: 'sidebar.new_releases' }) - ) - ), - _react2.default.createElement( - 'section', - { className: 'sidebar__menu__section' }, - _react2.default.createElement( - 'title', - { className: 'sidebar__menu__section__title' }, - _react2.default.createElement(_locale.I18n, { path: 'sidebar.my_music' }) - ), - _react2.default.createElement( - _Link2.default, - { to: '/library/playlists', history: history, className: 'sidebar__menu__item', activeClassName: 'sidebar__menu__item--active' }, - _react2.default.createElement(_Icon2.default, { name: 'queue_music', type: 'material' }), - _react2.default.createElement(_locale.I18n, { path: 'sidebar.playlists' }) - ), - _react2.default.createElement( - _Link2.default, - { to: '/library/artists', history: history, className: 'sidebar__menu__item', activeClassName: 'sidebar__menu__item--active' }, - _react2.default.createElement(_Icon2.default, { name: 'recent_actors', type: 'material' }), - _react2.default.createElement(_locale.I18n, { path: 'sidebar.artists' }) - ), - _react2.default.createElement( - _Link2.default, - { to: '/library/albums', history: history, className: 'sidebar__menu__item', activeClassName: 'sidebar__menu__item--active' }, - _react2.default.createElement(_Icon2.default, { name: 'album', type: 'material' }), - _react2.default.createElement(_locale.I18n, { path: 'sidebar.albums' }) - ), - _react2.default.createElement( - _Link2.default, - { to: '/library/tracks', history: history, className: 'sidebar__menu__item', activeClassName: 'sidebar__menu__item--active' }, - _react2.default.createElement(_Icon2.default, { name: 'music_note', type: 'material' }), - _react2.default.createElement(_locale.I18n, { path: 'sidebar.tracks' }) - ), - _react2.default.createElement( - _Link2.default, - { to: '/library/browse', history: history, className: 'sidebar__menu__item', activeClassName: 'sidebar__menu__item--active' }, - _react2.default.createElement(_Icon2.default, { name: 'folder', type: 'material' }), - _react2.default.createElement(_locale.I18n, { path: 'sidebar.browse' }) - ) - ), - _react2.default.createElement( - 'section', - { className: 'sidebar__menu__section' }, - _react2.default.createElement( - _Link2.default, - { to: '/settings', history: history, className: 'sidebar__menu__item', activeClassName: 'sidebar__menu__item--active' }, - _react2.default.createElement(_Icon2.default, { name: 'settings', type: 'material' }), - _react2.default.createElement(_locale.I18n, { path: 'sidebar.settings' }), - this.renderStatusIcon() - ) - ) - ) - ), - _react2.default.createElement(_Dropzones2.default, null), - _react2.default.createElement( - 'div', - { className: 'close', onClick: this.closeSidebar }, - _react2.default.createElement(_Icon2.default, { name: 'close' }) - ) - ); + var _this$props2 = this.props, + history = _this$props2.history, + spotify_available = _this$props2.spotify_available, + uiActions = _this$props2.uiActions; + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("aside", { + className: "sidebar", + "data-qa-node": "aside", + "data-qa-file": "Sidebar" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "sidebar__liner", + "data-qa-node": "div", + "data-qa-file": "Sidebar" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("nav", { + className: "sidebar__menu", + "data-qa-node": "nav", + "data-qa-file": "Sidebar" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("section", { + className: "sidebar__menu__section", + "data-qa-node": "section", + "data-qa-file": "Sidebar" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Link__WEBPACK_IMPORTED_MODULE_4__["default"], { + to: "/queue", + history: history, + className: "sidebar__menu__item", + activeClassName: "sidebar__menu__item--active", + "data-qa-node": "Link", + "data-qa-file": "Sidebar" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_5__["default"], { + name: "play_arrow", + type: "material", + "data-qa-node": "Icon", + "data-qa-file": "Sidebar" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_9__["I18n"], { + path: "sidebar.now_playing", + "data-qa-node": "I18n", + "data-qa-file": "Sidebar" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Link__WEBPACK_IMPORTED_MODULE_4__["default"], { + to: "/search", + history: history, + className: "sidebar__menu__item", + activeClassName: "sidebar__menu__item--active", + "data-qa-node": "Link", + "data-qa-file": "Sidebar" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_5__["default"], { + name: "search", + type: "material", + "data-qa-node": "Icon", + "data-qa-file": "Sidebar" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_9__["I18n"], { + path: "sidebar.search", + "data-qa-node": "I18n", + "data-qa-file": "Sidebar" + }))), spotify_available && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("section", { + className: "sidebar__menu__section", + "data-qa-node": "section", + "data-qa-file": "Sidebar" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("title", { + className: "sidebar__menu__section__title", + "data-qa-node": "title", + "data-qa-file": "Sidebar" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_9__["I18n"], { + path: "sidebar.discover", + "data-qa-node": "I18n", + "data-qa-file": "Sidebar" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Link__WEBPACK_IMPORTED_MODULE_4__["default"], { + to: "/discover/recommendations", + history: history, + className: "sidebar__menu__item", + activeClassName: "sidebar__menu__item--active", + "data-qa-node": "Link", + "data-qa-file": "Sidebar" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_5__["default"], { + name: "explore", + type: "material", + "data-qa-node": "Icon", + "data-qa-file": "Sidebar" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_9__["I18n"], { + path: "sidebar.discover", + "data-qa-node": "I18n", + "data-qa-file": "Sidebar" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Link__WEBPACK_IMPORTED_MODULE_4__["default"], { + to: "/discover/categories", + history: history, + className: "sidebar__menu__item", + activeClassName: "sidebar__menu__item--active", + "data-qa-node": "Link", + "data-qa-file": "Sidebar" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_5__["default"], { + name: "mood", + type: "material", + "data-qa-node": "Icon", + "data-qa-file": "Sidebar" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_9__["I18n"], { + path: "sidebar.genre", + "data-qa-node": "I18n", + "data-qa-file": "Sidebar" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Link__WEBPACK_IMPORTED_MODULE_4__["default"], { + to: "/discover/featured", + history: history, + className: "sidebar__menu__item", + activeClassName: "sidebar__menu__item--active", + "data-qa-node": "Link", + "data-qa-file": "Sidebar" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_5__["default"], { + name: "star", + type: "material", + "data-qa-node": "Icon", + "data-qa-file": "Sidebar" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_9__["I18n"], { + path: "sidebar.featured_playlists", + "data-qa-node": "I18n", + "data-qa-file": "Sidebar" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Link__WEBPACK_IMPORTED_MODULE_4__["default"], { + to: "/discover/new-releases", + history: history, + className: "sidebar__menu__item", + activeClassName: "sidebar__menu__item--active", + "data-qa-node": "Link", + "data-qa-file": "Sidebar" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_5__["default"], { + name: "new_releases", + type: "material", + "data-qa-node": "Icon", + "data-qa-file": "Sidebar" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_9__["I18n"], { + path: "sidebar.new_releases", + "data-qa-node": "I18n", + "data-qa-file": "Sidebar" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("section", { + className: "sidebar__menu__section", + "data-qa-node": "section", + "data-qa-file": "Sidebar" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("title", { + className: "sidebar__menu__section__title", + "data-qa-node": "title", + "data-qa-file": "Sidebar" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_9__["I18n"], { + path: "sidebar.my_music", + "data-qa-node": "I18n", + "data-qa-file": "Sidebar" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Link__WEBPACK_IMPORTED_MODULE_4__["default"], { + to: "/library/playlists", + history: history, + className: "sidebar__menu__item", + activeClassName: "sidebar__menu__item--active", + "data-qa-node": "Link", + "data-qa-file": "Sidebar" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_5__["default"], { + name: "queue_music", + type: "material", + "data-qa-node": "Icon", + "data-qa-file": "Sidebar" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_9__["I18n"], { + path: "sidebar.playlists", + "data-qa-node": "I18n", + "data-qa-file": "Sidebar" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Link__WEBPACK_IMPORTED_MODULE_4__["default"], { + to: "/library/artists", + history: history, + className: "sidebar__menu__item", + activeClassName: "sidebar__menu__item--active", + "data-qa-node": "Link", + "data-qa-file": "Sidebar" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_5__["default"], { + name: "recent_actors", + type: "material", + "data-qa-node": "Icon", + "data-qa-file": "Sidebar" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_9__["I18n"], { + path: "sidebar.artists", + "data-qa-node": "I18n", + "data-qa-file": "Sidebar" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Link__WEBPACK_IMPORTED_MODULE_4__["default"], { + to: "/library/albums", + history: history, + className: "sidebar__menu__item", + activeClassName: "sidebar__menu__item--active", + "data-qa-node": "Link", + "data-qa-file": "Sidebar" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_5__["default"], { + name: "album", + type: "material", + "data-qa-node": "Icon", + "data-qa-file": "Sidebar" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_9__["I18n"], { + path: "sidebar.albums", + "data-qa-node": "I18n", + "data-qa-file": "Sidebar" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Link__WEBPACK_IMPORTED_MODULE_4__["default"], { + to: "/library/tracks", + history: history, + className: "sidebar__menu__item", + activeClassName: "sidebar__menu__item--active", + "data-qa-node": "Link", + "data-qa-file": "Sidebar" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_5__["default"], { + name: "music_note", + type: "material", + "data-qa-node": "Icon", + "data-qa-file": "Sidebar" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_9__["I18n"], { + path: "sidebar.tracks", + "data-qa-node": "I18n", + "data-qa-file": "Sidebar" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Link__WEBPACK_IMPORTED_MODULE_4__["default"], { + to: "/library/browse", + history: history, + className: "sidebar__menu__item", + activeClassName: "sidebar__menu__item--active", + "data-qa-node": "Link", + "data-qa-file": "Sidebar" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_5__["default"], { + name: "folder", + type: "material", + "data-qa-node": "Icon", + "data-qa-file": "Sidebar" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_9__["I18n"], { + path: "sidebar.browse", + "data-qa-node": "I18n", + "data-qa-file": "Sidebar" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("section", { + className: "sidebar__menu__section", + "data-qa-node": "section", + "data-qa-file": "Sidebar" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Link__WEBPACK_IMPORTED_MODULE_4__["default"], { + to: "/settings", + history: history, + className: "sidebar__menu__item", + activeClassName: "sidebar__menu__item--active", + "data-qa-node": "Link", + "data-qa-file": "Sidebar" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_5__["default"], { + name: "settings", + type: "material", + "data-qa-node": "Icon", + "data-qa-file": "Sidebar" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_9__["I18n"], { + path: "sidebar.settings", + "data-qa-node": "I18n", + "data-qa-file": "Sidebar" + }), this.renderStatusIcon())))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Fields_Dropzones__WEBPACK_IMPORTED_MODULE_6__["default"], { + "data-qa-node": "Dropzones", + "data-qa-file": "Sidebar" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "close", + onClick: this.closeSidebar, + "data-qa-node": "div", + "data-qa-file": "Sidebar" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_5__["default"], { + name: "close", + "data-qa-node": "Icon", + "data-qa-file": "Sidebar" + }))); } }]); return Sidebar; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); var mapStateToProps = function mapStateToProps(state) { return { @@ -95352,12 +96797,12 @@ var mapStateToProps = function mapStateToProps(state) { var mapDispatchToProps = function mapDispatchToProps(dispatch) { return { - uiActions: (0, _redux.bindActionCreators)(uiActions, dispatch), - mopidyActions: (0, _redux.bindActionCreators)(mopidyActions, dispatch) + uiActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_ui_actions__WEBPACK_IMPORTED_MODULE_7__, dispatch), + mopidyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_mopidy_actions__WEBPACK_IMPORTED_MODULE_8__, dispatch) }; }; -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)((0, _reactRouter.withRouter)(Sidebar)); +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapStateToProps, mapDispatchToProps)(Object(react_router__WEBPACK_IMPORTED_MODULE_3__["withRouter"])(Sidebar))); /***/ }), @@ -95365,45 +96810,28 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)( /*!***************************************!*\ !*** ./src/js/components/Snapcast.js ***! \***************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var _Fields_TextField__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Fields/TextField */ "./src/js/components/Fields/TextField.js"); +/* harmony import */ var _SnapcastGroups__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./SnapcastGroups */ "./src/js/components/SnapcastGroups.js"); +/* harmony import */ var _services_ui_actions__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../services/ui/actions */ "./src/js/services/ui/actions.js"); +/* harmony import */ var _services_snapcast_actions__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../services/snapcast/actions */ "./src/js/services/snapcast/actions.js"); +/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js"); -Object.defineProperty(exports, "__esModule", { - value: true -}); -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); -var _react2 = _interopRequireDefault(_react); -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); -var _TextField = __webpack_require__(/*! ./Fields/TextField */ "./src/js/components/Fields/TextField.js"); -var _TextField2 = _interopRequireDefault(_TextField); - -var _SnapcastGroups = __webpack_require__(/*! ./SnapcastGroups */ "./src/js/components/SnapcastGroups.js"); - -var _SnapcastGroups2 = _interopRequireDefault(_SnapcastGroups); - -var _actions = __webpack_require__(/*! ../services/ui/actions */ "./src/js/services/ui/actions.js"); - -var uiActions = _interopRequireWildcard(_actions); - -var _actions2 = __webpack_require__(/*! ../services/snapcast/actions */ "./src/js/services/snapcast/actions.js"); - -var actions = _interopRequireWildcard(_actions2); - -var _locale = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js"); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var Snapcast = function Snapcast(props) { var actions = props.actions, @@ -95416,101 +96844,127 @@ var Snapcast = function Snapcast(props) { port = _props$snapcast.port, enabled = _props$snapcast.enabled, connected = _props$snapcast.connected; - - - return _react2.default.createElement( - 'div', - { className: 'snapcast' }, - _react2.default.createElement( - 'div', - { className: 'field checkbox' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'snapcast.enabled' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement( - 'label', - null, - _react2.default.createElement('input', { - type: 'checkbox', - name: 'enabled', - checked: enabled, - onChange: function onChange() { - return actions.setEnabled(!enabled); - } - }), - _react2.default.createElement( - 'span', - { className: 'label' }, - _react2.default.createElement(_locale.I18n, { path: 'snapcast.enabled' }) - ) - ), - _react2.default.createElement( - 'label', - null, - _react2.default.createElement('input', { - type: 'checkbox', - name: 'show_disconnected_clients', - checked: show_disconnected_clients, - onChange: function onChange() { - return uiActions.set({ snapcast_show_disconnected_clients: !show_disconnected_clients }); - } - }), - _react2.default.createElement( - 'span', - { className: 'label' }, - _react2.default.createElement(_locale.I18n, { path: 'snapcast.show_disconnected_clients' }) - ) - ) - ) - ), - _react2.default.createElement( - 'div', - { className: 'field' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'snapcast.host' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement(_TextField2.default, { - value: host, - onChange: function onChange(value) { - return actions.setConnection({ host: value }); - }, - autosave: true - }) - ) - ), - _react2.default.createElement( - 'div', - { className: 'field' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'snapcast.port' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement(_TextField2.default, { - value: port, - name: 'port', - onChange: function onChange(value) { - return actions.setConnection({ port: value }); - }, - autosave: true - }) - ) - ), - connected && enabled && _react2.default.createElement(_SnapcastGroups2.default, { match: match, history: history }) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "snapcast", + "data-qa-node": "div", + "data-qa-file": "Snapcast" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field checkbox", + "data-qa-node": "div", + "data-qa-file": "Snapcast" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "Snapcast" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_7__["I18n"], { + path: "snapcast.enabled", + "data-qa-node": "I18n", + "data-qa-file": "Snapcast" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "Snapcast" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { + "data-qa-node": "label", + "data-qa-file": "Snapcast" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { + type: "checkbox", + name: "enabled", + checked: enabled, + onChange: function onChange() { + return actions.setEnabled(!enabled); + }, + "data-qa-node": "input", + "data-qa-file": "Snapcast" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "label", + "data-qa-node": "span", + "data-qa-file": "Snapcast" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_7__["I18n"], { + path: "snapcast.enabled", + "data-qa-node": "I18n", + "data-qa-file": "Snapcast" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { + "data-qa-node": "label", + "data-qa-file": "Snapcast" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { + type: "checkbox", + name: "show_disconnected_clients", + checked: show_disconnected_clients, + onChange: function onChange() { + return uiActions.set({ + snapcast_show_disconnected_clients: !show_disconnected_clients + }); + }, + "data-qa-node": "input", + "data-qa-file": "Snapcast" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "label", + "data-qa-node": "span", + "data-qa-file": "Snapcast" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_7__["I18n"], { + path: "snapcast.show_disconnected_clients", + "data-qa-node": "I18n", + "data-qa-file": "Snapcast" + }))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field", + "data-qa-node": "div", + "data-qa-file": "Snapcast" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "Snapcast" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_7__["I18n"], { + path: "snapcast.host", + "data-qa-node": "I18n", + "data-qa-file": "Snapcast" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "Snapcast" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Fields_TextField__WEBPACK_IMPORTED_MODULE_3__["default"], { + value: host, + onChange: function onChange(value) { + return actions.setConnection({ + host: value + }); + }, + autosave: true, + "data-qa-node": "TextField", + "data-qa-file": "Snapcast" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field", + "data-qa-node": "div", + "data-qa-file": "Snapcast" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "Snapcast" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_7__["I18n"], { + path: "snapcast.port", + "data-qa-node": "I18n", + "data-qa-file": "Snapcast" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "Snapcast" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Fields_TextField__WEBPACK_IMPORTED_MODULE_3__["default"], { + value: port, + name: "port", + onChange: function onChange(value) { + return actions.setConnection({ + port: value + }); + }, + autosave: true, + "data-qa-node": "TextField", + "data-qa-file": "Snapcast" + }))), connected && enabled && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_SnapcastGroups__WEBPACK_IMPORTED_MODULE_4__["default"], { + match: match, + history: history, + "data-qa-node": "SnapcastGroups", + "data-qa-file": "Snapcast" + })); }; var mapStateToProps = function mapStateToProps(state, ownProps) { @@ -95522,12 +96976,12 @@ var mapStateToProps = function mapStateToProps(state, ownProps) { var mapDispatchToProps = function mapDispatchToProps(dispatch) { return { - actions: (0, _redux.bindActionCreators)(actions, dispatch), - uiActions: (0, _redux.bindActionCreators)(uiActions, dispatch) + actions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_snapcast_actions__WEBPACK_IMPORTED_MODULE_6__, dispatch), + uiActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_ui_actions__WEBPACK_IMPORTED_MODULE_5__, dispatch) }; }; -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(Snapcast); +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapStateToProps, mapDispatchToProps)(Snapcast)); /***/ }), @@ -95535,45 +96989,38 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)( /*!**********************************************!*\ !*** ./src/js/components/SnapcastClients.js ***! \**********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _Fields_VolumeControl__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Fields/VolumeControl */ "./src/js/components/Fields/VolumeControl.js"); +/* harmony import */ var _Fields_MuteControl__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Fields/MuteControl */ "./src/js/components/Fields/MuteControl.js"); +/* harmony import */ var _Fields_LatencyControl__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Fields/LatencyControl */ "./src/js/components/Fields/LatencyControl.js"); +/* harmony import */ var _Fields_TextField__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Fields/TextField */ "./src/js/components/Fields/TextField.js"); +/* harmony import */ var _Fields_SelectField__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Fields/SelectField */ "./src/js/components/Fields/SelectField.js"); +/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js"); +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } -Object.defineProperty(exports, "__esModule", { - value: true -}); -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); -var _react2 = _interopRequireDefault(_react); -var _VolumeControl = __webpack_require__(/*! ./Fields/VolumeControl */ "./src/js/components/Fields/VolumeControl.js"); -var _VolumeControl2 = _interopRequireDefault(_VolumeControl); -var _MuteControl = __webpack_require__(/*! ./Fields/MuteControl */ "./src/js/components/Fields/MuteControl.js"); -var _MuteControl2 = _interopRequireDefault(_MuteControl); - -var _LatencyControl = __webpack_require__(/*! ./Fields/LatencyControl */ "./src/js/components/Fields/LatencyControl.js"); - -var _LatencyControl2 = _interopRequireDefault(_LatencyControl); - -var _TextField = __webpack_require__(/*! ./Fields/TextField */ "./src/js/components/Fields/TextField.js"); - -var _TextField2 = _interopRequireDefault(_TextField); - -var _SelectField = __webpack_require__(/*! ./Fields/SelectField */ "./src/js/components/Fields/SelectField.js"); - -var _SelectField2 = _interopRequireDefault(_SelectField); - -var _locale = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js"); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } var SnapcastClients = function SnapcastClients(_ref) { var actions = _ref.actions, @@ -95582,134 +97029,155 @@ var SnapcastClients = function SnapcastClients(_ref) { groups = _ref.groups; if (!clients || clients.length <= 0) { - return _react2.default.createElement( - 'p', - { className: 'no-results' }, - _react2.default.createElement(_locale.I18n, { path: 'snapcast.no_connected_clients' }) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p", { + className: "no-results", + "data-qa-node": "p", + "data-qa-file": "SnapcastClients" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_6__["I18n"], { + path: "snapcast.no_connected_clients", + "data-qa-node": "I18n", + "data-qa-file": "SnapcastClients" + })); } - return _react2.default.createElement( - 'div', - { className: 'list snapcast__clients' }, - clients.map(function (client) { - var class_name = 'list__item list__item--no-interaction snapcast__client'; - if (client.connected) { - class_name += ' snapcast__client--connected'; - } else { - class_name += ' snapcast__client--disconnected'; - } + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "list snapcast__clients", + "data-qa-node": "div", + "data-qa-file": "SnapcastClients" + }, clients.map(function (client) { + var class_name = 'list__item list__item--no-interaction snapcast__client'; - return _react2.default.createElement( - 'div', - { className: class_name, key: client.id }, - _react2.default.createElement( - 'label', - { className: 'field field--condensed' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'snapcast.name' }), - !client.connected && ' (disconnected)' - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement(_TextField2.default, { - onChange: function onChange(value) { - return actions.setClientName(client.id, value); - }, - value: client.name, - autosave: true - }) - ) - ), - _react2.default.createElement( - 'label', - { className: 'field dropdown field--condensed' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'snapcast.group' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement(_SelectField2.default, { - onChange: function onChange(value) { - return actions.setClientGroup(client.id, value); - }, - value: group.id, - options: [].concat(_toConsumableArray(groups.map(function (group) { - return { - key: 'client_' + client.id + '_group_' + group.id, - value: group.id, - label: group.name - }; - })), [{ - key: 'client_' + client.id + '_new_group', - value: group.id, - label: (0, _locale.i18n)('snapcast.new_group') - }]), - autosave: true - }) - ) - ), - _react2.default.createElement( - 'div', - { className: 'snapcast__client__latency field field--condensed' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'snapcast.latency' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement(_LatencyControl2.default, { - max: '150', - value: client.latency, - onChange: function onChange(value) { - return actions.setClientLatency(client.id, parseInt(value)); - } - }), - _react2.default.createElement(_TextField2.default, { - className: 'tiny', - type: 'number', - onChange: function onChange(value) { - return actions.setClientLatency(client.id, parseInt(value)); - }, - value: String(client.latency), - autosave: true - }) - ) - ), - _react2.default.createElement( - 'div', - { className: 'snapcast__client__volume field field--condensed' }, - _react2.default.createElement(_VolumeControl2.default, { - className: 'snapcast__volume-control snapcast__client__volume-control', - volume: client.volume, - mute: client.mute, - vertical: true, - onVolumeChange: function onVolumeChange(percent) { - return actions.setClientVolume(client.id, percent, group.id); - } - }), - _react2.default.createElement(_MuteControl2.default, { - className: 'snapcast__mute-control snapcast__client__mute-control', - mute: client.mute, - onMuteChange: function onMuteChange(mute) { - return actions.setClientMute(client.id, mute); - } - }) - ) - ); - }) - ); + if (client.connected) { + class_name += ' snapcast__client--connected'; + } else { + class_name += ' snapcast__client--disconnected'; + } + + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: class_name, + key: client.id, + "data-qa-node": "div", + "data-qa-file": "SnapcastClients" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { + className: "field field--condensed", + "data-qa-node": "label", + "data-qa-file": "SnapcastClients" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "SnapcastClients" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_6__["I18n"], { + path: "snapcast.name", + "data-qa-node": "I18n", + "data-qa-file": "SnapcastClients" + }), !client.connected && ' (disconnected)'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "SnapcastClients" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Fields_TextField__WEBPACK_IMPORTED_MODULE_4__["default"], { + onChange: function onChange(value) { + return actions.setClientName(client.id, value); + }, + value: client.name, + autosave: true, + "data-qa-node": "TextField", + "data-qa-file": "SnapcastClients" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { + className: "field dropdown field--condensed", + "data-qa-node": "label", + "data-qa-file": "SnapcastClients" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "SnapcastClients" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_6__["I18n"], { + path: "snapcast.group", + "data-qa-node": "I18n", + "data-qa-file": "SnapcastClients" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "SnapcastClients" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Fields_SelectField__WEBPACK_IMPORTED_MODULE_5__["default"], { + onChange: function onChange(value) { + return actions.setClientGroup(client.id, value); + }, + value: group.id, + options: [].concat(_toConsumableArray(groups.map(function (group) { + return { + key: "client_".concat(client.id, "_group_").concat(group.id), + value: group.id, + label: group.name + }; + })), [{ + key: "client_".concat(client.id, "_new_group"), + value: group.id, + label: Object(_locale__WEBPACK_IMPORTED_MODULE_6__["i18n"])('snapcast.new_group') + }]), + autosave: true, + "data-qa-node": "SelectField", + "data-qa-file": "SnapcastClients" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "snapcast__client__latency field field--condensed", + "data-qa-node": "div", + "data-qa-file": "SnapcastClients" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "SnapcastClients" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_6__["I18n"], { + path: "snapcast.latency", + "data-qa-node": "I18n", + "data-qa-file": "SnapcastClients" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "SnapcastClients" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Fields_LatencyControl__WEBPACK_IMPORTED_MODULE_3__["default"], { + max: "150", + value: client.latency, + onChange: function onChange(value) { + return actions.setClientLatency(client.id, parseInt(value)); + }, + "data-qa-node": "LatencyControl", + "data-qa-file": "SnapcastClients" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Fields_TextField__WEBPACK_IMPORTED_MODULE_4__["default"], { + className: "tiny", + type: "number", + onChange: function onChange(value) { + return actions.setClientLatency(client.id, parseInt(value)); + }, + value: String(client.latency), + autosave: true, + "data-qa-node": "TextField", + "data-qa-file": "SnapcastClients" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "snapcast__client__volume field field--condensed", + "data-qa-node": "div", + "data-qa-file": "SnapcastClients" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Fields_VolumeControl__WEBPACK_IMPORTED_MODULE_1__["default"], { + className: "snapcast__volume-control snapcast__client__volume-control", + volume: client.volume, + mute: client.mute, + vertical: true, + onVolumeChange: function onVolumeChange(percent) { + return actions.setClientVolume(client.id, percent, group.id); + }, + "data-qa-node": "VolumeControl", + "data-qa-file": "SnapcastClients" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Fields_MuteControl__WEBPACK_IMPORTED_MODULE_2__["default"], { + className: "snapcast__mute-control snapcast__client__mute-control", + mute: client.mute, + onMuteChange: function onMuteChange(mute) { + return actions.setClientMute(client.id, mute); + }, + "data-qa-node": "MuteControl", + "data-qa-file": "SnapcastClients" + }))); + })); }; -exports.default = SnapcastClients; +/* harmony default export */ __webpack_exports__["default"] = (SnapcastClients); /***/ }), @@ -95717,67 +97185,42 @@ exports.default = SnapcastClients; /*!*********************************************!*\ !*** ./src/js/components/SnapcastGroups.js ***! \*********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var _util_format__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../util/format */ "./src/js/util/format.js"); +/* harmony import */ var _util_arrays__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../util/arrays */ "./src/js/util/arrays.js"); +/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../util/helpers */ "./src/js/util/helpers.js"); +/* harmony import */ var _Fields_VolumeControl__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Fields/VolumeControl */ "./src/js/components/Fields/VolumeControl.js"); +/* harmony import */ var _Fields_MuteControl__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Fields/MuteControl */ "./src/js/components/Fields/MuteControl.js"); +/* harmony import */ var _Fields_TextField__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Fields/TextField */ "./src/js/components/Fields/TextField.js"); +/* harmony import */ var _SnapcastClients__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./SnapcastClients */ "./src/js/components/SnapcastClients.js"); +/* harmony import */ var _Icon__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./Icon */ "./src/js/components/Icon.js"); +/* harmony import */ var _Link__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./Link */ "./src/js/components/Link.js"); +/* harmony import */ var _services_snapcast_actions__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../services/snapcast/actions */ "./src/js/services/snapcast/actions.js"); +/* harmony import */ var _Fields_SelectField__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./Fields/SelectField */ "./src/js/components/Fields/SelectField.js"); +/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js"); -Object.defineProperty(exports, "__esModule", { - value: true -}); -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); -var _react2 = _interopRequireDefault(_react); -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); -var _format = __webpack_require__(/*! ../util/format */ "./src/js/util/format.js"); -var _arrays = __webpack_require__(/*! ../util/arrays */ "./src/js/util/arrays.js"); -var _helpers = __webpack_require__(/*! ../util/helpers */ "./src/js/util/helpers.js"); -var _VolumeControl = __webpack_require__(/*! ./Fields/VolumeControl */ "./src/js/components/Fields/VolumeControl.js"); -var _VolumeControl2 = _interopRequireDefault(_VolumeControl); -var _MuteControl = __webpack_require__(/*! ./Fields/MuteControl */ "./src/js/components/Fields/MuteControl.js"); -var _MuteControl2 = _interopRequireDefault(_MuteControl); -var _TextField = __webpack_require__(/*! ./Fields/TextField */ "./src/js/components/Fields/TextField.js"); -var _TextField2 = _interopRequireDefault(_TextField); - -var _SnapcastClients = __webpack_require__(/*! ./SnapcastClients */ "./src/js/components/SnapcastClients.js"); - -var _SnapcastClients2 = _interopRequireDefault(_SnapcastClients); - -var _Icon = __webpack_require__(/*! ./Icon */ "./src/js/components/Icon.js"); - -var _Icon2 = _interopRequireDefault(_Icon); - -var _Link = __webpack_require__(/*! ./Link */ "./src/js/components/Link.js"); - -var _Link2 = _interopRequireDefault(_Link); - -var _actions = __webpack_require__(/*! ../services/snapcast/actions */ "./src/js/services/snapcast/actions.js"); - -var actions = _interopRequireWildcard(_actions); - -var _SelectField = __webpack_require__(/*! ./Fields/SelectField */ "./src/js/components/Fields/SelectField.js"); - -var _SelectField2 = _interopRequireDefault(_SelectField); - -var _locale = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js"); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var SnapcastGroups = function SnapcastGroups(props) { var actions = props.actions, @@ -95787,8 +97230,6 @@ var SnapcastGroups = function SnapcastGroups(props) { clients = props.clients, history = props.history, groupId = props.match.params.id; - - var streamsArray = Object.keys(streams).map(function (id) { return streams[id]; }); @@ -95800,157 +97241,183 @@ var SnapcastGroups = function SnapcastGroups(props) { return null; } - var group = groupId && groups[groupId] ? (0, _format.collate)(groups[groupId], { clients: clients }) : null; + var group = groupId && groups[groupId] ? Object(_util_format__WEBPACK_IMPORTED_MODULE_3__["collate"])(groups[groupId], { + clients: clients + }) : null; var renderGroup = function renderGroup() { if (!group) return null; - var _group$clients = group.clients, - groupClients = _group$clients === undefined ? [] : _group$clients; + groupClients = _group$clients === void 0 ? [] : _group$clients; if (!show_disconnected_clients) { - groupClients = (0, _arrays.applyFilter)('connected', true, groupClients); + groupClients = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_4__["applyFilter"])('connected', true, groupClients); } var volume = 0; + if (groupClients.length) { volume = groupClients.reduce(function (acc, client) { return acc + (client.volume || 0); }, 0) / groupClients.length; - }; + } - return _react2.default.createElement( - 'div', - { className: 'snapcast__group', key: group.id }, - _react2.default.createElement( - 'div', - { className: 'field text' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'snapcast.name' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement(_TextField2.default, { - value: group.name, - onChange: function onChange(value) { - return actions.setGroupName(group.id, value); - }, - autosave: true - }) - ) - ), - _react2.default.createElement( - 'div', - { className: 'field dropdown' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'snapcast.stream' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement(_SelectField2.default, { - onChange: function onChange(value) { - return actions.setGroupStream(group.id, value); - }, - value: group.stream_id, - options: streamsArray.map(function (stream) { - return { - key: 'group_' + group.id + '_stream_' + stream.id, - value: stream.id, - label: stream.id + ' (' + stream.status + ')' - }; - }), - autosave: true - }) - ) - ), - _react2.default.createElement( - 'div', - { className: 'field' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'snapcast.volume' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement(_MuteControl2.default, { - className: 'snapcast__group__mute-control snapcast__mute-control', - mute: group.mute, - onMuteChange: function onMuteChange(mute) { - return actions.setGroupMute(group.id, mute); - } - }), - _react2.default.createElement(_VolumeControl2.default, { - className: 'snapcast__group__volume-control snapcast__volume-control', - volume: volume, - mute: group.mute, - onVolumeChange: function onVolumeChange(percent, previousPercent) { - return actions.setGroupVolume(group.id, percent, previousPercent); - } - }) - ) - ), - _react2.default.createElement(_SnapcastClients2.default, { - clients: groupClients, - group: group, - groups: groupsArray, - actions: actions - }) - ); + ; + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "snapcast__group", + key: group.id, + "data-qa-node": "div", + "data-qa-file": "SnapcastGroups" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field text", + "data-qa-node": "div", + "data-qa-file": "SnapcastGroups" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "SnapcastGroups" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_14__["I18n"], { + path: "snapcast.name", + "data-qa-node": "I18n", + "data-qa-file": "SnapcastGroups" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "SnapcastGroups" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Fields_TextField__WEBPACK_IMPORTED_MODULE_8__["default"], { + value: group.name, + onChange: function onChange(value) { + return actions.setGroupName(group.id, value); + }, + autosave: true, + "data-qa-node": "TextField", + "data-qa-file": "SnapcastGroups" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field dropdown", + "data-qa-node": "div", + "data-qa-file": "SnapcastGroups" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "SnapcastGroups" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_14__["I18n"], { + path: "snapcast.stream", + "data-qa-node": "I18n", + "data-qa-file": "SnapcastGroups" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "SnapcastGroups" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Fields_SelectField__WEBPACK_IMPORTED_MODULE_13__["default"], { + onChange: function onChange(value) { + return actions.setGroupStream(group.id, value); + }, + value: group.stream_id, + options: streamsArray.map(function (stream) { + return { + key: "group_".concat(group.id, "_stream_").concat(stream.id), + value: stream.id, + label: "".concat(stream.id, " (").concat(stream.status, ")") + }; + }), + autosave: true, + "data-qa-node": "SelectField", + "data-qa-file": "SnapcastGroups" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field", + "data-qa-node": "div", + "data-qa-file": "SnapcastGroups" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "SnapcastGroups" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_14__["I18n"], { + path: "snapcast.volume", + "data-qa-node": "I18n", + "data-qa-file": "SnapcastGroups" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "SnapcastGroups" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Fields_MuteControl__WEBPACK_IMPORTED_MODULE_7__["default"], { + className: "snapcast__group__mute-control snapcast__mute-control", + mute: group.mute, + onMuteChange: function onMuteChange(mute) { + return actions.setGroupMute(group.id, mute); + }, + "data-qa-node": "MuteControl", + "data-qa-file": "SnapcastGroups" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Fields_VolumeControl__WEBPACK_IMPORTED_MODULE_6__["default"], { + className: "snapcast__group__volume-control snapcast__volume-control", + volume: volume, + mute: group.mute, + onVolumeChange: function onVolumeChange(percent, previousPercent) { + return actions.setGroupVolume(group.id, percent, previousPercent); + }, + "data-qa-node": "VolumeControl", + "data-qa-file": "SnapcastGroups" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_SnapcastClients__WEBPACK_IMPORTED_MODULE_9__["default"], { + clients: groupClients, + group: group, + groups: groupsArray, + actions: actions, + "data-qa-node": "SnapcastClients", + "data-qa-file": "SnapcastGroups" + })); }; var renderMenuItem = function renderMenuItem(simpleGroup) { - var group = (0, _format.collate)(simpleGroup, { clients: clients }); + var group = Object(_util_format__WEBPACK_IMPORTED_MODULE_3__["collate"])(simpleGroup, { + clients: clients + }); var anyClients = !show_disconnected_clients && (!group.clients || !group.clients.length || !group.clients.filter(function (client) { return client.connected; }).length); - return _react2.default.createElement( - _Link2.default, - { - className: 'snapcast__groups__menu-item menu-item' + (anyClients ? ' menu-item--no-clients' : ''), - activeClassName: 'menu-item--active', - key: group.id, - history: history, - to: '/settings/services/snapcast/' + group.id, - scrollTo: '#services-snapcast-groups' - }, - _react2.default.createElement( - 'div', - { className: 'snapcast__groups__menu-item__inner menu-item__inner' }, - _react2.default.createElement(_Icon2.default, { className: 'menu-item__icon', name: (0, _helpers.iconFromKeyword)(group.name.toLowerCase()) || 'speaker_group' }), - _react2.default.createElement( - 'div', - { className: 'menu-item__title' }, - group.name, - group.mute && _react2.default.createElement(_Icon2.default, { name: 'volume_off' }) - ) - ) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Link__WEBPACK_IMPORTED_MODULE_11__["default"], { + className: "snapcast__groups__menu-item menu-item".concat(anyClients ? ' menu-item--no-clients' : ''), + activeClassName: "menu-item--active", + key: group.id, + history: history, + to: "/settings/services/snapcast/".concat(group.id), + scrollTo: "#services-snapcast-groups", + "data-qa-node": "Link", + "data-qa-file": "SnapcastGroups" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "snapcast__groups__menu-item__inner menu-item__inner", + "data-qa-node": "div", + "data-qa-file": "SnapcastGroups" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_10__["default"], { + className: "menu-item__icon", + name: Object(_util_helpers__WEBPACK_IMPORTED_MODULE_5__["iconFromKeyword"])(group.name.toLowerCase()) || 'speaker_group', + "data-qa-node": "Icon", + "data-qa-file": "SnapcastGroups" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "menu-item__title", + "data-qa-node": "div", + "data-qa-file": "SnapcastGroups" + }, group.name, group.mute && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_10__["default"], { + name: "volume_off", + "data-qa-node": "Icon", + "data-qa-file": "SnapcastGroups" + })))); }; - return _react2.default.createElement( - 'div', - { className: 'sub-tabs snapcast__groups', id: 'services-snapcast-groups' }, - _react2.default.createElement( - 'div', - { className: 'sub-tabs__menu snapcast__groups__menu menu' }, - _react2.default.createElement( - 'div', - { className: 'menu__inner' }, - (0, _arrays.sortItems)(groupsArray, 'name').map(function (group) { - return renderMenuItem(group); - }) - ) - ), - renderGroup() - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "sub-tabs snapcast__groups", + id: "services-snapcast-groups", + "data-qa-node": "div", + "data-qa-file": "SnapcastGroups" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "sub-tabs__menu snapcast__groups__menu menu", + "data-qa-node": "div", + "data-qa-file": "SnapcastGroups" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "menu__inner", + "data-qa-node": "div", + "data-qa-file": "SnapcastGroups" + }, Object(_util_arrays__WEBPACK_IMPORTED_MODULE_4__["sortItems"])(groupsArray, 'name').map(function (group) { + return renderMenuItem(group); + }))), renderGroup()); }; var mapStateToProps = function mapStateToProps(state, ownProps) { @@ -95964,11 +97431,11 @@ var mapStateToProps = function mapStateToProps(state, ownProps) { var mapDispatchToProps = function mapDispatchToProps(dispatch) { return { - actions: (0, _redux.bindActionCreators)(actions, dispatch) + actions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_snapcast_actions__WEBPACK_IMPORTED_MODULE_12__, dispatch) }; }; -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(SnapcastGroups); +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapStateToProps, mapDispatchToProps)(SnapcastGroups)); /***/ }), @@ -95976,119 +97443,128 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)( /*!*************************************!*\ !*** ./src/js/components/Stream.js ***! \*************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var _services_core_actions__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../services/core/actions */ "./src/js/services/core/actions.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); - -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); - -var _actions = __webpack_require__(/*! ../services/core/actions */ "./src/js/services/core/actions.js"); - -var coreActions = _interopRequireWildcard(_actions); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -var Stream = function (_React$Component) { +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _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; } + + + + + + +var Stream = /*#__PURE__*/function (_React$Component) { _inherits(Stream, _React$Component); + var _super = _createSuper(Stream); + function Stream(props) { + var _this; + _classCallCheck(this, Stream); - var _this = _possibleConstructorReturn(this, (Stream.__proto__ || Object.getPrototypeOf(Stream)).call(this, props)); + _this = _super.call(this, props); - _this.componentDidUpdate = function (prevProps, prevState) { + _defineProperty(_assertThisInitialized(_this), "componentDidUpdate", function (prevProps, prevState) { var _this$state = _this.state, fullUrl = _this$state.fullUrl, volume = _this$state.volume; var _this$props = _this.props, enabled = _this$props.enabled, mute = _this$props.mute; - - _this.audio.muted = mute; - _this.audio.volume = volume ? volume / 100 : 0.5; - - // Only update URL if it's changed. This prevents re-loading the stream when something unrelated + _this.audio.volume = volume ? volume / 100 : 0.5; // Only update URL if it's changed. This prevents re-loading the stream when something unrelated // (like volume) was changed + if (prevProps.enabled && !enabled) { _this.stop(); } else if (fullUrl && (prevState.fullUrl !== fullUrl || !prevProps.enabled && enabled)) { _this.play(fullUrl); } - }; + }); - _this.onError = function (error) { + _defineProperty(_assertThisInitialized(_this), "onError", function (error) { var _this$props2 = _this.props, enabled = _this$props2.enabled, play_state = _this$props2.play_state; - if (!enabled || play_state !== 'playing') return; - console.error('Audio failed to load, retrying...', error); setTimeout(function () { return _this.play(); }, 250); - }; + }); - _this.play = function () { + _defineProperty(_assertThisInitialized(_this), "play", function () { var url = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; var fullUrl = _this.state.fullUrl; - - console.info('Playing stream: ' + (url || fullUrl)); + console.info("Playing stream: ".concat(url || fullUrl)); _this.audio.src = url || fullUrl; + _this.audio.play(); - }; + }); - _this.stop = function () { + _defineProperty(_assertThisInitialized(_this), "stop", function () { console.info('Stopping stream'); - _this.audio.pause(); - _this.audio.src = ''; - }; - _this.render = function () { + _this.audio.pause(); + + _this.audio.src = ''; + }); + + _defineProperty(_assertThisInitialized(_this), "render", function () { return null; - }; + }); _this.state = { uri: '', play_state: '', - cachebuster: '' + Date.now(), + cachebuster: "".concat(Date.now()), url: null }; - _this.audio = new Audio(); + _this.audio.onerror = function (error) { return _this.onError(error); }; + return _this; } _createClass(Stream, null, [{ - key: 'getDerivedStateFromProps', + key: "getDerivedStateFromProps", value: function getDerivedStateFromProps(props, state) { var volume = props.volume, mute = props.mute, @@ -96096,26 +97572,25 @@ var Stream = function (_React$Component) { propPlayState = props.play_state, propUrl = props.url, _props$current_track = props.current_track; - _props$current_track = _props$current_track === undefined ? {} : _props$current_track; + _props$current_track = _props$current_track === void 0 ? {} : _props$current_track; var propUri = _props$current_track.uri; var statePlayState = state.play_state, stateEnabled = state.enabled, stateUri = state.uri, stateUrl = state.url, - cachebuster = state.cachebuster; - - // Same track as before, and still playing + cachebuster = state.cachebuster; // Same track as before, and still playing if (propUri && propUri === stateUri && propPlayState === statePlayState && propEnabled === stateEnabled && propUrl === stateUrl) { return null; } var fullUrl = null; + if (propEnabled && propUrl && propUri) { - fullUrl = propUrl + '?cb=' + cachebuster + '_' + propUri; + fullUrl = "".concat(propUrl, "?cb=").concat(cachebuster, "_").concat(propUri); } - return _extends({}, state, { + return _objectSpread(_objectSpread({}, state), {}, { enabled: propEnabled, uri: propUri, play_state: propPlayState, @@ -96127,7 +97602,7 @@ var Stream = function (_React$Component) { }]); return Stream; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); var mapStateToProps = function mapStateToProps(state) { return { @@ -96142,11 +97617,11 @@ var mapStateToProps = function mapStateToProps(state) { var mapDispatchToProps = function mapDispatchToProps(dispatch) { return { - coreActions: (0, _redux.bindActionCreators)(coreActions, dispatch) + coreActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_core_actions__WEBPACK_IMPORTED_MODULE_3__, dispatch) }; }; -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(Stream); +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapStateToProps, mapDispatchToProps)(Stream)); /***/ }), @@ -96154,120 +97629,125 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)( /*!****************************************!*\ !*** ./src/js/components/Thumbnail.js ***! \****************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _Link__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Link */ "./src/js/components/Link.js"); +/* harmony import */ var _Icon__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Icon */ "./src/js/components/Icon.js"); -Object.defineProperty(exports, "__esModule", { - value: true -}); -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _Link = __webpack_require__(/*! ./Link */ "./src/js/components/Link.js"); - -var _Link2 = _interopRequireDefault(_Link); - -var _Icon = __webpack_require__(/*! ./Icon */ "./src/js/components/Icon.js"); - -var _Icon2 = _interopRequireDefault(_Icon); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -exports.default = (0, _react.memo)(function (props) { +/* harmony default export */ __webpack_exports__["default"] = (/*#__PURE__*/Object(react__WEBPACK_IMPORTED_MODULE_0__["memo"])(function (props) { var _props$placeholder = props.placeholder, - placeholder = _props$placeholder === undefined ? true : _props$placeholder; + placeholder = _props$placeholder === void 0 ? true : _props$placeholder; var mapImageSizes = function mapImageSizes() { // Single image if (props.image) { - return props.image; + return props.image; // Multiple images + } - // Multiple images - }if (props.images) { - var images = props.images; - - // An array of image objects (eg Artists), so just pick the first one + if (props.images) { + var images = props.images; // An array of image objects (eg Artists), so just pick the first one if (Array.isArray(images) && images.length > 0) { images = images[0]; - } + } // Default to medium-sized image, but accept size property as override + - // Default to medium-sized image, but accept size property as override var size = 'medium'; + if (props.size) { size = props.size; - } + } // Return the requested size + - // Return the requested size if (images[size]) { return images[size]; } - } + } // No images + - // No images return null; }; var image = mapImageSizes(); var class_name = 'thumbnail thumbnail--loaded'; - if (props.fill) class_name += ' thumbnail--fill'; - if (props.size) class_name += ' thumbnail--' + props.size; + if (props.fill) class_name += " thumbnail--fill"; + if (props.size) class_name += " thumbnail--".concat(props.size); if (props.circle) class_name += ' thumbnail--circle'; - if (props.className) class_name += ' ' + props.className; + if (props.className) class_name += " ".concat(props.className); var iconName = function iconName() { switch (props.type) { case 'directory': return 'folder'; + case 'artist': return 'perm_identity'; + case 'playlist': return 'queue_music'; + case 'album': return 'album'; + case 'track': return 'audiotrack'; + default: return 'image'; } }; - return _react2.default.createElement( - 'div', - { className: class_name }, - placeholder && _react2.default.createElement(_Icon2.default, { className: 'thumbnail__placeholder', name: iconName() }), - props.useImageTag && image ? _react2.default.createElement('img', { - alt: 'Artwork thumbnail', - className: 'thumbnail__image thumbnail__image--use-image-tag', - src: image - }) : _react2.default.createElement('div', { - className: 'thumbnail__image', - style: { backgroundImage: 'url("' + image + '")' } - }), - props.glow && image && _react2.default.createElement('div', { - className: 'thumbnail__image thumbnail__image--glow', - style: { backgroundImage: 'url("' + image + '")' } - }), - _react2.default.createElement( - 'div', - { className: 'thumbnail__actions' }, - props.canZoom && image && _react2.default.createElement( - _Link2.default, - { - className: 'thumbnail__actions__item thumbnail__actions__item--zoom', - to: '/image-zoom?url=' + image - }, - _react2.default.createElement(_Icon2.default, { name: 'search' }) - ), - props.children - ) - ); -}); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: class_name, + "data-qa-node": "div", + "data-qa-file": "Thumbnail" + }, placeholder && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_2__["default"], { + className: "thumbnail__placeholder", + name: iconName(), + "data-qa-node": "Icon", + "data-qa-file": "Thumbnail" + }), props.useImageTag && image ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("img", { + alt: "Artwork thumbnail", + className: "thumbnail__image thumbnail__image--use-image-tag", + src: image, + "data-qa-node": "img", + "data-qa-file": "Thumbnail" + }) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "thumbnail__image", + style: { + backgroundImage: "url(\"".concat(image, "\")") + }, + "data-qa-node": "div", + "data-qa-file": "Thumbnail" + }), props.glow && image && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "thumbnail__image thumbnail__image--glow", + style: { + backgroundImage: "url(\"".concat(image, "\")") + }, + "data-qa-node": "div", + "data-qa-file": "Thumbnail" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "thumbnail__actions", + "data-qa-node": "div", + "data-qa-file": "Thumbnail" + }, props.canZoom && image && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Link__WEBPACK_IMPORTED_MODULE_1__["default"], { + className: "thumbnail__actions__item thumbnail__actions__item--zoom", + to: "/image-zoom?url=".concat(image), + "data-qa-node": "Link", + "data-qa-file": "Thumbnail" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_2__["default"], { + name: "search", + "data-qa-node": "Icon", + "data-qa-file": "Thumbnail" + })), props.children)); +})); /***/ }), @@ -96275,68 +97755,68 @@ exports.default = (0, _react.memo)(function (props) { /*!************************************!*\ !*** ./src/js/components/Track.js ***! \************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* WEBPACK VAR INJECTION */(function($) { - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _Icon = __webpack_require__(/*! ./Icon */ "./src/js/components/Icon.js"); - -var _Icon2 = _interopRequireDefault(_Icon); - -var _LinksSentence = __webpack_require__(/*! ./LinksSentence */ "./src/js/components/LinksSentence.js"); - -var _LinksSentence2 = _interopRequireDefault(_LinksSentence); - -var _Dater = __webpack_require__(/*! ./Dater */ "./src/js/components/Dater.js"); - -var _URILink = __webpack_require__(/*! ./URILink */ "./src/js/components/URILink.js"); - -var _URILink2 = _interopRequireDefault(_URILink); - -var _ContextMenuTrigger = __webpack_require__(/*! ./ContextMenuTrigger */ "./src/js/components/ContextMenuTrigger.js"); - -var _ContextMenuTrigger2 = _interopRequireDefault(_ContextMenuTrigger); - -var _ErrorBoundary = __webpack_require__(/*! ./ErrorBoundary */ "./src/js/components/ErrorBoundary.js"); - -var _ErrorBoundary2 = _interopRequireDefault(_ErrorBoundary); - -var _helpers = __webpack_require__(/*! ../util/helpers */ "./src/js/util/helpers.js"); - -var _locale = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js"); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +__webpack_require__.r(__webpack_exports__); +/* WEBPACK VAR INJECTION */(function($) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return Track; }); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _Icon__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Icon */ "./src/js/components/Icon.js"); +/* harmony import */ var _LinksSentence__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./LinksSentence */ "./src/js/components/LinksSentence.js"); +/* harmony import */ var _Dater__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Dater */ "./src/js/components/Dater.js"); +/* harmony import */ var _URILink__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./URILink */ "./src/js/components/URILink.js"); +/* harmony import */ var _ContextMenuTrigger__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./ContextMenuTrigger */ "./src/js/components/ContextMenuTrigger.js"); +/* harmony import */ var _ErrorBoundary__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./ErrorBoundary */ "./src/js/components/ErrorBoundary.js"); +/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../util/helpers */ "./src/js/util/helpers.js"); +/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -var Track = function (_React$Component) { +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + + + + + + + + + + + +var Track = /*#__PURE__*/function (_React$Component) { _inherits(Track, _React$Component); + var _super = _createSuper(Track); + function Track(props) { + var _this; + _classCallCheck(this, Track); - var _this = _possibleConstructorReturn(this, (Track.__proto__ || Object.getPrototypeOf(Track)).call(this, props)); - + _this = _super.call(this, props); _this.state = { hover: false }; - _this.start_time = 0; _this.end_time = 0; _this.start_position = false; @@ -96344,43 +97824,43 @@ var Track = function (_React$Component) { } _createClass(Track, [{ - key: 'handleMouseEnter', + key: "handleMouseEnter", value: function handleMouseEnter(e) { - this.setState({ hover: true }); + this.setState({ + hover: true + }); } }, { - key: 'handleMouseLeave', + key: "handleMouseLeave", value: function handleMouseLeave(e) { - this.setState({ hover: false }); + this.setState({ + hover: false + }); } }, { - key: 'handleMouseDown', + key: "handleMouseDown", value: function handleMouseDown(e) { - var target = $(e.target); + var target = $(e.target); // Clicked a nested link (ie Artist name), so no dragging required - // Clicked a nested link (ie Artist name), so no dragging required if (target.is('a')) { return false; - } + } // Only listen for left mouse clicks + - // Only listen for left mouse clicks if (e.button === 0) { this.start_position = { x: e.pageX, y: e.pageY - }; - - // Not left click, then ensure no dragging + }; // Not left click, then ensure no dragging } else { this.start_position = false; } } }, { - key: 'handleMouseMove', + key: "handleMouseMove", value: function handleMouseMove(e) { - var target = $(e.target); + var target = $(e.target); // No drag handling means NO - // No drag handling means NO if (this.props.handleDrag === undefined) { return false; } @@ -96388,9 +97868,8 @@ var Track = function (_React$Component) { if (this.start_position) { var start_x = this.start_position.x; var start_y = this.start_position.y; - var threshold = 5; + var threshold = 5; // Have we dragged outside of our threshold zone? - // Have we dragged outside of our threshold zone? if (e.pageX > start_x + threshold || e.pageX < start_x - threshold || e.pageY > start_y + threshold || e.pageY < start_y - threshold) { // Handover to parent for dragging. We can unset all our behaviour now. this.props.handleDrag(e); @@ -96399,11 +97878,10 @@ var Track = function (_React$Component) { } } }, { - key: 'handleMouseUp', + key: "handleMouseUp", value: function handleMouseUp(e) { - var target = $(e.target); + var target = $(e.target); // Only listen for left clicks - // Only listen for left clicks if (e.button === 0) { if (this.props.dragger) { e.preventDefault(); @@ -96414,74 +97892,72 @@ var Track = function (_React$Component) { } else if (!target.is('a') && target.closest('a').length <= 0) { this.props.handleClick(e); this.start_position = false; - } + } // Not left click, then ensure no dragging - // Not left click, then ensure no dragging } else { this.start_position = false; return false; } } }, { - key: 'handleDoubleClick', + key: "handleDoubleClick", value: function handleDoubleClick(e) { this.props.handleDoubleClick(e); } }, { - key: 'handleTouchStart', + key: "handleTouchStart", value: function handleTouchStart(e) { var target = $(e.target); - var timestamp = Math.floor(Date.now()); + var timestamp = Math.floor(Date.now()); // Touch-drag zone - // Touch-drag zone if (target.hasClass('drag-zone')) { this.props.handleTouchDrag(e); e.preventDefault(); - } + } // Save touch start details + - // Save touch start details this.start_time = timestamp; this.start_position = { x: e.touches[0].clientX, y: e.touches[0].clientY }; - return false; } }, { - key: 'handleTouchEnd', + key: "handleTouchEnd", value: function handleTouchEnd(e) { var target = $(e.target); var timestamp = Math.floor(Date.now()); var tap_distance_threshold = 10; // Max distance (px) between touchstart and touchend to qualify as a tap + var tap_time_threshold = 200; // Max time (ms) between touchstart and touchend to qualify as a tap + var end_position = { x: e.changedTouches[0].clientX, y: e.changedTouches[0].clientY - }; + }; // Too long between touchstart and touchend - // Too long between touchstart and touchend if (this.start_time + tap_time_threshold < timestamp) { return false; - } - - // Make sure there's enough distance between start and end before we handle + } // Make sure there's enough distance between start and end before we handle // this event as a 'tap' + + if (this.start_position.x + tap_distance_threshold > end_position.x && this.start_position.x - tap_distance_threshold < end_position.x && this.start_position.y + tap_distance_threshold > end_position.y && this.start_position.y - tap_distance_threshold < end_position.y) { // Clicked a nested link (ie Artist name), so no dragging required if (!target.is('a')) { e.preventDefault(); - } + } // Context trigger + - // Context trigger if (target.hasClass('touch-contextable')) { // Update our selection. By not passing touch = true selection will work like a regular click // this.props.handleSelection(e); this.props.handleContextMenu(e); return false; - } + } // We received a touchend within 300ms ago, so handle as double-tap + - // We received a touchend within 300ms ago, so handle as double-tap if (timestamp - this.end_time > 0 && timestamp - this.end_time <= 300) { this.props.handleDoubleTap(e); e.preventDefault(); @@ -96494,7 +97970,7 @@ var Track = function (_React$Component) { this.end_time = timestamp; } }, { - key: 'render', + key: "render", value: function render() { var _this2 = this; @@ -96503,233 +97979,276 @@ var Track = function (_React$Component) { } var track = this.props.track; - var className = 'list__item list__item--track mouse-draggable mouse-selectable mouse-contextable'; var track_details = []; var track_actions = []; if (track.artists) { - track_details.push(_react2.default.createElement( - 'li', - { className: 'details__item details__item--artists', key: 'artists' }, - track.artists ? _react2.default.createElement(_LinksSentence2.default, { items: track.artists }) : '-' - )); + track_details.push( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li", { + className: "details__item details__item--artists", + key: "artists", + "data-qa-node": "li", + "data-qa-file": "Track" + }, track.artists ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_LinksSentence__WEBPACK_IMPORTED_MODULE_2__["default"], { + items: track.artists, + "data-qa-node": "LinksSentence", + "data-qa-file": "Track" + }) : '-')); } if (track.album) { if (track.album.uri) { - var album = _react2.default.createElement( - _URILink2.default, - { type: 'album', uri: track.album.uri }, - track.album.name - ); + var album = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_URILink__WEBPACK_IMPORTED_MODULE_4__["default"], { + type: "album", + uri: track.album.uri, + "data-qa-node": "URILink", + "data-qa-file": "Track" + }, track.album.name); } else { - var album = _react2.default.createElement( - 'span', - null, - track.album.name - ); + var album = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + "data-qa-node": "span", + "data-qa-file": "Track" + }, track.album.name); } - track_details.push(_react2.default.createElement( - 'li', - { className: 'details__item details__item--album', key: 'album' }, - album - )); + track_details.push( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li", { + className: "details__item details__item--album", + key: "album", + "data-qa-node": "li", + "data-qa-file": "Track" + }, album)); } if (this.props.track_context == 'history') { - var track_middle_column = _react2.default.createElement( - 'div', - { className: 'list__item__column__item list__item__column__item--played_at' }, - track.played_at ? _react2.default.createElement(_locale.I18n, { path: 'specs.played_ago', time: (0, _Dater.dater)('ago', track.played_at) }) : '-' - ); + var track_middle_column = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "list__item__column__item list__item__column__item--played_at", + "data-qa-node": "div", + "data-qa-file": "Track" + }, track.played_at ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_8__["I18n"], { + path: "specs.played_ago", + time: Object(_Dater__WEBPACK_IMPORTED_MODULE_3__["dater"])('ago', track.played_at), + "data-qa-node": "I18n", + "data-qa-file": "Track" + }) : '-'); } else if (this.props.track_context == 'queue') { if (track.added_from && track.added_by) { - var type = track.added_from ? (0, _helpers.uriType)(track.added_from) : null; + var type = track.added_from ? Object(_util_helpers__WEBPACK_IMPORTED_MODULE_7__["uriType"])(track.added_from) : null; switch (type) { case 'discover': - var link = _react2.default.createElement( - _URILink2.default, - { type: 'recommendations', uri: (0, _helpers.getFromUri)('seeds', track.added_from) }, - _react2.default.createElement(_locale.I18n, { path: 'discover.title' }) - ); + var link = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_URILink__WEBPACK_IMPORTED_MODULE_4__["default"], { + type: "recommendations", + uri: Object(_util_helpers__WEBPACK_IMPORTED_MODULE_7__["getFromUri"])('seeds', track.added_from), + "data-qa-node": "URILink", + "data-qa-file": "Track" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_8__["I18n"], { + path: "discover.title", + "data-qa-node": "I18n", + "data-qa-file": "Track" + })); break; case 'browse': - var link = _react2.default.createElement( - _URILink2.default, - { uri: track.added_from }, - _react2.default.createElement(_locale.I18n, { path: 'library.browse.title' }) - ); + var link = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_URILink__WEBPACK_IMPORTED_MODULE_4__["default"], { + uri: track.added_from, + "data-qa-node": "URILink", + "data-qa-file": "Track" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_8__["I18n"], { + path: "library.browse.title", + "data-qa-node": "I18n", + "data-qa-file": "Track" + })); break; case 'search': - var link = _react2.default.createElement( - _URILink2.default, - { uri: track.added_from }, - _react2.default.createElement(_locale.I18n, { path: 'search.title' }) - ); + var link = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_URILink__WEBPACK_IMPORTED_MODULE_4__["default"], { + uri: track.added_from, + "data-qa-node": "URILink", + "data-qa-file": "Track" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_8__["I18n"], { + path: "search.title", + "data-qa-node": "I18n", + "data-qa-file": "Track" + })); break; case 'radio': - var link = _react2.default.createElement(_locale.I18n, { path: 'modal.edit_radio.title' }); + var link = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_8__["I18n"], { + path: "modal.edit_radio.title", + "data-qa-node": "I18n", + "data-qa-file": "Track" + }); break; case 'queue-history': - var link = _react2.default.createElement(_locale.I18n, { path: 'queue_history.title' }); + var link = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_8__["I18n"], { + path: "queue_history.title", + "data-qa-node": "I18n", + "data-qa-file": "Track" + }); break; default: - var link = _react2.default.createElement( - _URILink2.default, - { type: type, uri: track.added_from }, - (0, _helpers.titleCase)(type) - ); + var link = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_URILink__WEBPACK_IMPORTED_MODULE_4__["default"], { + type: type, + uri: track.added_from, + "data-qa-node": "URILink", + "data-qa-file": "Track" + }, Object(_util_helpers__WEBPACK_IMPORTED_MODULE_7__["titleCase"])(type)); } - var track_middle_column = _react2.default.createElement( - 'div', - { className: 'list__item__column__item list__item__column__item--added' }, - _react2.default.createElement( - 'span', - { className: 'from' }, - link - ), - _react2.default.createElement( - 'span', - { className: 'by by--with-spacing' }, - '' + track.added_by - ) - ); + var track_middle_column = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "list__item__column__item list__item__column__item--added", + "data-qa-node": "div", + "data-qa-file": "Track" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "from", + "data-qa-node": "span", + "data-qa-file": "Track" + }, link), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "by by--with-spacing", + "data-qa-node": "span", + "data-qa-file": "Track" + }, "".concat(track.added_by))); } else if (track.added_by) { - var track_middle_column = _react2.default.createElement( - 'div', - { className: 'list__item__column__item list__item__column__item--added' }, - _react2.default.createElement( - 'span', - { className: 'by' }, - track.added_by - ) - ); + var track_middle_column = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "list__item__column__item list__item__column__item--added", + "data-qa-node": "div", + "data-qa-file": "Track" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "by", + "data-qa-node": "span", + "data-qa-file": "Track" + }, track.added_by)); } - } + } // If we're touchable, and can sort this tracklist + - // If we're touchable, and can sort this tracklist var drag_zone = null; - if ((0, _helpers.isTouchDevice)() && this.props.can_sort) { - className += ' list__item--has-drag-zone'; - drag_zone = _react2.default.createElement( - 'span', - { - className: 'list__item__column__item list__item__column__item--drag-zone drag-zone touch-draggable mouse-draggable', - key: 'drag-zone' - }, - _react2.default.createElement(_Icon2.default, { name: 'drag_indicator' }) - ); + if (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_7__["isTouchDevice"])() && this.props.can_sort) { + className += ' list__item--has-drag-zone'; + drag_zone = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "list__item__column__item list__item__column__item--drag-zone drag-zone touch-draggable mouse-draggable", + key: "drag-zone", + "data-qa-node": "span", + "data-qa-file": "Track" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_1__["default"], { + name: "drag_indicator", + "data-qa-node": "Icon", + "data-qa-file": "Track" + })); } if (this.props.selected) className += ' list__item--selected'; if (this.props.can_sort) className += ' list__item--can-sort'; - if (track.type !== undefined) className += ' list__item--' + track.type; + if (track.type !== undefined) className += " list__item--".concat(track.type); if (track.playing) className += ' list__item--playing'; if (this.state.hover) className += ' list__item--hover'; if (track_middle_column) className += ' list__item--has-middle-column'; if (track_details.length > 0) className += ' list__item--has-details'; - - return _react2.default.createElement( - _ErrorBoundary2.default, - null, - _react2.default.createElement( - 'div', - { - className: className, - onMouseEnter: function onMouseEnter(e) { - return _this2.handleMouseEnter(e); - }, - onMouseLeave: function onMouseLeave(e) { - return _this2.handleMouseLeave(e); - }, - onMouseDown: function onMouseDown(e) { - return _this2.handleMouseDown(e); - }, - onMouseUp: function onMouseUp(e) { - return _this2.handleMouseUp(e); - }, - onMouseMove: function onMouseMove(e) { - return _this2.handleMouseMove(e); - }, - onDoubleClick: function onDoubleClick(e) { - return _this2.handleDoubleClick(e); - }, - onContextMenu: function onContextMenu(e) { - return _this2.props.handleContextMenu(e); - }, - onTouchStart: function onTouchStart(e) { - return _this2.handleTouchStart(e); - }, - onTouchEnd: function onTouchEnd(e) { - return _this2.handleTouchEnd(e); - } - }, - _react2.default.createElement( - 'div', - { className: 'list__item__column list__item__column--name' }, - _react2.default.createElement( - 'div', - { className: 'list__item__column__item--name' }, - track.name ? track.name : _react2.default.createElement( - 'span', - { className: 'mid_grey-text' }, - track.uri - ), - track.playing ? _react2.default.createElement(_Icon2.default, { className: 'js--' + this.props.play_state, name: 'playing', type: 'css' }) : null - ), - track_details ? _react2.default.createElement( - 'ul', - { className: 'list__item__column__item--details' }, - track_details - ) : null - ), - track_middle_column ? _react2.default.createElement( - 'div', - { className: 'list__item__column list__item__column--middle' }, - track_middle_column - ) : null, - _react2.default.createElement( - 'div', - { className: 'list__item__column list__item__column--right' }, - drag_zone, - track.is_explicit ? _react2.default.createElement( - 'span', - { className: 'flag flag--dark' }, - 'EXPLICIT' - ) : null, - _react2.default.createElement( - 'span', - { className: 'list__item__column__item list__item__column__item--duration' }, - track.duration ? _react2.default.createElement(_Dater.Dater, { type: 'length', data: track.duration }) : '-' - ), - this.props.show_source_icon ? _react2.default.createElement( - 'span', - { className: 'list__item__column__item list__item__column__item--source' }, - _react2.default.createElement(_Icon2.default, { type: 'fontawesome', name: (0, _helpers.sourceIcon)(track.uri), fixedWidth: true }) - ) : null, - _react2.default.createElement(_ContextMenuTrigger2.default, { className: 'list__item__column__item--context-menu-trigger subtle', onTrigger: function onTrigger(e) { - return _this2.props.handleContextMenu(e); - } }) - ) - ) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ErrorBoundary__WEBPACK_IMPORTED_MODULE_6__["default"], { + "data-qa-node": "ErrorBoundary", + "data-qa-file": "Track" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: className, + onMouseEnter: function onMouseEnter(e) { + return _this2.handleMouseEnter(e); + }, + onMouseLeave: function onMouseLeave(e) { + return _this2.handleMouseLeave(e); + }, + onMouseDown: function onMouseDown(e) { + return _this2.handleMouseDown(e); + }, + onMouseUp: function onMouseUp(e) { + return _this2.handleMouseUp(e); + }, + onMouseMove: function onMouseMove(e) { + return _this2.handleMouseMove(e); + }, + onDoubleClick: function onDoubleClick(e) { + return _this2.handleDoubleClick(e); + }, + onContextMenu: function onContextMenu(e) { + return _this2.props.handleContextMenu(e); + }, + onTouchStart: function onTouchStart(e) { + return _this2.handleTouchStart(e); + }, + onTouchEnd: function onTouchEnd(e) { + return _this2.handleTouchEnd(e); + }, + "data-qa-node": "div", + "data-qa-file": "Track" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "list__item__column list__item__column--name", + "data-qa-node": "div", + "data-qa-file": "Track" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "list__item__column__item--name", + "data-qa-node": "div", + "data-qa-file": "Track" + }, track.name ? track.name : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "mid_grey-text", + "data-qa-node": "span", + "data-qa-file": "Track" + }, track.uri), track.playing ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_1__["default"], { + className: "js--".concat(this.props.play_state), + name: "playing", + type: "css", + "data-qa-node": "Icon", + "data-qa-file": "Track" + }) : null), track_details ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("ul", { + className: "list__item__column__item--details", + "data-qa-node": "ul", + "data-qa-file": "Track" + }, track_details) : null), track_middle_column ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "list__item__column list__item__column--middle", + "data-qa-node": "div", + "data-qa-file": "Track" + }, track_middle_column) : null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "list__item__column list__item__column--right", + "data-qa-node": "div", + "data-qa-file": "Track" + }, drag_zone, track.is_explicit ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "flag flag--dark", + "data-qa-node": "span", + "data-qa-file": "Track" + }, "EXPLICIT") : null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "list__item__column__item list__item__column__item--duration", + "data-qa-node": "span", + "data-qa-file": "Track" + }, track.duration ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Dater__WEBPACK_IMPORTED_MODULE_3__["Dater"], { + type: "length", + data: track.duration, + "data-qa-node": "Dater", + "data-qa-file": "Track" + }) : '-'), this.props.show_source_icon ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "list__item__column__item list__item__column__item--source", + "data-qa-node": "span", + "data-qa-file": "Track" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_1__["default"], { + type: "fontawesome", + name: Object(_util_helpers__WEBPACK_IMPORTED_MODULE_7__["sourceIcon"])(track.uri), + fixedWidth: true, + "data-qa-node": "Icon", + "data-qa-file": "Track" + })) : null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ContextMenuTrigger__WEBPACK_IMPORTED_MODULE_5__["default"], { + className: "list__item__column__item--context-menu-trigger subtle", + onTrigger: function onTrigger(e) { + return _this2.props.handleContextMenu(e); + }, + "data-qa-node": "ContextMenuTrigger", + "data-qa-file": "Track" + })))); } }]); return Track; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); + -exports.default = Track; /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ "./node_modules/jquery/dist/jquery.js"))) /***/ }), @@ -96738,106 +98257,115 @@ exports.default = Track; /*!****************************************!*\ !*** ./src/js/components/TrackList.js ***! \****************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* WEBPACK VAR INJECTION */(function($) { +__webpack_require__.r(__webpack_exports__); +/* WEBPACK VAR INJECTION */(function($) {/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var _Track__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Track */ "./src/js/components/Track.js"); +/* harmony import */ var _services_mopidy_actions__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); +/* harmony import */ var _services_ui_actions__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../services/ui/actions */ "./src/js/services/ui/actions.js"); +/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../util/helpers */ "./src/js/util/helpers.js"); +/* harmony import */ var _util_arrays__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../util/arrays */ "./src/js/util/arrays.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } -Object.defineProperty(exports, "__esModule", { - value: true -}); +function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); - -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); - -var _Track = __webpack_require__(/*! ./Track */ "./src/js/components/Track.js"); - -var _Track2 = _interopRequireDefault(_Track); - -var _actions = __webpack_require__(/*! ../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); - -var mopidyActions = _interopRequireWildcard(_actions); - -var _actions2 = __webpack_require__(/*! ../services/ui/actions */ "./src/js/services/ui/actions.js"); - -var uiActions = _interopRequireWildcard(_actions2); - -var _helpers = __webpack_require__(/*! ../util/helpers */ "./src/js/util/helpers.js"); - -var _arrays = __webpack_require__(/*! ../util/arrays */ "./src/js/util/arrays.js"); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -var TrackList = function (_React$Component) { +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + + + + + + + + + + +var TrackList = /*#__PURE__*/function (_React$Component) { _inherits(TrackList, _React$Component); + var _super = _createSuper(TrackList); + function TrackList(props) { + var _this; + _classCallCheck(this, TrackList); - var _this = _possibleConstructorReturn(this, (TrackList.__proto__ || Object.getPrototypeOf(TrackList)).call(this, props)); - + _this = _super.call(this, props); _this.touch_dragging_tracks_keys = false; - - _this.handleKeyDown = _this.handleKeyDown.bind(_this); - _this.handleTouchMove = _this.handleTouchMove.bind(_this); - _this.handleTouchEnd = _this.handleTouchEnd.bind(_this); + _this.handleKeyDown = _this.handleKeyDown.bind(_assertThisInitialized(_this)); + _this.handleTouchMove = _this.handleTouchMove.bind(_assertThisInitialized(_this)); + _this.handleTouchEnd = _this.handleTouchEnd.bind(_assertThisInitialized(_this)); return _this; } _createClass(TrackList, [{ - key: 'componentDidMount', + key: "componentDidMount", value: function componentDidMount() { window.addEventListener('keydown', this.handleKeyDown, false); window.addEventListener('touchmove', this.handleTouchMove, false); window.addEventListener('touchend', this.handleTouchEnd, false); } }, { - key: 'componentWillUnmount', + key: "componentWillUnmount", value: function componentWillUnmount() { window.removeEventListener('keydown', this.handleKeyDown, false); window.removeEventListener('touchmove', this.handleTouchMove, false); window.removeEventListener('touchend', this.handleTouchEnd, false); } }, { - key: 'handleKeyDown', + key: "handleKeyDown", value: function handleKeyDown(e) { // When we're focussed on certian elements, don't fire any shortcuts // Typically form inputs var ignoreNodes = ['INPUT', 'TEXTAREA']; + if (ignoreNodes.indexOf(e.target.nodeName) > -1) { return; - } - - // Ignore when there are any key modifiers. This enables us to avoid interfering + } // Ignore when there are any key modifiers. This enables us to avoid interfering // with browser- and OS-default functions. + + if (e.altKey || e.ctrlKey || e.metaKey || e.shiftKey) { return; } var tracks_keys = this.digestTracksKeys(); - var prevent = false; + switch (e.key.toLowerCase()) { case 'enter': if (tracks_keys && tracks_keys.length > 0) { this.playTracks(); } + prevent = true; break; @@ -96846,14 +98374,17 @@ var TrackList = function (_React$Component) { if (tracks_keys && tracks_keys.length > 0) { this.removeTracks(); } + prevent = true; break; case 'a': var all_tracks = []; + for (var i = 0; i < this.props.tracks.length; i++) { all_tracks.push(this.buildTrackKey(this.props.tracks[i], i)); } + this.props.uiActions.setSelectedTracks(all_tracks); prevent = true; break; @@ -96865,12 +98396,11 @@ var TrackList = function (_React$Component) { } } }, { - key: 'handleDrag', + key: "handleDrag", value: function handleDrag(e, track_key) { - var selected_tracks = []; - - // Dragging a non-selected track. We need to deselect everything + var selected_tracks = []; // Dragging a non-selected track. We need to deselect everything // else and select only this track + if (!this.props.selected_tracks.includes(track_key)) { this.props.uiActions.setSelectedTracks([track_key]); selected_tracks = this.digestTracksKeys([track_key]); @@ -96878,12 +98408,11 @@ var TrackList = function (_React$Component) { selected_tracks = this.digestTracksKeys(); } - var selected_tracks_indexes = (0, _arrays.arrayOf)('index', selected_tracks); - + var selected_tracks_indexes = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_7__["arrayOf"])('index', selected_tracks); this.props.uiActions.dragStart(e, this.props.track_context, this.props.uri, selected_tracks, selected_tracks_indexes); } }, { - key: 'handleDrop', + key: "handleDrop", value: function handleDrop(e, track_key) { if (this.props.dragger && this.props.dragger.active) { // if this tracklist handles sorting, handle it @@ -96893,32 +98422,34 @@ var TrackList = function (_React$Component) { return this.props.reorderTracks(indexes, tracks[0].index); } } + this.touch_dragging_tracks_keys = false; } }, { - key: 'handleTouchDrag', + key: "handleTouchDrag", value: function handleTouchDrag(e, track_key) { // Drag initiated on a selected track if (this.props.selected_tracks.includes(track_key)) { // They're all dragging - this.touch_dragging_tracks_keys = this.props.selected_tracks; - - // Not already selected, so just dragging the one track + this.touch_dragging_tracks_keys = this.props.selected_tracks; // Not already selected, so just dragging the one track } else { this.touch_dragging_tracks_keys = [track_key]; this.props.uiActions.setSelectedTracks([track_key]); } } }, { - key: 'handleTouchMove', + key: "handleTouchMove", value: function handleTouchMove(e) { if (this.touch_dragging_tracks_keys) { var touch = e.touches[0]; var over = $(document.elementFromPoint(touch.clientX, touch.clientY)); + if (!over.is('.track')) { over = over.closest('.list__item--track'); } + $(document).find('.touch-drag-hover').removeClass('touch-drag-hover'); + if (over.length > 0) { over.addClass('touch-drag-hover'); } @@ -96931,20 +98462,22 @@ var TrackList = function (_React$Component) { } } }, { - key: 'handleTouchEnd', + key: "handleTouchEnd", value: function handleTouchEnd(e) { if (this.touch_dragging_tracks_keys) { var touch = e.changedTouches[0]; var over = $(document.elementFromPoint(touch.clientX, touch.clientY)); + if (!over.is('.list__item--track')) { over = over.closest('.list__item--track'); } + if (over.length > 0) { var siblings = over.parent().children('.list__item--track'); var dropped_at = siblings.index(over); if (this.props.reorderTracks !== undefined) { - this.props.reorderTracks((0, _arrays.arrayOf)('index', this.digestTracksKeys()), dropped_at); + this.props.reorderTracks(Object(_util_arrays__WEBPACK_IMPORTED_MODULE_7__["arrayOf"])('index', this.digestTracksKeys()), dropped_at); this.props.uiActions.setSelectedTracks([]); } } @@ -96956,43 +98489,40 @@ var TrackList = function (_React$Component) { this.touch_dragging_tracks_keys = false; } }, { - key: 'handleTap', + key: "handleTap", value: function handleTap(e, track_key) { this.updateSelection(e, track_key, true); } }, { - key: 'handleDoubleTap', + key: "handleDoubleTap", value: function handleDoubleTap(e, track_key) { this.playTracks([track_key]); this.updateSelection(e, track_key); } }, { - key: 'handleClick', + key: "handleClick", value: function handleClick(e, track_key) { this.updateSelection(e, track_key); } }, { - key: 'handleDoubleClick', + key: "handleDoubleClick", value: function handleDoubleClick(e, track_key) { if (this.props.context_menu) { this.props.uiActions.hideContextMenu(); } + this.playTracks([track_key]); this.updateSelection(e, track_key); } }, { - key: 'handleContextMenu', + key: "handleContextMenu", value: function handleContextMenu(e) { var track_key = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; - // Do our best to stop any flow-on events e.preventDefault(); e.stopPropagation(); e.cancelBubble = true; - - var selected_tracks = this.props.selected_tracks; - - // Not already selected, so select it prior to triggering menu + var selected_tracks = this.props.selected_tracks; // Not already selected, so select it prior to triggering menu if (track_key && !selected_tracks.includes(track_key)) { selected_tracks = [track_key]; @@ -97000,34 +98530,29 @@ var TrackList = function (_React$Component) { } var selected_tracks_digested = this.digestTracksKeys(selected_tracks); - var selected_tracks_uris = (0, _arrays.arrayOf)('uri', selected_tracks_digested); - var selected_tracks_indexes = (0, _arrays.arrayOf)('index', selected_tracks_digested); - + var selected_tracks_uris = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_7__["arrayOf"])('uri', selected_tracks_digested); + var selected_tracks_indexes = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_7__["arrayOf"])('index', selected_tracks_digested); var data = { e: e, - context: this.props.track_context ? this.props.track_context + '-track' : 'track', + context: this.props.track_context ? "".concat(this.props.track_context, "-track") : 'track', tracklist_uri: this.props.uri ? this.props.uri : null, items: selected_tracks_digested, uris: selected_tracks_uris, indexes: selected_tracks_indexes }; - this.props.uiActions.showContextMenu(data); } }, { - key: 'updateSelection', + key: "updateSelection", value: function updateSelection(e, track_key) { var touched = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; var selected_tracks = this.props.selected_tracks; - if (e.ctrlKey || e.metaKey || touched) { // Already selected, so unselect it if (selected_tracks.includes(track_key)) { var index = selected_tracks.indexOf(track_key); - selected_tracks.splice(index, 1); - - // Not selected, so add it + selected_tracks.splice(index, 1); // Not selected, so add it } else { selected_tracks.push(track_key); } @@ -97035,15 +98560,12 @@ var TrackList = function (_React$Component) { var last_selected_track = this.digestTracksKeys(selected_tracks[selected_tracks.length - 1]); var last_selected_track_index = last_selected_track.index; var newly_selected_track = this.digestTracksKeys(track_key); - var newly_selected_track_index = newly_selected_track.index; - - // We've selected a track further down the list, + var newly_selected_track_index = newly_selected_track.index; // We've selected a track further down the list, // so proceed normally + if (last_selected_track_index < newly_selected_track_index) { var start = last_selected_track_index + 1; - var end = newly_selected_track_index; - - // Selected a track up the list, so + var end = newly_selected_track_index; // Selected a track up the list, so // our last selected is the END of our range } else { var start = newly_selected_track_index; @@ -97054,9 +98576,8 @@ var TrackList = function (_React$Component) { for (var i = start; i <= end; i++) { selected_tracks.push(this.buildTrackKey(this.props.tracks[i], i)); } - } + } // Regular, unmodified left click - // Regular, unmodified left click } else { selected_tracks = [track_key]; } @@ -97064,17 +98585,20 @@ var TrackList = function (_React$Component) { this.props.uiActions.setSelectedTracks(selected_tracks); } }, { - key: 'isRightClick', + key: "isRightClick", value: function isRightClick(e) { if ('which' in e) { return e.which == 3; - }if ('button' in e) { + } + + if ('button' in e) { return e.button == 2; } + return false; } }, { - key: 'playTracks', + key: "playTracks", value: function playTracks() { var tracks_keys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; @@ -97083,36 +98607,39 @@ var TrackList = function (_React$Component) { } else { var selected_tracks = this.digestTracksKeys(); } - var selected_tracks_indexes = (0, _arrays.arrayOf)('index', selected_tracks); + + var selected_tracks_indexes = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_7__["arrayOf"])('index', selected_tracks); if (selected_tracks.length <= 0) { - return this.props.uiActions.createNotification({ content: 'No tracks selected', level: 'error' }); - } + return this.props.uiActions.createNotification({ + content: 'No tracks selected', + level: 'error' + }); + } // Our parent handles playing + - // Our parent handles playing if (this.props.playTracks !== undefined) { - return this.props.playTracks(selected_tracks); - - // Default to playing the URIs + return this.props.playTracks(selected_tracks); // Default to playing the URIs } - var selected_tracks_uris = (0, _arrays.arrayOf)('uri', selected_tracks); + + var selected_tracks_uris = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_7__["arrayOf"])('uri', selected_tracks); return this.props.mopidyActions.playURIs(selected_tracks_uris, this.props.uri); } }, { - key: 'removeTracks', + key: "removeTracks", value: function removeTracks() { - var selected_tracks = this.digestTracksKeys(); + var selected_tracks = this.digestTracksKeys(); // Our parent has a handler for this - // Our parent has a handler for this if (this.props.removeTracks !== undefined) { - var selected_tracks_indexes = (0, _arrays.arrayOf)('index', selected_tracks); - return this.props.removeTracks(selected_tracks_indexes); - - // No handler? We can't really do anything then, so notify user + var selected_tracks_indexes = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_7__["arrayOf"])('index', selected_tracks); + return this.props.removeTracks(selected_tracks_indexes); // No handler? We can't really do anything then, so notify user } - this.props.uiActions.createNotification({ content: 'Cannot delete ' + (selected_tracks.length > 1 ? 'these tracks' : 'this track'), level: 'error' }); - } + this.props.uiActions.createNotification({ + content: "Cannot delete ".concat(selected_tracks.length > 1 ? 'these tracks' : 'this track'), + level: 'error' + }); + } /** * Build the track key * This is our unique reference to a track in a particular tracklist @@ -97123,16 +98650,15 @@ var TrackList = function (_React$Component) { * */ }, { - key: 'buildTrackKey', + key: "buildTrackKey", value: function buildTrackKey(track, index) { var key = index; - key += '@@' + (track.tlid ? track.tlid : 'none'); - key += '@@' + track.uri; - key += '@@' + (this.props.uri ? this.props.uri : 'none'); - key += '@@' + (this.props.track_context ? this.props.track_context : 'none'); + key += "@@".concat(track.tlid ? track.tlid : 'none'); + key += "@@".concat(track.uri); + key += "@@".concat(this.props.uri ? this.props.uri : 'none'); + key += "@@".concat(this.props.track_context ? this.props.track_context : 'none'); return key; } - /** * Digest our selected tracks * @@ -97142,33 +98668,33 @@ var TrackList = function (_React$Component) { * */ }, { - key: 'digestTracksKeys', + key: "digestTracksKeys", value: function digestTracksKeys() { var keys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.props.selected_tracks; var indexes_only = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; if (!keys) { return false; - } + } // Accommodate a single key + - // Accommodate a single key var singleton = false; + if (!(keys instanceof Array)) { singleton = true; keys = [keys]; - } - - // Construct a basic track object, based on our unique track key + } // Construct a basic track object, based on our unique track key // This is enough to perform interactions (dragging, selecting, etc) + + var array = []; - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; + + var _iterator = _createForOfIteratorHelper(keys), + _step; try { - for (var _iterator = keys[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + for (_iterator.s(); !(_step = _iterator.n()).done;) { var key = _step.value; - var key_components = key.split('@@'); if (indexes_only) { @@ -97185,27 +98711,19 @@ var TrackList = function (_React$Component) { } } } catch (err) { - _didIteratorError = true; - _iteratorError = err; + _iterator.e(err); } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } + _iterator.f(); } if (singleton && array.length > 0) { return array[0]; } + return array; } }, { - key: 'render', + key: "render", value: function render() { var _this2 = this; @@ -97213,59 +98731,63 @@ var TrackList = function (_React$Component) { return null; } - var className = 'list list--tracks ' + this.props.track_context; + var className = "list list--tracks ".concat(this.props.track_context); + if (this.props.className) { - className += ' ' + this.props.className; + className += " ".concat(this.props.className); } - return _react2.default.createElement( - 'div', - { className: className }, - this.props.tracks.map(function (track, index) { - var track_key = _this2.buildTrackKey(track, index); - track.key = track_key; - return _react2.default.createElement(_Track2.default, { - show_source_icon: _this2.props.show_source_icon, - key: track_key, - mini_zones: _this2.props.slim_mode || (0, _helpers.isTouchDevice)(), - track: track, - track_context: _this2.props.track_context, - can_sort: _this2.props.track_context == 'queue' || _this2.props.track_context == 'editable-playlist', - selected: _this2.props.selected_tracks.includes(track_key), - play_state: _this2.props.play_state, - dragger: _this2.props.dragger, - handleClick: function handleClick(e) { - return _this2.handleClick(e, track_key); - }, - handleDoubleClick: function handleDoubleClick(e) { - return _this2.handleDoubleClick(e, track_key); - }, - handleContextMenu: function handleContextMenu(e) { - return _this2.handleContextMenu(e, track_key); - }, - handleDrag: function handleDrag(e) { - return _this2.handleDrag(e, track_key); - }, - handleDrop: function handleDrop(e) { - return _this2.handleDrop(e, track_key); - }, - handleTap: function handleTap(e) { - return _this2.handleTap(e, track_key); - }, - handleDoubleTap: function handleDoubleTap(e) { - return _this2.handleDoubleTap(e, track_key); - }, - handleTouchDrag: function handleTouchDrag(e) { - return _this2.handleTouchDrag(e, track_key); - } - }); - }) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: className, + "data-qa-node": "div", + "data-qa-file": "TrackList" + }, this.props.tracks.map(function (track, index) { + var track_key = _this2.buildTrackKey(track, index); + + track.key = track_key; + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Track__WEBPACK_IMPORTED_MODULE_3__["default"], { + show_source_icon: _this2.props.show_source_icon, + key: track_key, + mini_zones: _this2.props.slim_mode || Object(_util_helpers__WEBPACK_IMPORTED_MODULE_6__["isTouchDevice"])(), + track: track, + track_context: _this2.props.track_context, + can_sort: _this2.props.track_context == 'queue' || _this2.props.track_context == 'editable-playlist', + selected: _this2.props.selected_tracks.includes(track_key), + play_state: _this2.props.play_state, + dragger: _this2.props.dragger, + handleClick: function handleClick(e) { + return _this2.handleClick(e, track_key); + }, + handleDoubleClick: function handleDoubleClick(e) { + return _this2.handleDoubleClick(e, track_key); + }, + handleContextMenu: function handleContextMenu(e) { + return _this2.handleContextMenu(e, track_key); + }, + handleDrag: function handleDrag(e) { + return _this2.handleDrag(e, track_key); + }, + handleDrop: function handleDrop(e) { + return _this2.handleDrop(e, track_key); + }, + handleTap: function handleTap(e) { + return _this2.handleTap(e, track_key); + }, + handleDoubleTap: function handleDoubleTap(e) { + return _this2.handleDoubleTap(e, track_key); + }, + handleTouchDrag: function handleTouchDrag(e) { + return _this2.handleTouchDrag(e, track_key); + }, + "data-qa-node": "Track", + "data-qa-file": "TrackList" + }); + })); } }]); return TrackList; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); var mapStateToProps = function mapStateToProps(state, ownProps) { return { @@ -97280,12 +98802,12 @@ var mapStateToProps = function mapStateToProps(state, ownProps) { var mapDispatchToProps = function mapDispatchToProps(dispatch) { return { - mopidyActions: (0, _redux.bindActionCreators)(mopidyActions, dispatch), - uiActions: (0, _redux.bindActionCreators)(uiActions, dispatch) + mopidyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_mopidy_actions__WEBPACK_IMPORTED_MODULE_4__, dispatch), + uiActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_ui_actions__WEBPACK_IMPORTED_MODULE_5__, dispatch) }; }; -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(TrackList); +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapStateToProps, mapDispatchToProps)(TrackList)); /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ "./node_modules/jquery/dist/jquery.js"))) /***/ }), @@ -97294,70 +98816,60 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)( /*!**************************************!*\ !*** ./src/js/components/URILink.js ***! \**************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _Link__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Link */ "./src/js/components/Link.js"); +/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util/helpers */ "./src/js/util/helpers.js"); -Object.defineProperty(exports, "__esModule", { - value: true -}); -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _Link = __webpack_require__(/*! ./Link */ "./src/js/components/Link.js"); - -var _Link2 = _interopRequireDefault(_Link); - -var _helpers = __webpack_require__(/*! ../util/helpers */ "./src/js/util/helpers.js"); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -exports.default = (0, _react.memo)(function (props) { +/* harmony default export */ __webpack_exports__["default"] = (/*#__PURE__*/Object(react__WEBPACK_IMPORTED_MODULE_0__["memo"])(function (props) { var to = null; var uri = props.uri, type = props.type; + var uriType = type || Object(_util_helpers__WEBPACK_IMPORTED_MODULE_2__["uriType"])(uri); - var uriType = type || (0, _helpers.uriType)(uri); if (!props.unencoded) { uri = encodeURIComponent(uri); } switch (uriType) { case 'playlist': - to = '/playlist/' + uri; + to = "/playlist/".concat(uri); break; case 'artist': - to = '/artist/' + uri; + to = "/artist/".concat(uri); break; case 'album': - to = '/album/' + uri; + to = "/album/".concat(uri); break; case 'track': - to = '/track/' + uri; + to = "/track/".concat(uri); break; case 'user': - to = '/user/' + uri; + to = "/user/".concat(uri); break; case 'browse': - to = '/library/browse/' + uri; + to = "/library/browse/".concat(uri); break; case 'recommendations': - to = '/discover/recommendations/' + uri; + to = "/discover/recommendations/".concat(uri); break; case 'search': var exploded = uri.split('%3A'); - to = '/search/' + exploded[2] + '/' + exploded[3]; + to = "/search/".concat(exploded[2], "/").concat(exploded[3]); break; default: @@ -97365,24 +98877,23 @@ exports.default = (0, _react.memo)(function (props) { } if (uri) { - return _react2.default.createElement( - _Link2.default, - { - className: props.className ? props.className : null, - to: to, - onContextMenu: function onContextMenu(e) { - return props.handleContextMenu ? props.handleContextMenu(e) : null; - } + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Link__WEBPACK_IMPORTED_MODULE_1__["default"], { + className: props.className ? props.className : null, + to: to, + onContextMenu: function onContextMenu(e) { + return props.handleContextMenu ? props.handleContextMenu(e) : null; }, - props.children - ); + "data-qa-node": "Link", + "data-qa-file": "URILink" + }, props.children); } - return _react2.default.createElement( - 'span', - { className: props.className ? props.className : null }, - props.children - ); -}); + + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: props.className ? props.className : null, + "data-qa-node": "span", + "data-qa-file": "URILink" + }, props.children); +})); /***/ }), @@ -97390,45 +98901,42 @@ exports.default = (0, _react.memo)(function (props) { /*!*************************!*\ !*** ./src/js/index.js ***! \*************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! no exports provided */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-dom */ "./node_modules/react-dom/index.js"); +/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-router-dom */ "./node_modules/react-router-dom/esm/react-router-dom.js"); +/* harmony import */ var _store_index__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./store/index */ "./src/js/store/index.js"); +/* harmony import */ var _App__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./App */ "./src/js/App.js"); -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); -var _react2 = _interopRequireDefault(_react); -var _reactDom = __webpack_require__(/*! react-dom */ "./node_modules/react-dom/index.js"); -var _reactDom2 = _interopRequireDefault(_reactDom); -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); - -var _reactRouterDom = __webpack_require__(/*! react-router-dom */ "./node_modules/react-router-dom/esm/react-router-dom.js"); - -var _index = __webpack_require__(/*! ./store/index */ "./src/js/store/index.js"); - -var _index2 = _interopRequireDefault(_index); - -var _App = __webpack_require__(/*! ./App */ "./src/js/App.js"); - -var _App2 = _interopRequireDefault(_App); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } __webpack_require__(/*! ../scss/app.scss */ "./src/scss/app.scss"); -_reactDom2.default.render(_react2.default.createElement( - _reactRedux.Provider, - { store: _index2.default }, - _react2.default.createElement( - _reactRouterDom.BrowserRouter, - { basename: '/iris' }, - _react2.default.createElement(_reactRouterDom.Route, { path: '/', component: _App2.default }) - ) -), document.getElementById('app')); +react_dom__WEBPACK_IMPORTED_MODULE_1___default.a.render( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_redux__WEBPACK_IMPORTED_MODULE_2__["Provider"], { + store: _store_index__WEBPACK_IMPORTED_MODULE_4__["default"], + "data-qa-node": "Provider", + "data-qa-file": "index" +}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_3__["BrowserRouter"], { + basename: "/iris", + "data-qa-node": "BrowserRouter", + "data-qa-file": "index" +}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_3__["Route"], { + path: "/", + component: _App__WEBPACK_IMPORTED_MODULE_5__["default"], + "data-qa-node": "Route", + "data-qa-file": "index" +}))), document.getElementById('app')); /***/ }), @@ -97447,41 +98955,40 @@ module.exports = JSON.parse("{\"name\":\"Deutsch\"}"); /*!***************************************!*\ !*** ./src/js/locale/dictionaries.js ***! \***************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default, en, de, available */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "de", function() { return de; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "available", function() { return available; }); +/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash */ "./node_modules/lodash/lodash.js"); +/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _en_yaml__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./en.yaml */ "./src/js/locale/en.yaml"); +var _en_yaml__WEBPACK_IMPORTED_MODULE_1___namespace = /*#__PURE__*/__webpack_require__.t(/*! ./en.yaml */ "./src/js/locale/en.yaml", 1); +/* harmony reexport (default from named exports) */ __webpack_require__.d(__webpack_exports__, "en", function() { return _en_yaml__WEBPACK_IMPORTED_MODULE_1__; }); +/* harmony import */ var _de_yaml__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./de.yaml */ "./src/js/locale/de.yaml"); +var _de_yaml__WEBPACK_IMPORTED_MODULE_2___namespace = /*#__PURE__*/__webpack_require__.t(/*! ./de.yaml */ "./src/js/locale/de.yaml", 1); -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.available = exports.de = exports.en = undefined; - -var _lodash = __webpack_require__(/*! lodash */ "./node_modules/lodash/lodash.js"); - -var _en = __webpack_require__(/*! ./en.yaml */ "./src/js/locale/en.yaml"); - -var _de2 = __webpack_require__(/*! ./de.yaml */ "./src/js/locale/de.yaml"); - -// Merge languages with English. This provides English fallbacks to untranslated + // Merge languages with English. This provides English fallbacks to untranslated // fields without breaking the UI (with blanks) var de = {}; -(0, _lodash.merge)(de, _en.en, _de2._de); - -console.log('en', _en.en); - -var available = [{ key: 'en', name: _en.en.name }, { key: 'de', name: de.name }]; - -exports.default = { - en: _en.en, +Object(lodash__WEBPACK_IMPORTED_MODULE_0__["merge"])(de, _en_yaml__WEBPACK_IMPORTED_MODULE_1__, _de_yaml__WEBPACK_IMPORTED_MODULE_2__); +var available = [{ + key: 'en', + name: _en_yaml__WEBPACK_IMPORTED_MODULE_1__.name +}, { + key: 'de', + name: de.name +}]; +/* harmony default export */ __webpack_exports__["default"] = ({ + en: _en_yaml__WEBPACK_IMPORTED_MODULE_1__, de: de, available: available -}; -exports.en = _en.en; -exports.de = de; -exports.available = available; +}); + /***/ }), @@ -97492,7 +98999,7 @@ exports.available = available; /*! exports provided: name, errors, actions, common, fields, time, specs, services, sidebar, context_menu, dropzones, playback_controls, snapcast, authentication, now_playing, album, artist, debug, playlist, queue_history, search, track, settings, user, discover, library, modal, default */ /***/ (function(module) { -module.exports = JSON.parse("{\"name\":\"English\",\"errors\":{\"uri_not_found\":\"Could not find anything with URI %{uri}\",\"could_not_load\":\"Could not load\",\"no_results\":\"No results found\",\"authorization_required\":\"You must authorize %{provider} first\",\"enable_first\":\"Enable %{provider} first\",\"no_service_worker\":\"Service worker not supported\",\"required\":\"Required\",\"unknown_error\":\"Unknown error\",\"need_to_be_online\":\"You need to be online load this resource\"},\"actions\":{\"play\":\"Play\",\"play_all\":\"Play all\",\"play_next\":\"Play next\",\"shuffle_play\":\"Shuffle play\",\"pause\":\"Pause\",\"stop\":\"Stop\",\"add_to_playlist\":\"Add to playlist\",\"add_to_library\":\"Add to library\",\"remove_from_library\":\"Remove from library\",\"add_to_queue\":\"Add to queue\",\"reset\":\"Reset\",\"back\":\"Back\",\"refresh\":\"Refresh\",\"enable\":\"Enable\",\"disable\":\"Disable\",\"send\":\"Send\",\"save\":\"Save\",\"start\":\"Start\",\"edit\":\"Edit\",\"add\":\"Add\",\"confirm\":\"Are you sure?\",\"delete\":\"Delete\",\"remove\":\"Remove\"},\"common\":{\"popularity\":\"Popularity\",\"name\":\"Name\",\"artist\":\"Artist\",\"duration\":\"Duration\",\"source\":\"Source\",\"sources\":\"Sources\",\"sort\":\"Sort\",\"filter\":\"Filter\",\"by\":\" by \"},\"fields\":{\"start_typing\":\"Start typing...\",\"search\":\"Search...\",\"sort\":\"Sort\",\"view\":\"View\",\"source\":\"Source\",\"uri\":\"URI(s)\",\"items_to_add\":{\"label\":\"Items to add\",\"placeholder\":\"No items\"},\"filters\":{\"all\":\"All\",\"thumbnails\":\"Thumbnails\",\"list\":\"List\",\"as_loaded\":\"As loaded\",\"name\":\"Name\",\"artist\":\"Artist\",\"updated\":\"Updated\",\"tracks\":\"Tracks\",\"source\":\"Source\",\"editable\":\"Editable\",\"owner\":\"Owner\",\"followers\":\"Followers\",\"popularity\":\"Popularity\"}},\"time\":{\"seconds\":{\"short\":\"secs\",\"singular\":\"second\",\"plural\":\"seconds\"},\"minutes\":{\"short\":\"mins\",\"singular\":\"minute\",\"plural\":\"minutes\"},\"hours\":{\"short\":\"hrs\",\"singular\":\"hour\",\"plural\":\"hours\"},\"days\":{\"short\":\"days\",\"singular\":\"day\",\"plural\":\"days\"},\"weeks\":{\"short\":\"wks\",\"singular\":\"week\",\"plural\":\"weeks\"},\"years\":{\"short\":\"yrs\",\"singular\":\"year\",\"plural\":\"years\"}},\"specs\":{\"tracks\":\"%{count} tracks\",\"followers\":\"%{count} followers\",\"listeners\":\"%{count} listeners\",\"playlists\":\"%{count} playlists\",\"plays\":\"%{count} plays\",\"popularity\":\"%{percent}% popularity\",\"added\":\"Added \",\"added_ago\":\"Added %{time} ago\",\"edited\":\"Edited \",\"edited_ago\":\"Edited %{time} ago\",\"played_ago\":\"Played %{time} ago\"},\"services\":{\"mopidy\":{\"title\":\"Mopidy\",\"local\":\"Local\"},\"spotify\":{\"title\":\"Spotify\"},\"pusher\":{\"title\":\"Pusher\"},\"snapcast\":{\"title\":\"Snapcast\"},\"genius\":{\"title\":\"Genius\",\"switch_lyrics_result\":\"Switch to another lyrics seach result\",\"want_lyrics\":\"Want track lyrics? Authorize Genius in \"},\"google\":{\"title\":\"Google\"},\"icecast\":{\"title\":\"Icecast\"},\"lastfm\":{\"title\":\"LastFM\",\"love\":\"Love\",\"unlove\":\"Unlove\"}},\"sidebar\":{\"now_playing\":\"Now playing\",\"search\":\"Search\",\"discover\":\"Discover\",\"genre\":\"Genre / Mood\",\"featured_playlists\":\"Featured playlists\",\"new_releases\":\"New releases\",\"my_music\":\"My music\",\"playlists\":\"Playlists\",\"artists\":\"Artists\",\"albums\":\"Albums\",\"tracks\":\"Tracks\",\"browse\":\"Browse\",\"settings\":\"Settings\",\"not_connected\":\"%{name} not connected\",\"browser_offline\":\"Browser offline\",\"update_available\":\"Update available\"},\"context_menu\":{\"add_to_playlist\":{\"title\":\"Add to playlist\",\"no_playlists\":\"No writable playlists\"},\"play_next\":\"Play next\",\"play_top_tracks\":\"Play top tracks\",\"love_track\":\"Love track\",\"unlove_track\":\"Unlove track\",\"go_to_artist\":\"Go to artist\",\"go_to_user\":\"Go to user\",\"track_info\":\"Track info\",\"discover_similar\":\"Discover similar\",\"start_radio\":\"Start radio\",\"copy_uri\":\"Copy URI(s)\"},\"dropzones\":{\"dragging_things\":\"Dragging %{count} things\"},\"playback_controls\":{\"consume\":\"Consume\",\"shuffle\":\"Shuffle\",\"repeat\":\"Repeat\",\"no_outputs\":\"No outputs\"},\"snapcast\":{\"enabled\":\"Enabled\",\"show_disconnected_clients\":\"Show disconnected clients\",\"no_connected_clients\":\"No connected clients\",\"host\":\"Host\",\"port\":\"Port\",\"name\":\"Name\",\"name_disconnected\":\"Name (disconnected)\",\"group\":\"Group\",\"new_group\":\"+ New group\",\"latency\":\"Latency\",\"stream\":\"Stream\",\"volume\":\"Volume\"},\"authentication\":{\"popup_blocked\":\"Popup blocked. Please allow popups and try again.\",\"failed\":\"Authorization failed. %{origin} is not the configured authorization_url.\",\"log_out\":\"Log out\",\"log_in\":\"Log in\"},\"now_playing\":{\"title\":\"Now playing\",\"context_actions\":{\"radio\":\"Radio\",\"history\":\"History\",\"add_uri\":\"Add URI\"},\"current_track\":{\"playing_from\":\"Playing from\",\"shuffle\":\"Shuffle\",\"clear\":\"Clear\",\"radio\":\"Radio\"}},\"album\":{\"title\":\"Album\",\"title_window\":\"%{name} by %{artist} (album)\",\"wiki\":{\"title\":\"About\",\"published\":\"Published: %{date}\"}},\"artist\":{\"title\":\"Artist\",\"title_window\":\"%{name} (artist)\",\"overview\":{\"title\":\"Overview\",\"top_tracks\":\"Top tracks\",\"related_artists\":{\"title\":\"Related artists\",\"more\":\"All related artists\"}},\"tracks\":{\"title\":\"Tracks\"},\"related_artists\":{\"title\":\"Related artists\"},\"about\":{\"title\":\"About\",\"source\":\"%{source} artist\",\"wiki\":{\"published\":\"Published: %{date}\",\"origin\":\"Origin: \"}}},\"debug\":{\"title\":\"Debug\",\"ui\":{\"title\":\"User interface\"},\"debug\":{\"title\":\"Debug\",\"overlay\":\"Show debug overlay\"},\"logging\":{\"title\":\"Logging\",\"mopidy\":\"Log Mopidy\",\"pusher\":\"Log Pusher\",\"actions\":\"Log Actions\",\"snapcast\":\"Log Snapcast\"},\"create_notification\":\"Create notification\",\"create_process\":\"Create process notification\",\"run_test\":\"Run test process\",\"call\":\"Call\",\"data\":\"Data\",\"examples\":\"Examples\"},\"playlist\":{\"title\":\"Playlist\",\"title_window\":\"%{name} (playlist)\",\"title_plural\":\"Playlists\"},\"queue_history\":{\"title\":\"Playback history\"},\"search\":{\"title\":\"Search\",\"title_window\":\"Search: %{term}\",\"context_actions\":{\"sort\":\"Sort\",\"source\":\"Sources (%{count})\"},\"placeholder\":\"Search\",\"all\":{\"title\":\"All\"},\"artists\":{\"title\":\"Artists\",\"more\":\"All artists (%{count})\"},\"albums\":{\"title\":\"Albums\",\"more\":\"All albums (%{count})\"},\"playlists\":{\"title\":\"Playlists\",\"more\":\"All playlists (%{count})\"},\"tracks\":{\"title\":\"Tracks\"}},\"track\":{\"title\":\"Track\",\"title_window\":\"%{name} by %{artists} (track)\",\"lyrics_origin\":\"Origin: \",\"explicit\":\"Explicit\",\"disc_number\":\"Disc %{number}\",\"track_number\":\"Track %{number}\",\"unknown_album\":\"Unknown album\",\"want_lyrics\":\"Want track lyrics? Authorize Genius under \"},\"settings\":{\"title\":\"Settings\",\"help\":\"Help\",\"server\":{\"title\":\"Server\",\"username\":{\"label\":\"Username\",\"description\":\"A non-unique string used to identify this client (no special characters)\"}},\"interface\":{\"title\":\"Interface\",\"language\":{\"label\":\"Language\"},\"theme\":{\"label\":\"Theme\",\"auto\":\"Auto\",\"auto_tooltip\":\"Detects your browser or OS preference\",\"dark\":\"Dark\",\"light\":\"Light\"},\"behavior\":{\"label\":\"Behavior\",\"clear_tracklist\":\"Clear tracklist on play of URI(s)\",\"clear_tracklist_tooltip\":\"Playing one or more URIs will clear the current play queue first\",\"hotkeys\":\"Enable hotkeys\",\"smooth_scrolling\":\"Enable smooth scrolling\",\"touch_events\":\"Enable touch events on play controls\",\"touch_events_tooltip\":\"Allows left- and right-swipe to change tracks\",\"wide_scrollbars\":\"Use wide scrollbars\"},\"sources_priority\":{\"label\":\"Sources priority\",\"description\":\"Drag-and-drop to prioritize search providers and results\"},\"reporting\":{\"label\":\"Reporting\",\"sublabel\":\"Allow reporting of anonymous usage statistics\",\"description\":\"This anonymous usage data is important in identifying errors and potential features that make Iris better for everyone. Want to know more? Read the \",\"privacy_policy\":\"privacy policy\",\"are_you_sure\":\"Are you sure you don't want to support this?\"},\"commands\":{\"label\":\"Commands\"}},\"advanced\":{\"title\":\"Advanced\",\"start_local_scan\":\"Start local scan\",\"artist_uri\":{\"label\":\"Artist library URI\",\"description\":\"URI used for collecting library artists\"},\"album_uri\":{\"label\":\"Album library URI\",\"description\":\"URI used for collecting library albums\"},\"connections\":{\"label\":\"Connections\"},\"version\":{\"label\":\"Version\",\"upgrade_available\":\"Upgrade available (%{version})\",\"upgrade\":\"Upgrade to %{version}\",\"up_to_date\":\"Up to date\"},\"share_configuration\":\"Share configuration\",\"restart\":\"Restart server\",\"reset_cache\":\"Reset cache\",\"reset\":\"Reset all settings\"},\"about\":{\"title\":\"About\",\"blurb_1\":\" is an open-source project by \",\"blurb_2\":\". It is provided free and with absolutely no warranty. If you paid someone for this software, please let me know.\",\"donate\":\"Donate\",\"github\":\"GitHub\"},\"pusher_connection_list\":{\"not_connected\":\"Not connected\",\"no_connections\":\"No connections\",\"you\":\" (you)\"},\"servers\":{\"inactive\":\"Inactive\",\"connecting\":\"Connecting\",\"disconnected\":\"Disconnected\",\"connected\":\"Connected\",\"new_server\":\"New server\",\"name\":\"Name\",\"host\":\"Host\",\"port\":\"Port\",\"encryption\":{\"label\":\"Encryption\",\"sublabel\":\"Use SSL\",\"description\":\"Requires a SSL proxy\"},\"switch\":\"Switch to this server\",\"reconnect\":\"Reconnect\"},\"services\":{\"title\":\"Services\",\"limited_access\":\"Limited access\",\"unknown\":\"Unknown\",\"current_user\":\"Current user\",\"authorization\":\"Authorization\",\"refresh_token\":\"Refresh token\",\"authorized\":\"Authorized\",\"read_only\":\"Read-only\",\"unauthorized\":\"Unauthorized\",\"enabled\":\"Enabled\",\"disabled\":\"Disabled\",\"connected\":\"Connected\",\"disconnected\":\"Disconnected\",\"spotify\":{\"mopidy_spotify_not_running\":\"Mopidy-Spotify extension is not running - you will not be able to play any Spotify tracks\",\"country\":{\"label\":\"Country\",\"description\":\"An ISO 3166-1 alpha-2 country code (eg 'NZ')\"},\"locale\":{\"title\":\"Locale\",\"description\":\"Lowercase ISO 639 language code and an uppercase ISO 3166-1 alpha-2 country code, joined by an underscore (eg 'en_NZ')\"}},\"icecast\":{\"enable\":{\"label\":\"Enable\",\"description\":\"Stream audio to this browser\"},\"location\":{\"label\":\"Location\",\"description\":\"The full URL to your stream endpoint\"}}}},\"user\":{\"title\":\"User\",\"title_window\":\"%{name} (user)\",\"you\":\"You\"},\"discover\":{\"title\":\"Discover\",\"categories\":{\"title\":\"Genre / Mood\"},\"category\":{\"title\":\"Genre / Mood\",\"category\":\"Category\"},\"featured\":{\"title\":\"Featured playlists\"},\"new_releases\":{\"title\":\"New releases\"},\"recommendations\":{\"title\":\"Discover\",\"tracks\":\"Tracks\",\"artists\":\"Artists\",\"albums\":\"Albums\",\"body_title\":\"Explore new music\",\"body_subtitle\":\"Add seeds and musical properties below to build your sound\",\"too_many_seeds\":\"Too many seeds! You can use up to a total of 5 seed tracks, artists and genres.\",\"find_recommendations\":\"Find recommendations\"}},\"library\":{\"albums\":{\"title\":\"My albums\"},\"artists\":{\"title\":\"My artists\"},\"browse\":{\"title\":\"Browse\"},\"browse_directory\":{\"title\":\"Directory\"},\"playlists\":{\"title\":\"My playlists\"},\"tracks\":{\"title\":\"My tracks\"}},\"modal\":{\"add_to_playlist\":{\"title\":\"Add to playlist\",\"subtitle\":\"Select playlist to add %{count} track%{plural} to\",\"no_playlists\":\"No playlists available\",\"no_editable_playlists\":\"No editable playlists\"},\"add_to_queue\":{\"title\":\"Add to queue\",\"subtitle\":\"Add a comma-separated list of URIs to the play queue\",\"uris\":\"URI(s)\",\"add_random\":\"Add random\",\"position\":{\"label\":\"Position\",\"end\":\"End\",\"next\":\"After current track\"}},\"edit_playlist\":{\"title\":\"Edit playlist\",\"title_create\":\"Create playlist\",\"name_required\":\"Name is required\",\"name\":\"Name\",\"description\":\"Description\",\"provider\":\"Provider\",\"image\":{\"label\":\"Cover image\",\"description\":\"JPEG only, 256kB max. Leave empty to keep cover image unchanged.\"},\"options\":{\"label\":\"Options\",\"public\":\"Public\",\"collaborative\":\"Collaborative\"},\"create_playlist\":\"Create playlist\"},\"edit_command\":{\"title\":\"Edit command\",\"title_create\":\"Create command\",\"name\":\"Name\",\"colour\":\"Colour\",\"icon\":\"Icon\",\"url\":\"URL\",\"method\":{\"label\":\"Method\",\"get\":\"GET\",\"post\":\"POST\"},\"data\":\"Data\",\"headers\":\"Additional headers\"},\"edit_radio\":{\"title\":\"Radio\",\"subtitle\":\"Add and remove seeds to shape the sound of your radio. Radio uses Spotify's recommendations engine to suggest tracks similar to your seeds.\",\"invalid_seed_uri\":\"Invalid seed URI(s)\",\"too_many_seeds\":\"More than 5 seeds provided, ignoring rest\",\"only_spotify_uris\":\"Only Spotify URIs are supported\",\"already_added\":\"URI already added\",\"no_seeds\":\"No seeds\"},\"initial_setup\":{\"title\":\"Welcome to Iris\",\"username\":\"User\"},\"kiosk\":{\"title\":\"Now playing\",\"title_window\":\"%{name} by %{artist} (now playing)\",\"lyrics\":\"Lyrics\"},\"share_configuration\":{\"title\":\"Share configuration\",\"subtitle\":\"Push your authorizations and interface settings to another, connected user\",\"no_peers\":\"No peer connections\",\"recipients\":\"Recipients\",\"configurations\":\"Configurations\",\"authorization\":\"%{service} authorization\",\"logged_in_as\":\"Logged in as %{name}\",\"snapcast_description\":\"Server connection details\",\"interface\":\"Interface settings\",\"interface_description\":\"Theme, sorting, filters, etc\",\"import\":{\"title\":\"Configuration shared\",\"subtitle\":\"Another user has shared their configuration with you. This includes:\",\"do_you_want_to_import\":\"Do you want to import this?\",\"import_now\":\"Import now\",\"successful\":\"Import successful\"}}}}"); +module.exports = JSON.parse("{\"name\":\"English\",\"errors\":{\"uri_not_found\":\"Could not find anything with URI %{uri}\",\"could_not_load\":\"Could not load\",\"no_results\":\"No results found\",\"authorization_required\":\"You must authorize %{provider} first\",\"enable_first\":\"Enable %{provider} first\",\"no_service_worker\":\"Service worker not supported\",\"required\":\"Required\",\"unknown_error\":\"Unknown error\",\"need_to_be_online\":\"You need to be online load this resource\"},\"actions\":{\"play\":\"Play\",\"play_all\":\"Play all\",\"play_next\":\"Play next\",\"shuffle_play\":\"Shuffle play\",\"pause\":\"Pause\",\"stop\":\"Stop\",\"add_to_playlist\":\"Add to playlist\",\"add_to_library\":\"Add to library\",\"remove_from_library\":\"Remove from library\",\"add_to_queue\":\"Add to queue\",\"reset\":\"Reset\",\"back\":\"Back\",\"refresh\":\"Refresh\",\"enable\":\"Enable\",\"disable\":\"Disable\",\"send\":\"Send\",\"save\":\"Save\",\"start\":\"Start\",\"edit\":\"Edit\",\"add\":\"Add\",\"confirm\":\"Are you sure?\",\"delete\":\"Delete\",\"remove\":\"Remove\"},\"common\":{\"popularity\":\"Popularity\",\"name\":\"Name\",\"artist\":\"Artist\",\"duration\":\"Duration\",\"source\":\"Source\",\"sources\":\"Sources\",\"sort\":\"Sort\",\"filter\":\"Filter\",\"by\":\" by \"},\"fields\":{\"start_typing\":\"Start typing...\",\"search\":\"Search...\",\"sort\":\"Sort\",\"view\":\"View\",\"source\":\"Source\",\"uri\":\"URI(s)\",\"items_to_add\":{\"label\":\"Items to add\",\"placeholder\":\"No items\"},\"filters\":{\"all\":\"All\",\"thumbnails\":\"Thumbnails\",\"list\":\"List\",\"as_loaded\":\"As loaded\",\"name\":\"Name\",\"artist\":\"Artist\",\"updated\":\"Updated\",\"tracks\":\"Tracks\",\"source\":\"Source\",\"editable\":\"Editable\",\"owner\":\"Owner\",\"followers\":\"Followers\",\"popularity\":\"Popularity\"}},\"time\":{\"seconds\":{\"short\":\"secs\",\"singular\":\"second\",\"plural\":\"seconds\"},\"minutes\":{\"short\":\"mins\",\"singular\":\"minute\",\"plural\":\"minutes\"},\"hours\":{\"short\":\"hrs\",\"singular\":\"hour\",\"plural\":\"hours\"},\"days\":{\"short\":\"days\",\"singular\":\"day\",\"plural\":\"days\"},\"weeks\":{\"short\":\"wks\",\"singular\":\"week\",\"plural\":\"weeks\"},\"years\":{\"short\":\"yrs\",\"singular\":\"year\",\"plural\":\"years\"}},\"specs\":{\"tracks\":\"%{count} tracks\",\"albums\":\"%{count} albums\",\"followers\":\"%{count} followers\",\"listeners\":\"%{count} listeners\",\"playlists\":\"%{count} playlists\",\"plays\":\"%{count} plays\",\"popularity\":\"%{percent}% popularity\",\"added\":\"Added \",\"added_ago\":\"Added %{time} ago\",\"edited\":\"Edited \",\"edited_ago\":\"Edited %{time} ago\",\"played_ago\":\"Played %{time} ago\"},\"services\":{\"mopidy\":{\"title\":\"Mopidy\",\"local\":\"Local\"},\"spotify\":{\"title\":\"Spotify\"},\"pusher\":{\"title\":\"Pusher\"},\"snapcast\":{\"title\":\"Snapcast\"},\"genius\":{\"title\":\"Genius\",\"switch_lyrics_result\":\"Switch to another lyrics seach result\",\"want_lyrics\":\"Want track lyrics? Authorize Genius in \"},\"google\":{\"title\":\"Google\"},\"icecast\":{\"title\":\"Icecast\"},\"lastfm\":{\"title\":\"LastFM\",\"love\":\"Love\",\"unlove\":\"Unlove\"}},\"sidebar\":{\"now_playing\":\"Now playing\",\"search\":\"Search\",\"discover\":\"Discover\",\"genre\":\"Genre / Mood\",\"featured_playlists\":\"Featured playlists\",\"new_releases\":\"New releases\",\"my_music\":\"My music\",\"playlists\":\"Playlists\",\"artists\":\"Artists\",\"albums\":\"Albums\",\"tracks\":\"Tracks\",\"browse\":\"Browse\",\"settings\":\"Settings\",\"not_connected\":\"%{name} not connected\",\"browser_offline\":\"Browser offline\",\"update_available\":\"Update available\"},\"context_menu\":{\"add_to_playlist\":{\"title\":\"Add to playlist\",\"no_playlists\":\"No writable playlists\"},\"play_next\":\"Play next\",\"play_top_tracks\":\"Play top tracks\",\"love_track\":\"Love track\",\"unlove_track\":\"Unlove track\",\"go_to_artist\":\"Go to artist\",\"go_to_user\":\"Go to user\",\"track_info\":\"Track info\",\"discover_similar\":\"Discover similar\",\"start_radio\":\"Start radio\",\"copy_uri\":\"Copy URI(s)\"},\"dropzones\":{\"dragging_things\":\"Dragging %{count} things\"},\"playback_controls\":{\"consume\":\"Consume\",\"shuffle\":\"Shuffle\",\"repeat\":\"Repeat\",\"no_outputs\":\"No outputs\"},\"snapcast\":{\"enabled\":\"Enabled\",\"show_disconnected_clients\":\"Show disconnected clients\",\"no_connected_clients\":\"No connected clients\",\"host\":\"Host\",\"port\":\"Port\",\"name\":\"Name\",\"name_disconnected\":\"Name (disconnected)\",\"group\":\"Group\",\"new_group\":\"+ New group\",\"latency\":\"Latency\",\"stream\":\"Stream\",\"volume\":\"Volume\"},\"authentication\":{\"popup_blocked\":\"Popup blocked. Please allow popups and try again.\",\"failed\":\"Authorization failed. %{origin} is not the configured authorization_url.\",\"log_out\":\"Log out\",\"log_in\":\"Log in\"},\"now_playing\":{\"title\":\"Now playing\",\"context_actions\":{\"radio\":\"Radio\",\"history\":\"History\",\"add_uri\":\"Add URI\"},\"current_track\":{\"playing_from\":\"Playing from\",\"shuffle\":\"Shuffle\",\"clear\":\"Clear\",\"radio\":\"Radio\"}},\"album\":{\"title\":\"Album\",\"title_window\":\"%{name} by %{artist} (album)\",\"wiki\":{\"title\":\"About\",\"published\":\"Published: %{date}\"}},\"artist\":{\"title\":\"Artist\",\"title_window\":\"%{name} (artist)\",\"overview\":{\"title\":\"Overview\",\"top_tracks\":\"Top tracks\",\"related_artists\":{\"title\":\"Related artists\",\"more\":\"All related artists\"}},\"tracks\":{\"title\":\"Tracks\"},\"related_artists\":{\"title\":\"Related artists\"},\"about\":{\"title\":\"About\",\"source\":\"%{source} artist\",\"wiki\":{\"published\":\"Published: %{date}\",\"origin\":\"Origin: \"}}},\"debug\":{\"title\":\"Debug\",\"ui\":{\"title\":\"User interface\"},\"debug\":{\"title\":\"Debug\",\"overlay\":\"Show debug overlay\"},\"logging\":{\"title\":\"Logging\",\"mopidy\":\"Log Mopidy\",\"pusher\":\"Log Pusher\",\"actions\":\"Log Actions\",\"snapcast\":\"Log Snapcast\"},\"create_notification\":\"Create notification\",\"create_process\":\"Create process notification\",\"run_test\":\"Run test process\",\"call\":\"Call\",\"data\":\"Data\",\"examples\":\"Examples\"},\"playlist\":{\"title\":\"Playlist\",\"title_window\":\"%{name} (playlist)\",\"title_plural\":\"Playlists\"},\"queue_history\":{\"title\":\"Playback history\"},\"search\":{\"title\":\"Search\",\"title_window\":\"Search: %{term}\",\"context_actions\":{\"sort\":\"Sort\",\"source\":\"Sources (%{count})\"},\"placeholder\":\"Search\",\"all\":{\"title\":\"All\"},\"artists\":{\"title\":\"Artists\",\"more\":\"All artists (%{count})\"},\"albums\":{\"title\":\"Albums\",\"more\":\"All albums (%{count})\"},\"playlists\":{\"title\":\"Playlists\",\"more\":\"All playlists (%{count})\"},\"tracks\":{\"title\":\"Tracks\"}},\"track\":{\"title\":\"Track\",\"title_window\":\"%{name} by %{artists} (track)\",\"lyrics_origin\":\"Origin: \",\"explicit\":\"Explicit\",\"disc_number\":\"Disc %{number}\",\"track_number\":\"Track %{number}\",\"unknown_album\":\"Unknown album\",\"want_lyrics\":\"Want track lyrics? Authorize Genius under \"},\"settings\":{\"title\":\"Settings\",\"help\":\"Help\",\"server\":{\"title\":\"Server\",\"username\":{\"label\":\"Username\",\"description\":\"A non-unique string used to identify this client (no special characters)\"}},\"interface\":{\"title\":\"Interface\",\"language\":{\"label\":\"Language\"},\"theme\":{\"label\":\"Theme\",\"auto\":\"Auto\",\"auto_tooltip\":\"Detects your browser or OS preference\",\"dark\":\"Dark\",\"light\":\"Light\"},\"behavior\":{\"label\":\"Behavior\",\"clear_tracklist\":\"Clear tracklist on play of URI(s)\",\"clear_tracklist_tooltip\":\"Playing one or more URIs will clear the current play queue first\",\"hotkeys\":\"Enable hotkeys\",\"smooth_scrolling\":\"Enable smooth scrolling\",\"touch_events\":\"Enable touch events on play controls\",\"touch_events_tooltip\":\"Allows left- and right-swipe to change tracks\",\"wide_scrollbars\":\"Use wide scrollbars\"},\"sources_priority\":{\"label\":\"Sources priority\",\"description\":\"Drag-and-drop to prioritize search providers and results\"},\"reporting\":{\"label\":\"Reporting\",\"sublabel\":\"Allow reporting of anonymous usage statistics\",\"description\":\"This anonymous usage data is important in identifying errors and potential features that make Iris better for everyone. Want to know more? Read the \",\"privacy_policy\":\"privacy policy\",\"are_you_sure\":\"Are you sure you don't want to support this?\"},\"commands\":{\"label\":\"Commands\"}},\"advanced\":{\"title\":\"Advanced\",\"start_local_scan\":\"Start local scan\",\"artist_uri\":{\"label\":\"Artist library URI\",\"description\":\"URI used for collecting library artists\"},\"album_uri\":{\"label\":\"Album library URI\",\"description\":\"URI used for collecting library albums\"},\"connections\":{\"label\":\"Connections\"},\"version\":{\"label\":\"Version\",\"upgrade_available\":\"Upgrade available (%{version})\",\"upgrade\":\"Upgrade to %{version}\",\"up_to_date\":\"Up to date\"},\"share_configuration\":\"Share configuration\",\"restart\":\"Restart server\",\"reset_cache\":\"Reset cache\",\"reset\":\"Reset all settings\"},\"about\":{\"title\":\"About\",\"blurb_1\":\" is an open-source project by \",\"blurb_2\":\". It is provided free and with absolutely no warranty. If you paid someone for this software, please let me know.\",\"donate\":\"Donate\",\"github\":\"GitHub\"},\"pusher_connection_list\":{\"not_connected\":\"Not connected\",\"no_connections\":\"No connections\",\"you\":\" (you)\"},\"servers\":{\"inactive\":\"Inactive\",\"connecting\":\"Connecting\",\"disconnected\":\"Disconnected\",\"connected\":\"Connected\",\"new_server\":\"New server\",\"name\":\"Name\",\"host\":\"Host\",\"port\":\"Port\",\"encryption\":{\"label\":\"Encryption\",\"sublabel\":\"Use SSL\",\"description\":\"Requires a SSL proxy\"},\"switch\":\"Switch to this server\",\"reconnect\":\"Reconnect\"},\"services\":{\"title\":\"Services\",\"limited_access\":\"Limited access\",\"unknown\":\"Unknown\",\"current_user\":\"Current user\",\"authorization\":\"Authorization\",\"refresh_token\":\"Refresh token\",\"authorized\":\"Authorized\",\"read_only\":\"Read-only\",\"unauthorized\":\"Unauthorized\",\"enabled\":\"Enabled\",\"disabled\":\"Disabled\",\"connected\":\"Connected\",\"disconnected\":\"Disconnected\",\"spotify\":{\"mopidy_spotify_not_running\":\"Mopidy-Spotify extension is not running - you will not be able to play any Spotify tracks\",\"country\":{\"label\":\"Country\",\"description\":\"An ISO 3166-1 alpha-2 country code (eg 'NZ')\"},\"locale\":{\"title\":\"Locale\",\"description\":\"Lowercase ISO 639 language code and an uppercase ISO 3166-1 alpha-2 country code, joined by an underscore (eg 'en_NZ')\"}},\"icecast\":{\"enable\":{\"label\":\"Enable\",\"description\":\"Stream audio to this browser\"},\"location\":{\"label\":\"Location\",\"description\":\"The full URL to your stream endpoint\"}}}},\"user\":{\"title\":\"User\",\"title_window\":\"%{name} (user)\",\"you\":\"You\"},\"discover\":{\"title\":\"Discover\",\"categories\":{\"title\":\"Genre / Mood\"},\"category\":{\"title\":\"Genre / Mood\",\"category\":\"Category\"},\"featured\":{\"title\":\"Featured playlists\"},\"new_releases\":{\"title\":\"New releases\"},\"recommendations\":{\"title\":\"Discover\",\"tracks\":\"Tracks\",\"artists\":\"Artists\",\"albums\":\"Albums\",\"body_title\":\"Explore new music\",\"body_subtitle\":\"Add seeds and musical properties below to build your sound\",\"too_many_seeds\":\"Too many seeds! You can use up to a total of 5 seed tracks, artists and genres.\",\"find_recommendations\":\"Find recommendations\"}},\"library\":{\"albums\":{\"title\":\"My albums\"},\"artists\":{\"title\":\"My artists\"},\"browse\":{\"title\":\"Browse\"},\"browse_directory\":{\"title\":\"Directory\"},\"playlists\":{\"title\":\"My playlists\"},\"tracks\":{\"title\":\"My tracks\"}},\"modal\":{\"add_to_playlist\":{\"title\":\"Add to playlist\",\"subtitle\":\"Select playlist to add %{count} track%{plural} to\",\"no_playlists\":\"No playlists available\",\"no_editable_playlists\":\"No editable playlists\"},\"add_to_queue\":{\"title\":\"Add to queue\",\"subtitle\":\"Add a comma-separated list of URIs to the play queue\",\"uris\":\"URI(s)\",\"add_random\":\"Add random\",\"position\":{\"label\":\"Position\",\"end\":\"End\",\"next\":\"After current track\"}},\"edit_playlist\":{\"title\":\"Edit playlist\",\"title_create\":\"Create playlist\",\"name_required\":\"Name is required\",\"name\":\"Name\",\"description\":\"Description\",\"provider\":\"Provider\",\"image\":{\"label\":\"Cover image\",\"description\":\"JPEG only, 256kB max. Leave empty to keep cover image unchanged.\"},\"options\":{\"label\":\"Options\",\"public\":\"Public\",\"collaborative\":\"Collaborative\"},\"create_playlist\":\"Create playlist\"},\"edit_command\":{\"title\":\"Edit command\",\"title_create\":\"Create command\",\"name\":\"Name\",\"colour\":\"Colour\",\"icon\":\"Icon\",\"url\":\"URL\",\"method\":{\"label\":\"Method\",\"get\":\"GET\",\"post\":\"POST\"},\"data\":\"Data\",\"headers\":\"Additional headers\"},\"edit_radio\":{\"title\":\"Radio\",\"subtitle\":\"Add and remove seeds to shape the sound of your radio. Radio uses Spotify's recommendations engine to suggest tracks similar to your seeds.\",\"invalid_seed_uri\":\"Invalid seed URI(s)\",\"too_many_seeds\":\"More than 5 seeds provided, ignoring rest\",\"only_spotify_uris\":\"Only Spotify URIs are supported\",\"already_added\":\"URI already added\",\"no_seeds\":\"No seeds\"},\"initial_setup\":{\"title\":\"Welcome to Iris\",\"username\":\"User\"},\"kiosk\":{\"title\":\"Now playing\",\"title_window\":\"%{name} by %{artist} (now playing)\",\"lyrics\":\"Lyrics\"},\"share_configuration\":{\"title\":\"Share configuration\",\"subtitle\":\"Push your authorizations and interface settings to another, connected user\",\"no_peers\":\"No peer connections\",\"recipients\":\"Recipients\",\"configurations\":\"Configurations\",\"authorization\":\"%{service} authorization\",\"logged_in_as\":\"Logged in as %{name}\",\"snapcast_description\":\"Server connection details\",\"interface\":\"Interface settings\",\"interface_description\":\"Theme, sorting, filters, etc\",\"import\":{\"title\":\"Configuration shared\",\"subtitle\":\"Another user has shared their configuration with you. This includes:\",\"do_you_want_to_import\":\"Do you want to import this?\",\"import_now\":\"Import now\",\"successful\":\"Import successful\"}}}}"); /***/ }), @@ -97500,46 +99007,37 @@ module.exports = JSON.parse("{\"name\":\"English\",\"errors\":{\"uri_not_found\" /*!********************************!*\ !*** ./src/js/locale/index.js ***! \********************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default, I18n, i18n, languagesAvailable */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "I18n", function() { return I18n; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "i18n", function() { return i18n; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "languagesAvailable", function() { return languagesAvailable; }); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var lodash_get__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash/get */ "./node_modules/lodash/get.js"); +/* harmony import */ var lodash_get__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_get__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _dictionaries__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./dictionaries */ "./src/js/locale/dictionaries.js"); +/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../util/helpers */ "./src/js/util/helpers.js"); +function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } + +function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.languagesAvailable = exports.i18n = exports.I18n = undefined; -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); -var _react2 = _interopRequireDefault(_react); - -var _get = __webpack_require__(/*! lodash/get */ "./node_modules/lodash/get.js"); - -var _get2 = _interopRequireDefault(_get); - -var _dictionaries = __webpack_require__(/*! ./dictionaries */ "./src/js/locale/dictionaries.js"); - -var _dictionaries2 = _interopRequireDefault(_dictionaries); - -var _helpers = __webpack_require__(/*! ../util/helpers */ "./src/js/util/helpers.js"); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } var PARAMS_REG_EXP = '%{(.*?)}'; var paramsRegExp = new RegExp(PARAMS_REG_EXP, 'g'); -var languagesAvailable = _dictionaries2.default.available; +var languagesAvailable = _dictionaries__WEBPACK_IMPORTED_MODULE_2__["default"].available; var i18n = function i18n(path) { var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - var transform = arguments[2]; - - var dictionary = _dictionaries2.default[window.language || 'en'] || _dictionaries2.default.en; - - var value = (0, _get2.default)(dictionary, path, ''); + var transform = arguments.length > 2 ? arguments[2] : undefined; + var dictionary = _dictionaries__WEBPACK_IMPORTED_MODULE_2__["default"][window.language || 'en'] || _dictionaries__WEBPACK_IMPORTED_MODULE_2__["default"].en; + var value = lodash_get__WEBPACK_IMPORTED_MODULE_1___default()(dictionary, path, ''); value = value.replace(paramsRegExp, function (replaceText, key) { return params.hasOwnProperty(key) ? params[key] : ''; }); @@ -97548,12 +99046,15 @@ var i18n = function i18n(path) { case 'upper': value = value.toUpperCase(); break; + case 'lower': value = value.toLowerCase(); break; + case 'title': - value = (0, _helpers.titleCase)(value); + value = Object(_util_helpers__WEBPACK_IMPORTED_MODULE_3__["titleCase"])(value); break; + default: break; } @@ -97566,25 +99067,21 @@ var I18n = function I18n(_ref) { transform = _ref.transform, children = _ref.children, contentAfter = _ref.contentAfter, - params = _objectWithoutProperties(_ref, ['path', 'transform', 'children', 'contentAfter']); + params = _objectWithoutProperties(_ref, ["path", "transform", "children", "contentAfter"]); - return _react2.default.createElement( - _react.Fragment, - null, - !contentAfter && children, - i18n(path, params, transform), - contentAfter && children - ); + if (!children) { + return i18n(path, params, transform); + } + + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null, !contentAfter && children, i18n(path, params, transform), contentAfter && children); }; -exports.default = { +/* harmony default export */ __webpack_exports__["default"] = ({ I18n: I18n, i18n: i18n, languagesAvailable: languagesAvailable -}; -exports.I18n = I18n; -exports.i18n = i18n; -exports.languagesAvailable = languagesAvailable; +}); + /***/ }), @@ -97592,58 +99089,55 @@ exports.languagesAvailable = languagesAvailable; /*!*****************************************!*\ !*** ./src/js/services/core/actions.js ***! \*****************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: getBroadcasts, startSearch, handleException, debugResponse, set, clearCurrentTrack, cachebustHttpStream, loadItem, loadTrack, loadAlbum, loadArtist, loadPlaylist, loadUser, loadUserPlaylists, trackLoaded, tracksLoaded, artistLoaded, artistsLoaded, albumLoaded, albumsLoaded, playlistLoaded, playlistsLoaded, userLoaded, usersLoaded, userPlaylistsLoaded, loadedMore, removeFromIndex, viewDataLoaded, reorderPlaylistTracks, savePlaylist, createPlaylist, deletePlaylist, removeTracksFromPlaylist, addTracksToPlaylist, getLibraryPlaylists, getLibraryAlbums, getLibraryArtists */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* WEBPACK VAR INJECTION */(function($) { +__webpack_require__.r(__webpack_exports__); +/* WEBPACK VAR INJECTION */(function($) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getBroadcasts", function() { return getBroadcasts; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "startSearch", function() { return startSearch; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "handleException", function() { return handleException; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "debugResponse", function() { return debugResponse; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "set", function() { return set; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "clearCurrentTrack", function() { return clearCurrentTrack; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "cachebustHttpStream", function() { return cachebustHttpStream; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "loadItem", function() { return loadItem; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "loadTrack", function() { return loadTrack; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "loadAlbum", function() { return loadAlbum; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "loadArtist", function() { return loadArtist; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "loadPlaylist", function() { return loadPlaylist; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "loadUser", function() { return loadUser; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "loadUserPlaylists", function() { return loadUserPlaylists; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "trackLoaded", function() { return trackLoaded; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "tracksLoaded", function() { return tracksLoaded; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "artistLoaded", function() { return artistLoaded; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "artistsLoaded", function() { return artistsLoaded; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "albumLoaded", function() { return albumLoaded; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "albumsLoaded", function() { return albumsLoaded; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "playlistLoaded", function() { return playlistLoaded; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "playlistsLoaded", function() { return playlistsLoaded; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "userLoaded", function() { return userLoaded; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "usersLoaded", function() { return usersLoaded; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "userPlaylistsLoaded", function() { return userPlaylistsLoaded; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "loadedMore", function() { return loadedMore; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "removeFromIndex", function() { return removeFromIndex; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "viewDataLoaded", function() { return viewDataLoaded; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "reorderPlaylistTracks", function() { return reorderPlaylistTracks; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "savePlaylist", function() { return savePlaylist; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createPlaylist", function() { return createPlaylist; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "deletePlaylist", function() { return deletePlaylist; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "removeTracksFromPlaylist", function() { return removeTracksFromPlaylist; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addTracksToPlaylist", function() { return addTracksToPlaylist; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getLibraryPlaylists", function() { return getLibraryPlaylists; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getLibraryAlbums", function() { return getLibraryAlbums; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getLibraryArtists", function() { return getLibraryArtists; }); +/* harmony import */ var _util_arrays__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../util/arrays */ "./src/js/util/arrays.js"); +/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.getBroadcasts = getBroadcasts; -exports.startSearch = startSearch; -exports.handleException = handleException; -exports.debugResponse = debugResponse; -exports.set = set; -exports.clearCurrentTrack = clearCurrentTrack; -exports.cachebustHttpStream = cachebustHttpStream; -exports.loadItem = loadItem; -exports.loadTrack = loadTrack; -exports.loadAlbum = loadAlbum; -exports.loadArtist = loadArtist; -exports.loadPlaylist = loadPlaylist; -exports.loadUser = loadUser; -exports.loadUserPlaylists = loadUserPlaylists; -exports.trackLoaded = trackLoaded; -exports.tracksLoaded = tracksLoaded; -exports.artistLoaded = artistLoaded; -exports.artistsLoaded = artistsLoaded; -exports.albumLoaded = albumLoaded; -exports.albumsLoaded = albumsLoaded; -exports.playlistLoaded = playlistLoaded; -exports.playlistsLoaded = playlistsLoaded; -exports.userLoaded = userLoaded; -exports.usersLoaded = usersLoaded; -exports.userPlaylistsLoaded = userPlaylistsLoaded; -exports.loadedMore = loadedMore; -exports.removeFromIndex = removeFromIndex; -exports.viewDataLoaded = viewDataLoaded; -exports.reorderPlaylistTracks = reorderPlaylistTracks; -exports.savePlaylist = savePlaylist; -exports.createPlaylist = createPlaylist; -exports.deletePlaylist = deletePlaylist; -exports.removeTracksFromPlaylist = removeTracksFromPlaylist; -exports.addTracksToPlaylist = addTracksToPlaylist; -exports.getLibraryPlaylists = getLibraryPlaylists; -exports.getLibraryAlbums = getLibraryAlbums; -exports.getLibraryArtists = getLibraryArtists; -var _arrays = __webpack_require__(/*! ../../util/arrays */ "./src/js/util/arrays.js"); - -var _helpers = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); var spotifyActions = __webpack_require__(/*! ../../services/spotify/actions */ "./src/js/services/spotify/actions.js"); + var mopidyActions = __webpack_require__(/*! ../../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); function getBroadcasts() { @@ -97651,9 +99145,8 @@ function getBroadcasts() { var config = { method: 'GET', timeout: 15000 - }; + }; // Fetch the "iris_broadcasts.json" file from Gist (or "_test" for test mode) - // Fetch the "iris_broadcasts.json" file from Gist (or "_test" for test mode) if (getState().ui.test_mode) { config.url = 'https://gist.githubusercontent.com/jaedb/cb3a5ee6909632abb2e0fe66d4c8c311/raw'; } else { @@ -97675,10 +99168,8 @@ function getBroadcasts() { }); }; } - function startSearch(search_type, query) { var only_mopidy = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; - return { type: 'SEARCH_STARTED', search_type: search_type, @@ -97686,7 +99177,6 @@ function startSearch(search_type, query) { only_mopidy: only_mopidy }; } - function handleException(message) { var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var description = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; @@ -97699,6 +99189,7 @@ function handleException(message) { message = data.error.message; } } + if (!description) { if (data.description) { description = data.description; @@ -97717,33 +99208,28 @@ function handleException(message) { show_notification: show_notification }; } - function debugResponse(response) { return { type: 'DEBUG', response: response }; } - function set(data) { return { type: 'CORE_SET', data: data }; } - function clearCurrentTrack() { return { type: 'CLEAR_CURRENT_TRACK' }; } - function cachebustHttpStream() { return { type: 'CACHEBUST_HTTP_STREAM' }; } - /** * Record getters * @@ -97754,74 +99240,60 @@ function cachebustHttpStream() { function loadItem(uri) { var force_reload = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - return { type: 'LOAD_ITEM', uri: uri, force_reload: force_reload }; } - function loadTrack(uri) { var force_reload = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - return { type: 'LOAD_TRACK', uri: uri, force_reload: force_reload }; } - function loadAlbum(uri) { var force_reload = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - return { type: 'LOAD_ALBUM', uri: uri, force_reload: force_reload }; } - function loadArtist(uri) { var force_reload = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - return { type: 'LOAD_ARTIST', uri: uri, force_reload: force_reload }; } - function loadPlaylist(uri) { var force_reload = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - return { type: 'LOAD_PLAYLIST', uri: uri, force_reload: force_reload }; } - function loadUser(uri) { var force_reload = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - return { type: 'LOAD_USER', uri: uri, force_reload: force_reload }; } - function loadUserPlaylists(uri) { var force_reload = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - return { type: 'LOAD_USER_PLAYLISTS', uri: uri, force_reload: force_reload }; } - /** * Record loaders * @@ -97837,7 +99309,6 @@ function tracksLoaded(tracks) { tracks: tracks }; } - function artistLoaded(artist) { return artistsLoaded([artist]); } @@ -97847,7 +99318,6 @@ function artistsLoaded(artists) { artists: artists }; } - function albumLoaded(album) { return albumsLoaded([album]); } @@ -97857,7 +99327,6 @@ function albumsLoaded(albums) { albums: albums }; } - function playlistLoaded(playlist) { return playlistsLoaded([playlist]); } @@ -97867,7 +99336,6 @@ function playlistsLoaded(playlists) { playlists: playlists }; } - function userLoaded(user) { return usersLoaded([user]); } @@ -97880,7 +99348,6 @@ function usersLoaded(users) { function userPlaylistsLoaded(uri, playlists) { var more = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; var total = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null; - return { type: 'USER_PLAYLISTS_LOADED', uri: uri, @@ -97889,10 +99356,8 @@ function userPlaylistsLoaded(uri, playlists) { total: total }; } - function loadedMore(parent_type, parent_key, records_type, records_data) { var extra_data = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {}; - return { type: 'LOADED_MORE', parent_type: parent_type, @@ -97902,10 +99367,8 @@ function loadedMore(parent_type, parent_key, records_type, records_data) { extra_data: extra_data }; } - function removeFromIndex(index_name, key) { var new_key = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; - return { type: 'REMOVE_FROM_INDEX', index_name: index_name, @@ -97913,23 +99376,21 @@ function removeFromIndex(index_name, key) { new_key: new_key }; } - function viewDataLoaded(data) { return { type: 'VIEW_DATA_LOADED', data: data }; } - /** * Playlist manipulation * */ function reorderPlaylistTracks(uri, indexes, insert_before) { var snapshot_id = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; + var range = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_0__["createRange"])(indexes); - var range = (0, _arrays.createRange)(indexes); - switch ((0, _helpers.uriSource)(uri)) { + switch (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_1__["uriSource"])(uri)) { case 'spotify': return { type: 'SPOTIFY_REORDER_PLAYLIST_TRACKS', @@ -97957,14 +99418,13 @@ function reorderPlaylistTracks(uri, indexes, insert_before) { }; } } - function savePlaylist(uri, name) { var description = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : ''; var is_public = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; var is_collaborative = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false; var image = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : null; - switch ((0, _helpers.uriSource)(uri)) { + switch (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_1__["uriSource"])(uri)) { case 'spotify': return { type: 'SPOTIFY_SAVE_PLAYLIST', @@ -97991,7 +99451,6 @@ function savePlaylist(uri, name) { }; } } - function createPlaylist(scheme, name) { var description = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : ''; var is_public = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; @@ -98002,15 +99461,15 @@ function createPlaylist(scheme, name) { if (description == '') { description = null; } + return spotifyActions.createPlaylist(name, description, is_public, is_collaborative); default: return mopidyActions.createPlaylist(name, scheme); } } - function deletePlaylist(uri) { - switch ((0, _helpers.uriSource)(uri)) { + switch (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_1__["uriSource"])(uri)) { case 'spotify': return spotifyActions.following(uri, 'DELETE'); @@ -98018,9 +99477,8 @@ function deletePlaylist(uri) { return mopidyActions.deletePlaylist(uri); } } - function removeTracksFromPlaylist(uri, tracks_indexes) { - switch ((0, _helpers.uriSource)(uri)) { + switch (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_1__["uriSource"])(uri)) { case 'spotify': return { type: 'SPOTIFY_REMOVE_PLAYLIST_TRACKS', @@ -98043,9 +99501,8 @@ function removeTracksFromPlaylist(uri, tracks_indexes) { }; } } - function addTracksToPlaylist(uri, tracks_uris) { - switch ((0, _helpers.uriSource)(uri)) { + switch (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_1__["uriSource"])(uri)) { case 'spotify': return { type: 'SPOTIFY_ADD_PLAYLIST_TRACKS', @@ -98068,7 +99525,6 @@ function addTracksToPlaylist(uri, tracks_uris) { }; } } - /** * Asset libraries * */ @@ -98078,13 +99534,11 @@ function getLibraryPlaylists() { type: 'GET_LIBRARY_PLAYLISTS' }; } - function getLibraryAlbums() { return { type: 'GET_LIBRARY_ALBUMS' }; } - function getLibraryArtists() { return { type: 'GET_LIBRARY_ARTISTS' @@ -98098,45 +99552,53 @@ function getLibraryArtists() { /*!********************************************!*\ !*** ./src/js/services/core/middleware.js ***! \********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_ga__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-ga */ "./node_modules/react-ga/dist/esm/index.js"); +/* harmony import */ var _util_arrays__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/arrays */ "./src/js/util/arrays.js"); +/* harmony import */ var _components_URILink__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../components/URILink */ "./src/js/components/URILink.js"); +/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); +/* harmony import */ var _util_format__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../util/format */ "./src/js/util/format.js"); +/* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./actions */ "./src/js/services/core/actions.js"); +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } + +function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function _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; } -Object.defineProperty(exports, "__esModule", { - value: true -}); -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); -var _react2 = _interopRequireDefault(_react); -var _reactGa = __webpack_require__(/*! react-ga */ "./node_modules/react-ga/dist/esm/index.js"); -var _reactGa2 = _interopRequireDefault(_reactGa); -var _arrays = __webpack_require__(/*! ../../util/arrays */ "./src/js/util/arrays.js"); - -var _URILink = __webpack_require__(/*! ../../components/URILink */ "./src/js/components/URILink.js"); - -var _URILink2 = _interopRequireDefault(_URILink); - -var _helpers = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); - -var _format = __webpack_require__(/*! ../../util/format */ "./src/js/util/format.js"); - -var _actions = __webpack_require__(/*! ./actions */ "./src/js/services/core/actions.js"); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } var coreActions = __webpack_require__(/*! ./actions.js */ "./src/js/services/core/actions.js"); + var uiActions = __webpack_require__(/*! ../ui/actions.js */ "./src/js/services/ui/actions.js"); + var mopidyActions = __webpack_require__(/*! ../mopidy/actions.js */ "./src/js/services/mopidy/actions.js"); + var spotifyActions = __webpack_require__(/*! ../spotify/actions.js */ "./src/js/services/spotify/actions.js"); var CoreMiddleware = function () { @@ -98158,29 +99620,28 @@ var CoreMiddleware = function () { case 'HANDLE_EXCEPTION': var state = store.getState(); var exported_state = { - core: _extends({}, state.core), - ui: _extends({}, state.ui), - spotify: _extends({}, state.spotify), - mopidy: _extends({}, state.mopidy), - pusher: _extends({}, state.pusher) + core: _objectSpread({}, state.core), + ui: _objectSpread({}, state.ui), + spotify: _objectSpread({}, state.spotify), + mopidy: _objectSpread({}, state.mopidy), + pusher: _objectSpread({}, state.pusher) }; var message = action.message; - var description = action.description; - - // Construct meaningful message and description + var description = action.description; // Construct meaningful message and description if (!description) { if (action.data.xhr && action.data.xhr.responseText) { var xhr_response = JSON.parse(action.data.xhr.responseText); + if (xhr_response.error && xhr_response.error.message) { description = xhr_response.error.message; } } else if (action.data.xhr) { - description = action.data.xhr.status + ' ' + action.data.xhr.statusText; + description = "".concat(action.data.xhr.status, " ").concat(action.data.xhr.statusText); } - } + } // Strip out non-essential store info + - // Strip out non-essential store info delete exported_state.core.albums; delete exported_state.core.artists; delete exported_state.core.playlists; @@ -98195,15 +99656,15 @@ var CoreMiddleware = function () { delete exported_state.mopidy.library_artists; delete exported_state.mopidy.library_playlists; - var data = _extends({}, action.data, { + var data = _objectSpread(_objectSpread({}, action.data), {}, { message: message, description: description, state: exported_state - }); + }); // Log with Analytics + - // Log with Analytics if (ui.allow_reporting) { - _reactGa2.default.event({ + react_ga__WEBPACK_IMPORTED_MODULE_1__["default"].event({ category: 'Error', action: message, label: description, @@ -98212,124 +99673,173 @@ var CoreMiddleware = function () { } if (action.show_notification) { - store.dispatch(uiActions.createNotification({ content: message, level: 'error', description: description })); + store.dispatch(uiActions.createNotification({ + content: message, + level: 'error', + description: description + })); } console.error(message, description, data); - break; case 'UNSUPPORTED_ACTION': - store.dispatch((0, _actions.handleException)('Action failed (' + action.name + ')', { description: 'Not supported on this type of object' })); + store.dispatch(Object(_actions__WEBPACK_IMPORTED_MODULE_6__["handleException"])("Action failed (".concat(action.name, ")"), { + description: 'Not supported on this type of object' + })); break; case 'PLAY_PLAYLIST': if (ui.allow_reporting) { - _reactGa2.default.event({ category: 'Playlist', action: 'Play', label: action.uri }); + react_ga__WEBPACK_IMPORTED_MODULE_1__["default"].event({ + category: 'Playlist', + action: 'Play', + label: action.uri + }); } + next(action); break; case 'SAVE_PLAYLIST': if (ui.allow_reporting) { - _reactGa2.default.event({ category: 'Playlist', action: 'Save', label: action.key }); + react_ga__WEBPACK_IMPORTED_MODULE_1__["default"].event({ + category: 'Playlist', + action: 'Save', + label: action.key + }); } + next(action); break; case 'CREATE_PLAYLIST': if (ui.allow_reporting) { - _reactGa2.default.event({ category: 'Playlist', action: 'Create', label: +action.name }); + react_ga__WEBPACK_IMPORTED_MODULE_1__["default"].event({ + category: 'Playlist', + action: 'Create', + label: +action.name + }); } + next(action); break; case 'REORDER_PLAYLIST_TRACKS': if (ui.allow_reporting) { - _reactGa2.default.event({ category: 'Playlist', action: 'Reorder tracks', label: action.key }); + react_ga__WEBPACK_IMPORTED_MODULE_1__["default"].event({ + category: 'Playlist', + action: 'Reorder tracks', + label: action.key + }); } + next(action); break; case 'ADD_PLAYLIST_TRACKS': if (ui.allow_reporting) { - _reactGa2.default.event({ category: 'Playlist', action: 'Add tracks', label: action.playlist_uri }); + react_ga__WEBPACK_IMPORTED_MODULE_1__["default"].event({ + category: 'Playlist', + action: 'Add tracks', + label: action.playlist_uri + }); } + next(action); break; case 'REMOVE_PLAYLIST_TRACKS': if (ui.allow_reporting) { - _reactGa2.default.event({ category: 'Playlist', action: 'Remove tracks', label: action.playlist_uri }); + react_ga__WEBPACK_IMPORTED_MODULE_1__["default"].event({ + category: 'Playlist', + action: 'Remove tracks', + label: action.playlist_uri + }); } + next(action); break; case 'DELETE_PLAYLIST': if (ui.allow_reporting) { - _reactGa2.default.event({ category: 'Playlist', action: 'Delete', label: action.uri }); + react_ga__WEBPACK_IMPORTED_MODULE_1__["default"].event({ + category: 'Playlist', + action: 'Delete', + label: action.uri + }); } + next(action); break; case 'SEARCH_STARTED': if (ui.allow_reporting) { - _reactGa2.default.event({ category: 'Search', action: 'Started', label: action.type + ': ' + action.query }); + react_ga__WEBPACK_IMPORTED_MODULE_1__["default"].event({ + category: 'Search', + action: 'Started', + label: "".concat(action.type, ": ").concat(action.query) + }); } - next(action); - // backends that can handle more than just track results + next(action); // backends that can handle more than just track results // make sure they are available and respect our settings + var uri_schemes = ui.search_uri_schemes || mopidy.uri_schemes; var available_full_uri_schemes = ['local:', 'file:', 'gmusic:']; var full_uri_schemes = available_full_uri_schemes.filter(function (full_uri_scheme) { return uri_schemes.indexOf(full_uri_scheme) > -1; - }); + }); // initiate spotify searching - // initiate spotify searching if (!action.only_mopidy) { if (!ui.search_settings || ui.search_settings.spotify) { store.dispatch(spotifyActions.getSearchResults(action.query)); } - } + } // backend searching (mopidy) + - // backend searching (mopidy) if (mopidy.connected) { store.dispatch(mopidyActions.getSearchResults(action.search_type, action.query, 100, full_uri_schemes)); } break; - // Get assets from all of our providers + case 'GET_LIBRARY_PLAYLISTS': if (spotify.connected) { store.dispatch(spotifyActions.getLibraryPlaylists()); } + if (store.getState().mopidy.connected) { store.dispatch(mopidyActions.getLibraryPlaylists()); } + next(action); break; - // Get assets from all of our providers + case 'GET_LIBRARY_ALBUMS': if (spotify.connected) { store.dispatch(spotifyActions.getLibraryAlbums()); } + if (store.getState().mopidy.connected) { store.dispatch(mopidyActions.getLibraryAlbums()); } + next(action); break; - // Get assets from all of our providers + case 'GET_LIBRARY_ARTISTS': if (spotify.connected) { store.dispatch(spotifyActions.getLibraryArtists()); } + if (store.getState().mopidy.connected) { store.dispatch(mopidyActions.getLibraryArtists()); } + next(action); break; @@ -98340,59 +99850,61 @@ var CoreMiddleware = function () { /** * Playlist manipulation * */ - case 'PLAYLIST_TRACKS': - var playlist_tracks = (0, _format.formatTracks)(action.tracks); + case 'PLAYLIST_TRACKS': + var playlist_tracks = Object(_util_format__WEBPACK_IMPORTED_MODULE_5__["formatTracks"])(action.tracks); store.dispatch({ type: 'TRACKS_LOADED', tracks: playlist_tracks }); - - next(_extends({}, action, { tracks_uris: (0, _arrays.arrayOf)('uri', playlist_tracks) })); + next(_objectSpread(_objectSpread({}, action), {}, { + tracks_uris: Object(_util_arrays__WEBPACK_IMPORTED_MODULE_2__["arrayOf"])('uri', playlist_tracks) + })); break; case 'PLAYLIST_TRACKS_ADDED': var asset = store.getState().core.playlists[action.key]; store.dispatch(uiActions.createNotification({ - content: _react2.default.createElement( - 'span', - null, - 'Added ', - action.tracks_uris.length, - ' tracks to ', - _react2.default.createElement( - _URILink2.default, - { uri: action.key }, - asset ? asset.name : 'playlist' - ) - ) + content: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + "data-qa-node": "span", + "data-qa-file": "middleware" + }, "Added ", action.tracks_uris.length, " tracks to ", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_URILink__WEBPACK_IMPORTED_MODULE_3__["default"], { + uri: action.key, + "data-qa-node": "URILink", + "data-qa-file": "middleware" + }, asset ? asset.name : 'playlist')) })); - switch ((0, _helpers.uriSource)(action.key)) { + + switch (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_4__["uriSource"])(action.key)) { case 'spotify': store.dispatch(spotifyActions.getPlaylist(action.key)); break; + case 'm3u': if (store.getState().mopidy.connected) store.dispatch(mopidyActions.getPlaylist(action.key)); break; + default: break; } + next(action); break; case 'PLAYLIST_TRACKS_REORDERED': - var playlists = _extends({}, core.playlists); - var playlist = _extends({}, playlists[action.key]); - var tracks_uris = Object.assign([], playlist.tracks_uris); + var playlists = _objectSpread({}, core.playlists); + + var playlist = _objectSpread({}, playlists[action.key]); + + var tracks_uris = Object.assign([], playlist.tracks_uris); // handle insert_before offset if we're moving BENEATH where we're slicing tracks - // handle insert_before offset if we're moving BENEATH where we're slicing tracks var insert_before = action.insert_before; if (insert_before > action.range_start) { insert_before -= action.range_length; - } + } // cut our moved tracks into a new array + - // cut our moved tracks into a new array var tracks_to_move = tracks_uris.splice(action.range_start, action.range_length); tracks_to_move.reverse(); @@ -98401,15 +99913,15 @@ var CoreMiddleware = function () { } var snapshot_id = null; + if (action.snapshot_id) { snapshot_id = action.snapshot_id; - } + } // Update our playlist + - // Update our playlist playlist.tracks_uris = tracks_uris; - playlist.snapshot_id = snapshot_id; + playlist.snapshot_id = snapshot_id; // Trigger normal playlist updating - // Trigger normal playlist updating store.dispatch({ type: 'PLAYLISTS_LOADED', playlists: [playlist] @@ -98417,25 +99929,27 @@ var CoreMiddleware = function () { break; case 'PLAYLIST_TRACKS_REMOVED': - var playlists = _extends({}, core.playlists); - var playlist = _extends({}, playlists[action.key]); - var tracks_uris = Object.assign([], playlist.tracks_uris); + var playlists = _objectSpread({}, core.playlists); + var playlist = _objectSpread({}, playlists[action.key]); + + var tracks_uris = Object.assign([], playlist.tracks_uris); var indexes = action.tracks_indexes.reverse(); + for (var i = 0; i < indexes.length; i++) { tracks_uris.splice(indexes[i], 1); } var snapshot_id = null; + if (action.snapshot_id) { snapshot_id = action.snapshot_id; - } + } // Update our playlist + - // Update our playlist playlist.tracks_uris = tracks_uris; - playlist.snapshot_id = snapshot_id; + playlist.snapshot_id = snapshot_id; // Trigger normal playlist updating - // Trigger normal playlist updating store.dispatch({ type: 'PLAYLISTS_LOADED', playlists: [playlist] @@ -98449,29 +99963,32 @@ var CoreMiddleware = function () { * assets. This is where we can return already indexed records * where appropriate * */ + case 'LOAD_ITEM': - store.dispatch(coreActions['load' + (0, _helpers.titleCase)((0, _helpers.uriType)(action.uri))](action.uri, action.force_reload)); + store.dispatch(coreActions["load".concat(Object(_util_helpers__WEBPACK_IMPORTED_MODULE_4__["titleCase"])(Object(_util_helpers__WEBPACK_IMPORTED_MODULE_4__["uriType"])(action.uri)))](action.uri, action.force_reload)); break; case 'LOAD_TRACK': if (!action.force_reload && store.getState().core.tracks[action.uri]) { - console.info('Loading "' + action.uri + '" from index'); + console.info("Loading \"".concat(action.uri, "\" from index")); break; } - switch ((0, _helpers.uriSource)(action.uri)) { + switch (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_4__["uriSource"])(action.uri)) { case 'spotify': store.dispatch(spotifyActions.getTrack(action.uri)); if (spotify.me) { store.dispatch(spotifyActions.following(action.uri)); } + break; default: if (store.getState().mopidy.connected) { store.dispatch(mopidyActions.getTrack(action.uri)); } + break; } @@ -98480,23 +99997,25 @@ var CoreMiddleware = function () { case 'LOAD_ALBUM': if (!action.force_reload && store.getState().core.albums[action.uri] && store.getState().core.albums[action.uri].tracks_uris) { - console.info('Loading "' + action.uri + '" from index'); + console.info("Loading \"".concat(action.uri, "\" from index")); break; } - switch ((0, _helpers.uriSource)(action.uri)) { + switch (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_4__["uriSource"])(action.uri)) { case 'spotify': store.dispatch(spotifyActions.getAlbum(action.uri)); if (spotify.me) { store.dispatch(spotifyActions.following(action.uri)); } + break; default: if (store.getState().mopidy.connected) { store.dispatch(mopidyActions.getAlbum(action.uri)); } + break; } @@ -98505,23 +100024,25 @@ var CoreMiddleware = function () { case 'LOAD_ARTIST': if (!action.force_reload && store.getState().core.artists[action.uri] && store.getState().core.artists[action.uri].albums_uris && store.getState().core.artists[action.uri].tracks_uris) { - console.info('Loading "' + action.uri + '" from index'); + console.info("Loading \"".concat(action.uri, "\" from index")); break; } - switch ((0, _helpers.uriSource)(action.uri)) { + switch (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_4__["uriSource"])(action.uri)) { case 'spotify': store.dispatch(spotifyActions.getArtist(action.uri, true)); if (spotify.me) { store.dispatch(spotifyActions.following(action.uri)); } + break; default: if (store.getState().mopidy.connected) { store.dispatch(mopidyActions.getArtist(action.uri)); } + break; } @@ -98530,23 +100051,25 @@ var CoreMiddleware = function () { case 'LOAD_PLAYLIST': if (!action.force_reload && store.getState().core.playlists[action.uri] && store.getState().core.playlists[action.uri].tracks_uris !== undefined) { - console.info('Loading "' + action.uri + '" from index'); + console.info("Loading \"".concat(action.uri, "\" from index")); break; } - switch ((0, _helpers.uriSource)(action.uri)) { + switch (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_4__["uriSource"])(action.uri)) { case 'spotify': store.dispatch(spotifyActions.getPlaylist(action.uri)); if (spotify.me) { store.dispatch(spotifyActions.following(action.uri)); } + break; default: if (store.getState().mopidy.connected) { store.dispatch(mopidyActions.getPlaylist(action.uri)); } + break; } @@ -98555,17 +100078,18 @@ var CoreMiddleware = function () { case 'LOAD_USER': if (!action.force_reload && store.getState().core.users[action.uri] && store.getState().core.users[action.uri].playlists_uris) { - console.info('Loading "' + action.uri + '" from index'); + console.info("Loading \"".concat(action.uri, "\" from index")); break; } - switch ((0, _helpers.uriSource)(action.uri)) { + switch (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_4__["uriSource"])(action.uri)) { case 'spotify': store.dispatch(spotifyActions.getUser(action.uri)); if (spotify.me) { store.dispatch(spotifyActions.following(action.uri)); } + break; default: @@ -98578,11 +100102,11 @@ var CoreMiddleware = function () { case 'LOAD_USER_PLAYLISTS': if (!action.force_reload && store.getState().core.users[action.uri] && store.getState().core.users[action.uri].playlists_uris) { - console.info('Loading "' + action.uri + '" playlists from index'); + console.info("Loading \"".concat(action.uri, "\" playlists from index")); break; } - switch ((0, _helpers.uriSource)(action.uri)) { + switch (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_4__["uriSource"])(action.uri)) { case 'spotify': store.dispatch(spotifyActions.getUserPlaylists(action.uri)); break; @@ -98602,40 +100126,39 @@ var CoreMiddleware = function () { case 'CURRENT_TRACK_LOADED': store.dispatch(coreActions.trackLoaded(action.track)); - action.track = (0, _format.formatTrack)(action.track); + action.track = Object(_util_format__WEBPACK_IMPORTED_MODULE_5__["formatTrack"])(action.track); next(action); break; case 'QUEUE_LOADED': store.dispatch(coreActions.tracksLoaded(action.tracks)); - action.tracks = (0, _format.formatTracks)(action.tracks); + action.tracks = Object(_util_format__WEBPACK_IMPORTED_MODULE_5__["formatTracks"])(action.tracks); next(action); break; case 'TRACKS_LOADED': - var tracks_index = _extends({}, core.tracks); + var tracks_index = _objectSpread({}, core.tracks); + var artists_index = core.artists; var albums_index = core.albums; var tracks_loaded = []; var artists_loaded = []; var albums_loaded = []; - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; + var _iterator = _createForOfIteratorHelper(action.tracks), + _step; try { - for (var _iterator = action.tracks[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + for (_iterator.s(); !(_step = _iterator.n()).done;) { var raw_track = _step.value; - - var track = (0, _format.formatTrack)(raw_track); + var track = Object(_util_format__WEBPACK_IMPORTED_MODULE_5__["formatTrack"])(raw_track); if (tracks_index[track.uri] !== undefined) { - track = _extends({}, tracks_index[track.uri], track); + track = _objectSpread(_objectSpread({}, tracks_index[track.uri]), track); } if (raw_track.album) { - track.album = (0, _format.formatSimpleObject)(raw_track.album); + track.album = Object(_util_format__WEBPACK_IMPORTED_MODULE_5__["formatSimpleObject"])(raw_track.album); if (!albums_index[raw_track.album.uri]) { albums_loaded.push(raw_track.album); @@ -98645,52 +100168,31 @@ var CoreMiddleware = function () { if (raw_track.artists && raw_track.artists.length > 0) { track.artists = []; - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; + var _iterator2 = _createForOfIteratorHelper(raw_track.artists), + _step2; try { - for (var _iterator2 = raw_track.artists[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { var artist = _step2.value; + track.artists.push(Object(_util_format__WEBPACK_IMPORTED_MODULE_5__["formatSimpleObject"])(artist)); // Not already in our index, so let's add it - track.artists.push((0, _format.formatSimpleObject)(artist)); - - // Not already in our index, so let's add it if (!artists_index[artist.uri]) { artists_loaded.push(artist); } } } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; + _iterator2.e(err); } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2.return) { - _iterator2.return(); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } + _iterator2.f(); } } tracks_loaded.push(track); } } catch (err) { - _didIteratorError = true; - _iteratorError = err; + _iterator.e(err); } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } + _iterator.f(); } action.tracks = tracks_loaded; @@ -98698,6 +100200,7 @@ var CoreMiddleware = function () { if (artists_loaded.length > 0) { store.dispatch(coreActions.artistsLoaded(artists_loaded)); } + if (albums_loaded.length > 0) { store.dispatch(coreActions.albumsLoaded(albums_loaded)); } @@ -98706,78 +100209,59 @@ var CoreMiddleware = function () { break; case 'ALBUMS_LOADED': - var albums_index = _extends({}, core.albums); + var albums_index = _objectSpread({}, core.albums); + var albums_loaded = []; var artists_loaded = []; var tracks_loaded = []; - var _iteratorNormalCompletion3 = true; - var _didIteratorError3 = false; - var _iteratorError3 = undefined; + var _iterator3 = _createForOfIteratorHelper(action.albums), + _step3; try { - for (var _iterator3 = action.albums[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { var raw_album = _step3.value; - - var album = (0, _format.formatAlbum)(raw_album); + var album = Object(_util_format__WEBPACK_IMPORTED_MODULE_5__["formatAlbum"])(raw_album); if (albums_index[album.uri]) { - album = _extends({}, albums_index[album.uri], album); + album = _objectSpread(_objectSpread({}, albums_index[album.uri]), album); } if (raw_album.tracks) { album.tracks_uris = []; - var _iteratorNormalCompletion4 = true; - var _didIteratorError4 = false; - var _iteratorError4 = undefined; + var _iterator4 = _createForOfIteratorHelper(raw_album.tracks), + _step4; try { - for (var _iterator4 = raw_album.tracks[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) { + for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) { var track = _step4.value; if (!track.album) { - track.album = (0, _format.formatSimpleObject)(album); + track.album = Object(_util_format__WEBPACK_IMPORTED_MODULE_5__["formatSimpleObject"])(album); } + album.tracks_uris.push(track.uri); tracks_loaded.push(track); } } catch (err) { - _didIteratorError4 = true; - _iteratorError4 = err; + _iterator4.e(err); } finally { - try { - if (!_iteratorNormalCompletion4 && _iterator4.return) { - _iterator4.return(); - } - } finally { - if (_didIteratorError4) { - throw _iteratorError4; - } - } + _iterator4.f(); } } if (raw_album.artists) { - album.artists_uris = (0, _arrays.arrayOf)('uri', raw_album.artists); + album.artists_uris = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_2__["arrayOf"])('uri', raw_album.artists); artists_loaded = [].concat(_toConsumableArray(artists_loaded), _toConsumableArray(raw_album.artists)); } albums_loaded.push(album); } } catch (err) { - _didIteratorError3 = true; - _iteratorError3 = err; + _iterator3.e(err); } finally { - try { - if (!_iteratorNormalCompletion3 && _iterator3.return) { - _iterator3.return(); - } - } finally { - if (_didIteratorError3) { - throw _iteratorError3; - } - } + _iterator3.f(); } action.albums = albums_loaded; @@ -98785,6 +100269,7 @@ var CoreMiddleware = function () { if (artists_loaded.length > 0) { store.dispatch(coreActions.artistsLoaded(artists_loaded)); } + if (tracks_loaded.length > 0) { store.dispatch(coreActions.tracksLoaded(tracks_loaded)); } @@ -98793,36 +100278,32 @@ var CoreMiddleware = function () { break; case 'ARTISTS_LOADED': - var artists_index = _extends({}, core.artists); + var artists_index = _objectSpread({}, core.artists); + var artists_loaded = []; var tracks_loaded = []; - var _iteratorNormalCompletion5 = true; - var _didIteratorError5 = false; - var _iteratorError5 = undefined; + var _iterator5 = _createForOfIteratorHelper(action.artists), + _step5; try { - for (var _iterator5 = action.artists[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) { + for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) { var raw_artist = _step5.value; + var artist = Object(_util_format__WEBPACK_IMPORTED_MODULE_5__["formatArtist"])(raw_artist); // Already have an artist in the index - var artist = (0, _format.formatArtist)(raw_artist); - - // Already have an artist in the index if (artists_index[artist.uri]) { // And we've already got some images, make sure we merge the arrays, // rather than overwriting if (artists_index[artist.uri].images && artist.images) { var existing_images = artists_index[artist.uri].images; - var are_new_images = true; - - // loop all extisting images to make sure we're not adding one that + var are_new_images = true; // loop all extisting images to make sure we're not adding one that // we already have - var _iteratorNormalCompletion6 = true; - var _didIteratorError6 = false; - var _iteratorError6 = undefined; + + var _iterator6 = _createForOfIteratorHelper(existing_images), + _step6; try { - for (var _iterator6 = existing_images[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) { + for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) { var existing_image = _step6.value; // We only need to check one size, the formatter should insist on consistency @@ -98830,22 +100311,12 @@ var CoreMiddleware = function () { if (existing_image.huge == artist.images[0].huge) { are_new_images = false; } - } + } // Only if they're new images should we merge them in - // Only if they're new images should we merge them in } catch (err) { - _didIteratorError6 = true; - _iteratorError6 = err; + _iterator6.e(err); } finally { - try { - if (!_iteratorNormalCompletion6 && _iterator6.return) { - _iterator6.return(); - } - } finally { - if (_didIteratorError6) { - throw _iteratorError6; - } - } + _iterator6.f(); } if (are_new_images) { @@ -98853,13 +100324,13 @@ var CoreMiddleware = function () { } } - artist = _extends({}, artists_index[artist.uri], artist); - } + artist = _objectSpread(_objectSpread({}, artists_index[artist.uri]), artist); + } // Migrate nested tracks objects into references to our tracks index + - // Migrate nested tracks objects into references to our tracks index if (raw_artist.tracks) { - var tracks = (0, _format.formatTracks)(raw_artist.tracks); - var tracks_uris = (0, _arrays.arrayOf)('uri', tracks); + var tracks = Object(_util_format__WEBPACK_IMPORTED_MODULE_5__["formatTracks"])(raw_artist.tracks); + var tracks_uris = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_2__["arrayOf"])('uri', tracks); artist.tracks_uris = tracks_uris; tracks_loaded = [].concat(_toConsumableArray(tracks_loaded), _toConsumableArray(tracks)); } @@ -98867,18 +100338,9 @@ var CoreMiddleware = function () { artists_loaded.push(artist); } } catch (err) { - _didIteratorError5 = true; - _iteratorError5 = err; + _iterator5.e(err); } finally { - try { - if (!_iteratorNormalCompletion5 && _iterator5.return) { - _iterator5.return(); - } - } finally { - if (_didIteratorError5) { - throw _iteratorError5; - } - } + _iterator5.f(); } action.artists = artists_loaded; @@ -98891,22 +100353,20 @@ var CoreMiddleware = function () { break; case 'PLAYLISTS_LOADED': - var playlists_index = _extends({}, core.playlists); + var playlists_index = _objectSpread({}, core.playlists); + var playlists_loaded = []; var tracks_loaded = []; - var _iteratorNormalCompletion7 = true; - var _didIteratorError7 = false; - var _iteratorError7 = undefined; + var _iterator7 = _createForOfIteratorHelper(action.playlists), + _step7; try { - for (var _iterator7 = action.playlists[Symbol.iterator](), _step7; !(_iteratorNormalCompletion7 = (_step7 = _iterator7.next()).done); _iteratorNormalCompletion7 = true) { + for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) { var playlist = _step7.value; + playlist = Object(_util_format__WEBPACK_IMPORTED_MODULE_5__["formatPlaylist"])(playlist); // Detect editability - playlist = (0, _format.formatPlaylist)(playlist); - - // Detect editability - switch ((0, _helpers.uriSource)(playlist.uri)) { + switch (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_4__["uriSource"])(playlist.uri)) { case 'm3u': playlist.can_edit = true; break; @@ -98915,43 +100375,34 @@ var CoreMiddleware = function () { if (spotify.authorization && spotify.me) { playlist.can_edit = playlist.owner.id == spotify.me.id; } - } - // Already have this playlist partially in our index + } // Already have this playlist partially in our index + + if (playlists_index[playlist.uri]) { - playlist = _extends({}, playlists_index[playlist.uri], playlist); + playlist = _objectSpread(_objectSpread({}, playlists_index[playlist.uri]), playlist); // Setup placeholder tracks_uris - // Setup placeholder tracks_uris if (playlist.tracks_uris === undefined) { playlist.tracks_uris = []; } - } + } // Load our tracks + - // Load our tracks if (playlist.tracks) { - var tracks = (0, _format.formatTracks)(playlist.tracks); - var tracks_uris = (0, _arrays.arrayOf)('uri', tracks); + var tracks = Object(_util_format__WEBPACK_IMPORTED_MODULE_5__["formatTracks"])(playlist.tracks); + var tracks_uris = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_2__["arrayOf"])('uri', tracks); playlist.tracks_uris = tracks_uris; delete playlist.tracks; tracks_loaded = [].concat(_toConsumableArray(tracks_loaded), _toConsumableArray(tracks)); - } + } // Update index + - // Update index playlists_loaded.push(playlist); } } catch (err) { - _didIteratorError7 = true; - _iteratorError7 = err; + _iterator7.e(err); } finally { - try { - if (!_iteratorNormalCompletion7 && _iterator7.return) { - _iterator7.return(); - } - } finally { - if (_didIteratorError7) { - throw _iteratorError7; - } - } + _iterator7.f(); } action.playlists = playlists_loaded; @@ -98964,42 +100415,31 @@ var CoreMiddleware = function () { break; case 'USERS_LOADED': - var users_index = _extends({}, core.users); + var users_index = _objectSpread({}, core.users); + var users_loaded = []; - var _iteratorNormalCompletion8 = true; - var _didIteratorError8 = false; - var _iteratorError8 = undefined; + var _iterator8 = _createForOfIteratorHelper(action.users), + _step8; try { - for (var _iterator8 = action.users[Symbol.iterator](), _step8; !(_iteratorNormalCompletion8 = (_step8 = _iterator8.next()).done); _iteratorNormalCompletion8 = true) { + for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) { var user = _step8.value; - - user = (0, _format.formatUser)(user); + user = Object(_util_format__WEBPACK_IMPORTED_MODULE_5__["formatUser"])(user); if (users_index[user.uri]) { - user = _extends({}, users_index[user.uri], user); + user = _objectSpread(_objectSpread({}, users_index[user.uri]), user); } users_loaded.push(user); } } catch (err) { - _didIteratorError8 = true; - _iteratorError8 = err; + _iterator8.e(err); } finally { - try { - if (!_iteratorNormalCompletion8 && _iterator8.return) { - _iterator8.return(); - } - } finally { - if (_didIteratorError8) { - throw _iteratorError8; - } - } + _iterator8.f(); } action.users = users_loaded; - next(action); break; @@ -99015,9 +100455,11 @@ var CoreMiddleware = function () { * */ case 'LOADED_MORE': - var parent_type_plural = action.parent_type + 's'; - var parent_index = _extends({}, core[action.parent_type + 's']); - var parent = _extends({}, parent_index[action.parent_key]); + var parent_type_plural = "".concat(action.parent_type, "s"); + + var parent_index = _objectSpread({}, core["".concat(action.parent_type, "s")]); + + var parent = _objectSpread({}, parent_index[action.parent_key]); if (action.records_data.items !== undefined) { var records = action.records_data.items; @@ -99031,59 +100473,59 @@ var CoreMiddleware = function () { var records = action.records_data.playlists; } else { var records = action.records_data; - } - - // Pre-emptively format tracks + } // Pre-emptively format tracks // Providers give us tracks in all kinds of structures, so this cleans things first + + if (action.records_type == 'track') { - records = (0, _format.formatTracks)(records); + records = Object(_util_format__WEBPACK_IMPORTED_MODULE_5__["formatTracks"])(records); } - var records_type_plural = action.records_type + 's'; + var records_type_plural = "".concat(action.records_type, "s"); var records_index = {}; - var records_uris = (0, _arrays.arrayOf)('uri', records); + var records_uris = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_2__["arrayOf"])('uri', records); // Merge any extra data (eg more_track's albums) - // Merge any extra data (eg more_track's albums) if (action.extra_data) { records = records.map(function (record) { - return _extends({}, record, action.extra_data); + return _objectSpread(_objectSpread({}, record), action.extra_data); }); - } - - // If we're a list of playlists, we need to manually filter Spotify's new URI structure + } // If we're a list of playlists, we need to manually filter Spotify's new URI structure // Really poor form because they haven't updated it everywhere, yet + + if (action.records_type == 'playlist') { - records_uris = (0, _helpers.upgradeSpotifyPlaylistUris)(records_uris); - } + records_uris = Object(_util_helpers__WEBPACK_IMPORTED_MODULE_4__["upgradeSpotifyPlaylistUris"])(records_uris); + } // Append our parent object's reference to these records + - // Append our parent object's reference to these records var uris = records_uris; - if (parent[records_type_plural + '_uris'] !== undefined) { - uris = [].concat(_toConsumableArray(parent[records_type_plural + '_uris']), _toConsumableArray(uris)); - } - parent[records_type_plural + '_uris'] = uris; - if (action.records_data.next !== undefined) { - parent[records_type_plural + '_more'] = action.records_data.next; + + if (parent["".concat(records_type_plural, "_uris")] !== undefined) { + uris = [].concat(_toConsumableArray(parent["".concat(records_type_plural, "_uris")]), _toConsumableArray(uris)); } - // Parent loaded (well, changed) + parent["".concat(records_type_plural, "_uris")] = uris; + + if (action.records_data.next !== undefined) { + parent["".concat(records_type_plural, "_more")] = action.records_data.next; + } // Parent loaded (well, changed) + + var parent_action = { - type: parent_type_plural.toUpperCase() + '_LOADED' + type: "".concat(parent_type_plural.toUpperCase(), "_LOADED") }; parent_action[parent_type_plural] = [parent]; - store.dispatch(parent_action); + store.dispatch(parent_action); // Records loaded - // Records loaded var records_action = { - type: records_type_plural.toUpperCase() + '_LOADED' + type: "".concat(records_type_plural.toUpperCase(), "_LOADED") }; records_action[records_type_plural] = records; store.dispatch(records_action); - next(action); break; - // This action is irrelevant to us, pass it on to the next middleware + default: return next(action); } @@ -99092,7 +100534,7 @@ var CoreMiddleware = function () { }; }(); -exports.default = CoreMiddleware; +/* harmony default export */ __webpack_exports__["default"] = (CoreMiddleware); /***/ }), @@ -99100,79 +100542,108 @@ exports.default = CoreMiddleware; /*!*****************************************!*\ !*** ./src/js/services/core/reducer.js ***! \*****************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return reducer; }); +/* harmony import */ var _util_arrays__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../util/arrays */ "./src/js/util/arrays.js"); +/* harmony import */ var _util_format__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/format */ "./src/js/util/format.js"); +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } + +function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function _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; } -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - -exports.default = reducer; - -var _arrays = __webpack_require__(/*! ../../util/arrays */ "./src/js/util/arrays.js"); - -var _format = __webpack_require__(/*! ../../util/format */ "./src/js/util/format.js"); - -function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } function reducer() { var core = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - var action = arguments[1]; + var action = arguments.length > 1 ? arguments[1] : undefined; switch (action.type) { case 'CORE_SET': - return _extends({}, core, action.data); + return _objectSpread(_objectSpread({}, core), action.data); case 'CACHEBUST_HTTP_STREAM': - return _extends({}, core, { http_streaming_cachebuster: new Date().getTime() }); + return _objectSpread(_objectSpread({}, core), {}, { + http_streaming_cachebuster: new Date().getTime() + }); /** * Current track and tracklist * */ case 'CURRENT_TRACK_LOADED': - return _extends({}, core, { + return _objectSpread(_objectSpread({}, core), {}, { current_track: action.track, current_track_uri: action.uri }); case 'CLEAR_CURRENT_TRACK': - return _extends({}, core, { + return _objectSpread(_objectSpread({}, core), {}, { current_track: null, current_track_uri: null }); case 'NEXT_TRACK_LOADED': - return _extends({}, core, { next_track_uri: action.uri }); + return _objectSpread(_objectSpread({}, core), {}, { + next_track_uri: action.uri + }); case 'QUEUE_LOADED': - return _extends({}, core, { queue: action.tracks }); + return _objectSpread(_objectSpread({}, core), {}, { + queue: action.tracks + }); case 'PUSHER_QUEUE_METADATA': case 'PUSHER_QUEUE_METADATA_CHANGED': var tracklist = Object.assign([], core.current_tracklist); + for (var i = 0; i < tracklist.length; i++) { // load our metadata (if we have any for that tlid) - if (action.queue_metadata['tlid_' + tracklist[i].tlid] !== undefined) { - tracklist[i] = _extends({}, tracklist[i], action.queue_metadata['tlid_' + tracklist[i].tlid]); + if (action.queue_metadata["tlid_".concat(tracklist[i].tlid)] !== undefined) { + tracklist[i] = _objectSpread(_objectSpread({}, tracklist[i]), action.queue_metadata["tlid_".concat(tracklist[i].tlid)]); } } - return _extends({}, core, { current_tracklist: tracklist, queue_metadata: action.queue_metadata }); + + return _objectSpread(_objectSpread({}, core), {}, { + current_tracklist: tracklist, + queue_metadata: action.queue_metadata + }); case 'PUSHER_RADIO_LOADED': case 'PUSHER_RADIO_STARTED': case 'PUSHER_RADIO_CHANGED': case 'PUSHER_RADIO_STOPPED': - return _extends({}, core, { seeds_resolved: false, radio: action.radio }); + return _objectSpread(_objectSpread({}, core), {}, { + seeds_resolved: false, + radio: action.radio + }); case 'RADIO_SEEDS_RESOLVED': - var radio = _extends({}, core.radio, { resolved_seeds: action.resolved_seeds }); - return _extends({}, core, { radio: radio }); + var radio = _objectSpread(_objectSpread({}, core.radio), {}, { + resolved_seeds: action.resolved_seeds + }); + + return _objectSpread(_objectSpread({}, core), {}, { + radio: radio + }); /** * Index updates @@ -99181,215 +100652,187 @@ function reducer() { * */ case 'TRACKS_LOADED': - var tracks = _extends({}, core.tracks); - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; + var tracks = _objectSpread({}, core.tracks); + + var _iterator = _createForOfIteratorHelper(action.tracks), + _step; try { - for (var _iterator = action.tracks[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + for (_iterator.s(); !(_step = _iterator.n()).done;) { var track = _step.value; - tracks[track.uri] = track; } } catch (err) { - _didIteratorError = true; - _iteratorError = err; + _iterator.e(err); } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } + _iterator.f(); } - return _extends({}, core, { tracks: tracks }); + return _objectSpread(_objectSpread({}, core), {}, { + tracks: tracks + }); case 'ALBUMS_LOADED': - var albums = _extends({}, core.albums); - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; + var albums = _objectSpread({}, core.albums); + + var _iterator2 = _createForOfIteratorHelper(action.albums), + _step2; try { - for (var _iterator2 = action.albums[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { var album = _step2.value; - albums[album.uri] = album; } } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; + _iterator2.e(err); } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2.return) { - _iterator2.return(); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } + _iterator2.f(); } - return _extends({}, core, { albums: albums }); + return _objectSpread(_objectSpread({}, core), {}, { + albums: albums + }); case 'ARTISTS_LOADED': - var artists = _extends({}, core.artists); - var _iteratorNormalCompletion3 = true; - var _didIteratorError3 = false; - var _iteratorError3 = undefined; + var artists = _objectSpread({}, core.artists); + + var _iterator3 = _createForOfIteratorHelper(action.artists), + _step3; try { - for (var _iterator3 = action.artists[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { var artist = _step3.value; - artists[artist.uri] = artist; } } catch (err) { - _didIteratorError3 = true; - _iteratorError3 = err; + _iterator3.e(err); } finally { - try { - if (!_iteratorNormalCompletion3 && _iterator3.return) { - _iterator3.return(); - } - } finally { - if (_didIteratorError3) { - throw _iteratorError3; - } - } + _iterator3.f(); } - return _extends({}, core, { artists: artists }); + return _objectSpread(_objectSpread({}, core), {}, { + artists: artists + }); case 'PLAYLISTS_LOADED': - var playlists = _extends({}, core.playlists); - var _iteratorNormalCompletion4 = true; - var _didIteratorError4 = false; - var _iteratorError4 = undefined; + var playlists = _objectSpread({}, core.playlists); + + var _iterator4 = _createForOfIteratorHelper(action.playlists), + _step4; try { - for (var _iterator4 = action.playlists[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) { + for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) { var playlist = _step4.value; - playlists[playlist.uri] = playlist; } } catch (err) { - _didIteratorError4 = true; - _iteratorError4 = err; + _iterator4.e(err); } finally { - try { - if (!_iteratorNormalCompletion4 && _iterator4.return) { - _iterator4.return(); - } - } finally { - if (_didIteratorError4) { - throw _iteratorError4; - } - } + _iterator4.f(); } - return _extends({}, core, { playlists: playlists }); + return _objectSpread(_objectSpread({}, core), {}, { + playlists: playlists + }); case 'USERS_LOADED': - var users = _extends({}, core.users); - var _iteratorNormalCompletion5 = true; - var _didIteratorError5 = false; - var _iteratorError5 = undefined; + var users = _objectSpread({}, core.users); + + var _iterator5 = _createForOfIteratorHelper(action.users), + _step5; try { - for (var _iterator5 = action.users[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) { + for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) { var user = _step5.value; - users[user.uri] = user; } } catch (err) { - _didIteratorError5 = true; - _iteratorError5 = err; + _iterator5.e(err); } finally { - try { - if (!_iteratorNormalCompletion5 && _iterator5.return) { - _iterator5.return(); - } - } finally { - if (_didIteratorError5) { - throw _iteratorError5; - } - } + _iterator5.f(); } - return _extends({}, core, { users: users }); + return _objectSpread(_objectSpread({}, core), {}, { + users: users + }); case 'ARTIST_ALBUMS_LOADED': - var artists = _extends({}, core.artists); + var artists = _objectSpread({}, core.artists); + var albums_uris = []; + if (artists[action.artist_uri].albums_uris) { albums_uris = artists[action.artist_uri].albums_uris; } - var artist = _extends({}, artists[action.artist_uri], { + var artist = _objectSpread(_objectSpread({}, artists[action.artist_uri]), {}, { albums_uris: [].concat(_toConsumableArray(albums_uris), _toConsumableArray(action.albums_uris)), albums_more: action.more, albums_total: action.total }); + artists[action.artist_uri] = artist; - return _extends({}, core, { artists: artists }); + return _objectSpread(_objectSpread({}, core), {}, { + artists: artists + }); case 'USER_PLAYLISTS_LOADED': - var users = _extends({}, core.users); + var users = _objectSpread({}, core.users); + var existing_playlists_uris = []; + if (users[action.uri] && users[action.uri].playlists_uris) { existing_playlists_uris = users[action.uri].playlists_uris; } - var playlists_uris = [].concat(_toConsumableArray(existing_playlists_uris), _toConsumableArray((0, _arrays.arrayOf)('uri', action.playlists))); + var playlists_uris = [].concat(_toConsumableArray(existing_playlists_uris), _toConsumableArray(Object(_util_arrays__WEBPACK_IMPORTED_MODULE_0__["arrayOf"])('uri', action.playlists))); - var user = _extends({}, users[action.uri], { + var user = _objectSpread(_objectSpread({}, users[action.uri]), {}, { playlists_uris: playlists_uris, playlists_more: action.more, playlists_total: action.total }); + users[action.uri] = user; - return _extends({}, core, { users: users }); + return _objectSpread(_objectSpread({}, core), {}, { + users: users + }); /** * Remove an item from an index * */ case 'REMOVE_FROM_INDEX': - var index = _extends({}, core[action.index_name]); + var index = _objectSpread({}, core[action.index_name]); // We have a new key to redirect to + - // We have a new key to redirect to if (action.new_key) { index[action.key] = { moved_to: action.new_key - }; - - // No redirection, so just a clean delete + }; // No redirection, so just a clean delete } else { delete index[action.key]; } var updated_core = {}; updated_core[action.index_name] = index; - - return _extends({}, core, updated_core); + return _objectSpread(_objectSpread({}, core), updated_core); /** * Playlists * */ case 'PLAYLIST_TRACKS': - var playlists = _extends({}, core.playlists); - var playlist = _extends({}, playlists[action.key], { tracks_uris: action.tracks_uris }); + var playlists = _objectSpread({}, core.playlists); + + var playlist = _objectSpread(_objectSpread({}, playlists[action.key]), {}, { + tracks_uris: action.tracks_uris + }); playlists[action.key] = playlist; - return _extends({}, core, { playlists: playlists }); + return _objectSpread(_objectSpread({}, core), {}, { + playlists: playlists + }); case 'LIBRARY_PLAYLISTS_LOADED': if (core.library_playlists) { @@ -99398,9 +100841,8 @@ function reducer() { var library_playlists = action.uris; } - library_playlists = (0, _arrays.removeDuplicates)(library_playlists); - - return _extends({}, core, { + library_playlists = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_0__["removeDuplicates"])(library_playlists); + return _objectSpread(_objectSpread({}, core), {}, { library_playlists: library_playlists, library_playlists_started: true }); @@ -99410,11 +100852,13 @@ function reducer() { * */ case 'SPOTIFY_GENRES_LOADED': - return _extends({}, core, { genres: action.genres }); + return _objectSpread(_objectSpread({}, core), {}, { + genres: action.genres + }); case 'VIEW_DATA_LOADED': - return _extends({}, core, { - view: _extends({}, core.view ? core.view : {}, action.data) + return _objectSpread(_objectSpread({}, core), {}, { + view: _objectSpread(_objectSpread({}, core.view ? core.view : {}), action.data) }); /** @@ -99422,7 +100866,7 @@ function reducer() { * */ case 'SEARCH_STARTED': - return _extends({}, core, { + return _objectSpread(_objectSpread({}, core), {}, { search_results: { artists_uris: [], albums_uris: [], @@ -99432,59 +100876,54 @@ function reducer() { }); case 'SEARCH_RESULTS_LOADED': - // artists if (core.search_results && core.search_results.artists_uris) { var artists_uris = core.search_results.artists_uris; } else { var artists_uris = []; } - if (action.artists_uris) artists_uris = [].concat(_toConsumableArray(artists_uris), _toConsumableArray(action.artists_uris)); - // more tracks - if (typeof action.artists_more !== 'undefined') var artists_more = action.artists_more;else if (core.search_results && core.search_results.artists_more) var artists_more = core.search_results.artists_more;else var artists_more = null; + if (action.artists_uris) artists_uris = [].concat(_toConsumableArray(artists_uris), _toConsumableArray(action.artists_uris)); // more tracks + + if (typeof action.artists_more !== 'undefined') var artists_more = action.artists_more;else if (core.search_results && core.search_results.artists_more) var artists_more = core.search_results.artists_more;else var artists_more = null; // albums - // albums if (core.search_results && core.search_results.albums_uris) { var albums_uris = core.search_results.albums_uris; } else { var albums_uris = []; } - if (action.albums_uris) albums_uris = [].concat(_toConsumableArray(albums_uris), _toConsumableArray(action.albums_uris)); - // more tracks - if (typeof action.albums_more !== 'undefined') var albums_more = action.albums_more;else if (core.search_results && core.search_results.albums_more) var albums_more = core.search_results.albums_more;else var albums_more = null; + if (action.albums_uris) albums_uris = [].concat(_toConsumableArray(albums_uris), _toConsumableArray(action.albums_uris)); // more tracks + + if (typeof action.albums_more !== 'undefined') var albums_more = action.albums_more;else if (core.search_results && core.search_results.albums_more) var albums_more = core.search_results.albums_more;else var albums_more = null; // playlists - // playlists if (core.search_results && core.search_results.playlists_uris) { var playlists_uris = core.search_results.playlists_uris; } else { var playlists_uris = []; } - if (action.playlists_uris) playlists_uris = [].concat(_toConsumableArray(playlists_uris), _toConsumableArray(action.playlists_uris)); - // more tracks - if (typeof action.playlists_more !== 'undefined') var playlists_more = action.playlists_more;else if (core.search_results && core.search_results.playlists_more) var playlists_more = core.search_results.playlists_more;else var playlists_more = null; + if (action.playlists_uris) playlists_uris = [].concat(_toConsumableArray(playlists_uris), _toConsumableArray(action.playlists_uris)); // more tracks + + if (typeof action.playlists_more !== 'undefined') var playlists_more = action.playlists_more;else if (core.search_results && core.search_results.playlists_more) var playlists_more = core.search_results.playlists_more;else var playlists_more = null; // tracks - // tracks if (core.search_results && core.search_results.tracks) { var tracks = core.search_results.tracks; } else { var tracks = []; } - if (action.tracks) tracks = [].concat(_toConsumableArray(tracks), _toConsumableArray((0, _format.formatTracks)(action.tracks))); - // more tracks + if (action.tracks) tracks = [].concat(_toConsumableArray(tracks), _toConsumableArray(Object(_util_format__WEBPACK_IMPORTED_MODULE_1__["formatTracks"])(action.tracks))); // more tracks + if (typeof action.tracks_more !== 'undefined') var tracks_more = action.tracks_more;else if (core.search_results && core.search_results.tracks_more) var tracks_more = core.search_results.tracks_more;else var tracks_more = null; - - return _extends({}, core, { + return _objectSpread(_objectSpread({}, core), {}, { search_results: { artists_more: artists_more, - artists_uris: (0, _arrays.removeDuplicates)(artists_uris), + artists_uris: Object(_util_arrays__WEBPACK_IMPORTED_MODULE_0__["removeDuplicates"])(artists_uris), albums_more: albums_more, - albums_uris: (0, _arrays.removeDuplicates)(albums_uris), + albums_uris: Object(_util_arrays__WEBPACK_IMPORTED_MODULE_0__["removeDuplicates"])(albums_uris), playlists_more: playlists_more, - playlists_uris: (0, _arrays.removeDuplicates)(playlists_uris), + playlists_uris: Object(_util_arrays__WEBPACK_IMPORTED_MODULE_0__["removeDuplicates"])(playlists_uris), tracks: tracks, tracks_more: tracks_more } @@ -99501,22 +100940,18 @@ function reducer() { /*!********************************************!*\ !*** ./src/js/services/discogs/actions.js ***! \********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: getArtistImages */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getArtistImages", function() { return getArtistImages; }); +/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.getArtistImages = getArtistImages; - -var _helpers = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); - var coreActions = __webpack_require__(/*! ../core/actions */ "./src/js/services/core/actions.js"); -var uiActions = __webpack_require__(/*! ../ui/actions */ "./src/js/services/ui/actions.js"); +var uiActions = __webpack_require__(/*! ../ui/actions */ "./src/js/services/ui/actions.js"); /** * Send an ajax request to the LastFM API * @@ -99524,23 +100959,22 @@ var uiActions = __webpack_require__(/*! ../ui/actions */ "./src/js/services/ui/a * @param endpoint = String * @param params = String * */ + + var sendRequest = function sendRequest(dispatch, getState, endpoint, params) { return new Promise(function (resolve, reject) { - var key = 'CXIwsVMAjrXIVitBWgqd'; var secret = 'KiEUfwKpebxRnEHlKoXnYIftJxeuqjTK'; - var url = 'https://api.discogs.com/' + endpoint + '?' + params; - - var loader_key = (0, _helpers.generateGuid)(); - dispatch(uiActions.startLoading(loader_key, 'discogs_' + endpoint)); - + var url = "https://api.discogs.com/".concat(endpoint, "?").concat(params); + var loader_key = Object(_util_helpers__WEBPACK_IMPORTED_MODULE_0__["generateGuid"])(); + dispatch(uiActions.startLoading(loader_key, "discogs_".concat(endpoint))); var config = { method: 'GET', timeout: 30000, mode: 'cors', headers: { 'User-Agent': 'Iris/1.0', - 'Authorization': 'Discogs key=' + key + ', secret=' + secret + 'Authorization': "Discogs key=".concat(key, ", secret=").concat(secret) } }; @@ -99558,7 +100992,7 @@ var sendRequest = function sendRequest(dispatch, getState, endpoint, params) { return response.json(); }).then(function (data) { resolve(data); - }).catch(function (error) { + })["catch"](function (error) { reject(error); }); }); @@ -99566,7 +101000,7 @@ var sendRequest = function sendRequest(dispatch, getState, endpoint, params) { function getArtistImages(uri, artist) { return function (dispatch, getState) { - sendRequest(dispatch, getState, 'database/search', 'type=artist&query=' + artist.name).then(function (response) { + sendRequest(dispatch, getState, 'database/search', "type=artist&query=".concat(artist.name)).then(function (response) { if (response) { if (response.results.length > 0 && response.results[0].cover_image !== undefined) { var updated_artist = { @@ -99575,13 +101009,12 @@ function getArtistImages(uri, artist) { }; dispatch(coreActions.artistLoaded(updated_artist)); } else { - console.log('Discogs: No results for artist ' + artist.name); + console.log("Discogs: No results for artist ".concat(artist.name)); } } }, function (error) { console.error(error); }); - /* const finalise = (cover_image, cache) => { const updated_artist = { @@ -99623,26 +101056,23 @@ function getArtistImages(uri, artist) { /*!*******************************************!*\ !*** ./src/js/services/genius/actions.js ***! \*******************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: set, authorizationGranted, revokeAuthorization, importAuthorization, getMe, getTrackLyrics, findTrackLyrics */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* WEBPACK VAR INJECTION */(function($) { +__webpack_require__.r(__webpack_exports__); +/* WEBPACK VAR INJECTION */(function($) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "set", function() { return set; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "authorizationGranted", function() { return authorizationGranted; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "revokeAuthorization", function() { return revokeAuthorization; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "importAuthorization", function() { return importAuthorization; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getMe", function() { return getMe; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getTrackLyrics", function() { return getTrackLyrics; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "findTrackLyrics", function() { return findTrackLyrics; }); +/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.set = set; -exports.authorizationGranted = authorizationGranted; -exports.revokeAuthorization = revokeAuthorization; -exports.importAuthorization = importAuthorization; -exports.getMe = getMe; -exports.getTrackLyrics = getTrackLyrics; -exports.findTrackLyrics = findTrackLyrics; - -var _helpers = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); var coreActions = __webpack_require__(/*! ../core/actions */ "./src/js/services/core/actions.js"); + var uiActions = __webpack_require__(/*! ../ui/actions */ "./src/js/services/ui/actions.js"); function set(data) { @@ -99651,7 +101081,6 @@ function set(data) { data: data }; } - /** * Send an ajax request to the Genius API * @@ -99662,6 +101091,7 @@ function set(data) { * @param data mixed = request payload * @return Promise * */ + var sendRequest = function sendRequest(dispatch, getState, endpoint) { var method = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'GET'; var data = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false; @@ -99669,36 +101099,36 @@ var sendRequest = function sendRequest(dispatch, getState, endpoint) { if (endpoint.startsWith('https://') || endpoint.startsWith('http://')) { var url = endpoint; } else { - var url = 'https://api.genius.com/' + endpoint; + var url = "https://api.genius.com/".concat(endpoint); + if (getState().genius.access_token) { - url += '?access_token=' + getState().genius.access_token; + url += "?access_token=".concat(getState().genius.access_token); } } if (data) { - url += '&' + data; - } + url += "&".concat(data); + } // create our ajax request config + - // create our ajax request config var config = { method: method, url: url, timeout: 30000, crossDomain: true - }; + }; // only if we've got data do we add it to the request (this prevents appending of "&false" to the URL) - // only if we've got data do we add it to the request (this prevents appending of "&false" to the URL) if (data) { if (typeof data === 'string') { config.data = data; } else { config.data = JSON.stringify(data); } - } + } // add reference to loader queue - // add reference to loader queue - var loader_key = (0, _helpers.generateGuid)(); - dispatch(uiActions.startLoading(loader_key, 'genius_' + endpoint)); + + var loader_key = Object(_util_helpers__WEBPACK_IMPORTED_MODULE_0__["generateGuid"])(); + dispatch(uiActions.startLoading(loader_key, "genius_".concat(endpoint))); function status(response) { dispatch(uiActions.stopLoading(loader_key)); @@ -99706,6 +101136,7 @@ var sendRequest = function sendRequest(dispatch, getState, endpoint) { if (response.status >= 200 && response.status < 300) { return Promise.resolve(response); } + return Promise.reject(new Error(response.statusText)); } @@ -99725,39 +101156,37 @@ var sendRequest = function sendRequest(dispatch, getState, endpoint) { error: error }); } - }).catch(function (error) { + })["catch"](function (error) { reject(error); }); }); }; - /** * Handle authorization process * */ + function authorizationGranted(data) { return { type: 'GENIUS_AUTHORIZATION_GRANTED', data: data }; } - function revokeAuthorization() { return { type: 'GENIUS_AUTHORIZATION_REVOKED' }; } - function importAuthorization(authorization) { return { type: 'GENIUS_IMPORT_AUTHORIZATION', authorization: authorization }; } - /** * Get current user * */ + function getMe() { return function (dispatch, getState) { sendRequest(dispatch, getState, 'account').then(function (response) { @@ -99770,7 +101199,6 @@ function getMe() { }); }; } - /** * Extract lyrics from a page * We don't get the lyrics in the API, so we need to 'scrape' the HTML page instead @@ -99778,6 +101206,7 @@ function getMe() { * @param uri = track uri * @param path = String, the relative API path for the HTML lyrics * */ + function getTrackLyrics(uri, path) { return function (dispatch, getState) { dispatch(coreActions.trackLoaded({ @@ -99785,15 +101214,13 @@ function getTrackLyrics(uri, path) { lyrics: null, lyrics_path: null })); - - var url = '//' + getState().mopidy.host + ':' + getState().mopidy.port + '/iris/http/get_lyrics?path=' + path + '&connection_id=' + getState().pusher.connection_id; + var url = "//".concat(getState().mopidy.host, ":").concat(getState().mopidy.port, "/iris/http/get_lyrics?path=").concat(path, "&connection_id=").concat(getState().pusher.connection_id); var config = { method: 'GET', timeout: 10000 - }; + }; // add reference to loader queue - // add reference to loader queue - var loader_key = (0, _helpers.generateGuid)(); + var loader_key = Object(_util_helpers__WEBPACK_IMPORTED_MODULE_0__["generateGuid"])(); dispatch(uiActions.startLoading(loader_key, 'genius_get_lyrics')); function status(response) { @@ -99802,6 +101229,7 @@ function getTrackLyrics(uri, path) { if (response.status >= 200 && response.status < 300) { return Promise.resolve(response); } + return Promise.reject(new Error(response.statusText)); } @@ -99811,16 +101239,15 @@ function getTrackLyrics(uri, path) { if (data.result) { var html = $(data.result); var lyrics = html.find('.lyrics'); + if (lyrics.length > 0) { lyrics = lyrics.first(); lyrics.find('a').replaceWith(function (k, v) { return v; }); - var lyrics_html = lyrics.html(); lyrics_html = lyrics_html.replace(/(\[)/g, '['); lyrics_html = lyrics_html.replace(/(\])/g, ']'); - dispatch(coreActions.trackLoaded({ uri: uri, lyrics: lyrics_html, @@ -99830,28 +101257,29 @@ function getTrackLyrics(uri, path) { } else { dispatch(coreActions.handleException('Could not get track lyrics', data.error)); } - }).catch(function (error) { + })["catch"](function (error) { dispatch(coreActions.handleException('Could not get track lyrics', error)); }); }; } - function findTrackLyrics() { var track = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; - return function (dispatch, getState) { if (!track) return; var query = ''; - query += track.artists[0].name + ' '; + query += "".concat(track.artists[0].name, " "); query += track.name; query = query.toLowerCase(); query = query.replace(/\([^)]*\) */g, ''); // anything in circle-braces + query = query.replace(/\([^[]*\] */g, ''); // anything in square-braces + query = query.replace(/(?= - ).*$/g, ''); // remove anything after and including " - " - sendRequest(dispatch, getState, 'search', 'GET', 'q=' + encodeURIComponent(query)).then(function (response) { + sendRequest(dispatch, getState, 'search', 'GET', "q=".concat(encodeURIComponent(query))).then(function (response) { if (response.hits && response.hits.length > 0) { var lyrics_results = []; + for (var i = 0; i < response.hits.length; i++) { lyrics_results.push({ title: response.hits[i].result.full_title, @@ -99859,12 +101287,12 @@ function findTrackLyrics() { path: response.hits[i].result.path }); } + dispatch(coreActions.trackLoaded({ uri: track.uri, lyrics_results: lyrics_results - })); + })); // Immediately go and get the first result's lyrics - // Immediately go and get the first result's lyrics var lyrics_result = lyrics_results[0]; dispatch(getTrackLyrics(track.uri, lyrics_result.path)); } @@ -99881,19 +101309,16 @@ function findTrackLyrics() { /*!**********************************************!*\ !*** ./src/js/services/genius/middleware.js ***! \**********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _util_format__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../util/format */ "./src/js/util/format.js"); -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _format = __webpack_require__(/*! ../../util/format */ "./src/js/util/format.js"); - var coreActions = __webpack_require__(/*! ../core/actions */ "./src/js/services/core/actions.js"); + var geniusActions = __webpack_require__(/*! ./actions */ "./src/js/services/genius/actions.js"); var GeniusMiddleware = function () { @@ -99904,11 +101329,10 @@ var GeniusMiddleware = function () { switch (action.type) { case 'GENIUS_ME_LOADED': - var me = (0, _format.formatUser)(action.me); + var me = Object(_util_format__WEBPACK_IMPORTED_MODULE_0__["formatUser"])(action.me); Object.assign(me, { - uri: 'genius:user:' + me.id + uri: "genius:user:".concat(me.id) }); - store.dispatch({ type: 'GENIUS_USER_LOADED', user: action.me @@ -99918,9 +101342,9 @@ var GeniusMiddleware = function () { break; case 'GENIUS_USER_LOADED': - var user = (0, _format.formatUser)(action.user); + var user = Object(_util_format__WEBPACK_IMPORTED_MODULE_0__["formatUser"])(action.user); Object.assign(user, { - uri: 'genius:user:' + user.id + uri: "genius:user:".concat(user.id) }); store.dispatch(coreActions.userLoaded(user)); action.user = user; @@ -99928,17 +101352,15 @@ var GeniusMiddleware = function () { break; case 'GENIUS_IMPORT_AUTHORIZATION': - // Wait a few moments before we fetch, allowing the import to complete first // TODO: Use callbacks for better code accuracy setTimeout(function () { store.dispatch(geniusActions.getMe()); }, 100); - next(action); break; - // This action is irrelevant to us, pass it on to the next middleware + default: return next(action); } @@ -99947,7 +101369,7 @@ var GeniusMiddleware = function () { }; }(); -exports.default = GeniusMiddleware; +/* harmony default export */ __webpack_exports__["default"] = (GeniusMiddleware); /***/ }), @@ -99955,32 +101377,33 @@ exports.default = GeniusMiddleware; /*!*******************************************!*\ !*** ./src/js/services/genius/reducer.js ***! \*******************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return reducer; }); +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } -Object.defineProperty(exports, "__esModule", { - value: true -}); +function _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; } -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - -exports.default = reducer; function reducer() { var genius = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - var action = arguments[1]; + var action = arguments.length > 1 ? arguments[1] : undefined; switch (action.type) { case 'GENIUS_SET': - return _extends({}, genius, action.data); + return _objectSpread(_objectSpread({}, genius), action.data); case 'GENIUS_ME_LOADED': - return _extends({}, genius, { me: action.me }); + return _objectSpread(_objectSpread({}, genius), {}, { + me: action.me + }); case 'GENIUS_AUTHORIZATION_GRANTED': - return _extends({}, genius, { + return _objectSpread(_objectSpread({}, genius), {}, { authorizing: false, authorization: action.data, authorization_code: action.data.authorization_code, @@ -99988,7 +101411,7 @@ function reducer() { }); case 'GENIUS_AUTHORIZATION_REVOKED': - return _extends({}, genius, { + return _objectSpread(_objectSpread({}, genius), {}, { authorizing: false, authorization: null, authorization_code: null, @@ -99997,7 +101420,7 @@ function reducer() { }); case 'GENIUS_IMPORT_AUTHORIZATION': - return _extends({}, genius, { + return _objectSpread(_objectSpread({}, genius), {}, { authorizing: false, authorization: action.authorization, authorization_code: action.authorization.authorization_code, @@ -100016,45 +101439,37 @@ function reducer() { /*!*******************************************!*\ !*** ./src/js/services/google/actions.js ***! \*******************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: set, getLibraryArtists, clearLibraryArtists, getLibraryAlbums, clearLibraryAlbums */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.set = set; -exports.getLibraryArtists = getLibraryArtists; -exports.clearLibraryArtists = clearLibraryArtists; -exports.getLibraryAlbums = getLibraryAlbums; -exports.clearLibraryAlbums = clearLibraryAlbums; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "set", function() { return set; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getLibraryArtists", function() { return getLibraryArtists; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "clearLibraryArtists", function() { return clearLibraryArtists; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getLibraryAlbums", function() { return getLibraryAlbums; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "clearLibraryAlbums", function() { return clearLibraryAlbums; }); function set(data) { return { type: 'GOOGLE_SET', data: data }; } - function getLibraryArtists() { return { type: 'GOOGLE_GET_LIBRARY_ARTISTS' }; } - function clearLibraryArtists() { return { type: 'GOOGLE_CLEAR_LIBRARY_ARTISTS' }; } - function getLibraryAlbums() { return { type: 'GOOGLE_GET_LIBRARY_ALBUMS' }; } - function clearLibraryAlbums() { return { type: 'GOOGLE_CLEAR_LIBRARY_ALBUMS' @@ -100067,26 +101482,20 @@ function clearLibraryAlbums() { /*!**********************************************!*\ !*** ./src/js/services/google/middleware.js ***! \**********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react_ga__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-ga */ "./node_modules/react-ga/dist/esm/index.js"); +/* harmony import */ var _util_arrays__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/arrays */ "./src/js/util/arrays.js"); -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _reactGa = __webpack_require__(/*! react-ga */ "./node_modules/react-ga/dist/esm/index.js"); - -var _reactGa2 = _interopRequireDefault(_reactGa); - -var _arrays = __webpack_require__(/*! ../../util/arrays */ "./src/js/util/arrays.js"); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var coreActions = __webpack_require__(/*! ../core/actions */ "./src/js/services/core/actions.js"); + var mopidyActions = __webpack_require__(/*! ../mopidy/actions */ "./src/js/services/mopidy/actions.js"); + var uiActions = __webpack_require__(/*! ../ui/actions */ "./src/js/services/ui/actions.js"); var GoogleMiddleware = function () { @@ -100095,7 +101504,6 @@ var GoogleMiddleware = function () { var params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; var response_callback = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null; var error_callback = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null; - store.dispatch(mopidyActions.request(method, params, response_callback, error_callback)); }; @@ -100117,14 +101525,13 @@ var GoogleMiddleware = function () { return; } - var uris = (0, _arrays.arrayOf)('uri', response); + var uris = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_1__["arrayOf"])('uri', response); store.dispatch({ type: 'GOOGLE_LIBRARY_ALBUMS_LOADED', uris: uris - }); + }); // Start our process to load the full album objects - // Start our process to load the full album objects - store.dispatch(uiActions.startProcess('GOOGLE_LIBRARY_ALBUMS_PROCESSOR', 'Loading ' + uris.length + ' Google albums', { + store.dispatch(uiActions.startProcess('GOOGLE_LIBRARY_ALBUMS_PROCESSOR', "Loading ".concat(uris.length, " Google albums"), { uris: uris, total: uris.length, remaining: uris.length @@ -100132,8 +101539,7 @@ var GoogleMiddleware = function () { }); } else if (last_run.status === 'cancelled') { store.dispatch(uiActions.resumeProcess('GOOGLE_LIBRARY_ALBUMS_PROCESSOR')); - } else if (last_run.status === 'finished') { - // TODO: do we want to force a refresh? + } else if (last_run.status === 'finished') {// TODO: do we want to force a refresh? } break; @@ -100152,11 +101558,16 @@ var GoogleMiddleware = function () { var uris_to_load = uris.splice(0, 50); if (uris_to_load.length > 0) { - store.dispatch(uiActions.updateProcess('GOOGLE_LIBRARY_ALBUMS_PROCESSOR', 'Loading ' + uris.length + ' Google albums', { + store.dispatch(uiActions.updateProcess('GOOGLE_LIBRARY_ALBUMS_PROCESSOR', "Loading ".concat(uris.length, " Google albums"), { uris: uris, remaining: uris.length })); - store.dispatch(mopidyActions.getAlbums(uris_to_load, { name: 'GOOGLE_LIBRARY_ALBUMS_PROCESSOR', data: { uris: uris } })); + store.dispatch(mopidyActions.getAlbums(uris_to_load, { + name: 'GOOGLE_LIBRARY_ALBUMS_PROCESSOR', + data: { + uris: uris + } + })); } else { store.dispatch(uiActions.processFinished('GOOGLE_LIBRARY_ALBUMS_PROCESSOR')); } @@ -100172,6 +101583,7 @@ var GoogleMiddleware = function () { } var uris = []; + for (var i = 0; i < response.length; i++) { // Convert local URI to actual artist URI // See https://github.com/mopidy/mopidy-local-sqlite/issues/39 @@ -100180,7 +101592,6 @@ var GoogleMiddleware = function () { } store.dispatch(coreActions.artistsLoaded(response)); - store.dispatch({ type: 'GOOGLE_LIBRARY_ARTISTS_LOADED', uris: uris @@ -100189,8 +101600,8 @@ var GoogleMiddleware = function () { store.dispatch(coreActions.handleException('Could not load Google artists', error)); }); break; - // This action is irrelevant to us, pass it on to the next middleware + default: return next(action); } @@ -100199,7 +101610,7 @@ var GoogleMiddleware = function () { }; }(); -exports.default = GoogleMiddleware; +/* harmony default export */ __webpack_exports__["default"] = (GoogleMiddleware); /***/ }), @@ -100207,31 +101618,39 @@ exports.default = GoogleMiddleware; /*!*******************************************!*\ !*** ./src/js/services/google/reducer.js ***! \*******************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return reducer; }); +/* harmony import */ var _util_arrays__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../util/arrays */ "./src/js/util/arrays.js"); +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } -Object.defineProperty(exports, "__esModule", { - value: true -}); +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; +function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); } -exports.default = reducer; +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } -var _arrays = __webpack_require__(/*! ../../util/arrays */ "./src/js/util/arrays.js"); +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function _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; } -function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } function reducer() { var google = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - var action = arguments[1]; + var action = arguments.length > 1 ? arguments[1] : undefined; switch (action.type) { case 'GOOGLE_SET': - return _extends({}, google, action.data); + return _objectSpread(_objectSpread({}, google), action.data); case 'GOOGLE_LIBRARY_ARTISTS_LOADED': if (google.library_artists) { @@ -100239,10 +101658,15 @@ function reducer() { } else { var uris = action.uris; } - return _extends({}, google, { library_artists: (0, _arrays.removeDuplicates)(uris) }); + + return _objectSpread(_objectSpread({}, google), {}, { + library_artists: Object(_util_arrays__WEBPACK_IMPORTED_MODULE_0__["removeDuplicates"])(uris) + }); case 'GOOGLE_CLEAR_LIBRARY_ARTISTS': - return _extends({}, google, { library_artists: null }); + return _objectSpread(_objectSpread({}, google), {}, { + library_artists: null + }); case 'GOOGLE_LIBRARY_ALBUMS_LOADED': if (google.library_albums) { @@ -100250,10 +101674,15 @@ function reducer() { } else { var uris = action.uris; } - return _extends({}, google, { library_albums: (0, _arrays.removeDuplicates)(uris) }); + + return _objectSpread(_objectSpread({}, google), {}, { + library_albums: Object(_util_arrays__WEBPACK_IMPORTED_MODULE_0__["removeDuplicates"])(uris) + }); case 'GOOGLE_CLEAR_LIBRARY_ALBUMS': - return _extends({}, google, { library_albums: null }); + return _objectSpread(_objectSpread({}, google), {}, { + library_albums: null + }); default: return google; @@ -100266,36 +101695,36 @@ function reducer() { /*!*******************************************!*\ !*** ./src/js/services/lastfm/actions.js ***! \*******************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: set, authorizationGranted, revokeAuthorization, importAuthorization, getMe, getTrack, getArtist, getAlbum, getImages, loveTrack, unloveTrack, scrobble */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "set", function() { return set; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "authorizationGranted", function() { return authorizationGranted; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "revokeAuthorization", function() { return revokeAuthorization; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "importAuthorization", function() { return importAuthorization; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getMe", function() { return getMe; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getTrack", function() { return getTrack; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getArtist", function() { return getArtist; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getAlbum", function() { return getAlbum; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getImages", function() { return getImages; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "loveTrack", function() { return loveTrack; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "unloveTrack", function() { return unloveTrack; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "scrobble", function() { return scrobble; }); +/* harmony import */ var _util_format__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../util/format */ "./src/js/util/format.js"); +/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function _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; } -Object.defineProperty(exports, "__esModule", { - value: true -}); -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - -exports.set = set; -exports.authorizationGranted = authorizationGranted; -exports.revokeAuthorization = revokeAuthorization; -exports.importAuthorization = importAuthorization; -exports.getMe = getMe; -exports.getTrack = getTrack; -exports.getArtist = getArtist; -exports.getAlbum = getAlbum; -exports.getImages = getImages; -exports.loveTrack = loveTrack; -exports.unloveTrack = unloveTrack; -exports.scrobble = scrobble; - -var _format = __webpack_require__(/*! ../../util/format */ "./src/js/util/format.js"); - -var _helpers = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); var coreActions = __webpack_require__(/*! ../core/actions */ "./src/js/services/core/actions.js"); + var uiActions = __webpack_require__(/*! ../ui/actions */ "./src/js/services/ui/actions.js"); function set(data) { @@ -100304,7 +101733,6 @@ function set(data) { data: data }; } - /** * Send an ajax request to the LastFM API * @@ -100313,15 +101741,15 @@ function set(data) { * @param params = string, the url params to send * @params signed = boolean, whether we've got a signed request with baked-in api_key * */ + var sendRequest = function sendRequest(dispatch, getState, params) { var signed = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; return new Promise(function (resolve, reject) { - var url = 'https://ws.audioscrobbler.com/2.0/?format=json&' + params; + var url = "https://ws.audioscrobbler.com/2.0/?format=json&".concat(params); var http_method = 'GET'; var method = params.substring(params.indexOf('method=') + 7, params.length); - method = method.substring(0, method.indexOf('&')); + method = method.substring(0, method.indexOf('&')); // Signed requests don't need our api_key as the proxy has it's own - // Signed requests don't need our api_key as the proxy has it's own if (!signed) { url += '&api_key=4320a3ef51c9b3d69de552ac083c55e3'; } else { @@ -100332,9 +101760,8 @@ var sendRequest = function sendRequest(dispatch, getState, params) { method: http_method, timeout: 30000 }; - - var loader_key = (0, _helpers.generateGuid)(); - dispatch(uiActions.startLoading(loader_key, 'lastfm_' + method)); + var loader_key = Object(_util_helpers__WEBPACK_IMPORTED_MODULE_1__["generateGuid"])(); + dispatch(uiActions.startLoading(loader_key, "lastfm_".concat(method))); function status(response) { dispatch(uiActions.stopLoading(loader_key)); @@ -100342,6 +101769,7 @@ var sendRequest = function sendRequest(dispatch, getState, params) { if (response.status >= 200 && response.status < 300) { return Promise.resolve(response); } + return Promise.reject(new Error(response.statusText)); } @@ -100349,12 +101777,11 @@ var sendRequest = function sendRequest(dispatch, getState, params) { return response.json(); }).then(function (data) { resolve(data); - }).catch(function (error) { + })["catch"](function (error) { reject(error); }); }); }; - /** * Send a SIGNED ajax request to the LastFM API * @@ -100363,6 +101790,8 @@ var sendRequest = function sendRequest(dispatch, getState, params) { * @param params = string, the url params to send * @param signed = boolean * */ + + var sendSignedRequest = function sendSignedRequest(dispatch, getState, params) { return new Promise(function (resolve, reject) { // Not authorized @@ -100373,15 +101802,12 @@ var sendSignedRequest = function sendSignedRequest(dispatch, getState, params) { }); } - var loader_key = (0, _helpers.generateGuid)(); + var loader_key = Object(_util_helpers__WEBPACK_IMPORTED_MODULE_1__["generateGuid"])(); var method = params.substring(params.indexOf('method=') + 7, params.length); method = method.substring(0, method.indexOf('&')); - - dispatch(uiActions.startLoading(loader_key, 'lastfm_' + method)); - - params += '&sk=' + getState().lastfm.authorization.key; - var url = getState().lastfm.authorization_url + '?action=sign_request&' + params; - + dispatch(uiActions.startLoading(loader_key, "lastfm_".concat(method))); + params += "&sk=".concat(getState().lastfm.authorization.key); + var url = "".concat(getState().lastfm.authorization_url, "?action=sign_request&").concat(params); var config = { method: 'GET', timeout: 30000 @@ -100393,6 +101819,7 @@ var sendSignedRequest = function sendSignedRequest(dispatch, getState, params) { if (response.status >= 200 && response.status < 300) { return Promise.resolve(response); } + return Promise.reject(new Error(response.statusText)); } @@ -100405,16 +101832,16 @@ var sendSignedRequest = function sendSignedRequest(dispatch, getState, params) { }, function (error) { return reject(error); }); - }).catch(function (error) { + })["catch"](function (error) { reject(error); }); }); }; - /** * Handle authorization process * */ + function authorizationGranted(data) { data.session.expiry = new Date().getTime() + 3600; return { @@ -100422,27 +101849,24 @@ function authorizationGranted(data) { data: data }; } - function revokeAuthorization() { return { type: 'LASTFM_AUTHORIZATION_REVOKED' }; } - function importAuthorization(authorization) { return { type: 'LASTFM_IMPORT_AUTHORIZATION', authorization: authorization }; } - /** * Non-signed requests * */ function getMe() { return function (dispatch, getState) { - var params = 'method=user.getInfo&user=' + getState().lastfm.authorization.name; + var params = "method=user.getInfo&user=".concat(getState().lastfm.authorization.name); sendRequest(dispatch, getState, params).then(function (response) { if (response.user) { dispatch({ @@ -100455,11 +101879,11 @@ function getMe() { }); }; } - function getTrack(uri) { return function (dispatch, getState) { if (getState().core.tracks[uri] !== undefined) { var track = getState().core.tracks[uri]; + if (!track.artists) { dispatch(coreActions.handleException('Could not get LastFM track', {}, 'Track has no artists')); return; @@ -100471,35 +101895,36 @@ function getTrack(uri) { var track_name = track.name; var artist_name = encodeURIComponent(track.artists[0].name); - var params = 'method=track.getInfo&track=' + track_name + '&artist=' + artist_name; + var params = "method=track.getInfo&track=".concat(track_name, "&artist=").concat(artist_name); + if (getState().lastfm.authorization) { - params += '&username=' + getState().lastfm.authorization.name; + params += "&username=".concat(getState().lastfm.authorization.name); } + sendRequest(dispatch, getState, params).then(function (response) { if (response.track) { - var merged_track = _extends({ - + var merged_track = _objectSpread(_objectSpread({ uri: track.uri - }, response.track, track); + }, response.track), track); + dispatch(coreActions.trackLoaded(merged_track)); } }, function (error) { - console.info('LastFM: No results for track \'' + track_name + '\' by \'' + artist_name + '\''); + console.info("LastFM: No results for track '".concat(track_name, "' by '").concat(artist_name, "'")); }); }; } - function getArtist(uri, artist) { var mbid = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; - return function (dispatch, getState) { if (mbid) { - var params = 'method=artist.getInfo&mbid=' + mbid; + var params = "method=artist.getInfo&mbid=".concat(mbid); } else { artist = artist.replace('&', 'and'); artist = encodeURIComponent(artist); - var params = 'method=artist.getInfo&artist=' + artist; + var params = "method=artist.getInfo&artist=".concat(artist); } + sendRequest(dispatch, getState, params).then(function (response) { if (response.artist) { var _artist = { @@ -100510,26 +101935,24 @@ function getArtist(uri, artist) { biography_link: response.artist.bio.links.link.href, listeners: parseInt(response.artist.stats.listeners) }; - dispatch(coreActions.artistLoaded(_artist)); } }, function (error) { - console.info('LastFM: No results for artist \'' + artist + '\''); + console.info("LastFM: No results for artist '".concat(artist, "'")); }); }; } - function getAlbum(uri, artist, album) { var mbid = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; - return function (dispatch, getState) { if (mbid) { - var params = 'method=album.getInfo&mbid=' + mbid; + var params = "method=album.getInfo&mbid=".concat(mbid); } else { artist = encodeURIComponent(artist); album = encodeURIComponent(album); - var params = 'method=album.getInfo&album=' + album + '&artist=' + artist; + var params = "method=album.getInfo&album=".concat(album, "&artist=").concat(artist); } + sendRequest(dispatch, getState, params).then(function (response) { if (response.album) { var existing_album = getState().core.albums[uri]; @@ -100541,11 +101964,10 @@ function getAlbum(uri, artist, album) { mbid: response.album.mbid, wiki: response.album.wiki ? response.album.wiki.content : null, wiki_publish_date: response.album.wiki ? response.album.wiki.published : null - }; - - // If we've already got some of this album and it has images aready, don't use our ones. + }; // If we've already got some of this album and it has images aready, don't use our ones. // In *most* cases this existing image will be perfectly suffice. This prevents an ugly // flicker when the existing image is replaced by the LastFM one + if (existing_album && existing_album.images) { delete _album.images; } @@ -100553,59 +101975,71 @@ function getAlbum(uri, artist, album) { dispatch(coreActions.albumLoaded(_album)); } }, function (error) { - console.info('LastFM: No results for album \'' + album + '\''); + console.info("LastFM: No results for album '".concat(album, "'")); }); }; } - function getImages(context, uri) { return function (dispatch, getState) { var record = getState().core[context][uri]; + if (record) { switch (context) { case 'tracks': - if (record.mbid) { - var params = 'method=album.getInfo&mbid=' + record.mbid; + var params = "method=album.getInfo&mbid=".concat(record.mbid); } else { - record = (0, _format.collate)(record, { artists: getState().core.artists }); + record = Object(_util_format__WEBPACK_IMPORTED_MODULE_0__["collate"])(record, { + artists: getState().core.artists + }); + if (record.artists && record.artists.length > 0 && record.album) { var artist = encodeURIComponent(record.artists[0].name); var album = encodeURIComponent(record.album.name); - var params = 'method=album.getInfo&album=' + album + '&artist=' + artist; + var params = "method=album.getInfo&album=".concat(album, "&artist=").concat(artist); } } if (params) { sendRequest(dispatch, getState, params).then(function (response) { if (response.album) { - var images = (0, _format.formatImages)(response.album.image); - dispatch(coreActions.trackLoaded({ uri: uri, images: images })); + var images = Object(_util_format__WEBPACK_IMPORTED_MODULE_0__["formatImages"])(response.album.image); + dispatch(coreActions.trackLoaded({ + uri: uri, + images: images + })); } }); } + break; case 'albums': - if (record.mbid) { - var params = 'method=album.getInfo&mbid=' + record.mbid; + var params = "method=album.getInfo&mbid=".concat(record.mbid); } else { - record = (0, _format.collate)(record, { artists: getState().core.artists }); + record = Object(_util_format__WEBPACK_IMPORTED_MODULE_0__["collate"])(record, { + artists: getState().core.artists + }); + if (record.artists && record.artists.length > 0) { var artist = encodeURIComponent(record.artists[0].name); var album = encodeURIComponent(record.name); - var params = 'method=album.getInfo&album=' + album + '&artist=' + artist; + var params = "method=album.getInfo&album=".concat(album, "&artist=").concat(artist); } } if (params) { sendRequest(dispatch, getState, params).then(function (response) { if (response.album) { - dispatch(coreActions.albumLoaded({ uri: uri, images: response.album.image })); + dispatch(coreActions.albumLoaded({ + uri: uri, + images: response.album.image + })); } }); } + break; default: @@ -100614,7 +102048,6 @@ function getImages(context, uri) { } }; } - /** * Signed requests * */ @@ -100623,6 +102056,7 @@ function loveTrack(uri) { return function (dispatch, getState) { if (getState().core.tracks[uri] !== undefined) { var track = getState().core.tracks[uri]; + if (!track.artists) { dispatch(coreActions.handleException('Could not love LastFM track', track, 'Track has no artists')); return; @@ -100633,9 +102067,9 @@ function loveTrack(uri) { } var artist = encodeURIComponent(track.artists[0].name); - var params = 'method=track.love&track=' + track.name + '&artist=' + artist; + var params = "method=track.love&track=".concat(track.name, "&artist=").concat(artist); sendSignedRequest(dispatch, getState, params).then(function (response) { - track = _extends({}, track, { + track = _objectSpread(_objectSpread({}, track), {}, { userloved: true }); dispatch({ @@ -100645,11 +102079,11 @@ function loveTrack(uri) { }); }; } - function unloveTrack(uri) { return function (dispatch, getState) { if (getState().core.tracks[uri] !== undefined) { var track = getState().core.tracks[uri]; + if (!track.artists) { dispatch(coreActions.handleException('Could not unlove LastFM track', track, 'Track has no artists')); return; @@ -100660,9 +102094,9 @@ function unloveTrack(uri) { } var artist = encodeURIComponent(track.artists[0].name); - var params = 'method=track.unlove&track=' + track.name + '&artist=' + artist; + var params = "method=track.unlove&track=".concat(track.name, "&artist=").concat(artist); sendSignedRequest(dispatch, getState, params).then(function (response) { - track = _extends({}, track, { + track = _objectSpread(_objectSpread({}, track), {}, { userloved: false }); dispatch({ @@ -100672,25 +102106,25 @@ function unloveTrack(uri) { }); }; } - /** * TODO: Currently scrobbling client-side would result in duplicated scrobbles * if the user was authorized across multiple connections. Ideally this would * be handled server-side. Mopidy-Scrobbler currently achieves this. * */ + function scrobble(track) { return function (dispatch, getState) { var track_name = track.name; var artist_name = 'Unknown'; + if (track.artists) { artist_name = track.artists[0].name; } + var artist_name = encodeURIComponent(artist_name); - var params = 'method=track.scrobble'; - params += '&track=' + track_name + '&artist=' + artist_name; - params += '×tamp=' + Math.floor(Date.now() / 1000); - + params += "&track=".concat(track_name, "&artist=").concat(artist_name); + params += "×tamp=".concat(Math.floor(Date.now() / 1000)); sendSignedRequest(dispatch, getState, params).then(function (response) { console.log('Scrobbled', response); }, function (error) { @@ -100705,26 +102139,20 @@ function scrobble(track) { /*!**********************************************!*\ !*** ./src/js/services/lastfm/middleware.js ***! \**********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react_ga__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-ga */ "./node_modules/react-ga/dist/esm/index.js"); +/* harmony import */ var _util_format__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/format */ "./src/js/util/format.js"); -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _reactGa = __webpack_require__(/*! react-ga */ "./node_modules/react-ga/dist/esm/index.js"); - -var _reactGa2 = _interopRequireDefault(_reactGa); - -var _format = __webpack_require__(/*! ../../util/format */ "./src/js/util/format.js"); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var coreActions = __webpack_require__(/*! ../core/actions */ "./src/js/services/core/actions.js"); + var uiActions = __webpack_require__(/*! ../ui/actions */ "./src/js/services/ui/actions.js"); + var lastfmActions = __webpack_require__(/*! ./actions */ "./src/js/services/lastfm/actions.js"); var LastfmMiddleware = function () { @@ -100733,9 +102161,9 @@ var LastfmMiddleware = function () { return function (action) { switch (action.type) { case 'LASTFM_ME_LOADED': - var me = (0, _format.formatUser)(action.me); + var me = Object(_util_format__WEBPACK_IMPORTED_MODULE_1__["formatUser"])(action.me); Object.assign(me, { - uri: 'lastfm:user:' + me.name + uri: "lastfm:user:".concat(me.name) }); store.dispatch(coreActions.userLoaded(me)); action.me = me; @@ -100743,19 +102171,20 @@ var LastfmMiddleware = function () { break; case 'LASTFM_IMPORT_AUTHORIZATION': - // Wait a few moments before we fetch, allowing the import to complete first // TODO: Use callbacks for better code accuracy setTimeout(function () { store.dispatch(lastfmActions.getMe()); }, 100); - next(action); break; case 'LASTFM_AUTHORIZATION_REVOKED': if (store.getState().ui.allow_reporting) { - _reactGa2.default.event({ category: 'LastFM', action: 'Authorization revoked' }); + react_ga__WEBPACK_IMPORTED_MODULE_0__["default"].event({ + category: 'LastFM', + action: 'Authorization revoked' + }); } store.dispatch(uiActions.createNotification({ @@ -100768,7 +102197,6 @@ var LastfmMiddleware = function () { new_window: true }] })); - next(action); break; @@ -100780,7 +102208,7 @@ var LastfmMiddleware = function () { }; }(); -exports.default = LastfmMiddleware; +/* harmony default export */ __webpack_exports__["default"] = (LastfmMiddleware); /***/ }), @@ -100788,52 +102216,59 @@ exports.default = LastfmMiddleware; /*!*******************************************!*\ !*** ./src/js/services/lastfm/reducer.js ***! \*******************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return reducer; }); +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } -Object.defineProperty(exports, "__esModule", { - value: true -}); +function _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; } -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - -exports.default = reducer; function reducer() { var lastfm = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - var action = arguments[1]; + var action = arguments.length > 1 ? arguments[1] : undefined; switch (action.type) { case 'LASTFM_CONNECT': case 'LASTFM_CONNECTING': - return _extends({}, lastfm, { connected: false, connecting: true }); + return _objectSpread(_objectSpread({}, lastfm), {}, { + connected: false, + connecting: true + }); case 'LASTFM_CONNECTED': - return _extends({}, lastfm, { connected: true, connecting: false }); + return _objectSpread(_objectSpread({}, lastfm), {}, { + connected: true, + connecting: false + }); case 'LASTFM_SET': - return _extends({}, lastfm, action.data); + return _objectSpread(_objectSpread({}, lastfm), action.data); case 'LASTFM_ME_LOADED': - return _extends({}, lastfm, { me: action.me }); + return _objectSpread(_objectSpread({}, lastfm), {}, { + me: action.me + }); case 'LASTFM_AUTHORIZATION_GRANTED': - return _extends({}, lastfm, { + return _objectSpread(_objectSpread({}, lastfm), {}, { authorizing: false, authorization: action.data.session }); case 'LASTFM_AUTHORIZATION_REVOKED': - return _extends({}, lastfm, { + return _objectSpread(_objectSpread({}, lastfm), {}, { authorizing: false, authorization: false, me: null }); case 'LASTFM_IMPORT_AUTHORIZATION': - return _extends({}, lastfm, { + return _objectSpread(_objectSpread({}, lastfm), {}, { authorizing: false, authorization: action.authorization, me: null @@ -100850,38 +102285,27 @@ function reducer() { /*!****************************************************!*\ !*** ./src/js/services/localstorage/middleware.js ***! \****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _util_storage__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../util/storage */ "./src/js/util/storage.js"); -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _storage = __webpack_require__(/*! ../../util/storage */ "./src/js/util/storage.js"); - -var _storage2 = _interopRequireDefault(_storage); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - var localstorageMiddleware = function () { return function (store) { return function (next) { return function (action) { // proceed as normal first // this way, any reducers and middleware do their thing BEFORE we store our new state - next(action); + next(action); // append our state to a global variable. This gives us access to debug the store at any point - // append our state to a global variable. This gives us access to debug the store at any point - window._store = store; + window._store = store; // if debug enabled - // if debug enabled if (store.getState().ui.log_actions) { - var ignored_actions = ['START_LOADING', 'STOP_LOADING']; + var ignored_actions = ['START_LOADING', 'STOP_LOADING']; // Show non-ignored actions - // Show non-ignored actions if (!ignored_actions.includes(action.type)) { console.log(action); } @@ -100889,31 +102313,31 @@ var localstorageMiddleware = function () { switch (action.type) { case 'PUSHER_CONNECTED': - _storage2.default.set('pusher', { + _util_storage__WEBPACK_IMPORTED_MODULE_0__["default"].set('pusher', { connection_id: action.connection_id }); break; case 'PUSHER_SET_PORT': - _storage2.default.set('pusher', { + _util_storage__WEBPACK_IMPORTED_MODULE_0__["default"].set('pusher', { port: action.port }); break; case 'PUSHER_SET_USERNAME': - _storage2.default.set('pusher', { + _util_storage__WEBPACK_IMPORTED_MODULE_0__["default"].set('pusher', { username: action.username }); break; case 'MOPIDY_URISCHEMES_FILTERED': - _storage2.default.set('mopidy', { + _util_storage__WEBPACK_IMPORTED_MODULE_0__["default"].set('mopidy', { uri_schemes: action.data }); break; case 'MOPIDY_UPDATE_SERVERS': - _storage2.default.set('mopidy', { + _util_storage__WEBPACK_IMPORTED_MODULE_0__["default"].set('mopidy', { servers: action.servers }); break; @@ -100924,7 +102348,8 @@ var localstorageMiddleware = function () { } else if (action.data) { var authorization = action.data; } - _storage2.default.set('spotify', { + + _util_storage__WEBPACK_IMPORTED_MODULE_0__["default"].set('spotify', { authorization: authorization, access_token: authorization.access_token, refresh_token: authorization.refresh_token, @@ -100933,7 +102358,7 @@ var localstorageMiddleware = function () { break; case 'SPOTIFY_IMPORT_AUTHORIZATION': - _storage2.default.set('spotify', { + _util_storage__WEBPACK_IMPORTED_MODULE_0__["default"].set('spotify', { authorization: action.authorization, access_token: action.authorization.access_token, refresh_token: action.authorization.refresh_token, @@ -100943,7 +102368,7 @@ var localstorageMiddleware = function () { break; case 'SPOTIFY_AUTHORIZATION_REVOKED': - _storage2.default.set('spotify', { + _util_storage__WEBPACK_IMPORTED_MODULE_0__["default"].set('spotify', { authorization: null, access_token: null, refresh_token: null, @@ -100953,7 +102378,7 @@ var localstorageMiddleware = function () { break; case 'SPOTIFY_TOKEN_REFRESHED': - _storage2.default.set('spotify', { + _util_storage__WEBPACK_IMPORTED_MODULE_0__["default"].set('spotify', { access_token: action.data.access_token, token_expiry: action.data.token_expiry, provider: action.provider @@ -100961,45 +102386,45 @@ var localstorageMiddleware = function () { break; case 'SPOTIFY_ME_LOADED': - _storage2.default.set('spotify', { + _util_storage__WEBPACK_IMPORTED_MODULE_0__["default"].set('spotify', { me: action.me }); break; case 'LASTFM_ME_LOADED': - _storage2.default.set('lastfm', { + _util_storage__WEBPACK_IMPORTED_MODULE_0__["default"].set('lastfm', { me: action.me }); break; case 'LASTFM_AUTHORIZATION_GRANTED': - _storage2.default.set('lastfm', { + _util_storage__WEBPACK_IMPORTED_MODULE_0__["default"].set('lastfm', { authorization: action.data.session }); break; case 'LASTFM_AUTHORIZATION_REVOKED': - _storage2.default.set('lastfm', { + _util_storage__WEBPACK_IMPORTED_MODULE_0__["default"].set('lastfm', { authorization: null, me: null }); break; case 'LASTFM_IMPORT_AUTHORIZATION': - _storage2.default.set('lastfm', { + _util_storage__WEBPACK_IMPORTED_MODULE_0__["default"].set('lastfm', { authorization: action.authorization, me: null }); break; case 'GENIUS_ME_LOADED': - _storage2.default.set('genius', { + _util_storage__WEBPACK_IMPORTED_MODULE_0__["default"].set('genius', { me: action.me }); break; case 'GENIUS_AUTHORIZATION_GRANTED': - _storage2.default.set('genius', { + _util_storage__WEBPACK_IMPORTED_MODULE_0__["default"].set('genius', { authorization: action.data, authorization_code: action.data.authorization_code, access_token: action.data.access_token @@ -101007,7 +102432,7 @@ var localstorageMiddleware = function () { break; case 'GENIUS_AUTHORIZATION_REVOKED': - _storage2.default.set('genius', { + _util_storage__WEBPACK_IMPORTED_MODULE_0__["default"].set('genius', { me: null, authorization: null, authorization_code: null, @@ -101016,7 +102441,7 @@ var localstorageMiddleware = function () { break; case 'GENIUS_IMPORT_AUTHORIZATION': - _storage2.default.set('genius', { + _util_storage__WEBPACK_IMPORTED_MODULE_0__["default"].set('genius', { authorization: action.authorization, authorization_code: action.authorization.authorization_code, access_token: action.authorization.access_token, @@ -101025,33 +102450,34 @@ var localstorageMiddleware = function () { break; case 'CORE_SET': - _storage2.default.set('core', action.data); + _util_storage__WEBPACK_IMPORTED_MODULE_0__["default"].set('core', action.data); break; case 'UI_SET': - _storage2.default.set('ui', action.data); + _util_storage__WEBPACK_IMPORTED_MODULE_0__["default"].set('ui', action.data); break; case 'MOPIDY_SET': - _storage2.default.set('mopidy', action.data); + _util_storage__WEBPACK_IMPORTED_MODULE_0__["default"].set('mopidy', action.data); break; case 'SPOTIFY_SET': - _storage2.default.set('spotify', action.data); + _util_storage__WEBPACK_IMPORTED_MODULE_0__["default"].set('spotify', action.data); break; case 'SNAPCAST_SET': - _storage2.default.set('snapcast', action.data); + _util_storage__WEBPACK_IMPORTED_MODULE_0__["default"].set('snapcast', action.data); break; case 'SNAPCAST_COMMANDS_UPDATED': - _storage2.default.set('snapcast', { + _util_storage__WEBPACK_IMPORTED_MODULE_0__["default"].set('snapcast', { commands: action.commands }); break; case 'SUPPRESS_BROADCAST': - var ui = _storage2.default.get('ui'); + var ui = _util_storage__WEBPACK_IMPORTED_MODULE_0__["default"].get('ui'); + if (ui.suppressed_broadcasts !== undefined) { var suppressed_broadcasts = ui.suppressed_broadcasts; } else { @@ -101059,8 +102485,7 @@ var localstorageMiddleware = function () { } suppressed_broadcasts.push(action.key); - - _storage2.default.set('ui', { + _util_storage__WEBPACK_IMPORTED_MODULE_0__["default"].set('ui', { suppressed_broadcasts: suppressed_broadcasts }); break; @@ -101099,7 +102524,7 @@ var localstorageMiddleware = function () { }; }(); -exports.default = localstorageMiddleware; +/* harmony default export */ __webpack_exports__["default"] = (localstorageMiddleware); /***/ }), @@ -101107,124 +102532,116 @@ exports.default = localstorageMiddleware; /*!*******************************************!*\ !*** ./src/js/services/mopidy/actions.js ***! \*******************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: set, updateServer, updateServers, addServer, setCurrentServer, removeServer, setConnection, request, connect, connecting, disconnect, debug, restartStarted, restartFinished, upgradeStarted, upgradeFinished, localScanStarted, localScanFinished, getPlayState, play, pause, stop, next, previous, getMute, setMute, getVolume, setVolume, getConsume, setConsume, getRepeat, setRepeat, getRandom, setRandom, getTimePosition, setTimePosition, timePosition, getUriSchemes, getCurrentTrack, currentTrackLoaded, getNextTrack, clearCurrentTrack, getQueue, changeTrack, playURIs, playAlbum, playPlaylist, enqueueURIs, enqueueAlbum, enqueuePlaylist, enqueueURIsBatchDone, removeTracks, reorderTracklist, clearTracklist, shuffleTracklist, getImages, createPlaylist, deletePlaylist, getLibraryPlaylists, getPlaylist, getPlaylists, getDirectory, getTracks, getTrack, getLibraryArtists, clearLibraryArtists, getArtist, getArtists, getAlbum, getAlbums, getLibraryAlbums, clearLibraryAlbums, runProcessor, cancelProcessor, view_getRandomTracks, clearSearchResults, getSearchResults, getQueueHistory */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "set", function() { return set; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "updateServer", function() { return updateServer; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "updateServers", function() { return updateServers; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addServer", function() { return addServer; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setCurrentServer", function() { return setCurrentServer; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "removeServer", function() { return removeServer; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setConnection", function() { return setConnection; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "request", function() { return request; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "connect", function() { return connect; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "connecting", function() { return connecting; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "disconnect", function() { return disconnect; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "debug", function() { return debug; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "restartStarted", function() { return restartStarted; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "restartFinished", function() { return restartFinished; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "upgradeStarted", function() { return upgradeStarted; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "upgradeFinished", function() { return upgradeFinished; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "localScanStarted", function() { return localScanStarted; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "localScanFinished", function() { return localScanFinished; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getPlayState", function() { return getPlayState; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "play", function() { return play; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "pause", function() { return pause; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "stop", function() { return stop; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "next", function() { return next; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "previous", function() { return previous; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getMute", function() { return getMute; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setMute", function() { return setMute; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getVolume", function() { return getVolume; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setVolume", function() { return setVolume; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getConsume", function() { return getConsume; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setConsume", function() { return setConsume; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getRepeat", function() { return getRepeat; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setRepeat", function() { return setRepeat; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getRandom", function() { return getRandom; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setRandom", function() { return setRandom; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getTimePosition", function() { return getTimePosition; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setTimePosition", function() { return setTimePosition; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "timePosition", function() { return timePosition; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getUriSchemes", function() { return getUriSchemes; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getCurrentTrack", function() { return getCurrentTrack; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "currentTrackLoaded", function() { return currentTrackLoaded; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getNextTrack", function() { return getNextTrack; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "clearCurrentTrack", function() { return clearCurrentTrack; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getQueue", function() { return getQueue; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "changeTrack", function() { return changeTrack; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "playURIs", function() { return playURIs; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "playAlbum", function() { return playAlbum; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "playPlaylist", function() { return playPlaylist; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "enqueueURIs", function() { return enqueueURIs; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "enqueueAlbum", function() { return enqueueAlbum; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "enqueuePlaylist", function() { return enqueuePlaylist; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "enqueueURIsBatchDone", function() { return enqueueURIsBatchDone; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "removeTracks", function() { return removeTracks; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "reorderTracklist", function() { return reorderTracklist; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "clearTracklist", function() { return clearTracklist; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "shuffleTracklist", function() { return shuffleTracklist; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getImages", function() { return getImages; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createPlaylist", function() { return createPlaylist; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "deletePlaylist", function() { return deletePlaylist; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getLibraryPlaylists", function() { return getLibraryPlaylists; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getPlaylist", function() { return getPlaylist; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getPlaylists", function() { return getPlaylists; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getDirectory", function() { return getDirectory; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getTracks", function() { return getTracks; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getTrack", function() { return getTrack; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getLibraryArtists", function() { return getLibraryArtists; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "clearLibraryArtists", function() { return clearLibraryArtists; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getArtist", function() { return getArtist; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getArtists", function() { return getArtists; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getAlbum", function() { return getAlbum; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getAlbums", function() { return getAlbums; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getLibraryAlbums", function() { return getLibraryAlbums; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "clearLibraryAlbums", function() { return clearLibraryAlbums; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "runProcessor", function() { return runProcessor; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "cancelProcessor", function() { return cancelProcessor; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "view_getRandomTracks", function() { return view_getRandomTracks; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "clearSearchResults", function() { return clearSearchResults; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getSearchResults", function() { return getSearchResults; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getQueueHistory", function() { return getQueueHistory; }); +/* harmony import */ var _util_arrays__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../util/arrays */ "./src/js/util/arrays.js"); +/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.set = set; -exports.updateServer = updateServer; -exports.updateServers = updateServers; -exports.addServer = addServer; -exports.setCurrentServer = setCurrentServer; -exports.removeServer = removeServer; -exports.setConnection = setConnection; -exports.request = request; -exports.connect = connect; -exports.connecting = connecting; -exports.disconnect = disconnect; -exports.debug = debug; -exports.restartStarted = restartStarted; -exports.restartFinished = restartFinished; -exports.upgradeStarted = upgradeStarted; -exports.upgradeFinished = upgradeFinished; -exports.localScanStarted = localScanStarted; -exports.localScanFinished = localScanFinished; -exports.getPlayState = getPlayState; -exports.play = play; -exports.pause = pause; -exports.stop = stop; -exports.next = next; -exports.previous = previous; -exports.getMute = getMute; -exports.setMute = setMute; -exports.getVolume = getVolume; -exports.setVolume = setVolume; -exports.getConsume = getConsume; -exports.setConsume = setConsume; -exports.getRepeat = getRepeat; -exports.setRepeat = setRepeat; -exports.getRandom = getRandom; -exports.setRandom = setRandom; -exports.getTimePosition = getTimePosition; -exports.setTimePosition = setTimePosition; -exports.timePosition = timePosition; -exports.getUriSchemes = getUriSchemes; -exports.getCurrentTrack = getCurrentTrack; -exports.currentTrackLoaded = currentTrackLoaded; -exports.getNextTrack = getNextTrack; -exports.clearCurrentTrack = clearCurrentTrack; -exports.getQueue = getQueue; -exports.changeTrack = changeTrack; -exports.playURIs = playURIs; -exports.playAlbum = playAlbum; -exports.playPlaylist = playPlaylist; -exports.enqueueURIs = enqueueURIs; -exports.enqueueAlbum = enqueueAlbum; -exports.enqueuePlaylist = enqueuePlaylist; -exports.enqueueURIsBatchDone = enqueueURIsBatchDone; -exports.removeTracks = removeTracks; -exports.reorderTracklist = reorderTracklist; -exports.clearTracklist = clearTracklist; -exports.shuffleTracklist = shuffleTracklist; -exports.getImages = getImages; -exports.createPlaylist = createPlaylist; -exports.deletePlaylist = deletePlaylist; -exports.getLibraryPlaylists = getLibraryPlaylists; -exports.getPlaylist = getPlaylist; -exports.getPlaylists = getPlaylists; -exports.getDirectory = getDirectory; -exports.getTracks = getTracks; -exports.getTrack = getTrack; -exports.getLibraryArtists = getLibraryArtists; -exports.clearLibraryArtists = clearLibraryArtists; -exports.getArtist = getArtist; -exports.getArtists = getArtists; -exports.getAlbum = getAlbum; -exports.getAlbums = getAlbums; -exports.getLibraryAlbums = getLibraryAlbums; -exports.clearLibraryAlbums = clearLibraryAlbums; -exports.runProcessor = runProcessor; -exports.cancelProcessor = cancelProcessor; -exports.view_getRandomTracks = view_getRandomTracks; -exports.clearSearchResults = clearSearchResults; -exports.getSearchResults = getSearchResults; -exports.getQueueHistory = getQueueHistory; - -var _arrays = __webpack_require__(/*! ../../util/arrays */ "./src/js/util/arrays.js"); - -var _helpers = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); - function set(data) { return { type: 'MOPIDY_SET', data: data }; } - function updateServer(server) { return { type: 'MOPIDY_UPDATE_SERVER', server: server }; } - function updateServers(servers) { return { type: 'MOPIDY_UPDATE_SERVERS', servers: servers }; } - function addServer() { return { type: 'MOPIDY_UPDATE_SERVER', server: { - id: (0, _helpers.generateGuid)(), + id: Object(_util_helpers__WEBPACK_IMPORTED_MODULE_1__["generateGuid"])(), name: 'New server', host: window.location.hostname, port: window.location.port ? window.location.port : window.location.protocol === 'https:' ? '443' : '80', @@ -101232,33 +102649,28 @@ function addServer() { } }; } - function setCurrentServer(server) { return { type: 'MOPIDY_SET_CURRENT_SERVER', server: server }; } - function removeServer(id) { return { type: 'MOPIDY_REMOVE_SERVER', id: id }; } - function setConnection(data) { return { type: 'MOPIDY_SET_CONNECTION', data: data }; } - function request(method) { var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var response_callback = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; var error_callback = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null; - return { type: 'MOPIDY_REQUEST', method: method, @@ -101267,25 +102679,21 @@ function request(method) { error_callback: error_callback }; } - function connect() { return { type: 'MOPIDY_CONNECT' }; } - function connecting() { return { type: 'MOPIDY_CONNECTING' }; } - function disconnect() { return { type: 'MOPIDY_DISCONNECT' }; } - function debug(call, value) { return { type: 'MOPIDY_DEBUG', @@ -101293,43 +102701,36 @@ function debug(call, value) { value: value }; } - function restartStarted() { return { type: 'MOPIDY_RESTART_STARTED' }; } - function restartFinished() { return { type: 'MOPIDY_RESTART_FINISHED' }; } - function upgradeStarted() { return { type: 'MOPIDY_UPGRADE_STARTED' }; } - function upgradeFinished() { return { type: 'MOPIDY_UPGRADE_FINISHED' }; } - function localScanStarted() { return { type: 'MOPIDY_LOCAL_SCAN_STARTED' }; } - function localScanFinished() { return { type: 'MOPIDY_LOCAL_SCAN_FINISHED' }; } - /** * Core play actions * */ @@ -101339,128 +102740,108 @@ function getPlayState() { type: 'MOPIDY_GET_PLAY_STATE' }; } - function play() { return { type: 'MOPIDY_PLAY' }; } - function pause() { return { type: 'MOPIDY_PAUSE' }; } - function stop() { return { type: 'MOPIDY_STOP' }; } - function next() { return { type: 'MOPIDY_NEXT' }; } - function previous() { return { type: 'MOPIDY_PREVIOUS' }; } - function getMute() { return { type: 'MOPIDY_GET_MUTE' }; } - function setMute(mute) { return { type: 'MOPIDY_SET_MUTE', mute: mute }; } - function getVolume() { return { type: 'MOPIDY_GET_VOLUME' }; } - function setVolume(volume) { return { type: 'MOPIDY_SET_VOLUME', volume: volume }; } - function getConsume() { return { type: 'MOPIDY_GET_CONSUME' }; } - function setConsume(consume) { return { type: 'MOPIDY_SET_CONSUME', consume: consume }; } - function getRepeat() { return { type: 'MOPIDY_GET_REPEAT' }; } - function setRepeat(repeat) { return { type: 'MOPIDY_SET_REPEAT', repeat: repeat }; } - function getRandom() { return { type: 'MOPIDY_GET_RANDOM' }; } - function setRandom(random) { return { type: 'MOPIDY_SET_RANDOM', random: random }; } - function getTimePosition() { return { type: 'MOPIDY_GET_TIME_POSITION' }; } - function setTimePosition(time_position) { return { type: 'MOPIDY_SET_TIME_POSITION', time_position: parseInt(time_position) }; } - function timePosition(time_position) { return { type: 'MOPIDY_TIME_POSITION', time_position: parseInt(time_position) }; } - function getUriSchemes() { return { type: 'MOPIDY_GET_URI_SCHEMES' }; } - /** * Advanced playback actions * */ @@ -101470,39 +102851,33 @@ function getCurrentTrack() { type: 'MOPIDY_GET_CURRENT_TRACK' }; } - function currentTrackLoaded(tl_track) { return { type: 'MOPIDY_CURRENT_TRACK_LOADED', tl_track: tl_track }; } - function getNextTrack() { return { type: 'MOPIDY_GET_NEXT_TRACK' }; } - function clearCurrentTrack() { return { type: 'CLEAR_CURRENT_TRACK' }; } - function getQueue() { return { type: 'MOPIDY_GET_QUEUE' }; } - function changeTrack(tlid) { return { type: 'MOPIDY_CHANGE_TRACK', tlid: tlid }; } - /** * Playing assets * */ @@ -101511,7 +102886,6 @@ function playURIs() { var uris = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; var from_uri = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; var shuffle = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; - return { type: 'MOPIDY_PLAY_URIS', uris: uris, @@ -101519,31 +102893,26 @@ function playURIs() { shuffle: shuffle }; } - function playAlbum(uri) { return { type: 'MOPIDY_PLAY_ALBUM', uri: uri }; } - function playPlaylist(uri) { var shuffle = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - return { type: 'MOPIDY_PLAY_PLAYLIST', uri: uri, shuffle: shuffle }; } - function enqueueURIs() { var uris = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; var from_uri = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; var play_next = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; var at_position = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null; var offset = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0; - return { type: 'MOPIDY_ENQUEUE_URIS', uris: uris, @@ -101553,11 +102922,9 @@ function enqueueURIs() { offset: offset }; } - function enqueueAlbum(uri) { var next = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; var at_position = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; - return { type: 'MOPIDY_ENQUEUE_ALBUM', uri: uri, @@ -101565,11 +102932,9 @@ function enqueueAlbum(uri) { at_position: at_position }; } - function enqueuePlaylist(uri) { var play_next = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; var at_position = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; - return { type: 'MOPIDY_ENQUEUE_PLAYLIST', uri: uri, @@ -101577,13 +102942,11 @@ function enqueuePlaylist(uri) { at_position: at_position }; } - function enqueueURIsBatchDone() { return { type: 'MOPIDY_ENQUEUE_URIS_BATCH_DONE' }; } - /** * Playlist maniopulation * */ @@ -101594,9 +102957,8 @@ function removeTracks(tlids) { tlids: tlids }; } - function reorderTracklist(indexes, insert_before) { - var range = (0, _arrays.createRange)(indexes); + var range = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_0__["createRange"])(indexes); if (insert_before > range.start) insert_before -= range.length; return { type: 'MOPIDY_REORDER_TRACKLIST', @@ -101605,19 +102967,16 @@ function reorderTracklist(indexes, insert_before) { insert_before: insert_before }; } - function clearTracklist() { return { type: 'MOPIDY_CLEAR_TRACKLIST' }; } - function shuffleTracklist() { return { type: 'MOPIDY_SHUFFLE_TRACKLIST' }; } - /** * Asset-oriented actions * */ @@ -101629,7 +102988,6 @@ function getImages(context, uris) { uris: uris }; } - function createPlaylist(name, scheme) { return { type: 'MOPIDY_CREATE_PLAYLIST', @@ -101637,42 +102995,39 @@ function createPlaylist(name, scheme) { scheme: scheme }; } - function deletePlaylist(uri) { return { type: 'MOPIDY_DELETE_PLAYLIST', uri: uri }; } - function getLibraryPlaylists() { - return { type: 'MOPIDY_GET_LIBRARY_PLAYLISTS' }; + return { + type: 'MOPIDY_GET_LIBRARY_PLAYLISTS' + }; } - function getPlaylist(uri) { return { type: 'MOPIDY_GET_PLAYLIST', - data: { uri: uri } + data: { + uri: uri + } }; } - function getPlaylists(uris) { var processor = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; - return { type: 'MOPIDY_GET_PLAYLISTS', uris: uris, processor: processor }; } - function getDirectory(uri) { return { type: 'MOPIDY_GET_DIRECTORY', uri: uri }; } - function getTracks(uris, get_images) { return { type: 'MOPIDY_GET_TRACKS', @@ -101680,96 +103035,78 @@ function getTracks(uris, get_images) { get_images: get_images }; } - function getTrack(uri) { return getTracks([uri], true); } - function getLibraryArtists() { var uri = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; - return { type: 'MOPIDY_GET_LIBRARY_ARTISTS', uri: uri }; } - function clearLibraryArtists() { return { type: 'MOPIDY_CLEAR_LIBRARY_ARTISTS' }; } - function getArtist(uri) { return { type: 'MOPIDY_GET_ARTIST', uri: uri }; } - function getArtists(uris) { var processor = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; - return { type: 'MOPIDY_GET_ARTISTS', uris: uris, processor: processor }; } - function getAlbum(uri) { return { type: 'MOPIDY_GET_ALBUM', uri: uri }; } - function getAlbums(uris) { var processor = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; - return { type: 'MOPIDY_GET_ALBUMS', uris: uris, processor: processor }; } - function getLibraryAlbums() { var uri = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; - return { type: 'MOPIDY_GET_LIBRARY_ALBUMS', uri: uri }; } - function clearLibraryAlbums() { return { type: 'MOPIDY_CLEAR_LIBRARY_ALBUMS' }; } - function runProcessor(processor) { return { type: processor }; } - function cancelProcessor(processor) { return { - type: processor + '_CANCEL' + type: "".concat(processor, "_CANCEL") }; } - function view_getRandomTracks() { var limit = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 100; - return { type: 'VIEW__GET_RANDOM_TRACKS', limit: limit }; } - /** * Searching * */ @@ -101779,17 +103116,17 @@ function clearSearchResults() { type: 'MOPIDY_CLEAR_SEARCH_RESULTS' }; } - function getSearchResults(type, term) { var limit = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 100; - return { type: 'MOPIDY_GET_SEARCH_RESULTS', - query: { type: type, term: term }, + query: { + type: type, + term: term + }, limit: limit }; } - /** * Other general actions * */ @@ -101806,60 +103143,74 @@ function getQueueHistory() { /*!**********************************************!*\ !*** ./src/js/services/mopidy/middleware.js ***! \**********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react_ga__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-ga */ "./node_modules/react-ga/dist/esm/index.js"); +/* harmony import */ var mopidy__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! mopidy */ "./node_modules/mopidy/src/mopidy.js"); +/* harmony import */ var mopidy__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(mopidy__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var js_sha256__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! js-sha256 */ "./node_modules/js-sha256/src/sha256.js"); +/* harmony import */ var js_sha256__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(js_sha256__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lodash */ "./node_modules/lodash/lodash.js"); +/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); +/* harmony import */ var _util_format__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../util/format */ "./src/js/util/format.js"); +/* harmony import */ var _util_arrays__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../util/arrays */ "./src/js/util/arrays.js"); +function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function _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; } -Object.defineProperty(exports, "__esModule", { - value: true -}); -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; -var _reactGa = __webpack_require__(/*! react-ga */ "./node_modules/react-ga/dist/esm/index.js"); -var _reactGa2 = _interopRequireDefault(_reactGa); -var _mopidy = __webpack_require__(/*! mopidy */ "./node_modules/mopidy/src/mopidy.js"); -var _mopidy2 = _interopRequireDefault(_mopidy); -var _jsSha = __webpack_require__(/*! js-sha256 */ "./node_modules/js-sha256/src/sha256.js"); - -var _lodash = __webpack_require__(/*! lodash */ "./node_modules/lodash/lodash.js"); - -var _helpers = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); - -var _format = __webpack_require__(/*! ../../util/format */ "./src/js/util/format.js"); - -var _arrays = __webpack_require__(/*! ../../util/arrays */ "./src/js/util/arrays.js"); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } var mopidyActions = __webpack_require__(/*! ./actions.js */ "./src/js/services/mopidy/actions.js"); + var coreActions = __webpack_require__(/*! ../core/actions.js */ "./src/js/services/core/actions.js"); + var uiActions = __webpack_require__(/*! ../ui/actions.js */ "./src/js/services/ui/actions.js"); + var spotifyActions = __webpack_require__(/*! ../spotify/actions.js */ "./src/js/services/spotify/actions.js"); + var pusherActions = __webpack_require__(/*! ../pusher/actions.js */ "./src/js/services/pusher/actions.js"); + var googleActions = __webpack_require__(/*! ../google/actions.js */ "./src/js/services/google/actions.js"); + var lastfmActions = __webpack_require__(/*! ../lastfm/actions.js */ "./src/js/services/lastfm/actions.js"); + var discogsActions = __webpack_require__(/*! ../discogs/actions.js */ "./src/js/services/discogs/actions.js"); var MopidyMiddleware = function () { var _this = this; // container for the actual Mopidy socket - var socket = null; + var socket = null; // play position timer - // play position timer var progress_interval = null; - var progress_interval_counter = 0; + var progress_interval_counter = 0; // handle all manner of socket messages - // handle all manner of socket messages var handleMessage = function handleMessage(ws, store, type, data) { // if debug enabled if (store.getState().ui.log_mopidy) { @@ -101868,8 +103219,9 @@ var MopidyMiddleware = function () { switch (type) { case 'state:online': - store.dispatch({ type: 'MOPIDY_CONNECTED' }); - + store.dispatch({ + type: 'MOPIDY_CONNECTED' + }); store.dispatch(mopidyActions.getPlayState()); store.dispatch(mopidyActions.getVolume()); store.dispatch(mopidyActions.getMute()); @@ -101879,16 +103231,13 @@ var MopidyMiddleware = function () { store.dispatch(mopidyActions.getQueue()); store.dispatch(mopidyActions.getCurrentTrack()); store.dispatch(mopidyActions.getTimePosition()); - store.dispatch(mopidyActions.getUriSchemes()); + store.dispatch(mopidyActions.getUriSchemes()); // Every 1s update our play position (when playing) - // Every 1s update our play position (when playing) progress_interval = setInterval(function () { if (store.getState().mopidy.play_state == 'playing') { // Every 10s get real position from server, provided we're in-focus if (progress_interval_counter % 5 == 0 && store.getState().ui.window_focus === true) { - store.dispatch(mopidyActions.getTimePosition()); - - // Otherwise we just assume to add 1000ms every 1000ms of play time + store.dispatch(mopidyActions.getTimePosition()); // Otherwise we just assume to add 1000ms every 1000ms of play time } else { store.dispatch(mopidyActions.timePosition(store.getState().mopidy.time_position + 1000)); } @@ -101896,23 +103245,22 @@ var MopidyMiddleware = function () { progress_interval_counter++; } }, 1000); - break; case 'state:offline': - store.dispatch({ type: 'MOPIDY_DISCONNECTED' }); - store.dispatch(mopidyActions.clearCurrentTrack()); + store.dispatch({ + type: 'MOPIDY_DISCONNECTED' + }); + store.dispatch(mopidyActions.clearCurrentTrack()); // reset our playback interval timer - // reset our playback interval timer clearInterval(progress_interval); progress_interval_counter = 0; break; case 'event:tracklistChanged': - store.dispatch(mopidyActions.getQueue()); - - // Wait a jiffy before we get the next track + store.dispatch(mopidyActions.getQueue()); // Wait a jiffy before we get the next track // We don't want to impede snappyness for this luxury request + setTimeout(function () { store.dispatch(mopidyActions.getNextTrack()); }, 1000); @@ -101942,21 +103290,26 @@ var MopidyMiddleware = function () { break; case 'event:trackPlaybackStarted': - store.dispatch(mopidyActions.currentTrackLoaded(data.tl_track)); - - // Wait a jiffy before we get the next track + store.dispatch(mopidyActions.currentTrackLoaded(data.tl_track)); // Wait a jiffy before we get the next track // We don't want to impede snappyness for this luxury request + setTimeout(function () { store.dispatch(mopidyActions.getNextTrack()); }, 1000); break; case 'event:volumeChanged': - store.dispatch({ type: 'MOPIDY_VOLUME', volume: data.volume }); + store.dispatch({ + type: 'MOPIDY_VOLUME', + volume: data.volume + }); break; case 'event:muteChanged': - store.dispatch({ type: 'MOPIDY_MUTE', mute: data.mute }); + store.dispatch({ + type: 'MOPIDY_MUTE', + mute: data.mute + }); break; case 'event:optionsChanged': @@ -101965,11 +103318,10 @@ var MopidyMiddleware = function () { store.dispatch(mopidyActions.getRepeat()); break; - default: - // console.log('MopidyService: Unhandled message', type, message ); + default: // console.log('MopidyService: Unhandled message', type, message ); + } }; - /** * Call something with Mopidy * @@ -101980,6 +103332,8 @@ var MopidyMiddleware = function () { * @param string value (optional) = value of the property to pass * @return promise * */ + + var request = function request(ws, store, call) { var value = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; @@ -101990,7 +103344,6 @@ var MopidyMiddleware = function () { var callParts = call.split('.'); var model = callParts[0]; var method = callParts[1]; - return new Promise(function (resolve, reject) { if (method in ws[model]) { var mopidyObject = ws[model][method]; @@ -101998,30 +103351,30 @@ var MopidyMiddleware = function () { } else { var mopidyObject = ws[model]; var property = model; - } + } // Detect invalid model.method calls, which result in an empty mopidyObject + - // Detect invalid model.method calls, which result in an empty mopidyObject if (!mopidyObject || typeof mopidyObject !== 'function') { var error = { message: 'Call to an invalid object. Check you are calling a valid Mopidy object.', call: call, value: value }; - - store.dispatch(coreActions.handleException('Mopidy: ' + error.message, error)); - + store.dispatch(coreActions.handleException("Mopidy: ".concat(error.message), error)); reject(error); } - var loader_key = (0, _helpers.generateGuid)(); - store.dispatch(uiActions.startLoading(loader_key, 'mopidy_' + property)); + var loader_key = Object(_util_helpers__WEBPACK_IMPORTED_MODULE_4__["generateGuid"])(); + store.dispatch(uiActions.startLoading(loader_key, "mopidy_".concat(property))); // Start our 15 second timeout - // Start our 15 second timeout var timeout = setTimeout(function () { store.dispatch(uiActions.stopLoading(loader_key)); - reject({ message: 'Request timed out', call: call, value: value }); + reject({ + message: 'Request timed out', + call: call, + value: value + }); }, 30000); - mopidyObject(value).then(function (response) { clearTimeout(timeout); store.dispatch(uiActions.stopLoading(loader_key)); @@ -102033,7 +103386,6 @@ var MopidyMiddleware = function () { }); }); }; - /** * Middleware * @@ -102041,6 +103393,8 @@ var MopidyMiddleware = function () { * and handle special functionality. If the action is not in our switch, then * it just proceeds to the next middleware, or default functionality * */ + + return function (store) { return function (next) { return function (action) { @@ -102050,14 +103404,14 @@ var MopidyMiddleware = function () { socket.close(); } - store.dispatch({ type: 'MOPIDY_CONNECTING' }); + store.dispatch({ + type: 'MOPIDY_CONNECTING' + }); var state = store.getState(); - - socket = new _mopidy2.default({ - webSocketUrl: 'ws' + (state.mopidy.ssl ? 's' : '') + '://' + state.mopidy.host + ':' + state.mopidy.port + '/mopidy/ws/', + socket = new mopidy__WEBPACK_IMPORTED_MODULE_1___default.a({ + webSocketUrl: "ws".concat(state.mopidy.ssl ? 's' : '', "://").concat(state.mopidy.host, ":").concat(state.mopidy.port, "/mopidy/ws/"), callingConvention: 'by-position-or-by-name' }); - socket.on(function (type, data) { return handleMessage(socket, store, type, data); }); @@ -102065,34 +103419,40 @@ var MopidyMiddleware = function () { case 'MOPIDY_CONNECTED': if (store.getState().ui.allow_reporting) { - _reactGa2.default.event({ + react_ga__WEBPACK_IMPORTED_MODULE_0__["default"].event({ category: 'Mopidy', action: 'Connected', - label: (0, _jsSha.sha256)(window.location.hostname) + label: Object(js_sha256__WEBPACK_IMPORTED_MODULE_2__["sha256"])(window.location.hostname) }); } + next(action); break; case 'MOPIDY_DISCONNECT': if (socket != null) socket.close(); socket = null; - store.dispatch({ type: 'MOPIDY_DISCONNECTED' }); + store.dispatch({ + type: 'MOPIDY_DISCONNECTED' + }); break; case 'MOPIDY_DISCONNECTED': - (0, _helpers.setFavicon)('favicon_error.png'); + Object(_util_helpers__WEBPACK_IMPORTED_MODULE_4__["setFavicon"])('favicon_error.png'); break; case 'MOPIDY_DEBUG': request(socket, store, action.call, action.value).then(function (response) { - store.dispatch({ type: 'DEBUG', response: response }); + store.dispatch({ + type: 'DEBUG', + response: response + }); }); break; case 'MOPIDY_UPDATE_SERVER': var servers = store.getState().mopidy.servers; - servers[action.server.id] = _extends({}, servers[action.server.id], action.server); + servers[action.server.id] = _objectSpread(_objectSpread({}, servers[action.server.id]), action.server); store.dispatch(mopidyActions.updateServers(servers)); break; @@ -102104,9 +103464,8 @@ var MopidyMiddleware = function () { ssl: action.server.ssl, connected: false, connecting: false - })); + })); // Wait a moment for store to update, then attempt connection - // Wait a moment for store to update, then attempt connection setTimeout(function () { store.dispatch(mopidyActions.connect()); store.dispatch(pusherActions.connect()); @@ -102120,7 +103479,6 @@ var MopidyMiddleware = function () { break; case 'SET_WINDOW_FOCUS': - // Focus has just been regained if (action.window_focus === true) { store.dispatch(mopidyActions.getPlayState()); @@ -102132,6 +103490,7 @@ var MopidyMiddleware = function () { store.dispatch(mopidyActions.getCurrentTrack()); store.dispatch(mopidyActions.getTimePosition()); } + break; case 'MOPIDY_REQUEST': @@ -102156,10 +103515,11 @@ var MopidyMiddleware = function () { store.dispatch(uiActions.setWindowTitle(null, action.play_state)); if (action.play_state == 'playing') { - (0, _helpers.setFavicon)('favicon.png'); + Object(_util_helpers__WEBPACK_IMPORTED_MODULE_4__["setFavicon"])('favicon.png'); } else { - (0, _helpers.setFavicon)('favicon_paused.png'); + Object(_util_helpers__WEBPACK_IMPORTED_MODULE_4__["setFavicon"])('favicon_paused.png'); } + next(action); break; @@ -102179,11 +103539,10 @@ var MopidyMiddleware = function () { play_state: 'playing' }); }); - store.dispatch(pusherActions.deliverBroadcast('notification', { notification: { - content: store.getState().pusher.username + (store.getState().mopidy.play_state == 'paused' ? ' resumed' : ' started') + ' playback', - icon: store.getState().core.current_track ? (0, _format.getTrackIcon)(store.getState().core.current_track, store.getState().core) : false + content: "".concat(store.getState().pusher.username + (store.getState().mopidy.play_state == 'paused' ? ' resumed' : ' started'), " playback"), + icon: store.getState().core.current_track ? Object(_util_format__WEBPACK_IMPORTED_MODULE_5__["getTrackIcon"])(store.getState().core.current_track, store.getState().core) : false } })); break; @@ -102196,66 +103555,65 @@ var MopidyMiddleware = function () { }); store.dispatch(pusherActions.deliverBroadcast('notification', { notification: { - content: store.getState().pusher.username + ' paused playback', - icon: store.getState().core.current_track ? (0, _format.getTrackIcon)(store.getState().core.current_track, store.getState().core) : false + content: "".concat(store.getState().pusher.username, " paused playback"), + icon: store.getState().core.current_track ? Object(_util_format__WEBPACK_IMPORTED_MODULE_5__["getTrackIcon"])(store.getState().core.current_track, store.getState().core) : false } })); }); - break; case 'MOPIDY_PREVIOUS': - // Let the UI know we're in transition store.dispatch(uiActions.setCurrentTrackTransition('previous')); - request(socket, store, 'playback.previous'); break; case 'MOPIDY_NEXT': - // Let the UI know we're in transition store.dispatch(uiActions.setCurrentTrackTransition('next')); - request(socket, store, 'playback.next').then(function (response) { store.dispatch(pusherActions.deliverBroadcast('notification', { notification: { - content: store.getState().pusher.username + ' skipped "' + store.getState().core.current_track.name + '"', - icon: store.getState().core.current_track ? (0, _format.getTrackIcon)(store.getState().core.current_track, store.getState().core) : false + content: "".concat(store.getState().pusher.username, " skipped \"").concat(store.getState().core.current_track.name, "\""), + icon: store.getState().core.current_track ? Object(_util_format__WEBPACK_IMPORTED_MODULE_5__["getTrackIcon"])(store.getState().core.current_track, store.getState().core) : false } })); }); - break; case 'MOPIDY_STOP': request(socket, store, 'playback.stop').then(function (response) { store.dispatch(mopidyActions.clearCurrentTrack()); - store.dispatch(pusherActions.deliverBroadcast('notification', { notification: { - content: store.getState().pusher.username + ' stopped playback', - icon: store.getState().core.current_track ? (0, _format.getTrackIcon)(store.getState().core.current_track, store.getState().core) : false + content: "".concat(store.getState().pusher.username, " stopped playback"), + icon: store.getState().core.current_track ? Object(_util_format__WEBPACK_IMPORTED_MODULE_5__["getTrackIcon"])(store.getState().core.current_track, store.getState().core) : false } })); }); break; case 'MOPIDY_CHANGE_TRACK': - request(socket, store, 'playback.play', { tlid: action.tlid }).then(function (response) { + request(socket, store, 'playback.play', { + tlid: action.tlid + }).then(function (response) { store.dispatch(pusherActions.deliverBroadcast('notification', { notification: { - content: store.getState().pusher.username + ' changed track' + content: "".concat(store.getState().pusher.username, " changed track") } })); }); break; case 'MOPIDY_REMOVE_TRACKS': - request(socket, store, 'tracklist.remove', { criteria: { tlid: action.tlids } }).then(function (response) { + request(socket, store, 'tracklist.remove', { + criteria: { + tlid: action.tlids + } + }).then(function (response) { store.dispatch(pusherActions.deliverBroadcast('notification', { notification: { - content: store.getState().pusher.username + ' removed ' + action.tlids.length + ' tracks' + content: "".concat(store.getState().pusher.username, " removed ").concat(action.tlids.length, " tracks") } })); }); @@ -102313,7 +103671,7 @@ var MopidyMiddleware = function () { request(socket, store, 'mixer.setMute', [action.mute]).then(function (response) { store.dispatch(pusherActions.deliverBroadcast('notification', { notification: { - content: store.getState().pusher.username + (action.mute ? ' muted' : ' unmuted') + ' playback' + content: "".concat(store.getState().pusher.username + (action.mute ? ' muted' : ' unmuted'), " playback") } })); }); @@ -102329,7 +103687,9 @@ var MopidyMiddleware = function () { break; case 'MOPIDY_SET_VOLUME': - request(socket, store, 'mixer.setVolume', { volume: action.volume }).then(function (response) { + request(socket, store, 'mixer.setVolume', { + volume: action.volume + }).then(function (response) { store.dispatch({ type: 'MOPIDY_VOLUME', volume: action.volume @@ -102338,7 +103698,9 @@ var MopidyMiddleware = function () { break; case 'MOPIDY_SET_TIME_POSITION': - request(socket, store, 'playback.seek', { time_position: action.time_position }).then(function (response) { + request(socket, store, 'playback.seek', { + time_position: action.time_position + }).then(function (response) { store.dispatch({ type: 'MOPIDY_TIME_POSITION', time_position: action.time_position @@ -102358,29 +103720,36 @@ var MopidyMiddleware = function () { case 'MOPIDY_GET_URI_SCHEMES': request(socket, store, 'getUriSchemes').then(function (response) { var uri_schemes = response; - var remove = ['http', 'https', 'mms', 'rtmp', 'rtmps', 'rtsp', 'sc', 'yt']; + var remove = ['http', 'https', 'mms', 'rtmp', 'rtmps', 'rtsp', 'sc', 'yt']; // remove all our ignored types - // remove all our ignored types for (var i = 0; i < remove.length; i++) { var index = uri_schemes.indexOf(remove[i]); if (index > -1) uri_schemes.splice(index, 1); - } + } // append with ':' to make them a mopidy URI + - // append with ':' to make them a mopidy URI for (var i = 0; i < uri_schemes.length; i++) { - uri_schemes[i] = uri_schemes[i] + ':'; - } + uri_schemes[i] = "".concat(uri_schemes[i], ":"); + } // Enable Iris providers when the backend is available - // Enable Iris providers when the backend is available - store.dispatch(spotifyActions.set({ enabled: uri_schemes.includes('spotify:') })); - store.dispatch(googleActions.set({ enabled: uri_schemes.includes('gmusic:') })); - // If we haven't customised our search schemes, add all to search + store.dispatch(spotifyActions.set({ + enabled: uri_schemes.includes('spotify:') + })); + store.dispatch(googleActions.set({ + enabled: uri_schemes.includes('gmusic:') + })); // If we haven't customised our search schemes, add all to search + if (store.getState().ui.uri_schemes_search_enabled === undefined) { - store.dispatch(uiActions.set({ uri_schemes_search_enabled: uri_schemes })); + store.dispatch(uiActions.set({ + uri_schemes_search_enabled: uri_schemes + })); } - store.dispatch({ type: 'MOPIDY_URI_SCHEMES', uri_schemes: uri_schemes }); + store.dispatch({ + type: 'MOPIDY_URI_SCHEMES', + uri_schemes: uri_schemes + }); }); break; @@ -102389,108 +103758,122 @@ var MopidyMiddleware = function () { * */ case 'MOPIDY_PLAY_PLAYLIST': - var playlist = store.getState().core.playlists[action.uri]; + var playlist = store.getState().core.playlists[action.uri]; // We have the playlist loaded already, and we've got at least 1 track to start playing - // We have the playlist loaded already, and we've got at least 1 track to start playing if (playlist && playlist.tracks_uris && playlist.tracks_uris.length > 0) { // We've got all of the tracks, so just play those; no further action required if (playlist.tracks_total == playlist.tracks_uris.length) { store.dispatch(mopidyActions.playURIs(playlist.tracks_uris, action.uri, action.shuffle)); break; - } + } // Spotify-provided playlists need to be handled by the Spotify service + - // Spotify-provided playlists need to be handled by the Spotify service if (playlist.provider == 'spotify') { store.dispatch(spotifyActions.getAllPlaylistTracks(action.uri, action.shuffle, 'play')); break; - } + } // It's a Spotify playlist that we haven't loaded yet, so Spotify HTTP API needs to go get it - // It's a Spotify playlist that we haven't loaded yet, so Spotify HTTP API needs to go get it - } else if ((0, _helpers.uriSource)(action.uri) == 'spotify' && store.getState().spotify.enabled) { + } else if (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_4__["uriSource"])(action.uri) == 'spotify' && store.getState().spotify.enabled) { store.dispatch(spotifyActions.getAllPlaylistTracks(action.uri, action.shuffle, 'play')); break; - } - - // Not in index, and Spotify HTTP not enabled, so just play it as-is + } // Not in index, and Spotify HTTP not enabled, so just play it as-is // Fetch the playlist tracks via backend and add each track by URI - request(socket, store, 'playlists.lookup', { uri: action.uri }).then(function (response) { + + + request(socket, store, 'playlists.lookup', { + uri: action.uri + }).then(function (response) { if (!response || response.tracks === undefined || !response.tracks) { - store.dispatch(uiActions.createNotification({ content: 'Failed to load playlist tracks', level: 'error' })); + store.dispatch(uiActions.createNotification({ + content: 'Failed to load playlist tracks', + level: 'error' + })); } else { - var tracks_uris = (0, _arrays.arrayOf)('uri', response.tracks); + var tracks_uris = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_6__["arrayOf"])('uri', response.tracks); + if (action.shuffle) { - tracks_uris = (0, _arrays.shuffle)(tracks_uris); + tracks_uris = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_6__["shuffle"])(tracks_uris); } + store.dispatch(mopidyActions.playURIs(tracks_uris, action.uri)); } }, function (error) { - store.dispatch(coreActions.handleException('Mopidy: ' + (error.message ? error.message : 'Lookup failed'), error)); + store.dispatch(coreActions.handleException("Mopidy: ".concat(error.message ? error.message : 'Lookup failed'), error)); }); break; case 'MOPIDY_ENQUEUE_PLAYLIST': + var playlist = store.getState().core.playlists[action.uri]; // We have the playlist loaded already, and we've got at least 1 track to start playing - var playlist = store.getState().core.playlists[action.uri]; - - // We have the playlist loaded already, and we've got at least 1 track to start playing if (playlist && playlist.tracks_uris && playlist.tracks_uris.length > 0) { // We've got all of the tracks, so just play those; no further action required if (playlist.tracks_total == playlist.tracks_uris.length) { var tracks_uris = Object.assign([], playlist.tracks_uris); + if (action.shuffle) { - tracks_uris = (0, _arrays.shuffle)(tracks_uris); + tracks_uris = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_6__["shuffle"])(tracks_uris); } + store.dispatch(mopidyActions.enqueueURIs(tracks_uris, action.uri, action.play_next, action.at_position, action.offset)); break; - } + } // Spotify-provided playlists need to be handled by the Spotify service + - // Spotify-provided playlists need to be handled by the Spotify service if (playlist.provider == 'spotify') { store.dispatch(spotifyActions.getAllPlaylistTracks(action.uri, action.shuffle, 'enqueue', action.play_next)); break; - } + } // It's a Spotify playlist that we haven't loaded yet, so Spotify HTTP API needs to go get it - // It's a Spotify playlist that we haven't loaded yet, so Spotify HTTP API needs to go get it - } else if ((0, _helpers.uriSource)(action.uri) == 'spotify' && store.getState().spotify.enabled) { + } else if (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_4__["uriSource"])(action.uri) == 'spotify' && store.getState().spotify.enabled) { store.dispatch(spotifyActions.getAllPlaylistTracks(action.uri, action.shuffle, 'enqueue', action.play_next)); break; - } - - // Not in index, and Spotify HTTP not enabled, so just play it as-is + } // Not in index, and Spotify HTTP not enabled, so just play it as-is // Fetch the playlist tracks via backend and add each track by URI - request(socket, store, 'playlists.lookup', { uri: action.uri }).then(function (response) { + + + request(socket, store, 'playlists.lookup', { + uri: action.uri + }).then(function (response) { if (response.tracks === undefined) { - store.dispatch(uiActions.createNotification({ content: 'Failed to load playlist tracks', level: 'error' })); + store.dispatch(uiActions.createNotification({ + content: 'Failed to load playlist tracks', + level: 'error' + })); } else { - var _tracks_uris = (0, _arrays.arrayOf)('uri', response.tracks); + var _tracks_uris = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_6__["arrayOf"])('uri', response.tracks); + if (action.shuffle) { - _tracks_uris = (0, _arrays.shuffle)(_tracks_uris); + _tracks_uris = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_6__["shuffle"])(_tracks_uris); } + store.dispatch(mopidyActions.enqueueURIs(_tracks_uris, action.uri, action.play_next, action.at_position, action.offset)); } }, function (error) { - store.dispatch(coreActions.handleException('Mopidy: ' + (error.message ? error.message : 'Lookup failed'), error)); + store.dispatch(coreActions.handleException("Mopidy: ".concat(error.message ? error.message : 'Lookup failed'), error)); }); break; case 'MOPIDY_ENQUEUE_URIS': - if (!action.uris || action.uris.length <= 0) { - _this.props.uiActions.createNotification({ content: 'No URIs to enqueue', level: 'warning' }); + _this.props.uiActions.createNotification({ + content: 'No URIs to enqueue', + level: 'warning' + }); + break; } store.dispatch(pusherActions.deliverBroadcast('notification', { notification: { - content: store.getState().pusher.username + ' is adding ' + action.uris.length + ' URIs to queue', - icon: store.getState().core.current_track ? (0, _format.getTrackIcon)(store.getState().core.current_track, store.getState().core) : false + content: "".concat(store.getState().pusher.username, " is adding ").concat(action.uris.length, " URIs to queue"), + icon: store.getState().core.current_track ? Object(_util_format__WEBPACK_IMPORTED_MODULE_5__["getTrackIcon"])(store.getState().core.current_track, store.getState().core) : false } - })); + })); // split into batches - // split into batches var uris = Object.assign([], action.uris); var batches = []; var batch_size = 5; + while (uris.length > 0) { batches.push({ uris: uris.splice(0, batch_size), @@ -102499,14 +103882,13 @@ var MopidyMiddleware = function () { offset: action.offset + batch_size * batches.length, from_uri: action.from_uri }); - } + } // pass this modified action to the reducer (and other middleware) + - // pass this modified action to the reducer (and other middleware) action.batches = batches; - next(action); + next(action); // start our processor - // start our processor - store.dispatch(uiActions.startProcess('MOPIDY_ENQUEUE_URIS_PROCESSOR', 'Adding ' + action.uris.length + ' URI(s)', { + store.dispatch(uiActions.startProcess('MOPIDY_ENQUEUE_URIS_PROCESSOR', "Adding ".concat(action.uris.length, " URI(s)"), { batches: batches, remaining: action.uris.length, total: action.uris.length @@ -102514,28 +103896,26 @@ var MopidyMiddleware = function () { break; case 'MOPIDY_ENQUEUE_URIS_PROCESSOR': + var last_run = store.getState().ui.processes.MOPIDY_ENQUEUE_URIS_PROCESSOR; // Cancelling - var last_run = store.getState().ui.processes.MOPIDY_ENQUEUE_URIS_PROCESSOR; - - // Cancelling if (last_run && last_run.status == 'cancelling') { store.dispatch(uiActions.processCancelled('MOPIDY_ENQUEUE_URIS_PROCESSOR')); - return; + return; // make sure we have some uris in the queue + } - // make sure we have some uris in the queue - }if (action.data.batches && action.data.batches.length > 0) { + if (action.data.batches && action.data.batches.length > 0) { var batches = Object.assign([], action.data.batches); var batch = batches[0]; var total_uris = 0; + for (var i = 0; i < batches.length; i++) { total_uris += batches[i].uris.length; } - batches.shift(); - store.dispatch(uiActions.updateProcess('MOPIDY_ENQUEUE_URIS_PROCESSOR', 'Adding ' + total_uris + ' URI(s)', { - remaining: total_uris - })); - // no batches means we're done here + batches.shift(); + store.dispatch(uiActions.updateProcess('MOPIDY_ENQUEUE_URIS_PROCESSOR', "Adding ".concat(total_uris, " URI(s)"), { + remaining: total_uris + })); // no batches means we're done here } else { store.dispatch(uiActions.processFinished('MOPIDY_ENQUEUE_URIS_PROCESSOR')); break; @@ -102543,7 +103923,6 @@ var MopidyMiddleware = function () { var current_track = store.getState().core.current_track; var queue = store.getState().core.queue; - var current_track_index = -1; if (current_track) { @@ -102555,21 +103934,19 @@ var MopidyMiddleware = function () { } } - var params = { uris: batch.uris }; + var params = { + uris: batch.uris + }; // Play this batch next - // Play this batch next if (batch.play_next) { // Make sure we're playing something first if (current_track_index > -1) { - params.at_position = current_track_index + batch.offset + 1; - - // Default to top of queue if we're not playing + params.at_position = current_track_index + batch.offset + 1; // Default to top of queue if we're not playing } else { params.at_position = 0 + batch.offset; - } - - // A specific position has been defined + } // A specific position has been defined // NOTE: This is likely to be wrong as the original action is unaware of batches or other client requests + } else if (batch.at_position) { params.at_position = batch.at_position + batch.offset; } @@ -102577,74 +103954,82 @@ var MopidyMiddleware = function () { request(socket, store, 'tracklist.add', params).then(function (response) { // add metadata to queue var tlids = []; + for (var _i = 0; _i < response.length; _i++) { tlids.push(response[_i].tlid); } - store.dispatch(pusherActions.addQueueMetadata(tlids, batch.from_uri)); - // Re-run the batch checker in 100ms. This allows a small window for other + store.dispatch(pusherActions.addQueueMetadata(tlids, batch.from_uri)); // Re-run the batch checker in 100ms. This allows a small window for other // server requests before our next batch. It's a little crude but it means the server isn't // locked until we're completely done. + setTimeout(function () { - store.dispatch(uiActions.runProcess(action.type, { batches: batches })); + store.dispatch(uiActions.runProcess(action.type, { + batches: batches + })); }, 100); }, function (error) { - store.dispatch(coreActions.handleException('Mopidy: ' + (error.message ? error.message : 'Adding tracks failed'), error)); + store.dispatch(coreActions.handleException("Mopidy: ".concat(error.message ? error.message : 'Adding tracks failed'), error)); }); - break; case 'MOPIDY_PLAY_URIS': var from_uri = action.from_uri; - var urisToPlay = Object.assign([], action.uris); if (!urisToPlay || !urisToPlay.length) { - _this.props.uiActions.createNotification({ content: 'No URIs to play', level: 'warning' }); + _this.props.uiActions.createNotification({ + content: 'No URIs to play', + level: 'warning' + }); + break; } if (action.shuffle) { - urisToPlay = (0, _arrays.shuffle)(urisToPlay); - } + urisToPlay = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_6__["shuffle"])(urisToPlay); + } // Stop the radio + - // Stop the radio if (store.getState().core.radio && store.getState().core.radio.enabled) { store.dispatch(pusherActions.stopRadio()); - } + } // Clear tracklist (if set) + - // Clear tracklist (if set) if (store.getState().ui.clear_tracklist_on_play) { store.dispatch(mopidyActions.clearTracklist()); - } + } // Shuffle/random mode + - // Shuffle/random mode if (store.getState().mopidy.random) { var first_uri_index = Math.floor(Math.random() * urisToPlay.length); } else { var first_uri_index = 0; } - var first_uri = urisToPlay[first_uri_index]; - // add our first track - request(socket, store, 'tracklist.add', { uris: [first_uri], at_position: 0 }).then(function (response) { + var first_uri = urisToPlay[first_uri_index]; // add our first track + + request(socket, store, 'tracklist.add', { + uris: [first_uri], + at_position: 0 + }).then(function (response) { // play it (only if we got a successful lookup) if (response.length > 0) { store.dispatch(mopidyActions.changeTrack(response[0].tlid)); - var tlids = []; + for (var _i2 = 0; _i2 < response.length; _i2++) { tlids.push(response[_i2].tlid); } + store.dispatch(pusherActions.addQueueMetadata(tlids, from_uri)); } else { store.dispatch(coreActions.handleException('Mopidy: Failed to add some tracks', response)); - } + } // Remove our first_uri as we've already added it - // Remove our first_uri as we've already added it - urisToPlay.splice(first_uri_index, 1); - // And add the rest of our uris (if any) + urisToPlay.splice(first_uri_index, 1); // And add the rest of our uris (if any) + if (urisToPlay.length > 0) { // Wait a moment so the server can trigger track_changed etc // this means our UI feels snappier as the first track shows up quickly @@ -102653,37 +104038,40 @@ var MopidyMiddleware = function () { }, 100); } }, function (error) { - store.dispatch(coreActions.handleException('Mopidy: ' + (error.message ? error.message : 'Adding tracks failed'), error)); + store.dispatch(coreActions.handleException("Mopidy: ".concat(error.message ? error.message : 'Adding tracks failed'), error)); }); break; case 'MOPIDY_REORDER_TRACKLIST': - // add our first track - request(socket, store, 'tracklist.move', { start: action.range_start, end: action.range_start + action.range_length, to_position: action.insert_before }).then(function () { - // TODO: when complete, send event to confirm success/failure + request(socket, store, 'tracklist.move', { + start: action.range_start, + end: action.range_start + action.range_length, + to_position: action.insert_before + }).then(function () {// TODO: when complete, send event to confirm success/failure }, function (error) { - store.dispatch(coreActions.handleException('Mopidy: ' + (error.message ? error.message : 'Reorder failed'), error)); + store.dispatch(coreActions.handleException("Mopidy: ".concat(error.message ? error.message : 'Reorder failed'), error)); }); break; case 'MOPIDY_CLEAR_TRACKLIST': request(socket, store, 'tracklist.clear').then(function () { store.dispatch(coreActions.clearCurrentTrack()); - store.dispatch(pusherActions.deliverBroadcast('notification', { notification: { - content: store.getState().pusher.username + ' cleared the playback queue' + content: "".concat(store.getState().pusher.username, " cleared the playback queue") } })); }); break; case 'MOPIDY_SHUFFLE_TRACKLIST': - request(socket, store, 'tracklist.shuffle', { start: 1 }).then(function () { + request(socket, store, 'tracklist.shuffle', { + start: 1 + }).then(function () { store.dispatch(pusherActions.deliverBroadcast('notification', { notification: { - content: store.getState().pusher.username + ' shuffled the playback queue' + content: "".concat(store.getState().pusher.username, " shuffled the playback queue") } })); }); @@ -102695,24 +104083,29 @@ var MopidyMiddleware = function () { * */ case 'MOPIDY_GET_SEARCH_RESULTS': - // Flush out our previous results - store.dispatch({ type: 'MOPIDY_CLEAR_SEARCH_RESULTS' }); - + store.dispatch({ + type: 'MOPIDY_CLEAR_SEARCH_RESULTS' + }); var uri_schemes_to_ignore = ['spotify:']; var uri_schemes = Object.assign([], store.getState().ui.uri_schemes_search_enabled); + for (var i = 0; i < uri_schemes.length; i++) { if (uri_schemes_to_ignore.includes(uri_schemes[i])) { uri_schemes.splice(i, 1); } } + var uri_schemes_total = uri_schemes.length; var uri_scheme = uri_schemes.shift(); if (uri_schemes_total <= 0) { - store.dispatch(uiActions.createNotification({ content: 'No sources selected', level: 'warning' })); + store.dispatch(uiActions.createNotification({ + content: 'No sources selected', + level: 'warning' + })); } else { - store.dispatch(uiActions.startProcess('MOPIDY_GET_SEARCH_RESULTS_PROCESSOR', 'Searching ' + uri_schemes_total + ' Mopidy providers', { + store.dispatch(uiActions.startProcess('MOPIDY_GET_SEARCH_RESULTS_PROCESSOR', "Searching ".concat(uri_schemes_total, " Mopidy providers"), { query: action.query, limit: action.limit, total: uri_schemes_total, @@ -102725,37 +104118,36 @@ var MopidyMiddleware = function () { break; case 'MOPIDY_GET_SEARCH_RESULTS_PROCESSOR': - var last_run = store.getState().ui.processes.MOPIDY_GET_SEARCH_RESULTS_PROCESSOR; + var last_run = store.getState().ui.processes.MOPIDY_GET_SEARCH_RESULTS_PROCESSOR; // Cancelling - // Cancelling if (last_run && last_run.status == 'cancelling') { store.dispatch(uiActions.processCancelled('MOPIDY_GET_SEARCH_RESULTS_PROCESSOR')); - return; - - // No more schemes, so we're done! - }if (!action.data.uri_scheme) { - store.dispatch(uiActions.processFinished('MOPIDY_GET_SEARCH_RESULTS_PROCESSOR')); - return; + return; // No more schemes, so we're done! } - // Construct our next batch's task - var next_uri_schemes = Object.assign([], action.data.uri_schemes); - var next_uri_scheme = next_uri_schemes.shift(); + if (!action.data.uri_scheme) { + store.dispatch(uiActions.processFinished('MOPIDY_GET_SEARCH_RESULTS_PROCESSOR')); + return; + } // Construct our next batch's task - // Update UI for this round - store.dispatch(uiActions.updateProcess('MOPIDY_GET_SEARCH_RESULTS_PROCESSOR', 'Searching ' + action.data.uri_scheme.replace(':', ''), { + + var next_uri_schemes = Object.assign([], action.data.uri_schemes); + var next_uri_scheme = next_uri_schemes.shift(); // Update UI for this round + + store.dispatch(uiActions.updateProcess('MOPIDY_GET_SEARCH_RESULTS_PROCESSOR', "Searching ".concat(action.data.uri_scheme.replace(':', '')), { remaining: action.data.uri_schemes.length })); switch (action.data.query.type) { case 'albums': var last_run = store.getState().ui.processes.MOPIDY_GET_SEARCH_RESULTS_PROCESSOR; + if (last_run && last_run.status === 'cancelling') { store.dispatch(uiActions.processCancelled('MOPIDY_GET_SEARCH_RESULTS_PROCESSOR')); return; } - store.dispatch(uiActions.updateProcess('MOPIDY_GET_SEARCH_RESULTS_PROCESSOR', 'Searching ' + action.data.uri_scheme.replace(':', ''))); + store.dispatch(uiActions.updateProcess('MOPIDY_GET_SEARCH_RESULTS_PROCESSOR', "Searching ".concat(action.data.uri_scheme.replace(':', '')))); var continue_process = function continue_process() { store.dispatch(uiActions.runProcess('MOPIDY_GET_SEARCH_RESULTS_PROCESSOR', { @@ -102766,16 +104158,20 @@ var MopidyMiddleware = function () { })); }; - request(socket, store, 'library.search', { query: { album: [action.data.query.term] }, uris: [action.data.uri_scheme] }).then(function (response) { + request(socket, store, 'library.search', { + query: { + album: [action.data.query.term] + }, + uris: [action.data.uri_scheme] + }).then(function (response) { if (response.length > 0) { - var albums = []; + var albums = []; // Merge our proper album response container - // Merge our proper album response container if (response[0].albums) { albums = [].concat(_toConsumableArray(response[0].albums), _toConsumableArray(albums)); - } + } // Pull the Album objects from our track responses + - // Pull the Album objects from our track responses if (response[0].tracks) { for (var _i3 = 0; _i3 < response[0].tracks.length; _i3++) { if (response[0].tracks[_i3].album !== undefined && response[0].tracks[_i3].album.uri !== undefined) { @@ -102784,12 +104180,10 @@ var MopidyMiddleware = function () { } } - var albums_uris = (0, _arrays.arrayOf)('uri', albums); - albums_uris = (0, _arrays.removeDuplicates)(albums_uris); + var albums_uris = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_6__["arrayOf"])('uri', albums); + albums_uris = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_6__["removeDuplicates"])(albums_uris); + store.dispatch(coreActions.albumsLoaded(albums)); // and plug in their URIs - store.dispatch(coreActions.albumsLoaded(albums)); - - // and plug in their URIs store.dispatch({ type: 'MOPIDY_SEARCH_RESULTS_LOADED', query: action.data.query, @@ -102800,19 +104194,20 @@ var MopidyMiddleware = function () { continue_process(); }, function (error) { - store.dispatch(coreActions.handleException('Mopidy: ' + (error.message ? error.message : 'Search failed'), error)); + store.dispatch(coreActions.handleException("Mopidy: ".concat(error.message ? error.message : 'Search failed'), error)); continue_process(); }); break; case 'artists': var last_run = store.getState().ui.processes.MOPIDY_GET_SEARCH_RESULTS_PROCESSOR; + if (last_run && last_run.status === 'cancelling') { store.dispatch(uiActions.processCancelled('MOPIDY_GET_SEARCH_RESULTS_PROCESSOR')); return; } - store.dispatch(uiActions.updateProcess('MOPIDY_GET_SEARCH_RESULTS_PROCESSOR', 'Searching ' + action.data.uri_scheme.replace(':', ''))); + store.dispatch(uiActions.updateProcess('MOPIDY_GET_SEARCH_RESULTS_PROCESSOR', "Searching ".concat(action.data.uri_scheme.replace(':', '')))); var continue_process = function continue_process() { store.dispatch(uiActions.runProcess('MOPIDY_GET_SEARCH_RESULTS_PROCESSOR', { @@ -102823,23 +104218,28 @@ var MopidyMiddleware = function () { })); }; - request(socket, store, 'library.search', { query: { artist: [action.data.query.term] }, uris: [action.data.uri_scheme] }).then(function (response) { + request(socket, store, 'library.search', { + query: { + artist: [action.data.query.term] + }, + uris: [action.data.uri_scheme] + }).then(function (response) { if (response.length > 0) { - var artists_uris = []; + var artists_uris = []; // Pull actual artist objects - // Pull actual artist objects if (response[0].artists) { for (var i = 0; i < response[0].artists.length; i++) { artists_uris.push(response[0].artists.uri); } - } + } // Digest track artists into actual artist results + - // Digest track artists into actual artist results if (response[0].tracks) { for (var i = 0; i < response[0].tracks.length; i++) { if (response[0].tracks[i].artists) { for (var j = 0; j < response[0].tracks[i].artists.length; j++) { var artist = response[0].tracks[i].artists[j]; + if (artist.uri) { artists_uris.push(artist.uri); } @@ -102848,14 +104248,13 @@ var MopidyMiddleware = function () { } } - artists_uris = (0, _arrays.removeDuplicates)(artists_uris); + artists_uris = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_6__["removeDuplicates"])(artists_uris); // load each artist - // load each artist for (var i = 0; i < artists_uris.length; i++) { store.dispatch(mopidyActions.getArtist(artists_uris[i])); - } + } // and plug in their URIs + - // and plug in their URIs store.dispatch({ type: 'MOPIDY_SEARCH_RESULTS_LOADED', query: action.data.query, @@ -102866,13 +104265,14 @@ var MopidyMiddleware = function () { continue_process(); }, function (error) { - store.dispatch(coreActions.handleException('Mopidy: ' + (error.message ? error.message : 'Search failed'), error)); + store.dispatch(coreActions.handleException("Mopidy: ".concat(error.message ? error.message : 'Search failed'), error)); continue_process(); }); break; case 'playlists': var last_run = store.getState().ui.processes.MOPIDY_GET_SEARCH_RESULTS_PROCESSOR; + if (last_run && last_run.status === 'cancelling') { store.dispatch(uiActions.processCancelled('MOPIDY_GET_SEARCH_RESULTS_PROCESSOR')); return; @@ -102890,17 +104290,18 @@ var MopidyMiddleware = function () { for (var i = 0; i < response.length; i++) { var _playlist = response[i]; - if (_playlist.name.includes(action.data.query) && action.data.uri_schemes.includes((0, _helpers.uriSource)(_playlist.uri) + ':')) { + + if (_playlist.name.includes(action.data.query) && action.data.uri_schemes.includes("".concat(Object(_util_helpers__WEBPACK_IMPORTED_MODULE_4__["uriSource"])(_playlist.uri), ":"))) { playlists_uris.push(_playlist.uri); } - } + } // load each playlist + - // load each playlist for (var i = 0; i < playlists_uris.length; i++) { store.dispatch(mopidyActions.getPlaylist(playlists_uris[i])); - } + } // and plug in their URIs + - // and plug in their URIs store.dispatch({ type: 'MOPIDY_SEARCH_RESULTS_LOADED', query: action.data.query, @@ -102908,21 +104309,23 @@ var MopidyMiddleware = function () { results: playlists_uris }); } + continue_process(); }, function (error) { - store.dispatch(coreActions.handleException('Mopidy: ' + (error.message ? error.message : 'Search failed'), error)); + store.dispatch(coreActions.handleException("Mopidy: ".concat(error.message ? error.message : 'Search failed'), error)); continue_process(); }); break; case 'tracks': var last_run = store.getState().ui.processes.MOPIDY_GET_SEARCH_RESULTS_PROCESSOR; + if (last_run && last_run.status === 'cancelling') { store.dispatch(uiActions.processCancelled('MOPIDY_GET_SEARCH_RESULTS_PROCESSOR')); return; } - store.dispatch(uiActions.updateProcess('MOPIDY_GET_SEARCH_RESULTS_PROCESSOR', 'Searching ' + action.data.uri_scheme.replace(':', ''))); + store.dispatch(uiActions.updateProcess('MOPIDY_GET_SEARCH_RESULTS_PROCESSOR', "Searching ".concat(action.data.uri_scheme.replace(':', '')))); var continue_process = function continue_process() { store.dispatch(uiActions.runProcess('MOPIDY_GET_SEARCH_RESULTS_PROCESSOR', { @@ -102933,54 +104336,61 @@ var MopidyMiddleware = function () { })); }; - request(socket, store, 'library.search', { query: { any: [action.data.query.term] }, uris: [action.data.uri_scheme] }).then(function (response) { + request(socket, store, 'library.search', { + query: { + any: [action.data.query.term] + }, + uris: [action.data.uri_scheme] + }).then(function (response) { if (response.length > 0 && response[0].tracks !== undefined) { var _tracks = response[0].tracks; - - store.dispatch({ type: 'MOPIDY_SEARCH_RESULTS_LOADED', query: action.data.query, context: 'tracks', - results: (0, _format.formatTracks)(_tracks) + results: Object(_util_format__WEBPACK_IMPORTED_MODULE_5__["formatTracks"])(_tracks) }); } + continue_process(); }, function (error) { - store.dispatch(coreActions.handleException('Mopidy: ' + (error.message ? error.message : 'Search failed'), error)); + store.dispatch(coreActions.handleException("Mopidy: ".concat(error.message ? error.message : 'Search failed'), error)); continue_process(); }); - break; case 'all': default: var process_tracks = function process_tracks() { var last_run = store.getState().ui.processes.MOPIDY_GET_SEARCH_RESULTS_PROCESSOR; + if (last_run && last_run.status == 'cancelling') { store.dispatch(uiActions.processCancelled('MOPIDY_GET_SEARCH_RESULTS_PROCESSOR')); return; } - store.dispatch(uiActions.updateProcess('MOPIDY_GET_SEARCH_RESULTS_PROCESSOR', 'Searching ' + action.data.uri_scheme.replace(':', '') + ' tracks', { + store.dispatch(uiActions.updateProcess('MOPIDY_GET_SEARCH_RESULTS_PROCESSOR', "Searching ".concat(action.data.uri_scheme.replace(':', ''), " tracks"), { remaining: action.data.uri_schemes.length + 1 })); - request(socket, store, 'library.search', { query: { any: [action.data.query.term] }, uris: [action.data.uri_scheme] }).then(function (response) { + request(socket, store, 'library.search', { + query: { + any: [action.data.query.term] + }, + uris: [action.data.uri_scheme] + }).then(function (response) { if (response.length > 0 && response[0].tracks !== undefined) { var _tracks2 = response[0].tracks; - - store.dispatch({ type: 'MOPIDY_SEARCH_RESULTS_LOADED', query: action.data.query, context: 'tracks', - results: (0, _format.formatTracks)(_tracks2) + results: Object(_util_format__WEBPACK_IMPORTED_MODULE_5__["formatTracks"])(_tracks2) }); } process_albums(); }, function (error) { - store.dispatch(coreActions.handleException('Mopidy: ' + (error.message ? error.message : 'Search failed'), error)); + store.dispatch(coreActions.handleException("Mopidy: ".concat(error.message ? error.message : 'Search failed'), error)); process_albums(); }); }; @@ -102988,24 +104398,29 @@ var MopidyMiddleware = function () { var process_albums = function process_albums() { // Quick check to see if we should be cancelling var last_run = store.getState().ui.processes.MOPIDY_GET_SEARCH_RESULTS_PROCESSOR; + if (last_run && last_run.status == 'cancelling') { store.dispatch(uiActions.processCancelled('MOPIDY_GET_SEARCH_RESULTS_PROCESSOR')); return; } - store.dispatch(uiActions.updateProcess('MOPIDY_GET_SEARCH_RESULTS_PROCESSOR', 'Searching ' + action.data.uri_scheme.replace(':', '') + ' albums', { + store.dispatch(uiActions.updateProcess('MOPIDY_GET_SEARCH_RESULTS_PROCESSOR', "Searching ".concat(action.data.uri_scheme.replace(':', ''), " albums"), { remaining: action.data.uri_schemes.length + 0.75 })); - request(socket, store, 'library.search', { query: { album: [action.data.query.term] }, uris: [action.data.uri_scheme] }).then(function (response) { + request(socket, store, 'library.search', { + query: { + album: [action.data.query.term] + }, + uris: [action.data.uri_scheme] + }).then(function (response) { if (response.length > 0) { - var albums = []; + var albums = []; // Merge actual album responses first - // Merge actual album responses first if (response[0].albums) { albums = [].concat(_toConsumableArray(response[0].albums), _toConsumableArray(albums)); - } + } // Then digest tracks albums + - // Then digest tracks albums if (response[0].tracks) { for (var _i4 = 0; _i4 < response[0].tracks.length; _i4++) { if (response[0].tracks[_i4].album !== undefined && response[0].tracks[_i4].album.uri !== undefined) { @@ -103014,12 +104429,10 @@ var MopidyMiddleware = function () { } } - var albums_uris = (0, _arrays.arrayOf)('uri', albums); - albums_uris = (0, _arrays.removeDuplicates)(albums_uris); + var albums_uris = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_6__["arrayOf"])('uri', albums); + albums_uris = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_6__["removeDuplicates"])(albums_uris); + store.dispatch(coreActions.albumsLoaded(albums)); // and plug in their URIs - store.dispatch(coreActions.albumsLoaded(albums)); - - // and plug in their URIs store.dispatch({ type: 'MOPIDY_SEARCH_RESULTS_LOADED', query: action.data.query, @@ -103030,7 +104443,7 @@ var MopidyMiddleware = function () { process_artists(); }, function (error) { - store.dispatch(coreActions.handleException('Mopidy: ' + (error.message ? error.message : 'Search failed'), error)); + store.dispatch(coreActions.handleException("Mopidy: ".concat(error.message ? error.message : 'Search failed'), error)); process_artists(); }); }; @@ -103038,31 +104451,37 @@ var MopidyMiddleware = function () { var process_artists = function process_artists() { // Quick check to see if we should be cancelling var last_run = store.getState().ui.processes.MOPIDY_GET_SEARCH_RESULTS_PROCESSOR; + if (last_run && last_run.status == 'cancelling') { store.dispatch(uiActions.processCancelled('MOPIDY_GET_SEARCH_RESULTS_PROCESSOR')); return; } - store.dispatch(uiActions.updateProcess('MOPIDY_GET_SEARCH_RESULTS_PROCESSOR', 'Searching ' + action.data.uri_scheme.replace(':', '') + ' artists', { + store.dispatch(uiActions.updateProcess('MOPIDY_GET_SEARCH_RESULTS_PROCESSOR', "Searching ".concat(action.data.uri_scheme.replace(':', ''), " artists"), { remaining: action.data.uri_schemes.length + 0.5 })); - request(socket, store, 'library.search', { query: { artist: [action.data.query.term] }, uris: [action.data.uri_scheme] }).then(function (response) { + request(socket, store, 'library.search', { + query: { + artist: [action.data.query.term] + }, + uris: [action.data.uri_scheme] + }).then(function (response) { if (response.length > 0) { - var artists_uris = []; + var artists_uris = []; // Pull our actual artists objects - // Pull our actual artists objects if (response[0].artists) { for (var i = 0; i < response[0].artists.length; i++) { artists_uris.push(response[0].artists.uri); } - } + } // Digest tracks artists + - // Digest tracks artists if (response[0].tracks) { for (var i = 0; i < response[0].tracks.length; i++) { if (response[0].tracks[i].artists) { for (var j = 0; j < response[0].tracks[i].artists.length; j++) { var artist = response[0].tracks[i].artists[j]; + if (artist.uri) { artists_uris.push(artist.uri); } @@ -103071,14 +104490,13 @@ var MopidyMiddleware = function () { } } - artists_uris = (0, _arrays.removeDuplicates)(artists_uris); + artists_uris = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_6__["removeDuplicates"])(artists_uris); // load each artist - // load each artist for (var i = 0; i < artists_uris.length; i++) { store.dispatch(mopidyActions.getArtist(artists_uris[i])); - } + } // and plug in their URIs + - // and plug in their URIs store.dispatch({ type: 'MOPIDY_SEARCH_RESULTS_LOADED', query: action.data.query, @@ -103089,40 +104507,43 @@ var MopidyMiddleware = function () { process_playlists(); }, function (error) { - store.dispatch(coreActions.handleException('Mopidy: ' + (error.message ? error.message : 'Search failed'), error)); + store.dispatch(coreActions.handleException("Mopidy: ".concat(error.message ? error.message : 'Search failed'), error)); process_playlists(); }); }; + var process_playlists = function process_playlists() { // Quick check to see if we should be cancelling var last_run = store.getState().ui.processes.MOPIDY_GET_SEARCH_RESULTS_PROCESSOR; + if (last_run && last_run.status == 'cancelling') { store.dispatch(uiActions.processCancelled('MOPIDY_GET_SEARCH_RESULTS_PROCESSOR')); return; } if (action.data.uri_scheme == 'm3u:') { - store.dispatch(uiActions.updateProcess('MOPIDY_GET_SEARCH_RESULTS_PROCESSOR', 'Searching ' + action.data.uri_scheme.replace(':', '') + ' playlists', { + store.dispatch(uiActions.updateProcess('MOPIDY_GET_SEARCH_RESULTS_PROCESSOR', "Searching ".concat(action.data.uri_scheme.replace(':', ''), " playlists"), { remaining: action.data.uri_schemes.length + 0.25 })); request(socket, store, 'playlists.asList').then(function (response) { if (response.length > 0) { var playlists_uris = []; + for (var i = 0; i < response.length; i++) { var _playlist2 = response[i]; - if (_playlist2.name.includes(action.data.query.term) && action.data.uri_schemes.includes((0, _helpers.uriSource)(_playlist2.uri) + ':')) { + + if (_playlist2.name.includes(action.data.query.term) && action.data.uri_schemes.includes("".concat(Object(_util_helpers__WEBPACK_IMPORTED_MODULE_4__["uriSource"])(_playlist2.uri), ":"))) { playlists_uris.push(_playlist2.uri); } } - playlists_uris = playlists_uris; + playlists_uris = playlists_uris; // load each playlist - // load each playlist for (var i = 0; i < playlists_uris.length; i++) { store.dispatch(mopidyActions.getPlaylist(playlists_uris[i])); - } + } // and plug in their URIs + - // and plug in their URIs store.dispatch({ type: 'MOPIDY_SEARCH_RESULTS_LOADED', query: action.data.query, @@ -103133,7 +104554,7 @@ var MopidyMiddleware = function () { finished(); }, function (error) { - store.dispatch(coreActions.handleException('Mopidy: ' + (error.message ? error.message : 'Search failed'), error)); + store.dispatch(coreActions.handleException("Mopidy: ".concat(error.message ? error.message : 'Search failed'), error)); finished(); }); } else { @@ -103151,9 +104572,9 @@ var MopidyMiddleware = function () { uri_schemes: next_uri_schemes, remaining: action.data.uri_schemes.length })); - }; + }; // Kick things off with the tracks + - // Kick things off with the tracks process_tracks(); } @@ -103167,25 +104588,29 @@ var MopidyMiddleware = function () { case 'MOPIDY_GET_LIBRARY_PLAYLISTS': request(socket, store, 'playlists.asList').then(function (response) { // drop in our URI list - var playlist_uris = (0, _arrays.arrayOf)('uri', response); - var playlist_uris_filtered = []; + var playlist_uris = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_6__["arrayOf"])('uri', response); + var playlist_uris_filtered = []; // Remove any Spotify playlists. These will be handled by our Spotify API - // Remove any Spotify playlists. These will be handled by our Spotify API for (var i = 0; i < playlist_uris.length; i++) { - if ((0, _helpers.uriSource)(playlist_uris[i]) != 'spotify') { + if (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_4__["uriSource"])(playlist_uris[i]) != 'spotify') { playlist_uris_filtered.push(playlist_uris[i]); } } - store.dispatch({ type: 'MOPIDY_LIBRARY_PLAYLISTS_LOADED', uris: playlist_uris_filtered }); - store.dispatch({ type: 'MOPIDY_LIBRARY_PLAYLISTS_LOADED_ALL' }); + store.dispatch({ + type: 'MOPIDY_LIBRARY_PLAYLISTS_LOADED', + uris: playlist_uris_filtered + }); + store.dispatch({ + type: 'MOPIDY_LIBRARY_PLAYLISTS_LOADED_ALL' + }); // get the full playlist objects - // get the full playlist objects for (var i = 0; i < playlist_uris_filtered.length; i++) { - request(socket, store, 'playlists.lookup', { uri: playlist_uris_filtered[i] }).then(function (response) { - var source = (0, _helpers.uriSource)(response.uri); + request(socket, store, 'playlists.lookup', { + uri: playlist_uris_filtered[i] + }).then(function (response) { + var source = Object(_util_helpers__WEBPACK_IMPORTED_MODULE_4__["uriSource"])(response.uri); var playlist = { - type: 'playlist', name: response.name, uri: response.uri, @@ -103194,7 +104619,6 @@ var MopidyMiddleware = function () { last_modified: response.last_modified, tracks_total: response.tracks ? response.tracks.length : 0 }; - store.dispatch(coreActions.playlistLoaded(playlist)); }); } @@ -103203,16 +104627,16 @@ var MopidyMiddleware = function () { case 'MOPIDY_GET_PLAYLIST': request(socket, store, 'playlists.lookup', action.data).then(function (response) { - var playlist = _extends({}, response, { + var playlist = _objectSpread(_objectSpread({}, response), {}, { uri: response.uri, type: 'playlist', is_completely_loaded: true, provider: 'mopidy', tracks: response.tracks ? response.tracks : [], tracks_total: response.tracks ? response.tracks.length : 0 - }); + }); // tracks? get the full track objects + - // tracks? get the full track objects if (playlist.tracks.length > 0) { store.dispatch({ type: 'MOPIDY_RESOLVE_PLAYLIST_TRACKS', @@ -103227,21 +104651,22 @@ var MopidyMiddleware = function () { case 'MOPIDY_RESOLVE_PLAYLIST_TRACKS': var tracks = Object.assign([], action.tracks); - var uris = (0, _arrays.arrayOf)('uri', tracks); - - request(socket, store, 'library.lookup', { uris: uris }).then(function (response) { + var uris = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_6__["arrayOf"])('uri', tracks); + request(socket, store, 'library.lookup', { + uris: uris + }).then(function (response) { for (var _uri in response) { if (response.hasOwnProperty(_uri)) { var track = response[_uri][0]; + if (track) { // find the track reference, and drop in the full track data var getByURI = function getByURI(trackReference) { return track.uri == trackReference.uri; }; - var trackReferences = tracks.filter(getByURI); + var trackReferences = tracks.filter(getByURI); // there could be multiple instances of this track, so accommodate this - // there could be multiple instances of this track, so accommodate this for (var j = 0; j < trackReferences.length; j++) { var key = tracks.indexOf(trackReferences[j]); tracks[key] = track; @@ -103259,9 +104684,11 @@ var MopidyMiddleware = function () { break; case 'MOPIDY_ADD_PLAYLIST_TRACKS': - - request(socket, store, 'playlists.lookup', { uri: action.key }).then(function (response) { + request(socket, store, 'playlists.lookup', { + uri: action.key + }).then(function (response) { var tracks = []; + for (var _i5 = 0; _i5 < action.tracks_uris.length; _i5++) { tracks.push({ __model__: 'Track', @@ -103269,14 +104696,17 @@ var MopidyMiddleware = function () { }); } - var playlist = _extends({}, response); + var playlist = _objectSpread({}, response); + if (playlist.tracks) { playlist.tracks = [].concat(_toConsumableArray(playlist.tracks), tracks); } else { playlist.tracks = tracks; } - request(socket, store, 'playlists.save', { playlist: playlist }).then(function (response) { + request(socket, store, 'playlists.save', { + playlist: playlist + }).then(function (response) { store.dispatch({ type: 'PLAYLIST_TRACKS_ADDED', key: action.key, @@ -103287,7 +104717,6 @@ var MopidyMiddleware = function () { break; case 'MOPIDY_REMOVE_PLAYLIST_TRACKS': - // reverse order our indexes (otherwise removing from top will affect the keys following) var descending = function descending(a, b) { return b - a; @@ -103295,13 +104724,18 @@ var MopidyMiddleware = function () { var indexes = Object.assign([], action.tracks_indexes); indexes.sort(descending); + request(socket, store, 'playlists.lookup', { + uri: action.key + }).then(function (response) { + var playlist = _objectSpread({}, response); - request(socket, store, 'playlists.lookup', { uri: action.key }).then(function (response) { - var playlist = _extends({}, response); for (var _i6 = 0; _i6 < indexes.length; _i6++) { playlist.tracks.splice(indexes[_i6], 1); } - request(socket, store, 'playlists.save', { playlist: playlist }).then(function (response) { + + request(socket, store, 'playlists.save', { + playlist: playlist + }).then(function (response) { store.dispatch({ type: 'PLAYLIST_TRACKS_REMOVED', key: action.key, @@ -103312,22 +104746,27 @@ var MopidyMiddleware = function () { break; case 'MOPIDY_SAVE_PLAYLIST': - // Even though we have the full playlist in our index, our "playlists.save" request // requires a Mopidy playlist object (with updates) - request(socket, store, 'playlists.lookup', { uri: action.key }).then(function (response) { - var mopidy_playlist = _extends({}, response, { name: action.name }); + request(socket, store, 'playlists.lookup', { + uri: action.key + }).then(function (response) { + var mopidy_playlist = _objectSpread(_objectSpread({}, response), {}, { + name: action.name + }); - request(socket, store, 'playlists.save', { playlist: mopidy_playlist }).then(function (response) { + request(socket, store, 'playlists.save', { + playlist: mopidy_playlist + }).then(function (response) { // Overwrite our playlist with the response to our save // This is essential to get the updated URI from Mopidy - var playlist = _extends({}, store.getState().core.playlists[action.key], { + var playlist = _objectSpread(_objectSpread({}, store.getState().core.playlists[action.key]), {}, { uri: response.uri, name: response.name - }); - - // When we rename a playlist, the URI also changes to reflect the name change. + }); // When we rename a playlist, the URI also changes to reflect the name change. // We need to update our index, as well as redirect our current page URL. + + if (action.key !== playlist.uri) { // Remove old playlist (by old key/uri) from index // By providing the new key, the old playlist gets replaced with a redirector object @@ -103335,42 +104774,47 @@ var MopidyMiddleware = function () { } store.dispatch(coreActions.playlistLoaded(playlist)); - - store.dispatch(uiActions.createNotification({ level: 'warning', content: 'Playlist saved' })); + store.dispatch(uiActions.createNotification({ + level: 'warning', + content: 'Playlist saved' + })); }); }); break; case 'MOPIDY_REORDER_PLAYLIST_TRACKS': - request(socket, store, 'playlists.lookup', { uri: action.key }).then(function (response) { - var playlist = _extends({}, response); - var tracks = Object.assign([], playlist.tracks); - var tracks_to_move = []; + request(socket, store, 'playlists.lookup', { + uri: action.key + }).then(function (response) { + var playlist = _objectSpread({}, response); + + var tracks = Object.assign([], playlist.tracks); + var tracks_to_move = []; // calculate destination index: if dragging down, accommodate the offset created by the tracks we're moving - // calculate destination index: if dragging down, accommodate the offset created by the tracks we're moving var range_start = action.range_start; var range_length = action.range_length; var insert_before = action.insert_before; + if (insert_before > range_start) insert_before -= range_length; // collate our tracks to be moved - if (insert_before > range_start) insert_before -= range_length; - - // collate our tracks to be moved for (var i = 0; i < range_length; i++) { // add to FRONT: we work backwards to avoid screwing up our indexes tracks_to_move.unshift(tracks[range_start + i]); - } + } // remove tracks from their old location - // remove tracks from their old location - tracks.splice(range_start, range_length); - // now plug them back in, in their new location + tracks.splice(range_start, range_length); // now plug them back in, in their new location + for (var i = 0; i < tracks_to_move.length; i++) { tracks.splice(insert_before, 0, tracks_to_move[i]); - } + } // update playlist - // update playlist - playlist = _extends({}, playlist, { tracks: tracks }); - request(socket, store, 'playlists.save', { playlist: playlist }).then(function (response) { + + playlist = _objectSpread(_objectSpread({}, playlist), {}, { + tracks: tracks + }); + request(socket, store, 'playlists.save', { + playlist: playlist + }).then(function (response) { store.dispatch({ type: 'MOPIDY_RESOLVE_PLAYLIST_TRACKS', tracks: playlist.tracks, @@ -103381,8 +104825,13 @@ var MopidyMiddleware = function () { break; case 'MOPIDY_CREATE_PLAYLIST': - request(socket, store, 'playlists.create', { name: action.name, uri_scheme: action.scheme }).then(function (response) { - store.dispatch(uiActions.createNotification({ content: 'Created playlist' })); + request(socket, store, 'playlists.create', { + name: action.name, + uri_scheme: action.scheme + }).then(function (response) { + store.dispatch(uiActions.createNotification({ + content: 'Created playlist' + })); store.dispatch(coreActions.playlistLoaded(response)); store.dispatch({ type: 'MOPIDY_LIBRARY_PLAYLIST_CREATED', @@ -103392,8 +104841,12 @@ var MopidyMiddleware = function () { break; case 'MOPIDY_DELETE_PLAYLIST': - request(socket, store, 'playlists.delete', { uri: action.uri }).then(function (response) { - store.dispatch(uiActions.createNotification({ content: 'Deleted playlist' })); + request(socket, store, 'playlists.delete', { + uri: action.uri + }).then(function (response) { + store.dispatch(uiActions.createNotification({ + content: 'Deleted playlist' + })); store.dispatch(coreActions.removeFromIndex('playlists', action.uri)); store.dispatch({ type: 'MOPIDY_LIBRARY_PLAYLIST_DELETED', @@ -103411,17 +104864,17 @@ var MopidyMiddleware = function () { var last_run = store.getState().ui.processes.MOPIDY_LIBRARY_ALBUMS_PROCESSOR; if (!last_run) { - request(socket, store, 'library.browse', { uri: store.getState().mopidy.library_albums_uri }).then(function (response) { + request(socket, store, 'library.browse', { + uri: store.getState().mopidy.library_albums_uri + }).then(function (response) { if (response.length <= 0) return; - - var uris = (0, _arrays.arrayOf)('uri', response); + var uris = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_6__["arrayOf"])('uri', response); store.dispatch({ type: 'MOPIDY_LIBRARY_ALBUMS_LOADED', uris: uris - }); + }); // Start our process to load the full album objects - // Start our process to load the full album objects - store.dispatch(uiActions.startProcess('MOPIDY_LIBRARY_ALBUMS_PROCESSOR', 'Loading ' + uris.length + ' local albums', { + store.dispatch(uiActions.startProcess('MOPIDY_LIBRARY_ALBUMS_PROCESSOR', "Loading ".concat(uris.length, " local albums"), { uris: uris, total: uris.length, remaining: uris.length @@ -103429,8 +104882,7 @@ var MopidyMiddleware = function () { }); } else if (last_run.status == 'cancelled') { store.dispatch(uiActions.resumeProcess('MOPIDY_LIBRARY_ALBUMS_PROCESSOR')); - } else if (last_run.status == 'finished') { - // TODO: do we want to force a refresh? + } else if (last_run.status == 'finished') {// TODO: do we want to force a refresh? } break; @@ -103449,11 +104901,16 @@ var MopidyMiddleware = function () { var uris_to_load = uris.splice(0, 50); if (uris_to_load.length > 0) { - store.dispatch(uiActions.updateProcess('MOPIDY_LIBRARY_ALBUMS_PROCESSOR', 'Loading ' + uris.length + ' local albums', { + store.dispatch(uiActions.updateProcess('MOPIDY_LIBRARY_ALBUMS_PROCESSOR', "Loading ".concat(uris.length, " local albums"), { uris: uris, remaining: uris.length })); - store.dispatch(mopidyActions.getAlbums(uris_to_load, { name: 'MOPIDY_LIBRARY_ALBUMS_PROCESSOR', data: { uris: uris } })); + store.dispatch(mopidyActions.getAlbums(uris_to_load, { + name: 'MOPIDY_LIBRARY_ALBUMS_PROCESSOR', + data: { + uris: uris + } + })); } else { store.dispatch(uiActions.processFinished('MOPIDY_LIBRARY_ALBUMS_PROCESSOR')); } @@ -103461,7 +104918,9 @@ var MopidyMiddleware = function () { break; case 'MOPIDY_GET_ALBUMS': - request(socket, store, 'library.lookup', { uris: action.uris }).then(function (response) { + request(socket, store, 'library.lookup', { + uris: action.uris + }).then(function (response) { var albums_loaded = []; var artists_loaded = []; var tracks_loaded = []; @@ -103470,62 +104929,44 @@ var MopidyMiddleware = function () { if (response.hasOwnProperty(_uri2) && response[_uri2].length > 0 && response[_uri2][0].album) { var _tracks3 = response[_uri2]; var artists_uris = []; + if (_tracks3[0].artists) { - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; + var _iterator = _createForOfIteratorHelper(response[_uri2][0].artists), + _step; try { - for (var _iterator = response[_uri2][0].artists[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + for (_iterator.s(); !(_step = _iterator.n()).done;) { var artist = _step.value; - artists_uris.push(artist.uri); artists_loaded.push(artist); } } catch (err) { - _didIteratorError = true; - _iteratorError = err; + _iterator.e(err); } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } + _iterator.f(); } } var _tracks_uris2 = []; - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; + + var _iterator2 = _createForOfIteratorHelper(_tracks3), + _step2; try { - for (var _iterator2 = _tracks3[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { var _track = _step2.value; _tracks_uris2.push(_track.uri); + tracks_loaded.push(_track); } } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; + _iterator2.e(err); } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2.return) { - _iterator2.return(); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } + _iterator2.f(); } - var album = _extends({ + var album = _objectSpread({ source: 'local', artists_uris: artists_uris, tracks_uris: _tracks_uris2, @@ -103539,11 +104980,10 @@ var MopidyMiddleware = function () { store.dispatch(coreActions.albumsLoaded(albums_loaded)); store.dispatch(coreActions.artistsLoaded(artists_loaded)); - store.dispatch(coreActions.tracksLoaded(tracks_loaded)); - - // Re-run any consequential processes in a few ms. This allows a small window for other + store.dispatch(coreActions.tracksLoaded(tracks_loaded)); // Re-run any consequential processes in a few ms. This allows a small window for other // server requests before our next batch. It's a little crude but it means the server isn't // locked until we're completely done. + if (action.processor) { setTimeout(function () { store.dispatch(uiActions.runProcess(action.processor.name, action.processor.data)); @@ -103553,56 +104993,48 @@ var MopidyMiddleware = function () { break; case 'MOPIDY_GET_ALBUM': - request(socket, store, 'library.lookup', { uris: [action.uri] }).then(function (_response) { + request(socket, store, 'library.lookup', { + uris: [action.uri] + }).then(function (_response) { if (!_response) return; var response = _response[action.uri]; if (!response || !response.length) return; - - response = (0, _arrays.sortItems)(response, 'track_number'); + response = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_6__["sortItems"])(response, 'track_number'); var artists = []; + if (response[0].artists) { - var _iteratorNormalCompletion3 = true; - var _didIteratorError3 = false; - var _iteratorError3 = undefined; + var _iterator3 = _createForOfIteratorHelper(response[0].artists), + _step3; try { - for (var _iterator3 = response[0].artists[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { var artist = _step3.value; - artists.push(artist); } } catch (err) { - _didIteratorError3 = true; - _iteratorError3 = err; + _iterator3.e(err); } finally { - try { - if (!_iteratorNormalCompletion3 && _iterator3.return) { - _iterator3.return(); - } - } finally { - if (_didIteratorError3) { - throw _iteratorError3; - } - } + _iterator3.f(); } } - var album = _extends({}, response[0].album, { + var album = _objectSpread(_objectSpread({}, response[0].album), {}, { source: 'local', - artists_uris: (0, _arrays.arrayOf)('uri', artists), - tracks_uris: (0, _arrays.arrayOf)('uri', response), + artists_uris: Object(_util_arrays__WEBPACK_IMPORTED_MODULE_6__["arrayOf"])('uri', artists), + tracks_uris: Object(_util_arrays__WEBPACK_IMPORTED_MODULE_6__["arrayOf"])('uri', response), tracks_total: response.length }); store.dispatch(coreActions.albumLoaded(album)); - store.dispatch(coreActions.artistsLoaded(artists)); + store.dispatch(coreActions.artistsLoaded(artists)); // Load images - // Load images if (!response[0].album.images) { store.dispatch(mopidyActions.getImages('albums', [album.uri])); } - request(socket, store, 'library.lookup', { uris: album.tracks_uris }).then(function (response) { + request(socket, store, 'library.lookup', { + uris: album.tracks_uris + }).then(function (response) { var tracks_loaded = []; for (var _uri3 in response) { @@ -103620,12 +105052,15 @@ var MopidyMiddleware = function () { * =============================================================== ARTIST(S) ============ * ====================================================================================== **/ + case 'MOPIDY_GET_LIBRARY_ARTISTS': var uri = store.getState().mopidy.library_artists_uri; - request(socket, store, 'library.browse', { uri: uri }).then(function (response) { + request(socket, store, 'library.browse', { + uri: uri + }).then(function (response) { if (response.length <= 0) return; - var uris = []; + for (var _i7 = 0; _i7 < response.length; _i7++) { // Convert local URI to actual artist URI // See https://github.com/mopidy/mopidy-local-sqlite/issues/39 @@ -103634,7 +105069,6 @@ var MopidyMiddleware = function () { } store.dispatch(coreActions.artistsLoaded(response)); - store.dispatch({ type: 'MOPIDY_LIBRARY_ARTISTS_LOADED', uris: uris @@ -103687,77 +105121,69 @@ var MopidyMiddleware = function () { * */ case 'MOPIDY_GET_ARTIST': - request(socket, store, 'library.lookup', { uris: [action.uri] }).then(function (_response) { + request(socket, store, 'library.lookup', { + uris: [action.uri] + }).then(function (_response) { if (!_response) return; var response = _response[action.uri]; if (!response || !response.length) return; - var albums = []; + for (var _i8 = 0; _i8 < response.length; _i8++) { if (response[_i8].album) { - var album = _extends({}, response[_i8].album, { + var album = _objectSpread(_objectSpread({}, response[_i8].album), {}, { uri: response[_i8].album.uri }); + if (album) { var getByURI = function getByURI(albumToCheck) { return album.uri == albumToCheck.uri; }; var existingAlbum = albums.find(getByURI); + if (!existingAlbum) { albums.push(album); } } } } + if (albums) { store.dispatch(coreActions.albumsLoaded(albums)); - } + } // Start with an empty artist object + - // Start with an empty artist object var artist = { uri: action.uri, provider: 'mopidy' - }; - - // Get the artist object from the track. This is a bit ugly because it's a simplified + }; // Get the artist object from the track. This is a bit ugly because it's a simplified // (Mopidy) artist object but gives us enough to fetch their name and artwork. - var _iteratorNormalCompletion4 = true; - var _didIteratorError4 = false; - var _iteratorError4 = undefined; + + var _iterator4 = _createForOfIteratorHelper(response[0].artists), + _step4; try { - for (var _iterator4 = response[0].artists[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) { + for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) { var raw_artist = _step4.value; // We're only interested in the artist we asked for if (raw_artist.uri === artist.uri) { - artist = _extends({}, raw_artist); + artist = _objectSpread({}, raw_artist); } - } + } // Add our tracks and albums - // Add our tracks and albums } catch (err) { - _didIteratorError4 = true; - _iteratorError4 = err; + _iterator4.e(err); } finally { - try { - if (!_iteratorNormalCompletion4 && _iterator4.return) { - _iterator4.return(); - } - } finally { - if (_didIteratorError4) { - throw _iteratorError4; - } - } + _iterator4.f(); } - artist.albums_uris = (0, _arrays.arrayOf)('uri', albums), artist.tracks = response; + artist.albums_uris = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_6__["arrayOf"])('uri', albums), artist.tracks = response; + store.dispatch(coreActions.artistLoaded(artist)); // Load supprting information from LastFM and Discogs - store.dispatch(coreActions.artistLoaded(artist)); - - // Load supprting information from LastFM and Discogs var existing_artist = store.getState().core.artists[artist.uri]; + if (existing_artist) { if (!existing_artist.images) { if (store.getState().spotify.enabled) { @@ -103765,9 +105191,9 @@ var MopidyMiddleware = function () { } else { store.dispatch(discogsActions.getArtistImages(artist.uri, artist)); } - } + } // Get biography and other stats from LastFM + - // Get biography and other stats from LastFM if (!existing_artist.biography) { // TODO: Move this condition into lastfmActions if (artist.musicbrainz_id) { @@ -103781,21 +105207,20 @@ var MopidyMiddleware = function () { break; case 'MOPIDY_GET_ARTISTS': - request(socket, store, 'library.lookup', { uris: action.uris }).then(function (_response) { + request(socket, store, 'library.lookup', { + uris: action.uris + }).then(function (_response) { if (!_response || _response.length) return; - - var response = (0, _arrays.indexToArray)(_response); + var response = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_6__["indexToArray"])(_response); var artists = response.map(function (item) { - return _extends({}, item.artists[0], { + return _objectSpread(_objectSpread({}, item.artists[0]), {}, { provider: 'mopidy' }); }); - - store.dispatch(coreActions.artistsLoaded(artists)); - - // Re-run any consequential processes in 100ms. This allows a small window for other + store.dispatch(coreActions.artistsLoaded(artists)); // Re-run any consequential processes in 100ms. This allows a small window for other // server requests before our next batch. It's a little crude but it means the server isn't // locked until we're completely done. + if (action.processor) { setTimeout(function () { store.dispatch(uiActions.runProcess(action.processor.name, action.processor.data)); @@ -103836,31 +105261,28 @@ var MopidyMiddleware = function () { break; case 'MOPIDY_CURRENT_TRACK_LOADED': - // Let the UI know we're finished transition store.dispatch(uiActions.setCurrentTrackTransition(false)); + var track = Object(_util_format__WEBPACK_IMPORTED_MODULE_5__["formatTrack"])(action.tl_track); - var track = (0, _format.formatTrack)(action.tl_track); if (track.uri) { // Deliver the data we've got already store.dispatch({ type: 'CURRENT_TRACK_LOADED', track: track, uri: track.uri - }); + }); // Now attempt to get supporting images - // Now attempt to get supporting images if (store.getState().core.tracks[track.uri] === undefined || store.getState().core.tracks[track.uri].images === undefined) { // We've got Spotify running, and it's a spotify track - go straight to the source! - if (store.getState().spotify.enabled && (0, _helpers.uriSource)(track.uri) == 'spotify') { - store.dispatch(spotifyActions.getTrack(track.uri)); - - // Some other source, rely on Mopidy backends to do their work + if (store.getState().spotify.enabled && Object(_util_helpers__WEBPACK_IMPORTED_MODULE_4__["uriSource"])(track.uri) == 'spotify') { + store.dispatch(spotifyActions.getTrack(track.uri)); // Some other source, rely on Mopidy backends to do their work } else { store.dispatch(mopidyActions.getImages('tracks', [track.uri])); } } } + break; case 'MOPIDY_GET_NEXT_TRACK': @@ -103868,21 +105290,18 @@ var MopidyMiddleware = function () { if (response && response >= 0) { // Get the full track object from our tracklist // We know it will be here, as the tlid refers to an item in this list - var _track2 = (0, _arrays.applyFilter)('tlid', response, store.getState().core.queue, true); + var _track2 = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_6__["applyFilter"])('tlid', response, store.getState().core.queue, true); if (_track2 && _track2.uri) { store.dispatch({ type: 'NEXT_TRACK_LOADED', uri: _track2.uri - }); + }); // We don't have the track (including images) already in our index - // We don't have the track (including images) already in our index if (store.getState().core.tracks[_track2.uri] === undefined || store.getState().core.tracks[_track2.uri].images === undefined) { // We've got Spotify running, and it's a spotify track - go straight to the source! - if (store.getState().spotify.enabled && (0, _helpers.uriSource)(_track2.uri) == 'spotify') { - store.dispatch(spotifyActions.getTrack(_track2.uri)); - - // Some other source, rely on Mopidy backends to do their work + if (store.getState().spotify.enabled && Object(_util_helpers__WEBPACK_IMPORTED_MODULE_4__["uriSource"])(_track2.uri) == 'spotify') { + store.dispatch(spotifyActions.getTrack(_track2.uri)); // Some other source, rely on Mopidy backends to do their work } else { store.dispatch(mopidyActions.getImages('tracks', [_track2.uri])); } @@ -103893,31 +105312,32 @@ var MopidyMiddleware = function () { break; case 'MOPIDY_GET_TRACKS': - request(socket, store, 'library.lookup', { uris: [action.uris] }).then(function (_response) { + request(socket, store, 'library.lookup', { + uris: [action.uris] + }).then(function (_response) { if (!_response) return; - - var tracks = (0, _arrays.indexToArray)(_response); - + var tracks = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_6__["indexToArray"])(_response); store.dispatch(coreActions.tracksLoaded(tracks)); if (action.get_images) { - store.dispatch(mopidyActions.getImages('tracks', (0, _arrays.arrayOf)('uri', tracks))); + store.dispatch(mopidyActions.getImages('tracks', Object(_util_arrays__WEBPACK_IMPORTED_MODULE_6__["arrayOf"])('uri', tracks))); } }, function (error) { - store.dispatch(coreActions.handleException('Mopidy: ' + (error.message ? error.message : 'Could not get track'), error)); + store.dispatch(coreActions.handleException("Mopidy: ".concat(error.message ? error.message : 'Could not get track'), error)); }); break; case 'VIEW__GET_RANDOM_TRACKS': - request(socket, store, 'library.browse', { uri: 'local:directory?type=track' }).then(function (_response) { + request(socket, store, 'library.browse', { + uri: 'local:directory?type=track' + }).then(function (_response) { if (!_response || !_response.length) return; - - var uris = (0, _lodash.sampleSize)((0, _arrays.arrayOf)('uri', _response), action.limit); - - request(socket, store, 'library.lookup', { uris: uris }).then(function (_response) { + var uris = Object(lodash__WEBPACK_IMPORTED_MODULE_3__["sampleSize"])(Object(_util_arrays__WEBPACK_IMPORTED_MODULE_6__["arrayOf"])('uri', _response), action.limit); + request(socket, store, 'library.lookup', { + uris: uris + }).then(function (_response) { if (!_response) return; - - var random_tracks = (0, _arrays.indexToArray)(_response).map(function (results) { + var random_tracks = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_6__["indexToArray"])(_response).map(function (results) { return results[0]; }); var view = store.getState().core.view || {}; @@ -103936,13 +105356,17 @@ var MopidyMiddleware = function () { case 'MOPIDY_GET_IMAGES': if (action.uris) { - request(socket, store, 'library.getImages', { uris: action.uris }).then(function (response) { + request(socket, store, 'library.getImages', { + uris: action.uris + }).then(function (response) { var records = []; + for (var _uri4 in response) { if (response.hasOwnProperty(_uri4)) { var images = response[_uri4]; + if (images.length) { - images = (0, _format.formatImages)((0, _format.digestMopidyImages)(store.getState().mopidy, images)); + images = Object(_util_format__WEBPACK_IMPORTED_MODULE_5__["formatImages"])(Object(_util_format__WEBPACK_IMPORTED_MODULE_5__["digestMopidyImages"])(store.getState().mopidy, images)); records.push({ uri: _uri4, images: images @@ -103955,7 +105379,7 @@ var MopidyMiddleware = function () { if (records.length) { var action_data = { - type: (action.context + '_LOADED').toUpperCase() + type: "".concat(action.context, "_LOADED").toUpperCase() }; action_data[action.context] = records; store.dispatch(action_data); @@ -103977,25 +105401,28 @@ var MopidyMiddleware = function () { }); if (action.uri) { - request(socket, store, 'library.lookup', { uris: [action.uri] }).then(function (response) { + request(socket, store, 'library.lookup', { + uris: [action.uri] + }).then(function (response) { if (!response[action.uri] || !response[action.uri].length) return; store.dispatch({ type: 'MOPIDY_DIRECTORY_LOADED', - directory: (0, _format.formatSimpleObject)(response[action.uri][0]) + directory: Object(_util_format__WEBPACK_IMPORTED_MODULE_5__["formatSimpleObject"])(response[action.uri][0]) }); }); } - request(socket, store, 'library.browse', { uri: action.uri }).then(function (response) { + request(socket, store, 'library.browse', { + uri: action.uri + }).then(function (response) { var tracks_uris = []; var subdirectories = []; - var _iteratorNormalCompletion5 = true; - var _didIteratorError5 = false; - var _iteratorError5 = undefined; + var _iterator5 = _createForOfIteratorHelper(response), + _step5; try { - for (var _iterator5 = response[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) { + for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) { var item = _step5.value; if (item.type === 'track') { @@ -104005,33 +105432,26 @@ var MopidyMiddleware = function () { } } } catch (err) { - _didIteratorError5 = true; - _iteratorError5 = err; + _iterator5.e(err); } finally { - try { - if (!_iteratorNormalCompletion5 && _iterator5.return) { - _iterator5.return(); - } - } finally { - if (_didIteratorError5) { - throw _iteratorError5; - } - } + _iterator5.f(); } if (subdirectories.length > 0) { - request(socket, store, 'library.getImages', { uris: (0, _arrays.arrayOf)('uri', subdirectories) }).then(function (response) { - + request(socket, store, 'library.getImages', { + uris: Object(_util_arrays__WEBPACK_IMPORTED_MODULE_6__["arrayOf"])('uri', subdirectories) + }).then(function (response) { var subdirectories_with_images = subdirectories.map(function (subdir) { var images = response[subdir.uri] || undefined; + if (images) { - images = (0, _format.formatImages)((0, _format.digestMopidyImages)(store.getState().mopidy, images)); + images = Object(_util_format__WEBPACK_IMPORTED_MODULE_5__["formatImages"])(Object(_util_format__WEBPACK_IMPORTED_MODULE_5__["digestMopidyImages"])(store.getState().mopidy, images)); } - return _extends({}, subdir, { + + return _objectSpread(_objectSpread({}, subdir), {}, { images: images }); }); - store.dispatch({ type: 'MOPIDY_DIRECTORY_LOADED', directory: { @@ -104042,7 +105462,9 @@ var MopidyMiddleware = function () { } if (tracks_uris.length > 0) { - request(socket, store, 'library.lookup', { uris: tracks_uris }).then(function (response) { + request(socket, store, 'library.lookup', { + uris: tracks_uris + }).then(function (response) { if (response.length <= 0) { return; } @@ -104051,7 +105473,7 @@ var MopidyMiddleware = function () { for (var _uri5 in response) { if (response.hasOwnProperty(_uri5) && response[_uri5].length > 0) { - tracks.push((0, _format.formatTrack)(response[_uri5][0])); + tracks.push(Object(_util_format__WEBPACK_IMPORTED_MODULE_5__["formatTrack"])(response[_uri5][0])); } } @@ -104077,12 +105499,17 @@ var MopidyMiddleware = function () { case 'MOPIDY_DIRECTORY': if (store.getState().ui.allow_reporting && action.data) { - _reactGa2.default.event({ category: 'Directory', action: 'Load', label: action.data.uri }); + react_ga__WEBPACK_IMPORTED_MODULE_0__["default"].event({ + category: 'Directory', + action: 'Load', + label: action.data.uri + }); } + next(action); break; - // This action is irrelevant to us, pass it on to the next middleware + default: return next(action); } @@ -104091,7 +105518,7 @@ var MopidyMiddleware = function () { }; }(); -exports.default = MopidyMiddleware; +/* harmony default export */ __webpack_exports__["default"] = (MopidyMiddleware); /***/ }), @@ -104099,44 +105526,54 @@ exports.default = MopidyMiddleware; /*!*******************************************!*\ !*** ./src/js/services/mopidy/reducer.js ***! \*******************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return reducer; }); +/* harmony import */ var _util_arrays__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../util/arrays */ "./src/js/util/arrays.js"); +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } -Object.defineProperty(exports, "__esModule", { - value: true -}); +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; +function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); } -exports.default = reducer; +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } -var _arrays = __webpack_require__(/*! ../../util/arrays */ "./src/js/util/arrays.js"); +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function _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; } -function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } function reducer() { var mopidy = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - var action = arguments[1]; + var action = arguments.length > 1 ? arguments[1] : undefined; switch (action.type) { case 'MOPIDY_SET': - return _extends({}, mopidy, action.data); + return _objectSpread(_objectSpread({}, mopidy), action.data); case 'MOPIDY_UPDATE_SERVERS': - return _extends({}, mopidy, { servers: action.servers }); + return _objectSpread(_objectSpread({}, mopidy), {}, { + servers: action.servers + }); case 'MOPIDY_CONNECT': case 'MOPIDY_CONNECTING': - return _extends({}, mopidy, { + return _objectSpread(_objectSpread({}, mopidy), {}, { connected: false, connecting: true }); case 'MOPIDY_CONNECTED': - return _extends({}, mopidy, { + return _objectSpread(_objectSpread({}, mopidy), {}, { connected: true, connecting: false, restart_running: false, @@ -104144,68 +105581,103 @@ function reducer() { }); case 'MOPIDY_DISCONNECTED': - return _extends({}, mopidy, { + return _objectSpread(_objectSpread({}, mopidy), {}, { connected: false, connecting: false }); case 'MOPIDY_CHANGE_TRACK': - return _extends({}, mopidy, { tlid: action.tlid }); + return _objectSpread(_objectSpread({}, mopidy), {}, { + tlid: action.tlid + }); case 'MOPIDY_URI_SCHEMES': - return _extends({}, mopidy, { uri_schemes: action.uri_schemes }); + return _objectSpread(_objectSpread({}, mopidy), {}, { + uri_schemes: action.uri_schemes + }); case 'MOPIDY_RESTART_STARTED': - return _extends({}, mopidy, { restart_running: true }); + return _objectSpread(_objectSpread({}, mopidy), {}, { + restart_running: true + }); case 'MOPIDY_RESTART_FINISHED': - return _extends({}, mopidy, { restart_running: false }); + return _objectSpread(_objectSpread({}, mopidy), {}, { + restart_running: false + }); case 'MOPIDY_UPGRADE_STARTED': - return _extends({}, mopidy, { upgrade_running: true }); + return _objectSpread(_objectSpread({}, mopidy), {}, { + upgrade_running: true + }); case 'MOPIDY_UPGRADE_FINISHED': - return _extends({}, mopidy, { upgrade_running: false }); + return _objectSpread(_objectSpread({}, mopidy), {}, { + upgrade_running: false + }); case 'MOPIDY_LOCAL_SCAN_STARTED': - return _extends({}, mopidy, { local_scan_running: true }); + return _objectSpread(_objectSpread({}, mopidy), {}, { + local_scan_running: true + }); case 'MOPIDY_LOCAL_SCAN_FINISHED': - return _extends({}, mopidy, { local_scan_running: false }); + return _objectSpread(_objectSpread({}, mopidy), {}, { + local_scan_running: false + }); /** * State-oriented actions * */ + case 'MOPIDY_PLAY_STATE': - return _extends({}, mopidy, { play_state: action.play_state }); + return _objectSpread(_objectSpread({}, mopidy), {}, { + play_state: action.play_state + }); case 'MOPIDY_CONSUME': - return _extends({}, mopidy, { consume: action.consume }); + return _objectSpread(_objectSpread({}, mopidy), {}, { + consume: action.consume + }); case 'MOPIDY_RANDOM': - return _extends({}, mopidy, { random: action.random }); + return _objectSpread(_objectSpread({}, mopidy), {}, { + random: action.random + }); case 'MOPIDY_REPEAT': - return _extends({}, mopidy, { repeat: action.repeat }); + return _objectSpread(_objectSpread({}, mopidy), {}, { + repeat: action.repeat + }); case 'MOPIDY_VOLUME': - return _extends({}, mopidy, { volume: action.volume }); + return _objectSpread(_objectSpread({}, mopidy), {}, { + volume: action.volume + }); case 'MOPIDY_MUTE': - return _extends({}, mopidy, { mute: action.mute }); + return _objectSpread(_objectSpread({}, mopidy), {}, { + mute: action.mute + }); case 'MOPIDY_TIME_POSITION': - return _extends({}, mopidy, { time_position: action.time_position }); + return _objectSpread(_objectSpread({}, mopidy), {}, { + time_position: action.time_position + }); case 'MOPIDY_QUEUE_HISTORY': var history = []; + for (var i = 0; i < action.tracks.length; i++) { - history.push(_extends({}, action.tracks[i][1], { + history.push(_objectSpread(_objectSpread({}, action.tracks[i][1]), {}, { played_at: action.tracks[i][0], type: 'history' })); } - return _extends({}, mopidy, { queue_history: history }); + + return _objectSpread(_objectSpread({}, mopidy), {}, { + queue_history: history + }); /** * Directories @@ -104213,11 +105685,13 @@ function reducer() { * */ case 'MOPIDY_DIRECTORY_FLUSH': - return _extends({}, mopidy, { directory: null }); + return _objectSpread(_objectSpread({}, mopidy), {}, { + directory: null + }); case 'MOPIDY_DIRECTORY_LOADED': - return _extends({}, mopidy, { - directory: _extends({}, mopidy.directory, action.directory) + return _objectSpread(_objectSpread({}, mopidy), {}, { + directory: _objectSpread(_objectSpread({}, mopidy.directory), action.directory) }); /** @@ -104230,26 +105704,39 @@ function reducer() { } else { var uris = action.uris; } - return _extends({}, mopidy, { library_playlists: (0, _arrays.removeDuplicates)(uris) }); + + return _objectSpread(_objectSpread({}, mopidy), {}, { + library_playlists: Object(_util_arrays__WEBPACK_IMPORTED_MODULE_0__["removeDuplicates"])(uris) + }); case 'MOPIDY_LIBRARY_PLAYLISTS_LOADED_ALL': - return _extends({}, mopidy, { library_playlists_loaded_all: true }); + return _objectSpread(_objectSpread({}, mopidy), {}, { + library_playlists_loaded_all: true + }); case 'MOPIDY_LIBRARY_PLAYLIST_CREATED': var library_playlists = []; + if (mopidy.library_playlists) { library_playlists = Object.assign([], mopidy.library_playlists); } + library_playlists.push(action.key); - return _extends({}, mopidy, { library_playlists: library_playlists }); + return _objectSpread(_objectSpread({}, mopidy), {}, { + library_playlists: library_playlists + }); case 'MOPIDY_LIBRARY_PLAYLIST_DELETED': var library_playlists = []; + if (mopidy.library_playlists) { library_playlists = Object.assign([], mopidy.library_playlists); library_playlists.splice(library_playlists.indexOf(action.uri), 1); } - return _extends({}, mopidy, { library_playlists: library_playlists }); + + return _objectSpread(_objectSpread({}, mopidy), {}, { + library_playlists: library_playlists + }); case 'MOPIDY_LIBRARY_ARTISTS_LOADED': if (mopidy.library_artists) { @@ -104257,10 +105744,15 @@ function reducer() { } else { var uris = action.uris; } - return _extends({}, mopidy, { library_artists: (0, _arrays.removeDuplicates)(uris) }); + + return _objectSpread(_objectSpread({}, mopidy), {}, { + library_artists: Object(_util_arrays__WEBPACK_IMPORTED_MODULE_0__["removeDuplicates"])(uris) + }); case 'MOPIDY_CLEAR_LIBRARY_ARTISTS': - return _extends({}, mopidy, { library_artists: null }); + return _objectSpread(_objectSpread({}, mopidy), {}, { + library_artists: null + }); case 'MOPIDY_LIBRARY_ALBUMS_LOADED': if (mopidy.library_albums) { @@ -104268,27 +105760,34 @@ function reducer() { } else { var uris = action.uris; } - return _extends({}, mopidy, { library_albums: (0, _arrays.removeDuplicates)(uris) }); + + return _objectSpread(_objectSpread({}, mopidy), {}, { + library_albums: Object(_util_arrays__WEBPACK_IMPORTED_MODULE_0__["removeDuplicates"])(uris) + }); case 'MOPIDY_CLEAR_LIBRARY_ALBUMS': - return _extends({}, mopidy, { library_albums: null }); + return _objectSpread(_objectSpread({}, mopidy), {}, { + library_albums: null + }); /** * Searching * */ case 'MOPIDY_CLEAR_SEARCH_RESULTS': - return _extends({}, mopidy, { search_results: {} }); + return _objectSpread(_objectSpread({}, mopidy), {}, { + search_results: {} + }); case 'MOPIDY_SEARCH_RESULTS_LOADED': // Fetch or create our container if (mopidy.search_results) { - var search_results = _extends({}, mopidy.search_results); + var search_results = _objectSpread({}, mopidy.search_results); } else { var search_results = {}; } - search_results = _extends({}, search_results, { + search_results = _objectSpread(_objectSpread({}, search_results), {}, { query: action.query }); @@ -104298,7 +105797,9 @@ function reducer() { search_results[action.context] = action.results; } - return _extends({}, mopidy, { search_results: search_results }); + return _objectSpread(_objectSpread({}, mopidy), {}, { + search_results: search_results + }); default: return mopidy; @@ -104311,142 +105812,123 @@ function reducer() { /*!*******************************************!*\ !*** ./src/js/services/pusher/actions.js ***! \*******************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: setPort, setUsername, connect, disconnect, upgrade, reload, restart, localScan, getConnections, connectionAdded, updateConnection, connectionChanged, connectionRemoved, request, getConfig, getVersion, deliverBroadcast, deliverMessage, getRadio, startRadio, updateRadio, stopRadio, radioStarted, radioChanged, radioStopped, debug, getQueueMetadata, queueMetadataChanged, addQueueMetadata, getCommands, setCommand, setCommands, removeCommand, runCommand, commandsUpdated */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.setPort = setPort; -exports.setUsername = setUsername; -exports.connect = connect; -exports.disconnect = disconnect; -exports.upgrade = upgrade; -exports.reload = reload; -exports.restart = restart; -exports.localScan = localScan; -exports.getConnections = getConnections; -exports.connectionAdded = connectionAdded; -exports.updateConnection = updateConnection; -exports.connectionChanged = connectionChanged; -exports.connectionRemoved = connectionRemoved; -exports.request = request; -exports.getConfig = getConfig; -exports.getVersion = getVersion; -exports.deliverBroadcast = deliverBroadcast; -exports.deliverMessage = deliverMessage; -exports.getRadio = getRadio; -exports.startRadio = startRadio; -exports.updateRadio = updateRadio; -exports.stopRadio = stopRadio; -exports.radioStarted = radioStarted; -exports.radioChanged = radioChanged; -exports.radioStopped = radioStopped; -exports.debug = debug; -exports.getQueueMetadata = getQueueMetadata; -exports.queueMetadataChanged = queueMetadataChanged; -exports.addQueueMetadata = addQueueMetadata; -exports.getCommands = getCommands; -exports.setCommand = setCommand; -exports.setCommands = setCommands; -exports.removeCommand = removeCommand; -exports.runCommand = runCommand; -exports.commandsUpdated = commandsUpdated; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setPort", function() { return setPort; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setUsername", function() { return setUsername; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "connect", function() { return connect; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "disconnect", function() { return disconnect; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "upgrade", function() { return upgrade; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "reload", function() { return reload; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "restart", function() { return restart; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "localScan", function() { return localScan; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getConnections", function() { return getConnections; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "connectionAdded", function() { return connectionAdded; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "updateConnection", function() { return updateConnection; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "connectionChanged", function() { return connectionChanged; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "connectionRemoved", function() { return connectionRemoved; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "request", function() { return request; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getConfig", function() { return getConfig; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getVersion", function() { return getVersion; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "deliverBroadcast", function() { return deliverBroadcast; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "deliverMessage", function() { return deliverMessage; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getRadio", function() { return getRadio; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "startRadio", function() { return startRadio; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "updateRadio", function() { return updateRadio; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "stopRadio", function() { return stopRadio; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "radioStarted", function() { return radioStarted; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "radioChanged", function() { return radioChanged; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "radioStopped", function() { return radioStopped; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "debug", function() { return debug; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getQueueMetadata", function() { return getQueueMetadata; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "queueMetadataChanged", function() { return queueMetadataChanged; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addQueueMetadata", function() { return addQueueMetadata; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getCommands", function() { return getCommands; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setCommand", function() { return setCommand; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setCommands", function() { return setCommands; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "removeCommand", function() { return removeCommand; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "runCommand", function() { return runCommand; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "commandsUpdated", function() { return commandsUpdated; }); function setPort(port) { return { type: 'PUSHER_SET_PORT', port: port }; } - function setUsername(username) { var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - return { type: 'PUSHER_SET_USERNAME', username: username.replace(/[\W_]+/g, ''), force: force }; } - function connect() { return { type: 'PUSHER_CONNECT' }; } - function disconnect() { return { type: 'PUSHER_DISCONNECT' }; } - function upgrade() { return { type: 'PUSHER_UPGRADE' }; } - function reload() { return { type: 'PUSHER_RELOAD' }; } - function restart() { return { type: 'PUSHER_RESTART' }; } - function localScan() { return { type: 'PUSHER_LOCAL_SCAN' }; } - function getConnections() { return { type: 'PUSHER_GET_CONNECTIONS' }; } - function connectionAdded(connection) { return { type: 'PUSHER_CONNECTION_ADDED', connection: connection }; } - function updateConnection(connection) { return { type: 'PUSHER_UPDATE_CONNECTION', connection: connection }; } - function connectionChanged(connection) { return { type: 'PUSHER_CONNECTION_CHANGED', connection: connection }; } - function connectionRemoved(connection) { return { type: 'PUSHER_CONNECTION_REMOVED', connection: connection }; } - function request(method) { var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; var response_callback = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; var error_callback = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null; - return { type: 'PUSHER_REQUEST', method: method, @@ -104455,19 +105937,16 @@ function request(method) { error_callback: error_callback }; } - function getConfig() { return { type: 'PUSHER_GET_CONFIG' }; } - function getVersion() { return { type: 'PUSHER_GET_VERSION' }; } - function deliverBroadcast(method, params) { return { type: 'PUSHER_DELIVER_BROADCAST', @@ -104477,7 +105956,6 @@ function deliverBroadcast(method, params) { } }; } - function deliverMessage(recipient, method, params) { return { type: 'PUSHER_DELIVER_MESSAGE', @@ -104488,86 +105966,72 @@ function deliverMessage(recipient, method, params) { } }; } - function getRadio() { return { type: 'PUSHER_GET_RADIO' }; } - function startRadio(uris) { return { type: 'PUSHER_START_RADIO', uris: uris }; } - function updateRadio(uris) { return { type: 'PUSHER_UPDATE_RADIO', uris: uris }; } - function stopRadio() { return { type: 'PUSHER_STOP_RADIO' }; } - function radioStarted(radio) { return { type: 'PUSHER_RADIO_STARTED', radio: radio }; } - function radioChanged(radio) { return { type: 'PUSHER_RADIO_CHANGED', radio: radio }; } - function radioStopped() { return { type: 'PUSHER_RADIO_STOPPED' }; } - function debug() { var message = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; - return { type: 'PUSHER_DEBUG', message: message }; } - function getQueueMetadata() { return { type: 'PUSHER_GET_QUEUE_METADATA' }; } - function queueMetadataChanged(queue_metadata) { return { type: 'PUSHER_QUEUE_METADATA_CHANGED', queue_metadata: queue_metadata }; } - function addQueueMetadata() { var tlids = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; var from_uri = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; - return { type: 'PUSHER_ADD_QUEUE_METADATA', tlids: tlids, from_uri: from_uri }; } - /** * Commands (buttons) * */ @@ -104577,38 +106041,32 @@ function getCommands() { type: 'PUSHER_GET_COMMANDS' }; } - function setCommand(command) { return { type: 'PUSHER_SET_COMMAND', command: command }; } - function setCommands(commands) { return { type: 'PUSHER_SET_COMMANDS', commands: commands }; } - function removeCommand(id) { return { type: 'PUSHER_REMOVE_COMMAND', id: id }; } - function runCommand(id) { var notify = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - return { type: 'PUSHER_RUN_COMMAND', id: id, notify: notify }; } - function commandsUpdated(commands) { return { type: 'PUSHER_COMMANDS_UPDATED', @@ -104622,31 +106080,32 @@ function commandsUpdated(commands) { /*!**********************************************!*\ !*** ./src/js/services/pusher/middleware.js ***! \**********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react_ga__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-ga */ "./node_modules/react-ga/dist/esm/index.js"); +/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function _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; } -Object.defineProperty(exports, "__esModule", { - value: true -}); -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - -var _reactGa = __webpack_require__(/*! react-ga */ "./node_modules/react-ga/dist/esm/index.js"); - -var _reactGa2 = _interopRequireDefault(_reactGa); - -var _helpers = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var coreActions = __webpack_require__(/*! ../core/actions */ "./src/js/services/core/actions.js"); + var uiActions = __webpack_require__(/*! ../ui/actions */ "./src/js/services/ui/actions.js"); + var pusherActions = __webpack_require__(/*! ./actions */ "./src/js/services/pusher/actions.js"); + var lastfmActions = __webpack_require__(/*! ../lastfm/actions */ "./src/js/services/lastfm/actions.js"); + var geniusActions = __webpack_require__(/*! ../genius/actions */ "./src/js/services/genius/actions.js"); + var spotifyActions = __webpack_require__(/*! ../spotify/actions */ "./src/js/services/spotify/actions.js"); var PusherMiddleware = function () { @@ -104654,70 +106113,68 @@ var PusherMiddleware = function () { // container for the actual websocket var socket = null; + var reconnectTimer = null; // requests pending - var reconnectTimer = null; + var deferredRequests = []; // handle all manner of socket messages - // requests pending - var deferredRequests = []; - - // handle all manner of socket messages var handleMessage = function handleMessage(ws, store, message) { if (store.getState().ui.log_pusher) { console.log('Pusher log (incoming)', message); - } - - // Pull our ID. JSON-RPC nests the ID under the error object, + } // Pull our ID. JSON-RPC nests the ID under the error object, // so make sure we handle that. // TODO: Use this as our measure of a successful response vs error + + var id = null; + if (message.id) { id = message.id; } else if (message.error && message.error.id) { id = message.error.id; - } + } // Response with request_id + - // Response with request_id if (id) { // Response matches a pending request if (deferredRequests[id] !== undefined) { - store.dispatch(uiActions.stopLoading(id)); + store.dispatch(uiActions.stopLoading(id)); // Response is an error - // Response is an error if (message.error !== undefined) { - deferredRequests[id].reject(message.error); - - // Successful response + deferredRequests[id].reject(message.error); // Successful response } else { deferredRequests[id].resolve(message.result); - } + } // Hmm, the response doesn't appear to be for us? - // Hmm, the response doesn't appear to be for us? } else { store.dispatch(coreActions.handleException('Pusher: Response received with no matching request', message)); - } + } // Broadcast of an error - // Broadcast of an error } else if (message.error !== undefined) { - store.dispatch(coreActions.handleException('Pusher: ' + message.error.message, message, message.error.data !== undefined && message.error.data.description !== undefined ? message.error.data.description : null)); - // General broadcast received + store.dispatch(coreActions.handleException("Pusher: ".concat(message.error.message), message, message.error.data !== undefined && message.error.data.description !== undefined ? message.error.data.description : null)); // General broadcast received } else { var params = message.params ? message.params : {}; + switch (message.method) { case 'connection_added': store.dispatch(pusherActions.connectionAdded(params.connection)); break; + case 'connection_changed': store.dispatch(pusherActions.connectionChanged(params.connection)); break; + case 'connection_removed': store.dispatch(pusherActions.connectionRemoved(params.connection)); break; + case 'queue_metadata_changed': store.dispatch(pusherActions.queueMetadataChanged(params.queue_metadata)); break; + case 'spotify_token_changed': store.dispatch(spotifyActions.tokenChanged(params.spotify_token)); break; + case 'share_configuration_received': store.dispatch(uiActions.createNotification({ type: 'share-configuration-received', @@ -104725,89 +106182,122 @@ var PusherMiddleware = function () { sticky: true })); break; + case 'notification': store.dispatch(uiActions.createNotification(params.notification)); break; + case 'radio_started': store.dispatch(pusherActions.radioStarted(params.radio)); break; + case 'radio_changed': store.dispatch(pusherActions.radioChanged(params.radio)); break; + case 'radio_stopped': store.dispatch(pusherActions.radioStopped()); break; + case 'commands_changed': store.dispatch(pusherActions.commandsUpdated(params.commands)); break; + case 'reload': window.location.reload(true); break; - // Local scan + case 'local_scan_started': store.dispatch(uiActions.updateProcess('local_scan', 'Scanning local library')); break; + case 'local_scan_updated': store.dispatch(uiActions.updateProcess('local_scan', 'Scanning local library', {}, params.output)); break; + case 'local_scan_finished': store.dispatch(uiActions.processFinished('local_scan', { - content: 'Local scan finished', description: params.output, sticky: true - })); - break; - case 'local_scan_error': - store.dispatch(uiActions.processFinished('local_scan', { - level: 'error', content: 'Local scan failed', description: params.error, sticky: true + content: 'Local scan finished', + description: params.output, + sticky: true })); break; + case 'local_scan_error': + store.dispatch(uiActions.processFinished('local_scan', { + level: 'error', + content: 'Local scan failed', + description: params.error, + sticky: true + })); + break; // Upgrade + case 'upgrade_started': store.dispatch(uiActions.updateProcess('upgrade', 'Upgrading')); break; + case 'upgrade_updated': store.dispatch(uiActions.updateProcess('upgrade', 'Upgrading', {}, params.output)); break; + case 'upgrade_finished': store.dispatch(uiActions.updateProcess('upgrade', 'Restarting to complete upgrade')); break; + case 'upgrade_error': store.dispatch(uiActions.processFinished('upgrade', { - level: 'error', content: 'Upgrade failed', description: params.error, sticky: true + level: 'error', + content: 'Upgrade failed', + description: params.error, + sticky: true })); break; - // Restart + case 'restart_started': store.dispatch(uiActions.removeProcess('upgrade', 'Restarting')); break; + case 'restart_updated': store.dispatch(uiActions.updateProcess('upgrade', 'Restarting', {}, params.output)); break; + case 'restart_error': store.dispatch(uiActions.processFinished('upgrade', { - level: 'error', content: 'Restart failed', description: params.error, sticky: true + level: 'error', + content: 'Restart failed', + description: params.error, + sticky: true })); break; - // Test + case 'test_started': store.dispatch(uiActions.updateProcess('test', 'Running test', {}, params.output)); break; + case 'test_updated': store.dispatch(uiActions.updateProcess('test', 'Running test')); break; + case 'test_finished': store.dispatch(uiActions.processFinished('test', { - content: 'Test finished', description: params.output, sticky: true + content: 'Test finished', + description: params.output, + sticky: true })); break; + case 'test_error': store.dispatch(uiActions.removeProcess('test', { - level: 'error', content: params.message, description: params.error + level: 'error', + content: params.message, + description: params.error })); break; + default: break; } @@ -104817,12 +106307,13 @@ var PusherMiddleware = function () { var request = function request(store, method) { var params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; return new Promise(function (resolve, reject) { - var id = (0, _helpers.generateGuid)(); + var id = Object(_util_helpers__WEBPACK_IMPORTED_MODULE_1__["generateGuid"])(); var message = { jsonrpc: '2.0', id: id, method: method }; + if (params) { message.params = params; } @@ -104832,10 +106323,8 @@ var PusherMiddleware = function () { } socket.send(JSON.stringify(message)); + store.dispatch(uiActions.startLoading(id, "pusher_".concat(method))); // Start our 30 second timeout - store.dispatch(uiActions.startLoading(id, 'pusher_' + method)); - - // Start our 30 second timeout setTimeout(function () { store.dispatch(uiActions.stopLoading(id)); reject({ @@ -104843,9 +106332,8 @@ var PusherMiddleware = function () { code: 32300, message: 'Request timed out' }); - }, 30000); + }, 30000); // add query to our deferred responses - // add query to our deferred responses deferredRequests[id] = { resolve: resolve, reject: reject @@ -104866,9 +106354,10 @@ var PusherMiddleware = function () { } clearTimeout(reconnectTimer); - store.dispatch({ type: 'PUSHER_CONNECTING' }); - - socket = new WebSocket('ws' + (window.location.protocol === 'https:' ? 's' : '') + '://' + store.getState().mopidy.host + ':' + store.getState().mopidy.port + '/iris/ws/'); + store.dispatch({ + type: 'PUSHER_CONNECTING' + }); + socket = new WebSocket("ws".concat(window.location.protocol === 'https:' ? 's' : '', "://").concat(store.getState().mopidy.host, ":").concat(store.getState().mopidy.port, "/iris/ws/")); socket.onopen = function () { store.dispatch({ @@ -104879,9 +106368,8 @@ var PusherMiddleware = function () { socket.onclose = function (e) { store.dispatch({ type: 'PUSHER_DISCONNECTED' - }); + }); // attempt to reconnect every 5 seconds - // attempt to reconnect every 5 seconds reconnectTimer = setTimeout(function () { store.dispatch(pusherActions.connect()); }, 5000); @@ -104901,7 +106389,11 @@ var PusherMiddleware = function () { case 'PUSHER_CONNECTED': if (store.getState().ui.allow_reporting) { - _reactGa2.default.event({ category: 'Pusher', action: 'Connected', label: action.username }); + react_ga__WEBPACK_IMPORTED_MODULE_0__["default"].event({ + category: 'Pusher', + action: 'Connected', + label: action.username + }); } clearTimeout(reconnectTimer); @@ -104909,11 +106401,10 @@ var PusherMiddleware = function () { store.dispatch(pusherActions.getConfig()); store.dispatch(pusherActions.getRadio()); store.dispatch(pusherActions.getCommands()); - store.dispatch(pusherActions.getQueueMetadata()); - - // Give things a few moments to setup before we check for version. + store.dispatch(pusherActions.getQueueMetadata()); // Give things a few moments to setup before we check for version. // This is because the server makes a GitHub request, which creates a [very] small delay // in subsequent requests. + setTimeout(function () { store.dispatch(pusherActions.getVersion()); }, 500); @@ -104936,7 +106427,9 @@ var PusherMiddleware = function () { case 'PUSHER_DELIVER_MESSAGE': request(store, 'send_message', action.data).then(function (response) { - store.dispatch(uiActions.createNotification({ content: 'Message delivered' })); + store.dispatch(uiActions.createNotification({ + content: 'Message delivered' + })); }, function (error) { store.dispatch(coreActions.handleException('Could not deliver message', error)); }); @@ -104947,15 +106440,16 @@ var PusherMiddleware = function () { break; case 'PUSHER_SET_USERNAME': - store.dispatch(pusherActions.updateConnection({ username: action.username })); + store.dispatch(pusherActions.updateConnection({ + username: action.username + })); next(action); break; case 'PUSHER_UPDATE_CONNECTION': - // Our action can provide new values during a state update (eg the field was just changed) // but by default we refer to our existing state - var connection = _extends({ + var connection = _objectSpread({ username: store.getState().pusher.username, client_id: store.getState().pusher.client_id }, action.connection ? action.connection : {}); @@ -105027,8 +106521,7 @@ var PusherMiddleware = function () { case 'PUSHER_GET_COMMANDS': request(store, 'get_commands').then(function (response) { store.dispatch(pusherActions.commandsUpdated(response.commands)); - }, function (error) { - // We're not too worried about capturing errors here + }, function (error) {// We're not too worried about capturing errors here // It's also likely to fail where UI has been updated but // server hasn't been restarted yet. }); @@ -105036,60 +106529,67 @@ var PusherMiddleware = function () { break; case 'PUSHER_SET_COMMAND': - var commands = _extends({}, pusher.commands); + var commands = _objectSpread({}, pusher.commands); if (commands[action.command.id]) { - var command = _extends({}, commands[action.command.id], action.command); + var command = _objectSpread(_objectSpread({}, commands[action.command.id]), action.command); } else { var command = action.command; } - commands[action.command.id] = command; + commands[action.command.id] = command; store.dispatch(pusherActions.setCommands(commands)); break; case 'PUSHER_SET_COMMANDS': - request(store, 'set_commands', { commands: action.commands }).then(function (response) { - // No action required, the change will be broadcast + request(store, 'set_commands', { + commands: action.commands + }).then(function (response) {// No action required, the change will be broadcast }, function (error) { store.dispatch(coreActions.handleException('Could not set commands', error)); }); - next(action); break; case 'PUSHER_REMOVE_COMMAND': - var commands_index = _extends({}, pusher.commands); - delete commands_index[action.id]; + var commands_index = _objectSpread({}, pusher.commands); - request(store, 'set_commands', { commands: commands_index }).then(function (response) { - // No action required, the change will be broadcast + delete commands_index[action.id]; + request(store, 'set_commands', { + commands: commands_index + }).then(function (response) {// No action required, the change will be broadcast }, function (error) { store.dispatch(coreActions.handleException('Could not remove command', error)); }); - next(action); break; case 'PUSHER_RUN_COMMAND': - var command = _extends({}, pusher.commands[action.id]); - var notification_key = 'command_' + action.id; + var command = _objectSpread({}, pusher.commands[action.id]); + + var notification_key = "command_".concat(action.id); if (action.notify) { store.dispatch(uiActions.startProcess(notification_key, 'Running command')); } - request(store, 'run_command', { id: action.id }).then(function (response) { + request(store, 'run_command', { + id: action.id + }).then(function (response) { console.log('Command response', response); store.dispatch(uiActions.removeProcess(notification_key)); + if (action.notify) { - store.dispatch(uiActions.createNotification({ key: notification_key, level: 'warning', content: 'Command sent' })); + store.dispatch(uiActions.createNotification({ + key: notification_key, + level: 'warning', + content: 'Command sent' + })); } }, function (error) { store.dispatch(uiActions.removeProcess(notification_key)); store.dispatch(coreActions.handleException('Could not run command', error)); }); - break; /** @@ -105114,10 +106614,14 @@ var PusherMiddleware = function () { case 'PUSHER_START_RADIO': case 'PUSHER_UPDATE_RADIO': if (store.getState().ui.allow_reporting) { - _reactGa2.default.event({ category: 'Pusher', action: 'Start radio', label: action.uris.join() }); - } + react_ga__WEBPACK_IMPORTED_MODULE_0__["default"].event({ + category: 'Pusher', + action: 'Start radio', + label: action.uris.join() + }); + } // start our UI process notification + - // start our UI process notification if (action.type == 'PUSHER_UPDATE_RADIO') { store.dispatch(uiActions.startProcess('PUSHER_RADIO_PROCESS', 'Updating radio')); } else { @@ -105132,13 +106636,15 @@ var PusherMiddleware = function () { }; for (var i = 0; i < action.uris.length; i++) { - switch ((0, _helpers.uriType)(action.uris[i])) { + switch (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_1__["uriType"])(action.uris[i])) { case 'artist': data.seed_artists.push(action.uris[i]); break; + case 'track': data.seed_tracks.push(action.uris[i]); break; + case 'genre': data.seed_genres.push(action.uris[i]); break; @@ -105149,16 +106655,21 @@ var PusherMiddleware = function () { store.dispatch(pusherActions.deliverBroadcast('notification', { notification: { level: 'warning', - content: pusher.username + ' is starting radio mode' + content: "".concat(pusher.username, " is starting radio mode") } })); } request(store, 'change_radio', data).then(function (response) { store.dispatch(uiActions.processFinished('PUSHER_RADIO_PROCESS')); + if (response.status == 0) { - store.dispatch(uiActions.createNotification({ content: response.message, level: 'error' })); + store.dispatch(uiActions.createNotification({ + content: response.message, + level: 'error' + })); } + store.dispatch(pusherActions.radioChanged(response.radio)); }, function (error) { store.dispatch(uiActions.processFinished('PUSHER_RADIO_PROCESS')); @@ -105167,25 +106678,28 @@ var PusherMiddleware = function () { break; case 'PUSHER_STOP_RADIO': - store.dispatch(uiActions.createNotification({ content: 'Stopping radio' })); + store.dispatch(uiActions.createNotification({ + content: 'Stopping radio' + })); if (store.getState().ui.allow_reporting) { - _reactGa2.default.event({ category: 'Pusher', action: 'Stop radio' }); + react_ga__WEBPACK_IMPORTED_MODULE_0__["default"].event({ + category: 'Pusher', + action: 'Stop radio' + }); } store.dispatch(pusherActions.deliverBroadcast('notification', { notification: { level: 'warning', - content: pusher.username + ' stopped radio mode' + content: "".concat(pusher.username, " stopped radio mode") } })); - var data = { seed_artists: [], seed_genres: [], seed_tracks: [] }; - request(store, 'stop_radio', data).then(function (response) { store.dispatch(pusherActions.radioStopped()); }, function (error) { @@ -105202,8 +106716,10 @@ var PusherMiddleware = function () { break; case 'PUSHER_NOTIFICATION': - var data = _extends({}, action, { type: action.notification_type + var data = _objectSpread(_objectSpread({}, action), {}, { + type: action.notification_type }); + store.dispatch(uiActions.createNotification(data)); break; @@ -105224,15 +106740,25 @@ var PusherMiddleware = function () { case 'PUSHER_UPGRADE': if (store.getState().ui.allow_reporting) { - _reactGa2.default.event({ category: 'Pusher', action: 'Upgrade', label: '' }); + react_ga__WEBPACK_IMPORTED_MODULE_0__["default"].event({ + category: 'Pusher', + action: 'Upgrade', + label: '' + }); } + request(store, 'upgrade'); break; case 'PUSHER_LOCAL_SCAN': if (store.getState().ui.allow_reporting) { - _reactGa2.default.event({ category: 'Pusher', action: 'Local scan', label: '' }); + react_ga__WEBPACK_IMPORTED_MODULE_0__["default"].event({ + category: 'Pusher', + action: 'Local scan', + label: '' + }); } + request(store, 'local_scan'); break; @@ -105242,13 +106768,17 @@ var PusherMiddleware = function () { case 'PUSHER_VERSION': if (store.getState().ui.allow_reporting) { - _reactGa2.default.event({ category: 'Pusher', action: 'Version', label: action.version.current }); + react_ga__WEBPACK_IMPORTED_MODULE_0__["default"].event({ + category: 'Pusher', + action: 'Version', + label: action.version.current + }); } + next(action); break; case 'PUSHER_CONFIG': - // Set default country/locale (unless we've already been configured) var _store$getState2 = store.getState(), spotify = _store$getState2.spotify; @@ -105278,17 +106808,18 @@ var PusherMiddleware = function () { store.dispatch(lastfmActions.set({ authorization_url: action.config.lastfm_authorization_url ? action.config.lastfm_authorization_url : null })); - store.dispatch(geniusActions.set({ authorization_url: action.config.genius_authorization_url ? action.config.genius_authorization_url : null })); - next(action); break; case 'PUSHER_DEBUG': request(store, action.message.method, action.message.data).then(function (response) { - store.dispatch({ type: 'DEBUG', response: response }); + store.dispatch({ + type: 'DEBUG', + response: response + }); }, function (error) { store.dispatch(coreActions.handleException('Could not debug', error, error.message)); }); @@ -105296,12 +106827,18 @@ var PusherMiddleware = function () { case 'PUSHER_ERROR': store.dispatch(uiActions.createNotification(action.message, 'bad')); - if (store.getState().ui.allow_reporting) { - _reactGa2.default.event({ category: 'Pusher', action: 'Error', label: action.message }); - } - break; + if (store.getState().ui.allow_reporting) { + react_ga__WEBPACK_IMPORTED_MODULE_0__["default"].event({ + category: 'Pusher', + action: 'Error', + label: action.message + }); + } + + break; // This action is irrelevant to us, pass it on to the next middleware + default: return next(action); } @@ -105310,7 +106847,7 @@ var PusherMiddleware = function () { }; }(); -exports.default = PusherMiddleware; +/* harmony default export */ __webpack_exports__["default"] = (PusherMiddleware); /***/ }), @@ -105318,30 +106855,32 @@ exports.default = PusherMiddleware; /*!*******************************************!*\ !*** ./src/js/services/pusher/reducer.js ***! \*******************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return reducer; }); +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } -Object.defineProperty(exports, "__esModule", { - value: true -}); +function _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; } -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - -exports.default = reducer; function reducer() { var pusher = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - var action = arguments[1]; + var action = arguments.length > 1 ? arguments[1] : undefined; switch (action.type) { case 'PUSHER_CONNECT': case 'PUSHER_CONNECTING': - return _extends({}, pusher, { connected: false, connecting: true }); + return _objectSpread(_objectSpread({}, pusher), {}, { + connected: false, + connecting: true + }); case 'PUSHER_CONNECTED': - return _extends({}, pusher, { + return _objectSpread(_objectSpread({}, pusher), {}, { connected: true, connecting: false, connection_id: action.connection_id, @@ -105350,53 +106889,76 @@ function reducer() { }); case 'PUSHER_DISCONNECTED': - return _extends({}, pusher, { connected: false, connecting: false }); + return _objectSpread(_objectSpread({}, pusher), {}, { + connected: false, + connecting: false + }); case 'PUSHER_SET_PORT': - return _extends({}, pusher, { port: action.port }); + return _objectSpread(_objectSpread({}, pusher), {}, { + port: action.port + }); case 'PUSHER_SET_USERNAME': - return _extends({}, pusher, { username: action.username }); + return _objectSpread(_objectSpread({}, pusher), {}, { + username: action.username + }); case 'PUSHER_CONNECTIONS': var connections = {}; + for (var i = 0; i < action.connections.length; i++) { connections[action.connections[i].connection_id] = action.connections[i]; } - return _extends({}, pusher, { connections: connections }); + + return _objectSpread(_objectSpread({}, pusher), {}, { + connections: connections + }); case 'PUSHER_CONNECTION_ADDED': case 'PUSHER_CONNECTION_CHANGED': - var connections = _extends({}, pusher.connections); + var connections = _objectSpread({}, pusher.connections); + connections[action.connection.connection_id] = action.connection; - return _extends({}, pusher, { connections: connections }); + return _objectSpread(_objectSpread({}, pusher), {}, { + connections: connections + }); case 'PUSHER_CONNECTION_UPDATED': - return _extends({}, pusher, { + return _objectSpread(_objectSpread({}, pusher), {}, { username: action.connection.username, client_id: action.connection.client_id, connection_id: action.connection.connection_id }); case 'PUSHER_CONNECTION_REMOVED': - var connections = _extends({}, pusher.connections); + var connections = _objectSpread({}, pusher.connections); + delete connections[action.connection.connection_id]; - return _extends({}, pusher, { connections: connections }); + return _objectSpread(_objectSpread({}, pusher), {}, { + connections: connections + }); case 'PUSHER_VERSION': - return _extends({}, pusher, { + return _objectSpread(_objectSpread({}, pusher), {}, { version: action.version, upgrading: false }); case 'PUSHER_START_UPGRADE': - return _extends({}, pusher, { upgrading: true }); + return _objectSpread(_objectSpread({}, pusher), {}, { + upgrading: true + }); case 'PUSHER_CONFIG': - return _extends({}, pusher, { config: action.config }); + return _objectSpread(_objectSpread({}, pusher), {}, { + config: action.config + }); case 'PUSHER_COMMANDS_UPDATED': - return _extends({}, pusher, { commands: action.commands }); + return _objectSpread(_objectSpread({}, pusher), {}, { + commands: action.commands + }); default: return pusher; @@ -105409,79 +106971,69 @@ function reducer() { /*!*********************************************!*\ !*** ./src/js/services/snapcast/actions.js ***! \*********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: set, setConnection, setEnabled, connect, disconnect, request, debug, getServer, setClientName, setClientMute, setClientVolume, setClientLatency, setClientGroup, deleteClient, setGroupName, setGroupStream, setGroupMute, setGroupVolume, calculateGroupVolume, serverLoaded, clientLoaded, clientsLoaded, groupLoaded, groupsLoaded, streamLoaded, streamsLoaded */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.set = set; -exports.setConnection = setConnection; -exports.setEnabled = setEnabled; -exports.connect = connect; -exports.disconnect = disconnect; -exports.request = request; -exports.debug = debug; -exports.getServer = getServer; -exports.setClientName = setClientName; -exports.setClientMute = setClientMute; -exports.setClientVolume = setClientVolume; -exports.setClientLatency = setClientLatency; -exports.setClientGroup = setClientGroup; -exports.deleteClient = deleteClient; -exports.setGroupName = setGroupName; -exports.setGroupStream = setGroupStream; -exports.setGroupMute = setGroupMute; -exports.setGroupVolume = setGroupVolume; -exports.calculateGroupVolume = calculateGroupVolume; -exports.serverLoaded = serverLoaded; -exports.clientLoaded = clientLoaded; -exports.clientsLoaded = clientsLoaded; -exports.groupLoaded = groupLoaded; -exports.groupsLoaded = groupsLoaded; -exports.streamLoaded = streamLoaded; -exports.streamsLoaded = streamsLoaded; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "set", function() { return set; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setConnection", function() { return setConnection; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setEnabled", function() { return setEnabled; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "connect", function() { return connect; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "disconnect", function() { return disconnect; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "request", function() { return request; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "debug", function() { return debug; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getServer", function() { return getServer; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setClientName", function() { return setClientName; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setClientMute", function() { return setClientMute; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setClientVolume", function() { return setClientVolume; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setClientLatency", function() { return setClientLatency; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setClientGroup", function() { return setClientGroup; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "deleteClient", function() { return deleteClient; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setGroupName", function() { return setGroupName; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setGroupStream", function() { return setGroupStream; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setGroupMute", function() { return setGroupMute; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setGroupVolume", function() { return setGroupVolume; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "calculateGroupVolume", function() { return calculateGroupVolume; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "serverLoaded", function() { return serverLoaded; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "clientLoaded", function() { return clientLoaded; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "clientsLoaded", function() { return clientsLoaded; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "groupLoaded", function() { return groupLoaded; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "groupsLoaded", function() { return groupsLoaded; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "streamLoaded", function() { return streamLoaded; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "streamsLoaded", function() { return streamsLoaded; }); function set(data) { return { type: 'SNAPCAST_SET', data: data }; } - function setConnection(data) { return { type: 'SNAPCAST_SET_CONNECTION', data: data }; } - function setEnabled(enabled) { return { type: 'SNAPCAST_SET_ENABLED', enabled: enabled }; } - function connect() { return { type: 'SNAPCAST_CONNECT' }; } - function disconnect() { return { type: 'SNAPCAST_DISCONNECT' }; } - function request(method) { var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; var response_callback = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; var error_callback = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null; - return { type: 'SNAPCAST_REQUEST', method: method, @@ -105490,22 +107042,18 @@ function request(method) { error_callback: error_callback }; } - function debug() { var message = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; - return { type: 'SNAPCAST_DEBUG', message: message }; } - function getServer() { return { type: 'SNAPCAST_GET_SERVER' }; } - function setClientName(id, name) { return { type: 'SNAPCAST_SET_CLIENT_NAME', @@ -105513,7 +107061,6 @@ function setClientName(id, name) { name: name }; } - function setClientMute(id, mute) { return { type: 'SNAPCAST_SET_CLIENT_MUTE', @@ -105521,10 +107068,8 @@ function setClientMute(id, mute) { mute: mute }; } - function setClientVolume(id, volume) { var group_id = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; - return { type: 'SNAPCAST_SET_CLIENT_VOLUME', id: id, @@ -105532,7 +107077,6 @@ function setClientVolume(id, volume) { group_id: group_id }; } - function setClientLatency(id, latency) { return { type: 'SNAPCAST_SET_CLIENT_LATENCY', @@ -105540,7 +107084,6 @@ function setClientLatency(id, latency) { latency: latency }; } - function setClientGroup(id, group_id) { return { type: 'SNAPCAST_SET_CLIENT_GROUP', @@ -105548,14 +107091,12 @@ function setClientGroup(id, group_id) { group_id: group_id }; } - function deleteClient(id) { return { type: 'SNAPCAST_DELETE_CLIENT', id: id }; } - function setGroupName(id, name) { return { type: 'SNAPCAST_SET_GROUP_NAME', @@ -105563,7 +107104,6 @@ function setGroupName(id, name) { name: name }; } - function setGroupStream(id, stream_id) { return { type: 'SNAPCAST_SET_GROUP_STREAM', @@ -105571,7 +107111,6 @@ function setGroupStream(id, stream_id) { stream_id: stream_id }; } - function setGroupMute(id, mute) { return { type: 'SNAPCAST_SET_GROUP_MUTE', @@ -105579,10 +107118,8 @@ function setGroupMute(id, mute) { mute: mute }; } - function setGroupVolume(id, percent) { var old_percent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0; - return { type: 'SNAPCAST_SET_GROUP_VOLUME', id: id, @@ -105590,7 +107127,6 @@ function setGroupVolume(id, percent) { old_percent: old_percent }; } - function calculateGroupVolume(id, clients) { return { type: 'SNAPCAST_CALCULATE_GROUP_VOLUME', @@ -105598,7 +107134,6 @@ function calculateGroupVolume(id, clients) { clients: clients }; } - /** * Record loaders * @@ -105611,39 +107146,33 @@ function serverLoaded(server) { server: server }; } - function clientLoaded(client) { return clientsLoaded([client]); } function clientsLoaded(clients) { var flush = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - return { type: 'SNAPCAST_CLIENTS_LOADED', clients: clients, flush: flush }; } - function groupLoaded(group) { return groupsLoaded([group]); } function groupsLoaded(groups) { var flush = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - return { type: 'SNAPCAST_GROUPS_LOADED', groups: groups, flush: flush }; } - function streamLoaded(stream) { return streamsLoaded([stream]); } function streamsLoaded(streams) { var flush = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - return { type: 'SNAPCAST_STREAMS_LOADED', streams: streams, @@ -105657,93 +107186,99 @@ function streamsLoaded(streams) { /*!************************************************!*\ !*** ./src/js/services/snapcast/middleware.js ***! \************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react_ga__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-ga */ "./node_modules/react-ga/dist/esm/index.js"); +/* harmony import */ var js_sha256__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! js-sha256 */ "./node_modules/js-sha256/src/sha256.js"); +/* harmony import */ var js_sha256__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(js_sha256__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); +/* harmony import */ var _util_arrays__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/arrays */ "./src/js/util/arrays.js"); +/* harmony import */ var _util_format__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../util/format */ "./src/js/util/format.js"); +function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function _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; } -Object.defineProperty(exports, "__esModule", { - value: true -}); -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; -var _reactGa = __webpack_require__(/*! react-ga */ "./node_modules/react-ga/dist/esm/index.js"); -var _reactGa2 = _interopRequireDefault(_reactGa); -var _jsSha = __webpack_require__(/*! js-sha256 */ "./node_modules/js-sha256/src/sha256.js"); - -var _helpers = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); - -var _arrays = __webpack_require__(/*! ../../util/arrays */ "./src/js/util/arrays.js"); - -var _format = __webpack_require__(/*! ../../util/format */ "./src/js/util/format.js"); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } var coreActions = __webpack_require__(/*! ../core/actions */ "./src/js/services/core/actions.js"); + var uiActions = __webpack_require__(/*! ../ui/actions */ "./src/js/services/ui/actions.js"); + var pusherActions = __webpack_require__(/*! ../pusher/actions */ "./src/js/services/pusher/actions.js"); + var snapcastActions = __webpack_require__(/*! ./actions */ "./src/js/services/snapcast/actions.js"); var SnapcastMiddleware = function () { var _this = this; var socket = null; - var reconnectTimer = null; + var reconnectTimer = null; // requests pending - // requests pending - var deferredRequests = []; + var deferredRequests = []; // handle all manner of socket messages - // handle all manner of socket messages var handleMessage = function handleMessage(ws, store, message) { if (store.getState().ui.log_snapcast) { console.log('Snapcast log (incoming)', message); - } + } // Some messages are arrays of messages + - // Some messages are arrays of messages if (Array.isArray(message)) { message.map(function (messageItem) { return handleMessage(ws, store, messageItem); }); return; - } - - // Pull our ID. JSON-RPC nests the ID under the error object, + } // Pull our ID. JSON-RPC nests the ID under the error object, // so make sure we handle that. // TODO: Use this as our measure of a successful response vs error + + var id = null; + if (message.id) { id = message.id; } else if (message.error && message.error.id) { id = message.error.id; - } + } // Response with request_id + - // Response with request_id if (id) { // Response matches a pending request if (deferredRequests[id] !== undefined) { - store.dispatch(uiActions.stopLoading(id)); + store.dispatch(uiActions.stopLoading(id)); // Response is an error - // Response is an error if (message.error !== undefined) { - deferredRequests[id].reject(message.error); - - // Successful response + deferredRequests[id].reject(message.error); // Successful response } else { deferredRequests[id].resolve(message.result); - } + } // Hmm, the response doesn't appear to be for us? - // Hmm, the response doesn't appear to be for us? } else { store.dispatch(coreActions.handleException('Snapcast: Response received with no matching request', message)); - } + } // General broadcast received - // General broadcast received } else { switch (message.method) { case 'Client.OnConnect': @@ -105783,12 +107318,13 @@ var SnapcastMiddleware = function () { var request = function request(store, method) { var params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; return new Promise(function (resolve, reject) { - var id = (0, _helpers.generateGuid)(8); + var id = Object(_util_helpers__WEBPACK_IMPORTED_MODULE_2__["generateGuid"])(8); var message = { jsonrpc: '2.0', id: id, method: method }; + if (params) { message.params = params; } @@ -105798,10 +107334,8 @@ var SnapcastMiddleware = function () { } socket.send(JSON.stringify(message)); + store.dispatch(uiActions.startLoading(id, "snapcast_".concat(method))); // Start our 30 second timeout - store.dispatch(uiActions.startLoading(id, 'snapcast_' + method)); - - // Start our 30 second timeout var timeout = setTimeout(function () { store.dispatch(uiActions.stopLoading(id)); reject({ @@ -105809,9 +107343,8 @@ var SnapcastMiddleware = function () { code: 32300, message: 'Request timed out' }); - }, 30000); + }, 30000); // add query to our deferred responses - // add query to our deferred responses deferredRequests[id] = { resolve: resolve, reject: reject @@ -105826,14 +107359,13 @@ var SnapcastMiddleware = function () { snapcast = _store$getState.snapcast; switch (action.type) { - case 'SNAPCAST_CONNECT': if (socket) socket.close(); clearTimeout(reconnectTimer); - - store.dispatch({ type: 'SNAPCAST_CONNECTING' }); - - socket = new WebSocket('ws' + (window.location.protocol === 'https:' ? 's' : '') + '://' + store.getState().snapcast.host + ':' + store.getState().snapcast.port + '/jsonrpc'); + store.dispatch({ + type: 'SNAPCAST_CONNECTING' + }); + socket = new WebSocket("ws".concat(window.location.protocol === 'https:' ? 's' : '', "://").concat(store.getState().snapcast.host, ":").concat(store.getState().snapcast.port, "/jsonrpc")); socket.onopen = function () { store.dispatch({ @@ -105844,9 +107376,8 @@ var SnapcastMiddleware = function () { socket.onclose = function (e) { store.dispatch({ type: 'SNAPCAST_DISCONNECTED' - }); + }); // attempt to reconnect every 5 seconds - // attempt to reconnect every 5 seconds if (store.getState().snapcast.enabled) { clearTimeout(reconnectTimer); reconnectTimer = setTimeout(function () { @@ -105864,16 +107395,18 @@ var SnapcastMiddleware = function () { socket.onmessage = function (message) { handleMessage(socket, store, JSON.parse(message.data)); }; + break; case 'SNAPCAST_CONNECTED': if (store.getState().ui.allow_reporting) { - _reactGa2.default.event({ + react_ga__WEBPACK_IMPORTED_MODULE_0__["default"].event({ category: 'Snapcast', action: 'Connected', - label: (0, _jsSha.sha256)(window.location.hostname) + label: Object(js_sha256__WEBPACK_IMPORTED_MODULE_1__["sha256"])(window.location.hostname) }); } + store.dispatch(snapcastActions.getServer()); next(action); break; @@ -105889,19 +107422,22 @@ var SnapcastMiddleware = function () { store.dispatch(snapcastActions.clientsLoaded([])); store.dispatch(snapcastActions.groupsLoaded([])); store.dispatch(snapcastActions.streamsLoaded([])); - store.dispatch(snapcastActions.set(action.data)); + store.dispatch(snapcastActions.set(action.data)); // Wait 250 ms and then retry connection - // Wait 250 ms and then retry connection if (store.getState().snapcast.enabled) { setTimeout(function () { store.dispatch(snapcastActions.connect()); }, 250); } + break; case 'SNAPCAST_DEBUG': request(store, action.message.method, action.message.data).then(function (response) { - store.dispatch({ type: 'DEBUG', response: response }); + store.dispatch({ + type: 'DEBUG', + response: response + }); }, function (error) { store.dispatch(coreActions.handleException('Could not debug', error, error.message)); }); @@ -105922,7 +107458,9 @@ var SnapcastMiddleware = function () { break; case 'SNAPCAST_SET_ENABLED': - store.dispatch(snapcastActions.set({ enabled: action.enabled })); + store.dispatch(snapcastActions.set({ + enabled: action.enabled + })); store.dispatch(action.enabled ? snapcastActions.connect() : snapcastActions.disconnect()); break; @@ -105937,29 +107475,28 @@ var SnapcastMiddleware = function () { break; case 'SNAPCAST_GROUPS_LOADED': - var groups_index = _extends({}, snapcast.groups); - var clients_loaded = []; + var groups_index = _objectSpread({}, snapcast.groups); + var clients_loaded = []; var groups_loaded = action.groups.map(function (raw_group) { - var group = (0, _format.formatGroup)(raw_group); + var group = Object(_util_format__WEBPACK_IMPORTED_MODULE_4__["formatGroup"])(raw_group); if (groups_index[group.id]) { - group = _extends({}, groups_index[group.id], group); + group = _objectSpread(_objectSpread({}, groups_index[group.id]), group); } if (raw_group.clients) { - group.clients_ids = (0, _arrays.arrayOf)('id', raw_group.clients); + group.clients_ids = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_3__["arrayOf"])('id', raw_group.clients); clients_loaded = [].concat(_toConsumableArray(clients_loaded), _toConsumableArray(raw_group.clients)); - } + } // Create a name (display only) based on it's ID + - // Create a name (display only) based on it's ID if (group.name === undefined || group.name === '') { - group.name = 'Group ' + group.id.substring(0, 3); + group.name = "Group ".concat(group.id.substring(0, 3)); } return group; }); - action.groups = groups_loaded; if (clients_loaded.length > 0) { @@ -105970,42 +107507,31 @@ var SnapcastMiddleware = function () { break; case 'SNAPCAST_CLIENTS_LOADED': - var clients_index = _extends({}, snapcast.clients); + var clients_index = _objectSpread({}, snapcast.clients); + var clients_loaded = []; - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; + var _iterator = _createForOfIteratorHelper(action.clients), + _step; try { - for (var _iterator = action.clients[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + for (_iterator.s(); !(_step = _iterator.n()).done;) { var raw_client = _step.value; - - var client = (0, _format.formatClient)(raw_client); + var client = Object(_util_format__WEBPACK_IMPORTED_MODULE_4__["formatClient"])(raw_client); if (clients_index[client.id]) { - client = _extends({}, clients_index[client.id], client); + client = _objectSpread(_objectSpread({}, clients_index[client.id]), client); } clients_loaded.push(client); } } catch (err) { - _didIteratorError = true; - _iteratorError = err; + _iterator.e(err); } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } + _iterator.f(); } action.clients = clients_loaded; - next(action); break; @@ -106015,7 +107541,6 @@ var SnapcastMiddleware = function () { id: action.id, name: action.name }; - request(store, 'Client.SetName', params).then(function (response) { store.dispatch(snapcastActions.clientLoaded({ id: action.id, @@ -106033,7 +107558,6 @@ var SnapcastMiddleware = function () { percent: client.volume } }; - request(store, 'Client.SetVolume', params).then(function (response) { store.dispatch(snapcastActions.clientLoaded({ id: action.id, @@ -106054,7 +107578,6 @@ var SnapcastMiddleware = function () { percent: action.volume } }; - request(store, 'Client.SetVolume', params).then(function (response) { store.dispatch(snapcastActions.clientLoaded({ id: action.id, @@ -106080,7 +107603,6 @@ var SnapcastMiddleware = function () { id: action.id, latency: action.latency }; - request(store, 'Client.SetLatency', params).then(function (response) { store.dispatch(snapcastActions.clientLoaded({ id: action.id, @@ -106092,17 +107614,13 @@ var SnapcastMiddleware = function () { break; case 'SNAPCAST_SET_CLIENT_GROUP': - var group = snapcast.groups[action.group_id]; - var clients_ids = group.clients_ids; + var _group = group, + clients_ids = _group.clients_ids; + var clients_ids_index = clients_ids.indexOf(action.id); // Not in group (yet), so add it - var clients_ids_index = clients_ids.indexOf(action.id); - - // Not in group (yet), so add it if (clients_ids_index <= -1) { - clients_ids.push(action.id); - - // Already there, so remove it + clients_ids.push(action.id); // Already there, so remove it } else { clients_ids.splice(clients_ids_index, 1); } @@ -106111,7 +107629,6 @@ var SnapcastMiddleware = function () { id: action.group_id, clients: clients_ids }; - request(store, 'Group.SetClients', params).then(function (response) { store.dispatch(snapcastActions.groupsLoaded(response.server.groups, true)); }, function (error) { @@ -106120,7 +107637,9 @@ var SnapcastMiddleware = function () { break; case 'SNAPCAST_DELETE_CLIENT': - request(store, 'Server.DeleteClient', { id: action.id }).then(function () { + request(store, 'Server.DeleteClient', { + id: action.id + }).then(function () { store.dispatch({ type: 'SNAPCAST_CLIENT_REMOVED', key: action.data.params.id @@ -106136,7 +107655,6 @@ var SnapcastMiddleware = function () { id: action.id, name: action.name }; - request(store, 'Group.SetName', params).then(function (response) { store.dispatch(snapcastActions.groupLoaded({ id: action.id, @@ -106151,7 +107669,6 @@ var SnapcastMiddleware = function () { id: action.id, stream_id: action.stream_id }; - request(store, 'Group.SetStream', params).then(function (response) { store.dispatch(snapcastActions.groupLoaded({ id: action.id, @@ -106168,7 +107685,6 @@ var SnapcastMiddleware = function () { id: action.id, mute: action.mute }; - request(store, 'Group.SetMute', params).then(function (response) { store.dispatch(snapcastActions.groupLoaded({ id: action.id, @@ -106184,76 +107700,42 @@ var SnapcastMiddleware = function () { var group = snapcast.groups[action.id]; var change = action.percent - action.old_percent; - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; + var _iterator2 = _createForOfIteratorHelper(group.clients_ids), + _step2; try { - for (var _iterator2 = group.clients_ids[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { var client_id = _step2.value; - // Apply the change proportionately to each client var client = snapcast.clients[client_id]; var current_volume = client.volume; - var new_volume = current_volume + change; + var new_volume = current_volume + change; // Only change if the client is within min/max limits - // Only change if the client is within min/max limits if (change > 0 && current_volume < 100 || change < 0 && current_volume > 0) { clients_to_update.push({ id: client.id, volume: new_volume }); } - } + } // Loop our required changes, and post each to Snapcast - // Loop our required changes, and post each to Snapcast } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; + _iterator2.e(err); } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2.return) { - _iterator2.return(); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } + _iterator2.f(); } - var _iteratorNormalCompletion3 = true; - var _didIteratorError3 = false; - var _iteratorError3 = undefined; + for (var _i = 0, _clients_to_update = clients_to_update; _i < _clients_to_update.length; _i++) { + var client_to_update = _clients_to_update[_i]; + var volume = client_to_update.volume + (group.clients_ids.length - clients_to_update.length) * change; // Make sure we're not creating an impossible percent - try { - for (var _iterator3 = clients_to_update[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { - var client_to_update = _step3.value; - - var volume = client_to_update.volume + (group.clients_ids.length - clients_to_update.length) * change; - - // Make sure we're not creating an impossible percent - if (volume < 0) { - volume = 0; - } else if (volume > 100) { - volume = 100; - } - - store.dispatch(snapcastActions.setClientVolume(client_to_update.id, volume)); - } - } catch (err) { - _didIteratorError3 = true; - _iteratorError3 = err; - } finally { - try { - if (!_iteratorNormalCompletion3 && _iterator3.return) { - _iterator3.return(); - } - } finally { - if (_didIteratorError3) { - throw _iteratorError3; - } + if (volume < 0) { + volume = 0; + } else if (volume > 100) { + volume = 100; } + + store.dispatch(snapcastActions.setClientVolume(client_to_update.id, volume)); } store.dispatch(snapcastActions.groupLoaded({ @@ -106270,7 +107752,7 @@ var SnapcastMiddleware = function () { }; }(); -exports.default = SnapcastMiddleware; +/* harmony default export */ __webpack_exports__["default"] = (SnapcastMiddleware); /***/ }), @@ -106278,140 +107760,129 @@ exports.default = SnapcastMiddleware; /*!*********************************************!*\ !*** ./src/js/services/snapcast/reducer.js ***! \*********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return reducer; }); +function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } -Object.defineProperty(exports, "__esModule", { - value: true -}); +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function _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; } -exports.default = reducer; function reducer() { var snapcast = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - var action = arguments[1]; + var action = arguments.length > 1 ? arguments[1] : undefined; switch (action.type) { case 'SNAPCAST_SET': - return _extends({}, snapcast, action.data); + return _objectSpread(_objectSpread({}, snapcast), action.data); case 'SNAPCAST_CONNECTED': - return _extends({}, snapcast, { connected: true, connecting: false }); + return _objectSpread(_objectSpread({}, snapcast), {}, { + connected: true, + connecting: false + }); case 'SNAPCAST_CONNECTING': - return _extends({}, snapcast, { connecting: true, connected: false }); + return _objectSpread(_objectSpread({}, snapcast), {}, { + connecting: true, + connected: false + }); case 'SNAPCAST_DISCONNECTED': - return _extends({}, snapcast, { connected: false, connecting: false }); + return _objectSpread(_objectSpread({}, snapcast), {}, { + connected: false, + connecting: false + }); case 'SNAPCAST_SERVER_LOADED': - return _extends({}, snapcast, { server: action.server }); + return _objectSpread(_objectSpread({}, snapcast), {}, { + server: action.server + }); case 'SNAPCAST_CLIENTS_LOADED': if (action.flush) { var clients = {}; } else { - var clients = _extends({}, snapcast.clients); + var clients = _objectSpread({}, snapcast.clients); } - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; + var _iterator = _createForOfIteratorHelper(action.clients), + _step; try { - for (var _iterator = action.clients[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + for (_iterator.s(); !(_step = _iterator.n()).done;) { var client = _step.value; - clients[client.id] = client; } } catch (err) { - _didIteratorError = true; - _iteratorError = err; + _iterator.e(err); } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } + _iterator.f(); } - return _extends({}, snapcast, { clients: clients }); + return _objectSpread(_objectSpread({}, snapcast), {}, { + clients: clients + }); case 'SNAPCAST_GROUPS_LOADED': if (action.flush) { var groups = {}; } else { - var groups = _extends({}, snapcast.groups); + var groups = _objectSpread({}, snapcast.groups); } - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; + var _iterator2 = _createForOfIteratorHelper(action.groups), + _step2; try { - for (var _iterator2 = action.groups[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { var group = _step2.value; - - groups[group.id] = _extends({}, groups[group.id] ? groups[group.id] : {}, group); + groups[group.id] = _objectSpread(_objectSpread({}, groups[group.id] ? groups[group.id] : {}), group); } } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; + _iterator2.e(err); } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2.return) { - _iterator2.return(); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } + _iterator2.f(); } - return _extends({}, snapcast, { groups: groups }); + return _objectSpread(_objectSpread({}, snapcast), {}, { + groups: groups + }); case 'SNAPCAST_STREAMS_LOADED': if (action.flush) { var streams = {}; } else { - var streams = _extends({}, snapcast.streams); + var streams = _objectSpread({}, snapcast.streams); } - var _iteratorNormalCompletion3 = true; - var _didIteratorError3 = false; - var _iteratorError3 = undefined; + var _iterator3 = _createForOfIteratorHelper(action.streams), + _step3; try { - for (var _iterator3 = action.streams[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { var stream = _step3.value; - streams[stream.id] = stream; } } catch (err) { - _didIteratorError3 = true; - _iteratorError3 = err; + _iterator3.e(err); } finally { - try { - if (!_iteratorNormalCompletion3 && _iterator3.return) { - _iterator3.return(); - } - } finally { - if (_didIteratorError3) { - throw _iteratorError3; - } - } + _iterator3.f(); } - return _extends({}, snapcast, { streams: streams }); + return _objectSpread(_objectSpread({}, snapcast), {}, { + streams: streams + }); default: return snapcast; @@ -106424,92 +107895,100 @@ function reducer() { /*!********************************************!*\ !*** ./src/js/services/spotify/actions.js ***! \********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: set, connect, authorizationGranted, revokeAuthorization, refreshingToken, tokenChanged, importAuthorization, getMe, getTrack, getLibraryTracks, getFeaturedPlaylists, getCategories, getCategory, getCategoryPlaylists, getNewReleases, getURL, getMore, clearSearchResults, getSearchResults, getAutocompleteResults, clearAutocompleteResults, following, resolveRadioSeeds, getFavorites, getRecommendations, getGenres, getArtist, getArtists, getArtistImages, playArtistTopTracks, getUser, getUserPlaylists, getAlbum, createPlaylist, savePlaylist, getPlaylist, getLibraryTracksAndPlay, getLibraryTracksAndPlayProcessor, getAllPlaylistTracks, getAllPlaylistTracksProcessor, addTracksToPlaylist, deleteTracksFromPlaylist, reorderPlaylistTracks, flushLibrary, getLibraryPlaylists, getLibraryPlaylistsProcessor, getLibraryArtists, getLibraryArtistsProcessor, getLibraryAlbums, getLibraryAlbumsProcessor */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* WEBPACK VAR INJECTION */(function($) { +__webpack_require__.r(__webpack_exports__); +/* WEBPACK VAR INJECTION */(function($) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "set", function() { return set; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "connect", function() { return connect; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "authorizationGranted", function() { return authorizationGranted; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "revokeAuthorization", function() { return revokeAuthorization; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "refreshingToken", function() { return refreshingToken; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "tokenChanged", function() { return tokenChanged; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "importAuthorization", function() { return importAuthorization; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getMe", function() { return getMe; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getTrack", function() { return getTrack; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getLibraryTracks", function() { return getLibraryTracks; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getFeaturedPlaylists", function() { return getFeaturedPlaylists; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getCategories", function() { return getCategories; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getCategory", function() { return getCategory; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getCategoryPlaylists", function() { return getCategoryPlaylists; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getNewReleases", function() { return getNewReleases; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getURL", function() { return getURL; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getMore", function() { return getMore; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "clearSearchResults", function() { return clearSearchResults; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getSearchResults", function() { return getSearchResults; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getAutocompleteResults", function() { return getAutocompleteResults; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "clearAutocompleteResults", function() { return clearAutocompleteResults; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "following", function() { return following; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "resolveRadioSeeds", function() { return resolveRadioSeeds; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getFavorites", function() { return getFavorites; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getRecommendations", function() { return getRecommendations; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getGenres", function() { return getGenres; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getArtist", function() { return getArtist; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getArtists", function() { return getArtists; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getArtistImages", function() { return getArtistImages; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "playArtistTopTracks", function() { return playArtistTopTracks; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getUser", function() { return getUser; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getUserPlaylists", function() { return getUserPlaylists; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getAlbum", function() { return getAlbum; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createPlaylist", function() { return createPlaylist; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "savePlaylist", function() { return savePlaylist; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getPlaylist", function() { return getPlaylist; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getLibraryTracksAndPlay", function() { return getLibraryTracksAndPlay; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getLibraryTracksAndPlayProcessor", function() { return getLibraryTracksAndPlayProcessor; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getAllPlaylistTracks", function() { return getAllPlaylistTracks; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getAllPlaylistTracksProcessor", function() { return getAllPlaylistTracksProcessor; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addTracksToPlaylist", function() { return addTracksToPlaylist; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "deleteTracksFromPlaylist", function() { return deleteTracksFromPlaylist; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "reorderPlaylistTracks", function() { return reorderPlaylistTracks; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "flushLibrary", function() { return flushLibrary; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getLibraryPlaylists", function() { return getLibraryPlaylists; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getLibraryPlaylistsProcessor", function() { return getLibraryPlaylistsProcessor; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getLibraryArtists", function() { return getLibraryArtists; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getLibraryArtistsProcessor", function() { return getLibraryArtistsProcessor; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getLibraryAlbums", function() { return getLibraryAlbums; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getLibraryAlbumsProcessor", function() { return getLibraryAlbumsProcessor; }); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _util_arrays__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/arrays */ "./src/js/util/arrays.js"); +/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); +/* harmony import */ var _util_format__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/format */ "./src/js/util/format.js"); +/* harmony import */ var _components_URILink__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../components/URILink */ "./src/js/components/URILink.js"); +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } -Object.defineProperty(exports, "__esModule", { - value: true -}); +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; +function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); } -exports.set = set; -exports.connect = connect; -exports.authorizationGranted = authorizationGranted; -exports.revokeAuthorization = revokeAuthorization; -exports.refreshingToken = refreshingToken; -exports.tokenChanged = tokenChanged; -exports.importAuthorization = importAuthorization; -exports.getMe = getMe; -exports.getTrack = getTrack; -exports.getLibraryTracks = getLibraryTracks; -exports.getFeaturedPlaylists = getFeaturedPlaylists; -exports.getCategories = getCategories; -exports.getCategory = getCategory; -exports.getCategoryPlaylists = getCategoryPlaylists; -exports.getNewReleases = getNewReleases; -exports.getURL = getURL; -exports.getMore = getMore; -exports.clearSearchResults = clearSearchResults; -exports.getSearchResults = getSearchResults; -exports.getAutocompleteResults = getAutocompleteResults; -exports.clearAutocompleteResults = clearAutocompleteResults; -exports.following = following; -exports.resolveRadioSeeds = resolveRadioSeeds; -exports.getFavorites = getFavorites; -exports.getRecommendations = getRecommendations; -exports.getGenres = getGenres; -exports.getArtist = getArtist; -exports.getArtists = getArtists; -exports.getArtistImages = getArtistImages; -exports.playArtistTopTracks = playArtistTopTracks; -exports.getUser = getUser; -exports.getUserPlaylists = getUserPlaylists; -exports.getAlbum = getAlbum; -exports.createPlaylist = createPlaylist; -exports.savePlaylist = savePlaylist; -exports.getPlaylist = getPlaylist; -exports.getLibraryTracksAndPlay = getLibraryTracksAndPlay; -exports.getLibraryTracksAndPlayProcessor = getLibraryTracksAndPlayProcessor; -exports.getAllPlaylistTracks = getAllPlaylistTracks; -exports.getAllPlaylistTracksProcessor = getAllPlaylistTracksProcessor; -exports.addTracksToPlaylist = addTracksToPlaylist; -exports.deleteTracksFromPlaylist = deleteTracksFromPlaylist; -exports.reorderPlaylistTracks = reorderPlaylistTracks; -exports.flushLibrary = flushLibrary; -exports.getLibraryPlaylists = getLibraryPlaylists; -exports.getLibraryPlaylistsProcessor = getLibraryPlaylistsProcessor; -exports.getLibraryArtists = getLibraryArtists; -exports.getLibraryArtistsProcessor = getLibraryArtistsProcessor; -exports.getLibraryAlbums = getLibraryAlbums; -exports.getLibraryAlbumsProcessor = getLibraryAlbumsProcessor; +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } -var _react2 = _interopRequireDefault(_react); +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } -var _arrays = __webpack_require__(/*! ../../util/arrays */ "./src/js/util/arrays.js"); +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function _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; } -var _helpers = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); -var _format = __webpack_require__(/*! ../../util/format */ "./src/js/util/format.js"); -var _URILink = __webpack_require__(/*! ../../components/URILink */ "./src/js/components/URILink.js"); -var _URILink2 = _interopRequireDefault(_URILink); -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } -function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } var coreActions = __webpack_require__(/*! ../../services/core/actions */ "./src/js/services/core/actions.js"); -var uiActions = __webpack_require__(/*! ../../services/ui/actions */ "./src/js/services/ui/actions.js"); -var mopidyActions = __webpack_require__(/*! ../../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); -var lastfmActions = __webpack_require__(/*! ../../services/lastfm/actions */ "./src/js/services/lastfm/actions.js"); +var uiActions = __webpack_require__(/*! ../../services/ui/actions */ "./src/js/services/ui/actions.js"); + +var mopidyActions = __webpack_require__(/*! ../../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); + +var lastfmActions = __webpack_require__(/*! ../../services/lastfm/actions */ "./src/js/services/lastfm/actions.js"); /** * Send an ajax request to the Spotify API * @@ -106521,36 +108000,36 @@ var lastfmActions = __webpack_require__(/*! ../../services/lastfm/actions */ "./ * @param cache boolean * @return Promise * */ + + var request = function request(dispatch, getState, endpoint) { var method = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'GET'; var data = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false; var cache = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false; - // Add reference to loader queue // We do this straight away so that even if we're refreshing the token, it still registers as // loading said endpoint - var loader_key = (0, _helpers.generateGuid)(); - dispatch(uiActions.startLoading(loader_key, 'spotify_' + endpoint)); - + var loader_key = Object(_util_helpers__WEBPACK_IMPORTED_MODULE_2__["generateGuid"])(); + dispatch(uiActions.startLoading(loader_key, "spotify_".concat(endpoint))); return new Promise(function (resolve, reject) { getToken(dispatch, getState).then(function (response) { // prepend the API baseurl, unless the endpoint already has it (ie pagination requests) - var url = 'https://api.spotify.com/v1/' + endpoint; + var url = "https://api.spotify.com/v1/".concat(endpoint); + if (endpoint.startsWith('https://api.spotify.com/')) { url = endpoint; - } + } // create our ajax request config + - // create our ajax request config var config = { method: method, timeout: 30000, headers: { - Authorization: 'Bearer ' + response, + Authorization: "Bearer ".concat(response), Accept: 'application/json' } - }; + }; // only if we've got data do we add it to the request (this prevents appending of "&false" to the URL) - // only if we've got data do we add it to the request (this prevents appending of "&false" to the URL) if (data) { if (typeof data === 'string') { config.body = data; @@ -106560,9 +108039,8 @@ var request = function request(dispatch, getState, endpoint) { } function status(response) { - dispatch(uiActions.stopLoading(loader_key)); + dispatch(uiActions.stopLoading(loader_key)); // TODO: Rate limiting - // TODO: Rate limiting if (response.status === 429) { console.error('You hit the Spotify API rate limiter'); } @@ -106584,43 +108062,40 @@ var request = function request(dispatch, getState, endpoint) { } resolve(data); - }).catch(function (error) { + })["catch"](function (error) { reject(error); }); }, function (error) { dispatch(coreActions.handleException(error.error)); - reject(error); }); }); }; - /** * Check an access token validity * * @return Promise * */ + + function getToken(dispatch, getState) { return new Promise(function (resolve, reject) { // token is okay for now, so just resolve with the current token if (getState().spotify.token_expiry && new Date().getTime() < getState().spotify.token_expiry) { resolve(getState().spotify.access_token); return; - } - - // token is expiring/expired, so go get a new one and resolve that + } // token is expiring/expired, so go get a new one and resolve that // TODO: Detect whether we already have a pending refresh, in which case we // need to wait until it's done, and then return that - // We've already got a refresh in progress - if (getState().ui.load_queue.spotify_refresh_token !== undefined) { - console.log("Already refreshing token, we'll wait 1000ms and try again"); - // Re-check the queue periodically to see if it's finished yet + + if (getState().ui.load_queue.spotify_refresh_token !== undefined) { + console.log("Already refreshing token, we'll wait 1000ms and try again"); // Re-check the queue periodically to see if it's finished yet // TODO: Look at properly hooking up with the ajax finish event + setTimeout(function () { - return ( - // Return myself for a re-check + return (// Return myself for a re-check getToken(dispatch, getState) ); }, 1000); @@ -106637,21 +108112,18 @@ function getToken(dispatch, getState) { function refreshToken(dispatch, getState) { return new Promise(function (resolve, reject) { // add reference to loader queue - var loader_key = (0, _helpers.generateGuid)(); - dispatch(uiActions.startLoading(loader_key, 'spotify_refresh_token')); + var loader_key = Object(_util_helpers__WEBPACK_IMPORTED_MODULE_2__["generateGuid"])(); + dispatch(uiActions.startLoading(loader_key, 'spotify_refresh_token')); // Fully-authorized, so we can use the local Spotify credentials - // Fully-authorized, so we can use the local Spotify credentials if (getState().spotify.authorization) { var config = { method: 'GET', - url: getState().spotify.authorization_url + '?action=refresh&refresh_token=' + getState().spotify.refresh_token, + url: "".concat(getState().spotify.authorization_url, "?action=refresh&refresh_token=").concat(getState().spotify.refresh_token), dataType: 'json', timeout: 10000 }; - $.ajax(config).then(function (response) { dispatch(uiActions.stopLoading(loader_key)); - response.token_expiry = new Date().getTime() + response.expires_in * 1000; response.source = 'spotify'; dispatch({ @@ -106661,25 +108133,21 @@ function refreshToken(dispatch, getState) { resolve(response); }, function (xhr, status, error) { dispatch(uiActions.stopLoading(loader_key)); - reject({ config: config, xhr: xhr, status: status, error: error }); - }); - - // Server-side authorized (with limited scope) so we need to refresh + }); // Server-side authorized (with limited scope) so we need to refresh // using the Mopidy-Spotify credentials } else { var config = { method: 'GET', - url: '//' + getState().mopidy.host + ':' + getState().mopidy.port + '/iris/http/refresh_spotify_token', + url: "//".concat(getState().mopidy.host, ":").concat(getState().mopidy.port, "/iris/http/refresh_spotify_token"), dataType: 'json', timeout: 10000 }; - $.ajax(config).then(function (response, status, xhr) { dispatch(uiActions.stopLoading(loader_key)); @@ -106703,7 +108171,6 @@ function refreshToken(dispatch, getState) { } }, function (xhr, status, error) { dispatch(uiActions.stopLoading(loader_key)); - reject({ config: config, xhr: xhr, @@ -106721,51 +108188,54 @@ function set(data) { data: data }; } - function connect() { return function (dispatch, getState) { - dispatch({ type: 'SPOTIFY_CONNECTING' }); + dispatch({ + type: 'SPOTIFY_CONNECTING' + }); dispatch(getMe()); }; } - /** * Handle authorization process * */ function authorizationGranted(data) { data.token_expiry = new Date().getTime() + data.expires_in; - return { type: 'SPOTIFY_AUTHORIZATION_GRANTED', data: data }; + return { + type: 'SPOTIFY_AUTHORIZATION_GRANTED', + data: data + }; } - function revokeAuthorization() { - return { type: 'SPOTIFY_AUTHORIZATION_REVOKED' }; + return { + type: 'SPOTIFY_AUTHORIZATION_REVOKED' + }; } - function refreshingToken() { return function (dispatch, getState) { - dispatch({ type: 'SPOTIFY_TOKEN_REFRESHING' }); + dispatch({ + type: 'SPOTIFY_TOKEN_REFRESHING' + }); refreshToken(dispatch, getState); }; } - function tokenChanged(spotify_token) { return { type: 'SPOTIFY_TOKEN_CHANGED', spotify_token: spotify_token }; } - function importAuthorization(authorization) { return { type: 'SPOTIFY_IMPORT_AUTHORIZATION', authorization: authorization }; } - /** * Get current user * */ + function getMe() { return function (dispatch, getState) { request(dispatch, getState, 'me').then(function (response) { @@ -106778,22 +108248,21 @@ function getMe() { }); }; } - /** * Get a single track * * @param uri string * */ + function getTrack(uri) { return function (dispatch, getState) { - request(dispatch, getState, 'tracks/' + (0, _helpers.getFromUri)('trackid', uri)).then(function (response) { + request(dispatch, getState, "tracks/".concat(Object(_util_helpers__WEBPACK_IMPORTED_MODULE_2__["getFromUri"])('trackid', uri))).then(function (response) { dispatch(coreActions.trackLoaded(response)); }, function (error) { dispatch(coreActions.handleException('Could not load track', error)); }); }; } - function getLibraryTracks() { return function (dispatch, getState) { request(dispatch, getState, 'me/tracks?limit=50').then(function (response) { @@ -106806,31 +108275,31 @@ function getLibraryTracks() { }); }; } - function getFeaturedPlaylists() { return function (dispatch, getState) { - dispatch({ type: 'SPOTIFY_FEATURED_PLAYLISTS_LOADED', data: false }); - + dispatch({ + type: 'SPOTIFY_FEATURED_PLAYLISTS_LOADED', + data: false + }); var date = new Date(); date.setHours(date.getHours()); var year = date.getFullYear(); var month = date.getMonth(); - if (month < 10) month = '0' + month; + if (month < 10) month = "0".concat(month); var day = date.getDay(); - if (day < 10) day = '0' + day; + if (day < 10) day = "0".concat(day); var hour = date.getHours(); - if (hour < 10) hour = '0' + hour; + if (hour < 10) hour = "0".concat(hour); var min = date.getMinutes(); - if (min < 10) min = '0' + min; + if (min < 10) min = "0".concat(min); var sec = date.getSeconds(); - if (sec < 10) sec = '0' + sec; - - var timestamp = year + '-' + month + '-' + day + 'T' + hour + ':' + min + ':' + sec; - - request(dispatch, getState, 'browse/featured-playlists?limit=50&country=' + getState().spotify.country + '&locale=' + getState().spotify.locale + 'timestamp=' + timestamp).then(function (response) { + if (sec < 10) sec = "0".concat(sec); + var timestamp = "".concat(year, "-").concat(month, "-").concat(day, "T").concat(hour, ":").concat(min, ":").concat(sec); + request(dispatch, getState, "browse/featured-playlists?limit=50&country=".concat(getState().spotify.country, "&locale=").concat(getState().spotify.locale, "timestamp=").concat(timestamp)).then(function (response) { var playlists = []; + for (var i = 0; i < response.playlists.items.length; i++) { - playlists.push(_extends({}, response.playlists.items[i], { + playlists.push(_objectSpread(_objectSpread({}, response.playlists.items[i]), {}, { is_completely_loaded: false, can_edit: getState().spotify.me && response.playlists.items[i].owner.id == getState().spotify.me.id, tracks_total: response.playlists.items[i].tracks.total @@ -106841,12 +108310,11 @@ function getFeaturedPlaylists() { type: 'PLAYLISTS_LOADED', playlists: playlists }); - dispatch({ type: 'SPOTIFY_FEATURED_PLAYLISTS_LOADED', data: { message: response.message, - playlists: (0, _helpers.upgradeSpotifyPlaylistUris)((0, _arrays.arrayOf)('uri', response.playlists.items)) + playlists: Object(_util_helpers__WEBPACK_IMPORTED_MODULE_2__["upgradeSpotifyPlaylistUris"])(Object(_util_arrays__WEBPACK_IMPORTED_MODULE_1__["arrayOf"])('uri', response.playlists.items)) } }); }, function (error) { @@ -106854,10 +108322,9 @@ function getFeaturedPlaylists() { }); }; } - function getCategories() { return function (dispatch, getState) { - request(dispatch, getState, 'browse/categories?limit=50&country=' + getState().spotify.country + '&locale=' + getState().spotify.locale).then(function (response) { + request(dispatch, getState, "browse/categories?limit=50&country=".concat(getState().spotify.country, "&locale=").concat(getState().spotify.locale)).then(function (response) { dispatch({ type: 'SPOTIFY_CATEGORIES_LOADED', categories: response.categories.items @@ -106867,14 +108334,13 @@ function getCategories() { }); }; } - function getCategory(id) { return function (dispatch, getState) { - request(dispatch, getState, 'browse/categories/' + id + '?country=' + getState().spotify.country + '&locale=' + getState().spotify.locale).then(function (response) { + request(dispatch, getState, "browse/categories/".concat(id, "?country=").concat(getState().spotify.country, "&locale=").concat(getState().spotify.locale)).then(function (response) { dispatch({ type: 'SPOTIFY_CATEGORY_LOADED', - category: _extends({ - uri: 'category:' + response.id, + category: _objectSpread({ + uri: "category:".concat(response.id), playlist_uris: null }, response) }); @@ -106883,13 +108349,12 @@ function getCategory(id) { }); }; } - function getCategoryPlaylists(id) { return function (dispatch, getState) { - request(dispatch, getState, 'browse/categories/' + id + '/playlists?limit=50&country=' + getState().spotify.country + '&locale=' + getState().spotify.locale).then(function (response) { + request(dispatch, getState, "browse/categories/".concat(id, "/playlists?limit=50&country=").concat(getState().spotify.country, "&locale=").concat(getState().spotify.locale)).then(function (response) { dispatch({ type: 'SPOTIFY_CATEGORY_PLAYLISTS_LOADED', - uri: 'category:' + id, + uri: "category:".concat(id), playlists: response.playlists }); }, function (error) { @@ -106897,10 +108362,9 @@ function getCategoryPlaylists(id) { }); }; } - function getNewReleases() { return function (dispatch, getState) { - request(dispatch, getState, 'browse/new-releases?country=' + getState().spotify.country + '&limit=50').then(function (response) { + request(dispatch, getState, "browse/new-releases?country=".concat(getState().spotify.country, "&limit=50")).then(function (response) { dispatch({ type: 'SPOTIFY_NEW_RELEASES_LOADED', data: response @@ -106910,10 +108374,8 @@ function getNewReleases() { }); }; } - function getURL(url, action_name) { var key = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; - return function (dispatch, getState) { request(dispatch, getState, url).then(function (response) { dispatch({ @@ -106926,12 +108388,10 @@ function getURL(url, action_name) { }); }; } - function getMore(url) { var core_action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; var custom_action = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; var extra_data = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; - return function (dispatch, getState) { request(dispatch, getState, url).then(function (response) { if (core_action) { @@ -106943,42 +108403,41 @@ function getMore(url) { dispatch(coreActions.handleException('No callback handler for loading more items')); } }, function (error) { - dispatch(coreActions.handleException('Could not load more ' + callback_action.parent_type + ' ' + callback_action.records_type + 's', error)); + dispatch(coreActions.handleException("Could not load more ".concat(callback_action.parent_type, " ").concat(callback_action.records_type, "s"), error)); }); }; } - function clearSearchResults() { return { type: 'SPOTIFY_CLEAR_SEARCH_RESULTS' }; } - function getSearchResults(type, term) { var limit = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 50; var offset = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0; - return function (dispatch, getState) { dispatch(uiActions.startProcess('SPOTIFY_GET_SEARCH_RESULTS_PROCESSOR', 'Searching Spotify')); - var typeString = type.replace(/s+$/, ''); + if (typeString === 'all') { typeString = 'album,artist,playlist,track'; } - var url = 'search?q=' + term; - url += '&type=' + typeString; - url += '&country=' + getState().spotify.country; - url += '&limit=' + limit; - url += '&offset=' + offset; - + var url = "search?q=".concat(term); + url += "&type=".concat(typeString); + url += "&country=".concat(getState().spotify.country); + url += "&limit=".concat(limit); + url += "&offset=".concat(offset); request(dispatch, getState, url).then(function (response) { if (response.tracks !== undefined) { dispatch({ type: 'SPOTIFY_SEARCH_RESULTS_LOADED', context: 'tracks', - query: { type: type, term: term }, - results: (0, _format.formatTracks)(response.tracks.items), + query: { + type: type, + term: term + }, + results: Object(_util_format__WEBPACK_IMPORTED_MODULE_3__["formatTracks"])(response.tracks.items), more: response.tracks.next }); } @@ -106991,8 +108450,11 @@ function getSearchResults(type, term) { dispatch({ type: 'SPOTIFY_SEARCH_RESULTS_LOADED', context: 'artists', - query: { type: type, term: term }, - results: (0, _arrays.arrayOf)('uri', response.artists.items), + query: { + type: type, + term: term + }, + results: Object(_util_arrays__WEBPACK_IMPORTED_MODULE_1__["arrayOf"])('uri', response.artists.items), more: response.artists.next }); } @@ -107005,15 +108467,18 @@ function getSearchResults(type, term) { dispatch({ type: 'SPOTIFY_SEARCH_RESULTS_LOADED', context: 'albums', - query: { type: type, term: term }, - results: (0, _arrays.arrayOf)('uri', response.albums.items), + query: { + type: type, + term: term + }, + results: Object(_util_arrays__WEBPACK_IMPORTED_MODULE_1__["arrayOf"])('uri', response.albums.items), more: response.albums.next }); } if (response.playlists !== undefined) { var playlists = response.playlists.items.map(function (item) { - return _extends({}, (0, _format.formatPlaylist)(item), { + return _objectSpread(_objectSpread({}, Object(_util_format__WEBPACK_IMPORTED_MODULE_3__["formatPlaylist"])(item)), {}, { can_edit: getState().spotify.me && item.owner.id === getState().spotify.me.id, tracks_total: item.tracks.total }); @@ -107022,12 +108487,14 @@ function getSearchResults(type, term) { type: 'PLAYLISTS_LOADED', playlists: playlists }); - dispatch({ type: 'SPOTIFY_SEARCH_RESULTS_LOADED', context: 'playlists', - query: { type: type, term: term }, - results: (0, _arrays.arrayOf)('uri', playlists), + query: { + type: type, + term: term + }, + results: Object(_util_arrays__WEBPACK_IMPORTED_MODULE_1__["arrayOf"])('uri', playlists), more: response.playlists.next }); } @@ -107038,34 +108505,36 @@ function getSearchResults(type, term) { }); }; } - function getAutocompleteResults(field_id, query) { var types = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : ['album', 'artist', 'playlist', 'track']; - return function (dispatch, getState) { - dispatch({ type: 'SPOTIFY_AUTOCOMPLETE_LOADING', field_id: field_id }); - + dispatch({ + type: 'SPOTIFY_AUTOCOMPLETE_LOADING', + field_id: field_id + }); var genre_included = types.includes('genre'); + if (genre_included) { var index = types.indexOf('genre'); types.splice(index, 1); } - var endpoint = 'search?q=' + query; - endpoint += '&type=' + types.join(','); - endpoint += '&country=' + getState().spotify.country; - + var endpoint = "search?q=".concat(query); + endpoint += "&type=".concat(types.join(',')); + endpoint += "&country=".concat(getState().spotify.country); request(dispatch, getState, endpoint).then(function (response) { var genres = []; + if (genre_included) { var available_genres = getState().spotify.genres; + if (available_genres) { for (var i = 0; i < available_genres.length; i++) { if (available_genres[i].includes(query)) { var genre = available_genres[i]; genres.push({ name: (genre.charAt(0).toUpperCase() + genre.slice(1)).replace('-', ' '), - uri: 'spotify:genre:' + genre + uri: "spotify:genre:".concat(genre) }); } } @@ -107104,25 +108573,21 @@ function getAutocompleteResults(field_id, query) { }); }; } - function clearAutocompleteResults() { var field_id = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; - return { type: 'SPOTIFY_AUTOCOMPLETE_CLEAR', field_id: field_id }; } - function following(uri) { var method = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'GET'; - return function (dispatch, getState) { - var asset_name = (0, _helpers.uriType)(uri); - var endpoint = void 0; - var data = void 0; + var asset_name = Object(_util_helpers__WEBPACK_IMPORTED_MODULE_2__["uriType"])(uri); + var endpoint; + var data; var is_following = null; - var asset = getState().core[asset_name + 's'] && getState().core[asset_name + 's'][uri]; + var asset = getState().core["".concat(asset_name, "s")] && getState().core["".concat(asset_name, "s")][uri]; if (method == 'PUT') { is_following = true; @@ -107133,41 +108598,51 @@ function following(uri) { switch (asset_name) { case 'track': if (method == 'GET') { - endpoint = 'me/tracks/contains?ids=' + (0, _helpers.getFromUri)('trackid', uri); + endpoint = "me/tracks/contains?ids=".concat(Object(_util_helpers__WEBPACK_IMPORTED_MODULE_2__["getFromUri"])('trackid', uri)); } else { - endpoint = 'me/tracks?ids=' + (0, _helpers.getFromUri)('trackid', uri); + endpoint = "me/tracks?ids=".concat(Object(_util_helpers__WEBPACK_IMPORTED_MODULE_2__["getFromUri"])('trackid', uri)); } + break; + case 'album': if (method == 'GET') { - endpoint = 'me/albums/contains?ids=' + (0, _helpers.getFromUri)('albumid', uri); + endpoint = "me/albums/contains?ids=".concat(Object(_util_helpers__WEBPACK_IMPORTED_MODULE_2__["getFromUri"])('albumid', uri)); } else { - endpoint = 'me/albums?ids=' + (0, _helpers.getFromUri)('albumid', uri); + endpoint = "me/albums?ids=".concat(Object(_util_helpers__WEBPACK_IMPORTED_MODULE_2__["getFromUri"])('albumid', uri)); } + break; + case 'artist': if (method == 'GET') { - endpoint = 'me/following/contains?type=artist&ids=' + (0, _helpers.getFromUri)('artistid', uri); + endpoint = "me/following/contains?type=artist&ids=".concat(Object(_util_helpers__WEBPACK_IMPORTED_MODULE_2__["getFromUri"])('artistid', uri)); } else { - endpoint = 'me/following?type=artist&ids=' + (0, _helpers.getFromUri)('artistid', uri); + endpoint = "me/following?type=artist&ids=".concat(Object(_util_helpers__WEBPACK_IMPORTED_MODULE_2__["getFromUri"])('artistid', uri)); data = {}; } + break; + case 'user': if (method == 'GET') { - endpoint = 'me/following/contains?type=user&ids=' + (0, _helpers.getFromUri)('userid', uri); + endpoint = "me/following/contains?type=user&ids=".concat(Object(_util_helpers__WEBPACK_IMPORTED_MODULE_2__["getFromUri"])('userid', uri)); } else { - endpoint = 'me/following?type=user&ids=' + (0, _helpers.getFromUri)('userid', uri); + endpoint = "me/following?type=user&ids=".concat(Object(_util_helpers__WEBPACK_IMPORTED_MODULE_2__["getFromUri"])('userid', uri)); data = {}; } + break; + case 'playlist': if (method == 'GET') { - endpoint = 'playlists/' + (0, _helpers.getFromUri)('playlistid', uri) + '/followers/contains?ids=' + getState().spotify.me.id; + endpoint = "playlists/".concat(Object(_util_helpers__WEBPACK_IMPORTED_MODULE_2__["getFromUri"])('playlistid', uri), "/followers/contains?ids=").concat(getState().spotify.me.id); } else { - endpoint = 'playlists/' + (0, _helpers.getFromUri)('playlistid', uri) + '/followers?'; + endpoint = "playlists/".concat(Object(_util_helpers__WEBPACK_IMPORTED_MODULE_2__["getFromUri"])('playlistid', uri), "/followers?"); } + break; + default: break; } @@ -107180,38 +108655,32 @@ function following(uri) { } dispatch({ - type: 'SPOTIFY_LIBRARY_' + asset_name.toUpperCase() + '_CHECK', + type: "SPOTIFY_LIBRARY_".concat(asset_name.toUpperCase(), "_CHECK"), key: uri, in_library: is_following }); if (method === 'DELETE') { dispatch(uiActions.createNotification({ - content: _react2.default.createElement( - 'span', - null, - 'Removed ', - _react2.default.createElement( - _URILink2.default, - { uri: uri }, - asset ? asset.name : asset_name - ), - ' from library' - ) + content: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + "data-qa-node": "span", + "data-qa-file": "actions" + }, "Removed ", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_URILink__WEBPACK_IMPORTED_MODULE_4__["default"], { + uri: uri, + "data-qa-node": "URILink", + "data-qa-file": "actions" + }, asset ? asset.name : asset_name), " from library") })); } else if (method === 'PUT' || method === 'POST') { dispatch(uiActions.createNotification({ - content: _react2.default.createElement( - 'span', - null, - 'Added ', - _react2.default.createElement( - _URILink2.default, - { uri: uri }, - asset ? asset.name : asset_name - ), - ' to library' - ) + content: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + "data-qa-node": "span", + "data-qa-file": "actions" + }, "Added ", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_URILink__WEBPACK_IMPORTED_MODULE_4__["default"], { + uri: uri, + "data-qa-node": "URILink", + "data-qa-file": "actions" + }, asset ? asset.name : asset_name), " to library") })); } }, function (error) { @@ -107219,22 +108688,23 @@ function following(uri) { }); }; } - /** * Resolve radio seeds into full objects * * @param radio object * */ + function resolveRadioSeeds(radio) { return function (dispatch, getState) { if (radio.seed_artists.length > 0) { var artist_ids = ''; + for (var i = 0; i < radio.seed_artists.length; i++) { if (i > 0) artist_ids += ','; - artist_ids += (0, _helpers.getFromUri)('artistid', radio.seed_artists[i]); + artist_ids += Object(_util_helpers__WEBPACK_IMPORTED_MODULE_2__["getFromUri"])('artistid', radio.seed_artists[i]); } - request(dispatch, getState, 'artists?ids=' + artist_ids).then(function (response) { + request(dispatch, getState, "artists?ids=".concat(artist_ids)).then(function (response) { if (response && response.artists) { dispatch({ type: 'ARTISTS_LOADED', @@ -107250,12 +108720,13 @@ function resolveRadioSeeds(radio) { if (radio.seed_tracks.length > 0) { var track_ids = ''; + for (var i = 0; i < radio.seed_tracks.length; i++) { if (i > 0) track_ids += ','; - track_ids += (0, _helpers.getFromUri)('trackid', radio.seed_tracks[i]); + track_ids += Object(_util_helpers__WEBPACK_IMPORTED_MODULE_2__["getFromUri"])('trackid', radio.seed_tracks[i]); } - request(dispatch, getState, 'tracks?ids=' + track_ids).then(function (response) { + request(dispatch, getState, "tracks?ids=".concat(track_ids)).then(function (response) { dispatch({ type: 'TRACKS_LOADED', tracks: response.tracks @@ -107266,7 +108737,6 @@ function resolveRadioSeeds(radio) { } }; } - /** * =============================================================== DISCOVER ============= * ====================================================================================== @@ -107277,40 +108747,43 @@ function resolveRadioSeeds(radio) { * * @param uri string * */ + function getFavorites() { var limit = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 50; var term = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'long_term'; - return function (dispatch, getState) { - dispatch({ type: 'SPOTIFY_FAVORITES_LOADED', artists: [], tracks: [] }); - - $.when(request(dispatch, getState, 'me/top/artists?limit=' + limit + '&time_range=' + term), request(dispatch, getState, 'me/top/tracks?limit=' + limit + '&time_range=' + term)).then(function (artists_response, tracks_response) { + dispatch({ + type: 'SPOTIFY_FAVORITES_LOADED', + artists: [], + tracks: [] + }); + $.when(request(dispatch, getState, "me/top/artists?limit=".concat(limit, "&time_range=").concat(term)), request(dispatch, getState, "me/top/tracks?limit=".concat(limit, "&time_range=").concat(term))).then(function (artists_response, tracks_response) { dispatch({ type: 'SPOTIFY_FAVORITES_LOADED', artists: artists_response.items, tracks: tracks_response.items }); }, function (artists_error, tracks_error) { - dispatch(coreActions.handleException('Could not load favorites', _extends({}, artists_error, tracks_error))); + dispatch(coreActions.handleException('Could not load favorites', _objectSpread(_objectSpread({}, artists_error), tracks_error))); }); }; } - /** * Get our recommendations * This is based off our 'favorites' and then we use those as seeds * * @param uris = array of artist or track URIs or a genre string * */ + function getRecommendations() { var uris = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; var limit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 20; var tunabilities = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; - return function (dispatch, getState) { - dispatch({ type: 'CLEAR_SPOTIFY_RECOMMENDATIONS' }); + dispatch({ + type: 'CLEAR_SPOTIFY_RECOMMENDATIONS' + }); // build our starting point - // build our starting point var artists_ids = []; var tracks_ids = []; var genres = []; @@ -107318,70 +108791,68 @@ function getRecommendations() { for (var i = 0; i < uris.length; i++) { var uri = uris[i]; - switch ((0, _helpers.uriType)(uri)) { + switch (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_2__["uriType"])(uri)) { case 'artist': - artists_ids.push((0, _helpers.getFromUri)('artistid', uri)); + artists_ids.push(Object(_util_helpers__WEBPACK_IMPORTED_MODULE_2__["getFromUri"])('artistid', uri)); break; case 'track': - tracks_ids.push((0, _helpers.getFromUri)('trackid', uri)); + tracks_ids.push(Object(_util_helpers__WEBPACK_IMPORTED_MODULE_2__["getFromUri"])('trackid', uri)); break; case 'genre': - genres.push((0, _helpers.getFromUri)('genreid', uri)); + genres.push(Object(_util_helpers__WEBPACK_IMPORTED_MODULE_2__["getFromUri"])('genreid', uri)); break; case 'default': genres.push(uri); break; } - } + } // construct our endpoint URL with all the appropriate arguments + - // construct our endpoint URL with all the appropriate arguments var endpoint = 'recommendations'; - endpoint += '?seed_artists=' + artists_ids.join(','); - endpoint += '&seed_tracks=' + tracks_ids.join(','); - endpoint += '&seed_genres=' + genres.join(','); - endpoint += '&limit=' + limit; + endpoint += "?seed_artists=".concat(artists_ids.join(',')); + endpoint += "&seed_tracks=".concat(tracks_ids.join(',')); + endpoint += "&seed_genres=".concat(genres.join(',')); + endpoint += "&limit=".concat(limit); if (tunabilities) { for (var key in tunabilities) { if (tunabilities.hasOwnProperty(key)) { - endpoint += '&' + key + '=' + tunabilities[key]; + endpoint += "&".concat(key, "=").concat(tunabilities[key]); } } } request(dispatch, getState, endpoint).then(function (response) { - var tracks = Object.assign([], response.tracks); - - // We only get simple artist objects, so we need to + var tracks = Object.assign([], response.tracks); // We only get simple artist objects, so we need to // get the full object. We'll add URIs to our recommendations // anyway so we can proceed in the meantime + var artists_uris = []; + if (tracks.length > artists_ids.length && tracks.length > 10) { while (artists_uris.length < 6) { var random_index = Math.round(Math.random() * (tracks.length - 1)); - var artist = tracks[random_index].artists[0]; - - // Make sure this artist is not already in our sample, and + var artist = tracks[random_index].artists[0]; // Make sure this artist is not already in our sample, and // is not one of the seeds + if (!artists_uris.includes(artist.uri) && !artists_ids.includes(artist.id)) { artists_uris.push(artist.uri); dispatch(getArtist(artist.uri)); } } - } + } // Copy already loaded albums into array + - // Copy already loaded albums into array var albums = []; var albums_uris = []; + if (tracks.length > 10) { while (albums.length < 6) { var random_index = Math.round(Math.random() * (tracks.length - 1)); - var album = tracks[random_index].album; - - // Make sure this album is not already in our sample + var album = tracks[random_index].album; // Make sure this album is not already in our sample if (!albums_uris.includes(album.uri)) { albums_uris.push(album.uri); @@ -107401,21 +108872,21 @@ function getRecommendations() { dispatch({ type: 'SPOTIFY_RECOMMENDATIONS_LOADED', seeds_uris: uris, - tracks_uris: (0, _arrays.arrayOf)('uri', tracks), + tracks_uris: Object(_util_arrays__WEBPACK_IMPORTED_MODULE_1__["arrayOf"])('uri', tracks), artists_uris: artists_uris, - albums_uris: (0, _arrays.arrayOf)('uri', albums) + albums_uris: Object(_util_arrays__WEBPACK_IMPORTED_MODULE_1__["arrayOf"])('uri', albums) }); }, function (error) { dispatch(coreActions.handleException('Could not load recommendations', error)); }); }; } - /** * Get all the available genres * * @param uri string * */ + function getGenres() { return function (dispatch, getState) { request(dispatch, getState, 'recommendations/available-genre-seeds').then(function (response) { @@ -107428,7 +108899,6 @@ function getGenres() { }); }; } - /** * =============================================================== ARTIST(S) ============ * ====================================================================================== @@ -107440,38 +108910,37 @@ function getGenres() { * @param uri string * @param full boolean (whether we want a full artist object) * */ + function getArtist(uri) { var full = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - return function (dispatch, getState) { // Start with an empty object // As each requests completes, they'll add to this object - var artist = {}; + var artist = {}; // We need our artist, obviously - // We need our artist, obviously - var requests = [request(dispatch, getState, 'artists/' + (0, _helpers.getFromUri)('artistid', uri), 'GET', false, true).then(function (response) { + var requests = [request(dispatch, getState, "artists/".concat(Object(_util_helpers__WEBPACK_IMPORTED_MODULE_2__["getFromUri"])('artistid', uri)), 'GET', false, true).then(function (response) { Object.assign(artist, response); }, function (error) { dispatch(coreActions.handleException('Could not load artist', error)); - })]; + })]; // Do we want a full artist, with all supporting material? - // Do we want a full artist, with all supporting material? if (full) { - requests.push(request(dispatch, getState, 'artists/' + (0, _helpers.getFromUri)('artistid', uri) + '/top-tracks?country=' + getState().spotify.country).then(function (response) { + requests.push(request(dispatch, getState, "artists/".concat(Object(_util_helpers__WEBPACK_IMPORTED_MODULE_2__["getFromUri"])('artistid', uri), "/top-tracks?country=").concat(getState().spotify.country)).then(function (response) { Object.assign(artist, response); }, function (error) { dispatch(coreActions.handleException('Could not load artist\'s top tracks', error)); })); - - requests.push(request(dispatch, getState, 'artists/' + (0, _helpers.getFromUri)('artistid', uri) + '/related-artists').then(function (response) { + requests.push(request(dispatch, getState, "artists/".concat(Object(_util_helpers__WEBPACK_IMPORTED_MODULE_2__["getFromUri"])('artistid', uri), "/related-artists")).then(function (response) { dispatch(coreActions.artistsLoaded(response.artists)); - Object.assign(artist, { related_artists_uris: (0, _arrays.arrayOf)('uri', response.artists) }); + Object.assign(artist, { + related_artists_uris: Object(_util_arrays__WEBPACK_IMPORTED_MODULE_1__["arrayOf"])('uri', response.artists) + }); }, function (error) { dispatch(coreActions.handleException('Could not load artist\'s related artists', error)); })); - } + } // Run our requests + - // Run our requests $.when.apply($, requests).then(function () { if (artist.musicbrainz_id) { dispatch(lastfmActions.getArtist(artist.uri, false, artist.musicbrainz_id)); @@ -107479,11 +108948,10 @@ function getArtist(uri) { dispatch(lastfmActions.getArtist(artist.uri, artist.name.replace('&', 'and'))); } - dispatch(coreActions.artistLoaded(artist)); + dispatch(coreActions.artistLoaded(artist)); // Now go get our artist albums - // Now go get our artist albums if (full) { - request(dispatch, getState, 'artists/' + (0, _helpers.getFromUri)('artistid', uri) + '/albums?market=' + getState().spotify.country).then(function (response) { + request(dispatch, getState, "artists/".concat(Object(_util_helpers__WEBPACK_IMPORTED_MODULE_2__["getFromUri"])('artistid', uri), "/albums?market=").concat(getState().spotify.country)).then(function (response) { dispatch({ type: 'SPOTIFY_ARTIST_ALBUMS_LOADED', artist_uri: uri, @@ -107496,26 +108964,28 @@ function getArtist(uri) { }); }; } - function getArtists(uris) { return function (dispatch, getState) { // now get all the artists for this album (full objects) var ids = ''; + for (var i = 0; i < uris.length; i++) { if (ids != '') ids += ','; - ids += (0, _helpers.getFromUri)('artistid', uris[i]); + ids += Object(_util_helpers__WEBPACK_IMPORTED_MODULE_2__["getFromUri"])('artistid', uris[i]); } - request(dispatch, getState, 'artists/?ids=' + ids).then(function (response) { + request(dispatch, getState, "artists/?ids=".concat(ids)).then(function (response) { for (var i = i; i < response.length; i++) { var artist = response; + for (var i = 0; i < artist.albums.length; i++) { dispatch({ type: 'ALBUM_LOADED', album: artist.albums[i] }); } - artist.albums_uris = (0, _arrays.arrayOf)('uri', artist.albums); + + artist.albums_uris = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_1__["arrayOf"])('uri', artist.albums); artist.albums_more = artist.albums.next; dispatch(coreActions.artistLoaded(artist)); } @@ -107523,12 +108993,11 @@ function getArtists(uris) { dispatch(coreActions.handleException('Could not load artists', error)); }); }; -} +} // Used to get images for non-Spotify artists -// Used to get images for non-Spotify artists function getArtistImages(artist) { return function (dispatch, getState) { - request(dispatch, getState, 'search?q=' + artist.name + '&type=artist').then(function (response) { + request(dispatch, getState, "search?q=".concat(artist.name, "&type=artist")).then(function (response) { if (response.artists.items.length > 0) { var updatedArtist = { uri: artist.uri, @@ -107541,21 +109010,16 @@ function getArtistImages(artist) { }); }; } - function playArtistTopTracks(uri) { return function (dispatch, getState) { - var artists = getState().core.artists; - - // Do we have this artist (and their tracks) in our index already? + var artists = getState().core.artists; // Do we have this artist (and their tracks) in our index already? if (typeof artists[uri] !== 'undefined' && typeof artists[uri].tracks !== 'undefined') { - var uris = (0, _arrays.arrayOf)('uri', artists[uri].tracks); - dispatch(mopidyActions.playURIs(uris, uri)); - - // We need to load the artist's top tracks first + var uris = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_1__["arrayOf"])('uri', artists[uri].tracks); + dispatch(mopidyActions.playURIs(uris, uri)); // We need to load the artist's top tracks first } else { - request(dispatch, getState, 'artists/' + (0, _helpers.getFromUri)('artistid', uri) + '/top-tracks?country=' + getState().spotify.country).then(function (response) { - var uris = (0, _arrays.arrayOf)('uri', response.tracks); + request(dispatch, getState, "artists/".concat(Object(_util_helpers__WEBPACK_IMPORTED_MODULE_2__["getFromUri"])('artistid', uri), "/top-tracks?country=").concat(getState().spotify.country)).then(function (response) { + var uris = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_1__["arrayOf"])('uri', response.tracks); dispatch(mopidyActions.playURIs(uris, uri)); }, function (error) { dispatch(coreActions.handleException('Could not play artist\'s top tracks', error)); @@ -107563,7 +109027,6 @@ function playArtistTopTracks(uri) { } }; } - /** * =============================================================== USER(S) ============== * ====================================================================================== @@ -107571,33 +109034,32 @@ function playArtistTopTracks(uri) { function getUser(uri) { return function (dispatch, getState) { - request(dispatch, getState, 'users/' + (0, _helpers.getFromUri)('userid', uri)).then(function (response) { - dispatch(coreActions.userLoaded((0, _format.formatUser)(response))); + request(dispatch, getState, "users/".concat(Object(_util_helpers__WEBPACK_IMPORTED_MODULE_2__["getFromUri"])('userid', uri))).then(function (response) { + dispatch(coreActions.userLoaded(Object(_util_format__WEBPACK_IMPORTED_MODULE_3__["formatUser"])(response))); }, function (error) { dispatch(coreActions.handleException('Could not load user', error)); }); }; } - function getUserPlaylists(uri) { return function (dispatch, getState) { // get the first page of playlists - request(dispatch, getState, 'users/' + (0, _helpers.getFromUri)('userid', uri) + '/playlists?limit=40').then(function (response) { + request(dispatch, getState, "users/".concat(Object(_util_helpers__WEBPACK_IMPORTED_MODULE_2__["getFromUri"])('userid', uri), "/playlists?limit=40")).then(function (response) { var playlists = []; - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; + + var _iterator = _createForOfIteratorHelper(response.items), + _step; try { - for (var _iterator = response.items[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + for (_iterator.s(); !(_step = _iterator.n()).done;) { var raw_playlist = _step.value; - var can_edit = false; + if (getState().spotify.me && raw_playlist.owner.id == getState().spotify.me.id) { can_edit = true; } - var playlist = _extends({}, (0, _format.formatPlaylist)(raw_playlist), { + var playlist = _objectSpread(_objectSpread({}, Object(_util_format__WEBPACK_IMPORTED_MODULE_3__["formatPlaylist"])(raw_playlist)), {}, { can_edit: can_edit, tracks_total: raw_playlist.tracks.total }); @@ -107605,18 +109067,9 @@ function getUserPlaylists(uri) { playlists.push(playlist); } } catch (err) { - _didIteratorError = true; - _iteratorError = err; + _iterator.e(err); } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } + _iterator.f(); } dispatch(coreActions.userPlaylistsLoaded(uri, playlists, response.next, response.total)); @@ -107625,7 +109078,6 @@ function getUserPlaylists(uri) { }); }; } - /** * =============================================================== ALBUM(S) ============= * ====================================================================================== @@ -107636,23 +109088,23 @@ function getUserPlaylists(uri) { * * @oaram uri string * */ + function getAlbum(uri) { return function (dispatch, getState) { // get the album - request(dispatch, getState, 'albums/' + (0, _helpers.getFromUri)('albumid', uri)).then(function (response) { + request(dispatch, getState, "albums/".concat(Object(_util_helpers__WEBPACK_IMPORTED_MODULE_2__["getFromUri"])('albumid', uri))).then(function (response) { // dispatch our loaded artists (simple objects) dispatch(coreActions.artistsLoaded(response.artists)); - var tracks = Object.assign([], response.tracks.items); - var album = _extends({}, (0, _format.formatAlbum)(response), { - artists_uris: (0, _arrays.arrayOf)('uri', response.artists), - tracks_uris: (0, _arrays.arrayOf)('uri', tracks), + var album = _objectSpread(_objectSpread({}, Object(_util_format__WEBPACK_IMPORTED_MODULE_3__["formatAlbum"])(response)), {}, { + artists_uris: Object(_util_arrays__WEBPACK_IMPORTED_MODULE_1__["arrayOf"])('uri', response.artists), + tracks_uris: Object(_util_arrays__WEBPACK_IMPORTED_MODULE_1__["arrayOf"])('uri', tracks), tracks_more: response.tracks.next, tracks_total: response.tracks.total - }); + }); // add our album to all the tracks + - // add our album to all the tracks for (var i = 0; i < tracks.length; i++) { tracks[i].album = { name: album.name, @@ -107661,17 +109113,17 @@ function getAlbum(uri) { } dispatch(coreActions.albumLoaded(album)); - dispatch(coreActions.tracksLoaded(tracks)); - - // now get all the artists for this album (full objects) + dispatch(coreActions.tracksLoaded(tracks)); // now get all the artists for this album (full objects) // we do this to get the artist artwork - var artist_ids = []; - for (var i = 0; i < response.artists.length; i++) { - artist_ids.push((0, _helpers.getFromUri)('artistid', response.artists[i].uri)); - } - // get all album artists as full objects - request(dispatch, getState, 'artists/?ids=' + artist_ids).then(function (response) { + var artist_ids = []; + + for (var i = 0; i < response.artists.length; i++) { + artist_ids.push(Object(_util_helpers__WEBPACK_IMPORTED_MODULE_2__["getFromUri"])('artistid', response.artists[i].uri)); + } // get all album artists as full objects + + + request(dispatch, getState, "artists/?ids=".concat(artist_ids)).then(function (response) { dispatch(coreActions.artistsLoaded(response.artists)); }, function (error) { dispatch(coreActions.handleException('Could not load album\'s artists', error)); @@ -107681,7 +109133,6 @@ function getAlbum(uri) { }); }; } - /** * =============================================================== PLAYLIST(S) ========== * ====================================================================================== @@ -107692,72 +109143,69 @@ function createPlaylist(name, description, is_public, is_collaborative) { var data = { name: name, description: description, - public: is_public, + "public": is_public, collaborative: is_collaborative }; - - request(dispatch, getState, 'users/' + getState().spotify.me.id + '/playlists/', 'POST', data).then(function (response) { + request(dispatch, getState, "users/".concat(getState().spotify.me.id, "/playlists/"), 'POST', data).then(function (response) { dispatch({ type: 'PLAYLIST_LOADED', key: response.uri, - playlist: _extends({}, response, { + playlist: _objectSpread(_objectSpread({}, response), {}, { can_edit: true, tracks: [], tracks_more: null, tracks_total: 0 }) }); - dispatch({ type: 'LIBRARY_PLAYLISTS_LOADED', uris: [response.uri] }); - - dispatch(uiActions.createNotification({ content: 'Created playlist' })); + dispatch(uiActions.createNotification({ + content: 'Created playlist' + })); }, function (error) { dispatch(coreActions.handleException('Could not create playlist', error)); }); }; } - function savePlaylist(uri, name, description, is_public, is_collaborative, image) { return function (dispatch, getState) { var data = { name: name, description: description, - public: is_public, + "public": is_public, collaborative: is_collaborative - }; + }; // Update the playlist fields - // Update the playlist fields - request(dispatch, getState, 'users/' + getState().spotify.me.id + '/playlists/' + (0, _helpers.getFromUri)('playlistid', uri), 'PUT', data).then(function (response) { - dispatch(uiActions.createNotification({ level: 'warning', content: 'Playlist saved' })); + request(dispatch, getState, "users/".concat(getState().spotify.me.id, "/playlists/").concat(Object(_util_helpers__WEBPACK_IMPORTED_MODULE_2__["getFromUri"])('playlistid', uri)), 'PUT', data).then(function (response) { + dispatch(uiActions.createNotification({ + level: 'warning', + content: 'Playlist saved' + })); // Save the image - // Save the image if (image) { - request(dispatch, getState, 'users/' + getState().spotify.me.id + '/playlists/' + (0, _helpers.getFromUri)('playlistid', uri) + '/images', 'PUT', image).then(function (response) { + request(dispatch, getState, "users/".concat(getState().spotify.me.id, "/playlists/").concat(Object(_util_helpers__WEBPACK_IMPORTED_MODULE_2__["getFromUri"])('playlistid', uri), "/images"), 'PUT', image).then(function (response) { dispatch({ type: 'PLAYLIST_UPDATED', key: uri, playlist: { name: name, - public: is_public, + "public": is_public, collaborative: is_collaborative, description: description } }); }, function (error) { dispatch(coreActions.handleException('Could not save image', error)); - }); - - // No image, so we're done here + }); // No image, so we're done here } else { dispatch({ type: 'PLAYLIST_UPDATED', key: uri, playlist: { name: name, - public: is_public, + "public": is_public, collaborative: is_collaborative, description: description } @@ -107768,13 +109216,13 @@ function savePlaylist(uri, name, description, is_public, is_collaborative, image }); }; } - function getPlaylist(uri) { return function (dispatch, getState) { // get the main playlist object - request(dispatch, getState, 'playlists/' + (0, _helpers.getFromUri)('playlistid', uri) + '?market=' + getState().spotify.country).then(function (response) { + request(dispatch, getState, "playlists/".concat(Object(_util_helpers__WEBPACK_IMPORTED_MODULE_2__["getFromUri"])('playlistid', uri), "?market=").concat(getState().spotify.country)).then(function (response) { // convert links in description var description = null; + if (response.description) { description = response.description; description = description.split(' 3 && arguments[3] !== undefined ? arguments[3] : false; var at_position = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null; var offset = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0; - return function (dispatch, getState) { dispatch(uiActions.startProcess('SPOTIFY_GET_ALL_PLAYLIST_TRACKS_PROCESSOR', 'Loading playlist tracks', { uri: uri, - next: 'playlists/' + (0, _helpers.getFromUri)('playlistid', uri) + '/tracks?market=' + getState().spotify.country, + next: "playlists/".concat(Object(_util_helpers__WEBPACK_IMPORTED_MODULE_2__["getFromUri"])('playlistid', uri), "/tracks?market=").concat(getState().spotify.country), shuffle: shuffle, play_next: play_next, at_position: at_position, @@ -107888,7 +109334,6 @@ function getAllPlaylistTracks(uri) { })); }; } - function getAllPlaylistTracksProcessor(data) { return function (dispatch, getState) { request(dispatch, getState, data.next).then(function (response) { @@ -107900,17 +109345,17 @@ function getAllPlaylistTracksProcessor(data) { dispatch(uiActions.processCancelled('SPOTIFY_GET_ALL_PLAYLIST_TRACKS_PROCESSOR')); return false; } - } + } // Add on our new batch of loaded tracks + - // Add on our new batch of loaded tracks var tracks = []; var new_tracks = []; - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; + + var _iterator2 = _createForOfIteratorHelper(response.items), + _step2; try { - for (var _iterator2 = response.items[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { var item = _step2.value; if (item.track) { @@ -107918,51 +109363,43 @@ function getAllPlaylistTracksProcessor(data) { } } } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; + _iterator2.e(err); } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2.return) { - _iterator2.return(); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } + _iterator2.f(); } if (data.tracks) { tracks = [].concat(_toConsumableArray(data.tracks), new_tracks); } else { tracks = new_tracks; - } + } // We got a next link, so we've got more work to be done + - // We got a next link, so we've got more work to be done if (response.next) { - dispatch(uiActions.updateProcess('SPOTIFY_GET_ALL_PLAYLIST_TRACKS_PROCESSOR', 'Loading ' + (response.total - tracks.length) + ' playlist tracks', _extends({}, data, { + dispatch(uiActions.updateProcess('SPOTIFY_GET_ALL_PLAYLIST_TRACKS_PROCESSOR', "Loading ".concat(response.total - tracks.length, " playlist tracks"), _objectSpread(_objectSpread({}, data), {}, { next: response.next, total: response.total, remaining: response.total - tracks.length }))); - dispatch(uiActions.runProcess('SPOTIFY_GET_ALL_PLAYLIST_TRACKS_PROCESSOR', _extends({}, data, { + dispatch(uiActions.runProcess('SPOTIFY_GET_ALL_PLAYLIST_TRACKS_PROCESSOR', _objectSpread(_objectSpread({}, data), {}, { next: response.next, tracks: tracks }))); } else { // Seeing as we now have all the playlist's tracks, add them to the playlist we have // in our index for quicker reuse next time - dispatch(coreActions.loadedMore('playlist', data.uri, 'track', { tracks: tracks })); - - var uris = (0, _arrays.arrayOf)('uri', tracks); + dispatch(coreActions.loadedMore('playlist', data.uri, 'track', { + tracks: tracks + })); + var uris = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_1__["arrayOf"])('uri', tracks); if (data.shuffle) { - uris = (0, _arrays.shuffle)(uris); - } - - // We don't bother "finishing", we just want it "finished" immediately + uris = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_1__["shuffle"])(uris); + } // We don't bother "finishing", we just want it "finished" immediately // This bypasses the fade transition for a more smooth transition between two // processes that flow together + + dispatch(uiActions.removeProcess('SPOTIFY_GET_ALL_PLAYLIST_TRACKS_PROCESSOR')); if (data.callback_action == 'enqueue') { @@ -107976,10 +109413,11 @@ function getAllPlaylistTracksProcessor(data) { }); }; } - function addTracksToPlaylist(uri, tracks_uris) { return function (dispatch, getState) { - request(dispatch, getState, 'playlists/' + (0, _helpers.getFromUri)('playlistid', uri) + '/tracks', 'POST', { uris: tracks_uris }).then(function (response) { + request(dispatch, getState, "playlists/".concat(Object(_util_helpers__WEBPACK_IMPORTED_MODULE_2__["getFromUri"])('playlistid', uri), "/tracks"), 'POST', { + uris: tracks_uris + }).then(function (response) { dispatch({ type: 'PLAYLIST_TRACKS_ADDED', key: uri, @@ -107991,10 +109429,12 @@ function addTracksToPlaylist(uri, tracks_uris) { }); }; } - function deleteTracksFromPlaylist(uri, snapshot_id, tracks_indexes) { return function (dispatch, getState) { - request(dispatch, getState, 'playlists/' + (0, _helpers.getFromUri)('playlistid', uri) + '/tracks', 'DELETE', { snapshot_id: snapshot_id, positions: tracks_indexes }).then(function (response) { + request(dispatch, getState, "playlists/".concat(Object(_util_helpers__WEBPACK_IMPORTED_MODULE_2__["getFromUri"])('playlistid', uri), "/tracks"), 'DELETE', { + snapshot_id: snapshot_id, + positions: tracks_indexes + }).then(function (response) { dispatch({ type: 'PLAYLIST_TRACKS_REMOVED', key: uri, @@ -108006,11 +109446,14 @@ function deleteTracksFromPlaylist(uri, snapshot_id, tracks_indexes) { }); }; } - function reorderPlaylistTracks(uri, range_start, range_length, insert_before, snapshot_id) { return function (dispatch, getState) { - request(dispatch, getState, 'playlists/' + (0, _helpers.getFromUri)('playlistid', uri) + '/tracks', 'PUT', { - uri: uri, range_start: range_start, range_length: range_length, insert_before: insert_before, snapshot_id: snapshot_id + request(dispatch, getState, "playlists/".concat(Object(_util_helpers__WEBPACK_IMPORTED_MODULE_2__["getFromUri"])('playlistid', uri), "/tracks"), 'PUT', { + uri: uri, + range_start: range_start, + range_length: range_length, + insert_before: insert_before, + snapshot_id: snapshot_id }).then(function (response) { dispatch({ type: 'PLAYLIST_TRACKS_REORDERED', @@ -108025,7 +109468,6 @@ function reorderPlaylistTracks(uri, range_start, range_length, insert_before, sn }); }; } - /** * =============================================================== LIBRARY ============== * ====================================================================================== @@ -108036,7 +109478,6 @@ function flushLibrary() { type: 'SPOTIFY_FLUSH_LIBRARY' }; } - /** * Playlists * */ @@ -108046,26 +109487,26 @@ function getLibraryPlaylists() { var last_run = getState().ui.processes.SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR; if (!last_run) { - dispatch(uiActions.startProcess('SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR', 'Loading Spotify playlists', { next: 'me/playlists?limit=50' })); + dispatch(uiActions.startProcess('SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR', 'Loading Spotify playlists', { + next: 'me/playlists?limit=50' + })); } else if (last_run.status == 'cancelled') { - dispatch(uiActions.resumeProcess('SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR')); - - // We've already finished, but the status has been flushed + dispatch(uiActions.resumeProcess('SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR')); // We've already finished, but the status has been flushed } else if (last_run.status == 'finished' && !getState().spotify.library_playlists_loaded_all) { - dispatch(uiActions.startProcess('SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR', 'Loading Spotify playlists', { next: 'me/playlists?limit=50' })); + dispatch(uiActions.startProcess('SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR', 'Loading Spotify playlists', { + next: 'me/playlists?limit=50' + })); } }; } - function getLibraryPlaylistsProcessor(data) { return function (dispatch, getState) { request(dispatch, getState, data.next).then(function (response) { dispatch({ type: 'SPOTIFY_LIBRARY_PLAYLISTS_LOADED', playlists: response.items - }); + }); // Check to see if we've been cancelled - // Check to see if we've been cancelled if (getState().ui.processes.SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR !== undefined) { var processor = getState().ui.processes.SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR; @@ -108073,30 +109514,32 @@ function getLibraryPlaylistsProcessor(data) { dispatch(uiActions.processCancelled('SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR')); return false; } - } + } // We got a next link, so we've got more work to be done + - // We got a next link, so we've got more work to be done if (response.next) { var total = response.total; - var loaded = getState().spotify.library_playlists.length; var remaining = total - loaded; - dispatch(uiActions.updateProcess('SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR', 'Loading ' + remaining + ' Spotify playlists', { + dispatch(uiActions.updateProcess('SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR', "Loading ".concat(remaining, " Spotify playlists"), { next: response.next, total: response.total, remaining: remaining })); - dispatch(uiActions.runProcess('SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR', { next: response.next })); + dispatch(uiActions.runProcess('SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR', { + next: response.next + })); } else { dispatch(uiActions.processFinished('SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR')); - dispatch({ type: 'SPOTIFY_LIBRARY_PLAYLISTS_LOADED_ALL' }); + dispatch({ + type: 'SPOTIFY_LIBRARY_PLAYLISTS_LOADED_ALL' + }); } }, function (error) { dispatch(coreActions.handleException('Could not load library playlists', error)); }); }; } - /** * Artists * */ @@ -108106,36 +109549,38 @@ function getLibraryArtists() { var last_run = getState().ui.processes.SPOTIFY_GET_LIBRARY_ARTISTS_PROCESSOR; if (!last_run) { - dispatch(uiActions.startProcess('SPOTIFY_GET_LIBRARY_ARTISTS_PROCESSOR', 'Loading Spotify artists', { next: 'me/following?type=artist&limit=50' })); + dispatch(uiActions.startProcess('SPOTIFY_GET_LIBRARY_ARTISTS_PROCESSOR', 'Loading Spotify artists', { + next: 'me/following?type=artist&limit=50' + })); } else if (last_run.status == 'cancelled') { - dispatch(uiActions.resumeProcess('SPOTIFY_GET_LIBRARY_ARTISTS_PROCESSOR')); - - // We've already finished, but the status has been flushed + dispatch(uiActions.resumeProcess('SPOTIFY_GET_LIBRARY_ARTISTS_PROCESSOR')); // We've already finished, but the status has been flushed } else if (last_run.status == 'finished' && !getState().spotify.library_artists_loaded_all) { - dispatch(uiActions.startProcess('SPOTIFY_GET_LIBRARY_ARTISTS_PROCESSOR', 'Loading Spotify artists', { next: 'me/following?type=artist&limit=50' })); + dispatch(uiActions.startProcess('SPOTIFY_GET_LIBRARY_ARTISTS_PROCESSOR', 'Loading Spotify artists', { + next: 'me/following?type=artist&limit=50' + })); } }; } - function getLibraryArtistsProcessor(data) { return function (dispatch, getState) { request(dispatch, getState, data.next).then(function (response) { dispatch({ type: 'SPOTIFY_LIBRARY_ARTISTS_LOADED', artists: response.artists.items - }); - // We got a next link, so we've got more work to be done + }); // We got a next link, so we've got more work to be done + if (response.artists.next) { var total = response.artists.total; - var loaded = getState().spotify.library_artists.length; var remaining = total - loaded; - dispatch(uiActions.updateProcess('SPOTIFY_GET_LIBRARY_ARTISTS_PROCESSOR', 'Loading ' + remaining + ' Spotify artists', { + dispatch(uiActions.updateProcess('SPOTIFY_GET_LIBRARY_ARTISTS_PROCESSOR', "Loading ".concat(remaining, " Spotify artists"), { next: response.artists.next, total: response.artists.total, remaining: remaining })); - dispatch(uiActions.runProcess('SPOTIFY_GET_LIBRARY_ARTISTS_PROCESSOR', { next: response.artists.next })); + dispatch(uiActions.runProcess('SPOTIFY_GET_LIBRARY_ARTISTS_PROCESSOR', { + next: response.artists.next + })); } else { dispatch(uiActions.processFinished('SPOTIFY_GET_LIBRARY_ARTISTS_PROCESSOR')); } @@ -108144,7 +109589,6 @@ function getLibraryArtistsProcessor(data) { }); }; } - /** * ALbums * */ @@ -108154,26 +109598,28 @@ function getLibraryAlbums() { var last_run = getState().ui.processes.SPOTIFY_GET_LIBRARY_ALBUMS_PROCESSOR; if (!last_run) { - dispatch(uiActions.startProcess('SPOTIFY_GET_LIBRARY_ALBUMS_PROCESSOR', 'Loading Spotify albums', { next: 'me/albums?limit=50' })); + dispatch(uiActions.startProcess('SPOTIFY_GET_LIBRARY_ALBUMS_PROCESSOR', 'Loading Spotify albums', { + next: 'me/albums?limit=50' + })); } else if (last_run.status == 'cancelled') { - dispatch(uiActions.updateProcess('SPOTIFY_GET_LIBRARY_ALBUMS_PROCESSOR', 'Loading Spotify albums', { next: 'me/albums?limit=50' })); - - // We've already finished, but the status has been flushed + dispatch(uiActions.updateProcess('SPOTIFY_GET_LIBRARY_ALBUMS_PROCESSOR', 'Loading Spotify albums', { + next: 'me/albums?limit=50' + })); // We've already finished, but the status has been flushed } else if (last_run.status == 'finished' && !getState().spotify.library_albums_loaded_all) { - dispatch(uiActions.startProcess('SPOTIFY_GET_LIBRARY_ALBUMS_PROCESSOR', 'Loading Spotify albums', { next: 'me/albums?limit=50' })); + dispatch(uiActions.startProcess('SPOTIFY_GET_LIBRARY_ALBUMS_PROCESSOR', 'Loading Spotify albums', { + next: 'me/albums?limit=50' + })); } }; } - function getLibraryAlbumsProcessor(data) { return function (dispatch, getState) { request(dispatch, getState, data.next).then(function (response) { dispatch({ type: 'SPOTIFY_LIBRARY_ALBUMS_LOADED', albums: response.items - }); + }); // Check to see if we've been cancelled - // Check to see if we've been cancelled if (getState().ui.processes.SPOTIFY_GET_LIBRARY_ALBUMS_PROCESSOR !== undefined) { var processor = getState().ui.processes.SPOTIFY_GET_LIBRARY_ALBUMS_PROCESSOR; @@ -108181,20 +109627,21 @@ function getLibraryAlbumsProcessor(data) { dispatch(uiActions.processCancelled('SPOTIFY_GET_LIBRARY_ALBUMS_PROCESSOR')); return false; } - } + } // We got a next link, so we've got more work to be done + - // We got a next link, so we've got more work to be done if (response.next) { var total = response.total; - var loaded = getState().spotify.library_albums.length; var remaining = total - loaded; - dispatch(uiActions.updateProcess('SPOTIFY_GET_LIBRARY_ALBUMS_PROCESSOR', 'Loading ' + remaining + ' Spotify albums', { + dispatch(uiActions.updateProcess('SPOTIFY_GET_LIBRARY_ALBUMS_PROCESSOR', "Loading ".concat(remaining, " Spotify albums"), { next: response.next, total: response.total, remaining: remaining })); - dispatch(uiActions.runProcess('SPOTIFY_GET_LIBRARY_ALBUMS_PROCESSOR', { next: response.next })); + dispatch(uiActions.runProcess('SPOTIFY_GET_LIBRARY_ALBUMS_PROCESSOR', { + next: response.next + })); } else { dispatch(uiActions.processFinished('SPOTIFY_GET_LIBRARY_ALBUMS_PROCESSOR')); } @@ -108211,35 +109658,41 @@ function getLibraryAlbumsProcessor(data) { /*!***********************************************!*\ !*** ./src/js/services/spotify/middleware.js ***! \***********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react_ga__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-ga */ "./node_modules/react-ga/dist/esm/index.js"); +/* harmony import */ var js_sha256__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! js-sha256 */ "./node_modules/js-sha256/src/sha256.js"); +/* harmony import */ var js_sha256__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(js_sha256__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _util_arrays__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/arrays */ "./src/js/util/arrays.js"); +/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); +/* harmony import */ var _util_format__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../util/format */ "./src/js/util/format.js"); +function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function _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; } -Object.defineProperty(exports, "__esModule", { - value: true -}); -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; -var _reactGa = __webpack_require__(/*! react-ga */ "./node_modules/react-ga/dist/esm/index.js"); -var _reactGa2 = _interopRequireDefault(_reactGa); -var _jsSha = __webpack_require__(/*! js-sha256 */ "./node_modules/js-sha256/src/sha256.js"); - -var _arrays = __webpack_require__(/*! ../../util/arrays */ "./src/js/util/arrays.js"); - -var _helpers = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); - -var _format = __webpack_require__(/*! ../../util/format */ "./src/js/util/format.js"); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var coreActions = __webpack_require__(/*! ../core/actions */ "./src/js/services/core/actions.js"); + var uiActions = __webpack_require__(/*! ../ui/actions */ "./src/js/services/ui/actions.js"); + var spotifyActions = __webpack_require__(/*! ./actions */ "./src/js/services/spotify/actions.js"); + var pusherActions = __webpack_require__(/*! ../pusher/actions */ "./src/js/services/pusher/actions.js"); var SpotifyMiddleware = function () { @@ -108252,18 +109705,23 @@ var SpotifyMiddleware = function () { switch (action.type) { case 'SPOTIFY_AUTHORIZATION_GRANTED': if (store.getState().ui.allow_reporting) { - _reactGa2.default.event({ category: 'Spotify', action: 'Authorization granted' }); - } + react_ga__WEBPACK_IMPORTED_MODULE_0__["default"].event({ + category: 'Spotify', + action: 'Authorization granted' + }); + } // Flush out the previous user's library + - // Flush out the previous user's library store.dispatch(spotifyActions.flushLibrary()); - next(action); break; case 'SPOTIFY_AUTHORIZATION_REVOKED': if (store.getState().ui.allow_reporting) { - _reactGa2.default.event({ category: 'Spotify', action: 'Authorization revoked' }); + react_ga__WEBPACK_IMPORTED_MODULE_0__["default"].event({ + category: 'Spotify', + action: 'Authorization revoked' + }); } store.dispatch(uiActions.createNotification({ @@ -108276,42 +109734,45 @@ var SpotifyMiddleware = function () { new_window: true }] })); + next(action); // Now dispatch a getMe to get the backend-provided user - next(action); + store.dispatch(spotifyActions.getMe()); // Flush out the previous user's library - // Now dispatch a getMe to get the backend-provided user - store.dispatch(spotifyActions.getMe()); - - // Flush out the previous user's library store.dispatch(spotifyActions.flushLibrary()); - break; case 'SPOTIFY_IMPORT_AUTHORIZATION': - // Flush out the previous user's library - store.dispatch(spotifyActions.flushLibrary()); - - // Wait a few moments before we fetch, allowing the import to complete first + store.dispatch(spotifyActions.flushLibrary()); // Wait a few moments before we fetch, allowing the import to complete first // TODO: Use callbacks for better code accuracy + setTimeout(function () { store.dispatch(spotifyActions.getMe()); }, 100); - next(action); break; case 'SPOTIFY_RECOMMENDATIONS_LOADED': if (store.getState().ui.allow_reporting && action.seeds_uris) { - _reactGa2.default.event({ category: 'Spotify', action: 'Recommendations', label: action.seeds_uris.join(',') }); + react_ga__WEBPACK_IMPORTED_MODULE_0__["default"].event({ + category: 'Spotify', + action: 'Recommendations', + label: action.seeds_uris.join(',') + }); } + next(action); break; case 'SPOTIFY_USER_LOADED': if (store.getState().ui.allow_reporting && action.data) { - _reactGa2.default.event({ category: 'User', action: 'Load', label: action.data.uri }); + react_ga__WEBPACK_IMPORTED_MODULE_0__["default"].event({ + category: 'User', + action: 'Load', + label: action.data.uri + }); } + next(action); break; @@ -108320,7 +109781,8 @@ var SpotifyMiddleware = function () { break; case 'SPOTIFY_REMOVE_PLAYLIST_TRACKS': - var playlist = _extends({}, store.getState().core.playlists[action.key]); + var playlist = _objectSpread({}, store.getState().core.playlists[action.key]); + store.dispatch(spotifyActions.deleteTracksFromPlaylist(playlist.uri, playlist.snapshot_id, action.tracks_indexes)); break; @@ -108340,14 +109802,12 @@ var SpotifyMiddleware = function () { store.dispatch({ type: 'ALBUMS_LOADED', albums: action.data.albums.items - }); + }); // Collate result into the three key values we want - // Collate result into the three key values we want - action.uris = (0, _arrays.arrayOf)('uri', action.data.albums.items); + action.uris = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_2__["arrayOf"])('uri', action.data.albums.items); action.more = action.data.albums.next; - action.total = action.data.albums.total; + action.total = action.data.albums.total; // And pass on to our reducer - // And pass on to our reducer next(action); break; @@ -108356,7 +109816,7 @@ var SpotifyMiddleware = function () { store.dispatch({ type: 'ARTIST_ALBUMS_LOADED', artist_uri: action.artist_uri, - albums_uris: (0, _arrays.arrayOf)('uri', action.data.items), + albums_uris: Object(_util_arrays__WEBPACK_IMPORTED_MODULE_2__["arrayOf"])('uri', action.data.items), more: action.data.next, total: action.data.total }); @@ -108364,14 +109824,14 @@ var SpotifyMiddleware = function () { case 'SPOTIFY_USER_PLAYLISTS_LOADED': var playlists = []; + for (var i = 0; i < action.data.items.length; i++) { - var playlist = _extends({}, action.data.items[i], { + var playlist = _objectSpread(_objectSpread({}, action.data.items[i]), {}, { tracks_total: action.data.items[i].tracks.total - }); + }); // remove our tracklist. It'll overwrite any full records otherwise + - // remove our tracklist. It'll overwrite any full records otherwise delete playlist.tracks; - playlists.push(playlist); } @@ -108379,11 +109839,10 @@ var SpotifyMiddleware = function () { type: 'PLAYLISTS_LOADED', playlists: playlists }); - store.dispatch({ type: 'USER_PLAYLISTS_LOADED', key: action.key, - uris: (0, _arrays.arrayOf)('uri', playlists), + uris: Object(_util_arrays__WEBPACK_IMPORTED_MODULE_2__["arrayOf"])('uri', playlists), more: action.data.next, total: action.data.total }); @@ -108420,15 +109879,12 @@ var SpotifyMiddleware = function () { case 'SPOTIFY_CATEGORY_PLAYLISTS_LOADED': store.dispatch(coreActions.playlistsLoaded(action.playlists.items)); - - action.uris = (0, _arrays.arrayOf)('uri', action.playlists.items); + action.uris = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_2__["arrayOf"])('uri', action.playlists.items); action.more = action.playlists.next; action.total = action.playlists.total; - delete action.playlists; - - // Upgrade our URIs - action.uris = (0, _helpers.upgradeSpotifyPlaylistUris)(action.uris); + delete action.playlists; // Upgrade our URIs + action.uris = Object(_util_helpers__WEBPACK_IMPORTED_MODULE_3__["upgradeSpotifyPlaylistUris"])(action.uris); next(action); break; @@ -108448,46 +109904,37 @@ var SpotifyMiddleware = function () { break; case 'SPOTIFY_CATEGORIES_LOADED': - var categories_index = _extends({}, spotify.categories); + var categories_index = _objectSpread({}, spotify.categories); + var categories_loaded = []; - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; + var _iterator = _createForOfIteratorHelper(action.categories), + _step; try { - for (var _iterator = action.categories[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + for (_iterator.s(); !(_step = _iterator.n()).done;) { var raw_category = _step.value; - var category = _extends({}, raw_category); + var category = _objectSpread({}, raw_category); if (!category.uri) { - category.uri = 'category:' + category.id; + category.uri = "category:".concat(category.id); } if (categories_index[category.uri] !== undefined) { - category = _extends({}, categories_index[category.uri], category); + category = _objectSpread(_objectSpread({}, categories_index[category.uri]), category); } if (category.icons) { - category.icons = (0, _format.formatImages)(category.icons); + category.icons = Object(_util_format__WEBPACK_IMPORTED_MODULE_4__["formatImages"])(category.icons); } categories_loaded.push(category); } } catch (err) { - _didIteratorError = true; - _iteratorError = err; + _iterator.e(err); } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } + _iterator.f(); } action.categories = categories_loaded; @@ -108496,6 +109943,7 @@ var SpotifyMiddleware = function () { case 'SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR': var playlistProcessor = store.getState().ui.processes.SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR || {}; + switch (playlistProcessor.status) { case 'cancelling': store.dispatch(uiActions.processCancelled('SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR')); @@ -108508,58 +109956,48 @@ var SpotifyMiddleware = function () { store.dispatch(spotifyActions.getLibraryPlaylistsProcessor(action.data)); break; } + break; case 'SPOTIFY_LIBRARY_PLAYLISTS_LOADED': var playlists = []; - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; + + var _iterator2 = _createForOfIteratorHelper(action.playlists), + _step2; try { - for (var _iterator2 = action.playlists[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { var playlist = _step2.value; - Object.assign(playlist, { uri: playlist.uri.replace(/spotify:user:([^:]*?):/i, 'spotify:'), can_edit: store.getState().spotify.me && store.getState().spotify.me.id == playlist.owner.id, source: 'spotify', - in_library: true, // assumed because we asked for library items + in_library: true, + // assumed because we asked for library items tracks_total: playlist.tracks.total - }); + }); // remove our tracklist. It'll overwrite any full records otherwise - // remove our tracklist. It'll overwrite any full records otherwise delete playlist.tracks; - playlists.push(playlist); } } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; + _iterator2.e(err); } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2.return) { - _iterator2.return(); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } + _iterator2.f(); } store.dispatch({ type: 'PLAYLISTS_LOADED', playlists: playlists - }); + }); // Append our action with the uris. This gets handed down to subsequent middleware and our reducer. - // Append our action with the uris. This gets handed down to subsequent middleware and our reducer. - action.uris = (0, _arrays.arrayOf)('uri', playlists); + action.uris = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_2__["arrayOf"])('uri', playlists); next(action); break; case 'SPOTIFY_GET_LIBRARY_ARTISTS_PROCESSOR': var artistsProcessor = store.getState().ui.processes.SPOTIFY_GET_LIBRARY_ARTISTS_PROCESSOR || {}; + switch (artistsProcessor.status) { case 'cancelling': store.dispatch(uiActions.processCancelled('SPOTIFY_GET_LIBRARY_ARTISTS_PROCESSOR')); @@ -108572,29 +110010,32 @@ var SpotifyMiddleware = function () { store.dispatch(spotifyActions.getLibraryArtistsProcessor(action.data)); break; } + break; case 'SPOTIFY_LIBRARY_ARTISTS_LOADED': var artists = []; + for (var i = 0; i < action.artists.length; i++) { - artists.push(_extends({}, action.artists[i], { + artists.push(_objectSpread(_objectSpread({}, action.artists[i]), {}, { source: 'spotify', in_library: true // assumed because we asked for library items })); } + store.dispatch({ type: 'ARTISTS_LOADED', artists: artists - }); + }); // Append our action with the uris. This gets handed down to subsequent middleware and our reducer. - // Append our action with the uris. This gets handed down to subsequent middleware and our reducer. - action.uris = (0, _arrays.arrayOf)('uri', artists); + action.uris = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_2__["arrayOf"])('uri', artists); next(action); break; case 'SPOTIFY_GET_LIBRARY_ALBUMS_PROCESSOR': var albumsProcessor = store.getState().ui.processes.SPOTIFY_GET_LIBRARY_ALBUMS_PROCESSOR || {}; + switch (albumsProcessor.status) { case 'cancelling': store.dispatch(uiActions.processCancelled('SPOTIFY_GET_LIBRARY_ALBUMS_PROCESSOR')); @@ -108607,6 +110048,7 @@ var SpotifyMiddleware = function () { store.dispatch(spotifyActions.getLibraryAlbumsProcessor(action.data)); break; } + break; case 'SPOTIFY_GET_LIBRARY_TRACKS_AND_PLAY_PROCESSOR': @@ -108619,9 +110061,11 @@ var SpotifyMiddleware = function () { case 'SPOTIFY_LIBRARY_ALBUMS_LOADED': var albums = []; + for (var i = 0; i < action.albums.length; i++) { - albums.push(_extends({}, action.albums[i].album, { - in_library: true, // assumed because we asked for library items + albums.push(_objectSpread(_objectSpread({}, action.albums[i].album), {}, { + in_library: true, + // assumed because we asked for library items source: 'spotify', added_at: action.albums[i].added_at, tracks: action.albums[i].album.tracks.items, @@ -108633,10 +110077,9 @@ var SpotifyMiddleware = function () { store.dispatch({ type: 'ALBUMS_LOADED', albums: albums - }); + }); // Append our action with the uris. This gets handed down to subsequent middleware and our reducer. - // Append our action with the uris. This gets handed down to subsequent middleware and our reducer. - action.uris = (0, _arrays.arrayOf)('uri', albums); + action.uris = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_2__["arrayOf"])('uri', albums); next(action); break; @@ -108646,15 +110089,17 @@ var SpotifyMiddleware = function () { type: 'ARTISTS_LOADED', artists: action.artists }); - action.artists_uris = (0, _arrays.arrayOf)('uri', action.artists); + action.artists_uris = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_2__["arrayOf"])('uri', action.artists); } + if (action.tracks.length > 0) { store.dispatch({ type: 'TRACKS_LOADED', tracks: action.tracks }); - action.tracks_uris = (0, _arrays.arrayOf)('uri', action.tracks); + action.tracks_uris = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_2__["arrayOf"])('uri', action.tracks); } + next(action); break; @@ -108666,6 +110111,7 @@ var SpotifyMiddleware = function () { tracks: action.data.items }); } + next(action); break; @@ -108693,46 +110139,42 @@ var SpotifyMiddleware = function () { store.dispatch({ type: 'SPOTIFY_SEARCH_RESULTS_LOADED', context: 'tracks', - results: (0, _format.formatTracks)(action.data.tracks.items), + results: Object(_util_format__WEBPACK_IMPORTED_MODULE_4__["formatTracks"])(action.data.tracks.items), more: action.data.tracks.next }); break; case 'SPOTIFY_SEARCH_RESULTS_LOADED_MORE_ARTISTS': - store.dispatch({ type: 'ARTISTS_LOADED', artists: action.data.artists.items }); - store.dispatch({ type: 'SPOTIFY_SEARCH_RESULTS_LOADED', context: 'artists', - results: (0, _arrays.arrayOf)('uri', action.data.playlists.items), + results: Object(_util_arrays__WEBPACK_IMPORTED_MODULE_2__["arrayOf"])('uri', action.data.playlists.items), more: action.data.playlists.next }); break; case 'SPOTIFY_SEARCH_RESULTS_LOADED_MORE_ALBUMS': - store.dispatch({ type: 'ALBUMS_LOADED', albums: action.data.albums.items }); - store.dispatch({ type: 'SPOTIFY_SEARCH_RESULTS_LOADED', context: 'playlists', - results: (0, _arrays.arrayOf)('uri', action.data.albums.items), + results: Object(_util_arrays__WEBPACK_IMPORTED_MODULE_2__["arrayOf"])('uri', action.data.albums.items), more: action.data.albums.next }); break; case 'SPOTIFY_SEARCH_RESULTS_LOADED_MORE_PLAYLISTS': - var playlists = []; + for (var i = 0; i < action.data.playlists.items.length; i++) { - playlists.push(_extends({}, action.data.playlists.items[i], { + playlists.push(_objectSpread(_objectSpread({}, action.data.playlists.items[i]), {}, { tracks_total: action.data.playlists.items[i].tracks.total })); } @@ -108741,35 +110183,40 @@ var SpotifyMiddleware = function () { type: 'PLAYLISTS_LOADED', playlists: playlists }); - store.dispatch({ type: 'SPOTIFY_SEARCH_RESULTS_LOADED', context: 'playlists', - results: (0, _arrays.arrayOf)('uri', action.data.playlists.items), + results: Object(_util_arrays__WEBPACK_IMPORTED_MODULE_2__["arrayOf"])('uri', action.data.playlists.items), more: action.data.playlists.next }); break; case 'SPOTIFY_ME_LOADED': - var me = _extends({}, (0, _format.formatUser)(action.me)); + var me = _objectSpread({}, Object(_util_format__WEBPACK_IMPORTED_MODULE_4__["formatUser"])(action.me)); // We are Anonymous currently so use 'me' name as my Pusher username + - // We are Anonymous currently so use 'me' name as my Pusher username if (store.getState().pusher.username == 'Anonymous') { store.dispatch(pusherActions.setUsername(me.name)); } if (store.getState().ui.allow_reporting) { - var hashed_username = (0, _jsSha.sha256)(me.id); - _reactGa2.default.set({ userId: hashed_username }); - _reactGa2.default.event({ category: 'Spotify', action: 'Authorization verified', label: hashed_username }); + var hashed_username = Object(js_sha256__WEBPACK_IMPORTED_MODULE_1__["sha256"])(me.id); + react_ga__WEBPACK_IMPORTED_MODULE_0__["default"].set({ + userId: hashed_username + }); + react_ga__WEBPACK_IMPORTED_MODULE_0__["default"].event({ + category: 'Spotify', + action: 'Authorization verified', + label: hashed_username + }); } store.dispatch(coreActions.userLoaded(me)); action.me = me; next(action); break; - // This action is irrelevant to us, pass it on to the next middleware + default: return next(action); } @@ -108778,7 +110225,7 @@ var SpotifyMiddleware = function () { }; }(); -exports.default = SpotifyMiddleware; +/* harmony default export */ __webpack_exports__["default"] = (SpotifyMiddleware); /***/ }), @@ -108786,37 +110233,47 @@ exports.default = SpotifyMiddleware; /*!********************************************!*\ !*** ./src/js/services/spotify/reducer.js ***! \********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return reducer; }); +/* harmony import */ var _util_arrays__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../util/arrays */ "./src/js/util/arrays.js"); +/* harmony import */ var _util_format__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/format */ "./src/js/util/format.js"); +function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function _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; } -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - -exports.default = reducer; - -var _arrays = __webpack_require__(/*! ../../util/arrays */ "./src/js/util/arrays.js"); - -var _format = __webpack_require__(/*! ../../util/format */ "./src/js/util/format.js"); - -function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } function reducer() { var spotify = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - var action = arguments[1]; + var action = arguments.length > 1 ? arguments[1] : undefined; switch (action.type) { case 'SPOTIFY_SET': - return _extends({}, spotify, action.data); + return _objectSpread(_objectSpread({}, spotify), action.data); case 'PUSHER_SPOTIFY_TOKEN': if (spotify.authorization) return spotify; - return _extends({}, spotify, { + return _objectSpread(_objectSpread({}, spotify), {}, { authorizing: false, authorization: false, access_token: action.data.access_token, @@ -108824,7 +110281,7 @@ function reducer() { }); case 'SPOTIFY_AUTHORIZATION_GRANTED': - return _extends({}, spotify, { + return _objectSpread(_objectSpread({}, spotify), {}, { enabled: true, authorizing: false, authorization: action.data, @@ -108834,7 +110291,7 @@ function reducer() { }); case 'SPOTIFY_AUTHORIZATION_REVOKED': - return _extends({}, spotify, { + return _objectSpread(_objectSpread({}, spotify), {}, { authorizing: false, authorization: false, access_token: false, @@ -108844,7 +110301,7 @@ function reducer() { }); case 'SPOTIFY_IMPORT_AUTHORIZATION': - return _extends({}, spotify, { + return _objectSpread(_objectSpread({}, spotify), {}, { authorizing: false, authorization: action.authorization, access_token: action.authorization.access_token, @@ -108854,53 +110311,68 @@ function reducer() { }); case 'SPOTIFY_TOKEN_REFRESHING': - return _extends({}, spotify, { refreshing_token: true }); + return _objectSpread(_objectSpread({}, spotify), {}, { + refreshing_token: true + }); case 'SPOTIFY_TOKEN_REFRESHED': - return _extends({}, spotify, { + return _objectSpread(_objectSpread({}, spotify), {}, { refreshing_token: false, access_token: action.data.access_token, token_expiry: action.data.token_expiry }); case 'SPOTIFY_TOKEN_CHANGED': - return _extends({}, spotify, { + return _objectSpread(_objectSpread({}, spotify), {}, { access_token: action.spotify_token.access_token, token_expiry: action.spotify_token.token_expiry }); case 'SPOTIFY_ME_LOADED': - return _extends({}, spotify, { me: action.me }); + return _objectSpread(_objectSpread({}, spotify), {}, { + me: action.me + }); case 'SPOTIFY_FEATURED_PLAYLISTS_LOADED': - return _extends({}, spotify, { featured_playlists: action.data }); + return _objectSpread(_objectSpread({}, spotify), {}, { + featured_playlists: action.data + }); case 'SPOTIFY_NEW_RELEASES_LOADED': var new_releases = []; + if (spotify.new_releases) { new_releases = Object.assign([], spotify.new_releases); } - return _extends({}, spotify, { - new_releases: (0, _arrays.removeDuplicates)([].concat(_toConsumableArray(new_releases), _toConsumableArray(action.uris))), + + return _objectSpread(_objectSpread({}, spotify), {}, { + new_releases: Object(_util_arrays__WEBPACK_IMPORTED_MODULE_0__["removeDuplicates"])([].concat(_toConsumableArray(new_releases), _toConsumableArray(action.uris))), new_releases_more: action.more, new_releases_total: action.total }); case 'SPOTIFY_DISCOVER_LOADED': if (!action.data) { - return _extends({}, spotify, { + return _objectSpread(_objectSpread({}, spotify), {}, { discover: [] }); } - return _extends({}, spotify, { + + return _objectSpread(_objectSpread({}, spotify), {}, { discover: [].concat(_toConsumableArray(spotify.discover), [action.data]) }); case 'CLEAR_SPOTIFY_RECOMMENDATIONS': - return _extends({}, spotify, { recommendations: { artists_uris: [], albums_uris: [], tracks_uris: [] } }); + return _objectSpread(_objectSpread({}, spotify), {}, { + recommendations: { + artists_uris: [], + albums_uris: [], + tracks_uris: [] + } + }); case 'SPOTIFY_RECOMMENDATIONS_LOADED': - return _extends({}, spotify, { + return _objectSpread(_objectSpread({}, spotify), {}, { recommendations: { artists_uris: action.artists_uris, albums_uris: action.albums_uris, @@ -108909,25 +110381,25 @@ function reducer() { }); case 'SPOTIFY_FAVORITES_LOADED': - return _extends({}, spotify, { + return _objectSpread(_objectSpread({}, spotify), {}, { favorite_artists: action.artists_uris, favorite_tracks: action.tracks_uris }); case 'SPOTIFY_AUTOCOMPLETE_LOADING': var autocomplete_results = spotify.autocomplete_results; - - autocomplete_results[action.field_id] = { loading: true }; - return _extends({}, spotify, { + autocomplete_results[action.field_id] = { + loading: true + }; + return _objectSpread(_objectSpread({}, spotify), {}, { autocomplete_results: autocomplete_results }); case 'SPOTIFY_AUTOCOMPLETE_LOADED': var autocomplete_results = spotify.autocomplete_results; - autocomplete_results[action.field_id] = action.results; autocomplete_results[action.field_id].loading = false; - return _extends({}, spotify, { + return _objectSpread(_objectSpread({}, spotify), {}, { autocomplete_results: autocomplete_results }); @@ -108937,12 +110409,13 @@ function reducer() { if (typeof autocomplete_results[action.field_id] !== 'undefined') { delete autocomplete_results[action.field_id]; } - return _extends({}, spotify, { + + return _objectSpread(_objectSpread({}, spotify), {}, { autocomplete_results: autocomplete_results }); case 'SPOTIFY_GENRES_LOADED': - return _extends({}, spotify, { + return _objectSpread(_objectSpread({}, spotify), {}, { genres: action.genres }); @@ -108951,56 +110424,52 @@ function reducer() { * */ case 'SPOTIFY_CATEGORIES_LOADED': - var categories = _extends({}, spotify.categories); - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; + var categories = _objectSpread({}, spotify.categories); + + var _iterator = _createForOfIteratorHelper(action.categories), + _step; try { - for (var _iterator = action.categories[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + for (_iterator.s(); !(_step = _iterator.n()).done;) { var category = _step.value; - categories[category.uri] = category; } } catch (err) { - _didIteratorError = true; - _iteratorError = err; + _iterator.e(err); } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } + _iterator.f(); } - return _extends({}, spotify, { categories: categories }); + return _objectSpread(_objectSpread({}, spotify), {}, { + categories: categories + }); case 'SPOTIFY_CATEGORY_PLAYLISTS_LOADED': - var categories = _extends({}, spotify.categories); + var categories = _objectSpread({}, spotify.categories); + var playlists_uris = []; if (categories[action.uri] && categories[action.uri].playlists_uris) { playlists_uris = categories[action.uri].playlists_uris; } - var category = _extends({}, categories[action.uri], { + var category = _objectSpread(_objectSpread({}, categories[action.uri]), {}, { playlists_uris: [].concat(_toConsumableArray(playlists_uris), _toConsumableArray(action.uris)), playlists_more: action.more, playlists_total: action.total }); + categories[action.uri] = category; - return _extends({}, spotify, { categories: categories }); + return _objectSpread(_objectSpread({}, spotify), {}, { + categories: categories + }); /** * Library * */ case 'SPOTIFY_FLUSH_LIBRARY': - return _extends({}, spotify, { + return _objectSpread(_objectSpread({}, spotify), {}, { library_playlists: null, library_playlists_loaded_all: null, library_playlists_status: null, @@ -109021,7 +110490,10 @@ function reducer() { } else { var uris = action.uris; } - return _extends({}, spotify, { library_playlists: (0, _arrays.removeDuplicates)(uris) }); + + return _objectSpread(_objectSpread({}, spotify), {}, { + library_playlists: Object(_util_arrays__WEBPACK_IMPORTED_MODULE_0__["removeDuplicates"])(uris) + }); case 'SPOTIFY_LIBRARY_ARTISTS_LOADED': if (spotify.library_artists) { @@ -109029,7 +110501,10 @@ function reducer() { } else { var uris = action.uris; } - return _extends({}, spotify, { library_artists: (0, _arrays.removeDuplicates)(uris) }); + + return _objectSpread(_objectSpread({}, spotify), {}, { + library_artists: Object(_util_arrays__WEBPACK_IMPORTED_MODULE_0__["removeDuplicates"])(uris) + }); case 'SPOTIFY_LIBRARY_ALBUMS_LOADED': if (spotify.library_albums) { @@ -109037,7 +110512,10 @@ function reducer() { } else { var uris = action.uris; } - return _extends({}, spotify, { library_albums: (0, _arrays.removeDuplicates)(uris) }); + + return _objectSpread(_objectSpread({}, spotify), {}, { + library_albums: Object(_util_arrays__WEBPACK_IMPORTED_MODULE_0__["removeDuplicates"])(uris) + }); case 'SPOTIFY_LIBRARY_TRACKS_LOADED': case 'SPOTIFY_LIBRARY_TRACKS_LOADED_MORE': @@ -109045,87 +110523,113 @@ function reducer() { var uris = []; if (tracks) { - tracks = (0, _format.formatTracks)(tracks); - uris = (0, _arrays.arrayOf)('uri', tracks); + tracks = Object(_util_format__WEBPACK_IMPORTED_MODULE_1__["formatTracks"])(tracks); + uris = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_0__["arrayOf"])('uri', tracks); + if (spotify.library_tracks) { uris = [].concat(_toConsumableArray(spotify.library_tracks), _toConsumableArray(uris)); } } - return _extends({}, spotify, { - library_tracks: (0, _arrays.removeDuplicates)(uris), + return _objectSpread(_objectSpread({}, spotify), {}, { + library_tracks: Object(_util_arrays__WEBPACK_IMPORTED_MODULE_0__["removeDuplicates"])(uris), library_tracks_more: action.data.next }); case 'SPOTIFY_LIBRARY_PLAYLISTS_LOADED_ALL': - return _extends({}, spotify, { library_playlists_loaded_all: true }); + return _objectSpread(_objectSpread({}, spotify), {}, { + library_playlists_loaded_all: true + }); case 'SPOTIFY_LIBRARY_PLAYLISTS_CLEAR': - return _extends({}, spotify, { library_playlists: [] }); + return _objectSpread(_objectSpread({}, spotify), {}, { + library_playlists: [] + }); case 'SPOTIFY_LIBRARY_ARTISTS_CLEAR': - return _extends({}, spotify, { library_artists: [] }); + return _objectSpread(_objectSpread({}, spotify), {}, { + library_artists: [] + }); case 'SPOTIFY_LIBRARY_ALBUMS_CLEAR': - return _extends({}, spotify, { library_albums: [] }); + return _objectSpread(_objectSpread({}, spotify), {}, { + library_albums: [] + }); case 'SPOTIFY_LIBRARY_ALBUM_CHECK': var items = Object.assign([], spotify.library_albums); var index = items.indexOf(action.key); + if (index > -1 && !action.in_library) { items.splice(index, 1); } else if (index < 0 && action.in_library) { items.push(action.key); } - return _extends({}, spotify, { library_albums: items }); + + return _objectSpread(_objectSpread({}, spotify), {}, { + library_albums: items + }); case 'SPOTIFY_LIBRARY_ARTIST_CHECK': var items = Object.assign([], spotify.library_artists); var index = items.indexOf(action.key); + if (index > -1 && !action.in_library) { items.splice(index, 1); } else if (index < 0 && action.in_library) { items.push(action.key); } - return _extends({}, spotify, { library_artists: items }); + + return _objectSpread(_objectSpread({}, spotify), {}, { + library_artists: items + }); case 'SPOTIFY_LIBRARY_PLAYLIST_CHECK': var items = Object.assign([], spotify.library_playlists); var index = items.indexOf(action.key); + if (index > -1 && !action.in_library) { items.splice(index, 1); } else if (index < 0 && action.in_library) { items.push(action.key); } - return _extends({}, spotify, { library_playlists: items }); + + return _objectSpread(_objectSpread({}, spotify), {}, { + library_playlists: items + }); case 'SPOTIFY_LIBRARY_TRACK_CHECK': var items = Object.assign([], spotify.library_tracks); var index = items.indexOf(action.key); + if (index > -1 && !action.in_library) { items.splice(index, 1); } else if (index < 0 && action.in_library) { items.push(action.key); } - return _extends({}, spotify, { library_tracks: items }); + + return _objectSpread(_objectSpread({}, spotify), {}, { + library_tracks: items + }); /** * Searching * */ case 'SPOTIFY_CLEAR_SEARCH_RESULTS': - return _extends({}, spotify, { search_results: {} }); + return _objectSpread(_objectSpread({}, spotify), {}, { + search_results: {} + }); case 'SPOTIFY_SEARCH_RESULTS_LOADED': - // Fetch or create our container if (spotify.search_results) { - var search_results = _extends({}, spotify.search_results); + var search_results = _objectSpread({}, spotify.search_results); } else { var search_results = {}; } - search_results = _extends({}, search_results, { + search_results = _objectSpread(_objectSpread({}, search_results), {}, { query: action.query }); @@ -109136,11 +110640,14 @@ function reducer() { } if (action.more) { - search_results[action.context + '_more'] = action.more; + search_results["".concat(action.context, "_more")] = action.more; } else { - search_results[action.context + '_more'] = null; + search_results["".concat(action.context, "_more")] = null; } - return _extends({}, spotify, { search_results: search_results }); + + return _objectSpread(_objectSpread({}, spotify), {}, { + search_results: search_results + }); default: return spotify; @@ -109153,103 +110660,95 @@ function reducer() { /*!***************************************!*\ !*** ./src/js/services/ui/actions.js ***! \***************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: setWindowTitle, setCurrentTrackTransition, setSelectedTracks, showContextMenu, setSlimMode, setWindowFocus, setLanguage, hideContextMenu, removeContextMenu, showTouchContextMenu, hideTouchContextMenu, removeTouchContextMenu, lazyLoading, toggleSidebar, dragStart, dragActive, dragEnd, set, installPrompt, createBrowserNotification, createNotification, closeNotification, removeNotification, startLoading, stopLoading, startProcess, resumeProcess, updateProcess, runProcess, cancelProcess, processCancelled, processFinished, closeProcess, removeProcess */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setWindowTitle", function() { return setWindowTitle; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setCurrentTrackTransition", function() { return setCurrentTrackTransition; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setSelectedTracks", function() { return setSelectedTracks; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "showContextMenu", function() { return showContextMenu; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setSlimMode", function() { return setSlimMode; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setWindowFocus", function() { return setWindowFocus; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setLanguage", function() { return setLanguage; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "hideContextMenu", function() { return hideContextMenu; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "removeContextMenu", function() { return removeContextMenu; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "showTouchContextMenu", function() { return showTouchContextMenu; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "hideTouchContextMenu", function() { return hideTouchContextMenu; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "removeTouchContextMenu", function() { return removeTouchContextMenu; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "lazyLoading", function() { return lazyLoading; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "toggleSidebar", function() { return toggleSidebar; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "dragStart", function() { return dragStart; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "dragActive", function() { return dragActive; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "dragEnd", function() { return dragEnd; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "set", function() { return set; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "installPrompt", function() { return installPrompt; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createBrowserNotification", function() { return createBrowserNotification; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createNotification", function() { return createNotification; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "closeNotification", function() { return closeNotification; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "removeNotification", function() { return removeNotification; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "startLoading", function() { return startLoading; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "stopLoading", function() { return stopLoading; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "startProcess", function() { return startProcess; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "resumeProcess", function() { return resumeProcess; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "updateProcess", function() { return updateProcess; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "runProcess", function() { return runProcess; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "cancelProcess", function() { return cancelProcess; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "processCancelled", function() { return processCancelled; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "processFinished", function() { return processFinished; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "closeProcess", function() { return closeProcess; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "removeProcess", function() { return removeProcess; }); +/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } -Object.defineProperty(exports, "__esModule", { - value: true -}); +function _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; } -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - -exports.setWindowTitle = setWindowTitle; -exports.setCurrentTrackTransition = setCurrentTrackTransition; -exports.setSelectedTracks = setSelectedTracks; -exports.showContextMenu = showContextMenu; -exports.setSlimMode = setSlimMode; -exports.setWindowFocus = setWindowFocus; -exports.setLanguage = setLanguage; -exports.hideContextMenu = hideContextMenu; -exports.removeContextMenu = removeContextMenu; -exports.showTouchContextMenu = showTouchContextMenu; -exports.hideTouchContextMenu = hideTouchContextMenu; -exports.removeTouchContextMenu = removeTouchContextMenu; -exports.lazyLoading = lazyLoading; -exports.toggleSidebar = toggleSidebar; -exports.dragStart = dragStart; -exports.dragActive = dragActive; -exports.dragEnd = dragEnd; -exports.set = set; -exports.installPrompt = installPrompt; -exports.createBrowserNotification = createBrowserNotification; -exports.createNotification = createNotification; -exports.closeNotification = closeNotification; -exports.removeNotification = removeNotification; -exports.startLoading = startLoading; -exports.stopLoading = stopLoading; -exports.startProcess = startProcess; -exports.resumeProcess = resumeProcess; -exports.updateProcess = updateProcess; -exports.runProcess = runProcess; -exports.cancelProcess = cancelProcess; -exports.processCancelled = processCancelled; -exports.processFinished = processFinished; -exports.closeProcess = closeProcess; -exports.removeProcess = removeProcess; - -var _helpers = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); function setWindowTitle() { var title = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; var play_state = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; - return { type: 'SET_WINDOW_TITLE', title: title, play_state: play_state }; } - /** * Gives us the ability to load/fade current track when * we're pending transition to a new/next track * * @param transitioning Boolean * */ + function setCurrentTrackTransition(current_track_transition) { return { type: 'SET_CURRENT_TRACK_TRANSITION', current_track_transition: current_track_transition }; } - function setSelectedTracks() { var keys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; if (typeof keys === 'string') { keys = [keys]; } + return { type: 'SET_SELECTED_TRACKS', keys: keys }; } - function showContextMenu(data) { // Touchend if (data.e.changedTouches) { data.position_x = data.e.changedTouches[0].clientX; - data.position_y = data.e.changedTouches[0].clientY; - - // Touchstart + data.position_y = data.e.changedTouches[0].clientY; // Touchstart } else if (data.e.touches) { data.position_x = data.e.touches[0].clientX; - data.position_y = data.e.touches[0].clientY; - - // Click/mousedown/mouseup/etc + data.position_y = data.e.touches[0].clientY; // Click/mousedown/mouseup/etc } else { data.position_x = data.e.clientX; data.position_y = data.e.clientY; @@ -109260,83 +110759,72 @@ function showContextMenu(data) { data: data }; } - function setSlimMode(slim_mode) { return { type: 'SET_SLIM_MODE', slim_mode: slim_mode }; } - function setWindowFocus(window_focus) { return { type: 'SET_WINDOW_FOCUS', window_focus: window_focus }; } - function setLanguage(language) { return { type: 'SET_LANGUAGE', language: language }; } - function hideContextMenu() { return { type: 'HIDE_CONTEXT_MENU' }; } - function removeContextMenu() { return { type: 'REMOVE_CONTEXT_MENU' }; } - function showTouchContextMenu(data) { return { type: 'SHOW_TOUCH_CONTEXT_MENU', data: data }; } - function hideTouchContextMenu() { return { type: 'HIDE_TOUCH_CONTEXT_MENU' }; } - function removeTouchContextMenu() { return { type: 'REMOVE_TOUCH_CONTEXT_MENU' }; } - function lazyLoading(start) { return { type: 'LAZY_LOADING', start: start }; } - function toggleSidebar() { var new_state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'toggle'; - var action = { type: 'TOGGLE_SIDEBAR' }; + if (new_state != 'toggle') { action.new_state = new_state; } + return action; } - function dragStart(e, context) { var from_uri = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; - var victims = arguments[3]; + var victims = arguments.length > 3 ? arguments[3] : undefined; var victims_indexes = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null; - return { type: 'DRAG_START', context: context, @@ -109347,29 +110835,28 @@ function dragStart(e, context) { start_y: e.clientY }; } - function dragActive() { - return { type: 'DRAG_ACTIVE' }; + return { + type: 'DRAG_ACTIVE' + }; } - function dragEnd() { - return { type: 'DRAG_END' }; + return { + type: 'DRAG_END' + }; } - function set(data) { return { type: 'UI_SET', data: data }; } - function installPrompt(event) { return { type: 'INSTALL_PROMPT', event: event }; } - /** * Notifications * @@ -109382,22 +110869,21 @@ function createBrowserNotification(data) { data: data }; } - function createNotification(data) { // Allow 'message' as an alias of our content if (data.message) { data.content = data.message; - } + } // Shortcut notifications are short and sweet + - // Shortcut notifications are short and sweet if (data.type === 'shortcut') { data.duration = 0.4; } return { type: 'CREATE_NOTIFICATION', - notification: _extends({ - key: (0, _helpers.generateGuid)(), + notification: _objectSpread({ + key: Object(_util_helpers__WEBPACK_IMPORTED_MODULE_0__["generateGuid"])(), duration: 5, type: 'default', title: null, @@ -109409,24 +110895,20 @@ function createNotification(data) { }, data) }; } - function closeNotification(key) { return { type: 'CLOSE_NOTIFICATION', key: key }; } - function removeNotification(key) { var manual = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - return { type: 'REMOVE_NOTIFICATION', key: key, manual: manual }; } - /** * Loaders * */ @@ -109438,18 +110920,15 @@ function startLoading(key, source) { key: key }; } - function stopLoading(key) { return { type: 'STOP_LOADING', key: key }; } - function startProcess(key, content) { var data = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; var description = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null; - return { type: 'START_PROCESS', key: key, @@ -109458,19 +110937,16 @@ function startProcess(key, content) { description: description }; } - function resumeProcess(key) { return { type: 'RESUME_PROCESS', key: key }; } - function updateProcess(key, content) { var data = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; var description = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null; var level = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 'info'; - return { type: 'UPDATE_PROCESS', key: key, @@ -109480,47 +110956,39 @@ function updateProcess(key, content) { level: level }; } - function runProcess(key) { var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - return { type: key, data: data }; } - function cancelProcess(key) { return { type: 'CANCEL_PROCESS', key: key }; } - function processCancelled(key) { return { type: 'PROCESS_CANCELLED', key: key }; } - function processFinished(key) { var completionMessage = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; - return { type: 'PROCESS_FINISHED', key: key, completionMessage: completionMessage }; } - function closeProcess(key) { return { type: 'CLOSE_PROCESS', key: key }; } - function removeProcess(key) { return { type: 'REMOVE_PROCESS', @@ -109534,25 +111002,21 @@ function removeProcess(key) { /*!******************************************!*\ !*** ./src/js/services/ui/middleware.js ***! \******************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* WEBPACK VAR INJECTION */(function($) { +__webpack_require__.r(__webpack_exports__); +/* WEBPACK VAR INJECTION */(function($) {/* harmony import */ var react_ga__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-ga */ "./node_modules/react-ga/dist/esm/index.js"); +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } -Object.defineProperty(exports, "__esModule", { - value: true -}); +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; +function _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; } -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } -var _reactGa = __webpack_require__(/*! react-ga */ "./node_modules/react-ga/dist/esm/index.js"); -var _reactGa2 = _interopRequireDefault(_reactGa); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var uiActions = __webpack_require__(/*! ./actions.js */ "./src/js/services/ui/actions.js"); @@ -109562,20 +111026,19 @@ var UIMiddleware = function () { return function (action) { switch (action.type) { case 'MOPIDY_STATE': - // Get the current track from our index var tracks = store.getState().core.tracks; - var current_track_uri = store.getState().core.current_track; var current_track = null; + if (tracks[current_track_uri] !== undefined) { current_track = tracks[current_track_uri]; } + next(action); break; case 'SET_WINDOW_TITLE': - var window_title = ''; if (action.play_state) { @@ -109590,15 +111053,19 @@ var UIMiddleware = function () { var title = store.getState().ui.window_title; } - document.title = window_title + ' ' + title; - + document.title = "".concat(window_title, " ").concat(title); next(action); break; case 'OPEN_MODAL': if (store.getState().ui.allow_reporting) { - _reactGa2.default.event({ category: 'Modal', action: 'Opened', label: action.modal.name }); + react_ga__WEBPACK_IMPORTED_MODULE_0__["default"].event({ + category: 'Modal', + action: 'Opened', + label: action.modal.name + }); } + $('body').addClass('modal-open'); store.dispatch(uiActions.hideContextMenu()); store.dispatch(uiActions.hideTouchContextMenu()); @@ -109607,8 +111074,13 @@ var UIMiddleware = function () { case 'CLOSE_MODAL': if (store.getState().ui.allow_reporting) { - _reactGa2.default.event({ category: 'Modal', action: 'Closed', label: null }); + react_ga__WEBPACK_IMPORTED_MODULE_0__["default"].event({ + category: 'Modal', + action: 'Closed', + label: null + }); } + $('body').removeClass('modal-open'); next(action); break; @@ -109620,6 +111092,7 @@ var UIMiddleware = function () { }, 200); next(action); } + break; case 'HIDE_TOUCH_CONTEXT_MENU': @@ -109629,20 +111102,18 @@ var UIMiddleware = function () { }, 200); next(action); } + break; case 'BROWSER_NOTIFICATION': - var notification = window.Notification || window.mozNotification || window.webkitNotification; if (typeof notification === 'undefined') return false; - if (typeof notification !== 'undefined') notification.requestPermission(function (permission) {}); + if (typeof notification !== 'undefined') notification.requestPermission(function (permission) {}); // handle nested data objects - // handle nested data objects var data = {}; if (_typeof(action.data)) data = action.data; - if (_typeof(data.data)) data = _extends({}, data, data.data); + if (_typeof(data.data)) data = _objectSpread(_objectSpread({}, data), data.data); // construct our browser notification - // construct our browser notification var title = ''; var options = { body: '', @@ -109652,14 +111123,12 @@ var UIMiddleware = function () { }; if (data.title) title = data.title; if (data.body) options.body = data.body; - if (data.icon) options.icon = data.icon; + if (data.icon) options.icon = data.icon; // make it so - // make it so var notification = new notification(title, options); break; case 'CREATE_NOTIFICATION': - // start a timeout to close this notification if (!action.notification.sticky) { setTimeout(function () { @@ -109671,24 +111140,22 @@ var UIMiddleware = function () { break; case 'CLOSE_NOTIFICATION': - var notifications = _extends({}, store.getState().ui.notifications); - - // start a timeout to remove this notification + var notifications = _objectSpread({}, store.getState().ui.notifications); // start a timeout to remove this notification // This gives us time to animate out the notification before we remove the data + + setTimeout(function () { store.dispatch(uiActions.removeNotification(action.key)); }, 200); - next(action); break; case 'REMOVE_NOTIFICATION': - // Manual removal if (action.manual) { - var notifications = _extends({}, store.getState().ui.notifications); + var notifications = _objectSpread({}, store.getState().ui.notifications); // If a broadcast, add to suppressed_broadcasts + - // If a broadcast, add to suppressed_broadcasts if (notifications[action.key] && notifications[action.key].type == 'broadcast') { store.dispatch({ type: 'SUPPRESS_BROADCAST', @@ -109702,6 +111169,7 @@ var UIMiddleware = function () { case 'BROADCASTS_LOADED': var suppressed_broadcasts = []; + if (store.getState().ui.suppressed_broadcasts !== undefined) { suppressed_broadcasts = store.getState().ui.suppressed_broadcasts; } @@ -109733,7 +111201,7 @@ var UIMiddleware = function () { data: action.data }); store.dispatch({ - type: action.key + '_STARTED' + type: "".concat(action.key, "_STARTED") }); next(action); break; @@ -109748,7 +111216,7 @@ var UIMiddleware = function () { case 'PROCESS_CANCELLED': store.dispatch({ - type: action.key + '_CANCELLED' + type: "".concat(action.key, "_CANCELLED") }); store.dispatch(uiActions.closeProcess(action.key)); next(action); @@ -109756,13 +111224,13 @@ var UIMiddleware = function () { case 'PROCESS_FINISHED': store.dispatch({ - type: action.key + '_FINISHED' - }); - - // start a timeout to remove this notification + type: "".concat(action.key, "_FINISHED") + }); // start a timeout to remove this notification // This gives us time to animate out the notification before we remove the data + if (action.completionMessage) { store.dispatch(uiActions.updateProcess(action.key, action.completionMessage.content, {}, action.completionMessage.description, action.completionMessage.level)); + if (!action.completionMessage.sticky) { setTimeout(function () { store.dispatch(uiActions.closeProcess(action.key)); @@ -109784,12 +111252,13 @@ var UIMiddleware = function () { case 'SET_LANGUAGE': var language = action.language; - window.language = language; - store.dispatch(uiActions.set({ language: language })); + store.dispatch(uiActions.set({ + language: language + })); break; - // This action is irrelevant to us, pass it on to the next middleware + default: return next(action); } @@ -109798,7 +111267,7 @@ var UIMiddleware = function () { }; }(); -exports.default = UIMiddleware; +/* harmony default export */ __webpack_exports__["default"] = (UIMiddleware); /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ "./node_modules/jquery/dist/jquery.js"))) /***/ }), @@ -109807,90 +111276,129 @@ exports.default = UIMiddleware; /*!***************************************!*\ !*** ./src/js/services/ui/reducer.js ***! \***************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return reducer; }); +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } -Object.defineProperty(exports, "__esModule", { - value: true -}); +function _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; } -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - -exports.default = reducer; function reducer() { var ui = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - var action = arguments[1]; + var action = arguments.length > 1 ? arguments[1] : undefined; switch (action.type) { case 'LAZY_LOADING': - return _extends({}, ui, { lazy_loading: action.start }); + return _objectSpread(_objectSpread({}, ui), {}, { + lazy_loading: action.start + }); case 'SET_SLIM_MODE': - return _extends({}, ui, { slim_mode: action.slim_mode }); + return _objectSpread(_objectSpread({}, ui), {}, { + slim_mode: action.slim_mode + }); case 'SET_WINDOW_FOCUS': - return _extends({}, ui, { window_focus: action.window_focus }); + return _objectSpread(_objectSpread({}, ui), {}, { + window_focus: action.window_focus + }); case 'DEBUG': - return _extends({}, ui, { debug_response: action.response }); + return _objectSpread(_objectSpread({}, ui), {}, { + debug_response: action.response + }); case 'UI_SET': - return _extends({}, ui, action.data); + return _objectSpread(_objectSpread({}, ui), action.data); case 'SET_WINDOW_TITLE': if (action.title) { - return _extends({}, ui, { window_title: action.title }); + return _objectSpread(_objectSpread({}, ui), {}, { + window_title: action.title + }); } + return ui; case 'TOGGLE_SIDEBAR': var new_state = !ui.sidebar_open; if (typeof action.new_state !== 'undefined') new_state = action.new_state; - return _extends({}, ui, { sidebar_open: new_state }); + return _objectSpread(_objectSpread({}, ui), {}, { + sidebar_open: new_state + }); case 'SET_CURRENT_TRACK_TRANSITION': - return _extends({}, ui, { current_track_transition: action.current_track_transition }); + return _objectSpread(_objectSpread({}, ui), {}, { + current_track_transition: action.current_track_transition + }); case 'SET_SELECTED_TRACKS': - return _extends({}, ui, { selected_tracks: Object.assign([], action.keys) }); + return _objectSpread(_objectSpread({}, ui), {}, { + selected_tracks: Object.assign([], action.keys) + }); case 'ICON_LOADED': - var icons = _extends({}, ui.icons); + var icons = _objectSpread({}, ui.icons); + icons[action.key] = action.icon; - return _extends({}, ui, { icons: icons }); + return _objectSpread(_objectSpread({}, ui), {}, { + icons: icons + }); case 'INSTALL_PROMPT': - return _extends({}, ui, { install_prompt: action.event }); + return _objectSpread(_objectSpread({}, ui), {}, { + install_prompt: action.event + }); /** * Context menu * */ + case 'SHOW_CONTEXT_MENU': - return _extends({}, ui, { context_menu: action.data }); + return _objectSpread(_objectSpread({}, ui), {}, { + context_menu: action.data + }); case 'HIDE_CONTEXT_MENU': - return _extends({}, ui, { context_menu: _extends({}, ui.context_menu, { closing: true }) }); + return _objectSpread(_objectSpread({}, ui), {}, { + context_menu: _objectSpread(_objectSpread({}, ui.context_menu), {}, { + closing: true + }) + }); case 'REMOVE_CONTEXT_MENU': - return _extends({}, ui, { context_menu: null }); + return _objectSpread(_objectSpread({}, ui), {}, { + context_menu: null + }); case 'SHOW_TOUCH_CONTEXT_MENU': - return _extends({}, ui, { touch_context_menu: action.data }); + return _objectSpread(_objectSpread({}, ui), {}, { + touch_context_menu: action.data + }); case 'HIDE_TOUCH_CONTEXT_MENU': - return _extends({}, ui, { touch_context_menu: _extends({}, ui.touch_context_menu, { closing: true }) }); + return _objectSpread(_objectSpread({}, ui), {}, { + touch_context_menu: _objectSpread(_objectSpread({}, ui.touch_context_menu), {}, { + closing: true + }) + }); case 'REMOVE_TOUCH_CONTEXT_MENU': - return _extends({}, ui, { touch_context_menu: null }); + return _objectSpread(_objectSpread({}, ui), {}, { + touch_context_menu: null + }); /** * Dragging * */ + case 'DRAG_START': - return _extends({}, ui, { + return _objectSpread(_objectSpread({}, ui), {}, { dragger: { dragging: true, active: false, @@ -109904,68 +111412,102 @@ function reducer() { }); case 'DRAG_ACTIVE': - var dragger = _extends({}, ui.dragger, { active: true }); - return _extends({}, ui, { dragger: dragger }); + var dragger = _objectSpread(_objectSpread({}, ui.dragger), {}, { + active: true + }); + + return _objectSpread(_objectSpread({}, ui), {}, { + dragger: dragger + }); case 'DRAG_END': - return _extends({}, ui, { dragger: false }); + return _objectSpread(_objectSpread({}, ui), {}, { + dragger: false + }); /** * Modals * */ + case 'OPEN_MODAL': - return _extends({}, ui, { modal: action.modal }); + return _objectSpread(_objectSpread({}, ui), {}, { + modal: action.modal + }); case 'CLOSE_MODAL': - return _extends({}, ui, { modal: false }); + return _objectSpread(_objectSpread({}, ui), {}, { + modal: false + }); /** * Notifications * */ + case 'CREATE_NOTIFICATION': - var notifications = _extends({}, ui.notifications); + var notifications = _objectSpread({}, ui.notifications); + notifications[action.notification.key] = action.notification; - return _extends({}, ui, { notifications: notifications }); + return _objectSpread(_objectSpread({}, ui), {}, { + notifications: notifications + }); case 'CLOSE_NOTIFICATION': - var notifications = _extends({}, ui.notifications); + var notifications = _objectSpread({}, ui.notifications); + if (notifications[action.key]) { notifications[action.key].closing = true; } - return _extends({}, ui, { notifications: notifications }); + + return _objectSpread(_objectSpread({}, ui), {}, { + notifications: notifications + }); case 'REMOVE_NOTIFICATION': - var notifications = _extends({}, ui.notifications); + var notifications = _objectSpread({}, ui.notifications); + delete notifications[action.key]; - return _extends({}, ui, { notifications: notifications }); + return _objectSpread(_objectSpread({}, ui), {}, { + notifications: notifications + }); /** * Loading and processes * */ case 'START_LOADING': - var load_queue = _extends({}, ui.load_queue ? ui.load_queue : {}); + var load_queue = _objectSpread({}, ui.load_queue ? ui.load_queue : {}); + load_queue[action.key] = action.source; - return _extends({}, ui, { load_queue: load_queue }); + return _objectSpread(_objectSpread({}, ui), {}, { + load_queue: load_queue + }); case 'STOP_LOADING': - var load_queue = _extends({}, ui.load_queue ? ui.load_queue : {}); + var load_queue = _objectSpread({}, ui.load_queue ? ui.load_queue : {}); + if (load_queue[action.key]) { delete load_queue[action.key]; } - return _extends({}, ui, { load_queue: load_queue }); + + return _objectSpread(_objectSpread({}, ui), {}, { + load_queue: load_queue + }); case 'START_PROCESS': case 'UPDATE_PROCESS': - var processes = _extends({}, ui.processes || []); + var processes = _objectSpread({}, ui.processes || []); + var last_run = processes[action.key]; var status = 'running'; + if (last_run) { - var data = _extends({}, last_run.data, action.data); + var data = _objectSpread(_objectSpread({}, last_run.data), action.data); + if (action.type === 'UPDATE_PROCESS') status = last_run.status; } else { var data = action.data; } + processes[action.key] = { key: action.key, content: action.content, @@ -109974,49 +111516,88 @@ function reducer() { status: status, data: data }; - return _extends({}, ui, { processes: processes }); + return _objectSpread(_objectSpread({}, ui), {}, { + processes: processes + }); case 'RESUME_PROCESS': - var processes = _extends({}, ui.processes ? ui.processes : {}); + var processes = _objectSpread({}, ui.processes ? ui.processes : {}); + if (processes[action.key]) { - processes[action.key] = _extends({}, processes[action.key], { status: 'running' }); + processes[action.key] = _objectSpread(_objectSpread({}, processes[action.key]), {}, { + status: 'running' + }); } - return _extends({}, ui, { processes: processes }); + + return _objectSpread(_objectSpread({}, ui), {}, { + processes: processes + }); case 'CANCEL_PROCESS': - var processes = _extends({}, ui.processes ? ui.processes : {}); + var processes = _objectSpread({}, ui.processes ? ui.processes : {}); + if (processes[action.key]) { - processes[action.key] = _extends({}, processes[action.key], { status: 'cancelling' }); + processes[action.key] = _objectSpread(_objectSpread({}, processes[action.key]), {}, { + status: 'cancelling' + }); } - return _extends({}, ui, { processes: processes }); + + return _objectSpread(_objectSpread({}, ui), {}, { + processes: processes + }); case 'PROCESS_CANCELLED': - var processes = _extends({}, ui.processes ? ui.processes : {}); + var processes = _objectSpread({}, ui.processes ? ui.processes : {}); + if (processes[action.key]) { - processes[action.key] = _extends({}, processes[action.key], { status: 'cancelled' }); + processes[action.key] = _objectSpread(_objectSpread({}, processes[action.key]), {}, { + status: 'cancelled' + }); } - return _extends({}, ui, { processes: processes }); + + return _objectSpread(_objectSpread({}, ui), {}, { + processes: processes + }); case 'PROCESS_FINISHED': - var processes = _extends({}, ui.processes ? ui.processes : {}); + var processes = _objectSpread({}, ui.processes ? ui.processes : {}); + if (processes[action.key]) { - processes[action.key] = _extends({}, processes[action.key], { status: 'finished' }); + processes[action.key] = _objectSpread(_objectSpread({}, processes[action.key]), {}, { + status: 'finished' + }); } - return _extends({}, ui, { processes: processes }); + + return _objectSpread(_objectSpread({}, ui), {}, { + processes: processes + }); case 'CLOSE_PROCESS': - var processes = _extends({}, ui.processes ? ui.processes : {}); + var processes = _objectSpread({}, ui.processes ? ui.processes : {}); + if (processes[action.key]) { - processes[action.key] = _extends({}, processes[action.key], { closing: true }); + processes[action.key] = _objectSpread(_objectSpread({}, processes[action.key]), {}, { + closing: true + }); } - return _extends({}, ui, { processes: processes }); + + return _objectSpread(_objectSpread({}, ui), {}, { + processes: processes + }); case 'REMOVE_PROCESS': - var processes = _extends({}, ui.processes ? ui.processes : {}); + var processes = _objectSpread({}, ui.processes ? ui.processes : {}); + if (processes[action.key]) { - processes[action.key] = _extends({}, processes[action.key], { status: 'completed', closing: false }); + processes[action.key] = _objectSpread(_objectSpread({}, processes[action.key]), {}, { + status: 'completed', + closing: false + }); } - return _extends({}, ui, { processes: processes }); + + return _objectSpread(_objectSpread({}, ui), {}, { + processes: processes + }); default: return ui; @@ -110029,111 +111610,64 @@ function reducer() { /*!*******************************!*\ !*** ./src/js/store/index.js ***! \*******************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var redux_thunk__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! redux-thunk */ "./node_modules/redux-thunk/es/index.js"); +/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util/helpers */ "./src/js/util/helpers.js"); +/* harmony import */ var _util_storage__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../util/storage */ "./src/js/util/storage.js"); +/* harmony import */ var _services_core_reducer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../services/core/reducer */ "./src/js/services/core/reducer.js"); +/* harmony import */ var _services_ui_reducer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../services/ui/reducer */ "./src/js/services/ui/reducer.js"); +/* harmony import */ var _services_pusher_reducer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../services/pusher/reducer */ "./src/js/services/pusher/reducer.js"); +/* harmony import */ var _services_mopidy_reducer__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../services/mopidy/reducer */ "./src/js/services/mopidy/reducer.js"); +/* harmony import */ var _services_lastfm_reducer__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../services/lastfm/reducer */ "./src/js/services/lastfm/reducer.js"); +/* harmony import */ var _services_spotify_reducer__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../services/spotify/reducer */ "./src/js/services/spotify/reducer.js"); +/* harmony import */ var _services_snapcast_reducer__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../services/snapcast/reducer */ "./src/js/services/snapcast/reducer.js"); +/* harmony import */ var _services_google_reducer__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../services/google/reducer */ "./src/js/services/google/reducer.js"); +/* harmony import */ var _services_genius_reducer__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../services/genius/reducer */ "./src/js/services/genius/reducer.js"); +/* harmony import */ var _migration__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./migration */ "./src/js/store/migration.js"); +/* harmony import */ var _services_core_middleware__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../services/core/middleware */ "./src/js/services/core/middleware.js"); +/* harmony import */ var _services_ui_middleware__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../services/ui/middleware */ "./src/js/services/ui/middleware.js"); +/* harmony import */ var _services_pusher_middleware__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../services/pusher/middleware */ "./src/js/services/pusher/middleware.js"); +/* harmony import */ var _services_mopidy_middleware__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../services/mopidy/middleware */ "./src/js/services/mopidy/middleware.js"); +/* harmony import */ var _services_lastfm_middleware__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../services/lastfm/middleware */ "./src/js/services/lastfm/middleware.js"); +/* harmony import */ var _services_genius_middleware__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../services/genius/middleware */ "./src/js/services/genius/middleware.js"); +/* harmony import */ var _services_spotify_middleware__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../services/spotify/middleware */ "./src/js/services/spotify/middleware.js"); +/* harmony import */ var _services_google_middleware__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../services/google/middleware */ "./src/js/services/google/middleware.js"); +/* harmony import */ var _services_snapcast_middleware__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../services/snapcast/middleware */ "./src/js/services/snapcast/middleware.js"); +/* harmony import */ var _services_localstorage_middleware__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ../services/localstorage/middleware */ "./src/js/services/localstorage/middleware.js"); +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function _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; } -Object.defineProperty(exports, "__esModule", { - value: true -}); -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); -var _reduxThunk = __webpack_require__(/*! redux-thunk */ "./node_modules/redux-thunk/es/index.js"); -var _reduxThunk2 = _interopRequireDefault(_reduxThunk); -var _helpers = __webpack_require__(/*! ../util/helpers */ "./src/js/util/helpers.js"); -var _storage = __webpack_require__(/*! ../util/storage */ "./src/js/util/storage.js"); -var _storage2 = _interopRequireDefault(_storage); -var _reducer = __webpack_require__(/*! ../services/core/reducer */ "./src/js/services/core/reducer.js"); -var _reducer2 = _interopRequireDefault(_reducer); -var _reducer3 = __webpack_require__(/*! ../services/ui/reducer */ "./src/js/services/ui/reducer.js"); -var _reducer4 = _interopRequireDefault(_reducer3); -var _reducer5 = __webpack_require__(/*! ../services/pusher/reducer */ "./src/js/services/pusher/reducer.js"); -var _reducer6 = _interopRequireDefault(_reducer5); -var _reducer7 = __webpack_require__(/*! ../services/mopidy/reducer */ "./src/js/services/mopidy/reducer.js"); -var _reducer8 = _interopRequireDefault(_reducer7); -var _reducer9 = __webpack_require__(/*! ../services/lastfm/reducer */ "./src/js/services/lastfm/reducer.js"); -var _reducer10 = _interopRequireDefault(_reducer9); -var _reducer11 = __webpack_require__(/*! ../services/spotify/reducer */ "./src/js/services/spotify/reducer.js"); -var _reducer12 = _interopRequireDefault(_reducer11); -var _reducer13 = __webpack_require__(/*! ../services/snapcast/reducer */ "./src/js/services/snapcast/reducer.js"); -var _reducer14 = _interopRequireDefault(_reducer13); -var _reducer15 = __webpack_require__(/*! ../services/google/reducer */ "./src/js/services/google/reducer.js"); - -var _reducer16 = _interopRequireDefault(_reducer15); - -var _reducer17 = __webpack_require__(/*! ../services/genius/reducer */ "./src/js/services/genius/reducer.js"); - -var _reducer18 = _interopRequireDefault(_reducer17); - -var _migration = __webpack_require__(/*! ./migration */ "./src/js/store/migration.js"); - -var _migration2 = _interopRequireDefault(_migration); - -var _middleware = __webpack_require__(/*! ../services/core/middleware */ "./src/js/services/core/middleware.js"); - -var _middleware2 = _interopRequireDefault(_middleware); - -var _middleware3 = __webpack_require__(/*! ../services/ui/middleware */ "./src/js/services/ui/middleware.js"); - -var _middleware4 = _interopRequireDefault(_middleware3); - -var _middleware5 = __webpack_require__(/*! ../services/pusher/middleware */ "./src/js/services/pusher/middleware.js"); - -var _middleware6 = _interopRequireDefault(_middleware5); - -var _middleware7 = __webpack_require__(/*! ../services/mopidy/middleware */ "./src/js/services/mopidy/middleware.js"); - -var _middleware8 = _interopRequireDefault(_middleware7); - -var _middleware9 = __webpack_require__(/*! ../services/lastfm/middleware */ "./src/js/services/lastfm/middleware.js"); - -var _middleware10 = _interopRequireDefault(_middleware9); - -var _middleware11 = __webpack_require__(/*! ../services/genius/middleware */ "./src/js/services/genius/middleware.js"); - -var _middleware12 = _interopRequireDefault(_middleware11); - -var _middleware13 = __webpack_require__(/*! ../services/spotify/middleware */ "./src/js/services/spotify/middleware.js"); - -var _middleware14 = _interopRequireDefault(_middleware13); - -var _middleware15 = __webpack_require__(/*! ../services/google/middleware */ "./src/js/services/google/middleware.js"); - -var _middleware16 = _interopRequireDefault(_middleware15); - -var _middleware17 = __webpack_require__(/*! ../services/snapcast/middleware */ "./src/js/services/snapcast/middleware.js"); - -var _middleware18 = _interopRequireDefault(_middleware17); - -var _middleware19 = __webpack_require__(/*! ../services/localstorage/middleware */ "./src/js/services/localstorage/middleware.js"); - -var _middleware20 = _interopRequireDefault(_middleware19); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var state = { core: { @@ -110148,7 +111682,7 @@ var state = { tracks: {}, http_streaming_enabled: false, http_streaming_cachebuster: null, - http_streaming_url: 'http://' + window.location.hostname + ':8000/mopidy' + http_streaming_url: "http://".concat(window.location.hostname, ":8000/mopidy") }, ui: { language: 'en', @@ -110171,7 +111705,7 @@ var state = { ssl: window.location.protocol === 'https:', current_server: 'default', servers: { - default: { + "default": { id: 'default', name: 'Default', host: window.location.hostname, @@ -110189,8 +111723,8 @@ var state = { }, pusher: { connected: false, - username: (0, _helpers.generateGuid)(), - client_id: (0, _helpers.generateGuid)(), + username: Object(_util_helpers__WEBPACK_IMPORTED_MODULE_2__["generateGuid"])(), + client_id: Object(_util_helpers__WEBPACK_IMPORTED_MODULE_2__["generateGuid"])(), connections: {}, version: { current: null @@ -110225,35 +111759,31 @@ var state = { server: null, commands: {} } -}; +}; // load all our stored values from LocalStorage -// load all our stored values from LocalStorage -state.core = _extends({}, state.core, _storage2.default.get('core')); -state.ui = _extends({}, state.ui, _storage2.default.get('ui')); -state.mopidy = _extends({}, state.mopidy, _storage2.default.get('mopidy')); -state.pusher = _extends({}, state.pusher, _storage2.default.get('pusher')); -state.spotify = _extends({}, state.spotify, _storage2.default.get('spotify')); -state.lastfm = _extends({}, state.lastfm, _storage2.default.get('lastfm')); -state.genius = _extends({}, state.genius, _storage2.default.get('genius')); -state.google = _extends({}, state.google, _storage2.default.get('google')); -state.snapcast = _extends({}, state.snapcast, _storage2.default.get('snapcast')); +state.core = _objectSpread(_objectSpread({}, state.core), _util_storage__WEBPACK_IMPORTED_MODULE_3__["default"].get('core')); +state.ui = _objectSpread(_objectSpread({}, state.ui), _util_storage__WEBPACK_IMPORTED_MODULE_3__["default"].get('ui')); +state.mopidy = _objectSpread(_objectSpread({}, state.mopidy), _util_storage__WEBPACK_IMPORTED_MODULE_3__["default"].get('mopidy')); +state.pusher = _objectSpread(_objectSpread({}, state.pusher), _util_storage__WEBPACK_IMPORTED_MODULE_3__["default"].get('pusher')); +state.spotify = _objectSpread(_objectSpread({}, state.spotify), _util_storage__WEBPACK_IMPORTED_MODULE_3__["default"].get('spotify')); +state.lastfm = _objectSpread(_objectSpread({}, state.lastfm), _util_storage__WEBPACK_IMPORTED_MODULE_3__["default"].get('lastfm')); +state.genius = _objectSpread(_objectSpread({}, state.genius), _util_storage__WEBPACK_IMPORTED_MODULE_3__["default"].get('genius')); +state.google = _objectSpread(_objectSpread({}, state.google), _util_storage__WEBPACK_IMPORTED_MODULE_3__["default"].get('google')); +state.snapcast = _objectSpread(_objectSpread({}, state.snapcast), _util_storage__WEBPACK_IMPORTED_MODULE_3__["default"].get('snapcast')); // Run any migrations -// Run any migrations -state = (0, _migration2.default)(state); - -var reducers = (0, _redux.combineReducers)({ - core: _reducer2.default, - ui: _reducer4.default, - pusher: _reducer6.default, - mopidy: _reducer8.default, - lastfm: _reducer10.default, - genius: _reducer18.default, - spotify: _reducer12.default, - google: _reducer16.default, - snapcast: _reducer14.default +state = Object(_migration__WEBPACK_IMPORTED_MODULE_13__["default"])(state); +var reducers = Object(redux__WEBPACK_IMPORTED_MODULE_0__["combineReducers"])({ + core: _services_core_reducer__WEBPACK_IMPORTED_MODULE_4__["default"], + ui: _services_ui_reducer__WEBPACK_IMPORTED_MODULE_5__["default"], + pusher: _services_pusher_reducer__WEBPACK_IMPORTED_MODULE_6__["default"], + mopidy: _services_mopidy_reducer__WEBPACK_IMPORTED_MODULE_7__["default"], + lastfm: _services_lastfm_reducer__WEBPACK_IMPORTED_MODULE_8__["default"], + genius: _services_genius_reducer__WEBPACK_IMPORTED_MODULE_12__["default"], + spotify: _services_spotify_reducer__WEBPACK_IMPORTED_MODULE_9__["default"], + google: _services_google_reducer__WEBPACK_IMPORTED_MODULE_11__["default"], + snapcast: _services_snapcast_reducer__WEBPACK_IMPORTED_MODULE_10__["default"] }); - -exports.default = (0, _redux.createStore)(reducers, state, (0, _redux.applyMiddleware)(_reduxThunk2.default, _middleware20.default, _middleware2.default, _middleware4.default, _middleware8.default, _middleware6.default, _middleware14.default, _middleware10.default, _middleware12.default, _middleware16.default, _middleware18.default)); +/* harmony default export */ __webpack_exports__["default"] = (Object(redux__WEBPACK_IMPORTED_MODULE_0__["createStore"])(reducers, state, Object(redux__WEBPACK_IMPORTED_MODULE_0__["applyMiddleware"])(redux_thunk__WEBPACK_IMPORTED_MODULE_1__["default"], _services_localstorage_middleware__WEBPACK_IMPORTED_MODULE_23__["default"], _services_core_middleware__WEBPACK_IMPORTED_MODULE_14__["default"], _services_ui_middleware__WEBPACK_IMPORTED_MODULE_15__["default"], _services_mopidy_middleware__WEBPACK_IMPORTED_MODULE_17__["default"], _services_pusher_middleware__WEBPACK_IMPORTED_MODULE_16__["default"], _services_spotify_middleware__WEBPACK_IMPORTED_MODULE_20__["default"], _services_lastfm_middleware__WEBPACK_IMPORTED_MODULE_18__["default"], _services_genius_middleware__WEBPACK_IMPORTED_MODULE_19__["default"], _services_google_middleware__WEBPACK_IMPORTED_MODULE_21__["default"], _services_snapcast_middleware__WEBPACK_IMPORTED_MODULE_22__["default"]))); /***/ }), @@ -110261,22 +111791,18 @@ exports.default = (0, _redux.createStore)(reducers, state, (0, _redux.applyMiddl /*!***********************************!*\ !*** ./src/js/store/migration.js ***! \***********************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -exports.default = function (state) { +__webpack_require__.r(__webpack_exports__); +/* harmony default export */ __webpack_exports__["default"] = (function (state) { if (state.ui.shortkeys_enabled !== undefined) { state.ui.hotkeys_enabled = state.ui.shortkeys_enabled; } + return state; -}; +}); /***/ }), @@ -110284,20 +111810,32 @@ exports.default = function (state) { /*!*******************************!*\ !*** ./src/js/util/arrays.js ***! \*******************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: arrayOf, mergeDuplicates, removeDuplicates, applyFilter, createRange, sortItems, shuffle, indexToArray, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "arrayOf", function() { return arrayOf; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mergeDuplicates", function() { return mergeDuplicates; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "removeDuplicates", function() { return removeDuplicates; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "applyFilter", function() { return applyFilter; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createRange", function() { return createRange; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "sortItems", function() { return sortItems; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "shuffle", function() { return shuffle; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "indexToArray", function() { return indexToArray; }); +/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./helpers */ "./src/js/util/helpers.js"); +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.indexToArray = exports.shuffle = exports.sortItems = exports.createRange = exports.applyFilter = exports.removeDuplicates = exports.mergeDuplicates = exports.arrayOf = undefined; +function _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; } -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; +function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } -var _helpers = __webpack_require__(/*! ./helpers */ "./src/js/util/helpers.js"); /** * Convert an object (ie index) to an array of values @@ -110305,6 +111843,7 @@ var _helpers = __webpack_require__(/*! ./helpers */ "./src/js/util/helpers.js"); * @param object Object * @return Array */ + var indexToArray = function indexToArray(index, keys) { if (!index) return []; @@ -110313,11 +111852,11 @@ var indexToArray = function indexToArray(index, keys) { return index[key]; }); } + return Object.keys(index).map(function (key) { return index[key]; }); }; - /** * Digest an array of objects and pull into simple array of one property * @@ -110325,14 +111864,16 @@ var indexToArray = function indexToArray(index, keys) { * @param items = Array * @return Array * */ + + var arrayOf = function arrayOf(property, items) { var array = []; - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; + + var _iterator = _createForOfIteratorHelper(items), + _step; try { - for (var _iterator = items[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + for (_iterator.s(); !(_step = _iterator.n()).done;) { var item = _step.value; // Make sure the property is defined @@ -110341,38 +111882,32 @@ var arrayOf = function arrayOf(property, items) { } } } catch (err) { - _didIteratorError = true; - _iteratorError = err; + _iterator.e(err); } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } + _iterator.f(); } return array; }; - /** * Merge duplicated items in an array * * @param list Array the unclean array * @param key string = the unique key (id, uri, tlid, etc) * */ + + var mergeDuplicates = function mergeDuplicates(list, key) { var clean_list = []; var keyed_list = {}; for (var i in list) { var item = list[i]; + if (item[key] in keyed_list) { - item = _extends({}, keyed_list[item[key]], item); + item = _objectSpread(_objectSpread({}, keyed_list[item[key]]), item); } + keyed_list[item[key]] = item; } @@ -110382,12 +111917,13 @@ var mergeDuplicates = function mergeDuplicates(list, key) { return clean_list; }; - /** * Remove duplicate items in a simple array * * @param list Array the unclean array * */ + + var removeDuplicates = function removeDuplicates(array) { var unique = []; @@ -110399,7 +111935,6 @@ var removeDuplicates = function removeDuplicates(array) { return unique; }; - /** * Apply a partial text search on an array of objects * @@ -110409,9 +111944,10 @@ var removeDuplicates = function removeDuplicates(array) { * @param singular = boolean (just return the first result) * @return array * */ + + var applyFilter = function applyFilter(field, value, array) { var singular = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; - var results = []; for (var i = 0; i < array.length; i++) { @@ -110419,35 +111955,38 @@ var applyFilter = function applyFilter(field, value, array) { if (singular) { return array[i]; } + results.push(array[i]); } } return results; }; - /** * Convert a list of indexes to a useable range * We ignore stragglers, and only attend to the first 'bunch' of consecutive indexes * * @param indexes array of int * */ + + var createRange = function createRange(indexes) { // sort our indexes smallest to largest function sortAsc(a, b) { return a - b; } - indexes.sort(sortAsc); - // iterate indexes to build the first 'bunch' + indexes.sort(sortAsc); // iterate indexes to build the first 'bunch' + var first_bunch = []; var previous_index = false; + for (var i = 0; i < indexes.length; i++) { if (!previous_index || previous_index == indexes[i] - 1) { first_bunch.push(indexes[i]); previous_index = indexes[i]; - } - // TODO: break when we find an integer step for better performance + } // TODO: break when we find an integer step for better performance + } return { @@ -110455,7 +111994,6 @@ var createRange = function createRange(indexes) { length: first_bunch.length }; }; - /** * Sort an array of objects * @param array = array to sort @@ -110464,6 +112002,8 @@ var createRange = function createRange(indexes) { * @param sort_map = array of value ordering (rather than alphabetical, numerical, etc) * @return array * */ + + var sortItems = function sortItems(array, property) { var reverse = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; var sort_map = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null; @@ -110474,12 +112014,12 @@ var sortItems = function sortItems(array, property) { function get_value(value) { var split = property.split('.'); - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; + + var _iterator2 = _createForOfIteratorHelper(split), + _step2; try { - for (var _iterator2 = split[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { var property_element = _step2.value; // Apply sort on a property of the first item of an array @@ -110489,36 +112029,25 @@ var sortItems = function sortItems(array, property) { continue; } else { return null; - } + } // Just need the length of an array - // Just need the length of an array } else if (property_element == 'length') { if (Array.isArray(value)) { return value.length; } - return 0; - // No value here + return 0; // No value here } else if (typeof value[property_element] === 'undefined') { return null; - } + } // Otherwise continue looping to the end of the split property + - // Otherwise continue looping to the end of the split property value = value[property_element]; } } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; + _iterator2.e(err); } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2.return) { - _iterator2.return(); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } + _iterator2.f(); } return value; @@ -110526,38 +112055,31 @@ var sortItems = function sortItems(array, property) { function compare(a, b) { var a_value = get_value(a); - var b_value = get_value(b); + var b_value = get_value(b); // Sorting by URI as a reference for sorting by uri source (first component of URI) - // Sorting by URI as a reference for sorting by uri source (first component of URI) if (property == 'uri') { - a_value = (0, _helpers.uriSource)(a_value); - b_value = (0, _helpers.uriSource)(b_value); - } - - // Map sorting + a_value = Object(_helpers__WEBPACK_IMPORTED_MODULE_0__["uriSource"])(a_value); + b_value = Object(_helpers__WEBPACK_IMPORTED_MODULE_0__["uriSource"])(b_value); + } // Map sorting // Use the index of the string as a sorting mechanism - if (sort_map) { - var a_index = sort_map.indexOf(a_value + ':'); - var b_index = sort_map.indexOf(b_value + ':'); - if (a_index < b_index) return 1; - if (a_index > b_index) return -1; - // Boolean sorting + + if (sort_map) { + var a_index = sort_map.indexOf("".concat(a_value, ":")); + var b_index = sort_map.indexOf("".concat(b_value, ":")); + if (a_index < b_index) return 1; + if (a_index > b_index) return -1; // Boolean sorting } else if (typeof a_value === 'boolean' && typeof b_value === 'boolean') { if (a_value && !b_value) return -1; if (!a_value && b_value) return 1; - return 0; - - // Numeric sorting + return 0; // Numeric sorting } else if (typeof a_value === 'number' && typeof b_value === 'number') { if (a_value == null && b_value == null) return 0; if (a_value == null) return -1; if (b_value == null) return 1; if (parseInt(a_value) > parseInt(b_value)) return 1; if (parseInt(a_value) < parseInt(b_value)) return -1; - return 0; - - // Alphabetic sorting + return 0; // Alphabetic sorting } else { if (a_value && !b_value) return -1; if (!a_value && b_value) return 1; @@ -110569,38 +112091,38 @@ var sortItems = function sortItems(array, property) { } var sorted = Object.assign([], array.sort(compare)); + if (reverse) { sorted.reverse(); } + return sorted; }; - /** * Shuffle items in place * * @param Array items * @return Array * */ + + var shuffle = function shuffle(array) { - var j = void 0;var x = void 0;var i = void 0; + var j; + var x; + var i; + for (i = array.length - 1; i > 0; i--) { j = Math.floor(Math.random() * (i + 1)); x = array[i]; array[i] = array[j]; array[j] = x; } + return array; }; -exports.arrayOf = arrayOf; -exports.mergeDuplicates = mergeDuplicates; -exports.removeDuplicates = removeDuplicates; -exports.applyFilter = applyFilter; -exports.createRange = createRange; -exports.sortItems = sortItems; -exports.shuffle = shuffle; -exports.indexToArray = indexToArray; -exports.default = { + +/* harmony default export */ __webpack_exports__["default"] = ({ arrayOf: arrayOf, mergeDuplicates: mergeDuplicates, removeDuplicates: removeDuplicates, @@ -110609,7 +112131,7 @@ exports.default = { sortItems: sortItems, shuffle: shuffle, indexToArray: indexToArray -}; +}); /***/ }), @@ -110617,22 +112139,44 @@ exports.default = { /*!*******************************!*\ !*** ./src/js/util/format.js ***! \*******************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: toJSON, getTrackIcon, digestMopidyImages, formatImages, formatSimpleObject, formatAlbum, formatAlbums, formatArtist, formatArtists, formatPlaylist, formatPlaylists, formatUser, formatUsers, formatTrack, formatTracks, formatClient, formatGroup, collate, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "toJSON", function() { return toJSON; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getTrackIcon", function() { return getTrackIcon; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "digestMopidyImages", function() { return digestMopidyImages; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "formatImages", function() { return formatImages; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "formatSimpleObject", function() { return formatSimpleObject; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "formatAlbum", function() { return formatAlbum; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "formatAlbums", function() { return formatAlbums; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "formatArtist", function() { return formatArtist; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "formatArtists", function() { return formatArtists; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "formatPlaylist", function() { return formatPlaylist; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "formatPlaylists", function() { return formatPlaylists; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "formatUser", function() { return formatUser; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "formatUsers", function() { return formatUsers; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "formatTrack", function() { return formatTrack; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "formatTracks", function() { return formatTracks; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "formatClient", function() { return formatClient; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "formatGroup", function() { return formatGroup; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "collate", function() { return collate; }); +/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./helpers */ "./src/js/util/helpers.js"); +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.collate = exports.formatGroup = exports.formatClient = exports.formatTracks = exports.formatTrack = exports.formatUsers = exports.formatUser = exports.formatPlaylists = exports.formatPlaylist = exports.formatArtists = exports.formatArtist = exports.formatAlbums = exports.formatAlbum = exports.formatSimpleObject = exports.formatImages = exports.digestMopidyImages = exports.getTrackIcon = exports.toJSON = undefined; +function _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; } -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; +function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } -var _helpers = __webpack_require__(/*! ./helpers */ "./src/js/util/helpers.js"); /** * Convert a string to JSON, after we've checked whether it needs @@ -110641,32 +112185,33 @@ var _helpers = __webpack_require__(/*! ./helpers */ "./src/js/util/helpers.js"); * @param data String or Object * @return Object * */ + var toJSON = function toJSON(data) { // Parse it try { var json = JSON.parse(data); - return json; - - // Could not parse string + return json; // Could not parse string } catch (e) { // Check if it's JSON already if (data.constructor === {}.constructor) { return data; } + console.error('Could not convert non-JSON', string); } + return {}; }; - /** * Get a track's icon * @param track object * @return string * */ + + var getTrackIcon = function getTrackIcon() { var current_track = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; var core = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - if (!core) return false; if (!current_track) return false; if (typeof current_track.uri === 'undefined') return false; @@ -110675,7 +112220,6 @@ var getTrackIcon = function getTrackIcon() { if (!track.images) return false; return formatImages(track.images).small; }; - /** * Digest an array of Mopidy image objects into a universal format. We also re-write * image URLs to be absolute to the mopidy server (required for proxy setups). @@ -110684,6 +112228,8 @@ var getTrackIcon = function getTrackIcon() { * @param images = array * @return array * */ + + var digestMopidyImages = function digestMopidyImages(mopidy, images) { var digested = []; @@ -110695,21 +112241,19 @@ var digestMopidyImages = function digestMopidyImages(mopidy, images) { if (!url && images[i].uri) { url = images[i].uri; - } + } // Amend our URL - // Amend our URL - images[i].url = url; - // Replace local images to point directly to our Mopidy server + images[i].url = url; // Replace local images to point directly to our Mopidy server + if (url && url.startsWith('/images/')) { - url = '//' + mopidy.host + ':' + mopidy.port + url; - } + url = "//".concat(mopidy.host, ":").concat(mopidy.port).concat(url); + } // String-based image - // String-based image } else if (typeof images[i] === 'string') { // Replace local images to point directly to our Mopidy server if (images[i].startsWith('/images/')) { - images[i] = '//' + mopidy.host + ':' + mopidy.port + images[i]; + images[i] = "//".concat(mopidy.host, ":").concat(mopidy.port).concat(images[i]); } } @@ -110718,7 +112262,6 @@ var digestMopidyImages = function digestMopidyImages(mopidy, images) { return digested; }; - /** * Format image URLs into a consistent size-based object * We digest all our known image source formats into a universal small,medium,large,huge object @@ -110726,6 +112269,8 @@ var digestMopidyImages = function digestMopidyImages(mopidy, images) { * @param $data mixed * @return Object * */ + + var formatImages = function formatImages(data) { var sizes = { formatted: true, @@ -110737,23 +112282,22 @@ var formatImages = function formatImages(data) { if (!data) { return sizes; - } + } // An array of images has been provided + - // An array of images has been provided if (Array.isArray(data)) { if (data.length <= 0) { return sizes; } for (var i = 0; i < data.length; i++) { - var image = data[i]; + var image = data[i]; // Already-formatted - // Already-formatted if (image.formatted) { - return image; + return image; // Mopidy image object + } - // Mopidy image object - }if (image.__model__ && image.__model__ == 'Image') { + if (image.__model__ && image.__model__ == 'Image') { if (image.width < 400) { sizes.small = image.url; } else if (image.width < 800) { @@ -110762,13 +112306,10 @@ var formatImages = function formatImages(data) { sizes.large = image.url; } else { sizes.huge = image.url; - } + } // Mopidy image string - // Mopidy image string } else if (typeof image === 'string') { - sizes.small = image; - - // spotify-styled images + sizes.small = image; // spotify-styled images } else if (image.width !== undefined) { if (image.width < 400) { sizes.small = image.url; @@ -110778,9 +112319,8 @@ var formatImages = function formatImages(data) { sizes.large = image.url; } else { sizes.huge = image.url; - } + } // lastfm-styled images - // lastfm-styled images } else if (image.size !== undefined) { switch (image.size) { case 'mega': @@ -110788,37 +112328,37 @@ var formatImages = function formatImages(data) { case 'large': sizes.medium = image['#text']; break; + case 'medium': case 'small': sizes.small = image['#text']; break; } } - } - - // An object of images has been provided + } // An object of images has been provided // The Genius avatar object is an example of this + } else { if (data.small) sizes.small = data.small.url; if (data.medium) sizes.medium = data.medium.url; if (data.large) sizes.large = data.large.url; if (data.huge) sizes.huge = data.huge.url; - } - - // Inherit images where we haven't been given the appropriate size + } // Inherit images where we haven't been given the appropriate size // Ie small duplicated to tiny, large duplicated to medium, etc + + if (!sizes.small) { if (sizes.medium) sizes.small = sizes.medium;else if (sizes.large) sizes.small = sizes.large;else if (sizes.huge) sizes.small = sizes.huge;else sizes.small = null; } + if (!sizes.medium) { if (sizes.large) sizes.medium = sizes.large;else if (sizes.huge) sizes.medium = sizes.huge;else sizes.medium = sizes.small; } + if (!sizes.large) sizes.large = sizes.medium; if (!sizes.huge) sizes.huge = sizes.large; - return sizes; }; - /** * Format a simple object * This is a shell record containing only the bare essentials. Typically @@ -110827,237 +112367,152 @@ var formatImages = function formatImages(data) { * @param data obj * @return obj * */ + + var formatSimpleObject = function formatSimpleObject(data) { var simple_object = {}; var fields = ['uri', 'name']; - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; + for (var _i = 0, _fields = fields; _i < _fields.length; _i++) { + var field = _fields[_i]; - try { - for (var _iterator = fields[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var field = _step.value; - - if (data.hasOwnProperty(field)) { - simple_object[field] = data[field]; - } - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } + if (data.hasOwnProperty(field)) { + simple_object[field] = data[field]; } } return simple_object; }; - /** * Format multiple items * * @param tracks Array * @return Array * */ + + var formatTracks = function formatTracks() { var records = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; - var formatted = []; - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; + + var _iterator = _createForOfIteratorHelper(records), + _step; try { - for (var _iterator2 = records[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { - var record = _step2.value; - + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var record = _step.value; formatted.push(formatTrack(record)); } } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; + _iterator.e(err); } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2.return) { - _iterator2.return(); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } + _iterator.f(); } return formatted; }; + var formatAlbums = function formatAlbums() { var records = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; - var formatted = []; - var _iteratorNormalCompletion3 = true; - var _didIteratorError3 = false; - var _iteratorError3 = undefined; + + var _iterator2 = _createForOfIteratorHelper(records), + _step2; try { - for (var _iterator3 = records[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { - var record = _step3.value; - + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var record = _step2.value; formatted.push(formatAlbum(record)); } } catch (err) { - _didIteratorError3 = true; - _iteratorError3 = err; + _iterator2.e(err); } finally { - try { - if (!_iteratorNormalCompletion3 && _iterator3.return) { - _iterator3.return(); - } - } finally { - if (_didIteratorError3) { - throw _iteratorError3; - } - } + _iterator2.f(); } return formatted; }; + var formatArtists = function formatArtists() { var records = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; - var formatted = []; - var _iteratorNormalCompletion4 = true; - var _didIteratorError4 = false; - var _iteratorError4 = undefined; + + var _iterator3 = _createForOfIteratorHelper(records), + _step3; try { - for (var _iterator4 = records[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) { - var record = _step4.value; - + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + var record = _step3.value; formatted.push(formatArtist(record)); } } catch (err) { - _didIteratorError4 = true; - _iteratorError4 = err; + _iterator3.e(err); } finally { - try { - if (!_iteratorNormalCompletion4 && _iterator4.return) { - _iterator4.return(); - } - } finally { - if (_didIteratorError4) { - throw _iteratorError4; - } - } + _iterator3.f(); } return formatted; }; + var formatPlaylists = function formatPlaylists() { var records = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; - var formatted = []; - var _iteratorNormalCompletion5 = true; - var _didIteratorError5 = false; - var _iteratorError5 = undefined; + + var _iterator4 = _createForOfIteratorHelper(records), + _step4; try { - for (var _iterator5 = records[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) { - var record = _step5.value; - + for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) { + var record = _step4.value; formatted.push(formatTrack(record)); } } catch (err) { - _didIteratorError5 = true; - _iteratorError5 = err; + _iterator4.e(err); } finally { - try { - if (!_iteratorNormalCompletion5 && _iterator5.return) { - _iterator5.return(); - } - } finally { - if (_didIteratorError5) { - throw _iteratorError5; - } - } + _iterator4.f(); } return formatted; }; + var formatUsers = function formatUsers() { var records = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; - var formatted = []; - var _iteratorNormalCompletion6 = true; - var _didIteratorError6 = false; - var _iteratorError6 = undefined; + + var _iterator5 = _createForOfIteratorHelper(records), + _step5; try { - for (var _iterator6 = records[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) { - var record = _step6.value; - + for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) { + var record = _step5.value; formatted.push(formatUser(record)); } } catch (err) { - _didIteratorError6 = true; - _iteratorError6 = err; + _iterator5.e(err); } finally { - try { - if (!_iteratorNormalCompletion6 && _iterator6.return) { - _iterator6.return(); - } - } finally { - if (_didIteratorError6) { - throw _iteratorError6; - } - } + _iterator5.f(); } return formatted; }; - /** * Format our album objects into a universal format * * @param data obj * @return obj * */ + + var formatAlbum = function formatAlbum(data) { var album = {}; - var fields = ['uri', 'provider', 'name', 'type', 'last_modified', 'added_at', 'release_date', 'listeners', 'play_count', 'wiki', 'wiki_publish_date', 'popularity', 'images', 'artists_uris', 'tracks_uris', 'tracks_total', 'tracks_more', 'artists']; + var fields = ['uri', 'provider', 'name', 'type', 'last_modified', 'added_at', 'release_date', 'listeners', 'play_count', 'wiki', 'wiki_publish_date', 'popularity', 'images', 'artists_uris', 'tracks_uris', 'tracks_total', 'tracks_more', 'artists' // Array of simple records + ]; // Loop fields and import from data - // Loop fields and import from data - var _iteratorNormalCompletion7 = true; - var _didIteratorError7 = false; - var _iteratorError7 = undefined; + for (var _i2 = 0, _fields2 = fields; _i2 < _fields2.length; _i2++) { + var field = _fields2[_i2]; - try { - for (var _iterator7 = fields[Symbol.iterator](), _step7; !(_iteratorNormalCompletion7 = (_step7 = _iterator7.next()).done); _iteratorNormalCompletion7 = true) { - var field = _step7.value; - - if (data.hasOwnProperty(field)) { - album[field] = data[field]; - } - } - } catch (err) { - _didIteratorError7 = true; - _iteratorError7 = err; - } finally { - try { - if (!_iteratorNormalCompletion7 && _iterator7.return) { - _iterator7.return(); - } - } finally { - if (_didIteratorError7) { - throw _iteratorError7; - } + if (data.hasOwnProperty(field)) { + album[field] = data[field]; } } @@ -111070,54 +112525,38 @@ var formatAlbum = function formatAlbum(data) { } else if (data.added_at && album.last_modified === undefined) { album.last_modified = data.added_at; } + if (data.date && !album.date) { album.release_date = data.date; } + if (data.album_type) { album.type = data.album_type; } + if (album.provider === undefined && album.uri !== undefined) { - album.provider = (0, _helpers.uriSource)(album.uri); + album.provider = Object(_helpers__WEBPACK_IMPORTED_MODULE_0__["uriSource"])(album.uri); } return album; }; - /** * Format our artist objects into a universal format * * @param data obj * @return obj * */ + + var formatArtist = function formatArtist(data) { var artist = {}; - var fields = ['uri', 'provider', 'mbid', 'name', 'type', 'popularity', 'followers', 'listeners', 'added_at', 'biography', 'biography_link', 'biography_publish_date', 'related_artists_uris', 'albums_uris', 'albums_total', 'albums_more', 'tracks_uris', 'tracks_total', 'tracks_more']; + var fields = ['uri', 'provider', 'mbid', 'name', 'type', 'popularity', 'followers', 'listeners', 'added_at', 'biography', 'biography_link', 'biography_publish_date', 'related_artists_uris', 'albums_uris', 'albums_total', 'albums_more', 'tracks_uris', 'tracks_total', 'tracks_more']; // Loop fields and import from data - // Loop fields and import from data - var _iteratorNormalCompletion8 = true; - var _didIteratorError8 = false; - var _iteratorError8 = undefined; + for (var _i3 = 0, _fields3 = fields; _i3 < _fields3.length; _i3++) { + var field = _fields3[_i3]; - try { - for (var _iterator8 = fields[Symbol.iterator](), _step8; !(_iteratorNormalCompletion8 = (_step8 = _iterator8.next()).done); _iteratorNormalCompletion8 = true) { - var field = _step8.value; - - if (data.hasOwnProperty(field)) { - artist[field] = data[field]; - } - } - } catch (err) { - _didIteratorError8 = true; - _iteratorError8 = err; - } finally { - try { - if (!_iteratorNormalCompletion8 && _iterator8.return) { - _iterator8.return(); - } - } finally { - if (_didIteratorError8) { - throw _iteratorError8; - } + if (data.hasOwnProperty(field)) { + artist[field] = data[field]; } } @@ -111133,56 +112572,39 @@ var formatArtist = function formatArtist(data) { if (data.bio.content && !artist.biography) { artist.biography = data.bio.content; } + if (data.bio.links && data.bio.links.link && data.bio.links.link.href && !artist.biography_link) { artist.biography_link = data.bio.links.link.href; } + if (data.bio.published && !artist.biography_publish_date) { artist.biography_publish_date = data.bio.published; } } if (artist.provider === undefined && artist.uri !== undefined) { - artist.provider = (0, _helpers.uriSource)(artist.uri); + artist.provider = Object(_helpers__WEBPACK_IMPORTED_MODULE_0__["uriSource"])(artist.uri); } return artist; }; - /** * Format our playlist objects into a universal format * * @param data obj * @return obj * */ + + var formatPlaylist = function formatPlaylist(data) { var playlist = {}; - var fields = ['uri', 'snapshot_id', 'provider', 'type', 'collaborative', 'public', 'name', 'description', 'images', 'popularity', 'followers', 'last_modified', 'can_edit', 'owner', 'user_uri', 'tracks_uris', 'tracks_total', 'tracks_more']; + var fields = ['uri', 'snapshot_id', 'provider', 'type', 'collaborative', 'public', 'name', 'description', 'images', 'popularity', 'followers', 'last_modified', 'can_edit', 'owner', 'user_uri', 'tracks_uris', 'tracks_total', 'tracks_more']; // Loop fields and import from data - // Loop fields and import from data - var _iteratorNormalCompletion9 = true; - var _didIteratorError9 = false; - var _iteratorError9 = undefined; + for (var _i4 = 0, _fields4 = fields; _i4 < _fields4.length; _i4++) { + var field = _fields4[_i4]; - try { - for (var _iterator9 = fields[Symbol.iterator](), _step9; !(_iteratorNormalCompletion9 = (_step9 = _iterator9.next()).done); _iteratorNormalCompletion9 = true) { - var field = _step9.value; - - if (data.hasOwnProperty(field)) { - playlist[field] = data[field]; - } - } - } catch (err) { - _didIteratorError9 = true; - _iteratorError9 = err; - } finally { - try { - if (!_iteratorNormalCompletion9 && _iterator9.return) { - _iterator9.return(); - } - } finally { - if (_didIteratorError9) { - throw _iteratorError9; - } + if (data.hasOwnProperty(field)) { + playlist[field] = data[field]; } } @@ -111215,53 +112637,34 @@ var formatPlaylist = function formatPlaylist(data) { name: data.owner.display_name ? data.owner.display_name : null }; playlist.user_uri = data.owner.uri; - } + } // Spotify upgraded their playlists URI to remove user component (Sept 2018) - // Spotify upgraded their playlists URI to remove user component (Sept 2018) - playlist.uri = (0, _helpers.upgradeSpotifyPlaylistUri)(playlist.uri); + + playlist.uri = Object(_helpers__WEBPACK_IMPORTED_MODULE_0__["upgradeSpotifyPlaylistUri"])(playlist.uri); if (playlist.provider === undefined && playlist.uri !== undefined) { - playlist.provider = (0, _helpers.uriSource)(playlist.uri); + playlist.provider = Object(_helpers__WEBPACK_IMPORTED_MODULE_0__["uriSource"])(playlist.uri); } return playlist; }; - /** * Format a user objects into a universal format * * @param data obj * @return obj * */ + + var formatUser = function formatUser(data) { var user = {}; - var fields = ['id', 'uri', 'provider', 'name', 'images', 'followers', 'playlists_uris', 'playlists_total', 'playlists_more']; + var fields = ['id', 'uri', 'provider', 'name', 'images', 'followers', 'playlists_uris', 'playlists_total', 'playlists_more']; // Loop fields and import from data - // Loop fields and import from data - var _iteratorNormalCompletion10 = true; - var _didIteratorError10 = false; - var _iteratorError10 = undefined; + for (var _i5 = 0, _fields5 = fields; _i5 < _fields5.length; _i5++) { + var field = _fields5[_i5]; - try { - for (var _iterator10 = fields[Symbol.iterator](), _step10; !(_iteratorNormalCompletion10 = (_step10 = _iterator10.next()).done); _iteratorNormalCompletion10 = true) { - var field = _step10.value; - - if (data.hasOwnProperty(field)) { - user[field] = data[field]; - } - } - } catch (err) { - _didIteratorError10 = true; - _iteratorError10 = err; - } finally { - try { - if (!_iteratorNormalCompletion10 && _iterator10.return) { - _iterator10.return(); - } - } finally { - if (_didIteratorError10) { - throw _iteratorError10; - } + if (data.hasOwnProperty(field)) { + user[field] = data[field]; } } @@ -111276,75 +112679,63 @@ var formatUser = function formatUser(data) { if (data.followers && data.followers.total !== undefined) { user.followers = data.followers.total; } + if (data.realname) { user.name = data.realname; } + if (data.display_name && !user.name) { user.name = data.display_name; } + if (data.id && !user.name) { user.name = data.id; } + if (user.provider === undefined && user.uri !== undefined) { - user.provider = (0, _helpers.uriSource)(user.uri); + user.provider = Object(_helpers__WEBPACK_IMPORTED_MODULE_0__["uriSource"])(user.uri); } return user; }; - /** * Format tracks into our universal format * * @param data obj * @return obj * */ + + var formatTrack = function formatTrack(data) { var track = {}; var fields = ['uri', 'tlid', 'provider', 'name', 'images', 'release_date', 'disc_number', 'track_number', 'duration', 'followers', 'popularity', 'userloved', 'last_modified', 'added_at', 'is_explicit', 'is_local', 'lyrics', 'lyrics_path', 'lyrics_results', 'artists', // Array of simple records - 'album']; + 'album' // Array of simple records + ]; // Nested track object (eg in spotify playlist) - // Nested track object (eg in spotify playlist) - if (data && data.track && (0, _helpers.isObject)(data.track)) { + if (data && data.track && Object(_helpers__WEBPACK_IMPORTED_MODULE_0__["isObject"])(data.track)) { // Copy wrapper's details (if applicable) if (data.added_by) { data.track.added_by = data.added_by; } + if (data.added_at) { data.track.added_at = data.added_at; } + if (data.tlid) { data.track.tlid = data.tlid; - } + } // And now flatten + - // And now flatten data = data.track; - } + } // Loop fields and import from data - // Loop fields and import from data - var _iteratorNormalCompletion11 = true; - var _didIteratorError11 = false; - var _iteratorError11 = undefined; - try { - for (var _iterator11 = fields[Symbol.iterator](), _step11; !(_iteratorNormalCompletion11 = (_step11 = _iterator11.next()).done); _iteratorNormalCompletion11 = true) { - var field = _step11.value; + for (var _i6 = 0, _fields6 = fields; _i6 < _fields6.length; _i6++) { + var field = _fields6[_i6]; - if (data.hasOwnProperty(field)) { - track[field] = data[field]; - } - } - } catch (err) { - _didIteratorError11 = true; - _iteratorError11 = err; - } finally { - try { - if (!_iteratorNormalCompletion11 && _iterator11.return) { - _iterator11.return(); - } - } finally { - if (_didIteratorError11) { - throw _iteratorError11; - } + if (data.hasOwnProperty(field)) { + track[field] = data[field]; } } @@ -111378,10 +112769,10 @@ var formatTrack = function formatTrack(data) { if (track.explicit === undefined && data.explicit !== undefined) { track.is_explicit = data.explicit; - } - - // Copy images from albums (if applicable) + } // Copy images from albums (if applicable) // TOOD: Identify if we stil need this... + + if (data.album && data.album.images) { if (track.images === undefined || !track.images.formatted) { track.images = formatImages(data.album.images); @@ -111389,46 +112780,28 @@ var formatTrack = function formatTrack(data) { } if (track.provider === undefined && track.uri !== undefined) { - track.provider = (0, _helpers.uriSource)(track.uri); + track.provider = Object(_helpers__WEBPACK_IMPORTED_MODULE_0__["uriSource"])(track.uri); } return track; }; - /** * Format a snapcast client object into a universal format * * @param data obj * @return obj * */ + + var formatClient = function formatClient(data) { var client = {}; var fields = ['id', 'connected', 'name', 'host_name', 'volume', 'mute', 'latency', 'power_on_command', 'power_off_command']; - var _iteratorNormalCompletion12 = true; - var _didIteratorError12 = false; - var _iteratorError12 = undefined; + for (var _i7 = 0, _fields7 = fields; _i7 < _fields7.length; _i7++) { + var field = _fields7[_i7]; - try { - for (var _iterator12 = fields[Symbol.iterator](), _step12; !(_iteratorNormalCompletion12 = (_step12 = _iterator12.next()).done); _iteratorNormalCompletion12 = true) { - var field = _step12.value; - - if (data.hasOwnProperty(field)) { - client[field] = data[field]; - } - } - } catch (err) { - _didIteratorError12 = true; - _iteratorError12 = err; - } finally { - try { - if (!_iteratorNormalCompletion12 && _iterator12.return) { - _iterator12.return(); - } - } finally { - if (_didIteratorError12) { - throw _iteratorError12; - } + if (data.hasOwnProperty(field)) { + client[field] = data[field]; } } @@ -111445,6 +112818,7 @@ var formatClient = function formatClient(data) { if (data.config.volume.percent !== undefined) { client.volume = data.config.volume.percent; } + if (data.config.volume.muted) { client.mute = data.config.volume.muted; } @@ -111453,10 +112827,12 @@ var formatClient = function formatClient(data) { if (client.latency === undefined && data.latency !== undefined) { client.latency = data.latency; } + if (_typeof(data.volume) === 'object') { if (data.volume.percent) { client.volume = data.volume.percent; } + if (data.volume.muted) { client.mute = data.volume.muted; } @@ -111469,41 +112845,23 @@ var formatClient = function formatClient(data) { return client; }; - /** * Format a snapcast client object into a universal format * * @param data obj * @return obj * */ + + var formatGroup = function formatGroup(data) { var group = {}; var fields = ['id', 'name', 'mute', 'stream_id', 'clients_ids']; - var _iteratorNormalCompletion13 = true; - var _didIteratorError13 = false; - var _iteratorError13 = undefined; + for (var _i8 = 0, _fields8 = fields; _i8 < _fields8.length; _i8++) { + var field = _fields8[_i8]; - try { - for (var _iterator13 = fields[Symbol.iterator](), _step13; !(_iteratorNormalCompletion13 = (_step13 = _iterator13.next()).done); _iteratorNormalCompletion13 = true) { - var field = _step13.value; - - if (data.hasOwnProperty(field)) { - group[field] = data[field]; - } - } - } catch (err) { - _didIteratorError13 = true; - _iteratorError13 = err; - } finally { - try { - if (!_iteratorNormalCompletion13 && _iterator13.return) { - _iterator13.return(); - } - } finally { - if (_didIteratorError13) { - throw _iteratorError13; - } + if (data.hasOwnProperty(field)) { + group[field] = data[field]; } } @@ -111513,7 +112871,6 @@ var formatGroup = function formatGroup(data) { return group; }; - /** * Collate an object with external references into a fully self-contained object * We merge *_uris references (ie tracks_uris) into the main object @@ -111522,17 +112879,17 @@ var formatGroup = function formatGroup(data) { * @param indexes Obj (the relevant core indexes) * @return object Obj * */ + + var collate = function collate(obj) { var indexes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - // First, let's reset this object // This is important because by changing this object, we inadvertently // change the source object (ie the indexed record), which undoes the // efficiencies of a lean index object - obj = _extends({}, obj); - - // Setup empty arrays for the appropriate reference objects + obj = _objectSpread({}, obj); // Setup empty arrays for the appropriate reference objects // This helps create a consistent object structure + if (obj.artists_uris !== undefined) obj.artists = []; if (obj.albums_uris !== undefined) obj.albums = []; if (obj.tracks_uris !== undefined) obj.tracks = []; @@ -111543,61 +112900,43 @@ var collate = function collate(obj) { if (indexes.artists) { if (obj.artists_uris) { - var _iteratorNormalCompletion14 = true; - var _didIteratorError14 = false; - var _iteratorError14 = undefined; + var _iterator6 = _createForOfIteratorHelper(obj.artists_uris), + _step6; try { - for (var _iterator14 = obj.artists_uris[Symbol.iterator](), _step14; !(_iteratorNormalCompletion14 = (_step14 = _iterator14.next()).done); _iteratorNormalCompletion14 = true) { - var uri = _step14.value; + for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) { + var uri = _step6.value; if (indexes.artists[uri]) { obj.artists.push(indexes.artists[uri]); } } } catch (err) { - _didIteratorError14 = true; - _iteratorError14 = err; + _iterator6.e(err); } finally { - try { - if (!_iteratorNormalCompletion14 && _iterator14.return) { - _iterator14.return(); - } - } finally { - if (_didIteratorError14) { - throw _iteratorError14; - } - } + _iterator6.f(); } } + if (obj.related_artists_uris) { - var _iteratorNormalCompletion15 = true; - var _didIteratorError15 = false; - var _iteratorError15 = undefined; + var _iterator7 = _createForOfIteratorHelper(obj.related_artists_uris), + _step7; try { - for (var _iterator15 = obj.related_artists_uris[Symbol.iterator](), _step15; !(_iteratorNormalCompletion15 = (_step15 = _iterator15.next()).done); _iteratorNormalCompletion15 = true) { - var uri = _step15.value; + for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) { + var uri = _step7.value; if (indexes.artists[uri]) { obj.related_artists.push(indexes.artists[uri]); } } } catch (err) { - _didIteratorError15 = true; - _iteratorError15 = err; + _iterator7.e(err); } finally { - try { - if (!_iteratorNormalCompletion15 && _iterator15.return) { - _iterator15.return(); - } - } finally { - if (_didIteratorError15) { - throw _iteratorError15; - } - } + _iterator7.f(); } } + if (obj.artist_uri) { if (indexes.artists[obj.artist_uri]) { obj.artist = indexes.artists[obj.artist_uri]; @@ -111607,33 +112946,24 @@ var collate = function collate(obj) { if (indexes.albums) { if (obj.albums_uris) { - var _iteratorNormalCompletion16 = true; - var _didIteratorError16 = false; - var _iteratorError16 = undefined; + var _iterator8 = _createForOfIteratorHelper(obj.albums_uris), + _step8; try { - for (var _iterator16 = obj.albums_uris[Symbol.iterator](), _step16; !(_iteratorNormalCompletion16 = (_step16 = _iterator16.next()).done); _iteratorNormalCompletion16 = true) { - var uri = _step16.value; + for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) { + var uri = _step8.value; if (indexes.albums[uri]) { obj.albums.push(indexes.albums[uri]); } } } catch (err) { - _didIteratorError16 = true; - _iteratorError16 = err; + _iterator8.e(err); } finally { - try { - if (!_iteratorNormalCompletion16 && _iterator16.return) { - _iterator16.return(); - } - } finally { - if (_didIteratorError16) { - throw _iteratorError16; - } - } + _iterator8.f(); } } + if (obj.album_uri) { if (indexes.albums[obj.album_uri]) { obj.album = indexes.albums[obj.album_uri]; @@ -111643,33 +112973,24 @@ var collate = function collate(obj) { if (indexes.tracks) { if (obj.tracks_uris) { - var _iteratorNormalCompletion17 = true; - var _didIteratorError17 = false; - var _iteratorError17 = undefined; + var _iterator9 = _createForOfIteratorHelper(obj.tracks_uris), + _step9; try { - for (var _iterator17 = obj.tracks_uris[Symbol.iterator](), _step17; !(_iteratorNormalCompletion17 = (_step17 = _iterator17.next()).done); _iteratorNormalCompletion17 = true) { - var uri = _step17.value; + for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) { + var uri = _step9.value; if (indexes.tracks[uri]) { obj.tracks.push(indexes.tracks[uri]); } } } catch (err) { - _didIteratorError17 = true; - _iteratorError17 = err; + _iterator9.e(err); } finally { - try { - if (!_iteratorNormalCompletion17 && _iterator17.return) { - _iterator17.return(); - } - } finally { - if (_didIteratorError17) { - throw _iteratorError17; - } - } + _iterator9.f(); } } + if (obj.track_uri) { if (indexes.tracks[obj.track_uri]) { obj.track = indexes.tracks[obj.track_uri]; @@ -111679,33 +113000,24 @@ var collate = function collate(obj) { if (indexes.users) { if (obj.users_uris) { - var _iteratorNormalCompletion18 = true; - var _didIteratorError18 = false; - var _iteratorError18 = undefined; + var _iterator10 = _createForOfIteratorHelper(obj.users_uris), + _step10; try { - for (var _iterator18 = obj.users_uris[Symbol.iterator](), _step18; !(_iteratorNormalCompletion18 = (_step18 = _iterator18.next()).done); _iteratorNormalCompletion18 = true) { - var uri = _step18.value; + for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) { + var uri = _step10.value; if (indexes.users[uri]) { obj.users.push(indexes.users[uri]); } } } catch (err) { - _didIteratorError18 = true; - _iteratorError18 = err; + _iterator10.e(err); } finally { - try { - if (!_iteratorNormalCompletion18 && _iterator18.return) { - _iterator18.return(); - } - } finally { - if (_didIteratorError18) { - throw _iteratorError18; - } - } + _iterator10.f(); } } + if (obj.user_uri) { if (indexes.users[obj.user_uri]) { obj.user = indexes.users[obj.user_uri]; @@ -111715,33 +113027,24 @@ var collate = function collate(obj) { if (indexes.playlists) { if (obj.playlists_uris) { - var _iteratorNormalCompletion19 = true; - var _didIteratorError19 = false; - var _iteratorError19 = undefined; + var _iterator11 = _createForOfIteratorHelper(obj.playlists_uris), + _step11; try { - for (var _iterator19 = obj.playlists_uris[Symbol.iterator](), _step19; !(_iteratorNormalCompletion19 = (_step19 = _iterator19.next()).done); _iteratorNormalCompletion19 = true) { - var uri = _step19.value; + for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) { + var uri = _step11.value; if (indexes.playlists[uri]) { obj.playlists.push(indexes.playlists[uri]); } } } catch (err) { - _didIteratorError19 = true; - _iteratorError19 = err; + _iterator11.e(err); } finally { - try { - if (!_iteratorNormalCompletion19 && _iterator19.return) { - _iterator19.return(); - } - } finally { - if (_didIteratorError19) { - throw _iteratorError19; - } - } + _iterator11.f(); } } + if (obj.playlist_uri) { if (indexes.playlists[obj.playlist_uri]) { obj.playlist = indexes.playlists[obj.playlist_uri]; @@ -111751,31 +113054,21 @@ var collate = function collate(obj) { if (indexes.clients) { if (obj.clients_ids) { - var _iteratorNormalCompletion20 = true; - var _didIteratorError20 = false; - var _iteratorError20 = undefined; + var _iterator12 = _createForOfIteratorHelper(obj.clients_ids), + _step12; try { - for (var _iterator20 = obj.clients_ids[Symbol.iterator](), _step20; !(_iteratorNormalCompletion20 = (_step20 = _iterator20.next()).done); _iteratorNormalCompletion20 = true) { - var id = _step20.value; + for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) { + var id = _step12.value; if (indexes.clients[id]) { obj.clients.push(indexes.clients[id]); } } } catch (err) { - _didIteratorError20 = true; - _iteratorError20 = err; + _iterator12.e(err); } finally { - try { - if (!_iteratorNormalCompletion20 && _iterator20.return) { - _iterator20.return(); - } - } finally { - if (_didIteratorError20) { - throw _iteratorError20; - } - } + _iterator12.f(); } } } @@ -111783,25 +113076,8 @@ var collate = function collate(obj) { return obj; }; -exports.toJSON = toJSON; -exports.getTrackIcon = getTrackIcon; -exports.digestMopidyImages = digestMopidyImages; -exports.formatImages = formatImages; -exports.formatSimpleObject = formatSimpleObject; -exports.formatAlbum = formatAlbum; -exports.formatAlbums = formatAlbums; -exports.formatArtist = formatArtist; -exports.formatArtists = formatArtists; -exports.formatPlaylist = formatPlaylist; -exports.formatPlaylists = formatPlaylists; -exports.formatUser = formatUser; -exports.formatUsers = formatUsers; -exports.formatTrack = formatTrack; -exports.formatTracks = formatTracks; -exports.formatClient = formatClient; -exports.formatGroup = formatGroup; -exports.collate = collate; -exports.default = { + +/* harmony default export */ __webpack_exports__["default"] = ({ toJSON: toJSON, getTrackIcon: getTrackIcon, digestMopidyImages: digestMopidyImages, @@ -111820,7 +113096,7 @@ exports.default = { formatClient: formatClient, formatGroup: formatGroup, collate: collate -}; +}); /***/ }), @@ -111828,17 +113104,48 @@ exports.default = { /*!********************************!*\ !*** ./src/js/util/helpers.js ***! \********************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: debounce, throttle, setFavicon, queryString, generateGuid, getCurrentPusherConnection, uriSource, uriType, sourceIcon, getFromUri, buildLink, isTouchDevice, isNumeric, isObject, isLoading, isHosted, getIndexedRecords, titleCase, scrollTo, upgradeSpotifyPlaylistUris, upgradeSpotifyPlaylistUri, iconFromKeyword, decodeMopidyUri, encodeMopidyUri, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "debounce", function() { return debounce; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "throttle", function() { return throttle; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setFavicon", function() { return setFavicon; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "queryString", function() { return queryString; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "generateGuid", function() { return generateGuid; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getCurrentPusherConnection", function() { return getCurrentPusherConnection; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "uriSource", function() { return uriSource; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "uriType", function() { return uriType; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "sourceIcon", function() { return sourceIcon; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getFromUri", function() { return getFromUri; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "buildLink", function() { return buildLink; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isTouchDevice", function() { return isTouchDevice; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isNumeric", function() { return isNumeric; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isObject", function() { return isObject; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isLoading", function() { return isLoading; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isHosted", function() { return isHosted; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getIndexedRecords", function() { return getIndexedRecords; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "titleCase", function() { return titleCase; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "scrollTo", function() { return scrollTo; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "upgradeSpotifyPlaylistUris", function() { return upgradeSpotifyPlaylistUris; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "upgradeSpotifyPlaylistUri", function() { return upgradeSpotifyPlaylistUri; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "iconFromKeyword", function() { return iconFromKeyword; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "decodeMopidyUri", function() { return decodeMopidyUri; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "encodeMopidyUri", function() { return encodeMopidyUri; }); +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } -Object.defineProperty(exports, "__esModule", { - value: true -}); +function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); } -function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } + +function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } /** * Returns a function, that, as long as it continues to be invoked, will not @@ -111847,13 +113154,14 @@ function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr * leading edge, instead of the trailing. * */ var debounce = function debounce(fn, wait, immediate) { - var timeout = void 0; + var timeout; return function () { var context = this; var args = arguments; var later = function later() { timeout = null; + if (!immediate) { fn.apply(context, args); } @@ -111873,82 +113181,75 @@ var throttle = function throttle(fn, delay) { var lastCall = 0; return function () { var now = new Date().getTime(); + if (now - lastCall < delay) { return; } + lastCall = now; - return fn.apply(undefined, arguments); + return fn.apply(void 0, arguments); }; }; - /** * Set the app's favicon to a specific image. * * @param filename String */ + + var setFavicon = function setFavicon(filename) { var links = document.getElementsByClassName('favicon'); - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; + + var _iterator = _createForOfIteratorHelper(links), + _step; try { - for (var _iterator = links[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + for (_iterator.s(); !(_step = _iterator.n()).done;) { var link = _step.value; - // Construct new var new_link = document.createElement('link'); new_link.className = link.className; new_link.rel = link.rel; - new_link.href = '/iris/assets/' + filename; + new_link.href = "/iris/assets/".concat(filename); + if (link.type) { new_link.type = link.type; - } + } // Remove the old one and add the new one + - // Remove the old one and add the new one document.head.removeChild(link); document.head.appendChild(new_link); } } catch (err) { - _didIteratorError = true; - _iteratorError = err; + _iterator.e(err); } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } + _iterator.f(); } }; - /** * Digest a react-router's location.search string into an array of values * * @param key String = the key you want from the URL * @param string String = the locaion.search string */ + + var queryString = function queryString(key, string) { var compact = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true; - var elements = string.replace('?', '').split('&'); var results = elements.reduce(function (accumulator, current) { var subElements = current.split('='); - var results = []; - - // We decode the URI, but also treat "+" as a space. This is needed for backend CGI.encode that + var results = []; // We decode the URI, but also treat "+" as a space. This is needed for backend CGI.encode that // happens when redirecting from an OAuth failure. + if (subElements[0] === key) { results = subElements[1].split(',').map(function (item) { return decodeURIComponent(item.replace(/\+/g, '%20')); }); } + return [].concat(_toConsumableArray(accumulator), _toConsumableArray(results)); }, []); - if (compact && results.length === 1) return results[0]; if (compact && results.length === 0) return null; return results; @@ -111964,6 +113265,7 @@ var generateGuid = function generateGuid() { var random_number = Math.floor(Math.random() * 100).toString(); return parseInt(date + random_number); } + var format = 'x'.repeat(length); return format.replace(/[xy]/g, function (c) { var r = Math.random() * 16 | 0; @@ -111979,18 +113281,19 @@ var getCurrentPusherConnection = function getCurrentPusherConnection(connections var currentConnection = newProps.pusher.connections.find(isCurrentConnection); if (!currentConnection) return false; - return currentConnection; }; - /** * Figure out a URI's source namespace * @param uri = string * */ + + var uriSource = function uriSource(uri) { if (!uri) { return false; } + var exploded = uri.split(':'); return exploded[0]; }; @@ -112000,9 +113303,10 @@ var uriSource = function uriSource(uri) { * @param uri = string * @return string * */ + + var uriType = function uriType(uri) { if (!uri) return null; - var exploded = uri.split(':'); if (exploded[0] === 'm3u') { @@ -112020,11 +113324,14 @@ var uriType = function uriType(uri) { case 'playlist': case 'genre': return exploded[1]; + case 'user': if (exploded.length > 3 && exploded[3] == 'playlist') { return 'playlist'; } + return exploded[1]; + default: return null; } @@ -112032,8 +113339,8 @@ var uriType = function uriType(uri) { var sourceIcon = function sourceIcon(uri) { var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; - if (uri) source = uriSource(uri); + switch (source) { case 'local': case 'm3u': @@ -112058,15 +113365,15 @@ var sourceIcon = function sourceIcon(uri) { return source; } }; - /** * Get an element from a URI * @param element = string, the element we wish to extract * @param uri = string * */ + + var getFromUri = function getFromUri(element) { var uri = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ''; - var exploded = uri.split(':'); var namespace = exploded[0]; @@ -112080,45 +113387,53 @@ var getFromUri = function getFromUri(element) { if (exploded[1] == 'artist') { return exploded[2]; } + break; case 'albumid': if (exploded[1] == 'album') { return exploded[2]; } + break; case 'playlistid': if (exploded[1] == 'playlist') { return exploded[2]; } + if (exploded[1] == 'user' && exploded[3] == 'playlist') { return exploded[4]; } + break; case 'playlistowner': if (exploded[1] == 'user' && exploded[3] == 'playlist') { return exploded[2]; } + break; case 'trackid': if (exploded[1] == 'track') { return exploded[2]; } + break; case 'userid': if (exploded[1] == 'user') { return exploded[2]; } + break; case 'genreid': if (exploded[1] == 'genre') { return exploded[2]; } + break; case 'seeds': @@ -112130,25 +113445,27 @@ var getFromUri = function getFromUri(element) { return seed.replace(/_/gi, ':'); }); } + break; case 'searchtype': if (exploded[1] == 'search') { return exploded[2]; } + break; case 'searchterm': if (exploded[1] == 'search') { return exploded[3]; } + break; default: return null; } }; - /** * Build a link to an asset. Using the URI type we can ascertain where we need * to direct the user (eg /track/local:track:1235.mp3) @@ -112156,45 +113473,47 @@ var getFromUri = function getFromUri(element) { * @param $uri = String * @return String * */ + + var buildLink = function buildLink(uri) { // Start the link with the URI type var type = uriType(uri); - var link = '/' + type + '/'; - - // Encode the whole URI as though it's a component. This makes it URL friendly for + var link = "/".concat(type, "/"); // Encode the whole URI as though it's a component. This makes it URL friendly for // all Mopidy backends (some use URIs like local:track:http://rss.com/stuff.mp3) which // is never going to work nicely. + uri = encodeURIComponent(uri); link += uri; - return link; }; - /** * Detect touch-ability */ + + var isTouchDevice = function isTouchDevice() { return 'ontouchstart' in document.documentElement; }; - /** * Figure out if a value is a number * @param value = mixed * @return boolean * */ + + var isNumeric = function isNumeric(value) { return !isNaN(parseFloat(value)) && isFinite(value); }; - /** * Figure out if a value is an object * @param value = mixed * @return boolean * */ + + var isObject = function isObject(value) { return value instanceof Object && value.constructor === Object; }; - /** * Detect if an item is in the loading queue. We simply loop all load items to * see if any items contain our searched key. @@ -112206,6 +113525,8 @@ var isObject = function isObject(value) { * @param key = string (the string to lookup) * @return boolean * */ + + var isLoading = function isLoading() { var load_queue = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; var keys = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : []; @@ -112222,9 +113543,9 @@ var isLoading = function isLoading() { } } } + return false; }; - /** * Is this app running from the hosted instance? * For example the GitHub-hosted UI @@ -112232,13 +113553,13 @@ var isLoading = function isLoading() { * @param Array hosts = valid hosted domain names * @return Boolean * */ + + var isHosted = function isHosted() { var hosts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['jaedb.github.io']; var hostname = window.location.hostname; - return hosts.includes(hostname); }; - /** * Get indexed record(s) by URI from our asset index * @@ -112246,10 +113567,11 @@ var isHosted = function isHosted() { * @param uris = mixed (array or string) * @return array * */ -var getIndexedRecords = function getIndexedRecords(index, uris) { - var records = []; - // Wrap in array, if we've only got one URI + +var getIndexedRecords = function getIndexedRecords(index, uris) { + var records = []; // Wrap in array, if we've only got one URI + if (!(uris instanceof Array)) { uris = [uris]; } @@ -112262,20 +113584,22 @@ var getIndexedRecords = function getIndexedRecords(index, uris) { return records; }; - /** * Uppercase-ify the first character of a string * * @param string String * @return String * */ + + var titleCase = function titleCase(string) { return string.charAt(0).toUpperCase() + string.slice(1); }; - /** * Use a keyword to return an icon name */ + + var iconFromKeyword = function iconFromKeyword(name) { var iconWords = [{ icon: 'business', @@ -112317,58 +113641,30 @@ var iconFromKeyword = function iconFromKeyword(name) { icon: 'smartphone', words: ['phone', 'mobile'] }]; - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; - try { - for (var _iterator2 = iconWords[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { - var item = _step2.value; - var _iteratorNormalCompletion3 = true; - var _didIteratorError3 = false; - var _iteratorError3 = undefined; + for (var _i = 0, _iconWords = iconWords; _i < _iconWords.length; _i++) { + var item = _iconWords[_i]; - try { - for (var _iterator3 = item.words[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { - var word = _step3.value; + var _iterator2 = _createForOfIteratorHelper(item.words), + _step2; - if (name.match(new RegExp('(' + word + ')', 'gi'))) { - return item.icon; - } - } - } catch (err) { - _didIteratorError3 = true; - _iteratorError3 = err; - } finally { - try { - if (!_iteratorNormalCompletion3 && _iterator3.return) { - _iterator3.return(); - } - } finally { - if (_didIteratorError3) { - throw _iteratorError3; - } - } - } - } - } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; - } finally { try { - if (!_iteratorNormalCompletion2 && _iterator2.return) { - _iterator2.return(); + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var word = _step2.value; + + if (name.match(new RegExp("(".concat(word, ")"), 'gi'))) { + return item.icon; + } } + } catch (err) { + _iterator2.e(err); } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } + _iterator2.f(); } } ; }; - /** * Scroll to the top of the page * Our 'content' is housed in the
DOM element @@ -112378,24 +113674,23 @@ var iconFromKeyword = function iconFromKeyword(name) { * @param target String (element ID, optional) * @param smooth_scroll Boolean (optional) * */ + + var scrollTo = function scrollTo() { var target = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; var smooth_scroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + var main = document.getElementById('main'); // Remove our smooth-scroll class - var main = document.getElementById('main'); - - // Remove our smooth-scroll class if (!smooth_scroll) { main.classList.remove('smooth-scroll'); - } + } // Target is a number, so treat as pixel position + - // Target is a number, so treat as pixel position if (target && Number.isInteger(target)) { if (typeof main.scrollTo === 'function') { main.scrollTop = target; - } + } // Target is a string representing a DOM element by class/id - // Target is a string representing a DOM element by class/id } else if (target) { var element = null; @@ -112403,11 +113698,12 @@ var scrollTo = function scrollTo() { element = document.getElementById(target.substring(1)); } else if (target.charAt(0) == '.') { element = document.getElementsByClassName(target.substring(1)); + if (element.length > 0) { element = element[0]; } } else { - console.error('Invalid target type \'' + target + '\'. Must start with \'#\' or \'.\'.'); + console.error("Invalid target type '".concat(target, "'. Must start with '#' or '.'.")); } if (element && typeof element.scrollIntoView === 'function') { @@ -112415,14 +113711,13 @@ var scrollTo = function scrollTo() { } } else { main.scrollTop = 0; - } + } // Now reinstate smooth scroll + - // Now reinstate smooth scroll if (!smooth_scroll) { main.classList.add('smooth-scroll'); } }; - /** * Upgrade one or many Spotify Playlist URIs * This is their new, simplified syntax (September 2018) but they haven't updated it everywhere @@ -112431,101 +113726,82 @@ var scrollTo = function scrollTo() { * @param uris Array|String * @return Array|String * */ + + var upgradeSpotifyPlaylistUris = function upgradeSpotifyPlaylistUris(uris) { var upgraded = []; - var _iteratorNormalCompletion4 = true; - var _didIteratorError4 = false; - var _iteratorError4 = undefined; + var _iterator3 = _createForOfIteratorHelper(uris), + _step3; try { - for (var _iterator4 = uris[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) { - var uri = _step4.value; + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + var uri = _step3.value; if (uri.includes('spotify:user:')) { uri = uri.replace(/spotify:user:([^:]*?):/i, 'spotify:'); } + upgraded.push(uri); } } catch (err) { - _didIteratorError4 = true; - _iteratorError4 = err; + _iterator3.e(err); } finally { - try { - if (!_iteratorNormalCompletion4 && _iterator4.return) { - _iterator4.return(); - } - } finally { - if (_didIteratorError4) { - throw _iteratorError4; - } - } + _iterator3.f(); } return upgraded; -}; +}; // As above, but for a single URI + -// As above, but for a single URI var upgradeSpotifyPlaylistUri = function upgradeSpotifyPlaylistUri(uri) { return upgradeSpotifyPlaylistUris([uri])[0]; }; - /** * Decode and encode Mopidy playlist URIs * This is needed as Mopidy encodes *some* characters in playlist URIs (but not other characters) * We need to retain ":" because this a reserved URI separator */ + + var decodeMopidyUri = function decodeMopidyUri(uri) { var decodeComponent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; - var decoded = decodeComponent ? decodeURIComponent(uri) : uri; decoded = decoded.replace(/\s/g, '%20'); // space + decoded = decoded.replace(/\[/g, '%5B'); // [ + decoded = decoded.replace(/\]/g, '%5D'); // ] + decoded = decoded.replace(/\(/g, '%28'); // ( + decoded = decoded.replace(/\)/g, '%29'); // ) + decoded = decoded.replace(/\#/g, '%23'); // # + return decoded; }; var encodeMopidyUri = function encodeMopidyUri(uri) { var encodeComponent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; - var encoded = encodeComponent ? encodeURIComponent(uri) : uri; encoded = encoded.replace(/\%20/g, ' '); // space + encoded = encoded.replace(/\%5B/g, '['); // [ + encoded = encoded.replace(/\%5D/g, ']'); // ] + encoded = encoded.replace(/\%28/g, '('); // ( + encoded = encoded.replace(/\%29/g, ')'); // ) + encoded = encoded.replace(/\%23/g, '#'); // # + return encoded; }; -exports.debounce = debounce; -exports.throttle = throttle; -exports.setFavicon = setFavicon; -exports.queryString = queryString; -exports.generateGuid = generateGuid; -exports.getCurrentPusherConnection = getCurrentPusherConnection; -exports.uriSource = uriSource; -exports.uriType = uriType; -exports.sourceIcon = sourceIcon; -exports.getFromUri = getFromUri; -exports.buildLink = buildLink; -exports.isTouchDevice = isTouchDevice; -exports.isNumeric = isNumeric; -exports.isObject = isObject; -exports.isLoading = isLoading; -exports.isHosted = isHosted; -exports.getIndexedRecords = getIndexedRecords; -exports.titleCase = titleCase; -exports.scrollTo = scrollTo; -exports.upgradeSpotifyPlaylistUris = upgradeSpotifyPlaylistUris; -exports.upgradeSpotifyPlaylistUri = upgradeSpotifyPlaylistUri; -exports.iconFromKeyword = iconFromKeyword; -exports.decodeMopidyUri = decodeMopidyUri; -exports.encodeMopidyUri = encodeMopidyUri; -exports.default = { + +/* harmony default export */ __webpack_exports__["default"] = ({ debounce: debounce, throttle: throttle, setFavicon: setFavicon, @@ -112550,7 +113826,7 @@ exports.default = { iconFromKeyword: iconFromKeyword, decodeMopidyUri: decodeMopidyUri, encodeMopidyUri: encodeMopidyUri -}; +}); /***/ }), @@ -112558,27 +113834,30 @@ exports.default = { /*!********************************!*\ !*** ./src/js/util/storage.js ***! \********************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: get, set, cache, isCached, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "get", function() { return _get; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "set", function() { return _set; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "cache", function() { return cache; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isCached", function() { return isCached; }); +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; +function _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; } /** * Storage handler * All localStorage tasks are handled below. This means we can detect for localStorage issues in one place * */ - var storageFactory = function () { - var uid = '' + new Date().getTime(); - var storage = void 0; - var result = void 0; + var uid = "".concat(new Date().getTime()); + var storage; + var result; + try { (storage = window.localStorage).setItem(uid, uid); result = storage.getItem(uid) === uid; @@ -112586,29 +113865,34 @@ var storageFactory = function () { return result && storage; } catch (exception) { return false; - }; -}(); + } + ; +}(); /** * Get a storage value * * @param key = string * @param default_value = mixed (optional, if localStorage key doesn't exist, return this) * */ -var _get = function _get(key) { + + +var _get = function get(key) { var default_value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; if (storageFactory) { var value = storageFactory.getItem(key); + if (value) { return JSON.parse(value); } + return default_value; } - console.warn('localStorage not available. Using default value for \'' + key + '\'.'); + + console.warn("localStorage not available. Using default value for '".concat(key, "'.")); return default_value; }; - /** * Set a storage value * @@ -112616,26 +113900,25 @@ var _get = function _get(key) { * @param value = object * @param replace = boolean (optional, completely replace our local value rather than merging it) * */ -var _set = function _set(key, value) { + + +var _set = function set(key, value) { var replace = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; if (storageFactory) { - var stored_value = storageFactory.getItem(key); + var stored_value = storageFactory.getItem(key); // We have nothing to merge with, or we want to completely replace previous value - // We have nothing to merge with, or we want to completely replace previous value if (!stored_value || replace) { - var new_value = value; - - // Merge new value with existing + var new_value = value; // Merge new value with existing } else { - var new_value = _extends({}, JSON.parse(stored_value), value); + var new_value = _objectSpread(_objectSpread({}, JSON.parse(stored_value)), value); } + storageFactory.setItem(key, JSON.stringify(new_value)); } else { - console.warn('localStorage not available. \'' + key + '\' will not perist when you close your browser.'); + console.warn("localStorage not available. '".concat(key, "' will not perist when you close your browser.")); } }; - /** * Cache handlers * This allows arbritrary requests to be cached by key into local storage. Typically key would be @@ -112644,24 +113927,29 @@ var _set = function _set(key, value) { * Use sparingly as localStorage is limited in size! Ideally store only the request data needed, * rather than the entire response data. */ + + var cache = { get: function get(key) { var cache = _get('cache', {}); - if (cache['"' + key + '"'] !== undefined) { - return cache['"' + key + '"']; + + if (cache["\"".concat(key, "\"")] !== undefined) { + return cache["\"".concat(key, "\"")]; } }, set: function set(key, data) { var cache = _get('cache', {}); - cache['"' + key + '"'] = data; + + cache["\"".concat(key, "\"")] = data; + _set('cache', cache); + return true; }, clear: function clear() { _set('cache', {}, true); } }; - /** * Check if an image URL is cached or not * Useful for bypassing load animations for cached assets (eg parallax) @@ -112669,22 +113957,20 @@ var cache = { * @param url String * @return Boolean * */ + var isCached = function isCached(url) { var image = new Image(); image.src = url; return image.complete; }; -exports.get = _get; -exports.set = _set; -exports.cache = cache; -exports.isCached = isCached; -exports.default = { + +/* harmony default export */ __webpack_exports__["default"] = ({ get: _get, set: _set, cache: cache, isCached: isCached -}; +}); /***/ }), @@ -112692,124 +113978,102 @@ exports.default = { /*!*******************************!*\ !*** ./src/js/views/Album.js ***! \*******************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: Album, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.Album = undefined; - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); - -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); - -var _ErrorMessage = __webpack_require__(/*! ../components/ErrorMessage */ "./src/js/components/ErrorMessage.js"); - -var _ErrorMessage2 = _interopRequireDefault(_ErrorMessage); - -var _TrackList = __webpack_require__(/*! ../components/TrackList */ "./src/js/components/TrackList.js"); - -var _TrackList2 = _interopRequireDefault(_TrackList); - -var _Thumbnail = __webpack_require__(/*! ../components/Thumbnail */ "./src/js/components/Thumbnail.js"); - -var _Thumbnail2 = _interopRequireDefault(_Thumbnail); - -var _LinksSentence = __webpack_require__(/*! ../components/LinksSentence */ "./src/js/components/LinksSentence.js"); - -var _LinksSentence2 = _interopRequireDefault(_LinksSentence); - -var _Loader = __webpack_require__(/*! ../components/Loader */ "./src/js/components/Loader.js"); - -var _Loader2 = _interopRequireDefault(_Loader); - -var _FollowButton = __webpack_require__(/*! ../components/Fields/FollowButton */ "./src/js/components/Fields/FollowButton.js"); - -var _FollowButton2 = _interopRequireDefault(_FollowButton); - -var _NiceNumber = __webpack_require__(/*! ../components/NiceNumber */ "./src/js/components/NiceNumber.js"); - -var _Dater = __webpack_require__(/*! ../components/Dater */ "./src/js/components/Dater.js"); - -var _LazyLoadListener = __webpack_require__(/*! ../components/LazyLoadListener */ "./src/js/components/LazyLoadListener.js"); - -var _LazyLoadListener2 = _interopRequireDefault(_LazyLoadListener); - -var _ContextMenuTrigger = __webpack_require__(/*! ../components/ContextMenuTrigger */ "./src/js/components/ContextMenuTrigger.js"); - -var _ContextMenuTrigger2 = _interopRequireDefault(_ContextMenuTrigger); - -var _Icon = __webpack_require__(/*! ../components/Icon */ "./src/js/components/Icon.js"); - -var _Icon2 = _interopRequireDefault(_Icon); - -var _locale = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js"); - -var _actions = __webpack_require__(/*! ../services/core/actions */ "./src/js/services/core/actions.js"); - -var coreActions = _interopRequireWildcard(_actions); - -var _actions2 = __webpack_require__(/*! ../services/ui/actions */ "./src/js/services/ui/actions.js"); - -var uiActions = _interopRequireWildcard(_actions2); - -var _actions3 = __webpack_require__(/*! ../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); - -var mopidyActions = _interopRequireWildcard(_actions3); - -var _actions4 = __webpack_require__(/*! ../services/spotify/actions */ "./src/js/services/spotify/actions.js"); - -var spotifyActions = _interopRequireWildcard(_actions4); - -var _actions5 = __webpack_require__(/*! ../services/lastfm/actions */ "./src/js/services/lastfm/actions.js"); - -var lastfmActions = _interopRequireWildcard(_actions5); - -var _helpers = __webpack_require__(/*! ../util/helpers */ "./src/js/util/helpers.js"); - -var _format = __webpack_require__(/*! ../util/format */ "./src/js/util/format.js"); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Album", function() { return Album; }); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var _components_ErrorMessage__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../components/ErrorMessage */ "./src/js/components/ErrorMessage.js"); +/* harmony import */ var _components_TrackList__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../components/TrackList */ "./src/js/components/TrackList.js"); +/* harmony import */ var _components_Thumbnail__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../components/Thumbnail */ "./src/js/components/Thumbnail.js"); +/* harmony import */ var _components_LinksSentence__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../components/LinksSentence */ "./src/js/components/LinksSentence.js"); +/* harmony import */ var _components_Loader__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../components/Loader */ "./src/js/components/Loader.js"); +/* harmony import */ var _components_Fields_FollowButton__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../components/Fields/FollowButton */ "./src/js/components/Fields/FollowButton.js"); +/* harmony import */ var _components_NiceNumber__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../components/NiceNumber */ "./src/js/components/NiceNumber.js"); +/* harmony import */ var _components_Dater__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../components/Dater */ "./src/js/components/Dater.js"); +/* harmony import */ var _components_LazyLoadListener__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../components/LazyLoadListener */ "./src/js/components/LazyLoadListener.js"); +/* harmony import */ var _components_ContextMenuTrigger__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../components/ContextMenuTrigger */ "./src/js/components/ContextMenuTrigger.js"); +/* harmony import */ var _components_Icon__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../components/Icon */ "./src/js/components/Icon.js"); +/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js"); +/* harmony import */ var _services_core_actions__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../services/core/actions */ "./src/js/services/core/actions.js"); +/* harmony import */ var _services_ui_actions__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../services/ui/actions */ "./src/js/services/ui/actions.js"); +/* harmony import */ var _services_mopidy_actions__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); +/* harmony import */ var _services_spotify_actions__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../services/spotify/actions */ "./src/js/services/spotify/actions.js"); +/* harmony import */ var _services_lastfm_actions__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../services/lastfm/actions */ "./src/js/services/lastfm/actions.js"); +/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../util/helpers */ "./src/js/util/helpers.js"); +/* harmony import */ var _util_format__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../util/format */ "./src/js/util/format.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } -var Album = exports.Album = function (_React$Component) { +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _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; } + + + + + + + + + + + + + + + + + + + + + + + +var Album = /*#__PURE__*/function (_React$Component) { _inherits(Album, _React$Component); - function Album() { - var _ref; + var _super = _createSuper(Album); - var _temp, _this, _ret; + function Album() { + var _this; _classCallCheck(this, Album); - for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } - return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Album.__proto__ || Object.getPrototypeOf(Album)).call.apply(_ref, [this].concat(args))), _this), _this.componentDidMount = function () { + _this = _super.call.apply(_super, [this].concat(args)); + + _defineProperty(_assertThisInitialized(_this), "componentDidMount", function () { var _this$props = _this.props, uri = _this$props.uri, album = _this$props.album, loadAlbum = _this$props.coreActions.loadAlbum, getAlbum = _this$props.lastfmActions.getAlbum; - _this.setWindowTitle(); + loadAlbum(uri); if (album) { @@ -112817,19 +114081,23 @@ var Album = exports.Album = function (_React$Component) { getAlbum(album.uri, album.artists[0].name, album.name); } } - }, _this.handleContextMenu = function (e) { + }); + + _defineProperty(_assertThisInitialized(_this), "handleContextMenu", function (e) { var _this$props2 = _this.props, uri = _this$props2.uri, showContextMenu = _this$props2.uiActions.showContextMenu; - - e.preventDefault(); - var data = { uris: [uri] }; + var data = { + uris: [uri] + }; showContextMenu(e, data, 'album', 'click'); - }, _this.componentDidUpdate = function (_ref2) { - var prevUri = _ref2.uri, - prevAlbum = _ref2.album, - prev_mopidy_connected = _ref2.mopidy_connected; + }); + + _defineProperty(_assertThisInitialized(_this), "componentDidUpdate", function (_ref) { + var prevUri = _ref.uri, + prevAlbum = _ref.album, + prev_mopidy_connected = _ref.mopidy_connected; var _this$props3 = _this.props, uri = _this$props3.uri, album = _this$props3.album, @@ -112837,16 +114105,15 @@ var Album = exports.Album = function (_React$Component) { loadAlbum = _this$props3.coreActions.loadAlbum, getAlbum = _this$props3.lastfmActions.getAlbum; - if (uri !== prevUri) { loadAlbum(uri); } else if (!prev_mopidy_connected && mopidy_connected) { - if ((0, _helpers.uriSource)(uri) !== 'spotify') { + if (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_20__["uriSource"])(uri) !== 'spotify') { loadAlbum(uri); } - } + } // We have just received our full album or our album artists + - // We have just received our full album or our album artists if (!prevAlbum && album || !prevAlbum.artists && album.artists) { if (album.wiki === undefined && album.artists.length > 0) { getAlbum(album.uri, album.artists[0].name, album.name); @@ -112854,50 +114121,57 @@ var Album = exports.Album = function (_React$Component) { } if (!prevAlbum && album) _this.setWindowTitle(album); - }, _this.setWindowTitle = function () { + }); + + _defineProperty(_assertThisInitialized(_this), "setWindowTitle", function () { var album = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _this.props.album; var _this$props4 = _this.props, setWindowTitle = _this$props4.uiActions.setWindowTitle, artists = _this$props4.artists; - if (album) { var artistNames = []; + if (album.artists_uris && artists) { for (var i = 0; i < album.artists_uris.length; i++) { var uri = album.artists_uris[i]; + if (artists.hasOwnProperty(uri)) { artistNames.push(artists[uri].name); } } } - setWindowTitle((0, _locale.i18n)('album.title_window', { name: album.name, artist: artistNames.join() })); + + setWindowTitle(Object(_locale__WEBPACK_IMPORTED_MODULE_14__["i18n"])('album.title_window', { + name: album.name, + artist: artistNames.join() + })); } else { - setWindowTitle((0, _locale.i18n)('album.title')); + setWindowTitle(Object(_locale__WEBPACK_IMPORTED_MODULE_14__["i18n"])('album.title')); } - }, _this.handleContextMenu = function (e) { + }); + + _defineProperty(_assertThisInitialized(_this), "handleContextMenu", function (e) { var _this$props5 = _this.props, album = _this$props5.album, uri = _this$props5.uri, showContextMenu = _this$props5.uiActions.showContextMenu; - - showContextMenu({ e: e, context: 'album', items: [album], uris: [uri] }); - }, _this.loadMore = function () { + }); + + _defineProperty(_assertThisInitialized(_this), "loadMore", function () { var _this$props6 = _this.props, getMore = _this$props6.spotifyActions.getMore, _this$props6$album = _this$props6.album; - _this$props6$album = _this$props6$album === undefined ? {} : _this$props6$album; + _this$props6$album = _this$props6$album === void 0 ? {} : _this$props6$album; var uri = _this$props6$album.uri, name = _this$props6$album.name, tracks_more = _this$props6$album.tracks_more; - - getMore(tracks_more, { parent_type: 'album', parent_key: uri, @@ -112908,18 +114182,22 @@ var Album = exports.Album = function (_React$Component) { name: name } }); - }, _this.play = function () { + }); + + _defineProperty(_assertThisInitialized(_this), "play", function () { var _this$props7 = _this.props, uri = _this$props7.uri, playURIs = _this$props7.mopidyActions.playURIs; - playURIs([uri], uri); - }, _this.inLibrary = function () { - var uri = _this.props.uri; + }); - var library = (0, _helpers.uriSource)(uri) + '_library_albums'; + _defineProperty(_assertThisInitialized(_this), "inLibrary", function () { + var uri = _this.props.uri; + var library = "".concat(Object(_util_helpers__WEBPACK_IMPORTED_MODULE_20__["uriSource"])(uri), "_library_albums"); return _this.props[library] && _this.props[library].indexOf(_this.props.uri) > -1; - }, _this.render = function () { + }); + + _defineProperty(_assertThisInitialized(_this), "render", function () { var _this$props8 = _this.props, uri = _this$props8.uri, albumProp = _this$props8.album, @@ -112928,141 +114206,185 @@ var Album = exports.Album = function (_React$Component) { load_queue = _this$props8.load_queue, slim_mode = _this$props8.slim_mode; - if (!albumProp) { - if ((0, _helpers.isLoading)(load_queue, ['spotify_albums/' + (0, _helpers.getFromUri)('albumid', uri)])) { - return _react2.default.createElement(_Loader2.default, { body: true, loading: true }); + if (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_20__["isLoading"])(load_queue, ["spotify_albums/".concat(Object(_util_helpers__WEBPACK_IMPORTED_MODULE_20__["getFromUri"])('albumid', uri))])) { + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Loader__WEBPACK_IMPORTED_MODULE_7__["default"], { + body: true, + loading: true, + "data-qa-node": "Loader", + "data-qa-file": "Album" + }); } - return _react2.default.createElement( - _ErrorMessage2.default, - { type: 'not-found', title: 'Not found' }, - _react2.default.createElement( - 'p', - null, - (0, _locale.i18n)('errors.uri_not_found', { uri: encodeURIComponent(uri) }) - ) - ); + + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_ErrorMessage__WEBPACK_IMPORTED_MODULE_3__["default"], { + type: "not-found", + title: "Not found", + "data-qa-node": "ErrorMessage", + "data-qa-file": "Album" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p", { + "data-qa-node": "p", + "data-qa-file": "Album" + }, Object(_locale__WEBPACK_IMPORTED_MODULE_14__["i18n"])('errors.uri_not_found', { + uri: encodeURIComponent(uri) + }))); } - var album = (0, _format.collate)(albumProp, { tracks: tracks, artists: artists }); - + var album = Object(_util_format__WEBPACK_IMPORTED_MODULE_21__["collate"])(albumProp, { + tracks: tracks, + artists: artists + }); var is_loading_tracks = !album.tracks_uris || album.tracks_uris && !album.tracks || album.tracks_uris.length !== album.tracks.length; + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "view album-view content-wrapper preserve-3d", + "data-qa-node": "div", + "data-qa-file": "Album" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "thumbnail-wrapper", + "data-qa-node": "div", + "data-qa-file": "Album" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Thumbnail__WEBPACK_IMPORTED_MODULE_5__["default"], { + size: "large", + glow: true, + canZoom: true, + images: album.images, + type: "album", + "data-qa-node": "Thumbnail", + "data-qa-file": "Album" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "title", + "data-qa-node": "div", + "data-qa-file": "Album" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h1", { + "data-qa-node": "h1", + "data-qa-file": "Album" + }, album.name), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("ul", { + className: "details", + "data-qa-node": "ul", + "data-qa-file": "Album" + }, !slim_mode ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li", { + className: "source", + "data-qa-node": "li", + "data-qa-file": "Album" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_13__["default"], { + type: "fontawesome", + name: Object(_util_helpers__WEBPACK_IMPORTED_MODULE_20__["sourceIcon"])(album.uri), + "data-qa-node": "Icon", + "data-qa-file": "Album" + })) : null, album.artists && album.artists.length > 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li", { + "data-qa-node": "li", + "data-qa-file": "Album" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_LinksSentence__WEBPACK_IMPORTED_MODULE_6__["default"], { + items: album.artists, + "data-qa-node": "LinksSentence", + "data-qa-file": "Album" + })) : null, album.release_date ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li", { + "data-qa-node": "li", + "data-qa-file": "Album" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Dater__WEBPACK_IMPORTED_MODULE_10__["Dater"], { + type: "date", + data: album.release_date, + "data-qa-node": "Dater", + "data-qa-file": "Album" + })) : null, album.tracks ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li", { + "data-qa-node": "li", + "data-qa-file": "Album" + }, Object(_locale__WEBPACK_IMPORTED_MODULE_14__["i18n"])('specs.tracks', { + count: album.tracks_total || album.tracks.length + })) : null, !slim_mode && album.tracks ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li", { + "data-qa-node": "li", + "data-qa-file": "Album" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Dater__WEBPACK_IMPORTED_MODULE_10__["Dater"], { + type: "total-time", + data: album.tracks, + "data-qa-node": "Dater", + "data-qa-file": "Album" + })) : null, !slim_mode && album.play_count ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li", { + "data-qa-node": "li", + "data-qa-file": "Album" + }, Object(_locale__WEBPACK_IMPORTED_MODULE_14__["i18n"])('specs.plays', { + count: Object(_components_NiceNumber__WEBPACK_IMPORTED_MODULE_9__["nice_number"])(album.play_count) + })) : null, !slim_mode && album.listeners ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li", { + "data-qa-node": "li", + "data-qa-file": "Album" + }, Object(_locale__WEBPACK_IMPORTED_MODULE_14__["i18n"])('specs.plays', { + count: Object(_components_NiceNumber__WEBPACK_IMPORTED_MODULE_9__["nice_number"])(album.listeners) + })) : null)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "actions", + "data-qa-node": "div", + "data-qa-file": "Album" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", { + type: "button", + className: "button button--primary", + onClick: _this.play, + "data-qa-node": "button", + "data-qa-file": "Album" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_14__["I18n"], { + path: "actions.play", + "data-qa-node": "I18n", + "data-qa-file": "Album" + })), Object(_util_helpers__WEBPACK_IMPORTED_MODULE_20__["uriSource"])(uri) === 'spotify' && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Fields_FollowButton__WEBPACK_IMPORTED_MODULE_8__["default"], { + className: "secondary", + uri: uri, + is_following: _this.inLibrary(), + "data-qa-node": "FollowButton", + "data-qa-file": "Album" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_ContextMenuTrigger__WEBPACK_IMPORTED_MODULE_12__["default"], { + onTrigger: _this.handleContextMenu, + "data-qa-node": "ContextMenuTrigger", + "data-qa-file": "Album" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("section", { + className: "list-wrapper", + "data-qa-node": "section", + "data-qa-file": "Album" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_TrackList__WEBPACK_IMPORTED_MODULE_4__["default"], { + className: "album-track-list", + tracks: album.tracks, + uri: album.uri, + "data-qa-node": "TrackList", + "data-qa-file": "Album" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_LazyLoadListener__WEBPACK_IMPORTED_MODULE_11__["default"], { + loadKey: album.tracks_more, + showLoader: is_loading_tracks, + loadMore: _this.loadMore, + "data-qa-node": "LazyLoadListener", + "data-qa-file": "Album" + })), album.wiki ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("section", { + className: "wiki", + "data-qa-node": "section", + "data-qa-file": "Album" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h4", { + className: "wiki__title", + "data-qa-node": "h4", + "data-qa-file": "Album" + }, Object(_locale__WEBPACK_IMPORTED_MODULE_14__["i18n"])('album.wiki.title')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "wiki__text", + "data-qa-node": "div", + "data-qa-file": "Album" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p", { + "data-qa-node": "p", + "data-qa-file": "Album" + }, album.wiki), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("br", { + "data-qa-node": "br", + "data-qa-file": "Album" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "mid_grey-text", + "data-qa-node": "div", + "data-qa-file": "Album" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_14__["I18n"], { + path: "album.wiki.published", + params: { + date: album.wiki_publish_date + }, + "data-qa-node": "I18n", + "data-qa-file": "Album" + })))) : null); + }); - return _react2.default.createElement( - 'div', - { className: 'view album-view content-wrapper preserve-3d' }, - _react2.default.createElement( - 'div', - { className: 'thumbnail-wrapper' }, - _react2.default.createElement(_Thumbnail2.default, { size: 'large', glow: true, canZoom: true, images: album.images, type: 'album' }) - ), - _react2.default.createElement( - 'div', - { className: 'title' }, - _react2.default.createElement( - 'h1', - null, - album.name - ), - _react2.default.createElement( - 'ul', - { className: 'details' }, - !slim_mode ? _react2.default.createElement( - 'li', - { className: 'source' }, - _react2.default.createElement(_Icon2.default, { type: 'fontawesome', name: (0, _helpers.sourceIcon)(album.uri) }) - ) : null, - album.artists && album.artists.length > 0 ? _react2.default.createElement( - 'li', - null, - _react2.default.createElement(_LinksSentence2.default, { items: album.artists }) - ) : null, - album.release_date ? _react2.default.createElement( - 'li', - null, - _react2.default.createElement(_Dater.Dater, { type: 'date', data: album.release_date }) - ) : null, - album.tracks ? _react2.default.createElement( - 'li', - null, - (0, _locale.i18n)('specs.tracks', { count: album.tracks_total || album.tracks.length }) - ) : null, - !slim_mode && album.tracks ? _react2.default.createElement( - 'li', - null, - _react2.default.createElement(_Dater.Dater, { type: 'total-time', data: album.tracks }) - ) : null, - !slim_mode && album.play_count ? _react2.default.createElement( - 'li', - null, - (0, _locale.i18n)('specs.plays', { count: (0, _NiceNumber.nice_number)(album.play_count) }) - ) : null, - !slim_mode && album.listeners ? _react2.default.createElement( - 'li', - null, - (0, _locale.i18n)('specs.plays', { count: (0, _NiceNumber.nice_number)(album.listeners) }) - ) : null - ) - ), - _react2.default.createElement( - 'div', - { className: 'actions' }, - _react2.default.createElement( - 'button', - { type: 'button', className: 'button button--primary', onClick: _this.play }, - _react2.default.createElement(_locale.I18n, { path: 'actions.play' }) - ), - (0, _helpers.uriSource)(uri) === 'spotify' && _react2.default.createElement(_FollowButton2.default, { - className: 'secondary', - uri: uri, - is_following: _this.inLibrary() - }), - _react2.default.createElement(_ContextMenuTrigger2.default, { onTrigger: _this.handleContextMenu }) - ), - _react2.default.createElement( - 'section', - { className: 'list-wrapper' }, - _react2.default.createElement(_TrackList2.default, { - className: 'album-track-list', - tracks: album.tracks, - uri: album.uri - }), - _react2.default.createElement(_LazyLoadListener2.default, { - loadKey: album.tracks_more, - showLoader: is_loading_tracks, - loadMore: _this.loadMore - }) - ), - album.wiki ? _react2.default.createElement( - 'section', - { className: 'wiki' }, - _react2.default.createElement( - 'h4', - { className: 'wiki__title' }, - (0, _locale.i18n)('album.wiki.title') - ), - _react2.default.createElement( - 'div', - { className: 'wiki__text' }, - _react2.default.createElement( - 'p', - null, - album.wiki - ), - _react2.default.createElement('br', null), - _react2.default.createElement( - 'div', - { className: 'mid_grey-text' }, - _react2.default.createElement(_locale.I18n, { path: 'album.wiki.published', params: { date: album.wiki_publish_date } }) - ) - ) - ) : null - ); - }, _temp), _possibleConstructorReturn(_this, _ret); + return _this; } return Album; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); var mapStateToProps = function mapStateToProps(state, ownProps) { var uri = decodeURIComponent(ownProps.match.params.uri); @@ -113084,15 +114406,15 @@ var mapStateToProps = function mapStateToProps(state, ownProps) { var mapDispatchToProps = function mapDispatchToProps(dispatch) { return { - coreActions: (0, _redux.bindActionCreators)(coreActions, dispatch), - uiActions: (0, _redux.bindActionCreators)(uiActions, dispatch), - mopidyActions: (0, _redux.bindActionCreators)(mopidyActions, dispatch), - spotifyActions: (0, _redux.bindActionCreators)(spotifyActions, dispatch), - lastfmActions: (0, _redux.bindActionCreators)(lastfmActions, dispatch) + coreActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_core_actions__WEBPACK_IMPORTED_MODULE_15__, dispatch), + uiActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_ui_actions__WEBPACK_IMPORTED_MODULE_16__, dispatch), + mopidyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_mopidy_actions__WEBPACK_IMPORTED_MODULE_17__, dispatch), + spotifyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_spotify_actions__WEBPACK_IMPORTED_MODULE_18__, dispatch), + lastfmActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_lastfm_actions__WEBPACK_IMPORTED_MODULE_19__, dispatch) }; }; -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(Album); +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapStateToProps, mapDispatchToProps)(Album)); /***/ }), @@ -113100,181 +114422,156 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)( /*!********************************!*\ !*** ./src/js/views/Artist.js ***! \********************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); - -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); - -var _reactRouterDom = __webpack_require__(/*! react-router-dom */ "./node_modules/react-router-dom/esm/react-router-dom.js"); - -var _ErrorMessage = __webpack_require__(/*! ../components/ErrorMessage */ "./src/js/components/ErrorMessage.js"); - -var _ErrorMessage2 = _interopRequireDefault(_ErrorMessage); - -var _Link = __webpack_require__(/*! ../components/Link */ "./src/js/components/Link.js"); - -var _Link2 = _interopRequireDefault(_Link); - -var _LazyLoadListener = __webpack_require__(/*! ../components/LazyLoadListener */ "./src/js/components/LazyLoadListener.js"); - -var _LazyLoadListener2 = _interopRequireDefault(_LazyLoadListener); - -var _TrackList = __webpack_require__(/*! ../components/TrackList */ "./src/js/components/TrackList.js"); - -var _TrackList2 = _interopRequireDefault(_TrackList); - -var _AlbumGrid = __webpack_require__(/*! ../components/AlbumGrid */ "./src/js/components/AlbumGrid.js"); - -var _AlbumGrid2 = _interopRequireDefault(_AlbumGrid); - -var _Thumbnail = __webpack_require__(/*! ../components/Thumbnail */ "./src/js/components/Thumbnail.js"); - -var _Thumbnail2 = _interopRequireDefault(_Thumbnail); - -var _Parallax = __webpack_require__(/*! ../components/Parallax */ "./src/js/components/Parallax.js"); - -var _Parallax2 = _interopRequireDefault(_Parallax); - -var _ArtistGrid = __webpack_require__(/*! ../components/ArtistGrid */ "./src/js/components/ArtistGrid.js"); - -var _ArtistGrid2 = _interopRequireDefault(_ArtistGrid); - -var _RelatedArtists = __webpack_require__(/*! ../components/RelatedArtists */ "./src/js/components/RelatedArtists.js"); - -var _RelatedArtists2 = _interopRequireDefault(_RelatedArtists); - -var _FollowButton = __webpack_require__(/*! ../components/Fields/FollowButton */ "./src/js/components/Fields/FollowButton.js"); - -var _FollowButton2 = _interopRequireDefault(_FollowButton); - -var _ContextMenuTrigger = __webpack_require__(/*! ../components/ContextMenuTrigger */ "./src/js/components/ContextMenuTrigger.js"); - -var _ContextMenuTrigger2 = _interopRequireDefault(_ContextMenuTrigger); - -var _DropdownField = __webpack_require__(/*! ../components/Fields/DropdownField */ "./src/js/components/Fields/DropdownField.js"); - -var _DropdownField2 = _interopRequireDefault(_DropdownField); - -var _Icon = __webpack_require__(/*! ../components/Icon */ "./src/js/components/Icon.js"); - -var _Icon2 = _interopRequireDefault(_Icon); - -var _Loader = __webpack_require__(/*! ../components/Loader */ "./src/js/components/Loader.js"); - -var _Loader2 = _interopRequireDefault(_Loader); - -var _actions = __webpack_require__(/*! ../services/core/actions */ "./src/js/services/core/actions.js"); - -var coreActions = _interopRequireWildcard(_actions); - -var _actions2 = __webpack_require__(/*! ../services/ui/actions */ "./src/js/services/ui/actions.js"); - -var uiActions = _interopRequireWildcard(_actions2); - -var _actions3 = __webpack_require__(/*! ../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); - -var mopidyActions = _interopRequireWildcard(_actions3); - -var _actions4 = __webpack_require__(/*! ../services/pusher/actions */ "./src/js/services/pusher/actions.js"); - -var pusherActions = _interopRequireWildcard(_actions4); - -var _actions5 = __webpack_require__(/*! ../services/lastfm/actions */ "./src/js/services/lastfm/actions.js"); - -var lastfmActions = _interopRequireWildcard(_actions5); - -var _actions6 = __webpack_require__(/*! ../services/spotify/actions */ "./src/js/services/spotify/actions.js"); - -var spotifyActions = _interopRequireWildcard(_actions6); - -var _helpers = __webpack_require__(/*! ../util/helpers */ "./src/js/util/helpers.js"); - -var _format = __webpack_require__(/*! ../util/format */ "./src/js/util/format.js"); - -var _arrays = __webpack_require__(/*! ../util/arrays */ "./src/js/util/arrays.js"); - -var _locale = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js"); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-router-dom */ "./node_modules/react-router-dom/esm/react-router-dom.js"); +/* harmony import */ var _components_ErrorMessage__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../components/ErrorMessage */ "./src/js/components/ErrorMessage.js"); +/* harmony import */ var _components_Link__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../components/Link */ "./src/js/components/Link.js"); +/* harmony import */ var _components_LazyLoadListener__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../components/LazyLoadListener */ "./src/js/components/LazyLoadListener.js"); +/* harmony import */ var _components_TrackList__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../components/TrackList */ "./src/js/components/TrackList.js"); +/* harmony import */ var _components_AlbumGrid__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../components/AlbumGrid */ "./src/js/components/AlbumGrid.js"); +/* harmony import */ var _components_Thumbnail__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../components/Thumbnail */ "./src/js/components/Thumbnail.js"); +/* harmony import */ var _components_Parallax__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../components/Parallax */ "./src/js/components/Parallax.js"); +/* harmony import */ var _components_ArtistGrid__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../components/ArtistGrid */ "./src/js/components/ArtistGrid.js"); +/* harmony import */ var _components_RelatedArtists__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../components/RelatedArtists */ "./src/js/components/RelatedArtists.js"); +/* harmony import */ var _components_Fields_FollowButton__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../components/Fields/FollowButton */ "./src/js/components/Fields/FollowButton.js"); +/* harmony import */ var _components_ContextMenuTrigger__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../components/ContextMenuTrigger */ "./src/js/components/ContextMenuTrigger.js"); +/* harmony import */ var _components_Fields_DropdownField__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../components/Fields/DropdownField */ "./src/js/components/Fields/DropdownField.js"); +/* harmony import */ var _components_Icon__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../components/Icon */ "./src/js/components/Icon.js"); +/* harmony import */ var _components_Loader__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../components/Loader */ "./src/js/components/Loader.js"); +/* harmony import */ var _services_core_actions__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../services/core/actions */ "./src/js/services/core/actions.js"); +/* harmony import */ var _services_ui_actions__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../services/ui/actions */ "./src/js/services/ui/actions.js"); +/* harmony import */ var _services_mopidy_actions__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); +/* harmony import */ var _services_pusher_actions__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../services/pusher/actions */ "./src/js/services/pusher/actions.js"); +/* harmony import */ var _services_lastfm_actions__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../services/lastfm/actions */ "./src/js/services/lastfm/actions.js"); +/* harmony import */ var _services_spotify_actions__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ../services/spotify/actions */ "./src/js/services/spotify/actions.js"); +/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ../util/helpers */ "./src/js/util/helpers.js"); +/* harmony import */ var _util_format__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ../util/format */ "./src/js/util/format.js"); +/* harmony import */ var _util_arrays__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ../util/arrays */ "./src/js/util/arrays.js"); +/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -var Artist = function (_React$Component) { +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _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; } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +var Artist = /*#__PURE__*/function (_React$Component) { _inherits(Artist, _React$Component); - function Artist() { - var _ref; + var _super = _createSuper(Artist); - var _temp, _this, _ret; + function Artist() { + var _this; _classCallCheck(this, Artist); - for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } - return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Artist.__proto__ || Object.getPrototypeOf(Artist)).call.apply(_ref, [this].concat(args))), _this), _this.componentDidUpdate = function (_ref2) { - var prevUri = _ref2.uri, - prev_mopidy_connected = _ref2.mopidy_connected, - prevArtist = _ref2.artist; + _this = _super.call.apply(_super, [this].concat(args)); + + _defineProperty(_assertThisInitialized(_this), "componentDidUpdate", function (_ref) { + var prevUri = _ref.uri, + prev_mopidy_connected = _ref.mopidy_connected, + prevArtist = _ref.artist; var _this$props = _this.props, uri = _this$props.uri, mopidy_connected = _this$props.mopidy_connected, artist = _this$props.artist, loadArtist = _this$props.coreActions.loadArtist; - if (uri !== prevUri) { loadArtist(uri); } else if (!prev_mopidy_connected && mopidy_connected) { - if ((0, _helpers.uriSource)(uri) !== 'spotify') { + if (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_24__["uriSource"])(uri) !== 'spotify') { loadArtist(uri); } } if (!prevArtist && artist) _this.setWindowTitle(artist); if (prevUri !== uri && artist) _this.setWindowTitle(artist); - }, _this.onResetFilters = function () { + }); + + _defineProperty(_assertThisInitialized(_this), "onResetFilters", function () { _this.onChangeFilter(null); + _this.onChangeSort(null); - }, _this.onChangeFilter = function (value) { + }); + + _defineProperty(_assertThisInitialized(_this), "onChangeFilter", function (value) { var _this$props$uiActions = _this.props.uiActions, set = _this$props$uiActions.set, hideContextMenu = _this$props$uiActions.hideContextMenu; - - set({ artist_albums_filter: value }); + set({ + artist_albums_filter: value + }); hideContextMenu(); - }, _this.onChangeSort = function (value) { + }); + + _defineProperty(_assertThisInitialized(_this), "onChangeSort", function (value) { var _this$props2 = _this.props, sort = _this$props2.sort, sort_reverse = _this$props2.sort_reverse, _this$props2$uiAction = _this$props2.uiActions, set = _this$props2$uiAction.set, hideContextMenu = _this$props2$uiAction.hideContextMenu; - - var reverse = false; + if (value !== null && sort == value) { reverse = !sort_reverse; } @@ -113284,59 +114581,65 @@ var Artist = function (_React$Component) { artist_albums_sort: value }); hideContextMenu(); - }, _this.onPlay = function () { + }); + + _defineProperty(_assertThisInitialized(_this), "onPlay", function () { var _this$props3 = _this.props, _this$props3$artist = _this$props3.artist, uri = _this$props3$artist.uri, tracks_uris = _this$props3$artist.tracks_uris, albums_uris = _this$props3$artist.albums_uris, playURIs = _this$props3.mopidyActions.playURIs; - playURIs(tracks_uris || albums_uris, uri); - }, _this.setWindowTitle = function () { + }); + + _defineProperty(_assertThisInitialized(_this), "setWindowTitle", function () { var artist = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _this.props.artist; var setWindowTitle = _this.props.uiActions.setWindowTitle; - if (artist) { - setWindowTitle((0, _locale.i18n)('artist.title_window', { name: artist.name })); + setWindowTitle(Object(_locale__WEBPACK_IMPORTED_MODULE_27__["i18n"])('artist.title_window', { + name: artist.name + })); } else { - setWindowTitle((0, _locale.i18n)('artist.title')); + setWindowTitle(Object(_locale__WEBPACK_IMPORTED_MODULE_27__["i18n"])('artist.title')); } - }, _this.handleContextMenu = function (e) { + }); + + _defineProperty(_assertThisInitialized(_this), "handleContextMenu", function (e) { var _this$props4 = _this.props, artist = _this$props4.artist, uri = _this$props4.uri, showContextMenu = _this$props4.uiActions.showContextMenu; - - showContextMenu({ e: e, context: 'artist', items: [artist], uris: [uri] }); - }, _this.loadMore = function () { + }); + + _defineProperty(_assertThisInitialized(_this), "loadMore", function () { var _this$props5 = _this.props, getMore = _this$props5.spotifyActions.getMore, albums_more = _this$props5.artist.albums_more, uri = _this$props5.uri; - - getMore(albums_more, { parent_type: 'artist', parent_key: uri, records_type: 'album' }); - }, _this.inLibrary = function () { + }); + + _defineProperty(_assertThisInitialized(_this), "inLibrary", function () { var uri = _this.props.uri; - - var libraryName = (0, _helpers.uriSource)(uri) + '_library_artists'; + var libraryName = "".concat(Object(_util_helpers__WEBPACK_IMPORTED_MODULE_24__["uriSource"])(uri), "_library_artists"); var _this$props$libraryNa = _this.props[libraryName], - library = _this$props$libraryNa === undefined ? [] : _this$props$libraryNa; - + library = _this$props$libraryNa === void 0 ? [] : _this$props$libraryNa; return library.indexOf(uri) > -1; - }, _this.renderOverview = function () { + }); + + _defineProperty(_assertThisInitialized(_this), "renderOverview", function () { var _this$props6 = _this.props, uri = _this$props6.uri, uiActions = _this$props6.uiActions, @@ -113347,19 +114650,18 @@ var Artist = function (_React$Component) { sort = _this$props6.sort, sort_reverse = _this$props6.sort_reverse, filter = _this$props6.filter; - - var artist = (0, _format.collate)(artistProp, { + var artist = Object(_util_format__WEBPACK_IMPORTED_MODULE_25__["collate"])(artistProp, { artists: artists, albums: albums, tracks: tracks }); if (sort && artist.albums) { - artist.albums = (0, _arrays.sortItems)(artist.albums, sort, sort_reverse); + artist.albums = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_26__["sortItems"])(artist.albums, sort, sort_reverse); } if (filter && artist.albums) { - artist.albums = (0, _arrays.applyFilter)('type', filter, artist.albums); + artist.albums = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_26__["applyFilter"])('type', filter, artist.albums); } var sort_options = [{ @@ -113375,7 +114677,6 @@ var Artist = function (_React$Component) { value: 'tracks_uris.length', label: 'Tracks' }]; - var filter_options = [{ value: null, label: 'All' @@ -113389,427 +114690,541 @@ var Artist = function (_React$Component) { value: 'compilation', label: 'Compilations' }]; - var is_loading_tracks = !artist.tracks_uris || artist.tracks_uris && !artist.tracks || artist.tracks_uris.length !== artist.tracks.length; + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "body overview", + "data-qa-node": "div", + "data-qa-file": "Artist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "top-tracks col col--w".concat(artist.related_artists && artist.related_artists.length > 0 ? '70' : '100'), + "data-qa-node": "div", + "data-qa-file": "Artist" + }, artist.tracks && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h4", { + "data-qa-node": "h4", + "data-qa-file": "Artist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_27__["I18n"], { + path: "artist.overview.top_tracks", + "data-qa-node": "I18n", + "data-qa-file": "Artist" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "list-wrapper", + "data-qa-node": "div", + "data-qa-file": "Artist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_TrackList__WEBPACK_IMPORTED_MODULE_7__["default"], { + className: "artist-track-list", + uri: artist.uri, + tracks: artist.tracks ? artist.tracks.splice(0, 10) : [], + "data-qa-node": "TrackList", + "data-qa-file": "Artist" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_LazyLoadListener__WEBPACK_IMPORTED_MODULE_6__["default"], { + showLoader: is_loading_tracks, + "data-qa-node": "LazyLoadListener", + "data-qa-file": "Artist" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "col col--w5", + "data-qa-node": "div", + "data-qa-file": "Artist" + }), artist.related_artists && artist.related_artists.length > 0 && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "col col--w25 related-artists", + "data-qa-node": "div", + "data-qa-file": "Artist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h4", { + "data-qa-node": "h4", + "data-qa-file": "Artist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_27__["I18n"], { + path: "artist.overview.related_artists.title", + "data-qa-node": "I18n", + "data-qa-file": "Artist" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "list-wrapper", + "data-qa-node": "div", + "data-qa-file": "Artist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_RelatedArtists__WEBPACK_IMPORTED_MODULE_12__["default"], { + artists: artist.related_artists.slice(0, 6), + uiActions: uiActions, + "data-qa-node": "RelatedArtists", + "data-qa-file": "Artist" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Link__WEBPACK_IMPORTED_MODULE_5__["default"], { + to: "/artist/".concat(encodeURIComponent(uri), "/related-artists"), + scrollTo: "#sub-views-menu", + className: "button button--default", + "data-qa-node": "Link", + "data-qa-file": "Artist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_27__["I18n"], { + path: "artist.overview.related_artists.more", + "data-qa-node": "I18n", + "data-qa-file": "Artist" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "cf", + "data-qa-node": "div", + "data-qa-file": "Artist" + }), artist.albums && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "albums", + "data-qa-node": "div", + "data-qa-file": "Artist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h4", { + "data-qa-node": "h4", + "data-qa-file": "Artist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + "data-qa-node": "div", + "data-qa-file": "Artist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_27__["I18n"], { + path: "artist.overview.albums", + "data-qa-node": "I18n", + "data-qa-file": "Artist" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Fields_DropdownField__WEBPACK_IMPORTED_MODULE_15__["default"], { + icon: "swap_vert", + name: "Sort", + value: sort, + valueAsLabel: true, + options: sort_options, + selected_icon: sort ? sort_reverse ? 'keyboard_arrow_up' : 'keyboard_arrow_down' : null, + handleChange: _this.onChangeSort, + "data-qa-node": "DropdownField", + "data-qa-file": "Artist" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Fields_DropdownField__WEBPACK_IMPORTED_MODULE_15__["default"], { + icon: "filter_list", + name: "Filter", + value: filter, + valueAsLabel: true, + options: filter_options, + handleChange: _this.onChangeFilter, + "data-qa-node": "DropdownField", + "data-qa-file": "Artist" + }), (sort || filter) && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + className: "button button--discrete button--destructive button--small", + onClick: _this.onResetFilters, + "data-qa-node": "a", + "data-qa-file": "Artist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_16__["default"], { + name: "clear", + "data-qa-node": "Icon", + "data-qa-file": "Artist" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_27__["I18n"], { + path: "actions.reset", + "data-qa-node": "I18n", + "data-qa-file": "Artist" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("section", { + className: "grid-wrapper no-top-padding", + "data-qa-node": "section", + "data-qa-file": "Artist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_AlbumGrid__WEBPACK_IMPORTED_MODULE_8__["default"], { + albums: artist.albums, + "data-qa-node": "AlbumGrid", + "data-qa-file": "Artist" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_LazyLoadListener__WEBPACK_IMPORTED_MODULE_6__["default"], { + loadKey: artist.albums_more, + showLoader: artist.albums_more, + loadMore: _this.loadMore, + "data-qa-node": "LazyLoadListener", + "data-qa-file": "Artist" + })))); + }); - return _react2.default.createElement( - 'div', - { className: 'body overview' }, - _react2.default.createElement( - 'div', - { className: 'top-tracks col col--w' + (artist.related_artists && artist.related_artists.length > 0 ? '70' : '100') }, - artist.tracks && _react2.default.createElement( - 'h4', - null, - _react2.default.createElement(_locale.I18n, { path: 'artist.overview.top_tracks' }) - ), - _react2.default.createElement( - 'div', - { className: 'list-wrapper' }, - _react2.default.createElement(_TrackList2.default, { className: 'artist-track-list', uri: artist.uri, tracks: artist.tracks ? artist.tracks.splice(0, 10) : [] }), - _react2.default.createElement(_LazyLoadListener2.default, { showLoader: is_loading_tracks }) - ) - ), - _react2.default.createElement('div', { className: 'col col--w5' }), - artist.related_artists && artist.related_artists.length > 0 && _react2.default.createElement( - 'div', - { className: 'col col--w25 related-artists' }, - _react2.default.createElement( - 'h4', - null, - _react2.default.createElement(_locale.I18n, { path: 'artist.overview.related_artists.title' }) - ), - _react2.default.createElement( - 'div', - { className: 'list-wrapper' }, - _react2.default.createElement(_RelatedArtists2.default, { - artists: artist.related_artists.slice(0, 6), - uiActions: uiActions - }) - ), - _react2.default.createElement( - _Link2.default, - { - to: '/artist/' + encodeURIComponent(uri) + '/related-artists', - scrollTo: '#sub-views-menu', - className: 'button button--default' - }, - _react2.default.createElement(_locale.I18n, { path: 'artist.overview.related_artists.more' }) - ) - ), - _react2.default.createElement('div', { className: 'cf' }), - artist.albums && _react2.default.createElement( - 'div', - { className: 'albums' }, - _react2.default.createElement( - 'h4', - null, - _react2.default.createElement( - 'div', - null, - _react2.default.createElement(_locale.I18n, { path: 'artist.overview.albums' }) - ), - _react2.default.createElement(_DropdownField2.default, { - icon: 'swap_vert', - name: 'Sort', - value: sort, - valueAsLabel: true, - options: sort_options, - selected_icon: sort ? sort_reverse ? 'keyboard_arrow_up' : 'keyboard_arrow_down' : null, - handleChange: _this.onChangeSort - }), - _react2.default.createElement(_DropdownField2.default, { - icon: 'filter_list', - name: 'Filter', - value: filter, - valueAsLabel: true, - options: filter_options, - handleChange: _this.onChangeFilter - }), - (sort || filter) && _react2.default.createElement( - 'a', - { className: 'button button--discrete button--destructive button--small', onClick: _this.onResetFilters }, - _react2.default.createElement(_Icon2.default, { name: 'clear' }), - _react2.default.createElement(_locale.I18n, { path: 'actions.reset' }) - ) - ), - _react2.default.createElement( - 'section', - { className: 'grid-wrapper no-top-padding' }, - _react2.default.createElement(_AlbumGrid2.default, { albums: artist.albums }), - _react2.default.createElement(_LazyLoadListener2.default, { - loadKey: artist.albums_more, - showLoader: artist.albums_more, - loadMore: _this.loadMore - }) - ) - ) - ); - }, _this.renderTracks = function () { + _defineProperty(_assertThisInitialized(_this), "renderTracks", function () { var _this$props7 = _this.props, artistProp = _this$props7.artist, artists = _this$props7.artists, tracks = _this$props7.tracks; - - - var artist = (0, _format.collate)(artistProp, { + var artist = Object(_util_format__WEBPACK_IMPORTED_MODULE_25__["collate"])(artistProp, { artists: artists, tracks: tracks }); - var is_loading_tracks = !artist.tracks_uris || artist.tracks_uris && !artist.tracks || artist.tracks_uris.length !== artist.tracks.length; + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "body related-artists", + "data-qa-node": "div", + "data-qa-file": "Artist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("section", { + className: "list-wrapper no-top-padding", + "data-qa-node": "section", + "data-qa-file": "Artist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_TrackList__WEBPACK_IMPORTED_MODULE_7__["default"], { + className: "artist-track-list", + uri: artist.uri, + tracks: artist.tracks, + "data-qa-node": "TrackList", + "data-qa-file": "Artist" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_LazyLoadListener__WEBPACK_IMPORTED_MODULE_6__["default"], { + showLoader: is_loading_tracks, + "data-qa-node": "LazyLoadListener", + "data-qa-file": "Artist" + }))); + }); - return _react2.default.createElement( - 'div', - { className: 'body related-artists' }, - _react2.default.createElement( - 'section', - { className: 'list-wrapper no-top-padding' }, - _react2.default.createElement(_TrackList2.default, { className: 'artist-track-list', uri: artist.uri, tracks: artist.tracks }), - _react2.default.createElement(_LazyLoadListener2.default, { showLoader: is_loading_tracks }) - ) - ); - }, _this.renderRelatedArtists = function () { + _defineProperty(_assertThisInitialized(_this), "renderRelatedArtists", function () { var _this$props8 = _this.props, artistProp = _this$props8.artist, artists = _this$props8.artists; - - - var artist = (0, _format.collate)(artistProp, { + var artist = Object(_util_format__WEBPACK_IMPORTED_MODULE_25__["collate"])(artistProp, { artists: artists }); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "body related-artists", + "data-qa-node": "div", + "data-qa-file": "Artist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("section", { + className: "grid-wrapper no-top-padding", + "data-qa-node": "section", + "data-qa-file": "Artist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_ArtistGrid__WEBPACK_IMPORTED_MODULE_11__["default"], { + artists: artist.related_artists, + "data-qa-node": "ArtistGrid", + "data-qa-file": "Artist" + }))); + }); - return _react2.default.createElement( - 'div', - { className: 'body related-artists' }, - _react2.default.createElement( - 'section', - { className: 'grid-wrapper no-top-padding' }, - _react2.default.createElement(_ArtistGrid2.default, { artists: artist.related_artists }) - ) - ); - }, _this.renderAbout = function () { + _defineProperty(_assertThisInitialized(_this), "renderAbout", function () { var _this$props9 = _this.props, artistProp = _this$props9.artist, artists = _this$props9.artists; - - - var artist = (0, _format.collate)(artistProp, { + var artist = Object(_util_format__WEBPACK_IMPORTED_MODULE_25__["collate"])(artistProp, { artists: artists }); - var thumbnails = artist.images && artist.images.map(function (image) { if (!image.huge) return null; - return _react2.default.createElement( - 'div', - { className: 'tile thumbnail-wrapper', key: image.huge }, - _react2.default.createElement(_Thumbnail2.default, { size: 'huge', canZoom: true, fill: true, images: image }) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "tile thumbnail-wrapper", + key: image.huge, + "data-qa-node": "div", + "data-qa-file": "Artist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Thumbnail__WEBPACK_IMPORTED_MODULE_9__["default"], { + size: "huge", + canZoom: true, + fill: true, + images: image, + "data-qa-node": "Thumbnail", + "data-qa-file": "Artist" + })); }); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "body about", + "data-qa-node": "div", + "data-qa-file": "Artist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "col col--w40 tiles artist-stats", + "data-qa-node": "div", + "data-qa-file": "Artist" + }, thumbnails, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "tile", + "data-qa-node": "div", + "data-qa-file": "Artist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "content", + "data-qa-node": "span", + "data-qa-file": "Artist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_16__["default"], { + type: "fontawesome", + name: Object(_util_helpers__WEBPACK_IMPORTED_MODULE_24__["sourceIcon"])(artist.uri), + "data-qa-node": "Icon", + "data-qa-file": "Artist" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_27__["I18n"], { + path: "artist.about.source", + source: Object(_util_helpers__WEBPACK_IMPORTED_MODULE_24__["titleCase"])(Object(_util_helpers__WEBPACK_IMPORTED_MODULE_24__["uriSource"])(artist.uri)), + "data-qa-node": "I18n", + "data-qa-file": "Artist" + }))), artist.followers && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "tile", + "data-qa-node": "div", + "data-qa-file": "Artist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "content", + "data-qa-node": "span", + "data-qa-file": "Artist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_16__["default"], { + type: "fontawesome", + name: "users", + "data-qa-node": "Icon", + "data-qa-file": "Artist" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_27__["I18n"], { + path: "specs.followers", + count: artist.followers.toLocaleString(), + "data-qa-node": "I18n", + "data-qa-file": "Artist" + }))), artist.popularity && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "tile", + "data-qa-node": "div", + "data-qa-file": "Artist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "content", + "data-qa-node": "span", + "data-qa-file": "Artist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_16__["default"], { + type: "fontawesome", + name: "fire", + "data-qa-node": "Icon", + "data-qa-file": "Artist" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_27__["I18n"], { + path: "specs.popularity", + percent: artist.popularity, + "data-qa-node": "I18n", + "data-qa-file": "Artist" + }))), artist.listeners && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "tile", + "data-qa-node": "div", + "data-qa-file": "Artist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "content", + "data-qa-node": "span", + "data-qa-file": "Artist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_16__["default"], { + type: "fontawesome", + name: "headphones", + "data-qa-node": "Icon", + "data-qa-file": "Artist" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_27__["I18n"], { + path: "specs.listeners", + count: artist.listeners.toLocaleString(), + "data-qa-node": "I18n", + "data-qa-file": "Artist" + })))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "col col--w60 biography", + "data-qa-node": "div", + "data-qa-file": "Artist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("section", { + "data-qa-node": "section", + "data-qa-file": "Artist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("br", { + "data-qa-node": "br", + "data-qa-file": "Artist" + }), artist.biography && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "biography-text", + "data-qa-node": "div", + "data-qa-file": "Artist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p", { + "data-qa-node": "p", + "data-qa-file": "Artist" + }, artist.biography), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("br", { + "data-qa-node": "br", + "data-qa-file": "Artist" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "mid_grey-text", + "data-qa-node": "div", + "data-qa-file": "Artist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_27__["I18n"], { + path: "artist.about.wiki.published", + date: artist.biography_publish_date, + "data-qa-node": "I18n", + "data-qa-file": "Artist" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "mid_grey-text", + "data-qa-node": "div", + "data-qa-file": "Artist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_27__["I18n"], { + path: "artist.about.wiki.origin", + "data-qa-node": "I18n", + "data-qa-file": "Artist" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + href: artist.biography_link, + target: "_blank", + rel: "noopener noreferrer", + "data-qa-node": "a", + "data-qa-file": "Artist" + }, artist.biography_link)))))); + }); - return _react2.default.createElement( - 'div', - { className: 'body about' }, - _react2.default.createElement( - 'div', - { className: 'col col--w40 tiles artist-stats' }, - thumbnails, - _react2.default.createElement( - 'div', - { className: 'tile' }, - _react2.default.createElement( - 'span', - { className: 'content' }, - _react2.default.createElement(_Icon2.default, { type: 'fontawesome', name: (0, _helpers.sourceIcon)(artist.uri) }), - _react2.default.createElement(_locale.I18n, { - path: 'artist.about.source', - source: (0, _helpers.titleCase)((0, _helpers.uriSource)(artist.uri)) - }) - ) - ), - artist.followers && _react2.default.createElement( - 'div', - { className: 'tile' }, - _react2.default.createElement( - 'span', - { className: 'content' }, - _react2.default.createElement(_Icon2.default, { type: 'fontawesome', name: 'users' }), - _react2.default.createElement(_locale.I18n, { path: 'specs.followers', count: artist.followers.toLocaleString() }) - ) - ), - artist.popularity && _react2.default.createElement( - 'div', - { className: 'tile' }, - _react2.default.createElement( - 'span', - { className: 'content' }, - _react2.default.createElement(_Icon2.default, { type: 'fontawesome', name: 'fire' }), - _react2.default.createElement(_locale.I18n, { path: 'specs.popularity', percent: artist.popularity }) - ) - ), - artist.listeners && _react2.default.createElement( - 'div', - { className: 'tile' }, - _react2.default.createElement( - 'span', - { className: 'content' }, - _react2.default.createElement(_Icon2.default, { type: 'fontawesome', name: 'headphones' }), - _react2.default.createElement(_locale.I18n, { path: 'specs.listeners', count: artist.listeners.toLocaleString() }) - ) - ) - ), - _react2.default.createElement( - 'div', - { className: 'col col--w60 biography' }, - _react2.default.createElement( - 'section', - null, - _react2.default.createElement('br', null), - artist.biography && _react2.default.createElement( - 'div', - { className: 'biography-text' }, - _react2.default.createElement( - 'p', - null, - artist.biography - ), - _react2.default.createElement('br', null), - _react2.default.createElement( - 'div', - { className: 'mid_grey-text' }, - _react2.default.createElement(_locale.I18n, { path: 'artist.about.wiki.published', date: artist.biography_publish_date }) - ), - _react2.default.createElement( - 'div', - { className: 'mid_grey-text' }, - _react2.default.createElement(_locale.I18n, { path: 'artist.about.wiki.origin' }), - _react2.default.createElement( - 'a', - { - href: artist.biography_link, - target: '_blank', - rel: 'noopener noreferrer' - }, - artist.biography_link - ) - ) - ) - ) - ) - ); - }, _this.render = function () { + _defineProperty(_assertThisInitialized(_this), "render", function () { var _this$props10 = _this.props, uri = _this$props10.uri, load_queue = _this$props10.load_queue, artist = _this$props10.artist, history = _this$props10.history; - if (!artist) { - if ((0, _helpers.isLoading)(load_queue, ['spotify_artists/' + (0, _helpers.getFromUri)('artistid', uri), 'lastfm_method=artist.getInfo'])) { - return _react2.default.createElement(_Loader2.default, { body: true, loading: true }); + if (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_24__["isLoading"])(load_queue, ["spotify_artists/".concat(Object(_util_helpers__WEBPACK_IMPORTED_MODULE_24__["getFromUri"])('artistid', uri)), 'lastfm_method=artist.getInfo'])) { + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Loader__WEBPACK_IMPORTED_MODULE_17__["default"], { + body: true, + loading: true, + "data-qa-node": "Loader", + "data-qa-file": "Artist" + }); } - return _react2.default.createElement( - _ErrorMessage2.default, - { type: 'not-found', title: 'Not found' }, - _react2.default.createElement( - 'p', - null, - _react2.default.createElement(_locale.I18n, { path: 'errors.uri_not_found', uri: encodeURIComponent(uri) }) - ) - ); + + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_ErrorMessage__WEBPACK_IMPORTED_MODULE_4__["default"], { + type: "not-found", + title: "Not found", + "data-qa-node": "ErrorMessage", + "data-qa-file": "Artist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p", { + "data-qa-node": "p", + "data-qa-file": "Artist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_27__["I18n"], { + path: "errors.uri_not_found", + uri: encodeURIComponent(uri), + "data-qa-node": "I18n", + "data-qa-file": "Artist" + }))); } - var scheme = (0, _helpers.uriSource)(uri); + var scheme = Object(_util_helpers__WEBPACK_IMPORTED_MODULE_24__["uriSource"])(uri); var image = artist.images && artist.images.length ? artist.images[0].huge : null; var is_spotify = scheme === 'spotify'; + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "view artist-view preserve-3d", + "data-qa-node": "div", + "data-qa-file": "Artist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "intro preserve-3d", + "data-qa-node": "div", + "data-qa-file": "Artist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Parallax__WEBPACK_IMPORTED_MODULE_10__["default"], { + image: image, + "data-qa-node": "Parallax", + "data-qa-file": "Artist" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "liner", + "data-qa-node": "div", + "data-qa-file": "Artist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "heading", + "data-qa-node": "div", + "data-qa-file": "Artist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "heading__thumbnail", + "data-qa-node": "div", + "data-qa-file": "Artist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Thumbnail__WEBPACK_IMPORTED_MODULE_9__["default"], { + size: "medium", + circle: true, + canZoom: true, + type: "artist", + image: image, + "data-qa-node": "Thumbnail", + "data-qa-file": "Artist" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "heading__content", + "data-qa-node": "div", + "data-qa-file": "Artist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h1", { + "data-qa-node": "h1", + "data-qa-file": "Artist" + }, _this.props.artist ? _this.props.artist.name : null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "actions", + "data-qa-node": "div", + "data-qa-file": "Artist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", { + className: "button button--primary", + onClick: _this.onPlay, + "data-qa-node": "button", + "data-qa-file": "Artist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_27__["I18n"], { + path: "actions.play", + "data-qa-node": "I18n", + "data-qa-file": "Artist" + })), is_spotify && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Fields_FollowButton__WEBPACK_IMPORTED_MODULE_13__["default"], { + uri: uri, + is_following: _this.inLibrary(), + "data-qa-node": "FollowButton", + "data-qa-file": "Artist" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_ContextMenuTrigger__WEBPACK_IMPORTED_MODULE_14__["default"], { + className: "white", + onTrigger: _this.handleContextMenu, + "data-qa-node": "ContextMenuTrigger", + "data-qa-file": "Artist" + })))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "sub-views", + id: "sub-views-menu", + "data-qa-node": "div", + "data-qa-file": "Artist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Link__WEBPACK_IMPORTED_MODULE_5__["default"], { + exact: true, + history: history, + activeClassName: "sub-views__option--active", + className: "sub-views__option", + to: "/artist/".concat(encodeURIComponent(uri)), + scrollTo: "#sub-views-menu", + "data-qa-node": "Link", + "data-qa-file": "Artist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h4", { + "data-qa-node": "h4", + "data-qa-file": "Artist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_27__["I18n"], { + path: "artist.overview.title", + "data-qa-node": "I18n", + "data-qa-file": "Artist" + }))), artist.tracks_uris && artist.tracks_uris.length > 10 && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Link__WEBPACK_IMPORTED_MODULE_5__["default"], { + exact: true, + history: history, + activeClassName: "sub-views__option--active", + className: "sub-views__option", + to: "/artist/".concat(encodeURIComponent(uri), "/tracks"), + scrollTo: "#sub-views-menu", + "data-qa-node": "Link", + "data-qa-file": "Artist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h4", { + "data-qa-node": "h4", + "data-qa-file": "Artist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_27__["I18n"], { + path: "artist.tracks.title", + "data-qa-node": "I18n", + "data-qa-file": "Artist" + }))), artist.related_artists_uris && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Link__WEBPACK_IMPORTED_MODULE_5__["default"], { + exact: true, + history: history, + activeClassName: "sub-views__option--active", + className: "sub-views__option", + to: "/artist/".concat(encodeURIComponent(uri), "/related-artists"), + scrollTo: "#sub-views-menu", + "data-qa-node": "Link", + "data-qa-file": "Artist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h4", { + "data-qa-node": "h4", + "data-qa-file": "Artist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_27__["I18n"], { + path: "artist.related_artists.title", + "data-qa-node": "I18n", + "data-qa-file": "Artist" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Link__WEBPACK_IMPORTED_MODULE_5__["default"], { + exact: true, + history: history, + activeClassName: "sub-views__option--active", + className: "sub-views__option", + to: "/artist/".concat(encodeURIComponent(uri), "/about"), + scrollTo: "#sub-views-menu", + "data-qa-node": "Link", + "data-qa-file": "Artist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h4", { + "data-qa-node": "h4", + "data-qa-file": "Artist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_27__["I18n"], { + path: "artist.about.title", + "data-qa-node": "I18n", + "data-qa-file": "Artist" + })))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "content-wrapper", + "data-qa-node": "div", + "data-qa-file": "Artist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_3__["Switch"], { + "data-qa-node": "Switch", + "data-qa-file": "Artist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_3__["Route"], { + exact: true, + path: "/artist/:id/related-artists", + "data-qa-node": "Route", + "data-qa-file": "Artist" + }, _this.renderRelatedArtists()), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_3__["Route"], { + exact: true, + path: "/artist/:id/tracks", + "data-qa-node": "Route", + "data-qa-file": "Artist" + }, _this.renderTracks()), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_3__["Route"], { + exact: true, + path: "/artist/:id/about", + "data-qa-node": "Route", + "data-qa-file": "Artist" + }, _this.renderAbout()), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_3__["Route"], { + exact: true, + path: "/artist/:id", + "data-qa-node": "Route", + "data-qa-file": "Artist" + }, _this.renderOverview())))); + }); - return _react2.default.createElement( - 'div', - { className: 'view artist-view preserve-3d' }, - _react2.default.createElement( - 'div', - { className: 'intro preserve-3d' }, - _react2.default.createElement(_Parallax2.default, { image: image }), - _react2.default.createElement( - 'div', - { className: 'liner' }, - _react2.default.createElement( - 'div', - { className: 'heading' }, - _react2.default.createElement( - 'div', - { className: 'heading__thumbnail' }, - _react2.default.createElement(_Thumbnail2.default, { size: 'medium', circle: true, canZoom: true, type: 'artist', image: image }) - ), - _react2.default.createElement( - 'div', - { className: 'heading__content' }, - _react2.default.createElement( - 'h1', - null, - _this.props.artist ? _this.props.artist.name : null - ), - _react2.default.createElement( - 'div', - { className: 'actions' }, - _react2.default.createElement( - 'button', - { className: 'button button--primary', onClick: _this.onPlay }, - _react2.default.createElement(_locale.I18n, { path: 'actions.play' }) - ), - is_spotify && _react2.default.createElement(_FollowButton2.default, { - uri: uri, - is_following: _this.inLibrary() - }), - _react2.default.createElement(_ContextMenuTrigger2.default, { className: 'white', onTrigger: _this.handleContextMenu }) - ) - ) - ), - _react2.default.createElement( - 'div', - { className: 'sub-views', id: 'sub-views-menu' }, - _react2.default.createElement( - _Link2.default, - { - exact: true, - history: history, - activeClassName: 'sub-views__option--active', - className: 'sub-views__option', - to: '/artist/' + encodeURIComponent(uri), - scrollTo: '#sub-views-menu' - }, - _react2.default.createElement( - 'h4', - null, - _react2.default.createElement(_locale.I18n, { path: 'artist.overview.title' }) - ) - ), - artist.tracks_uris && artist.tracks_uris.length > 10 && _react2.default.createElement( - _Link2.default, - { - exact: true, - history: history, - activeClassName: 'sub-views__option--active', - className: 'sub-views__option', - to: '/artist/' + encodeURIComponent(uri) + '/tracks', - scrollTo: '#sub-views-menu' - }, - _react2.default.createElement( - 'h4', - null, - _react2.default.createElement(_locale.I18n, { path: 'artist.tracks.title' }) - ) - ), - artist.related_artists_uris && _react2.default.createElement( - _Link2.default, - { - exact: true, - history: history, - activeClassName: 'sub-views__option--active', - className: 'sub-views__option', - to: '/artist/' + encodeURIComponent(uri) + '/related-artists', - scrollTo: '#sub-views-menu' - }, - _react2.default.createElement( - 'h4', - null, - _react2.default.createElement(_locale.I18n, { path: 'artist.related_artists.title' }) - ) - ), - _react2.default.createElement( - _Link2.default, - { - exact: true, - history: history, - activeClassName: 'sub-views__option--active', - className: 'sub-views__option', - to: '/artist/' + encodeURIComponent(uri) + '/about', - scrollTo: '#sub-views-menu' - }, - _react2.default.createElement( - 'h4', - null, - _react2.default.createElement(_locale.I18n, { path: 'artist.about.title' }) - ) - ) - ) - ) - ), - _react2.default.createElement( - 'div', - { className: 'content-wrapper' }, - _react2.default.createElement( - _reactRouterDom.Switch, - null, - _react2.default.createElement( - _reactRouterDom.Route, - { exact: true, path: '/artist/:id/related-artists' }, - _this.renderRelatedArtists() - ), - _react2.default.createElement( - _reactRouterDom.Route, - { exact: true, path: '/artist/:id/tracks' }, - _this.renderTracks() - ), - _react2.default.createElement( - _reactRouterDom.Route, - { exact: true, path: '/artist/:id/about' }, - _this.renderAbout() - ), - _react2.default.createElement( - _reactRouterDom.Route, - { exact: true, path: '/artist/:id' }, - _this.renderOverview() - ) - ) - ) - ); - }, _temp), _possibleConstructorReturn(_this, _ret); + return _this; } _createClass(Artist, [{ - key: 'componentDidMount', + key: "componentDidMount", value: function componentDidMount() { this.setWindowTitle(); this.props.coreActions.loadArtist(this.props.uri); @@ -113817,7 +115232,7 @@ var Artist = function (_React$Component) { }]); return Artist; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); var mapStateToProps = function mapStateToProps(state, ownProps) { var uri = decodeURIComponent(ownProps.match.params.uri); @@ -113842,16 +115257,16 @@ var mapStateToProps = function mapStateToProps(state, ownProps) { var mapDispatchToProps = function mapDispatchToProps(dispatch) { return { - coreActions: (0, _redux.bindActionCreators)(coreActions, dispatch), - uiActions: (0, _redux.bindActionCreators)(uiActions, dispatch), - mopidyActions: (0, _redux.bindActionCreators)(mopidyActions, dispatch), - pusherActions: (0, _redux.bindActionCreators)(pusherActions, dispatch), - lastfmActions: (0, _redux.bindActionCreators)(lastfmActions, dispatch), - spotifyActions: (0, _redux.bindActionCreators)(spotifyActions, dispatch) + coreActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_core_actions__WEBPACK_IMPORTED_MODULE_18__, dispatch), + uiActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_ui_actions__WEBPACK_IMPORTED_MODULE_19__, dispatch), + mopidyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_mopidy_actions__WEBPACK_IMPORTED_MODULE_20__, dispatch), + pusherActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_pusher_actions__WEBPACK_IMPORTED_MODULE_21__, dispatch), + lastfmActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_lastfm_actions__WEBPACK_IMPORTED_MODULE_22__, dispatch), + spotifyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_spotify_actions__WEBPACK_IMPORTED_MODULE_23__, dispatch) }; }; -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(Artist); +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapStateToProps, mapDispatchToProps)(Artist)); /***/ }), @@ -113859,119 +115274,116 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)( /*!*******************************!*\ !*** ./src/js/views/Debug.js ***! \*******************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); - -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); - -var _Header = __webpack_require__(/*! ../components/Header */ "./src/js/components/Header.js"); - -var _Header2 = _interopRequireDefault(_Header); - -var _Icon = __webpack_require__(/*! ../components/Icon */ "./src/js/components/Icon.js"); - -var _Icon2 = _interopRequireDefault(_Icon); - -var _actions = __webpack_require__(/*! ../services/ui/actions */ "./src/js/services/ui/actions.js"); - -var uiActions = _interopRequireWildcard(_actions); - -var _actions2 = __webpack_require__(/*! ../services/pusher/actions */ "./src/js/services/pusher/actions.js"); - -var pusherActions = _interopRequireWildcard(_actions2); - -var _actions3 = __webpack_require__(/*! ../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); - -var mopidyActions = _interopRequireWildcard(_actions3); - -var _actions4 = __webpack_require__(/*! ../services/spotify/actions */ "./src/js/services/spotify/actions.js"); - -var spotifyActions = _interopRequireWildcard(_actions4); - -var _actions5 = __webpack_require__(/*! ../services/snapcast/actions */ "./src/js/services/snapcast/actions.js"); - -var snapcastActions = _interopRequireWildcard(_actions5); - -var _locale = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js"); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var _components_Header__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../components/Header */ "./src/js/components/Header.js"); +/* harmony import */ var _components_Icon__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../components/Icon */ "./src/js/components/Icon.js"); +/* harmony import */ var _services_ui_actions__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../services/ui/actions */ "./src/js/services/ui/actions.js"); +/* harmony import */ var _services_pusher_actions__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../services/pusher/actions */ "./src/js/services/pusher/actions.js"); +/* harmony import */ var _services_mopidy_actions__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); +/* harmony import */ var _services_spotify_actions__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../services/spotify/actions */ "./src/js/services/spotify/actions.js"); +/* harmony import */ var _services_snapcast_actions__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../services/snapcast/actions */ "./src/js/services/snapcast/actions.js"); +/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -var Debug = function (_React$Component) { +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _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; } + + + + + + + + + + + + + +var Debug = /*#__PURE__*/function (_React$Component) { _inherits(Debug, _React$Component); + var _super = _createSuper(Debug); + function Debug(props) { + var _this; + _classCallCheck(this, Debug); - var _this = _possibleConstructorReturn(this, (Debug.__proto__ || Object.getPrototypeOf(Debug)).call(this, props)); + _this = _super.call(this, props); - _this.onBack = function () { + _defineProperty(_assertThisInitialized(_this), "onBack", function () { var history = _this.props.history; - history.push('/settings'); - }; + }); - _this.callMopidy = function (e) { + _defineProperty(_assertThisInitialized(_this), "callMopidy", function (e) { var debug = _this.props.mopidyActions.debug; var _this$state = _this.state, mopidy_call = _this$state.mopidy_call, mopidy_data = _this$state.mopidy_data; - e.preventDefault(); debug(mopidy_call, JSON.parse(mopidy_data)); - }; + }); - _this.callPusher = function (e) { + _defineProperty(_assertThisInitialized(_this), "callPusher", function (e) { var debug = _this.props.pusherActions.debug; var pusher_data = _this.state.pusher_data; - e.preventDefault(); debug(JSON.parse(pusher_data)); - }; + }); - _this.callSnapcast = function (e) { + _defineProperty(_assertThisInitialized(_this), "callSnapcast", function (e) { var debug = _this.props.snapcastActions.debug; var snapcast_data = _this.state.snapcast_data; - e.preventDefault(); debug(JSON.parse(snapcast_data)); - }; + }); - _this.toggleTestMode = function (e) { + _defineProperty(_assertThisInitialized(_this), "toggleTestMode", function (e) { var _this$props = _this.props, set = _this$props.uiActions.set, test_mode = _this$props.test_mode; - _this.setState({ toggling_test_mode: true }); - set({ test_mode: !test_mode }); + _this.setState({ + toggling_test_mode: true + }); + + set({ + test_mode: !test_mode + }); // Wait a second to allow state to update, and then refresh - // Wait a second to allow state to update, and then refresh setTimeout(location.reload(), 1000); - }; + }); - _this.render = function () { + _defineProperty(_assertThisInitialized(_this), "render", function () { var _this$props2 = _this.props, uiActions = _this$props2.uiActions, spotifyActions = _this$props2.spotifyActions, @@ -113990,463 +115402,579 @@ var Debug = function (_React$Component) { mopidy_data = _this$state2.mopidy_data, pusher_data = _this$state2.pusher_data, snapcast_data = _this$state2.snapcast_data; - - - var options = _react2.default.createElement( - 'a', - { className: 'button button--discrete button--no-hover', onClick: _this.onBack }, - _react2.default.createElement(_Icon2.default, { name: 'keyboard_backspace' }), - _react2.default.createElement(_locale.I18n, { path: 'actions.back' }) - ); - - return _react2.default.createElement( - 'div', - { className: 'view debugger-view' }, - _react2.default.createElement( - _Header2.default, - { options: options, uiActions: uiActions }, - _react2.default.createElement(_Icon2.default, { name: 'settings', type: 'material' }), - _react2.default.createElement(_locale.I18n, { path: 'debug.title' }) - ), - _react2.default.createElement( - 'div', - { className: 'content-wrapper' }, - _react2.default.createElement( - 'h4', - { className: 'underline' }, - _react2.default.createElement(_locale.I18n, { path: 'debug.ui.title' }) - ), - _react2.default.createElement( - 'form', - null, - _react2.default.createElement( - 'div', - { className: 'field checkbox' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - 'Test mode' - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - toggling_test_mode && _react2.default.createElement( - 'span', - { className: 'button button--working' }, - 'Applying...' - ), - !toggling_test_mode && _react2.default.createElement( - 'span', - { - className: 'button button--' + (test_mode ? 'destructive' : 'default'), - onClick: _this.toggleTestMode - }, - _react2.default.createElement(_locale.I18n, { path: 'actions.' + (test_mode ? 'disable' : 'enable') }) - ) - ) - ), - _react2.default.createElement( - 'div', - { className: 'field checkbox' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'debug.debug.title' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement( - 'label', - null, - _react2.default.createElement('input', { - type: 'checkbox', - name: 'debug_info', - checked: debug_info, - onChange: function onChange() { - return uiActions.set({ debug_info: !debug_info }); - } - }), - _react2.default.createElement( - 'span', - { className: 'label' }, - _react2.default.createElement(_locale.I18n, { path: 'debug.debug.overlay' }) - ) - ) - ) - ), - _react2.default.createElement( - 'div', - { className: 'field checkbox' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'debug.logging.title' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement( - 'label', - null, - _react2.default.createElement('input', { - type: 'checkbox', - name: 'log_actions', - checked: log_actions, - onChange: function onChange() { - return uiActions.set({ log_actions: !log_actions }); - } - }), - _react2.default.createElement( - 'span', - { className: 'label' }, - _react2.default.createElement(_locale.I18n, { path: 'debug.logging.actions' }) - ) - ), - _react2.default.createElement( - 'label', - null, - _react2.default.createElement('input', { - type: 'checkbox', - name: 'log_mopidy', - checked: log_mopidy, - onChange: function onChange() { - return uiActions.set({ log_mopidy: !log_mopidy }); - } - }), - _react2.default.createElement( - 'span', - { className: 'label' }, - _react2.default.createElement(_locale.I18n, { path: 'debug.logging.mopidy' }) - ) - ), - _react2.default.createElement( - 'label', - null, - _react2.default.createElement('input', { - type: 'checkbox', - name: 'log_pusher', - checked: log_pusher, - onChange: function onChange() { - return uiActions.set({ log_pusher: !log_pusher }); - } - }), - _react2.default.createElement( - 'span', - { className: 'label' }, - _react2.default.createElement(_locale.I18n, { path: 'debug.logging.pusher' }) - ) - ), - _react2.default.createElement( - 'label', - null, - _react2.default.createElement('input', { - type: 'checkbox', - name: 'log_pusher', - checked: log_snapcast, - onChange: function onChange() { - return uiActions.set({ log_snapcast: !log_snapcast }); - } - }), - _react2.default.createElement( - 'span', - { className: 'label' }, - _react2.default.createElement(_locale.I18n, { path: 'debug.logging.snapcast' }) - ) - ) - ) - ), - _react2.default.createElement( - 'div', - { className: 'field' }, - _react2.default.createElement('div', { className: 'name' }), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement( - 'a', - { className: 'button button--default', onClick: function onClick(e) { - return _this.props.uiActions.createNotification({ content: 'Test notification' }); - } }, - _react2.default.createElement(_locale.I18n, { path: 'debug.create_notification' }) - ), - _react2.default.createElement( - 'a', - { className: 'button button--default', onClick: function onClick(e) { - return _this.props.uiActions.startProcess('test_process', "Test process", { remaining: 68, total: 100 }); - } }, - _react2.default.createElement(_locale.I18n, { path: 'debug.create_process' }) - ), - _react2.default.createElement( - 'a', - { className: 'button button--default', onClick: function onClick(e) { - return _this.props.pusherActions.request('test'); - } }, - _react2.default.createElement(_locale.I18n, { path: 'debug.run_test' }) - ) - ) - ) - ), - _react2.default.createElement( - 'h4', - { className: 'underline' }, - 'Spotify' - ), - _react2.default.createElement( - 'label', - { className: 'field' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'debug.access_token' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement('input', { - type: 'text', - onChange: function onChange(e) { - return spotifyActions.authorizationGranted({ access_token: e.target.value }); - }, - value: access_token - }) - ) - ), - _react2.default.createElement( - 'h4', - { className: 'underline' }, - _react2.default.createElement(_locale.I18n, { path: 'services.mopidy.title' }) - ), - _react2.default.createElement( - 'form', - { onSubmit: _this.callMopidy }, - _react2.default.createElement( - 'label', - { className: 'field' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'debug.call' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement('input', { - type: 'text', - onChange: function onChange(e) { - return _this.setState({ mopidy_call: e.target.value }); - }, - value: mopidy_call - }) - ) - ), - _react2.default.createElement( - 'label', - { className: 'field' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'debug.data' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement('textarea', { - onChange: function onChange(e) { - return _this.setState({ mopidy_data: e.target.value }); - }, - value: mopidy_data - }) - ) - ), - _react2.default.createElement( - 'div', - { className: 'field' }, - _react2.default.createElement('div', { className: 'name' }), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement( - 'button', - { type: 'submit', className: 'button button--default' }, - 'Send' - ) - ) - ) - ), - _react2.default.createElement( - 'h4', - { className: 'underline' }, - _react2.default.createElement(_locale.I18n, { path: 'services.pusher.title' }) - ), - _react2.default.createElement( - 'form', - { onSubmit: _this.callPusher }, - _react2.default.createElement( - 'label', - { className: 'field' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'debug.examples' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement( - 'select', - { onChange: function onChange(e) { - return _this.setState({ pusher_data: e.target.value }); - } }, - _react2.default.createElement( - 'option', - { value: '{"method":"get_config"}' }, - 'Get config' - ), - _react2.default.createElement( - 'option', - { value: '{"method":"get_version"}' }, - 'Get version' - ), - _react2.default.createElement( - 'option', - { value: '{"method":"get_connections"}' }, - 'Get connections' - ), - _react2.default.createElement( - 'option', - { value: '{"method":"get_radio"}' }, - 'Get radio' - ), - _react2.default.createElement( - 'option', - { value: '{"method":"get_queue_metadata"}' }, - 'Get queue metadata' - ), - _react2.default.createElement( - 'option', - { value: '{"method":"broadcast","data":{"method":"notification","params":{"notification":{"type":"info","title":"Testing","content":"This is my message"}}}}' }, - 'Broadcast to all clients' - ), - _react2.default.createElement( - 'option', - { value: '{"method":"send_message","data":{"method":"notification","params":{"notification":{"type":"info","title":"Testing","content":"This is my message"}}}}' }, - 'Broadcast to one client' - ), - _react2.default.createElement( - 'option', - { value: '{"method":"set_username","data":{"connection_id":"CONNECTION_ID_HERE","username":"NewUsername"}}' }, - 'Change username' - ), - _react2.default.createElement( - 'option', - { value: '{"method":"refresh_spotify_token"}' }, - 'Refresh Spotify token' - ), - _react2.default.createElement( - 'option', - { value: '{"method":"broadcast","data":{"method":"reload","params":{}}}' }, - 'Forced reload for all connected clients' - ), - _react2.default.createElement( - 'option', - { value: '{"method":"perform_upgrade"}' }, - 'Perform upgrade (beta)' - ) - ) - ) - ), - _react2.default.createElement( - 'label', - { className: 'field' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'debug.data' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement('textarea', { - onChange: function onChange(e) { - return _this.setState({ pusher_data: e.target.value }); - }, - value: pusher_data - }) - ) - ), - _react2.default.createElement( - 'div', - { className: 'field' }, - _react2.default.createElement('div', { className: 'name' }), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement( - 'button', - { type: 'submit', className: 'button button--default' }, - _react2.default.createElement(_locale.I18n, { path: 'actions.send' }) - ) - ) - ) - ), - _react2.default.createElement( - 'h4', - { className: 'underline' }, - _react2.default.createElement(_locale.I18n, { path: 'services.snapcast.title' }) - ), - _react2.default.createElement( - 'form', - { onSubmit: function onSubmit(e) { - return _this.callSnapcast(e); - } }, - _react2.default.createElement( - 'label', - { className: 'field' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'debug.data' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement('textarea', { - onChange: function onChange(e) { - return _this.setState({ snapcast_data: e.target.value }); - }, - value: snapcast_data - }) - ) - ), - _react2.default.createElement( - 'div', - { className: 'field' }, - _react2.default.createElement('div', { className: 'name' }), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement( - 'button', - { type: 'submit', className: 'button button--default' }, - _react2.default.createElement(_locale.I18n, { path: 'actions.send' }) - ) - ) - ) - ), - _react2.default.createElement( - 'h4', - { className: 'underline' }, - _react2.default.createElement(_locale.I18n, { path: 'debug.response' }) - ), - _react2.default.createElement( - 'pre', - null, - debug_response && JSON.stringify(debug_response, null, 2) - ) - ) - ); - }; + var options = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + className: "button button--discrete button--no-hover", + onClick: _this.onBack, + "data-qa-node": "a", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_4__["default"], { + name: "keyboard_backspace", + "data-qa-node": "Icon", + "data-qa-file": "Debug" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_10__["I18n"], { + path: "actions.back", + "data-qa-node": "I18n", + "data-qa-file": "Debug" + })); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "view debugger-view", + "data-qa-node": "div", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Header__WEBPACK_IMPORTED_MODULE_3__["default"], { + options: options, + uiActions: uiActions, + "data-qa-node": "Header", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_4__["default"], { + name: "settings", + type: "material", + "data-qa-node": "Icon", + "data-qa-file": "Debug" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_10__["I18n"], { + path: "debug.title", + "data-qa-node": "I18n", + "data-qa-file": "Debug" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "content-wrapper", + "data-qa-node": "div", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h4", { + className: "underline", + "data-qa-node": "h4", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_10__["I18n"], { + path: "debug.ui.title", + "data-qa-node": "I18n", + "data-qa-file": "Debug" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("form", { + "data-qa-node": "form", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field checkbox", + "data-qa-node": "div", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "Debug" + }, "Test mode"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "Debug" + }, toggling_test_mode && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "button button--working", + "data-qa-node": "span", + "data-qa-file": "Debug" + }, "Applying..."), !toggling_test_mode && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "button button--".concat(test_mode ? 'destructive' : 'default'), + onClick: _this.toggleTestMode, + "data-qa-node": "span", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_10__["I18n"], { + path: "actions.".concat(test_mode ? 'disable' : 'enable'), + "data-qa-node": "I18n", + "data-qa-file": "Debug" + })))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field checkbox", + "data-qa-node": "div", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_10__["I18n"], { + path: "debug.debug.title", + "data-qa-node": "I18n", + "data-qa-file": "Debug" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { + "data-qa-node": "label", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { + type: "checkbox", + name: "debug_info", + checked: debug_info, + onChange: function onChange() { + return uiActions.set({ + debug_info: !debug_info + }); + }, + "data-qa-node": "input", + "data-qa-file": "Debug" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "label", + "data-qa-node": "span", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_10__["I18n"], { + path: "debug.debug.overlay", + "data-qa-node": "I18n", + "data-qa-file": "Debug" + }))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field checkbox", + "data-qa-node": "div", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_10__["I18n"], { + path: "debug.logging.title", + "data-qa-node": "I18n", + "data-qa-file": "Debug" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { + "data-qa-node": "label", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { + type: "checkbox", + name: "log_actions", + checked: log_actions, + onChange: function onChange() { + return uiActions.set({ + log_actions: !log_actions + }); + }, + "data-qa-node": "input", + "data-qa-file": "Debug" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "label", + "data-qa-node": "span", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_10__["I18n"], { + path: "debug.logging.actions", + "data-qa-node": "I18n", + "data-qa-file": "Debug" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { + "data-qa-node": "label", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { + type: "checkbox", + name: "log_mopidy", + checked: log_mopidy, + onChange: function onChange() { + return uiActions.set({ + log_mopidy: !log_mopidy + }); + }, + "data-qa-node": "input", + "data-qa-file": "Debug" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "label", + "data-qa-node": "span", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_10__["I18n"], { + path: "debug.logging.mopidy", + "data-qa-node": "I18n", + "data-qa-file": "Debug" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { + "data-qa-node": "label", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { + type: "checkbox", + name: "log_pusher", + checked: log_pusher, + onChange: function onChange() { + return uiActions.set({ + log_pusher: !log_pusher + }); + }, + "data-qa-node": "input", + "data-qa-file": "Debug" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "label", + "data-qa-node": "span", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_10__["I18n"], { + path: "debug.logging.pusher", + "data-qa-node": "I18n", + "data-qa-file": "Debug" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { + "data-qa-node": "label", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { + type: "checkbox", + name: "log_pusher", + checked: log_snapcast, + onChange: function onChange() { + return uiActions.set({ + log_snapcast: !log_snapcast + }); + }, + "data-qa-node": "input", + "data-qa-file": "Debug" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "label", + "data-qa-node": "span", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_10__["I18n"], { + path: "debug.logging.snapcast", + "data-qa-node": "I18n", + "data-qa-file": "Debug" + }))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field", + "data-qa-node": "div", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "Debug" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + className: "button button--default", + onClick: function onClick(e) { + return _this.props.uiActions.createNotification({ + content: 'Test notification' + }); + }, + "data-qa-node": "a", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_10__["I18n"], { + path: "debug.create_notification", + "data-qa-node": "I18n", + "data-qa-file": "Debug" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + className: "button button--default", + onClick: function onClick(e) { + return _this.props.uiActions.startProcess('test_process', "Test process", { + remaining: 68, + total: 100 + }); + }, + "data-qa-node": "a", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_10__["I18n"], { + path: "debug.create_process", + "data-qa-node": "I18n", + "data-qa-file": "Debug" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + className: "button button--default", + onClick: function onClick(e) { + return _this.props.pusherActions.request('test'); + }, + "data-qa-node": "a", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_10__["I18n"], { + path: "debug.run_test", + "data-qa-node": "I18n", + "data-qa-file": "Debug" + }))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h4", { + className: "underline", + "data-qa-node": "h4", + "data-qa-file": "Debug" + }, "Spotify"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { + className: "field", + "data-qa-node": "label", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_10__["I18n"], { + path: "debug.access_token", + "data-qa-node": "I18n", + "data-qa-file": "Debug" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { + type: "text", + onChange: function onChange(e) { + return spotifyActions.authorizationGranted({ + access_token: e.target.value + }); + }, + value: access_token, + "data-qa-node": "input", + "data-qa-file": "Debug" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h4", { + className: "underline", + "data-qa-node": "h4", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_10__["I18n"], { + path: "services.mopidy.title", + "data-qa-node": "I18n", + "data-qa-file": "Debug" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("form", { + onSubmit: _this.callMopidy, + "data-qa-node": "form", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { + className: "field", + "data-qa-node": "label", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_10__["I18n"], { + path: "debug.call", + "data-qa-node": "I18n", + "data-qa-file": "Debug" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { + type: "text", + onChange: function onChange(e) { + return _this.setState({ + mopidy_call: e.target.value + }); + }, + value: mopidy_call, + "data-qa-node": "input", + "data-qa-file": "Debug" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { + className: "field", + "data-qa-node": "label", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_10__["I18n"], { + path: "debug.data", + "data-qa-node": "I18n", + "data-qa-file": "Debug" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("textarea", { + onChange: function onChange(e) { + return _this.setState({ + mopidy_data: e.target.value + }); + }, + value: mopidy_data, + "data-qa-node": "textarea", + "data-qa-file": "Debug" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field", + "data-qa-node": "div", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "Debug" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", { + type: "submit", + className: "button button--default", + "data-qa-node": "button", + "data-qa-file": "Debug" + }, "Send")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h4", { + className: "underline", + "data-qa-node": "h4", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_10__["I18n"], { + path: "services.pusher.title", + "data-qa-node": "I18n", + "data-qa-file": "Debug" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("form", { + onSubmit: _this.callPusher, + "data-qa-node": "form", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { + className: "field", + "data-qa-node": "label", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_10__["I18n"], { + path: "debug.examples", + "data-qa-node": "I18n", + "data-qa-file": "Debug" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("select", { + onChange: function onChange(e) { + return _this.setState({ + pusher_data: e.target.value + }); + }, + "data-qa-node": "select", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("option", { + value: "{\"method\":\"get_config\"}", + "data-qa-node": "option", + "data-qa-file": "Debug" + }, "Get config"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("option", { + value: "{\"method\":\"get_version\"}", + "data-qa-node": "option", + "data-qa-file": "Debug" + }, "Get version"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("option", { + value: "{\"method\":\"get_connections\"}", + "data-qa-node": "option", + "data-qa-file": "Debug" + }, "Get connections"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("option", { + value: "{\"method\":\"get_radio\"}", + "data-qa-node": "option", + "data-qa-file": "Debug" + }, "Get radio"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("option", { + value: "{\"method\":\"get_queue_metadata\"}", + "data-qa-node": "option", + "data-qa-file": "Debug" + }, "Get queue metadata"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("option", { + value: "{\"method\":\"broadcast\",\"data\":{\"method\":\"notification\",\"params\":{\"notification\":{\"type\":\"info\",\"title\":\"Testing\",\"content\":\"This is my message\"}}}}", + "data-qa-node": "option", + "data-qa-file": "Debug" + }, "Broadcast to all clients"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("option", { + value: "{\"method\":\"send_message\",\"data\":{\"method\":\"notification\",\"params\":{\"notification\":{\"type\":\"info\",\"title\":\"Testing\",\"content\":\"This is my message\"}}}}", + "data-qa-node": "option", + "data-qa-file": "Debug" + }, "Broadcast to one client"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("option", { + value: "{\"method\":\"set_username\",\"data\":{\"connection_id\":\"CONNECTION_ID_HERE\",\"username\":\"NewUsername\"}}", + "data-qa-node": "option", + "data-qa-file": "Debug" + }, "Change username"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("option", { + value: "{\"method\":\"refresh_spotify_token\"}", + "data-qa-node": "option", + "data-qa-file": "Debug" + }, "Refresh Spotify token"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("option", { + value: "{\"method\":\"broadcast\",\"data\":{\"method\":\"reload\",\"params\":{}}}", + "data-qa-node": "option", + "data-qa-file": "Debug" + }, "Forced reload for all connected clients"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("option", { + value: "{\"method\":\"perform_upgrade\"}", + "data-qa-node": "option", + "data-qa-file": "Debug" + }, "Perform upgrade (beta)")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { + className: "field", + "data-qa-node": "label", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_10__["I18n"], { + path: "debug.data", + "data-qa-node": "I18n", + "data-qa-file": "Debug" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("textarea", { + onChange: function onChange(e) { + return _this.setState({ + pusher_data: e.target.value + }); + }, + value: pusher_data, + "data-qa-node": "textarea", + "data-qa-file": "Debug" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field", + "data-qa-node": "div", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "Debug" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", { + type: "submit", + className: "button button--default", + "data-qa-node": "button", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_10__["I18n"], { + path: "actions.send", + "data-qa-node": "I18n", + "data-qa-file": "Debug" + }))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h4", { + className: "underline", + "data-qa-node": "h4", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_10__["I18n"], { + path: "services.snapcast.title", + "data-qa-node": "I18n", + "data-qa-file": "Debug" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("form", { + onSubmit: function onSubmit(e) { + return _this.callSnapcast(e); + }, + "data-qa-node": "form", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { + className: "field", + "data-qa-node": "label", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_10__["I18n"], { + path: "debug.data", + "data-qa-node": "I18n", + "data-qa-file": "Debug" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("textarea", { + onChange: function onChange(e) { + return _this.setState({ + snapcast_data: e.target.value + }); + }, + value: snapcast_data, + "data-qa-node": "textarea", + "data-qa-file": "Debug" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field", + "data-qa-node": "div", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "Debug" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", { + type: "submit", + className: "button button--default", + "data-qa-node": "button", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_10__["I18n"], { + path: "actions.send", + "data-qa-node": "I18n", + "data-qa-file": "Debug" + }))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h4", { + className: "underline", + "data-qa-node": "h4", + "data-qa-file": "Debug" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_10__["I18n"], { + path: "debug.response", + "data-qa-node": "I18n", + "data-qa-file": "Debug" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("pre", { + "data-qa-node": "pre", + "data-qa-file": "Debug" + }, debug_response && JSON.stringify(debug_response, null, 2)))); + }); _this.state = { mopidy_call: 'playlists.asList', @@ -114460,16 +115988,15 @@ var Debug = function (_React$Component) { } _createClass(Debug, [{ - key: 'componentDidMount', + key: "componentDidMount", value: function componentDidMount() { var setWindowTitle = this.props.uiActions.setWindowTitle; - - setWindowTitle((0, _locale.i18n)('debug.title')); + setWindowTitle(Object(_locale__WEBPACK_IMPORTED_MODULE_10__["i18n"])('debug.title')); } }]); return Debug; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); var mapStateToProps = function mapStateToProps(state) { return { @@ -114487,15 +116014,15 @@ var mapStateToProps = function mapStateToProps(state) { var mapDispatchToProps = function mapDispatchToProps(dispatch) { return { - uiActions: (0, _redux.bindActionCreators)(uiActions, dispatch), - pusherActions: (0, _redux.bindActionCreators)(pusherActions, dispatch), - mopidyActions: (0, _redux.bindActionCreators)(mopidyActions, dispatch), - spotifyActions: (0, _redux.bindActionCreators)(spotifyActions, dispatch), - snapcastActions: (0, _redux.bindActionCreators)(snapcastActions, dispatch) + uiActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_ui_actions__WEBPACK_IMPORTED_MODULE_5__, dispatch), + pusherActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_pusher_actions__WEBPACK_IMPORTED_MODULE_6__, dispatch), + mopidyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_mopidy_actions__WEBPACK_IMPORTED_MODULE_7__, dispatch), + spotifyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_spotify_actions__WEBPACK_IMPORTED_MODULE_8__, dispatch), + snapcastActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_snapcast_actions__WEBPACK_IMPORTED_MODULE_9__, dispatch) }; }; -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(Debug); +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapStateToProps, mapDispatchToProps)(Debug)); /***/ }), @@ -114503,491 +116030,505 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)( /*!**********************************!*\ !*** ./src/js/views/Playlist.js ***! \**********************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); - -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); - -var _reactGa = __webpack_require__(/*! react-ga */ "./node_modules/react-ga/dist/esm/index.js"); - -var _reactGa2 = _interopRequireDefault(_reactGa); - -var _ErrorMessage = __webpack_require__(/*! ../components/ErrorMessage */ "./src/js/components/ErrorMessage.js"); - -var _ErrorMessage2 = _interopRequireDefault(_ErrorMessage); - -var _Link = __webpack_require__(/*! ../components/Link */ "./src/js/components/Link.js"); - -var _Link2 = _interopRequireDefault(_Link); - -var _TrackList = __webpack_require__(/*! ../components/TrackList */ "./src/js/components/TrackList.js"); - -var _TrackList2 = _interopRequireDefault(_TrackList); - -var _Thumbnail = __webpack_require__(/*! ../components/Thumbnail */ "./src/js/components/Thumbnail.js"); - -var _Thumbnail2 = _interopRequireDefault(_Thumbnail); - -var _Parallax = __webpack_require__(/*! ../components/Parallax */ "./src/js/components/Parallax.js"); - -var _Parallax2 = _interopRequireDefault(_Parallax); - -var _NiceNumber = __webpack_require__(/*! ../components/NiceNumber */ "./src/js/components/NiceNumber.js"); - -var _NiceNumber2 = _interopRequireDefault(_NiceNumber); - -var _Dater = __webpack_require__(/*! ../components/Dater */ "./src/js/components/Dater.js"); - -var _LazyLoadListener = __webpack_require__(/*! ../components/LazyLoadListener */ "./src/js/components/LazyLoadListener.js"); - -var _LazyLoadListener2 = _interopRequireDefault(_LazyLoadListener); - -var _FollowButton = __webpack_require__(/*! ../components/Fields/FollowButton */ "./src/js/components/Fields/FollowButton.js"); - -var _FollowButton2 = _interopRequireDefault(_FollowButton); - -var _Loader = __webpack_require__(/*! ../components/Loader */ "./src/js/components/Loader.js"); - -var _Loader2 = _interopRequireDefault(_Loader); - -var _ContextMenuTrigger = __webpack_require__(/*! ../components/ContextMenuTrigger */ "./src/js/components/ContextMenuTrigger.js"); - -var _ContextMenuTrigger2 = _interopRequireDefault(_ContextMenuTrigger); - -var _URILink = __webpack_require__(/*! ../components/URILink */ "./src/js/components/URILink.js"); - -var _URILink2 = _interopRequireDefault(_URILink); - -var _Icon = __webpack_require__(/*! ../components/Icon */ "./src/js/components/Icon.js"); - -var _Icon2 = _interopRequireDefault(_Icon); - -var _actions = __webpack_require__(/*! ../services/core/actions */ "./src/js/services/core/actions.js"); - -var coreActions = _interopRequireWildcard(_actions); - -var _actions2 = __webpack_require__(/*! ../services/ui/actions */ "./src/js/services/ui/actions.js"); - -var uiActions = _interopRequireWildcard(_actions2); - -var _actions3 = __webpack_require__(/*! ../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); - -var mopidyActions = _interopRequireWildcard(_actions3); - -var _actions4 = __webpack_require__(/*! ../services/spotify/actions */ "./src/js/services/spotify/actions.js"); - -var spotifyActions = _interopRequireWildcard(_actions4); - -var _helpers = __webpack_require__(/*! ../util/helpers */ "./src/js/util/helpers.js"); - -var _format = __webpack_require__(/*! ../util/format */ "./src/js/util/format.js"); - -var _locale = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js"); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var react_ga__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-ga */ "./node_modules/react-ga/dist/esm/index.js"); +/* harmony import */ var _components_ErrorMessage__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../components/ErrorMessage */ "./src/js/components/ErrorMessage.js"); +/* harmony import */ var _components_Link__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../components/Link */ "./src/js/components/Link.js"); +/* harmony import */ var _components_TrackList__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../components/TrackList */ "./src/js/components/TrackList.js"); +/* harmony import */ var _components_Thumbnail__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../components/Thumbnail */ "./src/js/components/Thumbnail.js"); +/* harmony import */ var _components_Parallax__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../components/Parallax */ "./src/js/components/Parallax.js"); +/* harmony import */ var _components_NiceNumber__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../components/NiceNumber */ "./src/js/components/NiceNumber.js"); +/* harmony import */ var _components_Dater__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../components/Dater */ "./src/js/components/Dater.js"); +/* harmony import */ var _components_LazyLoadListener__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../components/LazyLoadListener */ "./src/js/components/LazyLoadListener.js"); +/* harmony import */ var _components_Fields_FollowButton__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../components/Fields/FollowButton */ "./src/js/components/Fields/FollowButton.js"); +/* harmony import */ var _components_Loader__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../components/Loader */ "./src/js/components/Loader.js"); +/* harmony import */ var _components_ContextMenuTrigger__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../components/ContextMenuTrigger */ "./src/js/components/ContextMenuTrigger.js"); +/* harmony import */ var _components_URILink__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../components/URILink */ "./src/js/components/URILink.js"); +/* harmony import */ var _components_Icon__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../components/Icon */ "./src/js/components/Icon.js"); +/* harmony import */ var _services_core_actions__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../services/core/actions */ "./src/js/services/core/actions.js"); +/* harmony import */ var _services_ui_actions__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../services/ui/actions */ "./src/js/services/ui/actions.js"); +/* harmony import */ var _services_mopidy_actions__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); +/* harmony import */ var _services_spotify_actions__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../services/spotify/actions */ "./src/js/services/spotify/actions.js"); +/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../util/helpers */ "./src/js/util/helpers.js"); +/* harmony import */ var _util_format__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../util/format */ "./src/js/util/format.js"); +/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -var Playlist = function (_React$Component) { +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _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; } + + + + + + + + + + + + + + + + + + + + + + + + + + +var Playlist = /*#__PURE__*/function (_React$Component) { _inherits(Playlist, _React$Component); + var _super = _createSuper(Playlist); + function Playlist(props) { + var _this; + _classCallCheck(this, Playlist); - var _this = _possibleConstructorReturn(this, (Playlist.__proto__ || Object.getPrototypeOf(Playlist)).call(this, props)); + _this = _super.call(this, props); - _initialiseProps.call(_this); + _defineProperty(_assertThisInitialized(_this), "componentDidUpdate", function (_ref) { + var prevUri = _ref.uri, + prevPlaylist = _ref.playlist, + prev_mopidy_connected = _ref.mopidy_connected; + var _this$props = _this.props, + uri = _this$props.uri, + playlist = _this$props.playlist, + mopidy_connected = _this$props.mopidy_connected, + loadPlaylist = _this$props.coreActions.loadPlaylist, + push = _this$props.history.push; - var uri = props.uri; + if (prevPlaylist && playlist && prevPlaylist.moved_to !== playlist.moved_to) { + push("/playlist/".concat(encodeURIComponent(playlist.moved_to))); + } - // Spotify upgraded their playlists URI to remove user component (Sept 2018) + if (uri !== prevUri) { + loadPlaylist(uri); + } else if (!prev_mopidy_connected && mopidy_connected) { + if (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_21__["uriSource"])(uri) !== 'spotify') { + loadPlaylist(uri); + } + } + + if (!prevPlaylist && playlist) _this.setWindowTitle(playlist); + if (prevUri !== uri && playlist) _this.setWindowTitle(playlist); + }); + + _defineProperty(_assertThisInitialized(_this), "setWindowTitle", function () { + var playlist = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _this.props.playlist; + var setWindowTitle = _this.props.uiActions.setWindowTitle; + setWindowTitle(playlist ? Object(_locale__WEBPACK_IMPORTED_MODULE_23__["i18n"])('playlist.title_window', { + name: playlist.name + }) : Object(_locale__WEBPACK_IMPORTED_MODULE_23__["i18n"])('playlist.title')); + }); + + _defineProperty(_assertThisInitialized(_this), "loadMore", function () { + var _this$props2 = _this.props, + getMore = _this$props2.spotifyActions.getMore, + _this$props2$playlist = _this$props2.playlist, + uri = _this$props2$playlist.uri, + tracks_more = _this$props2$playlist.tracks_more; + getMore(tracks_more, { + parent_type: 'playlist', + parent_key: uri, + records_type: 'track' + }); + }); + + _defineProperty(_assertThisInitialized(_this), "handleContextMenu", function (e) { + var _this$props3 = _this.props, + showContextMenu = _this$props3.uiActions.showContextMenu, + playlist = _this$props3.playlist, + uri = _this$props3.uri; + showContextMenu({ + e: e, + context: 'playlist', + items: [playlist], + uris: [uri] + }); + }); + + _defineProperty(_assertThisInitialized(_this), "play", function () { + var _this$props4 = _this.props, + playPlaylist = _this$props4.mopidyActions.playPlaylist, + uri = _this$props4.playlist.uri; + playPlaylist(uri); + }); + + _defineProperty(_assertThisInitialized(_this), "delete", function () { + var _this$props5 = _this.props, + deletePlaylist = _this$props5.mopidyActions.deletePlaylist, + uri = _this$props5.playlist.uri; + deletePlaylist(uri); + }); + + _defineProperty(_assertThisInitialized(_this), "reorderTracks", function (indexes, index) { + var _this$props6 = _this.props, + reorderPlaylistTracks = _this$props6.coreActions.reorderPlaylistTracks, + _this$props6$playlist = _this$props6.playlist, + uri = _this$props6$playlist.uri, + snapshot_id = _this$props6$playlist.snapshot_id; + reorderPlaylistTracks(uri, indexes, index, snapshot_id); + }); + + _defineProperty(_assertThisInitialized(_this), "removeTracks", function (tracks_indexes) { + _this.props.coreActions.removeTracksFromPlaylist(_this.props.playlist.uri, tracks_indexes); + }); + + _defineProperty(_assertThisInitialized(_this), "inLibrary", function () { + var uri = _this.props.uri; + var libraryName = "".concat(Object(_util_helpers__WEBPACK_IMPORTED_MODULE_21__["uriSource"])(uri), "_library_playlists"); + var library = _this.props[libraryName]; + if (!library) return false; + return library.indexOf(uri) > -1; + }); + + _defineProperty(_assertThisInitialized(_this), "renderActions", function () { + var _this$props7 = _this.props, + uri = _this$props7.uri, + can_edit = _this$props7.playlist.can_edit; + + switch (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_21__["uriSource"])(_this.props.uri)) { + case 'm3u': + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "actions", + "data-qa-node": "div", + "data-qa-file": "Playlist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", { + className: "button button--primary", + onClick: _this.play, + "data-qa-node": "button", + "data-qa-file": "Playlist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_23__["I18n"], { + path: "actions.play", + "data-qa-node": "I18n", + "data-qa-file": "Playlist" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Link__WEBPACK_IMPORTED_MODULE_5__["default"], { + className: "button button--default", + to: "/playlist/".concat(encodeURIComponent(uri), "/edit"), + "data-qa-node": "Link", + "data-qa-file": "Playlist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_23__["I18n"], { + path: "actions.edit", + "data-qa-node": "I18n", + "data-qa-file": "Playlist" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_ContextMenuTrigger__WEBPACK_IMPORTED_MODULE_14__["default"], { + onTrigger: _this.handleContextMenu, + "data-qa-node": "ContextMenuTrigger", + "data-qa-file": "Playlist" + })); + + case 'spotify': + if (can_edit) { + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "actions", + "data-qa-node": "div", + "data-qa-file": "Playlist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", { + className: "button button--primary", + onClick: _this.play, + "data-qa-node": "button", + "data-qa-file": "Playlist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_23__["I18n"], { + path: "actions.play", + "data-qa-node": "I18n", + "data-qa-file": "Playlist" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Link__WEBPACK_IMPORTED_MODULE_5__["default"], { + className: "button button--default", + to: "/playlist/".concat(encodeURIComponent(uri), "/edit"), + "data-qa-node": "Link", + "data-qa-file": "Playlist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_23__["I18n"], { + path: "actions.edit", + "data-qa-node": "I18n", + "data-qa-file": "Playlist" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_ContextMenuTrigger__WEBPACK_IMPORTED_MODULE_14__["default"], { + onTrigger: _this.handleContextMenu, + "data-qa-node": "ContextMenuTrigger", + "data-qa-file": "Playlist" + })); + } + + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "actions", + "data-qa-node": "div", + "data-qa-file": "Playlist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", { + className: "button button--primary", + onClick: _this.play, + "data-qa-node": "button", + "data-qa-file": "Playlist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_23__["I18n"], { + path: "actions.play", + "data-qa-node": "I18n", + "data-qa-file": "Playlist" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Fields_FollowButton__WEBPACK_IMPORTED_MODULE_12__["default"], { + uri: uri, + is_following: _this.inLibrary(), + "data-qa-node": "FollowButton", + "data-qa-file": "Playlist" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_ContextMenuTrigger__WEBPACK_IMPORTED_MODULE_14__["default"], { + onTrigger: _this.handleContextMenu, + "data-qa-node": "ContextMenuTrigger", + "data-qa-file": "Playlist" + })); + + default: + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "actions", + "data-qa-node": "div", + "data-qa-file": "Playlist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", { + className: "button button--primary", + onClick: _this.play, + "data-qa-node": "button", + "data-qa-file": "Playlist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_23__["I18n"], { + path: "actions.play", + "data-qa-node": "I18n", + "data-qa-file": "Playlist" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_ContextMenuTrigger__WEBPACK_IMPORTED_MODULE_14__["default"], { + onTrigger: _this.handleContextMenu, + "data-qa-node": "ContextMenuTrigger", + "data-qa-file": "Playlist" + })); + } + }); + + _defineProperty(_assertThisInitialized(_this), "render", function () { + var _this$props8 = _this.props, + uri = _this$props8.uri, + playlistProp = _this$props8.playlist, + load_queue = _this$props8.load_queue, + tracks = _this$props8.tracks, + users = _this$props8.users, + slim_mode = _this$props8.slim_mode; + var playlist_id = Object(_util_helpers__WEBPACK_IMPORTED_MODULE_21__["getFromUri"])('playlistid', uri); + + if (!playlistProp) { + if (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_21__["isLoading"])(load_queue, ["spotify_playlists/".concat(playlist_id, "?")])) { + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Loader__WEBPACK_IMPORTED_MODULE_13__["default"], { + body: true, + loading: true, + "data-qa-node": "Loader", + "data-qa-file": "Playlist" + }); + } + + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_ErrorMessage__WEBPACK_IMPORTED_MODULE_4__["default"], { + type: "not-found", + title: "Not found", + "data-qa-node": "ErrorMessage", + "data-qa-file": "Playlist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p", { + "data-qa-node": "p", + "data-qa-file": "Playlist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_23__["I18n"], { + path: "errors.uri_not_found", + uri: uri, + "data-qa-node": "I18n", + "data-qa-file": "Playlist" + }))); + } + + var playlist = Object(_util_format__WEBPACK_IMPORTED_MODULE_22__["collate"])(playlistProp, { + tracks: tracks, + users: users + }); + var context = 'playlist'; + + if (playlist.can_edit) { + context = 'editable-playlist'; + } + + var is_loading_tracks = playlist.tracks_total !== 0 && (!playlist.tracks_uris || playlist.tracks_uris && !playlist.tracks || playlist.tracks_uris.length !== playlist.tracks.length); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "view playlist-view content-wrapper preserve-3d", + "data-qa-node": "div", + "data-qa-file": "Playlist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "thumbnail-wrapper", + "data-qa-node": "div", + "data-qa-file": "Playlist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Thumbnail__WEBPACK_IMPORTED_MODULE_7__["default"], { + size: "large", + glow: true, + canZoom: true, + images: playlist.images, + type: "playlist", + "data-qa-node": "Thumbnail", + "data-qa-file": "Playlist" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "title", + "data-qa-node": "div", + "data-qa-file": "Playlist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h1", { + "data-qa-node": "h1", + "data-qa-file": "Playlist" + }, playlist.name), playlist.description && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h2", { + className: "description", + dangerouslySetInnerHTML: { + __html: playlist.description + }, + "data-qa-node": "h2", + "data-qa-file": "Playlist" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("ul", { + className: "details", + "data-qa-node": "ul", + "data-qa-file": "Playlist" + }, !slim_mode && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li", { + className: "source", + "data-qa-node": "li", + "data-qa-file": "Playlist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_16__["default"], { + type: "fontawesome", + name: Object(_util_helpers__WEBPACK_IMPORTED_MODULE_21__["sourceIcon"])(playlist.uri), + "data-qa-node": "Icon", + "data-qa-file": "Playlist" + })), playlist.user_uri && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li", { + "data-qa-node": "li", + "data-qa-file": "Playlist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_URILink__WEBPACK_IMPORTED_MODULE_15__["default"], { + type: "user", + uri: playlist.user_uri, + "data-qa-node": "URILink", + "data-qa-file": "Playlist" + }, playlist.user ? playlist.user.name : Object(_util_helpers__WEBPACK_IMPORTED_MODULE_21__["getFromUri"])('userid', playlist.user_uri))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li", { + "data-qa-node": "li", + "data-qa-file": "Playlist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_23__["I18n"], { + path: "specs.tracks", + count: playlist.tracks_total || 0, + "data-qa-node": "I18n", + "data-qa-file": "Playlist" + })), !slim_mode && playlist.tracks && playlist.tracks_total > 0 && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li", { + "data-qa-node": "li", + "data-qa-file": "Playlist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Dater__WEBPACK_IMPORTED_MODULE_10__["Dater"], { + type: "total-time", + data: playlist.tracks, + "data-qa-node": "Dater", + "data-qa-file": "Playlist" + })), !slim_mode && playlist.followers !== undefined && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li", { + "data-qa-node": "li", + "data-qa-file": "Playlist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_23__["I18n"], { + path: "specs.followers", + count: Object(_components_NiceNumber__WEBPACK_IMPORTED_MODULE_9__["nice_number"])(playlist.followers), + "data-qa-node": "I18n", + "data-qa-file": "Playlist" + })), !slim_mode && playlist.last_modified_date && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li", { + "data-qa-node": "li", + "data-qa-file": "Playlist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_23__["I18n"], { + path: "specs.edited", + date: Object(_components_Dater__WEBPACK_IMPORTED_MODULE_10__["dater"])('ago', playlist.last_modified_date), + "data-qa-node": "I18n", + "data-qa-file": "Playlist" + })))), _this.renderActions(), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("section", { + className: "list-wrapper", + "data-qa-node": "section", + "data-qa-file": "Playlist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_TrackList__WEBPACK_IMPORTED_MODULE_6__["default"], { + uri: playlist.uri, + className: "playlist-track-list", + track_context: context, + tracks: playlist.tracks, + removeTracks: _this.removeTracks, + reorderTracks: _this.reorderTracks, + "data-qa-node": "TrackList", + "data-qa-file": "Playlist" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_LazyLoadListener__WEBPACK_IMPORTED_MODULE_11__["default"], { + loadKey: playlist.tracks_more, + showLoader: is_loading_tracks || playlist.tracks_more, + loadMore: _this.loadMore, + "data-qa-node": "LazyLoadListener", + "data-qa-file": "Playlist" + }))); + }); + + var _uri = props.uri; // Spotify upgraded their playlists URI to remove user component (Sept 2018) // We accept the old format, and redirect to the new one - if (uri.includes('spotify:user:')) { - uri = uri.replace(/spotify:user:([^:]*?):/i, 'spotify:'); - props.history.push('/playlist/' + encodeURIComponent(uri)); + if (_uri.includes('spotify:user:')) { + _uri = _uri.replace(/spotify:user:([^:]*?):/i, 'spotify:'); + props.history.push("/playlist/".concat(encodeURIComponent(_uri))); } + return _this; } _createClass(Playlist, [{ - key: 'componentDidMount', + key: "componentDidMount", value: function componentDidMount() { - var _props = this.props, - loadPlaylist = _props.coreActions.loadPlaylist, - uri = _props.uri; - + var _this$props9 = this.props, + loadPlaylist = _this$props9.coreActions.loadPlaylist, + uri = _this$props9.uri; this.setWindowTitle(); loadPlaylist(uri); } - - // TODO: Once deletion occurs, remove playlist from global playlists list - }]); return Playlist; -}(_react2.default.Component); - -var _initialiseProps = function _initialiseProps() { - var _this2 = this; - - this.componentDidUpdate = function (_ref) { - var prevUri = _ref.uri, - prevPlaylist = _ref.playlist, - prev_mopidy_connected = _ref.mopidy_connected; - var _props2 = _this2.props, - uri = _props2.uri, - playlist = _props2.playlist, - mopidy_connected = _props2.mopidy_connected, - loadPlaylist = _props2.coreActions.loadPlaylist, - push = _props2.history.push; - - - if (prevPlaylist && playlist && prevPlaylist.moved_to !== playlist.moved_to) { - push('/playlist/' + encodeURIComponent(playlist.moved_to)); - } - - if (uri !== prevUri) { - loadPlaylist(uri); - } else if (!prev_mopidy_connected && mopidy_connected) { - if ((0, _helpers.uriSource)(uri) !== 'spotify') { - loadPlaylist(uri); - } - } - - if (!prevPlaylist && playlist) _this2.setWindowTitle(playlist); - if (prevUri !== uri && playlist) _this2.setWindowTitle(playlist); - }; - - this.setWindowTitle = function () { - var playlist = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _this2.props.playlist; - var setWindowTitle = _this2.props.uiActions.setWindowTitle; - - setWindowTitle(playlist ? (0, _locale.i18n)('playlist.title_window', { name: playlist.name }) : (0, _locale.i18n)('playlist.title')); - }; - - this.loadMore = function () { - var _props3 = _this2.props, - getMore = _props3.spotifyActions.getMore, - _props3$playlist = _props3.playlist, - uri = _props3$playlist.uri, - tracks_more = _props3$playlist.tracks_more; - - - getMore(tracks_more, { - parent_type: 'playlist', - parent_key: uri, - records_type: 'track' - }); - }; - - this.handleContextMenu = function (e) { - var _props4 = _this2.props, - showContextMenu = _props4.uiActions.showContextMenu, - playlist = _props4.playlist, - uri = _props4.uri; - - - showContextMenu({ - e: e, - context: 'playlist', - items: [playlist], - uris: [uri] - }); - }; - - this.play = function () { - var _props5 = _this2.props, - playPlaylist = _props5.mopidyActions.playPlaylist, - uri = _props5.playlist.uri; - - - playPlaylist(uri); - }; - - this.delete = function () { - var _props6 = _this2.props, - deletePlaylist = _props6.mopidyActions.deletePlaylist, - uri = _props6.playlist.uri; - - - deletePlaylist(uri); - }; - - this.reorderTracks = function (indexes, index) { - var _props7 = _this2.props, - reorderPlaylistTracks = _props7.coreActions.reorderPlaylistTracks, - _props7$playlist = _props7.playlist, - uri = _props7$playlist.uri, - snapshot_id = _props7$playlist.snapshot_id; - - - reorderPlaylistTracks(uri, indexes, index, snapshot_id); - }; - - this.removeTracks = function (tracks_indexes) { - _this2.props.coreActions.removeTracksFromPlaylist(_this2.props.playlist.uri, tracks_indexes); - }; - - this.inLibrary = function () { - var uri = _this2.props.uri; - - var libraryName = (0, _helpers.uriSource)(uri) + '_library_playlists'; - var library = _this2.props[libraryName]; - - - if (!library) return false; - - return library.indexOf(uri) > -1; - }; - - this.renderActions = function () { - var _props8 = _this2.props, - uri = _props8.uri, - can_edit = _props8.playlist.can_edit; - - - switch ((0, _helpers.uriSource)(_this2.props.uri)) { - case 'm3u': - return _react2.default.createElement( - 'div', - { className: 'actions' }, - _react2.default.createElement( - 'button', - { className: 'button button--primary', onClick: _this2.play }, - _react2.default.createElement(_locale.I18n, { path: 'actions.play' }) - ), - _react2.default.createElement( - _Link2.default, - { - className: 'button button--default', - to: '/playlist/' + encodeURIComponent(uri) + '/edit' - }, - _react2.default.createElement(_locale.I18n, { path: 'actions.edit' }) - ), - _react2.default.createElement(_ContextMenuTrigger2.default, { onTrigger: _this2.handleContextMenu }) - ); - - case 'spotify': - if (can_edit) { - return _react2.default.createElement( - 'div', - { className: 'actions' }, - _react2.default.createElement( - 'button', - { className: 'button button--primary', onClick: _this2.play }, - _react2.default.createElement(_locale.I18n, { path: 'actions.play' }) - ), - _react2.default.createElement( - _Link2.default, - { - className: 'button button--default', - to: '/playlist/' + encodeURIComponent(uri) + '/edit' - }, - _react2.default.createElement(_locale.I18n, { path: 'actions.edit' }) - ), - _react2.default.createElement(_ContextMenuTrigger2.default, { onTrigger: _this2.handleContextMenu }) - ); - } - return _react2.default.createElement( - 'div', - { className: 'actions' }, - _react2.default.createElement( - 'button', - { className: 'button button--primary', onClick: _this2.play }, - _react2.default.createElement(_locale.I18n, { path: 'actions.play' }) - ), - _react2.default.createElement(_FollowButton2.default, { - uri: uri, - is_following: _this2.inLibrary() - }), - _react2.default.createElement(_ContextMenuTrigger2.default, { onTrigger: _this2.handleContextMenu }) - ); - - default: - return _react2.default.createElement( - 'div', - { className: 'actions' }, - _react2.default.createElement( - 'button', - { - className: 'button button--primary', - onClick: _this2.play - }, - _react2.default.createElement(_locale.I18n, { path: 'actions.play' }) - ), - _react2.default.createElement(_ContextMenuTrigger2.default, { onTrigger: _this2.handleContextMenu }) - ); - } - }; - - this.render = function () { - var _props9 = _this2.props, - uri = _props9.uri, - playlistProp = _props9.playlist, - load_queue = _props9.load_queue, - tracks = _props9.tracks, - users = _props9.users, - slim_mode = _props9.slim_mode; - - - var playlist_id = (0, _helpers.getFromUri)('playlistid', uri); - - if (!playlistProp) { - if ((0, _helpers.isLoading)(load_queue, ['spotify_playlists/' + playlist_id + '?'])) { - return _react2.default.createElement(_Loader2.default, { body: true, loading: true }); - } - return _react2.default.createElement( - _ErrorMessage2.default, - { type: 'not-found', title: 'Not found' }, - _react2.default.createElement( - 'p', - null, - _react2.default.createElement(_locale.I18n, { path: 'errors.uri_not_found', uri: uri }) - ) - ); - } - - var playlist = (0, _format.collate)(playlistProp, { tracks: tracks, users: users }); - - var context = 'playlist'; - if (playlist.can_edit) { - context = 'editable-playlist'; - } - - var is_loading_tracks = playlist.tracks_total !== 0 && (!playlist.tracks_uris || playlist.tracks_uris && !playlist.tracks || playlist.tracks_uris.length !== playlist.tracks.length); - - return _react2.default.createElement( - 'div', - { className: 'view playlist-view content-wrapper preserve-3d' }, - _react2.default.createElement( - 'div', - { className: 'thumbnail-wrapper' }, - _react2.default.createElement(_Thumbnail2.default, { size: 'large', glow: true, canZoom: true, images: playlist.images, type: 'playlist' }) - ), - _react2.default.createElement( - 'div', - { className: 'title' }, - _react2.default.createElement( - 'h1', - null, - playlist.name - ), - playlist.description && _react2.default.createElement('h2', { - className: 'description', - dangerouslySetInnerHTML: { __html: playlist.description } - }), - _react2.default.createElement( - 'ul', - { className: 'details' }, - !slim_mode && _react2.default.createElement( - 'li', - { className: 'source' }, - _react2.default.createElement(_Icon2.default, { type: 'fontawesome', name: (0, _helpers.sourceIcon)(playlist.uri) }) - ), - playlist.user_uri && _react2.default.createElement( - 'li', - null, - _react2.default.createElement( - _URILink2.default, - { - type: 'user', - uri: playlist.user_uri - }, - playlist.user ? playlist.user.name : (0, _helpers.getFromUri)('userid', playlist.user_uri) - ) - ), - _react2.default.createElement( - 'li', - null, - _react2.default.createElement(_locale.I18n, { path: 'specs.tracks', count: playlist.tracks_total || 0 }) - ), - !slim_mode && playlist.tracks && playlist.tracks_total > 0 && _react2.default.createElement( - 'li', - null, - _react2.default.createElement(_Dater.Dater, { type: 'total-time', data: playlist.tracks }) - ), - !slim_mode && playlist.followers !== undefined && _react2.default.createElement( - 'li', - null, - _react2.default.createElement(_locale.I18n, { path: 'specs.followers', count: (0, _NiceNumber.nice_number)(playlist.followers) }) - ), - !slim_mode && playlist.last_modified_date && _react2.default.createElement( - 'li', - null, - _react2.default.createElement(_locale.I18n, { path: 'specs.edited', date: (0, _Dater.dater)('ago', playlist.last_modified_date) }) - ) - ) - ), - _this2.renderActions(), - _react2.default.createElement( - 'section', - { className: 'list-wrapper' }, - _react2.default.createElement(_TrackList2.default, { - uri: playlist.uri, - className: 'playlist-track-list', - track_context: context, - tracks: playlist.tracks, - removeTracks: _this2.removeTracks, - reorderTracks: _this2.reorderTracks - }), - _react2.default.createElement(_LazyLoadListener2.default, { - loadKey: playlist.tracks_more, - showLoader: is_loading_tracks || playlist.tracks_more, - loadMore: _this2.loadMore - }) - ) - ); - }; -}; +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); var mapStateToProps = function mapStateToProps(state, ownProps) { var _state$ui = state.ui; - _state$ui = _state$ui === undefined ? {} : _state$ui; + _state$ui = _state$ui === void 0 ? {} : _state$ui; var allow_reporting = _state$ui.allow_reporting, slim_mode = _state$ui.slim_mode, theme = _state$ui.theme, load_queue = _state$ui.load_queue, _state$core = state.core; - _state$core = _state$core === undefined ? {} : _state$core; + _state$core = _state$core === void 0 ? {} : _state$core; var users = _state$core.users, tracks = _state$core.tracks, playlists = _state$core.playlists, _state$spotify = state.spotify; - _state$spotify = _state$spotify === undefined ? {} : _state$spotify; + _state$spotify = _state$spotify === void 0 ? {} : _state$spotify; var spotify_library_playlists = _state$spotify.library_playlists, spotify_authorized = _state$spotify.authorization, _state$spotify$me = _state$spotify.me, - me = _state$spotify$me === undefined ? {} : _state$spotify$me, + me = _state$spotify$me === void 0 ? {} : _state$spotify$me, _state$mopidy = state.mopidy; - _state$mopidy = _state$mopidy === undefined ? {} : _state$mopidy; + _state$mopidy = _state$mopidy === void 0 ? {} : _state$mopidy; var mopidy_connected = _state$mopidy.connected, local_library_playlists = _state$mopidy.library_playlists; - - - var uri = (0, _helpers.decodeMopidyUri)(ownProps.match.params.uri); - + var uri = Object(_util_helpers__WEBPACK_IMPORTED_MODULE_21__["decodeMopidyUri"])(ownProps.match.params.uri); return { uri: uri, allow_reporting: allow_reporting, @@ -115007,14 +116548,14 @@ var mapStateToProps = function mapStateToProps(state, ownProps) { var mapDispatchToProps = function mapDispatchToProps(dispatch) { return { - coreActions: (0, _redux.bindActionCreators)(coreActions, dispatch), - uiActions: (0, _redux.bindActionCreators)(uiActions, dispatch), - mopidyActions: (0, _redux.bindActionCreators)(mopidyActions, dispatch), - spotifyActions: (0, _redux.bindActionCreators)(spotifyActions, dispatch) + coreActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_core_actions__WEBPACK_IMPORTED_MODULE_17__, dispatch), + uiActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_ui_actions__WEBPACK_IMPORTED_MODULE_18__, dispatch), + mopidyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_mopidy_actions__WEBPACK_IMPORTED_MODULE_19__, dispatch), + spotifyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_spotify_actions__WEBPACK_IMPORTED_MODULE_20__, dispatch) }; }; -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(Playlist); +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapStateToProps, mapDispatchToProps)(Playlist)); /***/ }), @@ -115022,141 +116563,149 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)( /*!*******************************!*\ !*** ./src/js/views/Queue.js ***! \*******************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var _components_Link__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../components/Link */ "./src/js/components/Link.js"); +/* harmony import */ var _components_Icon__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../components/Icon */ "./src/js/components/Icon.js"); +/* harmony import */ var _components_Parallax__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../components/Parallax */ "./src/js/components/Parallax.js"); +/* harmony import */ var _components_TrackList__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../components/TrackList */ "./src/js/components/TrackList.js"); +/* harmony import */ var _components_Dater__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../components/Dater */ "./src/js/components/Dater.js"); +/* harmony import */ var _components_LinksSentence__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../components/LinksSentence */ "./src/js/components/LinksSentence.js"); +/* harmony import */ var _components_Thumbnail__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../components/Thumbnail */ "./src/js/components/Thumbnail.js"); +/* harmony import */ var _components_Header__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../components/Header */ "./src/js/components/Header.js"); +/* harmony import */ var _components_URILink__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../components/URILink */ "./src/js/components/URILink.js"); +/* harmony import */ var _components_LazyLoadListener__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../components/LazyLoadListener */ "./src/js/components/LazyLoadListener.js"); +/* harmony import */ var _services_core_actions__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../services/core/actions */ "./src/js/services/core/actions.js"); +/* harmony import */ var _services_ui_actions__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../services/ui/actions */ "./src/js/services/ui/actions.js"); +/* harmony import */ var _services_pusher_actions__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../services/pusher/actions */ "./src/js/services/pusher/actions.js"); +/* harmony import */ var _services_spotify_actions__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../services/spotify/actions */ "./src/js/services/spotify/actions.js"); +/* harmony import */ var _services_mopidy_actions__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); +/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../util/helpers */ "./src/js/util/helpers.js"); +/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js"); +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } -Object.defineProperty(exports, "__esModule", { - value: true -}); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; +function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); - -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); - -var _Link = __webpack_require__(/*! ../components/Link */ "./src/js/components/Link.js"); - -var _Link2 = _interopRequireDefault(_Link); - -var _Icon = __webpack_require__(/*! ../components/Icon */ "./src/js/components/Icon.js"); - -var _Icon2 = _interopRequireDefault(_Icon); - -var _Parallax = __webpack_require__(/*! ../components/Parallax */ "./src/js/components/Parallax.js"); - -var _Parallax2 = _interopRequireDefault(_Parallax); - -var _TrackList = __webpack_require__(/*! ../components/TrackList */ "./src/js/components/TrackList.js"); - -var _TrackList2 = _interopRequireDefault(_TrackList); - -var _Dater = __webpack_require__(/*! ../components/Dater */ "./src/js/components/Dater.js"); - -var _LinksSentence = __webpack_require__(/*! ../components/LinksSentence */ "./src/js/components/LinksSentence.js"); - -var _LinksSentence2 = _interopRequireDefault(_LinksSentence); - -var _Thumbnail = __webpack_require__(/*! ../components/Thumbnail */ "./src/js/components/Thumbnail.js"); - -var _Thumbnail2 = _interopRequireDefault(_Thumbnail); - -var _Header = __webpack_require__(/*! ../components/Header */ "./src/js/components/Header.js"); - -var _Header2 = _interopRequireDefault(_Header); - -var _URILink = __webpack_require__(/*! ../components/URILink */ "./src/js/components/URILink.js"); - -var _URILink2 = _interopRequireDefault(_URILink); - -var _LazyLoadListener = __webpack_require__(/*! ../components/LazyLoadListener */ "./src/js/components/LazyLoadListener.js"); - -var _LazyLoadListener2 = _interopRequireDefault(_LazyLoadListener); - -var _actions = __webpack_require__(/*! ../services/core/actions */ "./src/js/services/core/actions.js"); - -var coreActions = _interopRequireWildcard(_actions); - -var _actions2 = __webpack_require__(/*! ../services/ui/actions */ "./src/js/services/ui/actions.js"); - -var uiActions = _interopRequireWildcard(_actions2); - -var _actions3 = __webpack_require__(/*! ../services/pusher/actions */ "./src/js/services/pusher/actions.js"); - -var pusherActions = _interopRequireWildcard(_actions3); - -var _actions4 = __webpack_require__(/*! ../services/spotify/actions */ "./src/js/services/spotify/actions.js"); - -var spotifyActions = _interopRequireWildcard(_actions4); - -var _actions5 = __webpack_require__(/*! ../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); - -var mopidyActions = _interopRequireWildcard(_actions5); - -var _helpers = __webpack_require__(/*! ../util/helpers */ "./src/js/util/helpers.js"); - -var _locale = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js"); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _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; } + + + + + + + + + + + + + + + + + + + + -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } var Artwork = function Artwork(_ref) { var image = _ref.image, album_uri = _ref.album_uri; if (!image) { - return _react2.default.createElement( - 'div', - { className: 'current-track__artwork' }, - _react2.default.createElement(_Thumbnail2.default, { glow: true, type: 'track' }) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "current-track__artwork", + "data-qa-node": "div", + "data-qa-file": "Queue" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Thumbnail__WEBPACK_IMPORTED_MODULE_9__["default"], { + glow: true, + type: "track", + "data-qa-node": "Thumbnail", + "data-qa-file": "Queue" + })); } - return _react2.default.createElement( - 'div', - { className: 'current-track__artwork' }, - _react2.default.createElement( - _Thumbnail2.default, - { glow: true, image: image, type: 'track' }, - _react2.default.createElement( - _Link2.default, - { to: '/kiosk-mode', className: 'thumbnail__actions__item' }, - _react2.default.createElement(_Icon2.default, { name: 'expand', type: 'fontawesome' }) - ), - _react2.default.createElement( - _URILink2.default, - { uri: album_uri, className: 'thumbnail__actions__item' }, - _react2.default.createElement(_Icon2.default, { name: 'album' }) - ) - ) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "current-track__artwork", + "data-qa-node": "div", + "data-qa-file": "Queue" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Thumbnail__WEBPACK_IMPORTED_MODULE_9__["default"], { + glow: true, + image: image, + type: "track", + "data-qa-node": "Thumbnail", + "data-qa-file": "Queue" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Link__WEBPACK_IMPORTED_MODULE_3__["default"], { + to: "/kiosk-mode", + className: "thumbnail__actions__item", + "data-qa-node": "Link", + "data-qa-file": "Queue" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_4__["default"], { + name: "expand", + type: "fontawesome", + "data-qa-node": "Icon", + "data-qa-file": "Queue" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_URILink__WEBPACK_IMPORTED_MODULE_11__["default"], { + uri: album_uri, + className: "thumbnail__actions__item", + "data-qa-node": "URILink", + "data-qa-file": "Queue" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_4__["default"], { + name: "album", + "data-qa-node": "Icon", + "data-qa-file": "Queue" + })))); }; -var Queue = function (_React$Component) { +var Queue = /*#__PURE__*/function (_React$Component) { _inherits(Queue, _React$Component); + var _super = _createSuper(Queue); + function Queue(props) { + var _this; + _classCallCheck(this, Queue); - var _this = _possibleConstructorReturn(this, (Queue.__proto__ || Object.getPrototypeOf(Queue)).call(this, props)); + _this = _super.call(this, props); - _this.componentDidUpdate = function (_ref2) { + _defineProperty(_assertThisInitialized(_this), "componentDidUpdate", function (_ref2) { var prev_added_from_uri = _ref2.added_from_uri; var _this$props = _this.props, _this$props$coreActio = _this$props.coreActions, @@ -115165,51 +116714,58 @@ var Queue = function (_React$Component) { loadPlaylist = _this$props$coreActio.loadPlaylist, added_from_uri = _this$props.added_from_uri; - if (added_from_uri && added_from_uri !== prev_added_from_uri) { - var item_type = (0, _helpers.uriType)(added_from_uri); + var item_type = Object(_util_helpers__WEBPACK_IMPORTED_MODULE_18__["uriType"])(added_from_uri); + switch (item_type) { case 'album': loadAlbum(added_from_uri); break; + case 'artist': loadArtist(added_from_uri); break; + case 'playlist': loadPlaylist(added_from_uri); break; + default: break; } } - }; + }); - _this.loadMore = function () { + _defineProperty(_assertThisInitialized(_this), "loadMore", function () { var _this$state = _this.state, limit = _this$state.limit, per_page = _this$state.per_page; var _this$props2 = _this.props, location = _this$props2.location, history = _this$props2.history; - var new_limit = limit + per_page; - _this.setState({ limit: new_limit }); + _this.setState({ + limit: new_limit + }); // Set our pagination to location state + - // Set our pagination to location state var state = location && location.state ? location.state : {}; state.limit = new_limit; - history.replace({ state: state }); - }; + history.replace({ + state: state + }); + }); - _this.removeTracks = function (track_indexes) { + _defineProperty(_assertThisInitialized(_this), "removeTracks", function (track_indexes) { var _this$props3 = _this.props, queue_tracks = _this$props3.queue_tracks, mopidyActions = _this$props3.mopidyActions; - var tlids = []; + for (var i = 0; i < track_indexes.length; i++) { var track = queue_tracks[track_indexes[i]]; + if (track.tlid !== undefined) { tlids.push(track.tlid); } @@ -115218,66 +116774,51 @@ var Queue = function (_React$Component) { if (tlids.length > 0) { mopidyActions.removeTracks(tlids); } - }; + }); - _this.playTrack = function (track) { + _defineProperty(_assertThisInitialized(_this), "playTrack", function (track) { var changeTrack = _this.props.mopidyActions.changeTrack; - changeTrack(track.tlid); - }; + }); - _this.playTracks = function (tracks) { + _defineProperty(_assertThisInitialized(_this), "playTracks", function (tracks) { var changeTrack = _this.props.mopidyActions.changeTrack; - changeTrack(tracks[0].tlid); - }; + }); - _this.reorderTracks = function (indexes, index) { + _defineProperty(_assertThisInitialized(_this), "reorderTracks", function (indexes, index) { var reorderTracklist = _this.props.mopidyActions.reorderTracklist; - reorderTracklist(indexes, index); - }; + }); - _this.renderAddedFrom = function () { + _defineProperty(_assertThisInitialized(_this), "renderAddedFrom", function () { var added_from_uri = _this.props.added_from_uri; - if (!added_from_uri) return null; + var uri_type = Object(_util_helpers__WEBPACK_IMPORTED_MODULE_18__["uriType"])(added_from_uri); + var items = []; // Radio nests it's seed URIs in an encoded URI format - var uri_type = (0, _helpers.uriType)(added_from_uri); - var items = []; - - // Radio nests it's seed URIs in an encoded URI format switch (uri_type) { case 'radio': - var radio_seeds = (0, _helpers.getFromUri)('seeds', added_from_uri); + var radio_seeds = Object(_util_helpers__WEBPACK_IMPORTED_MODULE_18__["getFromUri"])('seeds', added_from_uri); - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; + var _iterator = _createForOfIteratorHelper(radio_seeds), + _step; try { - for (var _iterator = radio_seeds[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + for (_iterator.s(); !(_step = _iterator.n()).done;) { var seed = _step.value; + var item_type = Object(_util_helpers__WEBPACK_IMPORTED_MODULE_18__["uriType"])(seed); + + var _item_library = _this.props["".concat(item_type, "s")]; - var item_type = (0, _helpers.uriType)(seed); - var _item_library = _this.props[item_type + 's']; if (_item_library && _item_library[seed]) { items.push(_item_library[seed]); } } } catch (err) { - _didIteratorError = true; - _iteratorError = err; + _iterator.e(err); } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } + _iterator.f(); } break; @@ -115285,195 +116826,246 @@ var Queue = function (_React$Component) { case 'search': items.push({ uri: added_from_uri, - name: '"' + (0, _helpers.getFromUri)('searchterm', added_from_uri) + '" search' + name: "\"".concat(Object(_util_helpers__WEBPACK_IMPORTED_MODULE_18__["getFromUri"])('searchterm', added_from_uri), "\" search") }); break; default: - var item_library = _this.props[uri_type + 's']; + var item_library = _this.props["".concat(uri_type, "s")]; + if (item_library && item_library[added_from_uri]) { items.push(item_library[added_from_uri]); } + break; } if (items.length <= 0) return null; + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "current-track__added-from", + "data-qa-node": "div", + "data-qa-file": "Queue" + }, items[0].images && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_URILink__WEBPACK_IMPORTED_MODULE_11__["default"], { + uri: items[0].uri, + className: "current-track__added-from__thumbnail", + "data-qa-node": "URILink", + "data-qa-file": "Queue" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Thumbnail__WEBPACK_IMPORTED_MODULE_9__["default"], { + images: items[0].images, + size: "small", + circle: Object(_util_helpers__WEBPACK_IMPORTED_MODULE_18__["uriType"])(items[0].uri) === 'artist', + type: "artist", + "data-qa-node": "Thumbnail", + "data-qa-file": "Queue" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "current-track__added-from__text", + "data-qa-node": "div", + "data-qa-file": "Queue" + }, 'Playing from ', /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_LinksSentence__WEBPACK_IMPORTED_MODULE_8__["default"], { + items: items, + "data-qa-node": "LinksSentence", + "data-qa-file": "Queue" + }), uri_type === 'radio' && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "flag flag--blue", + "data-qa-node": "span", + "data-qa-file": "Queue" + }, Object(_locale__WEBPACK_IMPORTED_MODULE_19__["i18n"])('now_playing.current_track.radio')))); + }); - return _react2.default.createElement( - 'div', - { className: 'current-track__added-from' }, - items[0].images && _react2.default.createElement( - _URILink2.default, - { - uri: items[0].uri, - className: 'current-track__added-from__thumbnail' - }, - _react2.default.createElement(_Thumbnail2.default, { - images: items[0].images, - size: 'small', - circle: (0, _helpers.uriType)(items[0].uri) === 'artist', - type: 'artist' - }) - ), - _react2.default.createElement( - 'div', - { className: 'current-track__added-from__text' }, - 'Playing from ', - _react2.default.createElement(_LinksSentence2.default, { items: items }), - uri_type === 'radio' && _react2.default.createElement( - 'span', - { className: 'flag flag--blue' }, - (0, _locale.i18n)('now_playing.current_track.radio') - ) - ) - ); - }; - - _this.render = function () { + _defineProperty(_assertThisInitialized(_this), "render", function () { var _this$props4 = _this.props, current_track = _this$props4.current_track, queue_tracks = _this$props4.queue_tracks, theme = _this$props4.theme, current_track_uri = _this$props4.current_track_uri; var limit = _this.state.limit; - var total_queue_tracks = queue_tracks.length; var tracks = queue_tracks.slice(0, limit); - var current_track_image = null; + if (current_track && current_track_uri) { if (current_track.images !== undefined && current_track.images) { current_track_image = current_track.images.large; } } - var options = _react2.default.createElement( - 'span', - null, - _this.props.spotify_enabled && _react2.default.createElement( - _Link2.default, - { className: 'button button--no-hover', to: '/queue/radio' }, - _react2.default.createElement(_Icon2.default, { name: 'radio' }), - _react2.default.createElement(_locale.I18n, { path: 'now_playing.context_actions.radio' }) - ), - _react2.default.createElement( - _Link2.default, - { className: 'button button--no-hover', to: '/queue/history' }, - _react2.default.createElement(_Icon2.default, { name: 'history' }), - _react2.default.createElement(_locale.I18n, { path: 'now_playing.context_actions.history' }) - ), - _react2.default.createElement( - _Link2.default, - { className: 'button button--no-hover', to: '/queue/add-uri' }, - _react2.default.createElement(_Icon2.default, { name: 'playlist_add' }), - _react2.default.createElement(_locale.I18n, { path: 'actions.add' }) - ) - ); - - return _react2.default.createElement( - 'div', - { className: 'view queue-view preserve-3d' }, - _react2.default.createElement( - _Header2.default, - { options: options, uiActions: _this.props.uiActions }, - _react2.default.createElement(_Icon2.default, { name: 'play_arrow', type: 'material' }), - _react2.default.createElement(_locale.I18n, { path: 'now_playing.title' }) - ), - theme === 'dark' && _react2.default.createElement(_Parallax2.default, { image: current_track_image, blur: true }), - _react2.default.createElement( - 'div', - { className: 'content-wrapper' }, - _react2.default.createElement( - 'div', - { className: 'current-track' }, - _react2.default.createElement(Artwork, { - image: current_track_image, - album_uri: current_track && current_track.album && current_track.album.uri - }), - _react2.default.createElement( - 'div', - { className: 'current-track__details' }, - _react2.default.createElement( - 'div', - { className: 'current-track__title' }, - current_track ? _react2.default.createElement( - _URILink2.default, - { type: 'track', uri: current_track.uri }, - current_track.name - ) : _react2.default.createElement( - 'span', - null, - '-' - ) - ), - current_track ? _react2.default.createElement(_LinksSentence2.default, { - className: 'current-track__artists', - items: current_track.artists - }) : _react2.default.createElement(_LinksSentence2.default, { className: 'current-track__artists' }), - _this.renderAddedFrom(), - _react2.default.createElement( - 'div', - { className: 'current-track__queue-details' }, - _react2.default.createElement( - 'ul', - { className: 'details' }, - _react2.default.createElement( - 'li', - null, - queue_tracks.length + ' tracks' - ), - _react2.default.createElement( - 'li', - null, - _react2.default.createElement(_Dater.Dater, { type: 'total-time', data: queue_tracks }) - ), - queue_tracks.length > 0 && _react2.default.createElement( - 'li', - null, - _react2.default.createElement( - 'a', - { onClick: _this.props.mopidyActions.shuffleTracklist }, - _react2.default.createElement(_Icon2.default, { name: 'shuffle' }), - _react2.default.createElement(_locale.I18n, { path: 'now_playing.current_track.shuffle' }) - ) - ), - queue_tracks.length > 0 && _react2.default.createElement( - 'li', - null, - _react2.default.createElement( - 'a', - { onClick: _this.props.mopidyActions.clearTracklist }, - _react2.default.createElement(_Icon2.default, { name: 'delete_sweep' }), - _react2.default.createElement(_locale.I18n, { path: 'now_playing.current_track.clear' }) - ) - ) - ) - ) - ) - ), - _react2.default.createElement( - 'section', - { className: 'list-wrapper' }, - _react2.default.createElement(_TrackList2.default, { - uri: 'iris:queue', - show_source_icon: true, - track_context: 'queue', - className: 'queue-track-list', - tracks: tracks, - removeTracks: _this.removeTracks, - playTracks: _this.playTracks, - playTrack: _this.playTrack, - reorderTracks: _this.reorderTracks - }) - ), - _react2.default.createElement(_LazyLoadListener2.default, { - loadKey: total_queue_tracks > limit ? limit : total_queue_tracks, - showLoader: limit < total_queue_tracks, - loadMore: _this.loadMore - }) - ) - ); - }; + var options = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + "data-qa-node": "span", + "data-qa-file": "Queue" + }, _this.props.spotify_enabled && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Link__WEBPACK_IMPORTED_MODULE_3__["default"], { + className: "button button--no-hover", + to: "/queue/radio", + "data-qa-node": "Link", + "data-qa-file": "Queue" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_4__["default"], { + name: "radio", + "data-qa-node": "Icon", + "data-qa-file": "Queue" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_19__["I18n"], { + path: "now_playing.context_actions.radio", + "data-qa-node": "I18n", + "data-qa-file": "Queue" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Link__WEBPACK_IMPORTED_MODULE_3__["default"], { + className: "button button--no-hover", + to: "/queue/history", + "data-qa-node": "Link", + "data-qa-file": "Queue" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_4__["default"], { + name: "history", + "data-qa-node": "Icon", + "data-qa-file": "Queue" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_19__["I18n"], { + path: "now_playing.context_actions.history", + "data-qa-node": "I18n", + "data-qa-file": "Queue" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Link__WEBPACK_IMPORTED_MODULE_3__["default"], { + className: "button button--no-hover", + to: "/queue/add-uri", + "data-qa-node": "Link", + "data-qa-file": "Queue" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_4__["default"], { + name: "playlist_add", + "data-qa-node": "Icon", + "data-qa-file": "Queue" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_19__["I18n"], { + path: "actions.add", + "data-qa-node": "I18n", + "data-qa-file": "Queue" + }))); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "view queue-view preserve-3d", + "data-qa-node": "div", + "data-qa-file": "Queue" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Header__WEBPACK_IMPORTED_MODULE_10__["default"], { + options: options, + uiActions: _this.props.uiActions, + "data-qa-node": "Header", + "data-qa-file": "Queue" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_4__["default"], { + name: "play_arrow", + type: "material", + "data-qa-node": "Icon", + "data-qa-file": "Queue" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_19__["I18n"], { + path: "now_playing.title", + "data-qa-node": "I18n", + "data-qa-file": "Queue" + })), theme === 'dark' && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Parallax__WEBPACK_IMPORTED_MODULE_5__["default"], { + image: current_track_image, + blur: true, + "data-qa-node": "Parallax", + "data-qa-file": "Queue" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "content-wrapper", + "data-qa-node": "div", + "data-qa-file": "Queue" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "current-track", + "data-qa-node": "div", + "data-qa-file": "Queue" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(Artwork, { + image: current_track_image, + album_uri: current_track && current_track.album && current_track.album.uri, + "data-qa-node": "Artwork", + "data-qa-file": "Queue" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "current-track__details", + "data-qa-node": "div", + "data-qa-file": "Queue" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "current-track__title", + "data-qa-node": "div", + "data-qa-file": "Queue" + }, current_track ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_URILink__WEBPACK_IMPORTED_MODULE_11__["default"], { + type: "track", + uri: current_track.uri, + "data-qa-node": "URILink", + "data-qa-file": "Queue" + }, current_track.name) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + "data-qa-node": "span", + "data-qa-file": "Queue" + }, "-")), current_track ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_LinksSentence__WEBPACK_IMPORTED_MODULE_8__["default"], { + className: "current-track__artists", + items: current_track.artists, + "data-qa-node": "LinksSentence", + "data-qa-file": "Queue" + }) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_LinksSentence__WEBPACK_IMPORTED_MODULE_8__["default"], { + className: "current-track__artists", + "data-qa-node": "LinksSentence", + "data-qa-file": "Queue" + }), _this.renderAddedFrom(), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "current-track__queue-details", + "data-qa-node": "div", + "data-qa-file": "Queue" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("ul", { + className: "details", + "data-qa-node": "ul", + "data-qa-file": "Queue" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li", { + "data-qa-node": "li", + "data-qa-file": "Queue" + }, "".concat(queue_tracks.length, " tracks")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li", { + "data-qa-node": "li", + "data-qa-file": "Queue" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Dater__WEBPACK_IMPORTED_MODULE_7__["Dater"], { + type: "total-time", + data: queue_tracks, + "data-qa-node": "Dater", + "data-qa-file": "Queue" + })), queue_tracks.length > 0 && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li", { + "data-qa-node": "li", + "data-qa-file": "Queue" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + onClick: _this.props.mopidyActions.shuffleTracklist, + "data-qa-node": "a", + "data-qa-file": "Queue" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_4__["default"], { + name: "shuffle", + "data-qa-node": "Icon", + "data-qa-file": "Queue" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_19__["I18n"], { + path: "now_playing.current_track.shuffle", + "data-qa-node": "I18n", + "data-qa-file": "Queue" + }))), queue_tracks.length > 0 && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li", { + "data-qa-node": "li", + "data-qa-file": "Queue" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + onClick: _this.props.mopidyActions.clearTracklist, + "data-qa-node": "a", + "data-qa-file": "Queue" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_4__["default"], { + name: "delete_sweep", + "data-qa-node": "Icon", + "data-qa-file": "Queue" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_19__["I18n"], { + path: "now_playing.current_track.clear", + "data-qa-node": "I18n", + "data-qa-file": "Queue" + }))))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("section", { + className: "list-wrapper", + "data-qa-node": "section", + "data-qa-file": "Queue" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_TrackList__WEBPACK_IMPORTED_MODULE_6__["default"], { + uri: "iris:queue", + show_source_icon: true, + track_context: "queue", + className: "queue-track-list", + tracks: tracks, + removeTracks: _this.removeTracks, + playTracks: _this.playTracks, + playTrack: _this.playTrack, + reorderTracks: _this.reorderTracks, + "data-qa-node": "TrackList", + "data-qa-file": "Queue" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_LazyLoadListener__WEBPACK_IMPORTED_MODULE_12__["default"], { + loadKey: total_queue_tracks > limit ? limit : total_queue_tracks, + showLoader: limit < total_queue_tracks, + loadMore: _this.loadMore, + "data-qa-node": "LazyLoadListener", + "data-qa-file": "Queue" + }))); + }); _this.state = { limit: 50, @@ -115483,80 +117075,72 @@ var Queue = function (_React$Component) { } _createClass(Queue, [{ - key: 'componentDidMount', + key: "componentDidMount", value: function componentDidMount() { - var _props = this.props, - setWindowTitle = _props.uiActions.setWindowTitle, - _props$location = _props.location; - _props$location = _props$location === undefined ? {} : _props$location; - var limit = _props$location.limit; + var _this$props5 = this.props, + setWindowTitle = _this$props5.uiActions.setWindowTitle, + _this$props5$location = _this$props5.location; + _this$props5$location = _this$props5$location === void 0 ? {} : _this$props5$location; + var limit = _this$props5$location.limit; if (limit) { - this.setState({ limit: limit }); + this.setState({ + limit: limit + }); } - setWindowTitle((0, _locale.i18n)('now_playing.title')); + + setWindowTitle(Object(_locale__WEBPACK_IMPORTED_MODULE_19__["i18n"])('now_playing.title')); } }, { - key: 'shouldComponentUpdate', + key: "shouldComponentUpdate", value: function shouldComponentUpdate(nextProps) { return nextProps !== this.props; } }]); return Queue; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); var mapStateToProps = function mapStateToProps(state, ownProps) { var current_track = state.core.current_track; - var queue_tracks = []; if (state.core.queue && state.core.tracks) { - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; + var _iterator2 = _createForOfIteratorHelper(state.core.queue), + _step2; try { - for (var _iterator2 = state.core.queue[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { var queue_track = _step2.value; - var track = _extends({}, queue_track, { + var track = _objectSpread(_objectSpread({}, queue_track), {}, { playing: current_track && current_track.tlid == queue_track.tlid - }); - - // If we have the track in our index, merge it in. + }); // If we have the track in our index, merge it in. // We prioritise queue track over index track as queue has unique data, like which track // is playing and tlids. + + if (state.core.tracks.hasOwnProperty(track.uri)) { - track = _extends({}, state.core.tracks[track.uri], track); - } + track = _objectSpread(_objectSpread({}, state.core.tracks[track.uri]), track); + } // Now merge in our queue metadata + + + if (state.core.queue_metadata["tlid_".concat(track.tlid)] !== undefined) { + track = _objectSpread(_objectSpread({}, track), state.core.queue_metadata["tlid_".concat(track.tlid)]); + } // Siphon off this track if it's a full representation of our current track - // Now merge in our queue metadata - if (state.core.queue_metadata['tlid_' + track.tlid] !== undefined) { - track = _extends({}, track, state.core.queue_metadata['tlid_' + track.tlid]); - } - // Siphon off this track if it's a full representation of our current track if (track.playing) { current_track = track; - } + } // Now add our compiled track for our tracklist + - // Now add our compiled track for our tracklist queue_tracks.push(track); } } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; + _iterator2.e(err); } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2.return) { - _iterator2.return(); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } + _iterator2.f(); } } @@ -115578,15 +117162,15 @@ var mapStateToProps = function mapStateToProps(state, ownProps) { var mapDispatchToProps = function mapDispatchToProps(dispatch) { return { - coreActions: (0, _redux.bindActionCreators)(coreActions, dispatch), - uiActions: (0, _redux.bindActionCreators)(uiActions, dispatch), - pusherActions: (0, _redux.bindActionCreators)(pusherActions, dispatch), - spotifyActions: (0, _redux.bindActionCreators)(spotifyActions, dispatch), - mopidyActions: (0, _redux.bindActionCreators)(mopidyActions, dispatch) + coreActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_core_actions__WEBPACK_IMPORTED_MODULE_13__, dispatch), + uiActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_ui_actions__WEBPACK_IMPORTED_MODULE_14__, dispatch), + pusherActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_pusher_actions__WEBPACK_IMPORTED_MODULE_15__, dispatch), + spotifyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_spotify_actions__WEBPACK_IMPORTED_MODULE_16__, dispatch), + mopidyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_mopidy_actions__WEBPACK_IMPORTED_MODULE_17__, dispatch) }; }; -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(Queue); +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapStateToProps, mapDispatchToProps)(Queue)); /***/ }), @@ -115594,160 +117178,168 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)( /*!**************************************!*\ !*** ./src/js/views/QueueHistory.js ***! \**************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var _components_TrackList__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../components/TrackList */ "./src/js/components/TrackList.js"); +/* harmony import */ var _components_Header__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../components/Header */ "./src/js/components/Header.js"); +/* harmony import */ var _components_Icon__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../components/Icon */ "./src/js/components/Icon.js"); +/* harmony import */ var _services_ui_actions__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../services/ui/actions */ "./src/js/services/ui/actions.js"); +/* harmony import */ var _services_pusher_actions__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../services/pusher/actions */ "./src/js/services/pusher/actions.js"); +/* harmony import */ var _services_spotify_actions__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../services/spotify/actions */ "./src/js/services/spotify/actions.js"); +/* harmony import */ var _services_mopidy_actions__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); +/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); - -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); - -var _TrackList = __webpack_require__(/*! ../components/TrackList */ "./src/js/components/TrackList.js"); - -var _TrackList2 = _interopRequireDefault(_TrackList); - -var _Header = __webpack_require__(/*! ../components/Header */ "./src/js/components/Header.js"); - -var _Header2 = _interopRequireDefault(_Header); - -var _Icon = __webpack_require__(/*! ../components/Icon */ "./src/js/components/Icon.js"); - -var _Icon2 = _interopRequireDefault(_Icon); - -var _actions = __webpack_require__(/*! ../services/ui/actions */ "./src/js/services/ui/actions.js"); - -var uiActions = _interopRequireWildcard(_actions); - -var _actions2 = __webpack_require__(/*! ../services/pusher/actions */ "./src/js/services/pusher/actions.js"); - -var pusherActions = _interopRequireWildcard(_actions2); - -var _actions3 = __webpack_require__(/*! ../services/spotify/actions */ "./src/js/services/spotify/actions.js"); - -var spotifyActions = _interopRequireWildcard(_actions3); - -var _actions4 = __webpack_require__(/*! ../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); - -var mopidyActions = _interopRequireWildcard(_actions4); - -var _locale = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js"); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -var QueueHistory = function (_React$Component) { +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _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; } + + + + + + + + + + + + + +var QueueHistory = /*#__PURE__*/function (_React$Component) { _inherits(QueueHistory, _React$Component); - function QueueHistory() { - var _ref; + var _super = _createSuper(QueueHistory); - var _temp, _this, _ret; + function QueueHistory() { + var _this; _classCallCheck(this, QueueHistory); - for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } - return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = QueueHistory.__proto__ || Object.getPrototypeOf(QueueHistory)).call.apply(_ref, [this].concat(args))), _this), _this.componentDidUpdate = function (_ref2) { - var prev_mopidy_connected = _ref2.mopidy_connected; - var mopidy_connected = _this.props.mopidy_connected; + _this = _super.call.apply(_super, [this].concat(args)); + _defineProperty(_assertThisInitialized(_this), "componentDidUpdate", function (_ref) { + var prev_mopidy_connected = _ref.mopidy_connected; + var mopidy_connected = _this.props.mopidy_connected; if (!prev_mopidy_connected && mopidy_connected) _this.loadHistory(); - }, _this.loadHistory = function () { + }); + + _defineProperty(_assertThisInitialized(_this), "loadHistory", function () { var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _this.props; var getQueueHistory = _this.props.mopidyActions.getQueueHistory; - if (props.mopidy_connected) { getQueueHistory(); } - }, _this.onBack = function () { - var push = _this.props.history.push; + }); + _defineProperty(_assertThisInitialized(_this), "onBack", function () { + var push = _this.props.history.push; push('/queue'); - }, _this.render = function () { + }); + + _defineProperty(_assertThisInitialized(_this), "render", function () { var _this$props = _this.props, queue_history = _this$props.queue_history, tracksProp = _this$props.tracks, uiActions = _this$props.uiActions; - - - var options = _react2.default.createElement( - 'a', - { className: 'button button--no-hover', onClick: _this.onBack }, - _react2.default.createElement( - _locale.I18n, - { path: 'actions.back' }, - _react2.default.createElement(_Icon2.default, { name: 'keyboard_backspace' }), - ' ' - ) - ); - + var options = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + className: "button button--no-hover", + onClick: _this.onBack, + "data-qa-node": "a", + "data-qa-file": "QueueHistory" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_10__["I18n"], { + path: "actions.back", + "data-qa-node": "I18n", + "data-qa-file": "QueueHistory" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_5__["default"], { + name: "keyboard_backspace", + "data-qa-node": "Icon", + "data-qa-file": "QueueHistory" + }), ' ')); var tracks = queue_history.map(function (item) { - return _extends({}, item, tracksProp[item.uri] || {}); + return _objectSpread(_objectSpread({}, item), tracksProp[item.uri] || {}); }); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "view queue-history-view", + "data-qa-node": "div", + "data-qa-file": "QueueHistory" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Header__WEBPACK_IMPORTED_MODULE_4__["default"], { + options: options, + uiActions: uiActions, + "data-qa-node": "Header", + "data-qa-file": "QueueHistory" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_10__["I18n"], { + path: "queue_history.title", + "data-qa-node": "I18n", + "data-qa-file": "QueueHistory" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_5__["default"], { + name: "play_arrow", + type: "material", + "data-qa-node": "Icon", + "data-qa-file": "QueueHistory" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("section", { + className: "content-wrapper", + "data-qa-node": "section", + "data-qa-file": "QueueHistory" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_TrackList__WEBPACK_IMPORTED_MODULE_3__["default"], { + uri: "iris:queue-history", + className: "queue-history-track-list", + track_context: "history", + tracks: tracks, + show_source_icon: true, + "data-qa-node": "TrackList", + "data-qa-file": "QueueHistory" + }))); + }); - return _react2.default.createElement( - 'div', - { className: 'view queue-history-view' }, - _react2.default.createElement( - _Header2.default, - { options: options, uiActions: uiActions }, - _react2.default.createElement( - _locale.I18n, - { path: 'queue_history.title' }, - _react2.default.createElement(_Icon2.default, { name: 'play_arrow', type: 'material' }) - ) - ), - _react2.default.createElement( - 'section', - { className: 'content-wrapper' }, - _react2.default.createElement(_TrackList2.default, { - uri: 'iris:queue-history', - className: 'queue-history-track-list', - track_context: 'history', - tracks: tracks, - show_source_icon: true - }) - ) - ); - }, _temp), _possibleConstructorReturn(_this, _ret); + return _this; } _createClass(QueueHistory, [{ - key: 'componentDidMount', + key: "componentDidMount", value: function componentDidMount() { var setWindowTitle = this.props.uiActions.setWindowTitle; - - setWindowTitle((0, _locale.i18n)('queue_history.title')); + setWindowTitle(Object(_locale__WEBPACK_IMPORTED_MODULE_10__["i18n"])('queue_history.title')); this.loadHistory(); } }]); return QueueHistory; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); var mapStateToProps = function mapStateToProps(state) { return { @@ -115759,14 +117351,14 @@ var mapStateToProps = function mapStateToProps(state) { var mapDispatchToProps = function mapDispatchToProps(dispatch) { return { - uiActions: (0, _redux.bindActionCreators)(uiActions, dispatch), - pusherActions: (0, _redux.bindActionCreators)(pusherActions, dispatch), - spotifyActions: (0, _redux.bindActionCreators)(spotifyActions, dispatch), - mopidyActions: (0, _redux.bindActionCreators)(mopidyActions, dispatch) + uiActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_ui_actions__WEBPACK_IMPORTED_MODULE_6__, dispatch), + pusherActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_pusher_actions__WEBPACK_IMPORTED_MODULE_7__, dispatch), + spotifyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_spotify_actions__WEBPACK_IMPORTED_MODULE_8__, dispatch), + mopidyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_mopidy_actions__WEBPACK_IMPORTED_MODULE_9__, dispatch) }; }; -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(QueueHistory); +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapStateToProps, mapDispatchToProps)(QueueHistory)); /***/ }), @@ -115774,121 +117366,97 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)( /*!********************************!*\ !*** ./src/js/views/Search.js ***! \********************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* WEBPACK VAR INJECTION */(function($) { - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); - -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); - -var _reactRouterDom = __webpack_require__(/*! react-router-dom */ "./node_modules/react-router-dom/esm/react-router-dom.js"); - -var _Header = __webpack_require__(/*! ../components/Header */ "./src/js/components/Header.js"); - -var _Header2 = _interopRequireDefault(_Header); - -var _Icon = __webpack_require__(/*! ../components/Icon */ "./src/js/components/Icon.js"); - -var _Icon2 = _interopRequireDefault(_Icon); - -var _DropdownField = __webpack_require__(/*! ../components/Fields/DropdownField */ "./src/js/components/Fields/DropdownField.js"); - -var _DropdownField2 = _interopRequireDefault(_DropdownField); - -var _TrackList = __webpack_require__(/*! ../components/TrackList */ "./src/js/components/TrackList.js"); - -var _TrackList2 = _interopRequireDefault(_TrackList); - -var _ArtistGrid = __webpack_require__(/*! ../components/ArtistGrid */ "./src/js/components/ArtistGrid.js"); - -var _ArtistGrid2 = _interopRequireDefault(_ArtistGrid); - -var _AlbumGrid = __webpack_require__(/*! ../components/AlbumGrid */ "./src/js/components/AlbumGrid.js"); - -var _AlbumGrid2 = _interopRequireDefault(_AlbumGrid); - -var _PlaylistGrid = __webpack_require__(/*! ../components/PlaylistGrid */ "./src/js/components/PlaylistGrid.js"); - -var _PlaylistGrid2 = _interopRequireDefault(_PlaylistGrid); - -var _LazyLoadListener = __webpack_require__(/*! ../components/LazyLoadListener */ "./src/js/components/LazyLoadListener.js"); - -var _LazyLoadListener2 = _interopRequireDefault(_LazyLoadListener); - -var _SearchForm = __webpack_require__(/*! ../components/Fields/SearchForm */ "./src/js/components/Fields/SearchForm.js"); - -var _SearchForm2 = _interopRequireDefault(_SearchForm); - -var _URILink = __webpack_require__(/*! ../components/URILink */ "./src/js/components/URILink.js"); - -var _URILink2 = _interopRequireDefault(_URILink); - -var _SearchResults = __webpack_require__(/*! ../components/SearchResults */ "./src/js/components/SearchResults.js"); - -var _SearchResults2 = _interopRequireDefault(_SearchResults); - -var _actions = __webpack_require__(/*! ../services/core/actions */ "./src/js/services/core/actions.js"); - -var coreActions = _interopRequireWildcard(_actions); - -var _actions2 = __webpack_require__(/*! ../services/ui/actions */ "./src/js/services/ui/actions.js"); - -var uiActions = _interopRequireWildcard(_actions2); - -var _actions3 = __webpack_require__(/*! ../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); - -var mopidyActions = _interopRequireWildcard(_actions3); - -var _actions4 = __webpack_require__(/*! ../services/spotify/actions */ "./src/js/services/spotify/actions.js"); - -var spotifyActions = _interopRequireWildcard(_actions4); - -var _helpers = __webpack_require__(/*! ../util/helpers */ "./src/js/util/helpers.js"); - -var _arrays = __webpack_require__(/*! ../util/arrays */ "./src/js/util/arrays.js"); - -var _locale = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js"); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +__webpack_require__.r(__webpack_exports__); +/* WEBPACK VAR INJECTION */(function($) {/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-router-dom */ "./node_modules/react-router-dom/esm/react-router-dom.js"); +/* harmony import */ var _components_Header__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../components/Header */ "./src/js/components/Header.js"); +/* harmony import */ var _components_Icon__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../components/Icon */ "./src/js/components/Icon.js"); +/* harmony import */ var _components_Fields_DropdownField__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../components/Fields/DropdownField */ "./src/js/components/Fields/DropdownField.js"); +/* harmony import */ var _components_TrackList__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../components/TrackList */ "./src/js/components/TrackList.js"); +/* harmony import */ var _components_ArtistGrid__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../components/ArtistGrid */ "./src/js/components/ArtistGrid.js"); +/* harmony import */ var _components_AlbumGrid__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../components/AlbumGrid */ "./src/js/components/AlbumGrid.js"); +/* harmony import */ var _components_PlaylistGrid__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../components/PlaylistGrid */ "./src/js/components/PlaylistGrid.js"); +/* harmony import */ var _components_LazyLoadListener__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../components/LazyLoadListener */ "./src/js/components/LazyLoadListener.js"); +/* harmony import */ var _components_Fields_SearchForm__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../components/Fields/SearchForm */ "./src/js/components/Fields/SearchForm.js"); +/* harmony import */ var _components_URILink__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../components/URILink */ "./src/js/components/URILink.js"); +/* harmony import */ var _components_SearchResults__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../components/SearchResults */ "./src/js/components/SearchResults.js"); +/* harmony import */ var _services_core_actions__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../services/core/actions */ "./src/js/services/core/actions.js"); +/* harmony import */ var _services_ui_actions__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../services/ui/actions */ "./src/js/services/ui/actions.js"); +/* harmony import */ var _services_mopidy_actions__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); +/* harmony import */ var _services_spotify_actions__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../services/spotify/actions */ "./src/js/services/spotify/actions.js"); +/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../util/helpers */ "./src/js/util/helpers.js"); +/* harmony import */ var _util_arrays__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../util/arrays */ "./src/js/util/arrays.js"); +/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } -var Search = function (_React$Component) { +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _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; } + + + + + + + + + + + + + + + + + + + + + + + + +var Search = /*#__PURE__*/function (_React$Component) { _inherits(Search, _React$Component); + var _super = _createSuper(Search); + function Search(props) { + var _this; + _classCallCheck(this, Search); - var _this = _possibleConstructorReturn(this, (Search.__proto__ || Object.getPrototypeOf(Search)).call(this, props)); + _this = _super.call(this, props); - _this.componentDidMount = function () { + _defineProperty(_assertThisInitialized(_this), "componentDidMount", function () { var setWindowTitle = _this.props.uiActions.setWindowTitle; + setWindowTitle('Search'); // Auto-focus on the input field - - setWindowTitle('Search'); - - // Auto-focus on the input field $(document).find('.search-form input').focus(); - }; + }); - _this.componentDidUpdate = function (_ref) { + _defineProperty(_assertThisInitialized(_this), "componentDidUpdate", function (_ref) { var prevType = _ref.type, prevTerm = _ref.term, prev_mopidy_connected = _ref.mopidy_connected; @@ -115899,88 +117467,92 @@ var Search = function (_React$Component) { uri_schemes_search_enabled = _this$props.uri_schemes_search_enabled; var _this$state = _this.state, type = _this$state.type, - term = _this$state.term; - - // Already connected, but search properties changed + term = _this$state.term; // Already connected, but search properties changed if (prev_mopidy_connected && mopidy_connected) { if (prevType !== typeProp || prevTerm !== termProp) { _this.digestUri(); - } - // Connected + } // Connected + } else if (!prev_mopidy_connected && mopidy_connected && uri_schemes_search_enabled) { _this.search(type, term); } - }; + }); - _this.onSubmit = function (term) { + _defineProperty(_assertThisInitialized(_this), "onSubmit", function (term) { var type = _this.state.type; var history = _this.props.history; - var encodedTerm = encodeURIComponent(term); - _this.setState({ term: term }, function () { - history.push('/search/' + type + '/' + encodedTerm); + _this.setState({ + term: term + }, function () { + history.push("/search/".concat(type, "/").concat(encodedTerm)); }); - }; + }); - _this.onReset = function () { + _defineProperty(_assertThisInitialized(_this), "onReset", function () { var history = _this.props.history; - history.push('/search'); - }; + }); - _this.onSortChange = function (value) { + _defineProperty(_assertThisInitialized(_this), "onSortChange", function (value) { var hideContextMenu = _this.props.uiActions.hideContextMenu; _this.setSort(value); - hideContextMenu(); - }; - _this.onSourceChange = function (value) { + hideContextMenu(); + }); + + _defineProperty(_assertThisInitialized(_this), "onSourceChange", function (value) { var _this$props$uiActions = _this.props.uiActions, set = _this$props$uiActions.set, hideContextMenu = _this$props$uiActions.hideContextMenu; - - set({ uri_schemes_search_enabled: value }); + set({ + uri_schemes_search_enabled: value + }); hideContextMenu(); - }; + }); + + _defineProperty(_assertThisInitialized(_this), "onSourceClose", function () { + _services_spotify_actions__WEBPACK_IMPORTED_MODULE_18__["clearSearchResults"](); + _services_mopidy_actions__WEBPACK_IMPORTED_MODULE_17__["clearSearchResults"](); - _this.onSourceClose = function () { - spotifyActions.clearSearchResults(); - mopidyActions.clearSearchResults(); _this.search(); - }; + }); - _this.digestUri = function () { + _defineProperty(_assertThisInitialized(_this), "digestUri", function () { var _this$props2 = _this.props, type = _this$props2.type, term = _this$props2.term; - if (type && term) { - _this.setState({ type: type, term: term }, function () { + _this.setState({ + type: type, + term: term + }, function () { _this.search(); }); } else if (!term || term === '') { _this.clearSearch(); } - }; + }); - _this.clearSearch = function () { + _defineProperty(_assertThisInitialized(_this), "clearSearch", function () { var _this$props3 = _this.props, spotifyActions = _this$props3.spotifyActions, mopidyActions = _this$props3.mopidyActions, setWindowTitle = _this$props3.uiActions.setWindowTitle; - - spotifyActions.clearSearchResults(); mopidyActions.clearSearchResults(); - setWindowTitle((0, _locale.i18n)('search.title')); - _this.setState({ term: '' }); - }; + setWindowTitle(Object(_locale__WEBPACK_IMPORTED_MODULE_21__["i18n"])('search.title')); - _this.search = function () { + _this.setState({ + term: '' + }); + }); + + _defineProperty(_assertThisInitialized(_this), "search", function () { var _this$props4 = _this.props, setWindowTitle = _this$props4.uiActions.setWindowTitle, mopidy_connected = _this$props4.mopidy_connected, @@ -115988,21 +117560,20 @@ var Search = function (_React$Component) { mopidyActions = _this$props4.mopidyActions, spotifyActions = _this$props4.spotifyActions, _this$props4$mopidy_s = _this$props4.mopidy_search_results.query; - _this$props4$mopidy_s = _this$props4$mopidy_s === undefined ? {} : _this$props4$mopidy_s; + _this$props4$mopidy_s = _this$props4$mopidy_s === void 0 ? {} : _this$props4$mopidy_s; var mopidyTerm = _this$props4$mopidy_s.term, mopidyType = _this$props4$mopidy_s.type, _this$props4$spotify_ = _this$props4.spotify_search_results.query; - _this$props4$spotify_ = _this$props4$spotify_ === undefined ? {} : _this$props4$spotify_; + _this$props4$spotify_ = _this$props4$spotify_ === void 0 ? {} : _this$props4$spotify_; var spotifyTerm = _this$props4$spotify_.term, spotifyType = _this$props4$spotify_.type; var _this$state2 = _this.state, type = _this$state2.type, term = _this$state2.term; - - - console.info('Searching for ' + type + ' matching "' + term + '"'); - - setWindowTitle((0, _locale.i18n)('search.title_window', { term: decodeURIComponent(term) })); + console.info("Searching for ".concat(type, " matching \"").concat(term, "\"")); + setWindowTitle(Object(_locale__WEBPACK_IMPORTED_MODULE_21__["i18n"])('search.title_window', { + term: decodeURIComponent(term) + })); if (type && term && mopidy_connected && uri_schemes_search_enabled) { if (mopidyTerm !== term || mopidyType !== type) { @@ -116015,31 +117586,27 @@ var Search = function (_React$Component) { spotifyActions.getSearchResults(type, term); } } - }; + }); - _this.loadMore = function (type) { - alert('load more: ' + type); - // this.props.spotifyActions.getURL(this.props['spotify_'+type+'_more'], 'SPOTIFY_SEARCH_RESULTS_LOADED_MORE_'+type.toUpperCase()); - }; + _defineProperty(_assertThisInitialized(_this), "loadMore", function (type) { + alert("load more: ".concat(type)); // this.props.spotifyActions.getURL(this.props['spotify_'+type+'_more'], 'SPOTIFY_SEARCH_RESULTS_LOADED_MORE_'+type.toUpperCase()); + }); - _this.setSort = function (value) { + _defineProperty(_assertThisInitialized(_this), "setSort", function (value) { var _this$props5 = _this.props, sort = _this$props5.sort, sort_reverse = _this$props5.sort_reverse, set = _this$props5.uiActions.set; - - var reverse = false; if (sort === value) reverse = !sort_reverse; - var data = { search_results_sort_reverse: reverse, search_results_sort: value }; set(data); - }; + }); - _this.render = function () { + _defineProperty(_assertThisInitialized(_this), "render", function () { var _this$state3 = _this.state, term = _this$state3.term, type = _this$state3.type; @@ -116050,120 +117617,198 @@ var Search = function (_React$Component) { history = _this$props6.history, uri_schemes_search_enabled = _this$props6.uri_schemes_search_enabled, uiActions = _this$props6.uiActions; - - - var sort_options = [{ value: 'followers', label: (0, _locale.i18n)('common.popularity') }, { value: 'name', label: (0, _locale.i18n)('common.name') }, { value: 'artists.name', label: (0, _locale.i18n)('common.artist') }, { value: 'duration', label: (0, _locale.i18n)('common.duration') }, { value: 'uri', label: (0, _locale.i18n)('common.source') }]; - + var sort_options = [{ + value: 'followers', + label: Object(_locale__WEBPACK_IMPORTED_MODULE_21__["i18n"])('common.popularity') + }, { + value: 'name', + label: Object(_locale__WEBPACK_IMPORTED_MODULE_21__["i18n"])('common.name') + }, { + value: 'artists.name', + label: Object(_locale__WEBPACK_IMPORTED_MODULE_21__["i18n"])('common.artist') + }, { + value: 'duration', + label: Object(_locale__WEBPACK_IMPORTED_MODULE_21__["i18n"])('common.duration') + }, { + value: 'uri', + label: Object(_locale__WEBPACK_IMPORTED_MODULE_21__["i18n"])('common.source') + }]; var provider_options = uri_schemes.map(function (item) { return { value: item, - label: (0, _helpers.titleCase)(item.replace(':', '').replace('+', ' ')) + label: Object(_util_helpers__WEBPACK_IMPORTED_MODULE_19__["titleCase"])(item.replace(':', '').replace('+', ' ')) }; }); - - var options = _react2.default.createElement( - 'span', - null, - _react2.default.createElement(_DropdownField2.default, { - icon: 'swap_vert', - name: (0, _locale.i18n)('common.sort'), - value: sort, - valueAsLabel: true, - options: sort_options, - selected_icon: sort_reverse ? 'keyboard_arrow_up' : 'keyboard_arrow_down', - handleChange: _this.onSortChange - }), - _react2.default.createElement(_DropdownField2.default, { - icon: 'cloud', - name: (0, _locale.i18n)('common.sources'), - value: uri_schemes_search_enabled, - options: provider_options, - handleChange: _this.onSourceChange, - onClose: _this.onSourceClose - }) - ); - - return _react2.default.createElement( - 'div', - { className: 'view search-view' }, - _react2.default.createElement( - _Header2.default, - { options: options, uiActions: uiActions }, - _react2.default.createElement(_Icon2.default, { name: 'search', type: 'material' }) - ), - _react2.default.createElement(_SearchForm2.default, { - key: 'search_form_' + type + '_' + term, - history: history, + var options = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + "data-qa-node": "span", + "data-qa-file": "Search" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Fields_DropdownField__WEBPACK_IMPORTED_MODULE_6__["default"], { + icon: "swap_vert", + name: Object(_locale__WEBPACK_IMPORTED_MODULE_21__["i18n"])('common.sort'), + value: sort, + valueAsLabel: true, + options: sort_options, + selected_icon: sort_reverse ? 'keyboard_arrow_up' : 'keyboard_arrow_down', + handleChange: _this.onSortChange, + "data-qa-node": "DropdownField", + "data-qa-file": "Search" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Fields_DropdownField__WEBPACK_IMPORTED_MODULE_6__["default"], { + icon: "cloud", + name: Object(_locale__WEBPACK_IMPORTED_MODULE_21__["i18n"])('common.sources'), + value: uri_schemes_search_enabled, + options: provider_options, + handleChange: _this.onSourceChange, + onClose: _this.onSourceClose, + "data-qa-node": "DropdownField", + "data-qa-file": "Search" + })); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "view search-view", + "data-qa-node": "div", + "data-qa-file": "Search" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Header__WEBPACK_IMPORTED_MODULE_4__["default"], { + options: options, + uiActions: uiActions, + "data-qa-node": "Header", + "data-qa-file": "Search" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_5__["default"], { + name: "search", + type: "material", + "data-qa-node": "Icon", + "data-qa-file": "Search" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Fields_SearchForm__WEBPACK_IMPORTED_MODULE_12__["default"], { + key: "search_form_".concat(type, "_").concat(term), + history: history, + term: term, + onSubmit: _this.onSubmit, + onReset: _this.onReset, + "data-qa-node": "SearchForm", + "data-qa-file": "Search" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "content-wrapper", + "data-qa-node": "div", + "data-qa-file": "Search" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_3__["Switch"], { + "data-qa-node": "Switch", + "data-qa-file": "Search" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_3__["Route"], { + path: "/search/artists/:term", + "data-qa-node": "Route", + "data-qa-file": "Search" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_SearchResults__WEBPACK_IMPORTED_MODULE_14__["default"], { + type: "artists", + query: { term: term, - onSubmit: _this.onSubmit, - onReset: _this.onReset - }), - _react2.default.createElement( - 'div', - { className: 'content-wrapper' }, - _react2.default.createElement( - _reactRouterDom.Switch, - null, - _react2.default.createElement( - _reactRouterDom.Route, - { path: '/search/artists/:term' }, - _react2.default.createElement(_SearchResults2.default, { type: 'artists', query: { term: term, type: type } }) - ), - _react2.default.createElement( - _reactRouterDom.Route, - { path: '/search/albums/:term' }, - _react2.default.createElement(_SearchResults2.default, { type: 'albums', query: { term: term, type: type } }) - ), - _react2.default.createElement( - _reactRouterDom.Route, - { path: '/search/playlists/:term' }, - _react2.default.createElement(_SearchResults2.default, { type: 'playlists', query: { term: term, type: type } }) - ), - _react2.default.createElement( - _reactRouterDom.Route, - { path: '/search/tracks/:term' }, - _react2.default.createElement(_SearchResults2.default, { type: 'tracks', query: { term: term, type: type } }) - ), - _react2.default.createElement( - _reactRouterDom.Route, - { path: '/search' }, - _react2.default.createElement( - 'div', - { className: 'search-result-sections cf' }, - _react2.default.createElement( - 'section', - { className: 'search-result-sections__item' }, - _react2.default.createElement( - 'div', - { className: 'inner' }, - _react2.default.createElement(_SearchResults2.default, { type: 'artists', query: { term: term, type: type }, all: true }) - ) - ), - _react2.default.createElement( - 'section', - { className: 'search-result-sections__item' }, - _react2.default.createElement( - 'div', - { className: 'inner' }, - _react2.default.createElement(_SearchResults2.default, { type: 'albums', query: { term: term, type: type }, all: true }) - ) - ), - _react2.default.createElement( - 'section', - { className: 'search-result-sections__item' }, - _react2.default.createElement( - 'div', - { className: 'inner' }, - _react2.default.createElement(_SearchResults2.default, { type: 'playlists', query: { term: term, type: type }, all: true }) - ) - ) - ), - _react2.default.createElement(_SearchResults2.default, { type: 'tracks', query: { term: term, type: type }, all: true }) - ) - ) - ) - ); - }; + type: type + }, + "data-qa-node": "SearchResults", + "data-qa-file": "Search" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_3__["Route"], { + path: "/search/albums/:term", + "data-qa-node": "Route", + "data-qa-file": "Search" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_SearchResults__WEBPACK_IMPORTED_MODULE_14__["default"], { + type: "albums", + query: { + term: term, + type: type + }, + "data-qa-node": "SearchResults", + "data-qa-file": "Search" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_3__["Route"], { + path: "/search/playlists/:term", + "data-qa-node": "Route", + "data-qa-file": "Search" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_SearchResults__WEBPACK_IMPORTED_MODULE_14__["default"], { + type: "playlists", + query: { + term: term, + type: type + }, + "data-qa-node": "SearchResults", + "data-qa-file": "Search" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_3__["Route"], { + path: "/search/tracks/:term", + "data-qa-node": "Route", + "data-qa-file": "Search" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_SearchResults__WEBPACK_IMPORTED_MODULE_14__["default"], { + type: "tracks", + query: { + term: term, + type: type + }, + "data-qa-node": "SearchResults", + "data-qa-file": "Search" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_3__["Route"], { + path: "/search", + "data-qa-node": "Route", + "data-qa-file": "Search" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "search-result-sections cf", + "data-qa-node": "div", + "data-qa-file": "Search" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("section", { + className: "search-result-sections__item", + "data-qa-node": "section", + "data-qa-file": "Search" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "inner", + "data-qa-node": "div", + "data-qa-file": "Search" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_SearchResults__WEBPACK_IMPORTED_MODULE_14__["default"], { + type: "artists", + query: { + term: term, + type: type + }, + all: true, + "data-qa-node": "SearchResults", + "data-qa-file": "Search" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("section", { + className: "search-result-sections__item", + "data-qa-node": "section", + "data-qa-file": "Search" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "inner", + "data-qa-node": "div", + "data-qa-file": "Search" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_SearchResults__WEBPACK_IMPORTED_MODULE_14__["default"], { + type: "albums", + query: { + term: term, + type: type + }, + all: true, + "data-qa-node": "SearchResults", + "data-qa-file": "Search" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("section", { + className: "search-result-sections__item", + "data-qa-node": "section", + "data-qa-file": "Search" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "inner", + "data-qa-node": "div", + "data-qa-file": "Search" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_SearchResults__WEBPACK_IMPORTED_MODULE_14__["default"], { + type: "playlists", + query: { + term: term, + type: type + }, + all: true, + "data-qa-node": "SearchResults", + "data-qa-file": "Search" + })))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_SearchResults__WEBPACK_IMPORTED_MODULE_14__["default"], { + type: "tracks", + query: { + term: term, + type: type + }, + all: true, + "data-qa-node": "SearchResults", + "data-qa-file": "Search" + }))))); + }); _this.state = { type: props.type || 'all', @@ -116173,7 +117818,7 @@ var Search = function (_React$Component) { } return Search; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); var mapStateToProps = function mapStateToProps(state, ownProps) { return { @@ -116196,14 +117841,14 @@ var mapStateToProps = function mapStateToProps(state, ownProps) { var mapDispatchToProps = function mapDispatchToProps(dispatch) { return { - coreActions: (0, _redux.bindActionCreators)(coreActions, dispatch), - uiActions: (0, _redux.bindActionCreators)(uiActions, dispatch), - mopidyActions: (0, _redux.bindActionCreators)(mopidyActions, dispatch), - spotifyActions: (0, _redux.bindActionCreators)(spotifyActions, dispatch) + coreActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_core_actions__WEBPACK_IMPORTED_MODULE_15__, dispatch), + uiActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_ui_actions__WEBPACK_IMPORTED_MODULE_16__, dispatch), + mopidyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_mopidy_actions__WEBPACK_IMPORTED_MODULE_17__, dispatch), + spotifyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_spotify_actions__WEBPACK_IMPORTED_MODULE_18__, dispatch) }; }; -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(Search); +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapStateToProps, mapDispatchToProps)(Search)); /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ "./node_modules/jquery/dist/jquery.js"))) /***/ }), @@ -116212,237 +117857,201 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)( /*!**********************************!*\ !*** ./src/js/views/Settings.js ***! \**********************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-router-dom */ "./node_modules/react-router-dom/esm/react-router-dom.js"); +/* harmony import */ var _components_Fields_ConfirmationButton__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../components/Fields/ConfirmationButton */ "./src/js/components/Fields/ConfirmationButton.js"); +/* harmony import */ var _components_PusherConnectionList__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../components/PusherConnectionList */ "./src/js/components/PusherConnectionList.js"); +/* harmony import */ var _components_Fields_SourcesPriority__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../components/Fields/SourcesPriority */ "./src/js/components/Fields/SourcesPriority.js"); +/* harmony import */ var _components_Fields_Commands__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../components/Fields/Commands */ "./src/js/components/Fields/Commands.js"); +/* harmony import */ var _components_Fields_TextField__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../components/Fields/TextField */ "./src/js/components/Fields/TextField.js"); +/* harmony import */ var _components_Fields_SelectField__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../components/Fields/SelectField */ "./src/js/components/Fields/SelectField.js"); +/* harmony import */ var _components_Header__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../components/Header */ "./src/js/components/Header.js"); +/* harmony import */ var _components_Icon__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../components/Icon */ "./src/js/components/Icon.js"); +/* harmony import */ var _components_Services__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../components/Services */ "./src/js/components/Services.js"); +/* harmony import */ var _components_Servers__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../components/Servers */ "./src/js/components/Servers.js"); +/* harmony import */ var _services_core_actions__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../services/core/actions */ "./src/js/services/core/actions.js"); +/* harmony import */ var _services_ui_actions__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../services/ui/actions */ "./src/js/services/ui/actions.js"); +/* harmony import */ var _services_pusher_actions__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../services/pusher/actions */ "./src/js/services/pusher/actions.js"); +/* harmony import */ var _services_mopidy_actions__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); +/* harmony import */ var _services_lastfm_actions__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../services/lastfm/actions */ "./src/js/services/lastfm/actions.js"); +/* harmony import */ var _services_spotify_actions__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../services/spotify/actions */ "./src/js/services/spotify/actions.js"); +/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../util/helpers */ "./src/js/util/helpers.js"); +/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } +function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } -Object.defineProperty(exports, "__esModule", { - value: true -}); +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); - -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); - -var _reactRouterDom = __webpack_require__(/*! react-router-dom */ "./node_modules/react-router-dom/esm/react-router-dom.js"); - -var _ConfirmationButton = __webpack_require__(/*! ../components/Fields/ConfirmationButton */ "./src/js/components/Fields/ConfirmationButton.js"); - -var _ConfirmationButton2 = _interopRequireDefault(_ConfirmationButton); - -var _PusherConnectionList = __webpack_require__(/*! ../components/PusherConnectionList */ "./src/js/components/PusherConnectionList.js"); - -var _PusherConnectionList2 = _interopRequireDefault(_PusherConnectionList); - -var _SourcesPriority = __webpack_require__(/*! ../components/Fields/SourcesPriority */ "./src/js/components/Fields/SourcesPriority.js"); - -var _SourcesPriority2 = _interopRequireDefault(_SourcesPriority); - -var _Commands = __webpack_require__(/*! ../components/Fields/Commands */ "./src/js/components/Fields/Commands.js"); - -var _Commands2 = _interopRequireDefault(_Commands); - -var _TextField = __webpack_require__(/*! ../components/Fields/TextField */ "./src/js/components/Fields/TextField.js"); - -var _TextField2 = _interopRequireDefault(_TextField); - -var _SelectField = __webpack_require__(/*! ../components/Fields/SelectField */ "./src/js/components/Fields/SelectField.js"); - -var _SelectField2 = _interopRequireDefault(_SelectField); - -var _Header = __webpack_require__(/*! ../components/Header */ "./src/js/components/Header.js"); - -var _Header2 = _interopRequireDefault(_Header); - -var _Icon = __webpack_require__(/*! ../components/Icon */ "./src/js/components/Icon.js"); - -var _Icon2 = _interopRequireDefault(_Icon); - -var _Services = __webpack_require__(/*! ../components/Services */ "./src/js/components/Services.js"); - -var _Services2 = _interopRequireDefault(_Services); - -var _Servers = __webpack_require__(/*! ../components/Servers */ "./src/js/components/Servers.js"); - -var _Servers2 = _interopRequireDefault(_Servers); - -var _actions = __webpack_require__(/*! ../services/core/actions */ "./src/js/services/core/actions.js"); - -var coreActions = _interopRequireWildcard(_actions); - -var _actions2 = __webpack_require__(/*! ../services/ui/actions */ "./src/js/services/ui/actions.js"); - -var uiActions = _interopRequireWildcard(_actions2); - -var _actions3 = __webpack_require__(/*! ../services/pusher/actions */ "./src/js/services/pusher/actions.js"); - -var pusherActions = _interopRequireWildcard(_actions3); - -var _actions4 = __webpack_require__(/*! ../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); - -var mopidyActions = _interopRequireWildcard(_actions4); - -var _actions5 = __webpack_require__(/*! ../services/lastfm/actions */ "./src/js/services/lastfm/actions.js"); - -var lastfmActions = _interopRequireWildcard(_actions5); - -var _actions6 = __webpack_require__(/*! ../services/spotify/actions */ "./src/js/services/spotify/actions.js"); - -var spotifyActions = _interopRequireWildcard(_actions6); - -var _helpers = __webpack_require__(/*! ../util/helpers */ "./src/js/util/helpers.js"); - -var _locale = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js"); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _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; } +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -var Settings = function (_React$Component) { +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _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; } + + + + + + + + + + + + + + + + + + + + + + + + +var Settings = /*#__PURE__*/function (_React$Component) { _inherits(Settings, _React$Component); + var _super = _createSuper(Settings); + function Settings(props) { + var _this; + _classCallCheck(this, Settings); - var _this = _possibleConstructorReturn(this, (Settings.__proto__ || Object.getPrototypeOf(Settings)).call(this, props)); + _this = _super.call(this, props); - _this.componentDidUpdate = function () { + _defineProperty(_assertThisInitialized(_this), "componentDidUpdate", function () { var username = _this.props.pusher.username; var _this$state = _this.state, pusher_username = _this$state.pusher_username, input_in_focus = _this$state.input_in_focus; - var new_username = null; if (username && username !== pusher_username && input_in_focus !== 'pusher_username') { new_username = username; } - if (new_username) _this.setState({ pusher_username: new_username }); - }; + if (new_username) _this.setState({ + pusher_username: new_username + }); + }); - _this.onLanguageChange = function (language) { + _defineProperty(_assertThisInitialized(_this), "onLanguageChange", function (language) { var setLanguage = _this.props.uiActions.setLanguage; - setLanguage(language); - }; + }); - _this.onMopidySettingChanged = function (name, value) { + _defineProperty(_assertThisInitialized(_this), "onMopidySettingChanged", function (name, value) { var set = _this.props.mopidyActions.set; - var shortName = name.replace('mopidy_', ''); set(_defineProperty({}, shortName, value)); - _this.setState(_defineProperty({}, name, value)); - }; - _this.resetAllSettings = function () { + _this.setState(_defineProperty({}, name, value)); + }); + + _defineProperty(_assertThisInitialized(_this), "resetAllSettings", function () { localStorage.clear(); window.location = '#'; window.location.reload(true); return false; - }; + }); - _this.resetServiceWorkerAndCache = function () { + _defineProperty(_assertThisInitialized(_this), "resetServiceWorkerAndCache", function () { var handleException = _this.props.coreActions.handleException; - if ('serviceWorker' in navigator) { - // Hose out all our caches caches.keys().then(function (cacheNames) { cacheNames.forEach(function (cacheName) { - caches.delete(cacheName); + caches["delete"](cacheName); }); - }); - - // Unregister all service workers + }); // Unregister all service workers // This forces our SW to bugger off and a new one is registered on refresh + navigator.serviceWorker.getRegistrations().then(function (registrations) { - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; + var _iterator = _createForOfIteratorHelper(registrations), + _step; try { - for (var _iterator = registrations[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + for (_iterator.s(); !(_step = _iterator.n()).done;) { var registration = _step.value; - registration.unregister(); } } catch (err) { - _didIteratorError = true; - _iteratorError = err; + _iterator.e(err); } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } + _iterator.f(); } }); - window.location = '#'; window.location.reload(true); } else { - handleException((0, _locale.i18n)('errors.no_service_worker')); + handleException(Object(_locale__WEBPACK_IMPORTED_MODULE_21__["i18n"])('errors.no_service_worker')); } - }; + }); - _this.doRestart = function () { + _defineProperty(_assertThisInitialized(_this), "doRestart", function () { var restart = _this.props.pusherActions.restart; - restart(); - }; + }); - _this.doUpgrade = function () { + _defineProperty(_assertThisInitialized(_this), "doUpgrade", function () { var upgrade = _this.props.pusherActions.upgrade; - upgrade(); - }; + }); - _this.doLocalScan = function () { + _defineProperty(_assertThisInitialized(_this), "doLocalScan", function () { var localScan = _this.props.pusherActions.localScan; - localScan(); - }; + }); - _this.renderLocalScanButton = function () { + _defineProperty(_assertThisInitialized(_this), "renderLocalScanButton", function () { var processes = _this.props.ui.processes; - - var loading = processes.local_scan && processes.local_scan.status === 'running'; + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", { + className: "button button--default ".concat(loading ? 'button--working' : ''), + onClick: _this.doLocalScan, + type: "button", + "data-qa-node": "button", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_21__["I18n"], { + path: "settings.advanced.start_local_scan", + "data-qa-node": "I18n", + "data-qa-file": "Settings" + })); + }); - return _react2.default.createElement( - 'button', - { - className: 'button button--default ' + (loading ? 'button--working' : ''), - onClick: _this.doLocalScan, - type: 'button' - }, - _react2.default.createElement(_locale.I18n, { path: 'settings.advanced.start_local_scan' }) - ); - }; - - _this.render = function () { + _defineProperty(_assertThisInitialized(_this), "render", function () { var _this$props = _this.props, setMopidy = _this$props.mopidyActions.set, mopidy = _this$props.mopidy, @@ -116455,635 +118064,813 @@ var Settings = function (_React$Component) { uiActions = _this$props.uiActions, ui = _this$props.ui; var pusher_username = _this.state.pusher_username; - - - var options = _react2.default.createElement( - 'span', - null, - _react2.default.createElement( - _reactRouterDom.Link, - { - className: 'button button--discrete button--no-hover', - to: '/settings/debug' - }, - _react2.default.createElement( - _locale.I18n, - { path: 'debug.title' }, - _react2.default.createElement(_Icon2.default, { name: 'code' }) - ) - ), - _react2.default.createElement( - 'a', - { - className: 'button button--discrete button--no-hover', - href: 'https://github.com/jaedb/Iris/wiki', - target: '_blank', - rel: 'noreferrer noopener' - }, - _react2.default.createElement( - _locale.I18n, - { path: 'settings.help' }, - _react2.default.createElement(_Icon2.default, { name: 'help' }) - ) - ) - ); - - return _react2.default.createElement( - 'div', - { className: 'view settings-view' }, - _react2.default.createElement( - _Header2.default, - { options: options, uiActions: uiActions }, - _react2.default.createElement( - _locale.I18n, - { path: 'settings.title' }, - _react2.default.createElement(_Icon2.default, { name: 'settings', type: 'material' }) - ) - ), - _react2.default.createElement( - 'section', - { className: 'content-wrapper' }, - _react2.default.createElement( - 'h4', - { className: 'underline' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.server.title' }), - _react2.default.createElement('a', { name: 'server' }) - ), - _react2.default.createElement( - 'label', - { className: 'field' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.server.username.label' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement(_TextField2.default, { - onChange: function onChange(value) { - return setUsername(value.replace(/\W/g, '')); - }, - value: pusher_username, - autosave: true - }), - _react2.default.createElement( - 'div', - { className: 'description' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.server.username.description' }) - ) - ) - ), - _react2.default.createElement(_reactRouterDom.Route, { path: '/settings/:server?/:id?', component: _Servers2.default }), - _react2.default.createElement( - 'h4', - { className: 'underline' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.services.title' }), - _react2.default.createElement('a', { name: 'services' }) - ), - _react2.default.createElement(_reactRouterDom.Route, { path: '/settings/:services?/:service?/:id?', component: _Services2.default }), - _react2.default.createElement( - 'h4', - { className: 'underline' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.interface.title' }), - _react2.default.createElement('a', { name: 'interface' }) - ), - _react2.default.createElement( - 'div', - { className: 'field dropdown' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.interface.language.label' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement(_SelectField2.default, { - onChange: _this.onLanguageChange, - options: _locale.languagesAvailable.map(function (language) { - return { - value: language.key, - label: language.name + ' (' + language.key + ')' - }; - }), - value: ui.language - }) - ) - ), - _react2.default.createElement( - 'div', - { className: 'field radio' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.interface.theme.label' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement( - 'label', - null, - _react2.default.createElement('input', { - type: 'radio', - name: 'theme', - value: 'auto', - checked: ui.theme === 'auto', - onChange: function onChange(e) { - return uiActions.set({ theme: e.target.value }); - } - }), - _react2.default.createElement( - 'span', - { className: 'label tooltip' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.interface.theme.auto' }), - _react2.default.createElement( - 'span', - { className: 'tooltip__content' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.interface.theme.auto_tooltip' }) - ) - ) - ), - _react2.default.createElement( - 'label', - null, - _react2.default.createElement('input', { - type: 'radio', - name: 'theme', - value: 'dark', - checked: ui.theme === 'dark', - onChange: function onChange(e) { - return uiActions.set({ theme: e.target.value }); - } - }), - _react2.default.createElement( - 'span', - { className: 'label' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.interface.theme.dark' }) - ) - ), - _react2.default.createElement( - 'label', - null, - _react2.default.createElement('input', { - type: 'radio', - name: 'theme', - value: 'light', - checked: ui.theme === 'light', - onChange: function onChange(e) { - return uiActions.set({ theme: e.target.value }); - } - }), - _react2.default.createElement( - 'span', - { className: 'label' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.interface.theme.light' }) - ) - ) - ) - ), - _react2.default.createElement( - 'div', - { className: 'field checkbox' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.interface.behavior.label' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement( - 'label', - null, - _react2.default.createElement('input', { - type: 'checkbox', - name: 'log_actions', - checked: ui.clear_tracklist_on_play, - onChange: function onChange() { - return uiActions.set({ clear_tracklist_on_play: !ui.clear_tracklist_on_play }); - } - }), - _react2.default.createElement( - 'span', - { className: 'label tooltip' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.interface.behavior.clear_tracklist' }), - _react2.default.createElement( - 'span', - { className: 'tooltip__content' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.interface.behavior.clear_tracklist_tooltip' }) - ) - ) - ), - _react2.default.createElement( - 'label', - null, - _react2.default.createElement('input', { - type: 'checkbox', - name: 'hotkeys_enabled', - checked: ui.hotkeys_enabled, - onChange: function onChange() { - return uiActions.set({ hotkeys_enabled: !ui.hotkeys_enabled }); - } - }), - _react2.default.createElement( - 'span', - { className: 'label' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.interface.behavior.hotkeys' }) - ) - ), - _react2.default.createElement( - 'label', - null, - _react2.default.createElement('input', { - type: 'checkbox', - name: 'smooth_scrolling_enabled', - checked: ui.smooth_scrolling_enabled, - onChange: function onChange(e) { - return uiActions.set({ smooth_scrolling_enabled: !ui.smooth_scrolling_enabled }); - } - }), - _react2.default.createElement( - 'span', - { className: 'label' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.interface.behavior.smooth_scrolling' }) - ) - ), - _react2.default.createElement( - 'label', - null, - _react2.default.createElement('input', { - type: 'checkbox', - name: 'playback_controls_touch_enabled', - checked: ui.playback_controls_touch_enabled, - onChange: function onChange(e) { - return uiActions.set({ playback_controls_touch_enabled: !ui.playback_controls_touch_enabled }); - } - }), - _react2.default.createElement( - 'span', - { className: 'label tooltip' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.interface.behavior.touch_events' }), - _react2.default.createElement( - 'span', - { className: 'tooltip__content' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.interface.behavior.touch_events_tooltip' }) - ) - ) - ), - _react2.default.createElement( - 'label', - null, - _react2.default.createElement('input', { - type: 'checkbox', - name: 'wide_scrollbar_enabled', - checked: ui.wide_scrollbar_enabled, - onChange: function onChange() { - return uiActions.set({ wide_scrollbar_enabled: !ui.wide_scrollbar_enabled }); - } - }), - _react2.default.createElement( - 'span', - { className: 'label' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.interface.behavior.wide_scrollbars' }) - ) - ) - ) - ), - _react2.default.createElement( - 'div', - { className: 'field sources-priority' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.interface.sources_priority.label' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement(_SourcesPriority2.default, { - uri_schemes: mopidy.uri_schemes ? mopidy.uri_schemes : [], - uri_schemes_priority: ui.uri_schemes_priority ? ui.uri_schemes_priority : [], - uiActions: uiActions - }), - _react2.default.createElement( - 'div', - { className: 'description' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.interface.sources_priority.description' }) - ) - ) - ), - (0, _helpers.isHosted)() ? null : _react2.default.createElement( - 'div', - { className: 'field checkbox' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.interface.reporting.label' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement( - 'label', - null, - _react2.default.createElement('input', { - type: 'checkbox', - name: 'allow_reporting', - checked: ui.allow_reporting, - onChange: function onChange() { - return uiActions.set({ allow_reporting: !ui.allow_reporting }); - } - }), - _react2.default.createElement( - 'span', - { className: 'label' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.interface.reporting.sublabel' }) - ) - ), - _react2.default.createElement( - 'div', - { className: 'description' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.interface.reporting.description' }), - _react2.default.createElement( - 'a', - { href: 'https://github.com/jaedb/Iris/wiki/Terms-of-use#privacy-policy', target: '_blank' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.interface.reporting.privacy_policy' }) - ), - '.' - ) - ) - ), - _react2.default.createElement( - 'div', - { className: 'field commands-setup', id: 'commands-setup' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.interface.commands.label' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement(_Commands2.default, { - commands: pusher.commands, - runCommand: function runCommand(id, notify) { - return _runCommand(id, notify); - }, - onChange: function onChange(commands) { - return setCommands(commands); - } - }), - _react2.default.createElement( - _reactRouterDom.Link, - { to: '/edit-command', className: 'button button--default' }, - _react2.default.createElement(_locale.I18n, { path: 'actions.add' }) - ) - ) - ), - _react2.default.createElement( - 'h4', - { className: 'underline' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.advanced.title' }), - _react2.default.createElement('a', { name: 'advanced' }) - ), - _react2.default.createElement( - 'div', - { className: 'field' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.advanced.artist_uri.label' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement(_TextField2.default, { - value: _this.state.mopidy_library_artists_uri, - onChange: function onChange(value) { - return _this.onMopidySettingChanged('mopidy_library_artists_uri', value); - }, - autosave: true - }), - _react2.default.createElement( - 'div', - { className: 'description' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.advanced.artist_uri.description' }) - ) - ) - ), - _react2.default.createElement( - 'label', - { className: 'field' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.advanced.album_uri.label' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement(_TextField2.default, { - type: 'text', - value: _this.state.mopidy_library_albums_uri, - onChange: function onChange(value) { - return _this.onMopidySettingChanged('mopidy_library_albums_uri', value); - }, - autosave: true - }), - _react2.default.createElement( - 'div', - { className: 'description' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.advanced.album_uri.description' }) - ) - ) - ), - _react2.default.createElement( - 'div', - { className: 'field pusher-connections' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.advanced.connections.label' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement( - 'div', - { className: 'text' }, - _react2.default.createElement(_PusherConnectionList2.default, null) - ) - ) - ), - _react2.default.createElement( - 'div', - { className: 'field' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.advanced.version.label' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement( - 'span', - { className: 'text' }, - _react2.default.createElement( - 'a', - { - target: '_blank', - rel: 'noopener noreferrer', - href: 'https://github.com/jaedb/Iris/releases/tag/' + pusher.version.current - }, - pusher.version.current - ), - ' ', - _react2.default.createElement( - 'span', - { className: 'mid_grey-text' }, - build - ), - pusher.version.upgrade_available ? _react2.default.createElement( - 'a', - { - target: '_blank', - rel: 'noopener noreferrer', - className: 'flag flag--dark', - href: 'https://github.com/jaedb/Iris/releases/tag/' + pusher.version.latest - }, - _react2.default.createElement(_Icon2.default, { name: 'cloud_download', className: 'blue-text' }), - _react2.default.createElement( - _locale.I18n, - { - path: 'settings.advanced.version.upgrade_available', - version: pusher.version.latest - }, - ' ' - ) - ) : _react2.default.createElement( - 'span', - { className: 'flag flag--dark' }, - _react2.default.createElement(_Icon2.default, { name: 'check', className: 'green-text' }), - _react2.default.createElement( - _locale.I18n, - { path: 'settings.advanced.version.up_to_date' }, - ' ' - ) - ) - ) - ) - ), - _react2.default.createElement( - 'div', - { className: 'field' }, - _this.renderLocalScanButton(), - _react2.default.createElement( - _reactRouterDom.Link, - { - className: 'button button--default', - to: '/share-configuration' - }, - _react2.default.createElement(_locale.I18n, { path: 'settings.advanced.share_configuration' }) - ) - ), - _react2.default.createElement( - 'div', - { className: 'field' }, - pusher.version.upgrade_available && _react2.default.createElement( - 'button', - { - className: 'button button--secondary', - onClick: _this.doUpgrade, - type: 'button' - }, - _react2.default.createElement(_locale.I18n, { path: 'settings.advanced.version.upgrade', version: pusher.version.latest }) - ), - _react2.default.createElement( - 'button', - { - className: 'button button--destructive' + (mopidy.restarting ? ' button--working' : ''), - onClick: _this.doRestart, - type: 'button' - }, - _react2.default.createElement(_locale.I18n, { path: 'settings.advanced.restart' }) - ), - _react2.default.createElement(_ConfirmationButton2.default, { - className: 'button--destructive', - content: (0, _locale.i18n)('settings.advanced.reset'), - onConfirm: _this.resetAllSettings - }), - _react2.default.createElement( - 'button', - { - className: 'button button--destructive', - onClick: _this.resetServiceWorkerAndCache, - type: 'button' - }, - _react2.default.createElement(_locale.I18n, { path: 'settings.advanced.reset_cache' }) - ) - ), - _react2.default.createElement( - 'h4', - { className: 'underline' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.about.title' }), - _react2.default.createElement('a', { name: 'about' }) - ), - _react2.default.createElement( - 'div', - null, - _react2.default.createElement( - 'em', - null, - _react2.default.createElement( - 'a', - { href: 'https://github.com/jaedb/Iris', target: '_blank' }, - 'Iris' - ) - ), - _react2.default.createElement(_locale.I18n, { path: 'settings.about.blurb_1' }), - _react2.default.createElement( - 'a', - { - href: 'https://github.com/jaedb', - target: '_blank', - rel: 'noopener noreferrer' - }, - 'James Barnsley' - ), - _react2.default.createElement(_locale.I18n, { path: 'settings.about.blurb_2' }) - ), - _react2.default.createElement('br', null), - _react2.default.createElement('br', null), - _react2.default.createElement( - 'div', - null, - _react2.default.createElement( - 'a', - { className: 'button button--default', href: 'https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=james%40barnsley%2enz&lc=NZ&item_name=James%20Barnsley¤cy_code=USD&bn=PP%2dDonationsBF%3abtn_donate_LG%2egif%3aNonHosted', target: '_blank' }, - _react2.default.createElement( - _locale.I18n, - { path: 'settings.about.donate' }, - _react2.default.createElement(_Icon2.default, { type: 'fontawesome', name: 'paypal' }), - ' ' - ) - ), - _react2.default.createElement( - 'a', - { className: 'button button--default', href: 'https://github.com/jaedb/Iris', target: '_blank' }, - _react2.default.createElement( - _locale.I18n, - { path: 'settings.about.github' }, - _react2.default.createElement(_Icon2.default, { type: 'fontawesome', name: 'github' }), - ' ' - ) - ) - ) - ) - ); - }; + var options = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + "data-qa-node": "span", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_3__["Link"], { + className: "button button--discrete button--no-hover", + to: "/settings/debug", + "data-qa-node": "Link", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_21__["I18n"], { + path: "debug.title", + "data-qa-node": "I18n", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_11__["default"], { + name: "code", + "data-qa-node": "Icon", + "data-qa-file": "Settings" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + className: "button button--discrete button--no-hover", + href: "https://github.com/jaedb/Iris/wiki", + target: "_blank", + rel: "noreferrer noopener", + "data-qa-node": "a", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_21__["I18n"], { + path: "settings.help", + "data-qa-node": "I18n", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_11__["default"], { + name: "help", + "data-qa-node": "Icon", + "data-qa-file": "Settings" + })))); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "view settings-view", + "data-qa-node": "div", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Header__WEBPACK_IMPORTED_MODULE_10__["default"], { + options: options, + uiActions: uiActions, + "data-qa-node": "Header", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_21__["I18n"], { + path: "settings.title", + "data-qa-node": "I18n", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_11__["default"], { + name: "settings", + type: "material", + "data-qa-node": "Icon", + "data-qa-file": "Settings" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("section", { + className: "content-wrapper", + "data-qa-node": "section", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h4", { + className: "underline", + "data-qa-node": "h4", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_21__["I18n"], { + path: "settings.server.title", + "data-qa-node": "I18n", + "data-qa-file": "Settings" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + name: "server", + "data-qa-node": "a", + "data-qa-file": "Settings" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { + className: "field", + "data-qa-node": "label", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_21__["I18n"], { + path: "settings.server.username.label", + "data-qa-node": "I18n", + "data-qa-file": "Settings" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Fields_TextField__WEBPACK_IMPORTED_MODULE_8__["default"], { + onChange: function onChange(value) { + return setUsername(value.replace(/\W/g, '')); + }, + value: pusher_username, + autosave: true, + "data-qa-node": "TextField", + "data-qa-file": "Settings" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "description", + "data-qa-node": "div", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_21__["I18n"], { + path: "settings.server.username.description", + "data-qa-node": "I18n", + "data-qa-file": "Settings" + })))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_3__["Route"], { + path: "/settings/:server?/:id?", + component: _components_Servers__WEBPACK_IMPORTED_MODULE_13__["default"], + "data-qa-node": "Route", + "data-qa-file": "Settings" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h4", { + className: "underline", + "data-qa-node": "h4", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_21__["I18n"], { + path: "settings.services.title", + "data-qa-node": "I18n", + "data-qa-file": "Settings" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + name: "services", + "data-qa-node": "a", + "data-qa-file": "Settings" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_3__["Route"], { + path: "/settings/:services?/:service?/:id?", + component: _components_Services__WEBPACK_IMPORTED_MODULE_12__["default"], + "data-qa-node": "Route", + "data-qa-file": "Settings" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h4", { + className: "underline", + "data-qa-node": "h4", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_21__["I18n"], { + path: "settings.interface.title", + "data-qa-node": "I18n", + "data-qa-file": "Settings" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + name: "interface", + "data-qa-node": "a", + "data-qa-file": "Settings" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field dropdown", + "data-qa-node": "div", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_21__["I18n"], { + path: "settings.interface.language.label", + "data-qa-node": "I18n", + "data-qa-file": "Settings" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Fields_SelectField__WEBPACK_IMPORTED_MODULE_9__["default"], { + onChange: _this.onLanguageChange, + options: _locale__WEBPACK_IMPORTED_MODULE_21__["languagesAvailable"].map(function (language) { + return { + value: language.key, + label: "".concat(language.name, " (").concat(language.key, ")") + }; + }), + value: ui.language, + "data-qa-node": "SelectField", + "data-qa-file": "Settings" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field radio", + "data-qa-node": "div", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_21__["I18n"], { + path: "settings.interface.theme.label", + "data-qa-node": "I18n", + "data-qa-file": "Settings" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { + "data-qa-node": "label", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { + type: "radio", + name: "theme", + value: "auto", + checked: ui.theme === 'auto', + onChange: function onChange(e) { + return uiActions.set({ + theme: e.target.value + }); + }, + "data-qa-node": "input", + "data-qa-file": "Settings" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "label tooltip", + "data-qa-node": "span", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_21__["I18n"], { + path: "settings.interface.theme.auto", + "data-qa-node": "I18n", + "data-qa-file": "Settings" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "tooltip__content", + "data-qa-node": "span", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_21__["I18n"], { + path: "settings.interface.theme.auto_tooltip", + "data-qa-node": "I18n", + "data-qa-file": "Settings" + })))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { + "data-qa-node": "label", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { + type: "radio", + name: "theme", + value: "dark", + checked: ui.theme === 'dark', + onChange: function onChange(e) { + return uiActions.set({ + theme: e.target.value + }); + }, + "data-qa-node": "input", + "data-qa-file": "Settings" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "label", + "data-qa-node": "span", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_21__["I18n"], { + path: "settings.interface.theme.dark", + "data-qa-node": "I18n", + "data-qa-file": "Settings" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { + "data-qa-node": "label", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { + type: "radio", + name: "theme", + value: "light", + checked: ui.theme === 'light', + onChange: function onChange(e) { + return uiActions.set({ + theme: e.target.value + }); + }, + "data-qa-node": "input", + "data-qa-file": "Settings" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "label", + "data-qa-node": "span", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_21__["I18n"], { + path: "settings.interface.theme.light", + "data-qa-node": "I18n", + "data-qa-file": "Settings" + }))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field checkbox", + "data-qa-node": "div", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_21__["I18n"], { + path: "settings.interface.behavior.label", + "data-qa-node": "I18n", + "data-qa-file": "Settings" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { + "data-qa-node": "label", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { + type: "checkbox", + name: "log_actions", + checked: ui.clear_tracklist_on_play, + onChange: function onChange() { + return uiActions.set({ + clear_tracklist_on_play: !ui.clear_tracklist_on_play + }); + }, + "data-qa-node": "input", + "data-qa-file": "Settings" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "label tooltip", + "data-qa-node": "span", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_21__["I18n"], { + path: "settings.interface.behavior.clear_tracklist", + "data-qa-node": "I18n", + "data-qa-file": "Settings" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "tooltip__content", + "data-qa-node": "span", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_21__["I18n"], { + path: "settings.interface.behavior.clear_tracklist_tooltip", + "data-qa-node": "I18n", + "data-qa-file": "Settings" + })))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { + "data-qa-node": "label", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { + type: "checkbox", + name: "hotkeys_enabled", + checked: ui.hotkeys_enabled, + onChange: function onChange() { + return uiActions.set({ + hotkeys_enabled: !ui.hotkeys_enabled + }); + }, + "data-qa-node": "input", + "data-qa-file": "Settings" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "label", + "data-qa-node": "span", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_21__["I18n"], { + path: "settings.interface.behavior.hotkeys", + "data-qa-node": "I18n", + "data-qa-file": "Settings" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { + "data-qa-node": "label", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { + type: "checkbox", + name: "smooth_scrolling_enabled", + checked: ui.smooth_scrolling_enabled, + onChange: function onChange(e) { + return uiActions.set({ + smooth_scrolling_enabled: !ui.smooth_scrolling_enabled + }); + }, + "data-qa-node": "input", + "data-qa-file": "Settings" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "label", + "data-qa-node": "span", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_21__["I18n"], { + path: "settings.interface.behavior.smooth_scrolling", + "data-qa-node": "I18n", + "data-qa-file": "Settings" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { + "data-qa-node": "label", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { + type: "checkbox", + name: "playback_controls_touch_enabled", + checked: ui.playback_controls_touch_enabled, + onChange: function onChange(e) { + return uiActions.set({ + playback_controls_touch_enabled: !ui.playback_controls_touch_enabled + }); + }, + "data-qa-node": "input", + "data-qa-file": "Settings" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "label tooltip", + "data-qa-node": "span", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_21__["I18n"], { + path: "settings.interface.behavior.touch_events", + "data-qa-node": "I18n", + "data-qa-file": "Settings" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "tooltip__content", + "data-qa-node": "span", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_21__["I18n"], { + path: "settings.interface.behavior.touch_events_tooltip", + "data-qa-node": "I18n", + "data-qa-file": "Settings" + })))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { + "data-qa-node": "label", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { + type: "checkbox", + name: "wide_scrollbar_enabled", + checked: ui.wide_scrollbar_enabled, + onChange: function onChange() { + return uiActions.set({ + wide_scrollbar_enabled: !ui.wide_scrollbar_enabled + }); + }, + "data-qa-node": "input", + "data-qa-file": "Settings" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "label", + "data-qa-node": "span", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_21__["I18n"], { + path: "settings.interface.behavior.wide_scrollbars", + "data-qa-node": "I18n", + "data-qa-file": "Settings" + }))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field sources-priority", + "data-qa-node": "div", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_21__["I18n"], { + path: "settings.interface.sources_priority.label", + "data-qa-node": "I18n", + "data-qa-file": "Settings" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Fields_SourcesPriority__WEBPACK_IMPORTED_MODULE_6__["default"], { + uri_schemes: mopidy.uri_schemes ? mopidy.uri_schemes : [], + uri_schemes_priority: ui.uri_schemes_priority ? ui.uri_schemes_priority : [], + uiActions: uiActions, + "data-qa-node": "SourcesPriority", + "data-qa-file": "Settings" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "description", + "data-qa-node": "div", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_21__["I18n"], { + path: "settings.interface.sources_priority.description", + "data-qa-node": "I18n", + "data-qa-file": "Settings" + })))), Object(_util_helpers__WEBPACK_IMPORTED_MODULE_20__["isHosted"])() ? null : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field checkbox", + "data-qa-node": "div", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_21__["I18n"], { + path: "settings.interface.reporting.label", + "data-qa-node": "I18n", + "data-qa-file": "Settings" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { + "data-qa-node": "label", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { + type: "checkbox", + name: "allow_reporting", + checked: ui.allow_reporting, + onChange: function onChange() { + return uiActions.set({ + allow_reporting: !ui.allow_reporting + }); + }, + "data-qa-node": "input", + "data-qa-file": "Settings" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "label", + "data-qa-node": "span", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_21__["I18n"], { + path: "settings.interface.reporting.sublabel", + "data-qa-node": "I18n", + "data-qa-file": "Settings" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "description", + "data-qa-node": "div", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_21__["I18n"], { + path: "settings.interface.reporting.description", + "data-qa-node": "I18n", + "data-qa-file": "Settings" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + href: "https://github.com/jaedb/Iris/wiki/Terms-of-use#privacy-policy", + target: "_blank", + "data-qa-node": "a", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_21__["I18n"], { + path: "settings.interface.reporting.privacy_policy", + "data-qa-node": "I18n", + "data-qa-file": "Settings" + })), "."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field commands-setup", + id: "commands-setup", + "data-qa-node": "div", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_21__["I18n"], { + path: "settings.interface.commands.label", + "data-qa-node": "I18n", + "data-qa-file": "Settings" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Fields_Commands__WEBPACK_IMPORTED_MODULE_7__["default"], { + commands: pusher.commands, + runCommand: function runCommand(id, notify) { + return _runCommand(id, notify); + }, + onChange: function onChange(commands) { + return setCommands(commands); + }, + "data-qa-node": "Commands", + "data-qa-file": "Settings" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_3__["Link"], { + to: "/edit-command", + className: "button button--default", + "data-qa-node": "Link", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_21__["I18n"], { + path: "actions.add", + "data-qa-node": "I18n", + "data-qa-file": "Settings" + })))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h4", { + className: "underline", + "data-qa-node": "h4", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_21__["I18n"], { + path: "settings.advanced.title", + "data-qa-node": "I18n", + "data-qa-file": "Settings" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + name: "advanced", + "data-qa-node": "a", + "data-qa-file": "Settings" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field", + "data-qa-node": "div", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_21__["I18n"], { + path: "settings.advanced.artist_uri.label", + "data-qa-node": "I18n", + "data-qa-file": "Settings" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Fields_TextField__WEBPACK_IMPORTED_MODULE_8__["default"], { + value: _this.state.mopidy_library_artists_uri, + onChange: function onChange(value) { + return _this.onMopidySettingChanged('mopidy_library_artists_uri', value); + }, + autosave: true, + "data-qa-node": "TextField", + "data-qa-file": "Settings" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "description", + "data-qa-node": "div", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_21__["I18n"], { + path: "settings.advanced.artist_uri.description", + "data-qa-node": "I18n", + "data-qa-file": "Settings" + })))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { + className: "field", + "data-qa-node": "label", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_21__["I18n"], { + path: "settings.advanced.album_uri.label", + "data-qa-node": "I18n", + "data-qa-file": "Settings" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Fields_TextField__WEBPACK_IMPORTED_MODULE_8__["default"], { + type: "text", + value: _this.state.mopidy_library_albums_uri, + onChange: function onChange(value) { + return _this.onMopidySettingChanged('mopidy_library_albums_uri', value); + }, + autosave: true, + "data-qa-node": "TextField", + "data-qa-file": "Settings" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "description", + "data-qa-node": "div", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_21__["I18n"], { + path: "settings.advanced.album_uri.description", + "data-qa-node": "I18n", + "data-qa-file": "Settings" + })))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field pusher-connections", + "data-qa-node": "div", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_21__["I18n"], { + path: "settings.advanced.connections.label", + "data-qa-node": "I18n", + "data-qa-file": "Settings" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "text", + "data-qa-node": "div", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_PusherConnectionList__WEBPACK_IMPORTED_MODULE_5__["default"], { + "data-qa-node": "PusherConnectionList", + "data-qa-file": "Settings" + })))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field", + "data-qa-node": "div", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_21__["I18n"], { + path: "settings.advanced.version.label", + "data-qa-node": "I18n", + "data-qa-file": "Settings" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "text", + "data-qa-node": "span", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + target: "_blank", + rel: "noopener noreferrer", + href: "https://github.com/jaedb/Iris/releases/tag/".concat(pusher.version.current), + "data-qa-node": "a", + "data-qa-file": "Settings" + }, pusher.version.current), ' ', /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "mid_grey-text", + "data-qa-node": "span", + "data-qa-file": "Settings" + }, build), pusher.version.upgrade_available ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + target: "_blank", + rel: "noopener noreferrer", + className: "flag flag--dark", + href: "https://github.com/jaedb/Iris/releases/tag/".concat(pusher.version.latest), + "data-qa-node": "a", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_11__["default"], { + name: "cloud_download", + className: "blue-text", + "data-qa-node": "Icon", + "data-qa-file": "Settings" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_21__["I18n"], { + path: "settings.advanced.version.upgrade_available", + version: pusher.version.latest, + "data-qa-node": "I18n", + "data-qa-file": "Settings" + }, ' ')) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "flag flag--dark", + "data-qa-node": "span", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_11__["default"], { + name: "check", + className: "green-text", + "data-qa-node": "Icon", + "data-qa-file": "Settings" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_21__["I18n"], { + path: "settings.advanced.version.up_to_date", + "data-qa-node": "I18n", + "data-qa-file": "Settings" + }, ' '))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field", + "data-qa-node": "div", + "data-qa-file": "Settings" + }, _this.renderLocalScanButton(), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_3__["Link"], { + className: "button button--default", + to: "/share-configuration", + "data-qa-node": "Link", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_21__["I18n"], { + path: "settings.advanced.share_configuration", + "data-qa-node": "I18n", + "data-qa-file": "Settings" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field", + "data-qa-node": "div", + "data-qa-file": "Settings" + }, pusher.version.upgrade_available && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", { + className: "button button--secondary", + onClick: _this.doUpgrade, + type: "button", + "data-qa-node": "button", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_21__["I18n"], { + path: "settings.advanced.version.upgrade", + version: pusher.version.latest, + "data-qa-node": "I18n", + "data-qa-file": "Settings" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", { + className: "button button--destructive".concat(mopidy.restarting ? ' button--working' : ''), + onClick: _this.doRestart, + type: "button", + "data-qa-node": "button", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_21__["I18n"], { + path: "settings.advanced.restart", + "data-qa-node": "I18n", + "data-qa-file": "Settings" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Fields_ConfirmationButton__WEBPACK_IMPORTED_MODULE_4__["default"], { + className: "button--destructive", + content: Object(_locale__WEBPACK_IMPORTED_MODULE_21__["i18n"])('settings.advanced.reset'), + onConfirm: _this.resetAllSettings, + "data-qa-node": "ConfirmationButton", + "data-qa-file": "Settings" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", { + className: "button button--destructive", + onClick: _this.resetServiceWorkerAndCache, + type: "button", + "data-qa-node": "button", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_21__["I18n"], { + path: "settings.advanced.reset_cache", + "data-qa-node": "I18n", + "data-qa-file": "Settings" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h4", { + className: "underline", + "data-qa-node": "h4", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_21__["I18n"], { + path: "settings.about.title", + "data-qa-node": "I18n", + "data-qa-file": "Settings" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + name: "about", + "data-qa-node": "a", + "data-qa-file": "Settings" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + "data-qa-node": "div", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("em", { + "data-qa-node": "em", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + href: "https://github.com/jaedb/Iris", + target: "_blank", + "data-qa-node": "a", + "data-qa-file": "Settings" + }, "Iris")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_21__["I18n"], { + path: "settings.about.blurb_1", + "data-qa-node": "I18n", + "data-qa-file": "Settings" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + href: "https://github.com/jaedb", + target: "_blank", + rel: "noopener noreferrer", + "data-qa-node": "a", + "data-qa-file": "Settings" + }, "James Barnsley"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_21__["I18n"], { + path: "settings.about.blurb_2", + "data-qa-node": "I18n", + "data-qa-file": "Settings" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("br", { + "data-qa-node": "br", + "data-qa-file": "Settings" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("br", { + "data-qa-node": "br", + "data-qa-file": "Settings" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + "data-qa-node": "div", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + className: "button button--default", + href: "https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=james%40barnsley%2enz&lc=NZ&item_name=James%20Barnsley¤cy_code=USD&bn=PP%2dDonationsBF%3abtn_donate_LG%2egif%3aNonHosted", + target: "_blank", + "data-qa-node": "a", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_21__["I18n"], { + path: "settings.about.donate", + "data-qa-node": "I18n", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_11__["default"], { + type: "fontawesome", + name: "paypal", + "data-qa-node": "Icon", + "data-qa-file": "Settings" + }), ' ')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + className: "button button--default", + href: "https://github.com/jaedb/Iris", + target: "_blank", + "data-qa-node": "a", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_21__["I18n"], { + path: "settings.about.github", + "data-qa-node": "I18n", + "data-qa-file": "Settings" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_11__["default"], { + type: "fontawesome", + name: "github", + "data-qa-node": "Icon", + "data-qa-file": "Settings" + }), ' '))))); + }); _this.state = { mopidy_host: _this.props.mopidy.host, @@ -117097,16 +118884,15 @@ var Settings = function (_React$Component) { } _createClass(Settings, [{ - key: 'componentDidMount', + key: "componentDidMount", value: function componentDidMount() { var setWindowTitle = this.props.uiActions.setWindowTitle; - - setWindowTitle((0, _locale.i18n)('settings.title')); + setWindowTitle(Object(_locale__WEBPACK_IMPORTED_MODULE_21__["i18n"])('settings.title')); } }]); return Settings; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); var mapStateToProps = function mapStateToProps(state, ownProps) { return state; @@ -117114,16 +118900,16 @@ var mapStateToProps = function mapStateToProps(state, ownProps) { var mapDispatchToProps = function mapDispatchToProps(dispatch) { return { - coreActions: (0, _redux.bindActionCreators)(coreActions, dispatch), - uiActions: (0, _redux.bindActionCreators)(uiActions, dispatch), - pusherActions: (0, _redux.bindActionCreators)(pusherActions, dispatch), - mopidyActions: (0, _redux.bindActionCreators)(mopidyActions, dispatch), - lastfmActions: (0, _redux.bindActionCreators)(lastfmActions, dispatch), - spotifyActions: (0, _redux.bindActionCreators)(spotifyActions, dispatch) + coreActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_core_actions__WEBPACK_IMPORTED_MODULE_14__, dispatch), + uiActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_ui_actions__WEBPACK_IMPORTED_MODULE_15__, dispatch), + pusherActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_pusher_actions__WEBPACK_IMPORTED_MODULE_16__, dispatch), + mopidyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_mopidy_actions__WEBPACK_IMPORTED_MODULE_17__, dispatch), + lastfmActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_lastfm_actions__WEBPACK_IMPORTED_MODULE_18__, dispatch), + spotifyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_spotify_actions__WEBPACK_IMPORTED_MODULE_19__, dispatch) }; }; -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(Settings); +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapStateToProps, mapDispatchToProps)(Settings)); /***/ }), @@ -117131,124 +118917,101 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)( /*!*******************************!*\ !*** ./src/js/views/Track.js ***! \*******************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); - -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); - -var _Link = __webpack_require__(/*! ../components/Link */ "./src/js/components/Link.js"); - -var _Link2 = _interopRequireDefault(_Link); - -var _ErrorMessage = __webpack_require__(/*! ../components/ErrorMessage */ "./src/js/components/ErrorMessage.js"); - -var _ErrorMessage2 = _interopRequireDefault(_ErrorMessage); - -var _Header = __webpack_require__(/*! ../components/Header */ "./src/js/components/Header.js"); - -var _Header2 = _interopRequireDefault(_Header); - -var _Thumbnail = __webpack_require__(/*! ../components/Thumbnail */ "./src/js/components/Thumbnail.js"); - -var _Thumbnail2 = _interopRequireDefault(_Thumbnail); - -var _LinksSentence = __webpack_require__(/*! ../components/LinksSentence */ "./src/js/components/LinksSentence.js"); - -var _LinksSentence2 = _interopRequireDefault(_LinksSentence); - -var _LastfmLoveButton = __webpack_require__(/*! ../components/Fields/LastfmLoveButton */ "./src/js/components/Fields/LastfmLoveButton.js"); - -var _LastfmLoveButton2 = _interopRequireDefault(_LastfmLoveButton); - -var _Dater = __webpack_require__(/*! ../components/Dater */ "./src/js/components/Dater.js"); - -var _SelectField = __webpack_require__(/*! ../components/Fields/SelectField */ "./src/js/components/Fields/SelectField.js"); - -var _SelectField2 = _interopRequireDefault(_SelectField); - -var _ContextMenuTrigger = __webpack_require__(/*! ../components/ContextMenuTrigger */ "./src/js/components/ContextMenuTrigger.js"); - -var _ContextMenuTrigger2 = _interopRequireDefault(_ContextMenuTrigger); - -var _Icon = __webpack_require__(/*! ../components/Icon */ "./src/js/components/Icon.js"); - -var _Icon2 = _interopRequireDefault(_Icon); - -var _Loader = __webpack_require__(/*! ../components/Loader */ "./src/js/components/Loader.js"); - -var _Loader2 = _interopRequireDefault(_Loader); - -var _actions = __webpack_require__(/*! ../services/core/actions */ "./src/js/services/core/actions.js"); - -var coreActions = _interopRequireWildcard(_actions); - -var _actions2 = __webpack_require__(/*! ../services/ui/actions */ "./src/js/services/ui/actions.js"); - -var uiActions = _interopRequireWildcard(_actions2); - -var _actions3 = __webpack_require__(/*! ../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); - -var mopidyActions = _interopRequireWildcard(_actions3); - -var _actions4 = __webpack_require__(/*! ../services/spotify/actions */ "./src/js/services/spotify/actions.js"); - -var spotifyActions = _interopRequireWildcard(_actions4); - -var _actions5 = __webpack_require__(/*! ../services/lastfm/actions */ "./src/js/services/lastfm/actions.js"); - -var lastfmActions = _interopRequireWildcard(_actions5); - -var _actions6 = __webpack_require__(/*! ../services/genius/actions */ "./src/js/services/genius/actions.js"); - -var geniusActions = _interopRequireWildcard(_actions6); - -var _helpers = __webpack_require__(/*! ../util/helpers */ "./src/js/util/helpers.js"); - -var _locale = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js"); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var _components_Link__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../components/Link */ "./src/js/components/Link.js"); +/* harmony import */ var _components_ErrorMessage__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../components/ErrorMessage */ "./src/js/components/ErrorMessage.js"); +/* harmony import */ var _components_Header__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../components/Header */ "./src/js/components/Header.js"); +/* harmony import */ var _components_Thumbnail__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../components/Thumbnail */ "./src/js/components/Thumbnail.js"); +/* harmony import */ var _components_LinksSentence__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../components/LinksSentence */ "./src/js/components/LinksSentence.js"); +/* harmony import */ var _components_Fields_LastfmLoveButton__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../components/Fields/LastfmLoveButton */ "./src/js/components/Fields/LastfmLoveButton.js"); +/* harmony import */ var _components_Dater__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../components/Dater */ "./src/js/components/Dater.js"); +/* harmony import */ var _components_Fields_SelectField__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../components/Fields/SelectField */ "./src/js/components/Fields/SelectField.js"); +/* harmony import */ var _components_ContextMenuTrigger__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../components/ContextMenuTrigger */ "./src/js/components/ContextMenuTrigger.js"); +/* harmony import */ var _components_Icon__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../components/Icon */ "./src/js/components/Icon.js"); +/* harmony import */ var _components_Loader__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../components/Loader */ "./src/js/components/Loader.js"); +/* harmony import */ var _services_core_actions__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../services/core/actions */ "./src/js/services/core/actions.js"); +/* harmony import */ var _services_ui_actions__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../services/ui/actions */ "./src/js/services/ui/actions.js"); +/* harmony import */ var _services_mopidy_actions__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); +/* harmony import */ var _services_spotify_actions__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../services/spotify/actions */ "./src/js/services/spotify/actions.js"); +/* harmony import */ var _services_lastfm_actions__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../services/lastfm/actions */ "./src/js/services/lastfm/actions.js"); +/* harmony import */ var _services_genius_actions__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../services/genius/actions */ "./src/js/services/genius/actions.js"); +/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../util/helpers */ "./src/js/util/helpers.js"); +/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -var Track = function (_React$Component) { +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _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; } + + + + + + + + + + + + + + + + + + + + + + + + +var Track = /*#__PURE__*/function (_React$Component) { _inherits(Track, _React$Component); - function Track() { - var _ref; + var _super = _createSuper(Track); - var _temp, _this, _ret; + function Track() { + var _this; _classCallCheck(this, Track); - for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } - return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Track.__proto__ || Object.getPrototypeOf(Track)).call.apply(_ref, [this].concat(args))), _this), _this.componentDidUpdate = function (_ref2) { - var prevUri = _ref2.uri, - prevTrack = _ref2.track, - prev_mopidy_connected = _ref2.mopidy_connected; + _this = _super.call.apply(_super, [this].concat(args)); + + _defineProperty(_assertThisInitialized(_this), "componentDidUpdate", function (_ref) { + var prevUri = _ref.uri, + prevTrack = _ref.track, + prev_mopidy_connected = _ref.mopidy_connected; var _this$props = _this.props, uri = _this$props.uri, track = _this$props.track, @@ -117257,151 +119020,196 @@ var Track = function (_React$Component) { mopidy_connected = _this$props.mopidy_connected, loadTrack = _this$props.coreActions.loadTrack, findTrackLyrics = _this$props.geniusActions.findTrackLyrics, - getTrack = _this$props.lastfmActions.getTrack; - // if our URI has changed, fetch new track + getTrack = _this$props.lastfmActions.getTrack; // if our URI has changed, fetch new track if (prevUri !== uri) { loadTrack(uri); - if (genius_authorized && track.artists) findTrackLyrics(track); - - // if mopidy has just connected AND we're not a Spotify track, go get + if (genius_authorized && track.artists) findTrackLyrics(track); // if mopidy has just connected AND we're not a Spotify track, go get } else if (!prev_mopidy_connected && mopidy_connected) { - if ((0, _helpers.uriSource)(uri) !== 'spotify') loadTrack(uri); - } + if (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_20__["uriSource"])(uri) !== 'spotify') loadTrack(uri); + } // We have just received our full track or our track artists + - // We have just received our full track or our track artists if (!prevTrack && track || !prevTrack.artists && track.artists) { _this.setWindowTitle(track); + if (lastfm_authorized) getTrack(track.uri); if (genius_authorized && !track.lyrics_results) findTrackLyrics(track); } if (!prevTrack && track) _this.setWindowTitle(track); - }, _this.setWindowTitle = function () { + }); + + _defineProperty(_assertThisInitialized(_this), "setWindowTitle", function () { var track = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _this.props.track; var setWindowTitle = _this.props.uiActions.setWindowTitle; - if (track) { var artists = ''; + for (var i = 0; i < track.artists.length; i++) { if (artists != '') { artists += ', '; } + artists += track.artists[i].name; } - setWindowTitle((0, _locale.i18n)('track.title_window', { name: track.name, artists: artists })); + + setWindowTitle(Object(_locale__WEBPACK_IMPORTED_MODULE_21__["i18n"])('track.title_window', { + name: track.name, + artists: artists + })); } else { - setWindowTitle((0, _locale.i18n)('track.title')); + setWindowTitle(Object(_locale__WEBPACK_IMPORTED_MODULE_21__["i18n"])('track.title')); } - }, _this.handleContextMenu = function (e) { + }); + + _defineProperty(_assertThisInitialized(_this), "handleContextMenu", function (e) { var _this$props2 = _this.props, uri = _this$props2.uri, track = _this$props2.track, showContextMenu = _this$props2.uiActions.showContextMenu; - - showContextMenu({ e: e, context: 'track', items: [track], uris: [uri] }); - }, _this.play = function () { + }); + + _defineProperty(_assertThisInitialized(_this), "play", function () { var _this$props3 = _this.props, uri = _this$props3.uri, playURIs = _this$props3.mopidyActions.playURIs; - - playURIs([uri], uri); - }, _this.renderLyricsSelector = function () { + }); + + _defineProperty(_assertThisInitialized(_this), "renderLyricsSelector", function () { var _this$props4 = _this.props, track = _this$props4.track, getTrackLyrics = _this$props4.geniusActions.getTrackLyrics; - if (track.lyrics_results === undefined || track.lyrics_results === null) { return null; - }if (track.lyrics_results.length <= 0) { - return _react2.default.createElement( - 'div', - { className: 'field lyrics-selector' }, - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement('input', { type: 'text', disabled: 'disabled', value: 'No results' }), - _react2.default.createElement( - 'div', - { className: 'description' }, - _react2.default.createElement(_locale.I18n, { path: 'services.genius.switch_lyrics_result' }) - ) - ) - ); } - return _react2.default.createElement( - 'div', - { className: 'field lyrics-selector' }, - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement(_SelectField2.default, { - onChange: function onChange(value) { - return getTrackLyrics(track.uri, value); - }, - options: track.lyrics_results.map(function (result) { - return { - value: result.path, - label: result.title, - defaultValue: result.path === track.lyrics_path - }; - }) - }), - _react2.default.createElement( - 'div', - { className: 'description' }, - _react2.default.createElement(_locale.I18n, { path: 'services.genius.switch_lyrics_result' }) - ) - ) - ); - }, _this.renderLyrics = function () { + if (track.lyrics_results.length <= 0) { + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field lyrics-selector", + "data-qa-node": "div", + "data-qa-file": "Track" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "Track" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { + type: "text", + disabled: "disabled", + value: "No results", + "data-qa-node": "input", + "data-qa-file": "Track" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "description", + "data-qa-node": "div", + "data-qa-file": "Track" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_21__["I18n"], { + path: "services.genius.switch_lyrics_result", + "data-qa-node": "I18n", + "data-qa-file": "Track" + })))); + } + + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field lyrics-selector", + "data-qa-node": "div", + "data-qa-file": "Track" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "Track" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Fields_SelectField__WEBPACK_IMPORTED_MODULE_10__["default"], { + onChange: function onChange(value) { + return getTrackLyrics(track.uri, value); + }, + options: track.lyrics_results.map(function (result) { + return { + value: result.path, + label: result.title, + defaultValue: result.path === track.lyrics_path + }; + }), + "data-qa-node": "SelectField", + "data-qa-file": "Track" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "description", + "data-qa-node": "div", + "data-qa-file": "Track" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_21__["I18n"], { + path: "services.genius.switch_lyrics_result", + "data-qa-node": "I18n", + "data-qa-file": "Track" + })))); + }); + + _defineProperty(_assertThisInitialized(_this), "renderLyrics", function () { var _this$props5 = _this.props, load_queue = _this$props5.load_queue, _this$props5$track = _this$props5.track; - _this$props5$track = _this$props5$track === undefined ? {} : _this$props5$track; + _this$props5$track = _this$props5$track === void 0 ? {} : _this$props5$track; var lyrics = _this$props5$track.lyrics, lyrics_path = _this$props5$track.lyrics_path; - - if ((0, _helpers.isLoading)(load_queue, ['genius_'])) { - return _react2.default.createElement( - 'div', - { className: 'lyrics' }, - _react2.default.createElement(_Loader2.default, { body: true, loading: true }) - ); - }if (lyrics) { - return _react2.default.createElement( - 'div', - { className: 'lyrics' }, - _react2.default.createElement('div', { className: 'content', dangerouslySetInnerHTML: { __html: lyrics } }), - _react2.default.createElement( - 'div', - { className: 'origin mid_grey-text' }, - _react2.default.createElement(_locale.I18n, { path: 'track.lyrics_origin' }), - _react2.default.createElement( - 'a', - { - href: 'https://genius.com' + lyrics_path, - target: '_blank', - rel: 'noreferrer noopener' - }, - 'https://genius.com' + lyrics_path - ) - ) - ); + if (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_20__["isLoading"])(load_queue, ['genius_'])) { + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "lyrics", + "data-qa-node": "div", + "data-qa-file": "Track" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Loader__WEBPACK_IMPORTED_MODULE_13__["default"], { + body: true, + loading: true, + "data-qa-node": "Loader", + "data-qa-file": "Track" + })); } - return _react2.default.createElement(_ErrorMessage2.default, { type: 'not-found', title: (0, _locale.i18n)('errors.no_results') }); - }, _this.render = function () { + + if (lyrics) { + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "lyrics", + "data-qa-node": "div", + "data-qa-file": "Track" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "content", + dangerouslySetInnerHTML: { + __html: lyrics + }, + "data-qa-node": "div", + "data-qa-file": "Track" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "origin mid_grey-text", + "data-qa-node": "div", + "data-qa-file": "Track" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_21__["I18n"], { + path: "track.lyrics_origin", + "data-qa-node": "I18n", + "data-qa-file": "Track" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + href: "https://genius.com".concat(lyrics_path), + target: "_blank", + rel: "noreferrer noopener", + "data-qa-node": "a", + "data-qa-file": "Track" + }, "https://genius.com".concat(lyrics_path)))); + } + + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_ErrorMessage__WEBPACK_IMPORTED_MODULE_4__["default"], { + type: "not-found", + title: Object(_locale__WEBPACK_IMPORTED_MODULE_21__["i18n"])('errors.no_results'), + "data-qa-node": "ErrorMessage", + "data-qa-file": "Track" + }); + }); + + _defineProperty(_assertThisInitialized(_this), "render", function () { var _this$props6 = _this.props, uri = _this$props6.uri, track = _this$props6.track, @@ -117411,14 +119219,17 @@ var Track = function (_React$Component) { uiActions = _this$props6.uiActions, genius_authorized = _this$props6.genius_authorized; - - if ((0, _helpers.isLoading)(load_queue, ['spotify_track/' + (0, _helpers.getFromUri)('trackid', uri)])) { - return _react2.default.createElement(_Loader2.default, { body: true, loading: true }); + if (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_20__["isLoading"])(load_queue, ["spotify_track/".concat(Object(_util_helpers__WEBPACK_IMPORTED_MODULE_20__["getFromUri"])('trackid', uri))])) { + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Loader__WEBPACK_IMPORTED_MODULE_13__["default"], { + body: true, + loading: true, + "data-qa-node": "Loader", + "data-qa-file": "Track" + }); } - if (!track) return null; + if (!track) return null; // Flatten our simple album so we can inherit artwork - // Flatten our simple album so we can inherit artwork if (track.album) { var album = albums[track.album.uri]; @@ -117427,130 +119238,175 @@ var Track = function (_React$Component) { } } - return _react2.default.createElement( - 'div', - { className: 'view track-view content-wrapper' }, - slim_mode && _react2.default.createElement(_Header2.default, { - icon: 'music', - title: 'Track', - handleContextMenuTrigger: _this.handleContextMenu, - uiActions: uiActions - }), - _react2.default.createElement( - 'div', - { className: 'thumbnail-wrapper' }, - _react2.default.createElement(_Thumbnail2.default, { size: 'large', canZoom: true, images: track.images, type: 'album' }) - ), - _react2.default.createElement( - 'div', - { className: 'title' }, - _react2.default.createElement( - 'h1', - null, - track.name - ), - _react2.default.createElement( - 'h2', - null, - track.album && track.album.uri && _react2.default.createElement( - _Link2.default, - { to: '/album/' + track.album.uri }, - track.album.name - ), - track.album && !track.album.uri ? track.album.name : null, - !track.album && _react2.default.createElement(_locale.I18n, { path: 'track.unknown_album' }), - _react2.default.createElement(_locale.I18n, { path: 'common.by' }), - _react2.default.createElement(_LinksSentence2.default, { items: track.artists }) - ), - _react2.default.createElement( - 'ul', - { className: 'details' }, - !slim_mode && _react2.default.createElement( - 'li', - { className: 'source' }, - _react2.default.createElement(_Icon2.default, { type: 'fontawesome', name: (0, _helpers.sourceIcon)(uri) }) - ), - track.date && _react2.default.createElement( - 'li', - null, - _react2.default.createElement(_Dater.Dater, { type: 'date', data: track.date }) - ), - track.explicit && _react2.default.createElement( - 'li', - null, - _react2.default.createElement( - 'span', - { className: 'flag flag--dark uppercase' }, - _react2.default.createElement(_locale.I18n, { path: 'track.explicit' }) - ) - ), - _react2.default.createElement( - 'li', - null, - track.disc_number > 0 && _react2.default.createElement(_locale.I18n, { path: 'track.disc_number', number: track.disc_number }), - track.disc_number > 0 && track.track_number > 0 && _react2.default.createElement( - 'span', - null, - ',\xA0' - ), - track.track_number && _react2.default.createElement(_locale.I18n, { path: 'track.track_number', number: track.track_number }) - ), - track.duration && _react2.default.createElement( - 'li', - null, - _react2.default.createElement(_Dater.Dater, { type: 'length', data: track.duration }) - ), - track.popularity && _react2.default.createElement( - 'li', - null, - _react2.default.createElement(_locale.I18n, { path: 'stats.popularity', percent: track.popularity }) - ) - ) - ), - _react2.default.createElement( - 'div', - { className: 'actions' }, - _react2.default.createElement( - 'button', - { className: 'button button--primary', onClick: _this.play, type: 'button' }, - _react2.default.createElement(_locale.I18n, { path: 'actions.play' }) - ), - _react2.default.createElement(_LastfmLoveButton2.default, { - uri: uri, - artist: track.artists ? track.artists[0].name : null, - track: track.name, - is_loved: track.userloved - }), - _react2.default.createElement(_ContextMenuTrigger2.default, { onTrigger: _this.handleContextMenu }) - ), - !genius_authorized && _react2.default.createElement( - 'p', - { className: 'no-results' }, - _react2.default.createElement(_locale.I18n, { path: 'track.want_lyrics' }), - _react2.default.createElement( - _Link2.default, - { to: '/settings/services/genius', scrollTo: '#services-menu' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.title' }) - ), - '.' - ), - genius_authorized && _this.renderLyricsSelector(), - genius_authorized && _this.renderLyrics() - ); - }, _temp), _possibleConstructorReturn(_this, _ret); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "view track-view content-wrapper", + "data-qa-node": "div", + "data-qa-file": "Track" + }, slim_mode && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Header__WEBPACK_IMPORTED_MODULE_5__["default"], { + icon: "music", + title: "Track", + handleContextMenuTrigger: _this.handleContextMenu, + uiActions: uiActions, + "data-qa-node": "Header", + "data-qa-file": "Track" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "thumbnail-wrapper", + "data-qa-node": "div", + "data-qa-file": "Track" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Thumbnail__WEBPACK_IMPORTED_MODULE_6__["default"], { + size: "large", + canZoom: true, + images: track.images, + type: "album", + "data-qa-node": "Thumbnail", + "data-qa-file": "Track" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "title", + "data-qa-node": "div", + "data-qa-file": "Track" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h1", { + "data-qa-node": "h1", + "data-qa-file": "Track" + }, track.name), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h2", { + "data-qa-node": "h2", + "data-qa-file": "Track" + }, track.album && track.album.uri && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Link__WEBPACK_IMPORTED_MODULE_3__["default"], { + to: "/album/".concat(track.album.uri), + "data-qa-node": "Link", + "data-qa-file": "Track" + }, track.album.name), track.album && !track.album.uri ? track.album.name : null, !track.album && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_21__["I18n"], { + path: "track.unknown_album", + "data-qa-node": "I18n", + "data-qa-file": "Track" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_21__["I18n"], { + path: "common.by", + "data-qa-node": "I18n", + "data-qa-file": "Track" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_LinksSentence__WEBPACK_IMPORTED_MODULE_7__["default"], { + items: track.artists, + "data-qa-node": "LinksSentence", + "data-qa-file": "Track" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("ul", { + className: "details", + "data-qa-node": "ul", + "data-qa-file": "Track" + }, !slim_mode && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li", { + className: "source", + "data-qa-node": "li", + "data-qa-file": "Track" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_12__["default"], { + type: "fontawesome", + name: Object(_util_helpers__WEBPACK_IMPORTED_MODULE_20__["sourceIcon"])(uri), + "data-qa-node": "Icon", + "data-qa-file": "Track" + })), track.date && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li", { + "data-qa-node": "li", + "data-qa-file": "Track" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Dater__WEBPACK_IMPORTED_MODULE_9__["Dater"], { + type: "date", + data: track.date, + "data-qa-node": "Dater", + "data-qa-file": "Track" + })), track.explicit && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li", { + "data-qa-node": "li", + "data-qa-file": "Track" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "flag flag--dark uppercase", + "data-qa-node": "span", + "data-qa-file": "Track" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_21__["I18n"], { + path: "track.explicit", + "data-qa-node": "I18n", + "data-qa-file": "Track" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li", { + "data-qa-node": "li", + "data-qa-file": "Track" + }, track.disc_number > 0 && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_21__["I18n"], { + path: "track.disc_number", + number: track.disc_number, + "data-qa-node": "I18n", + "data-qa-file": "Track" + }), track.disc_number > 0 && track.track_number > 0 && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + "data-qa-node": "span", + "data-qa-file": "Track" + }, ",\xA0"), track.track_number && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_21__["I18n"], { + path: "track.track_number", + number: track.track_number, + "data-qa-node": "I18n", + "data-qa-file": "Track" + })), track.duration && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li", { + "data-qa-node": "li", + "data-qa-file": "Track" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Dater__WEBPACK_IMPORTED_MODULE_9__["Dater"], { + type: "length", + data: track.duration, + "data-qa-node": "Dater", + "data-qa-file": "Track" + })), track.popularity && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li", { + "data-qa-node": "li", + "data-qa-file": "Track" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_21__["I18n"], { + path: "stats.popularity", + percent: track.popularity, + "data-qa-node": "I18n", + "data-qa-file": "Track" + })))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "actions", + "data-qa-node": "div", + "data-qa-file": "Track" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", { + className: "button button--primary", + onClick: _this.play, + type: "button", + "data-qa-node": "button", + "data-qa-file": "Track" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_21__["I18n"], { + path: "actions.play", + "data-qa-node": "I18n", + "data-qa-file": "Track" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Fields_LastfmLoveButton__WEBPACK_IMPORTED_MODULE_8__["default"], { + uri: uri, + artist: track.artists ? track.artists[0].name : null, + track: track.name, + is_loved: track.userloved, + "data-qa-node": "LastfmLoveButton", + "data-qa-file": "Track" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_ContextMenuTrigger__WEBPACK_IMPORTED_MODULE_11__["default"], { + onTrigger: _this.handleContextMenu, + "data-qa-node": "ContextMenuTrigger", + "data-qa-file": "Track" + })), !genius_authorized && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p", { + className: "no-results", + "data-qa-node": "p", + "data-qa-file": "Track" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_21__["I18n"], { + path: "track.want_lyrics", + "data-qa-node": "I18n", + "data-qa-file": "Track" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Link__WEBPACK_IMPORTED_MODULE_3__["default"], { + to: "/settings/services/genius", + scrollTo: "#services-menu", + "data-qa-node": "Link", + "data-qa-file": "Track" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_21__["I18n"], { + path: "settings.title", + "data-qa-node": "I18n", + "data-qa-file": "Track" + })), "."), genius_authorized && _this.renderLyricsSelector(), genius_authorized && _this.renderLyrics()); + }); + + return _this; } _createClass(Track, [{ - key: 'componentDidMount', + key: "componentDidMount", value: function componentDidMount() { - var _props = this.props, - uri = _props.uri, - track = _props.track, - loadTrack = _props.coreActions.loadTrack, - genius_authorized = _props.genius_authorized, - findTrackLyrics = _props.geniusActions.findTrackLyrics; - - + var _this$props7 = this.props, + uri = _this$props7.uri, + track = _this$props7.track, + loadTrack = _this$props7.coreActions.loadTrack, + genius_authorized = _this$props7.genius_authorized, + findTrackLyrics = _this$props7.geniusActions.findTrackLyrics; loadTrack(uri); if (track) { @@ -117564,8 +119420,7 @@ var Track = function (_React$Component) { }]); return Track; -}(_react2.default.Component); - +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); /** * Rebuild a track URI with some ugly-ass handling of encoding. * @@ -117580,23 +119435,19 @@ var Track = function (_React$Component) { var rebuildUri = function rebuildUri(uri) { - var rebuilt_uri = (0, _helpers.uriSource)(uri) + ':' + (0, _helpers.uriType)(uri) + ':'; - - // Escape unreserved characters (RFC 3986) + var rebuilt_uri = "".concat(Object(_util_helpers__WEBPACK_IMPORTED_MODULE_20__["uriSource"])(uri), ":").concat(Object(_util_helpers__WEBPACK_IMPORTED_MODULE_20__["uriType"])(uri), ":"); // Escape unreserved characters (RFC 3986) // https://stackoverflow.com/questions/18251399/why-doesnt-encodeuricomponent-encode-single-quotes-apostrophes - var id = (0, _helpers.getFromUri)('trackid', uri); - id = encodeURIComponent(id).replace(/[!'()*]/g, escape); - // Reinstate slashes for the Mopidy-Local structure + var id = Object(_util_helpers__WEBPACK_IMPORTED_MODULE_20__["getFromUri"])('trackid', uri); + id = encodeURIComponent(id).replace(/[!'()*]/g, escape); // Reinstate slashes for the Mopidy-Local structure + id = id.replace(/%2F/g, '/'); - return rebuilt_uri + id; }; var mapStateToProps = function mapStateToProps(state, ownProps) { var uri = decodeURIComponent(ownProps.match.params.uri); uri = rebuildUri(uri); - return { uri: uri, slim_mode: state.ui.slim_mode, @@ -117616,16 +119467,16 @@ var mapStateToProps = function mapStateToProps(state, ownProps) { var mapDispatchToProps = function mapDispatchToProps(dispatch) { return { - coreActions: (0, _redux.bindActionCreators)(coreActions, dispatch), - uiActions: (0, _redux.bindActionCreators)(uiActions, dispatch), - mopidyActions: (0, _redux.bindActionCreators)(mopidyActions, dispatch), - lastfmActions: (0, _redux.bindActionCreators)(lastfmActions, dispatch), - spotifyActions: (0, _redux.bindActionCreators)(spotifyActions, dispatch), - geniusActions: (0, _redux.bindActionCreators)(geniusActions, dispatch) + coreActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_core_actions__WEBPACK_IMPORTED_MODULE_14__, dispatch), + uiActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_ui_actions__WEBPACK_IMPORTED_MODULE_15__, dispatch), + mopidyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_mopidy_actions__WEBPACK_IMPORTED_MODULE_16__, dispatch), + lastfmActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_lastfm_actions__WEBPACK_IMPORTED_MODULE_18__, dispatch), + spotifyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_spotify_actions__WEBPACK_IMPORTED_MODULE_17__, dispatch), + geniusActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_genius_actions__WEBPACK_IMPORTED_MODULE_19__, dispatch) }; }; -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(Track); +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapStateToProps, mapDispatchToProps)(Track)); /***/ }), @@ -117633,107 +119484,92 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)( /*!******************************!*\ !*** ./src/js/views/User.js ***! \******************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); - -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); - -var _ErrorMessage = __webpack_require__(/*! ../components/ErrorMessage */ "./src/js/components/ErrorMessage.js"); - -var _ErrorMessage2 = _interopRequireDefault(_ErrorMessage); - -var _Thumbnail = __webpack_require__(/*! ../components/Thumbnail */ "./src/js/components/Thumbnail.js"); - -var _Thumbnail2 = _interopRequireDefault(_Thumbnail); - -var _PlaylistGrid = __webpack_require__(/*! ../components/PlaylistGrid */ "./src/js/components/PlaylistGrid.js"); - -var _PlaylistGrid2 = _interopRequireDefault(_PlaylistGrid); - -var _FollowButton = __webpack_require__(/*! ../components/Fields/FollowButton */ "./src/js/components/Fields/FollowButton.js"); - -var _FollowButton2 = _interopRequireDefault(_FollowButton); - -var _LazyLoadListener = __webpack_require__(/*! ../components/LazyLoadListener */ "./src/js/components/LazyLoadListener.js"); - -var _LazyLoadListener2 = _interopRequireDefault(_LazyLoadListener); - -var _Parallax = __webpack_require__(/*! ../components/Parallax */ "./src/js/components/Parallax.js"); - -var _Parallax2 = _interopRequireDefault(_Parallax); - -var _NiceNumber = __webpack_require__(/*! ../components/NiceNumber */ "./src/js/components/NiceNumber.js"); - -var _NiceNumber2 = _interopRequireDefault(_NiceNumber); - -var _Loader = __webpack_require__(/*! ../components/Loader */ "./src/js/components/Loader.js"); - -var _Loader2 = _interopRequireDefault(_Loader); - -var _Icon = __webpack_require__(/*! ../components/Icon */ "./src/js/components/Icon.js"); - -var _Icon2 = _interopRequireDefault(_Icon); - -var _actions = __webpack_require__(/*! ../services/core/actions */ "./src/js/services/core/actions.js"); - -var coreActions = _interopRequireWildcard(_actions); - -var _actions2 = __webpack_require__(/*! ../services/ui/actions */ "./src/js/services/ui/actions.js"); - -var uiActions = _interopRequireWildcard(_actions2); - -var _actions3 = __webpack_require__(/*! ../services/spotify/actions */ "./src/js/services/spotify/actions.js"); - -var spotifyActions = _interopRequireWildcard(_actions3); - -var _helpers = __webpack_require__(/*! ../util/helpers */ "./src/js/util/helpers.js"); - -var _format = __webpack_require__(/*! ../util/format */ "./src/js/util/format.js"); - -var _locale = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js"); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var _components_ErrorMessage__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../components/ErrorMessage */ "./src/js/components/ErrorMessage.js"); +/* harmony import */ var _components_Thumbnail__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../components/Thumbnail */ "./src/js/components/Thumbnail.js"); +/* harmony import */ var _components_PlaylistGrid__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../components/PlaylistGrid */ "./src/js/components/PlaylistGrid.js"); +/* harmony import */ var _components_Fields_FollowButton__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../components/Fields/FollowButton */ "./src/js/components/Fields/FollowButton.js"); +/* harmony import */ var _components_LazyLoadListener__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../components/LazyLoadListener */ "./src/js/components/LazyLoadListener.js"); +/* harmony import */ var _components_Parallax__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../components/Parallax */ "./src/js/components/Parallax.js"); +/* harmony import */ var _components_NiceNumber__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../components/NiceNumber */ "./src/js/components/NiceNumber.js"); +/* harmony import */ var _components_Loader__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../components/Loader */ "./src/js/components/Loader.js"); +/* harmony import */ var _components_Icon__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../components/Icon */ "./src/js/components/Icon.js"); +/* harmony import */ var _services_core_actions__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../services/core/actions */ "./src/js/services/core/actions.js"); +/* harmony import */ var _services_ui_actions__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../services/ui/actions */ "./src/js/services/ui/actions.js"); +/* harmony import */ var _services_spotify_actions__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../services/spotify/actions */ "./src/js/services/spotify/actions.js"); +/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../util/helpers */ "./src/js/util/helpers.js"); +/* harmony import */ var _util_format__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../util/format */ "./src/js/util/format.js"); +/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -var User = function (_React$Component) { +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _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; } + + + + + + + + + + + + + + + + + + + + +var User = /*#__PURE__*/function (_React$Component) { _inherits(User, _React$Component); - function User() { - var _ref; + var _super = _createSuper(User); - var _temp, _this, _ret; + function User() { + var _this; _classCallCheck(this, User); - for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } - return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = User.__proto__ || Object.getPrototypeOf(User)).call.apply(_ref, [this].concat(args))), _this), _this.componentDidUpdate = function (_ref2) { - var prevUri = _ref2.uri, - prevUser = _ref2.user; + _this = _super.call.apply(_super, [this].concat(args)); + + _defineProperty(_assertThisInitialized(_this), "componentDidUpdate", function (_ref) { + var prevUri = _ref.uri, + prevUser = _ref.user; var _this$props = _this.props, uri = _this$props.uri, user = _this$props.user, @@ -117741,181 +119577,224 @@ var User = function (_React$Component) { loadUser = _this$props$coreActio.loadUser, loadUserPlaylists = _this$props$coreActio.loadUserPlaylists; - if (prevUri !== uri) { loadUser(uri); loadUserPlaylists(uri); } if (!prevUser && user) _this.setWindowTitle(user); - }, _this.setWindowTitle = function () { + }); + + _defineProperty(_assertThisInitialized(_this), "setWindowTitle", function () { var user = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _this.props.user; var setWindowTitle = _this.props.uiActions.setWindowTitle; if (user) { - setWindowTitle((0, _locale.i18n)('user.title_window', { name: user.name })); + setWindowTitle(Object(_locale__WEBPACK_IMPORTED_MODULE_17__["i18n"])('user.title_window', { + name: user.name + })); } else { - setWindowTitle((0, _locale.i18n)('user.title')); + setWindowTitle(Object(_locale__WEBPACK_IMPORTED_MODULE_17__["i18n"])('user.title')); } - }, _this.loadMore = function () { + }); + + _defineProperty(_assertThisInitialized(_this), "loadMore", function () { var _this$props2 = _this.props, uri = _this$props2.uri, getMore = _this$props2.spotifyActions.getMore, _this$props2$user = _this$props2.user; - _this$props2$user = _this$props2$user === undefined ? {} : _this$props2$user; + _this$props2$user = _this$props2$user === void 0 ? {} : _this$props2$user; var playlists_more = _this$props2$user.playlists_more; - - getMore(playlists_more, { parent_type: 'user', parent_key: uri, records_type: 'playlist' }); - }, _this.isMe = function () { + }); + + _defineProperty(_assertThisInitialized(_this), "isMe", function () { var _this$props3 = _this.props, uri = _this$props3.uri, _this$props3$me = _this$props3.me; - _this$props3$me = _this$props3$me === undefined ? {} : _this$props3$me; + _this$props3$me = _this$props3$me === void 0 ? {} : _this$props3$me; var id = _this$props3$me.id; + return id && id === Object(_util_helpers__WEBPACK_IMPORTED_MODULE_15__["getFromUri"])('userid', uri); + }); - - return id && id === (0, _helpers.getFromUri)('userid', uri); - }, _this.render = function () { + _defineProperty(_assertThisInitialized(_this), "render", function () { var _this$props4 = _this.props, uri = _this$props4.uri, load_queue = _this$props4.load_queue, userProp = _this$props4.user, playlists = _this$props4.playlists, slim_mode = _this$props4.slim_mode; - - - var user_id = (0, _helpers.getFromUri)('userid', uri); + var user_id = Object(_util_helpers__WEBPACK_IMPORTED_MODULE_15__["getFromUri"])('userid', uri); if (!userProp) { - if ((0, _helpers.isLoading)(load_queue, ['spotify_users/' + user_id, 'spotify_users/' + user_id + '/playlists/?'])) { - return _react2.default.createElement(_Loader2.default, { body: true, loading: true }); + if (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_15__["isLoading"])(load_queue, ["spotify_users/".concat(user_id), "spotify_users/".concat(user_id, "/playlists/?")])) { + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Loader__WEBPACK_IMPORTED_MODULE_10__["default"], { + body: true, + loading: true, + "data-qa-node": "Loader", + "data-qa-file": "User" + }); } - return _react2.default.createElement( - _ErrorMessage2.default, - { type: 'not-found', title: 'Not found' }, - _react2.default.createElement( - 'p', - null, - _react2.default.createElement(_locale.I18n, { path: 'errors.uri_not_found', uri: uri }) - ) - ); + + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_ErrorMessage__WEBPACK_IMPORTED_MODULE_3__["default"], { + type: "not-found", + title: "Not found", + "data-qa-node": "ErrorMessage", + "data-qa-file": "User" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p", { + "data-qa-node": "p", + "data-qa-file": "User" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_17__["I18n"], { + path: "errors.uri_not_found", + uri: uri, + "data-qa-node": "I18n", + "data-qa-file": "User" + }))); } - var user = (0, _format.collate)(userProp, { playlists: playlists }); + var user = Object(_util_format__WEBPACK_IMPORTED_MODULE_16__["collate"])(userProp, { + playlists: playlists + }); var image = user.images ? user.images.huge : null; + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "view user-view preserve-3d", + "data-qa-node": "div", + "data-qa-file": "User" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "intro preserve-3d", + "data-qa-node": "div", + "data-qa-file": "User" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Parallax__WEBPACK_IMPORTED_MODULE_8__["default"], { + image: image, + blur: true, + "data-qa-node": "Parallax", + "data-qa-file": "User" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "liner", + "data-qa-node": "div", + "data-qa-file": "User" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "heading", + "data-qa-node": "div", + "data-qa-file": "User" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "heading__thumbnail", + "data-qa-node": "div", + "data-qa-file": "User" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Thumbnail__WEBPACK_IMPORTED_MODULE_4__["default"], { + size: "medium", + circle: true, + canZoom: true, + image: image, + type: "user", + "data-qa-node": "Thumbnail", + "data-qa-file": "User" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "heading__content", + "data-qa-node": "div", + "data-qa-file": "User" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h1", { + "data-qa-node": "h1", + "data-qa-file": "User" + }, user.name), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "heading__content__details", + "data-qa-node": "div", + "data-qa-file": "User" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "actions", + "data-qa-node": "div", + "data-qa-file": "User" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Fields_FollowButton__WEBPACK_IMPORTED_MODULE_6__["default"], { + className: "primary", + uri: user.uri, + "data-qa-node": "FollowButton", + "data-qa-file": "User" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h2", { + "data-qa-node": "h2", + "data-qa-file": "User" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("ul", { + className: "details", + "data-qa-node": "ul", + "data-qa-file": "User" + }, !slim_mode && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li", { + className: "source", + "data-qa-node": "li", + "data-qa-file": "User" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_11__["default"], { + type: "fontawesome", + name: Object(_util_helpers__WEBPACK_IMPORTED_MODULE_15__["sourceIcon"])(user.uri), + "data-qa-node": "Icon", + "data-qa-file": "User" + })), user.playlists_total && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li", { + "data-qa-node": "li", + "data-qa-file": "User" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_17__["I18n"], { + path: "specs.playlists", + count: Object(_components_NiceNumber__WEBPACK_IMPORTED_MODULE_9__["nice_number"])(user.playlists_total), + "data-qa-node": "I18n", + "data-qa-file": "User" + })), user.followers && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li", { + "data-qa-node": "li", + "data-qa-file": "User" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_17__["I18n"], { + path: "specs.followers", + count: Object(_components_NiceNumber__WEBPACK_IMPORTED_MODULE_9__["nice_number"])(user.followers), + "data-qa-node": "I18n", + "data-qa-file": "User" + })), _this.isMe() && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li", { + "data-qa-node": "li", + "data-qa-file": "User" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "blue-text", + "data-qa-node": "span", + "data-qa-file": "User" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_17__["I18n"], { + path: "user.you", + "data-qa-node": "I18n", + "data-qa-file": "User" + })))))))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "content-wrapper", + "data-qa-node": "div", + "data-qa-file": "User" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("section", { + className: "grid-wrapper", + "data-qa-node": "section", + "data-qa-file": "User" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h4", { + "data-qa-node": "h4", + "data-qa-file": "User" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_17__["I18n"], { + path: "playlist.title_plural", + "data-qa-node": "I18n", + "data-qa-file": "User" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_PlaylistGrid__WEBPACK_IMPORTED_MODULE_5__["default"], { + playlists: user.playlists, + "data-qa-node": "PlaylistGrid", + "data-qa-file": "User" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_LazyLoadListener__WEBPACK_IMPORTED_MODULE_7__["default"], { + loadKey: user.playlists_more, + showLoader: user.playlists_more, + loadMore: _this.loadMore, + "data-qa-node": "LazyLoadListener", + "data-qa-file": "User" + })))); + }); - return _react2.default.createElement( - 'div', - { className: 'view user-view preserve-3d' }, - _react2.default.createElement( - 'div', - { className: 'intro preserve-3d' }, - _react2.default.createElement(_Parallax2.default, { image: image, blur: true }), - _react2.default.createElement( - 'div', - { className: 'liner' }, - _react2.default.createElement( - 'div', - { className: 'heading' }, - _react2.default.createElement( - 'div', - { className: 'heading__thumbnail' }, - _react2.default.createElement(_Thumbnail2.default, { size: 'medium', circle: true, canZoom: true, image: image, type: 'user' }) - ), - _react2.default.createElement( - 'div', - { className: 'heading__content' }, - _react2.default.createElement( - 'h1', - null, - user.name - ), - _react2.default.createElement( - 'div', - { className: 'heading__content__details' }, - _react2.default.createElement( - 'div', - { className: 'actions' }, - _react2.default.createElement(_FollowButton2.default, { - className: 'primary', - uri: user.uri - }) - ), - _react2.default.createElement( - 'h2', - null, - _react2.default.createElement( - 'ul', - { className: 'details' }, - !slim_mode && _react2.default.createElement( - 'li', - { className: 'source' }, - _react2.default.createElement(_Icon2.default, { type: 'fontawesome', name: (0, _helpers.sourceIcon)(user.uri) }) - ), - user.playlists_total && _react2.default.createElement( - 'li', - null, - _react2.default.createElement(_locale.I18n, { path: 'specs.playlists', count: (0, _NiceNumber.nice_number)(user.playlists_total) }) - ), - user.followers && _react2.default.createElement( - 'li', - null, - _react2.default.createElement(_locale.I18n, { path: 'specs.followers', count: (0, _NiceNumber.nice_number)(user.followers) }) - ), - _this.isMe() && _react2.default.createElement( - 'li', - null, - _react2.default.createElement( - 'span', - { className: 'blue-text' }, - _react2.default.createElement(_locale.I18n, { path: 'user.you' }) - ) - ) - ) - ) - ) - ) - ) - ) - ), - _react2.default.createElement( - 'div', - { className: 'content-wrapper' }, - _react2.default.createElement( - 'section', - { className: 'grid-wrapper' }, - _react2.default.createElement( - 'h4', - null, - _react2.default.createElement(_locale.I18n, { path: 'playlist.title_plural' }) - ), - _react2.default.createElement(_PlaylistGrid2.default, { playlists: user.playlists }), - _react2.default.createElement(_LazyLoadListener2.default, { - loadKey: user.playlists_more, - showLoader: user.playlists_more, - loadMore: _this.loadMore - }) - ) - ) - ); - }, _temp), _possibleConstructorReturn(_this, _ret); + return _this; } _createClass(User, [{ - key: 'componentDidMount', + key: "componentDidMount", value: function componentDidMount() { - var _props = this.props, - uri = _props.uri, - _props$coreActions = _props.coreActions, - loadUser = _props$coreActions.loadUser, - loadUserPlaylists = _props$coreActions.loadUserPlaylists; - - + var _this$props5 = this.props, + uri = _this$props5.uri, + _this$props5$coreActi = _this$props5.coreActions, + loadUser = _this$props5$coreActi.loadUser, + loadUserPlaylists = _this$props5$coreActi.loadUserPlaylists; this.setWindowTitle(); loadUser(uri); loadUserPlaylists(uri); @@ -117923,7 +119802,7 @@ var User = function (_React$Component) { }]); return User; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); var mapStateToProps = function mapStateToProps(state, ownProps) { var uri = decodeURIComponent(ownProps.match.params.uri); @@ -117939,13 +119818,13 @@ var mapStateToProps = function mapStateToProps(state, ownProps) { var mapDispatchToProps = function mapDispatchToProps(dispatch) { return { - coreActions: (0, _redux.bindActionCreators)(coreActions, dispatch), - uiActions: (0, _redux.bindActionCreators)(uiActions, dispatch), - spotifyActions: (0, _redux.bindActionCreators)(spotifyActions, dispatch) + coreActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_core_actions__WEBPACK_IMPORTED_MODULE_12__, dispatch), + uiActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_ui_actions__WEBPACK_IMPORTED_MODULE_13__, dispatch), + spotifyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_spotify_actions__WEBPACK_IMPORTED_MODULE_14__, dispatch) }; }; -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(User); +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapStateToProps, mapDispatchToProps)(User)); /***/ }), @@ -117953,137 +119832,153 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)( /*!*****************************************************!*\ !*** ./src/js/views/discover/DiscoverCategories.js ***! \*****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); - -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); - -var _Header = __webpack_require__(/*! ../../components/Header */ "./src/js/components/Header.js"); - -var _Header2 = _interopRequireDefault(_Header); - -var _Icon = __webpack_require__(/*! ../../components/Icon */ "./src/js/components/Icon.js"); - -var _Icon2 = _interopRequireDefault(_Icon); - -var _CategoryGrid = __webpack_require__(/*! ../../components/CategoryGrid */ "./src/js/components/CategoryGrid.js"); - -var _CategoryGrid2 = _interopRequireDefault(_CategoryGrid); - -var _Loader = __webpack_require__(/*! ../../components/Loader */ "./src/js/components/Loader.js"); - -var _Loader2 = _interopRequireDefault(_Loader); - -var _actions = __webpack_require__(/*! ../../services/ui/actions */ "./src/js/services/ui/actions.js"); - -var uiActions = _interopRequireWildcard(_actions); - -var _actions2 = __webpack_require__(/*! ../../services/spotify/actions */ "./src/js/services/spotify/actions.js"); - -var spotifyActions = _interopRequireWildcard(_actions2); - -var _helpers = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); - -var _locale = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js"); - -var _arrays = __webpack_require__(/*! ../../util/arrays */ "./src/js/util/arrays.js"); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var _components_Header__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../components/Header */ "./src/js/components/Header.js"); +/* harmony import */ var _components_Icon__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../components/Icon */ "./src/js/components/Icon.js"); +/* harmony import */ var _components_CategoryGrid__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../components/CategoryGrid */ "./src/js/components/CategoryGrid.js"); +/* harmony import */ var _components_Loader__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../components/Loader */ "./src/js/components/Loader.js"); +/* harmony import */ var _services_ui_actions__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../services/ui/actions */ "./src/js/services/ui/actions.js"); +/* harmony import */ var _services_spotify_actions__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../services/spotify/actions */ "./src/js/services/spotify/actions.js"); +/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); +/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js"); +/* harmony import */ var _util_arrays__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../util/arrays */ "./src/js/util/arrays.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -var DiscoverCategories = function (_React$Component) { +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _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; } + + + + + + + + + + + + + + +var DiscoverCategories = /*#__PURE__*/function (_React$Component) { _inherits(DiscoverCategories, _React$Component); - function DiscoverCategories() { - var _ref; + var _super = _createSuper(DiscoverCategories); - var _temp, _this, _ret; + function DiscoverCategories() { + var _this; _classCallCheck(this, DiscoverCategories); - for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } - return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = DiscoverCategories.__proto__ || Object.getPrototypeOf(DiscoverCategories)).call.apply(_ref, [this].concat(args))), _this), _this.render = function () { + _this = _super.call.apply(_super, [this].concat(args)); + + _defineProperty(_assertThisInitialized(_this), "render", function () { var _this$props = _this.props, load_queue = _this$props.load_queue, categoriesProp = _this$props.categories, uiActions = _this$props.uiActions; - - if ((0, _helpers.isLoading)(load_queue, ['spotify_browse/categories'])) { - return _react2.default.createElement( - 'div', - { className: 'view discover-categories-view' }, - _react2.default.createElement(_Header2.default, { icon: 'grid', title: (0, _locale.i18n)('discover.categories.title') }), - _react2.default.createElement(_Loader2.default, { body: true, loading: true }) - ); + if (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_9__["isLoading"])(load_queue, ['spotify_browse/categories'])) { + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "view discover-categories-view", + "data-qa-node": "div", + "data-qa-file": "DiscoverCategories" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Header__WEBPACK_IMPORTED_MODULE_3__["default"], { + icon: "grid", + title: Object(_locale__WEBPACK_IMPORTED_MODULE_10__["i18n"])('discover.categories.title'), + "data-qa-node": "Header", + "data-qa-file": "DiscoverCategories" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Loader__WEBPACK_IMPORTED_MODULE_6__["default"], { + body: true, + loading: true, + "data-qa-node": "Loader", + "data-qa-file": "DiscoverCategories" + })); } - var categories = (0, _arrays.indexToArray)(categoriesProp); + var categories = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_11__["indexToArray"])(categoriesProp); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "view discover-categories-view", + "data-qa-node": "div", + "data-qa-file": "DiscoverCategories" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Header__WEBPACK_IMPORTED_MODULE_3__["default"], { + uiActions: uiActions, + "data-qa-node": "Header", + "data-qa-file": "DiscoverCategories" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_4__["default"], { + name: "mood", + type: "material", + "data-qa-node": "Icon", + "data-qa-file": "DiscoverCategories" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_10__["I18n"], { + path: "discover.categories.title", + "data-qa-node": "I18n", + "data-qa-file": "DiscoverCategories" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("section", { + className: "content-wrapper grid-wrapper", + "data-qa-node": "section", + "data-qa-file": "DiscoverCategories" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_CategoryGrid__WEBPACK_IMPORTED_MODULE_5__["default"], { + categories: categories, + "data-qa-node": "CategoryGrid", + "data-qa-file": "DiscoverCategories" + }))); + }); - return _react2.default.createElement( - 'div', - { className: 'view discover-categories-view' }, - _react2.default.createElement( - _Header2.default, - { uiActions: uiActions }, - _react2.default.createElement(_Icon2.default, { name: 'mood', type: 'material' }), - _react2.default.createElement(_locale.I18n, { path: 'discover.categories.title' }) - ), - _react2.default.createElement( - 'section', - { className: 'content-wrapper grid-wrapper' }, - _react2.default.createElement(_CategoryGrid2.default, { categories: categories }) - ) - ); - }, _temp), _possibleConstructorReturn(_this, _ret); + return _this; } _createClass(DiscoverCategories, [{ - key: 'componentDidMount', + key: "componentDidMount", value: function componentDidMount() { - var _props = this.props, - categories = _props.categories, - getCategories = _props.spotifyActions.getCategories, - setWindowTitle = _props.uiActions.setWindowTitle; - - // Check for an empty category index, or where we've only got one loaded + var _this$props2 = this.props, + categories = _this$props2.categories, + getCategories = _this$props2.spotifyActions.getCategories, + setWindowTitle = _this$props2.uiActions.setWindowTitle; // Check for an empty category index, or where we've only got one loaded // This would be the case if you've refreshed from within a category and only loaded // the single record. if (!categories || Object.keys(categories).length <= 1) { getCategories(); } - setWindowTitle((0, _locale.i18n)('discover.categories.title')); + + setWindowTitle(Object(_locale__WEBPACK_IMPORTED_MODULE_10__["i18n"])('discover.categories.title')); } }]); return DiscoverCategories; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); var mapStateToProps = function mapStateToProps(state) { return { @@ -118094,12 +119989,12 @@ var mapStateToProps = function mapStateToProps(state) { var mapDispatchToProps = function mapDispatchToProps(dispatch) { return { - uiActions: (0, _redux.bindActionCreators)(uiActions, dispatch), - spotifyActions: (0, _redux.bindActionCreators)(spotifyActions, dispatch) + uiActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_ui_actions__WEBPACK_IMPORTED_MODULE_7__, dispatch), + spotifyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_spotify_actions__WEBPACK_IMPORTED_MODULE_8__, dispatch) }; }; -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(DiscoverCategories); +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapStateToProps, mapDispatchToProps)(DiscoverCategories)); /***/ }), @@ -118107,105 +120002,101 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)( /*!***************************************************!*\ !*** ./src/js/views/discover/DiscoverCategory.js ***! \***************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); - -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); - -var _Header = __webpack_require__(/*! ../../components/Header */ "./src/js/components/Header.js"); - -var _Header2 = _interopRequireDefault(_Header); - -var _Icon = __webpack_require__(/*! ../../components/Icon */ "./src/js/components/Icon.js"); - -var _Icon2 = _interopRequireDefault(_Icon); - -var _PlaylistGrid = __webpack_require__(/*! ../../components/PlaylistGrid */ "./src/js/components/PlaylistGrid.js"); - -var _PlaylistGrid2 = _interopRequireDefault(_PlaylistGrid); - -var _LazyLoadListener = __webpack_require__(/*! ../../components/LazyLoadListener */ "./src/js/components/LazyLoadListener.js"); - -var _LazyLoadListener2 = _interopRequireDefault(_LazyLoadListener); - -var _Loader = __webpack_require__(/*! ../../components/Loader */ "./src/js/components/Loader.js"); - -var _Loader2 = _interopRequireDefault(_Loader); - -var _actions = __webpack_require__(/*! ../../services/ui/actions */ "./src/js/services/ui/actions.js"); - -var uiActions = _interopRequireWildcard(_actions); - -var _actions2 = __webpack_require__(/*! ../../services/spotify/actions */ "./src/js/services/spotify/actions.js"); - -var spotifyActions = _interopRequireWildcard(_actions2); - -var _helpers = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); - -var _format = __webpack_require__(/*! ../../util/format */ "./src/js/util/format.js"); - -var _locale = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js"); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var _components_Header__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../components/Header */ "./src/js/components/Header.js"); +/* harmony import */ var _components_Icon__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../components/Icon */ "./src/js/components/Icon.js"); +/* harmony import */ var _components_PlaylistGrid__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../components/PlaylistGrid */ "./src/js/components/PlaylistGrid.js"); +/* harmony import */ var _components_LazyLoadListener__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../components/LazyLoadListener */ "./src/js/components/LazyLoadListener.js"); +/* harmony import */ var _components_Loader__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../components/Loader */ "./src/js/components/Loader.js"); +/* harmony import */ var _services_ui_actions__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../services/ui/actions */ "./src/js/services/ui/actions.js"); +/* harmony import */ var _services_spotify_actions__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../services/spotify/actions */ "./src/js/services/spotify/actions.js"); +/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); +/* harmony import */ var _util_format__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../util/format */ "./src/js/util/format.js"); +/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -var DiscoverCategory = function (_React$Component) { +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _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; } + + + + + + + + + + + + + + + +var DiscoverCategory = /*#__PURE__*/function (_React$Component) { _inherits(DiscoverCategory, _React$Component); - function DiscoverCategory() { - var _ref; + var _super = _createSuper(DiscoverCategory); - var _temp, _this, _ret; + function DiscoverCategory() { + var _this; _classCallCheck(this, DiscoverCategory); - for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } - return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = DiscoverCategory.__proto__ || Object.getPrototypeOf(DiscoverCategory)).call.apply(_ref, [this].concat(args))), _this), _this.componentDidUpdate = function (_ref2) { - var prevId = _ref2.match.params.id, - prevCategory = _ref2.category; + _this = _super.call.apply(_super, [this].concat(args)); + + _defineProperty(_assertThisInitialized(_this), "componentDidUpdate", function (_ref) { + var prevId = _ref.match.params.id, + prevCategory = _ref.category; var _this$props = _this.props, id = _this$props.match.params.id, category = _this$props.category; - - if (prevId !== id) _this.loadCategory(); if (!prevCategory && category) _this.setWindowTitle(category); - }, _this.setWindowTitle = function () { + }); + + _defineProperty(_assertThisInitialized(_this), "setWindowTitle", function () { var category = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _this.props.category; var setWindowTitle = _this.props.uiActions.setWindowTitle; - if (category) { setWindowTitle(category.name); } else { - setWindowTitle((0, _locale.i18n)('discover.category.title')); + setWindowTitle(Object(_locale__WEBPACK_IMPORTED_MODULE_12__["i18n"])('discover.category.title')); } - }, _this.loadCategory = function () { + }); + + _defineProperty(_assertThisInitialized(_this), "loadCategory", function () { var _this$props2 = _this.props, category = _this$props2.category, id = _this$props2.match.params.id, @@ -118213,7 +120104,6 @@ var DiscoverCategory = function (_React$Component) { getCategory = _this$props2$spotifyA.getCategory, getCategoryPlaylists = _this$props2$spotifyA.getCategoryPlaylists; - if (!category) { getCategory(id); } @@ -118221,74 +120111,93 @@ var DiscoverCategory = function (_React$Component) { if (!category.playlists_uris) { getCategoryPlaylists(id); } - }, _this.loadMore = function () { + }); + + _defineProperty(_assertThisInitialized(_this), "loadMore", function () { var _this$props3 = _this.props, getMore = _this$props3.spotifyActions.getMore, playlists_more = _this$props3.category.playlists_more, id = _this$props3.match.params.id; - - getMore(playlists_more, null, { type: 'SPOTIFY_CATEGORY_PLAYLISTS_LOADED_MORE', - uri: 'category:' + id + uri: "category:".concat(id) }); - }, _this.render = function () { + }); + + _defineProperty(_assertThisInitialized(_this), "render", function () { var _this$props4 = _this.props, categoryProp = _this$props4.category, playlists = _this$props4.playlists, load_queue = _this$props4.load_queue, uiActions = _this$props4.uiActions; - - if ((0, _helpers.isLoading)(load_queue, ['spotify_browse/categories/'])) { - return _react2.default.createElement( - 'div', - { className: 'view discover-categories-view' }, - _react2.default.createElement( - _Header2.default, - null, - _react2.default.createElement(_Icon2.default, { name: 'mood', type: 'material' }), - categoryProp ? categoryProp.name : (0, _locale.i18n)('discover.category.category') - ), - _react2.default.createElement(_Loader2.default, { body: true, loading: true }) - ); + if (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_10__["isLoading"])(load_queue, ['spotify_browse/categories/'])) { + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "view discover-categories-view", + "data-qa-node": "div", + "data-qa-file": "DiscoverCategory" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Header__WEBPACK_IMPORTED_MODULE_3__["default"], { + "data-qa-node": "Header", + "data-qa-file": "DiscoverCategory" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_4__["default"], { + name: "mood", + type: "material", + "data-qa-node": "Icon", + "data-qa-file": "DiscoverCategory" + }), categoryProp ? categoryProp.name : Object(_locale__WEBPACK_IMPORTED_MODULE_12__["i18n"])('discover.category.category')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Loader__WEBPACK_IMPORTED_MODULE_7__["default"], { + body: true, + loading: true, + "data-qa-node": "Loader", + "data-qa-file": "DiscoverCategory" + })); } if (!categoryProp) { return null; } - var category = (0, _format.collate)(categoryProp, { playlists: playlists }); + var category = Object(_util_format__WEBPACK_IMPORTED_MODULE_11__["collate"])(categoryProp, { + playlists: playlists + }); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "view discover-categories-view", + "data-qa-node": "div", + "data-qa-file": "DiscoverCategory" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Header__WEBPACK_IMPORTED_MODULE_3__["default"], { + uiActions: uiActions, + "data-qa-node": "Header", + "data-qa-file": "DiscoverCategory" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_4__["default"], { + name: "mood", + type: "material", + "data-qa-node": "Icon", + "data-qa-file": "DiscoverCategory" + }), category.name), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "content-wrapper", + "data-qa-node": "div", + "data-qa-file": "DiscoverCategory" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("section", { + className: "grid-wrapper", + "data-qa-node": "section", + "data-qa-file": "DiscoverCategory" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_PlaylistGrid__WEBPACK_IMPORTED_MODULE_5__["default"], { + playlists: category.playlists, + "data-qa-node": "PlaylistGrid", + "data-qa-file": "DiscoverCategory" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_LazyLoadListener__WEBPACK_IMPORTED_MODULE_6__["default"], { + loadKey: category.playlists_more, + showLoader: category.playlists_more, + loadMore: _this.loadMore, + "data-qa-node": "LazyLoadListener", + "data-qa-file": "DiscoverCategory" + }))); + }); - return _react2.default.createElement( - 'div', - { className: 'view discover-categories-view' }, - _react2.default.createElement( - _Header2.default, - { uiActions: uiActions }, - _react2.default.createElement(_Icon2.default, { name: 'mood', type: 'material' }), - category.name - ), - _react2.default.createElement( - 'div', - { className: 'content-wrapper' }, - _react2.default.createElement( - 'section', - { className: 'grid-wrapper' }, - _react2.default.createElement(_PlaylistGrid2.default, { playlists: category.playlists }) - ), - _react2.default.createElement(_LazyLoadListener2.default, { - loadKey: category.playlists_more, - showLoader: category.playlists_more, - loadMore: _this.loadMore - }) - ) - ); - }, _temp), _possibleConstructorReturn(_this, _ret); + return _this; } _createClass(DiscoverCategory, [{ - key: 'componentDidMount', + key: "componentDidMount", value: function componentDidMount() { this.loadCategory(); this.setWindowTitle(); @@ -118296,24 +120205,24 @@ var DiscoverCategory = function (_React$Component) { }]); return DiscoverCategory; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); var mapStateToProps = function mapStateToProps(state, ownProps) { return { load_queue: state.ui.load_queue, playlists: state.core.playlists, - category: state.spotify.categories && state.spotify.categories['category:' + ownProps.match.params.id] !== undefined ? state.spotify.categories['category:' + ownProps.match.params.id] : false + category: state.spotify.categories && state.spotify.categories["category:".concat(ownProps.match.params.id)] !== undefined ? state.spotify.categories["category:".concat(ownProps.match.params.id)] : false }; }; var mapDispatchToProps = function mapDispatchToProps(dispatch) { return { - uiActions: (0, _redux.bindActionCreators)(uiActions, dispatch), - spotifyActions: (0, _redux.bindActionCreators)(spotifyActions, dispatch) + uiActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_ui_actions__WEBPACK_IMPORTED_MODULE_8__, dispatch), + spotifyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_spotify_actions__WEBPACK_IMPORTED_MODULE_9__, dispatch) }; }; -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(DiscoverCategory); +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapStateToProps, mapDispatchToProps)(DiscoverCategory)); /***/ }), @@ -118321,93 +120230,87 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)( /*!***************************************************!*\ !*** ./src/js/views/discover/DiscoverFeatured.js ***! \***************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); - -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); - -var _PlaylistGrid = __webpack_require__(/*! ../../components/PlaylistGrid */ "./src/js/components/PlaylistGrid.js"); - -var _PlaylistGrid2 = _interopRequireDefault(_PlaylistGrid); - -var _Header = __webpack_require__(/*! ../../components/Header */ "./src/js/components/Header.js"); - -var _Header2 = _interopRequireDefault(_Header); - -var _Icon = __webpack_require__(/*! ../../components/Icon */ "./src/js/components/Icon.js"); - -var _Icon2 = _interopRequireDefault(_Icon); - -var _Loader = __webpack_require__(/*! ../../components/Loader */ "./src/js/components/Loader.js"); - -var _Loader2 = _interopRequireDefault(_Loader); - -var _actions = __webpack_require__(/*! ../../services/ui/actions */ "./src/js/services/ui/actions.js"); - -var uiActions = _interopRequireWildcard(_actions); - -var _actions2 = __webpack_require__(/*! ../../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); - -var mopidyActions = _interopRequireWildcard(_actions2); - -var _actions3 = __webpack_require__(/*! ../../services/spotify/actions */ "./src/js/services/spotify/actions.js"); - -var spotifyActions = _interopRequireWildcard(_actions3); - -var _helpers = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); - -var _locale = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js"); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var _components_PlaylistGrid__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../components/PlaylistGrid */ "./src/js/components/PlaylistGrid.js"); +/* harmony import */ var _components_Header__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../components/Header */ "./src/js/components/Header.js"); +/* harmony import */ var _components_Icon__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../components/Icon */ "./src/js/components/Icon.js"); +/* harmony import */ var _components_Loader__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../components/Loader */ "./src/js/components/Loader.js"); +/* harmony import */ var _services_ui_actions__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../services/ui/actions */ "./src/js/services/ui/actions.js"); +/* harmony import */ var _services_mopidy_actions__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); +/* harmony import */ var _services_spotify_actions__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../services/spotify/actions */ "./src/js/services/spotify/actions.js"); +/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); +/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -var DiscoverFeatured = function (_React$Component) { +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _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; } + + + + + + + + + + + + + + +var DiscoverFeatured = /*#__PURE__*/function (_React$Component) { _inherits(DiscoverFeatured, _React$Component); - function DiscoverFeatured() { - var _ref; + var _super = _createSuper(DiscoverFeatured); - var _temp, _this, _ret; + function DiscoverFeatured() { + var _this; _classCallCheck(this, DiscoverFeatured); - for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } - return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = DiscoverFeatured.__proto__ || Object.getPrototypeOf(DiscoverFeatured)).call.apply(_ref, [this].concat(args))), _this), _this.onRefresh = function () { + _this = _super.call.apply(_super, [this].concat(args)); + + _defineProperty(_assertThisInitialized(_this), "onRefresh", function () { var _this$props = _this.props, hideContextMenu = _this$props.uiActions.hideContextMenu, getFeaturedPlaylists = _this$props.spotifyActions.getFeaturedPlaylists; - hideContextMenu(); getFeaturedPlaylists(); - }, _this.handleContextMenu = function (e, item) { + }); + + _defineProperty(_assertThisInitialized(_this), "handleContextMenu", function (e, item) { var showContextMenu = _this.props.uiActions.showContextMenu; - - e.preventDefault(); var data = { e: e, @@ -118416,79 +120319,114 @@ var DiscoverFeatured = function (_React$Component) { items: [item] }; showContextMenu(data); - }, _this.render = function () { + }); + + _defineProperty(_assertThisInitialized(_this), "render", function () { var _this$props2 = _this.props, load_queue = _this$props2.load_queue, uiActions = _this$props2.uiActions, featured_playlists = _this$props2.featured_playlists, playlists = _this$props2.playlists; - - if ((0, _helpers.isLoading)(load_queue, ['spotify_browse/featured-playlists'])) { - return _react2.default.createElement( - 'div', - { className: 'view discover-featured-view preserve-3d' }, - _react2.default.createElement( - _Header2.default, - { className: 'overlay', uiActions: uiActions }, - _react2.default.createElement(_Icon2.default, { name: 'star', type: 'material' }), - _react2.default.createElement(_locale.I18n, { path: 'discover.featured.title' }) - ), - _react2.default.createElement(_Loader2.default, { body: true, loading: true }) - ); + if (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_10__["isLoading"])(load_queue, ['spotify_browse/featured-playlists'])) { + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "view discover-featured-view preserve-3d", + "data-qa-node": "div", + "data-qa-file": "DiscoverFeatured" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Header__WEBPACK_IMPORTED_MODULE_4__["default"], { + className: "overlay", + uiActions: uiActions, + "data-qa-node": "Header", + "data-qa-file": "DiscoverFeatured" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_5__["default"], { + name: "star", + type: "material", + "data-qa-node": "Icon", + "data-qa-file": "DiscoverFeatured" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_11__["I18n"], { + path: "discover.featured.title", + "data-qa-node": "I18n", + "data-qa-file": "DiscoverFeatured" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Loader__WEBPACK_IMPORTED_MODULE_6__["default"], { + body: true, + loading: true, + "data-qa-node": "Loader", + "data-qa-file": "DiscoverFeatured" + })); } var items = []; + if (featured_playlists) { for (var i = 0; i < featured_playlists.playlists.length; i++) { var uri = featured_playlists.playlists[i]; + if (playlists.hasOwnProperty(uri)) { items.push(playlists[uri]); } } } - var options = _react2.default.createElement( - 'a', - { className: 'button button--no-hover', onClick: _this.onRefresh }, - _react2.default.createElement(_Icon2.default, { name: 'refresh' }), - _react2.default.createElement(_locale.I18n, { path: 'actions.refresh' }) - ); + var options = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + className: "button button--no-hover", + onClick: _this.onRefresh, + "data-qa-node": "a", + "data-qa-file": "DiscoverFeatured" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_5__["default"], { + name: "refresh", + "data-qa-node": "Icon", + "data-qa-file": "DiscoverFeatured" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_11__["I18n"], { + path: "actions.refresh", + "data-qa-node": "I18n", + "data-qa-file": "DiscoverFeatured" + })); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "view discover-featured-view preserve-3d", + "data-qa-node": "div", + "data-qa-file": "DiscoverFeatured" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Header__WEBPACK_IMPORTED_MODULE_4__["default"], { + uiActions: uiActions, + options: options, + "data-qa-node": "Header", + "data-qa-file": "DiscoverFeatured" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_5__["default"], { + name: "star", + type: "material", + "data-qa-node": "Icon", + "data-qa-file": "DiscoverFeatured" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_11__["I18n"], { + path: "discover.featured.title", + "data-qa-node": "I18n", + "data-qa-file": "DiscoverFeatured" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("section", { + className: "content-wrapper grid-wrapper", + "data-qa-node": "section", + "data-qa-file": "DiscoverFeatured" + }, items && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_PlaylistGrid__WEBPACK_IMPORTED_MODULE_3__["default"], { + playlists: items, + "data-qa-node": "PlaylistGrid", + "data-qa-file": "DiscoverFeatured" + }))); + }); - return _react2.default.createElement( - 'div', - { className: 'view discover-featured-view preserve-3d' }, - _react2.default.createElement( - _Header2.default, - { uiActions: uiActions, options: options }, - _react2.default.createElement(_Icon2.default, { name: 'star', type: 'material' }), - _react2.default.createElement(_locale.I18n, { path: 'discover.featured.title' }) - ), - _react2.default.createElement( - 'section', - { className: 'content-wrapper grid-wrapper' }, - items && _react2.default.createElement(_PlaylistGrid2.default, { playlists: items }) - ) - ); - }, _temp), _possibleConstructorReturn(_this, _ret); + return _this; } _createClass(DiscoverFeatured, [{ - key: 'componentDidMount', + key: "componentDidMount", value: function componentDidMount() { - var _props = this.props, - featured_playlists = _props.featured_playlists, - setWindowTitle = _props.uiActions.setWindowTitle, - getFeaturedPlaylists = _props.spotifyActions.getFeaturedPlaylists; - - - setWindowTitle((0, _locale.i18n)('discover.featured.title')); + var _this$props3 = this.props, + featured_playlists = _this$props3.featured_playlists, + setWindowTitle = _this$props3.uiActions.setWindowTitle, + getFeaturedPlaylists = _this$props3.spotifyActions.getFeaturedPlaylists; + setWindowTitle(Object(_locale__WEBPACK_IMPORTED_MODULE_11__["i18n"])('discover.featured.title')); if (!featured_playlists) getFeaturedPlaylists(); } }]); return DiscoverFeatured; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); var mapStateToProps = function mapStateToProps(state) { return { @@ -118501,13 +120439,13 @@ var mapStateToProps = function mapStateToProps(state) { var mapDispatchToProps = function mapDispatchToProps(dispatch) { return { - uiActions: (0, _redux.bindActionCreators)(uiActions, dispatch), - mopidyActions: (0, _redux.bindActionCreators)(mopidyActions, dispatch), - spotifyActions: (0, _redux.bindActionCreators)(spotifyActions, dispatch) + uiActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_ui_actions__WEBPACK_IMPORTED_MODULE_7__, dispatch), + mopidyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_mopidy_actions__WEBPACK_IMPORTED_MODULE_8__, dispatch), + spotifyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_spotify_actions__WEBPACK_IMPORTED_MODULE_9__, dispatch) }; }; -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(DiscoverFeatured); +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapStateToProps, mapDispatchToProps)(DiscoverFeatured)); /***/ }), @@ -118515,124 +120453,128 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)( /*!******************************************************!*\ !*** ./src/js/views/discover/DiscoverNewReleases.js ***! \******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var _components_Header__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../components/Header */ "./src/js/components/Header.js"); +/* harmony import */ var _components_Icon__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../components/Icon */ "./src/js/components/Icon.js"); +/* harmony import */ var _components_AlbumGrid__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../components/AlbumGrid */ "./src/js/components/AlbumGrid.js"); +/* harmony import */ var _components_Parallax__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../components/Parallax */ "./src/js/components/Parallax.js"); +/* harmony import */ var _components_LazyLoadListener__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../components/LazyLoadListener */ "./src/js/components/LazyLoadListener.js"); +/* harmony import */ var _components_Loader__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../components/Loader */ "./src/js/components/Loader.js"); +/* harmony import */ var _services_ui_actions__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../services/ui/actions */ "./src/js/services/ui/actions.js"); +/* harmony import */ var _services_mopidy_actions__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); +/* harmony import */ var _services_spotify_actions__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../services/spotify/actions */ "./src/js/services/spotify/actions.js"); +/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); +/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } +function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } -Object.defineProperty(exports, "__esModule", { - value: true -}); +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); - -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); - -var _Header = __webpack_require__(/*! ../../components/Header */ "./src/js/components/Header.js"); - -var _Header2 = _interopRequireDefault(_Header); - -var _Icon = __webpack_require__(/*! ../../components/Icon */ "./src/js/components/Icon.js"); - -var _Icon2 = _interopRequireDefault(_Icon); - -var _AlbumGrid = __webpack_require__(/*! ../../components/AlbumGrid */ "./src/js/components/AlbumGrid.js"); - -var _AlbumGrid2 = _interopRequireDefault(_AlbumGrid); - -var _Parallax = __webpack_require__(/*! ../../components/Parallax */ "./src/js/components/Parallax.js"); - -var _Parallax2 = _interopRequireDefault(_Parallax); - -var _LazyLoadListener = __webpack_require__(/*! ../../components/LazyLoadListener */ "./src/js/components/LazyLoadListener.js"); - -var _LazyLoadListener2 = _interopRequireDefault(_LazyLoadListener); - -var _Loader = __webpack_require__(/*! ../../components/Loader */ "./src/js/components/Loader.js"); - -var _Loader2 = _interopRequireDefault(_Loader); - -var _actions = __webpack_require__(/*! ../../services/ui/actions */ "./src/js/services/ui/actions.js"); - -var uiActions = _interopRequireWildcard(_actions); - -var _actions2 = __webpack_require__(/*! ../../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); - -var mopidyActions = _interopRequireWildcard(_actions2); - -var _actions3 = __webpack_require__(/*! ../../services/spotify/actions */ "./src/js/services/spotify/actions.js"); - -var spotifyActions = _interopRequireWildcard(_actions3); - -var _helpers = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); - -var _locale = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js"); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -var DiscoverNewReleases = function (_React$Component) { +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _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; } + + + + + + + + + + + + + + + + +var DiscoverNewReleases = /*#__PURE__*/function (_React$Component) { _inherits(DiscoverNewReleases, _React$Component); - function DiscoverNewReleases() { - var _ref; + var _super = _createSuper(DiscoverNewReleases); - var _temp, _this, _ret; + function DiscoverNewReleases() { + var _this; _classCallCheck(this, DiscoverNewReleases); - for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } - return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = DiscoverNewReleases.__proto__ || Object.getPrototypeOf(DiscoverNewReleases)).call.apply(_ref, [this].concat(args))), _this), _this.loadMore = function () { + _this = _super.call.apply(_super, [this].concat(args)); + + _defineProperty(_assertThisInitialized(_this), "loadMore", function () { var _this$props = _this.props, new_releases_more = _this$props.new_releases_more, getMore = _this$props.spotifyActions.getMore; - - getMore(new_releases_more, null, { type: 'SPOTIFY_NEW_RELEASES_LOADED' }); - }, _this.playAlbum = function (album) { + }); + + _defineProperty(_assertThisInitialized(_this), "playAlbum", function (album) { var playURIs = _this.props.mopidyActions.playURIs; - - playURIs([album.uri], album.uri); - }, _this.refresh = function () { + }); + + _defineProperty(_assertThisInitialized(_this), "refresh", function () { var _this$props2 = _this.props, hideContextMenu = _this$props2.uiActions.hideContextMenu, getNewReleases = _this$props2.spotifyActions.getNewReleases; - - hideContextMenu(); getNewReleases(); - }, _this.renderIntro = function () { - var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, - _ref2$images = _ref2.images; + }); - _ref2$images = _ref2$images === undefined ? {} : _ref2$images; - var large = _ref2$images.large; - return _react2.default.createElement( - 'div', - { className: 'intro preserve-3d' }, - _react2.default.createElement(_Parallax2.default, { image: large, blur: true }) - ); - }, _this.render = function () { + _defineProperty(_assertThisInitialized(_this), "renderIntro", function () { + var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, + _ref$images = _ref.images; + + _ref$images = _ref$images === void 0 ? {} : _ref$images; + var large = _ref$images.large; + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "intro preserve-3d", + "data-qa-node": "div", + "data-qa-file": "DiscoverNewReleases" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Parallax__WEBPACK_IMPORTED_MODULE_6__["default"], { + image: large, + blur: true, + "data-qa-node": "Parallax", + "data-qa-file": "DiscoverNewReleases" + })); + }); + + _defineProperty(_assertThisInitialized(_this), "render", function () { var _this$props3 = _this.props, load_queue = _this$props3.load_queue, new_releases = _this$props3.new_releases, @@ -118640,29 +120582,39 @@ var DiscoverNewReleases = function (_React$Component) { new_releases_more = _this$props3.new_releases_more, uiActions = _this$props3.uiActions; - - if ((0, _helpers.isLoading)(load_queue, ['spotify_browse/new-releases'])) { - return _react2.default.createElement( - 'div', - { className: 'view discover-new-releases-view' }, - _react2.default.createElement( - _Header2.default, - null, - _react2.default.createElement(_Icon2.default, { name: 'new_releases', type: 'material' }), - _react2.default.createElement(_locale.I18n, { path: 'discover.new_releases.title' }) - ), - _react2.default.createElement(_Loader2.default, { body: true, loading: true }) - ); + if (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_12__["isLoading"])(load_queue, ['spotify_browse/new-releases'])) { + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "view discover-new-releases-view", + "data-qa-node": "div", + "data-qa-file": "DiscoverNewReleases" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Header__WEBPACK_IMPORTED_MODULE_3__["default"], { + "data-qa-node": "Header", + "data-qa-file": "DiscoverNewReleases" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_4__["default"], { + name: "new_releases", + type: "material", + "data-qa-node": "Icon", + "data-qa-file": "DiscoverNewReleases" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_13__["I18n"], { + path: "discover.new_releases.title", + "data-qa-node": "I18n", + "data-qa-file": "DiscoverNewReleases" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Loader__WEBPACK_IMPORTED_MODULE_8__["default"], { + body: true, + loading: true, + "data-qa-node": "Loader", + "data-qa-file": "DiscoverNewReleases" + })); } var albums = []; + if (new_releases) { - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; + var _iterator = _createForOfIteratorHelper(new_releases), + _step; try { - for (var _iterator = new_releases[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + for (_iterator.s(); !(_step = _iterator.n()).done;) { var uri = _step.value; if (albumsProp.hasOwnProperty(uri)) { @@ -118670,72 +120622,81 @@ var DiscoverNewReleases = function (_React$Component) { } } } catch (err) { - _didIteratorError = true; - _iteratorError = err; + _iterator.e(err); } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } + _iterator.f(); } } - var options = _react2.default.createElement( - 'a', - { className: 'button button--no-hover', onClick: _this.refresh }, - _react2.default.createElement(_Icon2.default, { name: 'refresh' }), - _react2.default.createElement(_locale.I18n, { path: 'actions.refresh' }) - ); + var options = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + className: "button button--no-hover", + onClick: _this.refresh, + "data-qa-node": "a", + "data-qa-file": "DiscoverNewReleases" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_4__["default"], { + name: "refresh", + "data-qa-node": "Icon", + "data-qa-file": "DiscoverNewReleases" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_13__["I18n"], { + path: "actions.refresh", + "data-qa-node": "I18n", + "data-qa-file": "DiscoverNewReleases" + })); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "view discover-new-releases-view preserve-3d", + "data-qa-node": "div", + "data-qa-file": "DiscoverNewReleases" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Header__WEBPACK_IMPORTED_MODULE_3__["default"], { + options: options, + uiActions: uiActions, + "data-qa-node": "Header", + "data-qa-file": "DiscoverNewReleases" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_4__["default"], { + name: "new_releases", + type: "material", + "data-qa-node": "Icon", + "data-qa-file": "DiscoverNewReleases" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_13__["I18n"], { + path: "discover.new_releases.title", + "data-qa-node": "I18n", + "data-qa-file": "DiscoverNewReleases" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("section", { + className: "content-wrapper grid-wrapper", + "data-qa-node": "section", + "data-qa-file": "DiscoverNewReleases" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_AlbumGrid__WEBPACK_IMPORTED_MODULE_5__["default"], { + albums: albums, + "data-qa-node": "AlbumGrid", + "data-qa-file": "DiscoverNewReleases" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_LazyLoadListener__WEBPACK_IMPORTED_MODULE_7__["default"], { + loadKey: new_releases_more, + showLoader: new_releases_more, + loadMore: _this.loadMore, + "data-qa-node": "LazyLoadListener", + "data-qa-file": "DiscoverNewReleases" + })); + }); - return _react2.default.createElement( - 'div', - { className: 'view discover-new-releases-view preserve-3d' }, - _react2.default.createElement( - _Header2.default, - { options: options, uiActions: uiActions }, - _react2.default.createElement(_Icon2.default, { name: 'new_releases', type: 'material' }), - _react2.default.createElement(_locale.I18n, { path: 'discover.new_releases.title' }) - ), - _react2.default.createElement( - 'section', - { className: 'content-wrapper grid-wrapper' }, - _react2.default.createElement(_AlbumGrid2.default, { albums: albums }) - ), - _react2.default.createElement(_LazyLoadListener2.default, { - loadKey: new_releases_more, - showLoader: new_releases_more, - loadMore: _this.loadMore - }) - ); - }, _temp), _possibleConstructorReturn(_this, _ret); + return _this; } _createClass(DiscoverNewReleases, [{ - key: 'componentDidMount', + key: "componentDidMount", value: function componentDidMount() { - var _props = this.props, - new_releases = _props.new_releases, - setWindowTitle = _props.uiActions.setWindowTitle, - getNewReleases = _props.spotifyActions.getNewReleases; - - - setWindowTitle((0, _locale.i18n)('discover.new_releases.title')); + var _this$props4 = this.props, + new_releases = _this$props4.new_releases, + setWindowTitle = _this$props4.uiActions.setWindowTitle, + getNewReleases = _this$props4.spotifyActions.getNewReleases; + setWindowTitle(Object(_locale__WEBPACK_IMPORTED_MODULE_13__["i18n"])('discover.new_releases.title')); if (!new_releases) { getNewReleases(); } } }, { - key: 'handleContextMenu', + key: "handleContextMenu", value: function handleContextMenu(e, item) { var showContextMenu = this.props.uriActions.showContextMenu; - - e.preventDefault(); showContextMenu({ e: e, @@ -118747,7 +120708,7 @@ var DiscoverNewReleases = function (_React$Component) { }]); return DiscoverNewReleases; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); var mapStateToProps = function mapStateToProps(state) { return { @@ -118763,13 +120724,13 @@ var mapStateToProps = function mapStateToProps(state) { var mapDispatchToProps = function mapDispatchToProps(dispatch) { return { - uiActions: (0, _redux.bindActionCreators)(uiActions, dispatch), - mopidyActions: (0, _redux.bindActionCreators)(mopidyActions, dispatch), - spotifyActions: (0, _redux.bindActionCreators)(spotifyActions, dispatch) + uiActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_ui_actions__WEBPACK_IMPORTED_MODULE_9__, dispatch), + mopidyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_mopidy_actions__WEBPACK_IMPORTED_MODULE_10__, dispatch), + spotifyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_spotify_actions__WEBPACK_IMPORTED_MODULE_11__, dispatch) }; }; -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(DiscoverNewReleases); +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapStateToProps, mapDispatchToProps)(DiscoverNewReleases)); /***/ }), @@ -118777,248 +120738,233 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)( /*!**********************************************************!*\ !*** ./src/js/views/discover/DiscoverRecommendations.js ***! \**********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var react_input_range__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-input-range */ "./node_modules/react-input-range/lib/js/index.js"); +/* harmony import */ var react_input_range__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_input_range__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _components_AlbumGrid__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../components/AlbumGrid */ "./src/js/components/AlbumGrid.js"); +/* harmony import */ var _components_TrackList__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../components/TrackList */ "./src/js/components/TrackList.js"); +/* harmony import */ var _components_Thumbnail__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../components/Thumbnail */ "./src/js/components/Thumbnail.js"); +/* harmony import */ var _components_Parallax__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../components/Parallax */ "./src/js/components/Parallax.js"); +/* harmony import */ var _components_Fields_DropdownField__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../components/Fields/DropdownField */ "./src/js/components/Fields/DropdownField.js"); +/* harmony import */ var _components_Fields_AddSeedField__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../components/Fields/AddSeedField */ "./src/js/components/Fields/AddSeedField.js"); +/* harmony import */ var _components_URILink__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../components/URILink */ "./src/js/components/URILink.js"); +/* harmony import */ var _components_ContextMenuTrigger__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../components/ContextMenuTrigger */ "./src/js/components/ContextMenuTrigger.js"); +/* harmony import */ var _components_RelatedArtists__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../components/RelatedArtists */ "./src/js/components/RelatedArtists.js"); +/* harmony import */ var _components_Icon__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../components/Icon */ "./src/js/components/Icon.js"); +/* harmony import */ var _services_ui_actions__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../services/ui/actions */ "./src/js/services/ui/actions.js"); +/* harmony import */ var _services_mopidy_actions__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); +/* harmony import */ var _services_spotify_actions__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../services/spotify/actions */ "./src/js/services/spotify/actions.js"); +/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); +/* harmony import */ var _util_arrays__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../../util/arrays */ "./src/js/util/arrays.js"); +/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); - -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); - -var _reactInputRange = __webpack_require__(/*! react-input-range */ "./node_modules/react-input-range/lib/js/index.js"); - -var _reactInputRange2 = _interopRequireDefault(_reactInputRange); - -var _AlbumGrid = __webpack_require__(/*! ../../components/AlbumGrid */ "./src/js/components/AlbumGrid.js"); - -var _AlbumGrid2 = _interopRequireDefault(_AlbumGrid); - -var _TrackList = __webpack_require__(/*! ../../components/TrackList */ "./src/js/components/TrackList.js"); - -var _TrackList2 = _interopRequireDefault(_TrackList); - -var _Thumbnail = __webpack_require__(/*! ../../components/Thumbnail */ "./src/js/components/Thumbnail.js"); - -var _Thumbnail2 = _interopRequireDefault(_Thumbnail); - -var _Parallax = __webpack_require__(/*! ../../components/Parallax */ "./src/js/components/Parallax.js"); - -var _Parallax2 = _interopRequireDefault(_Parallax); - -var _DropdownField = __webpack_require__(/*! ../../components/Fields/DropdownField */ "./src/js/components/Fields/DropdownField.js"); - -var _DropdownField2 = _interopRequireDefault(_DropdownField); - -var _AddSeedField = __webpack_require__(/*! ../../components/Fields/AddSeedField */ "./src/js/components/Fields/AddSeedField.js"); - -var _AddSeedField2 = _interopRequireDefault(_AddSeedField); - -var _URILink = __webpack_require__(/*! ../../components/URILink */ "./src/js/components/URILink.js"); - -var _URILink2 = _interopRequireDefault(_URILink); - -var _ContextMenuTrigger = __webpack_require__(/*! ../../components/ContextMenuTrigger */ "./src/js/components/ContextMenuTrigger.js"); - -var _ContextMenuTrigger2 = _interopRequireDefault(_ContextMenuTrigger); - -var _RelatedArtists = __webpack_require__(/*! ../../components/RelatedArtists */ "./src/js/components/RelatedArtists.js"); - -var _RelatedArtists2 = _interopRequireDefault(_RelatedArtists); - -var _Icon = __webpack_require__(/*! ../../components/Icon */ "./src/js/components/Icon.js"); - -var _Icon2 = _interopRequireDefault(_Icon); - -var _actions = __webpack_require__(/*! ../../services/ui/actions */ "./src/js/services/ui/actions.js"); - -var uiActions = _interopRequireWildcard(_actions); - -var _actions2 = __webpack_require__(/*! ../../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); - -var mopidyActions = _interopRequireWildcard(_actions2); - -var _actions3 = __webpack_require__(/*! ../../services/spotify/actions */ "./src/js/services/spotify/actions.js"); - -var spotifyActions = _interopRequireWildcard(_actions3); - -var _helpers = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); - -var _arrays = __webpack_require__(/*! ../../util/arrays */ "./src/js/util/arrays.js"); - -var _locale = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js"); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -var Discover = function (_React$Component) { +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _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; } + + + + + + + + + + + + + + + + + + + + + + +var Discover = /*#__PURE__*/function (_React$Component) { _inherits(Discover, _React$Component); + var _super = _createSuper(Discover); + function Discover(props) { + var _this; + _classCallCheck(this, Discover); - var _this = _possibleConstructorReturn(this, (Discover.__proto__ || Object.getPrototypeOf(Discover)).call(this, props)); + _this = _super.call(this, props); - _this.componentDidUpdate = function (_ref) { + _defineProperty(_assertThisInitialized(_this), "componentDidUpdate", function (_ref) { var prevSeeds = _ref.match.params.seeds; var seeds = _this.props.match.params.seeds; - if (prevSeeds !== seeds) _this.handleURLSeeds(); - }; + }); - _this.handleContextMenu = function (e) { + _defineProperty(_assertThisInitialized(_this), "handleContextMenu", function (e) { var _this$props = _this.props, tracks_uris = _this$props.recommendations.tracks_uris, showContextMenu = _this$props.uiActions.showContextMenu, tracksProp = _this$props.tracks; - - - var tracks = (0, _arrays.indexToArray)(tracksProp, tracks_uris); - + var tracks = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_18__["indexToArray"])(tracksProp, tracks_uris); showContextMenu({ e: e, context: 'track', items: tracks, - uris: (0, _arrays.arrayOf)('uri', tracks), + uris: Object(_util_arrays__WEBPACK_IMPORTED_MODULE_18__["arrayOf"])('uri', tracks), tracklist_uri: _this.uri() }); - }; + }); - _this.handleURLSeeds = function () { + _defineProperty(_assertThisInitialized(_this), "handleURLSeeds", function () { var _this$props2 = _this.props, _this$props2$spotifyA = _this$props2.spotifyActions, getArtist = _this$props2$spotifyA.getArtist, getTrack = _this$props2$spotifyA.getTrack, - seedsProp = _this$props2.match.params.seeds; - - // Rejoin if we've had to uri-encode these as strings + seedsProp = _this$props2.match.params.seeds; // Rejoin if we've had to uri-encode these as strings // We'd need to do this if our URL has been encoded so the whole URL can become // it's own URI (eg iris:discover:spotify_artist_1234) where we can't use ":" var seeds = seedsProp.split('_').join(':').split(','); for (var i = 0; i < seeds.length; i++) { - switch ((0, _helpers.uriType)(seeds[i])) { + switch (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_17__["uriType"])(seeds[i])) { case 'artist': getArtist(seeds[i]); break; + case 'track': getTrack(seeds[i]); break; + default: break; } } - _this.setState({ seeds: seeds }, function () { + _this.setState({ + seeds: seeds + }, function () { return _this.getRecommendations(); }); - }; + }); - _this.uri = function () { + _defineProperty(_assertThisInitialized(_this), "uri", function () { var seeds = _this.state.seeds; - - var uri = 'iris:discover'; + if (seeds) { uri += ':'; + for (var i = 0; i < seeds.length; i++) { if (i > 0) { uri += ','; } + uri += seeds[i].split(':').join('_'); } } return uri; - }; + }); - _this.getRecommendations = function () { + _defineProperty(_assertThisInitialized(_this), "getRecommendations", function () { var _this$state = _this.state, seeds = _this$state.seeds, tunabilities = _this$state.tunabilities; var doGetRecommendations = _this.props.spotifyActions.getRecommendations; - if (seeds.length > 0) { var digested_tunabilities = {}; + for (var key in tunabilities) { if (tunabilities.hasOwnProperty(key) && tunabilities[key].enabled) { var tunability = tunabilities[key]; - var max = tunability.value.max; var min = tunability.value.min; - if (tunability.convert_to_decimal) { max /= 100; min /= 100; } - digested_tunabilities[key + '_max'] = max.toString(); - digested_tunabilities[key + '_min'] = min.toString(); + digested_tunabilities["".concat(key, "_max")] = max.toString(); + digested_tunabilities["".concat(key, "_min")] = min.toString(); } } + doGetRecommendations(seeds, 50, digested_tunabilities); } - }; + }); - _this.playTracks = function () { + _defineProperty(_assertThisInitialized(_this), "playTracks", function () { var _this$props3 = _this.props, playURIs = _this$props3.mopidyActions.playURIs, tracks_uris = _this$props3.recommendations.tracks_uris; - - playURIs(tracks_uris, _this.uri()); - }; + }); - _this.removeSeed = function (index) { + _defineProperty(_assertThisInitialized(_this), "removeSeed", function (index) { var seeds = _this.state.seeds; - seeds.splice(index, 1); - _this.setState({ seeds: seeds }); - }; - _this.handleSelect = function (e, uri) { + _this.setState({ + seeds: seeds + }); + }); + + _defineProperty(_assertThisInitialized(_this), "handleSelect", function (e, uri) { var seeds = _this.state.seeds; - seeds.push(uri); - _this.setState({ seeds: seeds }); - }; - _this.renderSeeds = function () { + _this.setState({ + seeds: seeds + }); + }); + + _defineProperty(_assertThisInitialized(_this), "renderSeeds", function () { var _this$props4 = _this.props, tracks = _this$props4.tracks, artists = _this$props4.artists; var seeds = _this.state.seeds; - var seeds_objects = []; if (seeds.length > 0) { for (var i = 0; i < seeds.length; i++) { var uri = seeds[i]; - switch ((0, _helpers.uriType)(uri)) { + switch (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_17__["uriType"])(uri)) { case 'track': if (typeof tracks[uri] !== 'undefined') { seeds_objects.push(tracks[uri]); @@ -119028,7 +120974,9 @@ var Discover = function (_React$Component) { uri: uri }); } + break; + case 'artist': if (typeof artists[uri] !== 'undefined') { seeds_objects.push(artists[uri]); @@ -119038,90 +120986,111 @@ var Discover = function (_React$Component) { uri: uri }); } + break; + case 'genre': - var name = (0, _helpers.getFromUri)('genreid', uri); + var name = Object(_util_helpers__WEBPACK_IMPORTED_MODULE_17__["getFromUri"])('genreid', uri); seeds_objects.push({ name: (name.charAt(0).toUpperCase() + name.slice(1)).replace('-', ' '), uri: uri }); break; + default: break; } } } - return _react2.default.createElement( - 'div', - { className: 'seeds' }, - seeds_objects.map(function (seed, index) { - var type = (0, _helpers.uriType)(seed.uri); - var images = null; - if (seed.images) { - if (type === 'artist') { - if (seed.images.length > 0) { - images = seed.images[0]; - } - } else { - images = seed.images; + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "seeds", + "data-qa-node": "div", + "data-qa-file": "DiscoverRecommendations" + }, seeds_objects.map(function (seed, index) { + var type = Object(_util_helpers__WEBPACK_IMPORTED_MODULE_17__["uriType"])(seed.uri); + var images = null; + + if (seed.images) { + if (type === 'artist') { + if (seed.images.length > 0) { + images = seed.images[0]; } + } else { + images = seed.images; } + } - return _react2.default.createElement( - 'div', - { className: 'seed' + (seed.images ? ' has-thumbnail' : ''), key: seed.uri }, - images && _react2.default.createElement( - _URILink2.default, - { className: 'thumbnail-wrapper', type: type, uri: seed.uri }, - _react2.default.createElement(_Thumbnail2.default, { images: images, circle: seed.type === 'artist', size: 'small' }) - ), - _react2.default.createElement( - 'div', - { className: 'seed__details' }, - _react2.default.createElement( - 'div', - { className: 'seed__label' }, - _react2.default.createElement( - 'span', - { className: 'seed__label__text' }, - (0, _helpers.titleCase)(type) - ), - _react2.default.createElement(_Icon2.default, { name: 'close', className: 'seed__label__remove', onClick: function onClick() { - return _this.removeSeed(index); - } }) - ), - _react2.default.createElement( - 'div', - { className: 'seed__label__name' }, - seed.name - ) - ) - ); - }) - ); - }; + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "seed".concat(seed.images ? ' has-thumbnail' : ''), + key: seed.uri, + "data-qa-node": "div", + "data-qa-file": "DiscoverRecommendations" + }, images && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_URILink__WEBPACK_IMPORTED_MODULE_10__["default"], { + className: "thumbnail-wrapper", + type: type, + uri: seed.uri, + "data-qa-node": "URILink", + "data-qa-file": "DiscoverRecommendations" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Thumbnail__WEBPACK_IMPORTED_MODULE_6__["default"], { + images: images, + circle: seed.type === 'artist', + size: "small", + "data-qa-node": "Thumbnail", + "data-qa-file": "DiscoverRecommendations" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "seed__details", + "data-qa-node": "div", + "data-qa-file": "DiscoverRecommendations" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "seed__label", + "data-qa-node": "div", + "data-qa-file": "DiscoverRecommendations" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "seed__label__text", + "data-qa-node": "span", + "data-qa-file": "DiscoverRecommendations" + }, Object(_util_helpers__WEBPACK_IMPORTED_MODULE_17__["titleCase"])(type)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_13__["default"], { + name: "close", + className: "seed__label__remove", + onClick: function onClick() { + return _this.removeSeed(index); + }, + "data-qa-node": "Icon", + "data-qa-file": "DiscoverRecommendations" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "seed__label__name", + "data-qa-node": "div", + "data-qa-file": "DiscoverRecommendations" + }, seed.name))); + })); + }); - _this.setTunability = function (name, value) { + _defineProperty(_assertThisInitialized(_this), "setTunability", function (name, value) { var tunabilities = _this.state.tunabilities; - tunabilities[name].value = value; - _this.setState({ tunabilities: tunabilities }); - }; - _this.toggleTunability = function (name) { + _this.setState({ + tunabilities: tunabilities + }); + }); + + _defineProperty(_assertThisInitialized(_this), "toggleTunability", function (name) { var tunabilities = _this.state.tunabilities; - tunabilities[name].enabled = !tunabilities[name].enabled; - _this.setState({ tunabilities: tunabilities }); - }; - _this.renderTunabilities = function () { + _this.setState({ + tunabilities: tunabilities + }); + }); + + _defineProperty(_assertThisInitialized(_this), "renderTunabilities", function () { var addable_tunabilities = []; var enabled_tunabilities = []; + for (var key in _this.state.tunabilities) { if (_this.state.tunabilities.hasOwnProperty(key)) { - var tunability = _extends({}, _this.state.tunabilities[key], { + var tunability = _objectSpread(_objectSpread({}, _this.state.tunabilities[key]), {}, { name: key }); @@ -119129,54 +121098,60 @@ var Discover = function (_React$Component) { enabled_tunabilities.push(tunability); } else { addable_tunabilities.push({ - label: (0, _helpers.titleCase)(tunability.name), + label: Object(_util_helpers__WEBPACK_IMPORTED_MODULE_17__["titleCase"])(tunability.name), value: tunability.name }); } } } - return _react2.default.createElement( - 'div', - { className: 'tunabilities' }, - enabled_tunabilities.map(function (tunability) { - return _react2.default.createElement( - 'div', - { className: 'field tunability range', key: tunability.name }, - _react2.default.createElement( - 'div', - { className: 'tunability__label' }, - (0, _helpers.titleCase)(tunability.name), - _react2.default.createElement( - 'span', - { className: 'remove', onClick: function onClick() { - return _this.toggleTunability(tunability.name); - } }, - _react2.default.createElement(_Icon2.default, { name: 'close' }) - ) - ), - _react2.default.createElement( - 'div', - { className: 'tunability__input' }, - _react2.default.createElement(_reactInputRange2.default, { - disabled: !tunability.enabled, - minValue: tunability.min, - maxValue: tunability.max, - value: tunability.value, - onChange: function onChange(value) { - return _this.setTunability(tunability.name, value); - } - }) - ) - ); - }) - ); - }; + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "tunabilities", + "data-qa-node": "div", + "data-qa-file": "DiscoverRecommendations" + }, enabled_tunabilities.map(function (tunability) { + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field tunability range", + key: tunability.name, + "data-qa-node": "div", + "data-qa-file": "DiscoverRecommendations" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "tunability__label", + "data-qa-node": "div", + "data-qa-file": "DiscoverRecommendations" + }, Object(_util_helpers__WEBPACK_IMPORTED_MODULE_17__["titleCase"])(tunability.name), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "remove", + onClick: function onClick() { + return _this.toggleTunability(tunability.name); + }, + "data-qa-node": "span", + "data-qa-file": "DiscoverRecommendations" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_13__["default"], { + name: "close", + "data-qa-node": "Icon", + "data-qa-file": "DiscoverRecommendations" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "tunability__input", + "data-qa-node": "div", + "data-qa-file": "DiscoverRecommendations" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_input_range__WEBPACK_IMPORTED_MODULE_3___default.a, { + disabled: !tunability.enabled, + minValue: tunability.min, + maxValue: tunability.max, + value: tunability.value, + onChange: function onChange(value) { + return _this.setTunability(tunability.name, value); + }, + "data-qa-node": "InputRange", + "data-qa-file": "DiscoverRecommendations" + }))); + })); + }); - _this.renderResults = function () { + _defineProperty(_assertThisInitialized(_this), "renderResults", function () { var _this$props5 = _this.props, _this$props5$recommen = _this$props5.recommendations; - _this$props5$recommen = _this$props5$recommen === undefined ? {} : _this$props5$recommen; + _this$props5$recommen = _this$props5$recommen === void 0 ? {} : _this$props5$recommen; var tracks_uris = _this$props5$recommen.tracks_uris, albums_uris = _this$props5$recommen.albums_uris, artists_uris = _this$props5$recommen.artists_uris, @@ -119184,15 +121159,20 @@ var Discover = function (_React$Component) { artistsProp = _this$props5.artists, albumsProp = _this$props5.albums; - if (!albums_uris === undefined || artists_uris === undefined) { - return _react2.default.createElement('div', { className: 'content-wrapper recommendations-results' }); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "content-wrapper recommendations-results", + "data-qa-node": "div", + "data-qa-file": "DiscoverRecommendations" + }); } var tracks = []; + if (tracks_uris && tracksProp) { for (var i = 0; i < tracks_uris.length; i++) { var uri = tracks_uris[i]; + if (tracksProp.hasOwnProperty(uri)) { tracks.push(tracksProp[uri]); } @@ -119200,9 +121180,11 @@ var Discover = function (_React$Component) { } var artists = []; + if (artists_uris && artistsProp) { for (var i = 0; i < artists_uris.length; i++) { var uri = artists_uris[i]; + if (artistsProp.hasOwnProperty(uri)) { artists.push(artistsProp[uri]); } @@ -119210,167 +121192,216 @@ var Discover = function (_React$Component) { } var albums = []; + if (albums_uris && albumsProp) { for (var i = 0; i < albums_uris.length; i++) { var uri = albums_uris[i]; + if (albumsProp.hasOwnProperty(uri)) { albums.push(albumsProp[uri]); } } - } + } // Complete records not yet in our index + - // Complete records not yet in our index if (tracks.length <= 0 && artists.length <= 0 && albums.length <= 0) { return null; } - return _react2.default.createElement( - 'div', - { className: 'content-wrapper recommendations-results' }, - _react2.default.createElement( - 'section', - { className: 'col col--w70 tracks' }, - _react2.default.createElement( - 'h4', - null, - _react2.default.createElement(_locale.I18n, { path: 'discover.recommendations.tracks' }), - _react2.default.createElement( - 'div', - { className: 'pull-right' }, - _react2.default.createElement(_ContextMenuTrigger2.default, { onTrigger: _this.handleContextMenu }), - _react2.default.createElement( - 'button', - { className: 'button button--primary', onClick: _this.playTracks, type: 'button' }, - _react2.default.createElement(_locale.I18n, { path: 'actions.play_all' }) - ) - ) - ), - _react2.default.createElement(_TrackList2.default, { className: 'discover-track-list', uri: _this.uri(), tracks: tracks }) - ), - _react2.default.createElement('div', { className: 'col col--w5' }), - _react2.default.createElement( - 'div', - { className: 'col col--w25 others' }, - _react2.default.createElement( - 'section', - null, - _react2.default.createElement( - 'h4', - null, - _react2.default.createElement(_locale.I18n, { path: 'discover.recommendations.artists' }) - ), - _react2.default.createElement(_RelatedArtists2.default, { artists: artists, uiActions: uiActions }) - ), - _react2.default.createElement('br', null), - _react2.default.createElement('br', null), - _react2.default.createElement( - 'section', - null, - _react2.default.createElement( - 'h4', - null, - _react2.default.createElement(_locale.I18n, { path: 'discover.recommendations.albums' }) - ), - _react2.default.createElement(_AlbumGrid2.default, { className: 'grid--mini', albums: albums }) - ) - ) - ); - }; + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "content-wrapper recommendations-results", + "data-qa-node": "div", + "data-qa-file": "DiscoverRecommendations" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("section", { + className: "col col--w70 tracks", + "data-qa-node": "section", + "data-qa-file": "DiscoverRecommendations" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h4", { + "data-qa-node": "h4", + "data-qa-file": "DiscoverRecommendations" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_19__["I18n"], { + path: "discover.recommendations.tracks", + "data-qa-node": "I18n", + "data-qa-file": "DiscoverRecommendations" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "pull-right", + "data-qa-node": "div", + "data-qa-file": "DiscoverRecommendations" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_ContextMenuTrigger__WEBPACK_IMPORTED_MODULE_11__["default"], { + onTrigger: _this.handleContextMenu, + "data-qa-node": "ContextMenuTrigger", + "data-qa-file": "DiscoverRecommendations" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", { + className: "button button--primary", + onClick: _this.playTracks, + type: "button", + "data-qa-node": "button", + "data-qa-file": "DiscoverRecommendations" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_19__["I18n"], { + path: "actions.play_all", + "data-qa-node": "I18n", + "data-qa-file": "DiscoverRecommendations" + })))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_TrackList__WEBPACK_IMPORTED_MODULE_5__["default"], { + className: "discover-track-list", + uri: _this.uri(), + tracks: tracks, + "data-qa-node": "TrackList", + "data-qa-file": "DiscoverRecommendations" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "col col--w5", + "data-qa-node": "div", + "data-qa-file": "DiscoverRecommendations" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "col col--w25 others", + "data-qa-node": "div", + "data-qa-file": "DiscoverRecommendations" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("section", { + "data-qa-node": "section", + "data-qa-file": "DiscoverRecommendations" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h4", { + "data-qa-node": "h4", + "data-qa-file": "DiscoverRecommendations" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_19__["I18n"], { + path: "discover.recommendations.artists", + "data-qa-node": "I18n", + "data-qa-file": "DiscoverRecommendations" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_RelatedArtists__WEBPACK_IMPORTED_MODULE_12__["default"], { + artists: artists, + uiActions: _services_ui_actions__WEBPACK_IMPORTED_MODULE_14__, + "data-qa-node": "RelatedArtists", + "data-qa-file": "DiscoverRecommendations" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("br", { + "data-qa-node": "br", + "data-qa-file": "DiscoverRecommendations" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("br", { + "data-qa-node": "br", + "data-qa-file": "DiscoverRecommendations" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("section", { + "data-qa-node": "section", + "data-qa-file": "DiscoverRecommendations" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h4", { + "data-qa-node": "h4", + "data-qa-file": "DiscoverRecommendations" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_19__["I18n"], { + path: "discover.recommendations.albums", + "data-qa-node": "I18n", + "data-qa-file": "DiscoverRecommendations" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_AlbumGrid__WEBPACK_IMPORTED_MODULE_4__["default"], { + className: "grid--mini", + albums: albums, + "data-qa-node": "AlbumGrid", + "data-qa-file": "DiscoverRecommendations" + })))); + }); - _this.render = function () { + _defineProperty(_assertThisInitialized(_this), "render", function () { var _this$props6 = _this.props, load_queue = _this$props6.load_queue, theme = _this$props6.theme; var _this$state2 = _this.state, tunabilities = _this$state2.tunabilities, seeds = _this$state2.seeds; - - - var is_loading = (0, _helpers.isLoading)(load_queue, ['spotify_recommendations']); + var is_loading = Object(_util_helpers__WEBPACK_IMPORTED_MODULE_17__["isLoading"])(load_queue, ['spotify_recommendations']); var addable_tunabilities = []; + for (var key in _this.state.tunabilities) { if (tunabilities.hasOwnProperty(key)) { - var tunability = _extends({}, tunabilities[key], { + var tunability = _objectSpread(_objectSpread({}, tunabilities[key]), {}, { name: key }); if (!tunability.enabled) { addable_tunabilities.push({ - label: (0, _helpers.titleCase)(tunability.name), + label: Object(_util_helpers__WEBPACK_IMPORTED_MODULE_17__["titleCase"])(tunability.name), value: tunability.name }); } } } - return _react2.default.createElement( - 'div', - { className: 'view discover-view preserve-3d' }, - _react2.default.createElement( - 'div', - { className: 'intro preserve-3d' }, - theme === 'dark' && _react2.default.createElement(_Parallax2.default, { image: '/iris/assets/backgrounds/discover.jpg' }), - _react2.default.createElement( - 'div', - { className: 'intro__liner' }, - _react2.default.createElement( - 'h1', - null, - _react2.default.createElement(_locale.I18n, { path: 'discover.recommendations.body_title' }) - ), - _react2.default.createElement( - 'h2', - null, - _react2.default.createElement(_locale.I18n, { path: 'discover.recommendations.body_subtitle' }) - ), - _react2.default.createElement( - 'div', - { className: 'intro__parameters' }, - _this.renderSeeds(), - _this.renderTunabilities(), - seeds.length > 5 && _react2.default.createElement( - 'p', - { className: 'message error' }, - _react2.default.createElement(_locale.I18n, { path: 'discover.recommendations.too_many_seeds' }) - ) - ), - _react2.default.createElement( - 'div', - { className: 'intro__actions' }, - _react2.default.createElement(_AddSeedField2.default, { onSelect: function onSelect(e, uri) { - return _this.handleSelect(e, uri); - } }), - _react2.default.createElement(_DropdownField2.default, { - className: 'add-properties', - name: 'Properties', - options: addable_tunabilities, - no_status_icon: true, - button: 'default', - handleChange: _this.toggleTunability - }), - _react2.default.createElement('div', { className: 'intro__actions__separator' }), - _react2.default.createElement( - 'span', - { - className: 'submit button button--primary button--large' + (is_loading ? ' button--working' : ''), - onClick: _this.getRecommendations - }, - _react2.default.createElement(_Icon2.default, { name: 'explore' }), - _react2.default.createElement( - _locale.I18n, - { path: 'discover.recommendations.find_recommendations', afterContent: true }, - ' ' - ) - ) - ) - ) - ), - _this.renderResults() - ); - }; + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "view discover-view preserve-3d", + "data-qa-node": "div", + "data-qa-file": "DiscoverRecommendations" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "intro preserve-3d", + "data-qa-node": "div", + "data-qa-file": "DiscoverRecommendations" + }, theme === 'dark' && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Parallax__WEBPACK_IMPORTED_MODULE_7__["default"], { + image: "/iris/assets/backgrounds/discover.jpg", + "data-qa-node": "Parallax", + "data-qa-file": "DiscoverRecommendations" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "intro__liner", + "data-qa-node": "div", + "data-qa-file": "DiscoverRecommendations" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h1", { + "data-qa-node": "h1", + "data-qa-file": "DiscoverRecommendations" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_19__["I18n"], { + path: "discover.recommendations.body_title", + "data-qa-node": "I18n", + "data-qa-file": "DiscoverRecommendations" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h2", { + "data-qa-node": "h2", + "data-qa-file": "DiscoverRecommendations" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_19__["I18n"], { + path: "discover.recommendations.body_subtitle", + "data-qa-node": "I18n", + "data-qa-file": "DiscoverRecommendations" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "intro__parameters", + "data-qa-node": "div", + "data-qa-file": "DiscoverRecommendations" + }, _this.renderSeeds(), _this.renderTunabilities(), seeds.length > 5 && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p", { + className: "message error", + "data-qa-node": "p", + "data-qa-file": "DiscoverRecommendations" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_19__["I18n"], { + path: "discover.recommendations.too_many_seeds", + "data-qa-node": "I18n", + "data-qa-file": "DiscoverRecommendations" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "intro__actions", + "data-qa-node": "div", + "data-qa-file": "DiscoverRecommendations" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Fields_AddSeedField__WEBPACK_IMPORTED_MODULE_9__["default"], { + onSelect: function onSelect(e, uri) { + return _this.handleSelect(e, uri); + }, + "data-qa-node": "AddSeedField", + "data-qa-file": "DiscoverRecommendations" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Fields_DropdownField__WEBPACK_IMPORTED_MODULE_8__["default"], { + className: "add-properties", + name: "Properties", + options: addable_tunabilities, + no_status_icon: true, + button: "default", + handleChange: _this.toggleTunability, + "data-qa-node": "DropdownField", + "data-qa-file": "DiscoverRecommendations" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "intro__actions__separator", + "data-qa-node": "div", + "data-qa-file": "DiscoverRecommendations" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "submit button button--primary button--large".concat(is_loading ? ' button--working' : ''), + onClick: _this.getRecommendations, + "data-qa-node": "span", + "data-qa-file": "DiscoverRecommendations" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_13__["default"], { + name: "explore", + "data-qa-node": "Icon", + "data-qa-file": "DiscoverRecommendations" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_19__["I18n"], { + path: "discover.recommendations.find_recommendations", + afterContent: true, + "data-qa-node": "I18n", + "data-qa-file": "DiscoverRecommendations" + }, ' '))))), _this.renderResults()); + }); _this._autocomplete_timer = false; - _this.state = { add_seed: '', adding_seed: false, @@ -119492,14 +121523,12 @@ var Discover = function (_React$Component) { } _createClass(Discover, [{ - key: 'componentDidMount', + key: "componentDidMount", value: function componentDidMount() { - var _props = this.props, - setWindowTitle = _props.uiActions.setWindowTitle, - seeds = _props.match.params.seeds; - - - setWindowTitle((0, _locale.i18n)('discover.recommendations.title')); + var _this$props7 = this.props, + setWindowTitle = _this$props7.uiActions.setWindowTitle, + seeds = _this$props7.match.params.seeds; + setWindowTitle(Object(_locale__WEBPACK_IMPORTED_MODULE_19__["i18n"])('discover.recommendations.title')); if (seeds) { this.handleURLSeeds(); @@ -119508,7 +121537,7 @@ var Discover = function (_React$Component) { }]); return Discover; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); var mapStateToProps = function mapStateToProps(state) { return { @@ -119519,20 +121548,23 @@ var mapStateToProps = function mapStateToProps(state) { genres: state.core.genres ? state.core.genres : [], authorized: state.spotify.authorization, load_queue: state.ui.load_queue, - quick_search_results: state.spotify.quick_search_results ? state.spotify.quick_search_results : { artists: [], tracks: [] }, + quick_search_results: state.spotify.quick_search_results ? state.spotify.quick_search_results : { + artists: [], + tracks: [] + }, recommendations: state.spotify.recommendations ? state.spotify.recommendations : {} }; }; var mapDispatchToProps = function mapDispatchToProps(dispatch) { return { - uiActions: (0, _redux.bindActionCreators)(uiActions, dispatch), - mopidyActions: (0, _redux.bindActionCreators)(mopidyActions, dispatch), - spotifyActions: (0, _redux.bindActionCreators)(spotifyActions, dispatch) + uiActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_ui_actions__WEBPACK_IMPORTED_MODULE_14__, dispatch), + mopidyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_mopidy_actions__WEBPACK_IMPORTED_MODULE_15__, dispatch), + spotifyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_spotify_actions__WEBPACK_IMPORTED_MODULE_16__, dispatch) }; }; -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(Discover); +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapStateToProps, mapDispatchToProps)(Discover)); /***/ }), @@ -119540,103 +121572,98 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)( /*!***********************************************!*\ !*** ./src/js/views/library/LibraryAlbums.js ***! \***********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var _components_AlbumGrid__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../components/AlbumGrid */ "./src/js/components/AlbumGrid.js"); +/* harmony import */ var _components_List__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../components/List */ "./src/js/components/List.js"); +/* harmony import */ var _components_Header__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../components/Header */ "./src/js/components/Header.js"); +/* harmony import */ var _components_Fields_DropdownField__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../components/Fields/DropdownField */ "./src/js/components/Fields/DropdownField.js"); +/* harmony import */ var _components_Fields_FilterField__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../components/Fields/FilterField */ "./src/js/components/Fields/FilterField.js"); +/* harmony import */ var _components_LazyLoadListener__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../components/LazyLoadListener */ "./src/js/components/LazyLoadListener.js"); +/* harmony import */ var _components_Icon__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../components/Icon */ "./src/js/components/Icon.js"); +/* harmony import */ var _services_core_actions__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../services/core/actions */ "./src/js/services/core/actions.js"); +/* harmony import */ var _services_ui_actions__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../services/ui/actions */ "./src/js/services/ui/actions.js"); +/* harmony import */ var _services_mopidy_actions__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); +/* harmony import */ var _services_google_actions__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../services/google/actions */ "./src/js/services/google/actions.js"); +/* harmony import */ var _services_spotify_actions__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../services/spotify/actions */ "./src/js/services/spotify/actions.js"); +/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); +/* harmony import */ var _util_arrays__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../util/arrays */ "./src/js/util/arrays.js"); +/* harmony import */ var _util_format__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../../util/format */ "./src/js/util/format.js"); +/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } +function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } -Object.defineProperty(exports, "__esModule", { - value: true -}); +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); - -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); - -var _AlbumGrid = __webpack_require__(/*! ../../components/AlbumGrid */ "./src/js/components/AlbumGrid.js"); - -var _AlbumGrid2 = _interopRequireDefault(_AlbumGrid); - -var _List = __webpack_require__(/*! ../../components/List */ "./src/js/components/List.js"); - -var _List2 = _interopRequireDefault(_List); - -var _Header = __webpack_require__(/*! ../../components/Header */ "./src/js/components/Header.js"); - -var _Header2 = _interopRequireDefault(_Header); - -var _DropdownField = __webpack_require__(/*! ../../components/Fields/DropdownField */ "./src/js/components/Fields/DropdownField.js"); - -var _DropdownField2 = _interopRequireDefault(_DropdownField); - -var _FilterField = __webpack_require__(/*! ../../components/Fields/FilterField */ "./src/js/components/Fields/FilterField.js"); - -var _FilterField2 = _interopRequireDefault(_FilterField); - -var _LazyLoadListener = __webpack_require__(/*! ../../components/LazyLoadListener */ "./src/js/components/LazyLoadListener.js"); - -var _LazyLoadListener2 = _interopRequireDefault(_LazyLoadListener); - -var _Icon = __webpack_require__(/*! ../../components/Icon */ "./src/js/components/Icon.js"); - -var _Icon2 = _interopRequireDefault(_Icon); - -var _actions = __webpack_require__(/*! ../../services/core/actions */ "./src/js/services/core/actions.js"); - -var coreActions = _interopRequireWildcard(_actions); - -var _actions2 = __webpack_require__(/*! ../../services/ui/actions */ "./src/js/services/ui/actions.js"); - -var uiActions = _interopRequireWildcard(_actions2); - -var _actions3 = __webpack_require__(/*! ../../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); - -var mopidyActions = _interopRequireWildcard(_actions3); - -var _actions4 = __webpack_require__(/*! ../../services/google/actions */ "./src/js/services/google/actions.js"); - -var googleActions = _interopRequireWildcard(_actions4); - -var _actions5 = __webpack_require__(/*! ../../services/spotify/actions */ "./src/js/services/spotify/actions.js"); - -var spotifyActions = _interopRequireWildcard(_actions5); - -var _helpers = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); - -var _arrays = __webpack_require__(/*! ../../util/arrays */ "./src/js/util/arrays.js"); - -var _format = __webpack_require__(/*! ../../util/format */ "./src/js/util/format.js"); - -var _locale = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js"); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -var LibraryAlbums = function (_React$Component) { +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _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; } + + + + + + + + + + + + + + + + + + + + + +var LibraryAlbums = /*#__PURE__*/function (_React$Component) { _inherits(LibraryAlbums, _React$Component); + var _super = _createSuper(LibraryAlbums); + function LibraryAlbums(props) { + var _this; + _classCallCheck(this, LibraryAlbums); - var _this = _possibleConstructorReturn(this, (LibraryAlbums.__proto__ || Object.getPrototypeOf(LibraryAlbums)).call(this, props)); + _this = _super.call(this, props); - _this.componentDidUpdate = function (_ref) { + _defineProperty(_assertThisInitialized(_this), "componentDidUpdate", function (_ref) { var prev_mopidy_connected = _ref.mopidy_connected; var _this$props = _this.props, mopidy_connected = _this$props.mopidy_connected, @@ -119650,11 +121677,9 @@ var LibraryAlbums = function (_React$Component) { google_library_albums_status = _this$props.google_library_albums_status, spotify_library_albums_status = _this$props.spotify_library_albums_status; - if (mopidy_connected && (source === 'all' || source === 'local')) { - if (!prev_mopidy_connected) mopidyActions.getLibraryAlbums(); + if (!prev_mopidy_connected) mopidyActions.getLibraryAlbums(); // Filter changed, but we haven't got this provider's library yet - // Filter changed, but we haven't got this provider's library yet if (source !== 'all' && source !== 'local' && mopidy_library_albums_status !== 'finished' && mopidy_library_albums_status !== 'started') { mopidyActions.getLibraryAlbums(); } @@ -119673,83 +121698,82 @@ var LibraryAlbums = function (_React$Component) { spotifyActions.getLibraryAlbums(); } } - }; + }); - _this.handleContextMenu = function (e, item) { + _defineProperty(_assertThisInitialized(_this), "handleContextMenu", function (e, item) { var showContextMenu = _this.props.uiActions.showContextMenu; - - showContextMenu({ e: e, context: 'album', uris: [item.uri], items: [item] }); - }; + }); - _this.moreURIsToLoad = function () { + _defineProperty(_assertThisInitialized(_this), "moreURIsToLoad", function () { var _this$props2 = _this.props, albums = _this$props2.albums, library_albums = _this$props2.library_albums; - - var uris = []; + if (albums && library_albums) { for (var i = 0; i < library_albums.length; i++) { var uri = library_albums[i]; - if (!albums.hasOwnProperty(uri) && (0, _helpers.uriSource)(uri) == 'local') { - uris.push(uri); - } - // limit each lookup to 50 URIs + if (!albums.hasOwnProperty(uri) && Object(_util_helpers__WEBPACK_IMPORTED_MODULE_15__["uriSource"])(uri) == 'local') { + uris.push(uri); + } // limit each lookup to 50 URIs + + if (uris.length >= 50) break; } } return uris; - }; + }); - _this.loadMore = function () { + _defineProperty(_assertThisInitialized(_this), "loadMore", function () { var _this$state = _this.state, limit = _this$state.limit, per_page = _this$state.per_page; var _this$props3 = _this.props, state = _this$props3.location.state, history = _this$props3.history; - - var new_limit = limit + per_page; - _this.setState({ limit: new_limit }); - history.replace({ state: _extends({}, state, { limit: new_limit }) }); - }; - _this.setSort = function (value) { + _this.setState({ + limit: new_limit + }); + + history.replace({ + state: _objectSpread(_objectSpread({}, state), {}, { + limit: new_limit + }) + }); + }); + + _defineProperty(_assertThisInitialized(_this), "setSort", function (value) { var _this$props4 = _this.props, sort = _this$props4.sort, sort_reverse = _this$props4.sort_reverse, set = _this$props4.uiActions.set; - - var reverse = false; if (sort === value) reverse = !sort_reverse; - set({ library_albums_sort_reverse: reverse, library_albums_sort: value }); - }; + }); - _this.renderView = function () { - var albums = []; + _defineProperty(_assertThisInitialized(_this), "renderView", function () { + var albums = []; // Spotify library items - // Spotify library items if (_this.props.spotify_library_albums && (_this.props.source == 'all' || _this.props.source == 'spotify')) { - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; + var _iterator = _createForOfIteratorHelper(_this.props.spotify_library_albums), + _step; try { - for (var _iterator = _this.props.spotify_library_albums[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + for (_iterator.s(); !(_step = _iterator.n()).done;) { var uri = _step.value; if (_this.props.albums.hasOwnProperty(uri)) { @@ -119757,34 +121781,23 @@ var LibraryAlbums = function (_React$Component) { } } } catch (err) { - _didIteratorError = true; - _iteratorError = err; + _iterator.e(err); } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } + _iterator.f(); } - } + } // Mopidy library items + - // Mopidy library items if (_this.props.mopidy_library_albums && (_this.props.source == 'all' || _this.props.source == 'local')) { - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; + var _iterator2 = _createForOfIteratorHelper(_this.props.mopidy_library_albums), + _step2; try { - for (var _iterator2 = _this.props.mopidy_library_albums[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { var uri = _step2.value; - // Construct item placeholder. This is used as Mopidy needs to // lookup ref objects to get the full object which can take some time - var source = (0, _helpers.uriSource)(uri); + var source = Object(_util_helpers__WEBPACK_IMPORTED_MODULE_15__["uriSource"])(uri); var album = { uri: uri, source: source @@ -119795,34 +121808,23 @@ var LibraryAlbums = function (_React$Component) { } } } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; + _iterator2.e(err); } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2.return) { - _iterator2.return(); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } + _iterator2.f(); } - } + } // Google library items + - // Google library items if (_this.props.google_library_albums && (_this.props.source == 'all' || _this.props.source == 'google')) { - var _iteratorNormalCompletion3 = true; - var _didIteratorError3 = false; - var _iteratorError3 = undefined; + var _iterator3 = _createForOfIteratorHelper(_this.props.google_library_albums), + _step3; try { - for (var _iterator3 = _this.props.google_library_albums[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { var uri = _step3.value; - // Construct item placeholder. This is used as Mopidy needs to // lookup ref objects to get the full object which can take some time - var source = (0, _helpers.uriSource)(uri); + var source = Object(_util_helpers__WEBPACK_IMPORTED_MODULE_15__["uriSource"])(uri); var album = { uri: uri, source: source @@ -119835,78 +121837,78 @@ var LibraryAlbums = function (_React$Component) { albums.push(album); } } catch (err) { - _didIteratorError3 = true; - _iteratorError3 = err; + _iterator3.e(err); } finally { - try { - if (!_iteratorNormalCompletion3 && _iterator3.return) { - _iterator3.return(); - } - } finally { - if (_didIteratorError3) { - throw _iteratorError3; - } - } + _iterator3.f(); } - } + } // Collate each album into it's full object (including nested artists) + - // Collate each album into it's full object (including nested artists) for (var i = 0; i < albums.length; i++) { - albums[i] = (0, _format.collate)(albums[i], { artists: _this.props.artists }); + albums[i] = Object(_util_format__WEBPACK_IMPORTED_MODULE_17__["collate"])(albums[i], { + artists: _this.props.artists + }); } if (_this.props.sort) { - albums = (0, _arrays.sortItems)(albums, _this.props.sort, _this.props.sort_reverse); + albums = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_16__["sortItems"])(albums, _this.props.sort, _this.props.sort_reverse); } if (_this.state.filter && _this.state.filter !== '') { - albums = (0, _arrays.applyFilter)('name', _this.state.filter, albums); - } + albums = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_16__["applyFilter"])('name', _this.state.filter, albums); + } // Apply our lazy-load-rendering + - // Apply our lazy-load-rendering var total_albums = albums.length; albums = albums.slice(0, _this.state.limit); if (_this.props.view == 'list') { - return _react2.default.createElement( - 'section', - { className: 'content-wrapper' }, - _react2.default.createElement(_List2.default, { - handleContextMenu: function handleContextMenu(e, item) { - return _this.handleContextMenu(e, item); - }, - rows: albums, - thumbnail: true, - details: ['artists', 'tracks_uris.length', 'last_modified'], - right_column: ['added_at'], - className: 'albums', - link_prefix: '/album/' - }), - _react2.default.createElement(_LazyLoadListener2.default, { - loadKey: total_albums > _this.state.limit ? _this.state.limit : total_albums, - showLoader: _this.state.limit < total_albums, - loadMore: _this.loadMore - }) - ); - } - return _react2.default.createElement( - 'section', - { className: 'content-wrapper' }, - _react2.default.createElement(_AlbumGrid2.default, { + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("section", { + className: "content-wrapper", + "data-qa-node": "section", + "data-qa-file": "LibraryAlbums" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_List__WEBPACK_IMPORTED_MODULE_4__["default"], { handleContextMenu: function handleContextMenu(e, item) { return _this.handleContextMenu(e, item); }, - albums: albums - }), - _react2.default.createElement(_LazyLoadListener2.default, { + rows: albums, + thumbnail: true, + details: ['artists', 'tracks_uris.length', 'last_modified'], + right_column: ['added_at'], + className: "albums", + link_prefix: "/album/", + "data-qa-node": "List", + "data-qa-file": "LibraryAlbums" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_LazyLoadListener__WEBPACK_IMPORTED_MODULE_8__["default"], { loadKey: total_albums > _this.state.limit ? _this.state.limit : total_albums, showLoader: _this.state.limit < total_albums, - loadMore: function loadMore() { - return _this.loadMore(); - } - }) - ); - }; + loadMore: _this.loadMore, + "data-qa-node": "LazyLoadListener", + "data-qa-file": "LibraryAlbums" + })); + } + + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("section", { + className: "content-wrapper", + "data-qa-node": "section", + "data-qa-file": "LibraryAlbums" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_AlbumGrid__WEBPACK_IMPORTED_MODULE_3__["default"], { + handleContextMenu: function handleContextMenu(e, item) { + return _this.handleContextMenu(e, item); + }, + albums: albums, + "data-qa-node": "AlbumGrid", + "data-qa-file": "LibraryAlbums" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_LazyLoadListener__WEBPACK_IMPORTED_MODULE_8__["default"], { + loadKey: total_albums > _this.state.limit ? _this.state.limit : total_albums, + showLoader: _this.state.limit < total_albums, + loadMore: function loadMore() { + return _this.loadMore(); + }, + "data-qa-node": "LazyLoadListener", + "data-qa-file": "LibraryAlbums" + })); + }); _this.state = { filter: '', @@ -119917,24 +121919,22 @@ var LibraryAlbums = function (_React$Component) { } _createClass(LibraryAlbums, [{ - key: 'componentDidMount', + key: "componentDidMount", value: function componentDidMount() { - var _props = this.props, - _props$location$state = _props.location.state, - state = _props$location$state === undefined ? {} : _props$location$state, - setWindowTitle = _props.uiActions.setWindowTitle, - mopidy_connected = _props.mopidy_connected, - mopidy_library_albums_status = _props.mopidy_library_albums_status, - source = _props.source, - mopidyActions = _props.mopidyActions, - spotifyActions = _props.spotifyActions, - googleActions = _props.googleActions, - google_available = _props.google_available, - google_library_albums_status = _props.google_library_albums_status, - spotify_available = _props.spotify_available, - spotify_library_albums_status = _props.spotify_library_albums_status; - - // Restore any limit defined in our location state + var _this$props5 = this.props, + _this$props5$location = _this$props5.location.state, + state = _this$props5$location === void 0 ? {} : _this$props5$location, + setWindowTitle = _this$props5.uiActions.setWindowTitle, + mopidy_connected = _this$props5.mopidy_connected, + mopidy_library_albums_status = _this$props5.mopidy_library_albums_status, + source = _this$props5.source, + mopidyActions = _this$props5.mopidyActions, + spotifyActions = _this$props5.spotifyActions, + googleActions = _this$props5.googleActions, + google_available = _this$props5.google_available, + google_library_albums_status = _this$props5.google_library_albums_status, + spotify_available = _this$props5.spotify_available, + spotify_library_albums_status = _this$props5.spotify_library_albums_status; // Restore any limit defined in our location state if (state.limit) { this.setState({ @@ -119942,7 +121942,7 @@ var LibraryAlbums = function (_React$Component) { }); } - setWindowTitle((0, _locale.i18n)('library.albums.title')); + setWindowTitle(Object(_locale__WEBPACK_IMPORTED_MODULE_18__["i18n"])('library.albums.title')); if (mopidy_connected && mopidy_library_albums_status !== 'finished' && mopidy_library_albums_status !== 'started' && (source === 'all' || source === 'local')) { mopidyActions.getLibraryAlbums(); @@ -119957,121 +121957,144 @@ var LibraryAlbums = function (_React$Component) { } } }, { - key: 'render', + key: "render", value: function render() { var _this2 = this; var source_options = [{ value: 'all', - label: (0, _locale.i18n)('fields.filters.all') + label: Object(_locale__WEBPACK_IMPORTED_MODULE_18__["i18n"])('fields.filters.all') }, { value: 'local', - label: (0, _locale.i18n)('services.mopidy.local') + label: Object(_locale__WEBPACK_IMPORTED_MODULE_18__["i18n"])('services.mopidy.local') }]; if (this.props.spotify_available) { source_options.push({ value: 'spotify', - label: (0, _locale.i18n)('services.spotify.title') + label: Object(_locale__WEBPACK_IMPORTED_MODULE_18__["i18n"])('services.spotify.title') }); } if (this.props.google_available) { source_options.push({ value: 'google', - label: (0, _locale.i18n)('services.google.title') + label: Object(_locale__WEBPACK_IMPORTED_MODULE_18__["i18n"])('services.google.title') }); } var view_options = [{ value: 'thumbnails', - label: (0, _locale.i18n)('fields.filters.thumbnails') + label: Object(_locale__WEBPACK_IMPORTED_MODULE_18__["i18n"])('fields.filters.thumbnails') }, { value: 'list', - label: (0, _locale.i18n)('fields.filters.list') + label: Object(_locale__WEBPACK_IMPORTED_MODULE_18__["i18n"])('fields.filters.list') }]; - var sort_options = [{ value: null, - label: (0, _locale.i18n)('fields.filters.as_loaded') + label: Object(_locale__WEBPACK_IMPORTED_MODULE_18__["i18n"])('fields.filters.as_loaded') }, { value: 'name', - label: (0, _locale.i18n)('fields.filters.name') + label: Object(_locale__WEBPACK_IMPORTED_MODULE_18__["i18n"])('fields.filters.name') }, { value: 'artists.first.name', - label: (0, _locale.i18n)('fields.filters.artist') + label: Object(_locale__WEBPACK_IMPORTED_MODULE_18__["i18n"])('fields.filters.artist') }, { value: 'last_modified', - label: (0, _locale.i18n)('fields.filters.updated') + label: Object(_locale__WEBPACK_IMPORTED_MODULE_18__["i18n"])('fields.filters.updated') }, { value: 'tracks_uris.length', - label: (0, _locale.i18n)('fields.filters.tracks') + label: Object(_locale__WEBPACK_IMPORTED_MODULE_18__["i18n"])('fields.filters.tracks') }, { value: 'uri', - label: (0, _locale.i18n)('fields.filters.source') + label: Object(_locale__WEBPACK_IMPORTED_MODULE_18__["i18n"])('fields.filters.source') }]; + var options = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "header__options__wrapper", + "data-qa-node": "div", + "data-qa-file": "LibraryAlbums" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Fields_FilterField__WEBPACK_IMPORTED_MODULE_7__["default"], { + initialValue: this.state.filter, + handleChange: function handleChange(value) { + return _this2.setState({ + filter: value, + limit: _this2.state.per_page + }); + }, + onSubmit: function onSubmit(e) { + return _this2.props.uiActions.hideContextMenu(); + }, + "data-qa-node": "FilterField", + "data-qa-file": "LibraryAlbums" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Fields_DropdownField__WEBPACK_IMPORTED_MODULE_6__["default"], { + icon: "swap_vert", + name: Object(_locale__WEBPACK_IMPORTED_MODULE_18__["i18n"])('fields.sort'), + value: this.props.sort, + valueAsLabel: true, + options: sort_options, + selected_icon: this.props.sort ? this.props.sort_reverse ? 'keyboard_arrow_up' : 'keyboard_arrow_down' : null, + handleChange: function handleChange(val) { + _this2.setSort(val); - var options = _react2.default.createElement( - 'div', - { className: 'header__options__wrapper' }, - _react2.default.createElement(_FilterField2.default, { - initialValue: this.state.filter, - handleChange: function handleChange(value) { - return _this2.setState({ filter: value, limit: _this2.state.per_page }); - }, - onSubmit: function onSubmit(e) { - return _this2.props.uiActions.hideContextMenu(); - } - }), - _react2.default.createElement(_DropdownField2.default, { - icon: 'swap_vert', - name: (0, _locale.i18n)('fields.sort'), - value: this.props.sort, - valueAsLabel: true, - options: sort_options, - selected_icon: this.props.sort ? this.props.sort_reverse ? 'keyboard_arrow_up' : 'keyboard_arrow_down' : null, - handleChange: function handleChange(val) { - _this2.setSort(val);_this2.props.uiActions.hideContextMenu(); - } - }), - _react2.default.createElement(_DropdownField2.default, { - icon: 'visibility', - name: (0, _locale.i18n)('fields.view'), - value: this.props.view, - valueAsLabel: true, - options: view_options, - handleChange: function handleChange(val) { - _this2.props.uiActions.set({ library_albums_view: val });_this2.props.uiActions.hideContextMenu(); - } - }), - _react2.default.createElement(_DropdownField2.default, { - icon: 'cloud', - name: (0, _locale.i18n)('fields.source'), - value: this.props.source, - valueAsLabel: true, - options: source_options, - handleChange: function handleChange(val) { - _this2.props.uiActions.set({ library_albums_source: val });_this2.props.uiActions.hideContextMenu(); - } - }) - ); + _this2.props.uiActions.hideContextMenu(); + }, + "data-qa-node": "DropdownField", + "data-qa-file": "LibraryAlbums" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Fields_DropdownField__WEBPACK_IMPORTED_MODULE_6__["default"], { + icon: "visibility", + name: Object(_locale__WEBPACK_IMPORTED_MODULE_18__["i18n"])('fields.view'), + value: this.props.view, + valueAsLabel: true, + options: view_options, + handleChange: function handleChange(val) { + _this2.props.uiActions.set({ + library_albums_view: val + }); - return _react2.default.createElement( - 'div', - { className: 'view library-albums-view' }, - _react2.default.createElement( - _Header2.default, - { options: options, uiActions: this.props.uiActions }, - _react2.default.createElement(_Icon2.default, { name: 'album', type: 'material' }), - _react2.default.createElement(_locale.I18n, { path: 'library.albums.title' }) - ), - this.renderView() - ); + _this2.props.uiActions.hideContextMenu(); + }, + "data-qa-node": "DropdownField", + "data-qa-file": "LibraryAlbums" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Fields_DropdownField__WEBPACK_IMPORTED_MODULE_6__["default"], { + icon: "cloud", + name: Object(_locale__WEBPACK_IMPORTED_MODULE_18__["i18n"])('fields.source'), + value: this.props.source, + valueAsLabel: true, + options: source_options, + handleChange: function handleChange(val) { + _this2.props.uiActions.set({ + library_albums_source: val + }); + + _this2.props.uiActions.hideContextMenu(); + }, + "data-qa-node": "DropdownField", + "data-qa-file": "LibraryAlbums" + })); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "view library-albums-view", + "data-qa-node": "div", + "data-qa-file": "LibraryAlbums" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Header__WEBPACK_IMPORTED_MODULE_5__["default"], { + options: options, + uiActions: this.props.uiActions, + "data-qa-node": "Header", + "data-qa-file": "LibraryAlbums" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_9__["default"], { + name: "album", + type: "material", + "data-qa-node": "Icon", + "data-qa-file": "LibraryAlbums" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_18__["I18n"], { + path: "library.albums.title", + "data-qa-node": "I18n", + "data-qa-file": "LibraryAlbums" + })), this.renderView()); } }]); return LibraryAlbums; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); var mapStateToProps = function mapStateToProps(state, ownProps) { return { @@ -120097,15 +122120,15 @@ var mapStateToProps = function mapStateToProps(state, ownProps) { var mapDispatchToProps = function mapDispatchToProps(dispatch) { return { - coreActions: (0, _redux.bindActionCreators)(coreActions, dispatch), - uiActions: (0, _redux.bindActionCreators)(uiActions, dispatch), - mopidyActions: (0, _redux.bindActionCreators)(mopidyActions, dispatch), - googleActions: (0, _redux.bindActionCreators)(googleActions, dispatch), - spotifyActions: (0, _redux.bindActionCreators)(spotifyActions, dispatch) + coreActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_core_actions__WEBPACK_IMPORTED_MODULE_10__, dispatch), + uiActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_ui_actions__WEBPACK_IMPORTED_MODULE_11__, dispatch), + mopidyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_mopidy_actions__WEBPACK_IMPORTED_MODULE_12__, dispatch), + googleActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_google_actions__WEBPACK_IMPORTED_MODULE_13__, dispatch), + spotifyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_spotify_actions__WEBPACK_IMPORTED_MODULE_14__, dispatch) }; }; -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(LibraryAlbums); +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapStateToProps, mapDispatchToProps)(LibraryAlbums)); /***/ }), @@ -120113,95 +122136,90 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)( /*!************************************************!*\ !*** ./src/js/views/library/LibraryArtists.js ***! \************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var _components_Header__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../components/Header */ "./src/js/components/Header.js"); +/* harmony import */ var _components_ArtistGrid__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../components/ArtistGrid */ "./src/js/components/ArtistGrid.js"); +/* harmony import */ var _components_List__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../components/List */ "./src/js/components/List.js"); +/* harmony import */ var _components_Fields_DropdownField__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../components/Fields/DropdownField */ "./src/js/components/Fields/DropdownField.js"); +/* harmony import */ var _components_Fields_FilterField__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../components/Fields/FilterField */ "./src/js/components/Fields/FilterField.js"); +/* harmony import */ var _components_LazyLoadListener__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../components/LazyLoadListener */ "./src/js/components/LazyLoadListener.js"); +/* harmony import */ var _components_Icon__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../components/Icon */ "./src/js/components/Icon.js"); +/* harmony import */ var _services_ui_actions__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../services/ui/actions */ "./src/js/services/ui/actions.js"); +/* harmony import */ var _services_mopidy_actions__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); +/* harmony import */ var _services_spotify_actions__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../services/spotify/actions */ "./src/js/services/spotify/actions.js"); +/* harmony import */ var _services_google_actions__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../services/google/actions */ "./src/js/services/google/actions.js"); +/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); +/* harmony import */ var _util_arrays__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../util/arrays */ "./src/js/util/arrays.js"); +/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } +function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } -Object.defineProperty(exports, "__esModule", { - value: true -}); +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); - -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); - -var _Header = __webpack_require__(/*! ../../components/Header */ "./src/js/components/Header.js"); - -var _Header2 = _interopRequireDefault(_Header); - -var _ArtistGrid = __webpack_require__(/*! ../../components/ArtistGrid */ "./src/js/components/ArtistGrid.js"); - -var _ArtistGrid2 = _interopRequireDefault(_ArtistGrid); - -var _List = __webpack_require__(/*! ../../components/List */ "./src/js/components/List.js"); - -var _List2 = _interopRequireDefault(_List); - -var _DropdownField = __webpack_require__(/*! ../../components/Fields/DropdownField */ "./src/js/components/Fields/DropdownField.js"); - -var _DropdownField2 = _interopRequireDefault(_DropdownField); - -var _FilterField = __webpack_require__(/*! ../../components/Fields/FilterField */ "./src/js/components/Fields/FilterField.js"); - -var _FilterField2 = _interopRequireDefault(_FilterField); - -var _LazyLoadListener = __webpack_require__(/*! ../../components/LazyLoadListener */ "./src/js/components/LazyLoadListener.js"); - -var _LazyLoadListener2 = _interopRequireDefault(_LazyLoadListener); - -var _Icon = __webpack_require__(/*! ../../components/Icon */ "./src/js/components/Icon.js"); - -var _Icon2 = _interopRequireDefault(_Icon); - -var _actions = __webpack_require__(/*! ../../services/ui/actions */ "./src/js/services/ui/actions.js"); - -var uiActions = _interopRequireWildcard(_actions); - -var _actions2 = __webpack_require__(/*! ../../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); - -var mopidyActions = _interopRequireWildcard(_actions2); - -var _actions3 = __webpack_require__(/*! ../../services/spotify/actions */ "./src/js/services/spotify/actions.js"); - -var spotifyActions = _interopRequireWildcard(_actions3); - -var _actions4 = __webpack_require__(/*! ../../services/google/actions */ "./src/js/services/google/actions.js"); - -var googleActions = _interopRequireWildcard(_actions4); - -var _helpers = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); - -var _arrays = __webpack_require__(/*! ../../util/arrays */ "./src/js/util/arrays.js"); - -var _locale = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js"); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -var LibraryArtists = function (_React$Component) { +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _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; } + + + + + + + + + + + + + + + + + + + +var LibraryArtists = /*#__PURE__*/function (_React$Component) { _inherits(LibraryArtists, _React$Component); + var _super = _createSuper(LibraryArtists); + function LibraryArtists(props) { + var _this; + _classCallCheck(this, LibraryArtists); - var _this = _possibleConstructorReturn(this, (LibraryArtists.__proto__ || Object.getPrototypeOf(LibraryArtists)).call(this, props)); + _this = _super.call(this, props); - _this.componentDidUpdate = function (_ref) { + _defineProperty(_assertThisInitialized(_this), "componentDidUpdate", function (_ref) { var prev_mopidy_connected = _ref.mopidy_connected; var _this$props = _this.props, source = _this$props.source, @@ -120215,7 +122233,6 @@ var LibraryArtists = function (_React$Component) { google_library_artists = _this$props.google_library_artists, spotify_library_artists_status = _this$props.spotify_library_artists_status; - if (mopidy_connected && (source === 'all' || source === 'local')) { if (!prev_mopidy_connected) mopidyActions.getLibraryArtists(); @@ -120235,7 +122252,7 @@ var LibraryArtists = function (_React$Component) { spotifyActions.getLibraryArtists(); } } - }; + }); _this.state = { filter: '', @@ -120246,17 +122263,18 @@ var LibraryArtists = function (_React$Component) { } _createClass(LibraryArtists, [{ - key: 'componentDidMount', + key: "componentDidMount", value: function componentDidMount() { // Restore any limit defined in our location state var state = this.props.location.state ? this.props.location.state : {}; + if (state.limit) { this.setState({ limit: state.limit }); } - this.props.uiActions.setWindowTitle((0, _locale.i18n)('library.artists.title')); + this.props.uiActions.setWindowTitle(Object(_locale__WEBPACK_IMPORTED_MODULE_16__["i18n"])('library.artists.title')); if (!this.props.mopidy_library_artists && this.props.mopidy_connected && (this.props.source == 'all' || this.props.source == 'local')) { this.props.mopidyActions.getLibraryArtists(); @@ -120271,7 +122289,7 @@ var LibraryArtists = function (_React$Component) { } } }, { - key: 'handleContextMenu', + key: "handleContextMenu", value: function handleContextMenu(e, item) { var data = { e: e, @@ -120282,23 +122300,24 @@ var LibraryArtists = function (_React$Component) { this.props.uiActions.showContextMenu(data); } }, { - key: 'loadMore', + key: "loadMore", value: function loadMore() { var new_limit = this.state.limit + this.state.per_page; + this.setState({ + limit: new_limit + }); // Set our pagination to location state - this.setState({ limit: new_limit }); - - // Set our pagination to location state var state = this.props.location && this.props.location.state ? this.props.location.state : {}; state.limit = new_limit; - this.props.history.replace({ state: state }); + this.props.history.replace({ + state: state + }); } }, { - key: 'setSort', + key: "setSort", value: function setSort(value) { var reverse = false; if (this.props.sort == value) reverse = !this.props.sort_reverse; - var data = { library_artists_sort_reverse: reverse, library_artists_sort: value @@ -120306,25 +122325,22 @@ var LibraryArtists = function (_React$Component) { this.props.uiActions.set(data); } }, { - key: 'renderView', + key: "renderView", value: function renderView() { var _this2 = this; - var artists = []; + var artists = []; // Mopidy library items - // Mopidy library items if (this.props.mopidy_library_artists && (this.props.source == 'all' || this.props.source == 'local')) { - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; + var _iterator = _createForOfIteratorHelper(this.props.mopidy_library_artists), + _step; try { - for (var _iterator = this.props.mopidy_library_artists[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + for (_iterator.s(); !(_step = _iterator.n()).done;) { uri = _step.value; - // Construct item placeholder. This is used as Mopidy needs to // lookup ref objects to get the full object which can take some time - var source = (0, _helpers.uriSource)(uri); + var source = Object(_util_helpers__WEBPACK_IMPORTED_MODULE_14__["uriSource"])(uri); var artist = { uri: uri, source: source @@ -120337,34 +122353,23 @@ var LibraryArtists = function (_React$Component) { artists.push(artist); } } catch (err) { - _didIteratorError = true; - _iteratorError = err; + _iterator.e(err); } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } + _iterator.f(); } - } + } // Google library items + - // Google library items if (this.props.google_library_artists && (this.props.source == 'all' || this.props.source == 'google')) { - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; + var _iterator2 = _createForOfIteratorHelper(this.props.google_library_artists), + _step2; try { - for (var _iterator2 = this.props.google_library_artists[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { uri = _step2.value; - // Construct item placeholder. This is used as Mopidy needs to // lookup ref objects to get the full object which can take some time - var source = (0, _helpers.uriSource)(uri); + var source = Object(_util_helpers__WEBPACK_IMPORTED_MODULE_14__["uriSource"])(uri); var artist = { uri: uri, source: source @@ -120377,25 +122382,17 @@ var LibraryArtists = function (_React$Component) { artists.push(artist); } } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; + _iterator2.e(err); } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2.return) { - _iterator2.return(); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } + _iterator2.f(); } - } + } // Spotify library items + - // Spotify library items if (this.props.spotify_library_artists && (this.props.source == 'all' || this.props.source == 'spotify')) { for (var i = 0; i < this.props.spotify_library_artists.length; i++) { var uri = this.props.spotify_library_artists[i]; + if (this.props.artists.hasOwnProperty(uri)) { artists.push(this.props.artists[uri]); } @@ -120403,169 +122400,198 @@ var LibraryArtists = function (_React$Component) { } if (this.props.sort) { - artists = (0, _arrays.sortItems)(artists, this.props.sort, this.props.sort_reverse); + artists = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_15__["sortItems"])(artists, this.props.sort, this.props.sort_reverse); } if (this.state.filter !== '') { - artists = (0, _arrays.applyFilter)('name', this.state.filter, artists); - } + artists = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_15__["applyFilter"])('name', this.state.filter, artists); + } // Apply our lazy-load-rendering + - // Apply our lazy-load-rendering var total_artists = artists.length; artists = artists.slice(0, this.state.limit); if (this.props.view == 'list') { - return _react2.default.createElement( - 'section', - { className: 'content-wrapper' }, - _react2.default.createElement(_List2.default, { - handleContextMenu: function handleContextMenu(e, item) { - return _this2.handleContextMenu(e, item); - }, - rows: artists, - thumbnail: true, - details: ['followers'], - middle_column: ['source'], - className: 'artists', - link_prefix: '/artist/' - }), - _react2.default.createElement(_LazyLoadListener2.default, { - loadKey: total_artists > this.state.limit ? this.state.limit : total_artists, - showLoader: this.state.limit < total_artists, - loadMore: function loadMore() { - return _this2.loadMore(); - } - }) - ); - } - return _react2.default.createElement( - 'section', - { className: 'content-wrapper' }, - _react2.default.createElement(_ArtistGrid2.default, { + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("section", { + className: "content-wrapper", + "data-qa-node": "section", + "data-qa-file": "LibraryArtists" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_List__WEBPACK_IMPORTED_MODULE_5__["default"], { handleContextMenu: function handleContextMenu(e, item) { return _this2.handleContextMenu(e, item); }, - artists: artists - }), - _react2.default.createElement(_LazyLoadListener2.default, { + rows: artists, + thumbnail: true, + details: ['followers'], + middle_column: ['source'], + className: "artists", + link_prefix: "/artist/", + "data-qa-node": "List", + "data-qa-file": "LibraryArtists" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_LazyLoadListener__WEBPACK_IMPORTED_MODULE_8__["default"], { loadKey: total_artists > this.state.limit ? this.state.limit : total_artists, showLoader: this.state.limit < total_artists, loadMore: function loadMore() { return _this2.loadMore(); - } - }) - ); + }, + "data-qa-node": "LazyLoadListener", + "data-qa-file": "LibraryArtists" + })); + } + + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("section", { + className: "content-wrapper", + "data-qa-node": "section", + "data-qa-file": "LibraryArtists" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_ArtistGrid__WEBPACK_IMPORTED_MODULE_4__["default"], { + handleContextMenu: function handleContextMenu(e, item) { + return _this2.handleContextMenu(e, item); + }, + artists: artists, + "data-qa-node": "ArtistGrid", + "data-qa-file": "LibraryArtists" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_LazyLoadListener__WEBPACK_IMPORTED_MODULE_8__["default"], { + loadKey: total_artists > this.state.limit ? this.state.limit : total_artists, + showLoader: this.state.limit < total_artists, + loadMore: function loadMore() { + return _this2.loadMore(); + }, + "data-qa-node": "LazyLoadListener", + "data-qa-file": "LibraryArtists" + })); } }, { - key: 'render', + key: "render", value: function render() { var _this3 = this; var source_options = [{ value: 'all', - label: (0, _locale.i18n)('fields.filters.all') + label: Object(_locale__WEBPACK_IMPORTED_MODULE_16__["i18n"])('fields.filters.all') }, { value: 'local', - label: (0, _locale.i18n)('services.mopidy.local') + label: Object(_locale__WEBPACK_IMPORTED_MODULE_16__["i18n"])('services.mopidy.local') }]; if (this.props.spotify_available) { source_options.push({ value: 'spotify', - label: (0, _locale.i18n)('services.spotify.title') + label: Object(_locale__WEBPACK_IMPORTED_MODULE_16__["i18n"])('services.spotify.title') }); } if (this.props.google_available) { source_options.push({ value: 'google', - label: (0, _locale.i18n)('services.google.title') + label: Object(_locale__WEBPACK_IMPORTED_MODULE_16__["i18n"])('services.google.title') }); } var view_options = [{ value: 'thumbnails', - label: (0, _locale.i18n)('fields.filters.thumbnails') + label: Object(_locale__WEBPACK_IMPORTED_MODULE_16__["i18n"])('fields.filters.thumbnails') }, { value: 'list', - label: (0, _locale.i18n)('fields.filters.list') + label: Object(_locale__WEBPACK_IMPORTED_MODULE_16__["i18n"])('fields.filters.list') }]; - var sort_options = [{ value: null, - label: (0, _locale.i18n)('fields.filters.as_loaded') + label: Object(_locale__WEBPACK_IMPORTED_MODULE_16__["i18n"])('fields.filters.as_loaded') }, { value: 'name', - label: (0, _locale.i18n)('fields.filters.name') + label: Object(_locale__WEBPACK_IMPORTED_MODULE_16__["i18n"])('fields.filters.name') }, { value: 'followers', - label: (0, _locale.i18n)('fields.filters.followers') + label: Object(_locale__WEBPACK_IMPORTED_MODULE_16__["i18n"])('fields.filters.followers') }, { value: 'popularity', - label: (0, _locale.i18n)('fields.filters.popularity') + label: Object(_locale__WEBPACK_IMPORTED_MODULE_16__["i18n"])('fields.filters.popularity') }]; + var options = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + "data-qa-node": "span", + "data-qa-file": "LibraryArtists" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Fields_FilterField__WEBPACK_IMPORTED_MODULE_7__["default"], { + initialValue: this.state.filter, + handleChange: function handleChange(value) { + return _this3.setState({ + filter: value, + limit: _this3.state.per_page + }); + }, + onSubmit: function onSubmit(e) { + return _this3.props.uiActions.hideContextMenu(); + }, + "data-qa-node": "FilterField", + "data-qa-file": "LibraryArtists" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Fields_DropdownField__WEBPACK_IMPORTED_MODULE_6__["default"], { + icon: "swap_vert", + name: Object(_locale__WEBPACK_IMPORTED_MODULE_16__["i18n"])('fields.sort'), + value: this.props.sort, + valueAsLabel: true, + options: sort_options, + selected_icon: this.props.sort ? this.props.sort_reverse ? 'keyboard_arrow_up' : 'keyboard_arrow_down' : null, + handleChange: function handleChange(value) { + _this3.setSort(value); - var options = _react2.default.createElement( - 'span', - null, - _react2.default.createElement(_FilterField2.default, { - initialValue: this.state.filter, - handleChange: function handleChange(value) { - return _this3.setState({ filter: value, limit: _this3.state.per_page }); - }, - onSubmit: function onSubmit(e) { - return _this3.props.uiActions.hideContextMenu(); - } - }), - _react2.default.createElement(_DropdownField2.default, { - icon: 'swap_vert', - name: (0, _locale.i18n)('fields.sort'), - value: this.props.sort, - valueAsLabel: true, - options: sort_options, - selected_icon: this.props.sort ? this.props.sort_reverse ? 'keyboard_arrow_up' : 'keyboard_arrow_down' : null, - handleChange: function handleChange(value) { - _this3.setSort(value);_this3.props.uiActions.hideContextMenu(); - } - }), - _react2.default.createElement(_DropdownField2.default, { - icon: 'visibility', - name: (0, _locale.i18n)('fields.view'), - value: this.props.view, - valueAsLabel: true, - options: view_options, - handleChange: function handleChange(value) { - _this3.props.uiActions.set({ library_artists_view: value });_this3.props.uiActions.hideContextMenu(); - } - }), - _react2.default.createElement(_DropdownField2.default, { - icon: 'cloud', - name: (0, _locale.i18n)('fields.source'), - value: this.props.source, - valueAsLabel: true, - options: source_options, - handleChange: function handleChange(value) { - _this3.props.uiActions.set({ library_artists_source: value });_this3.props.uiActions.hideContextMenu(); - } - }) - ); + _this3.props.uiActions.hideContextMenu(); + }, + "data-qa-node": "DropdownField", + "data-qa-file": "LibraryArtists" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Fields_DropdownField__WEBPACK_IMPORTED_MODULE_6__["default"], { + icon: "visibility", + name: Object(_locale__WEBPACK_IMPORTED_MODULE_16__["i18n"])('fields.view'), + value: this.props.view, + valueAsLabel: true, + options: view_options, + handleChange: function handleChange(value) { + _this3.props.uiActions.set({ + library_artists_view: value + }); - return _react2.default.createElement( - 'div', - { className: 'view library-artists-view' }, - _react2.default.createElement( - _Header2.default, - { options: options, uiActions: this.props.uiActions }, - _react2.default.createElement(_Icon2.default, { name: 'recent_actors', type: 'material' }), - _react2.default.createElement(_locale.I18n, { path: 'library.artists.title' }) - ), - this.renderView() - ); + _this3.props.uiActions.hideContextMenu(); + }, + "data-qa-node": "DropdownField", + "data-qa-file": "LibraryArtists" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Fields_DropdownField__WEBPACK_IMPORTED_MODULE_6__["default"], { + icon: "cloud", + name: Object(_locale__WEBPACK_IMPORTED_MODULE_16__["i18n"])('fields.source'), + value: this.props.source, + valueAsLabel: true, + options: source_options, + handleChange: function handleChange(value) { + _this3.props.uiActions.set({ + library_artists_source: value + }); + + _this3.props.uiActions.hideContextMenu(); + }, + "data-qa-node": "DropdownField", + "data-qa-file": "LibraryArtists" + })); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "view library-artists-view", + "data-qa-node": "div", + "data-qa-file": "LibraryArtists" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Header__WEBPACK_IMPORTED_MODULE_3__["default"], { + options: options, + uiActions: this.props.uiActions, + "data-qa-node": "Header", + "data-qa-file": "LibraryArtists" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_9__["default"], { + name: "recent_actors", + type: "material", + "data-qa-node": "Icon", + "data-qa-file": "LibraryArtists" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_16__["I18n"], { + path: "library.artists.title", + "data-qa-node": "I18n", + "data-qa-file": "LibraryArtists" + })), this.renderView()); } }]); return LibraryArtists; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); var mapStateToProps = function mapStateToProps(state, ownProps) { return { @@ -120587,14 +122613,14 @@ var mapStateToProps = function mapStateToProps(state, ownProps) { var mapDispatchToProps = function mapDispatchToProps(dispatch) { return { - uiActions: (0, _redux.bindActionCreators)(uiActions, dispatch), - mopidyActions: (0, _redux.bindActionCreators)(mopidyActions, dispatch), - spotifyActions: (0, _redux.bindActionCreators)(spotifyActions, dispatch), - googleActions: (0, _redux.bindActionCreators)(googleActions, dispatch) + uiActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_ui_actions__WEBPACK_IMPORTED_MODULE_10__, dispatch), + mopidyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_mopidy_actions__WEBPACK_IMPORTED_MODULE_11__, dispatch), + spotifyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_spotify_actions__WEBPACK_IMPORTED_MODULE_12__, dispatch), + googleActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_google_actions__WEBPACK_IMPORTED_MODULE_13__, dispatch) }; }; -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(LibraryArtists); +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapStateToProps, mapDispatchToProps)(LibraryArtists)); /***/ }), @@ -120602,94 +122628,98 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)( /*!***********************************************!*\ !*** ./src/js/views/library/LibraryBrowse.js ***! \***********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var _components_Header__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../components/Header */ "./src/js/components/Header.js"); +/* harmony import */ var _components_GridItem__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../components/GridItem */ "./src/js/components/GridItem.js"); +/* harmony import */ var _components_Icon__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../components/Icon */ "./src/js/components/Icon.js"); +/* harmony import */ var _components_ErrorBoundary__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../components/ErrorBoundary */ "./src/js/components/ErrorBoundary.js"); +/* harmony import */ var _services_ui_actions__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../services/ui/actions */ "./src/js/services/ui/actions.js"); +/* harmony import */ var _services_mopidy_actions__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); +/* harmony import */ var _util_format__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../util/format */ "./src/js/util/format.js"); +/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } +function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } -Object.defineProperty(exports, "__esModule", { - value: true -}); +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); - -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); - -var _Header = __webpack_require__(/*! ../../components/Header */ "./src/js/components/Header.js"); - -var _Header2 = _interopRequireDefault(_Header); - -var _GridItem = __webpack_require__(/*! ../../components/GridItem */ "./src/js/components/GridItem.js"); - -var _GridItem2 = _interopRequireDefault(_GridItem); - -var _Icon = __webpack_require__(/*! ../../components/Icon */ "./src/js/components/Icon.js"); - -var _Icon2 = _interopRequireDefault(_Icon); - -var _ErrorBoundary = __webpack_require__(/*! ../../components/ErrorBoundary */ "./src/js/components/ErrorBoundary.js"); - -var _ErrorBoundary2 = _interopRequireDefault(_ErrorBoundary); - -var _actions = __webpack_require__(/*! ../../services/ui/actions */ "./src/js/services/ui/actions.js"); - -var uiActions = _interopRequireWildcard(_actions); - -var _actions2 = __webpack_require__(/*! ../../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); - -var mopidyActions = _interopRequireWildcard(_actions2); - -var _format = __webpack_require__(/*! ../../util/format */ "./src/js/util/format.js"); - -var _locale = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js"); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -var LibraryBrowse = function (_React$Component) { +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _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; } + + + + + + + + + + + + + +var LibraryBrowse = /*#__PURE__*/function (_React$Component) { _inherits(LibraryBrowse, _React$Component); - function LibraryBrowse() { - var _ref; + var _super = _createSuper(LibraryBrowse); - var _temp, _this, _ret; + function LibraryBrowse() { + var _this; _classCallCheck(this, LibraryBrowse); - for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } - return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = LibraryBrowse.__proto__ || Object.getPrototypeOf(LibraryBrowse)).call.apply(_ref, [this].concat(args))), _this), _this.componentDidUpdate = function (_ref2) { - var prev_mopidy_connected = _ref2.mopidy_connected; - var mopidy_connected = _this.props.mopidy_connected; + _this = _super.call.apply(_super, [this].concat(args)); + _defineProperty(_assertThisInitialized(_this), "componentDidUpdate", function (_ref) { + var prev_mopidy_connected = _ref.mopidy_connected; + var mopidy_connected = _this.props.mopidy_connected; if (!prev_mopidy_connected && mopidy_connected) _this.loadDirectory(); - }, _temp), _possibleConstructorReturn(_this, _ret); + }); + + return _this; } _createClass(LibraryBrowse, [{ - key: 'componentDidMount', + key: "componentDidMount", value: function componentDidMount() { this.loadDirectory(); - this.props.uiActions.setWindowTitle((0, _locale.i18n)('library.browse.title')); + this.props.uiActions.setWindowTitle(Object(_locale__WEBPACK_IMPORTED_MODULE_10__["i18n"])('library.browse.title')); } }, { - key: 'loadDirectory', + key: "loadDirectory", value: function loadDirectory() { var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.props; @@ -120698,18 +122728,18 @@ var LibraryBrowse = function (_React$Component) { } } }, { - key: 'render', + key: "render", value: function render() { var _this2 = this; var grid_items = []; + if (this.props.directory) { - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; + var _iterator = _createForOfIteratorHelper(this.props.directory.subdirectories), + _step; try { - for (var _iterator = this.props.directory.subdirectories[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + for (_iterator.s(); !(_step = _iterator.n()).done;) { var subdirectory = _step.value; switch (subdirectory.name) { @@ -120768,62 +122798,60 @@ var LibraryBrowse = function (_React$Component) { grid_items.push({ name: subdirectory.name, - link: '/library/browse/' + encodeURIComponent(subdirectory.uri), - icons: (0, _format.formatImages)(subdirectory.icons) + link: "/library/browse/".concat(encodeURIComponent(subdirectory.uri)), + icons: Object(_util_format__WEBPACK_IMPORTED_MODULE_9__["formatImages"])(subdirectory.icons) }); } } catch (err) { - _didIteratorError = true; - _iteratorError = err; + _iterator.e(err); } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } + _iterator.f(); } } - return _react2.default.createElement( - 'div', - { className: 'view library-local-view' }, - _react2.default.createElement( - _Header2.default, - null, - _react2.default.createElement(_Icon2.default, { name: 'folder', type: 'material' }), - _react2.default.createElement(_locale.I18n, { path: 'library.browse.title' }) - ), - _react2.default.createElement( - 'section', - { className: 'content-wrapper' }, - _react2.default.createElement( - 'div', - { className: 'grid grid--tiles' }, - _react2.default.createElement( - _ErrorBoundary2.default, - null, - grid_items.map(function (item, index) { - return _react2.default.createElement(_GridItem2.default, { - item: item, - key: index, - link: item.link, - mopidyActions: _this2.props.mopidyActions, - type: 'browse' - }); - }) - ) - ) - ) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "view library-local-view", + "data-qa-node": "div", + "data-qa-file": "LibraryBrowse" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Header__WEBPACK_IMPORTED_MODULE_3__["default"], { + "data-qa-node": "Header", + "data-qa-file": "LibraryBrowse" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_5__["default"], { + name: "folder", + type: "material", + "data-qa-node": "Icon", + "data-qa-file": "LibraryBrowse" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_10__["I18n"], { + path: "library.browse.title", + "data-qa-node": "I18n", + "data-qa-file": "LibraryBrowse" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("section", { + className: "content-wrapper", + "data-qa-node": "section", + "data-qa-file": "LibraryBrowse" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "grid grid--tiles", + "data-qa-node": "div", + "data-qa-file": "LibraryBrowse" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_ErrorBoundary__WEBPACK_IMPORTED_MODULE_6__["default"], { + "data-qa-node": "ErrorBoundary", + "data-qa-file": "LibraryBrowse" + }, grid_items.map(function (item, index) { + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_GridItem__WEBPACK_IMPORTED_MODULE_4__["default"], { + item: item, + key: index, + link: item.link, + mopidyActions: _this2.props.mopidyActions, + type: "browse", + "data-qa-node": "GridItem", + "data-qa-file": "LibraryBrowse" + }); + }))))); } }]); return LibraryBrowse; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); var mapStateToProps = function mapStateToProps(state, ownProps) { return { @@ -120836,12 +122864,12 @@ var mapStateToProps = function mapStateToProps(state, ownProps) { var mapDispatchToProps = function mapDispatchToProps(dispatch) { return { - uiActions: (0, _redux.bindActionCreators)(uiActions, dispatch), - mopidyActions: (0, _redux.bindActionCreators)(mopidyActions, dispatch) + uiActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_ui_actions__WEBPACK_IMPORTED_MODULE_7__, dispatch), + mopidyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_mopidy_actions__WEBPACK_IMPORTED_MODULE_8__, dispatch) }; }; -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(LibraryBrowse); +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapStateToProps, mapDispatchToProps)(LibraryBrowse)); /***/ }), @@ -120849,137 +122877,121 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)( /*!********************************************************!*\ !*** ./src/js/views/library/LibraryBrowseDirectory.js ***! \********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var _components_Loader__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../components/Loader */ "./src/js/components/Loader.js"); +/* harmony import */ var _components_Header__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../components/Header */ "./src/js/components/Header.js"); +/* harmony import */ var _components_List__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../components/List */ "./src/js/components/List.js"); +/* harmony import */ var _components_TrackList__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../components/TrackList */ "./src/js/components/TrackList.js"); +/* harmony import */ var _components_GridItem__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../components/GridItem */ "./src/js/components/GridItem.js"); +/* harmony import */ var _components_Fields_DropdownField__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../components/Fields/DropdownField */ "./src/js/components/Fields/DropdownField.js"); +/* harmony import */ var _components_Icon__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../components/Icon */ "./src/js/components/Icon.js"); +/* harmony import */ var _components_URILink__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../components/URILink */ "./src/js/components/URILink.js"); +/* harmony import */ var _components_ErrorBoundary__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../components/ErrorBoundary */ "./src/js/components/ErrorBoundary.js"); +/* harmony import */ var _components_LazyLoadListener__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../components/LazyLoadListener */ "./src/js/components/LazyLoadListener.js"); +/* harmony import */ var _services_ui_actions__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../services/ui/actions */ "./src/js/services/ui/actions.js"); +/* harmony import */ var _services_mopidy_actions__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); +/* harmony import */ var _services_spotify_actions__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../services/spotify/actions */ "./src/js/services/spotify/actions.js"); +/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); +/* harmony import */ var _util_arrays__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../../util/arrays */ "./src/js/util/arrays.js"); +/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); - -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); - -var _Loader = __webpack_require__(/*! ../../components/Loader */ "./src/js/components/Loader.js"); - -var _Loader2 = _interopRequireDefault(_Loader); - -var _Header = __webpack_require__(/*! ../../components/Header */ "./src/js/components/Header.js"); - -var _Header2 = _interopRequireDefault(_Header); - -var _List = __webpack_require__(/*! ../../components/List */ "./src/js/components/List.js"); - -var _List2 = _interopRequireDefault(_List); - -var _TrackList = __webpack_require__(/*! ../../components/TrackList */ "./src/js/components/TrackList.js"); - -var _TrackList2 = _interopRequireDefault(_TrackList); - -var _GridItem = __webpack_require__(/*! ../../components/GridItem */ "./src/js/components/GridItem.js"); - -var _GridItem2 = _interopRequireDefault(_GridItem); - -var _DropdownField = __webpack_require__(/*! ../../components/Fields/DropdownField */ "./src/js/components/Fields/DropdownField.js"); - -var _DropdownField2 = _interopRequireDefault(_DropdownField); - -var _Icon = __webpack_require__(/*! ../../components/Icon */ "./src/js/components/Icon.js"); - -var _Icon2 = _interopRequireDefault(_Icon); - -var _URILink = __webpack_require__(/*! ../../components/URILink */ "./src/js/components/URILink.js"); - -var _URILink2 = _interopRequireDefault(_URILink); - -var _ErrorBoundary = __webpack_require__(/*! ../../components/ErrorBoundary */ "./src/js/components/ErrorBoundary.js"); - -var _ErrorBoundary2 = _interopRequireDefault(_ErrorBoundary); - -var _LazyLoadListener = __webpack_require__(/*! ../../components/LazyLoadListener */ "./src/js/components/LazyLoadListener.js"); - -var _LazyLoadListener2 = _interopRequireDefault(_LazyLoadListener); - -var _actions = __webpack_require__(/*! ../../services/ui/actions */ "./src/js/services/ui/actions.js"); - -var uiActions = _interopRequireWildcard(_actions); - -var _actions2 = __webpack_require__(/*! ../../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); - -var mopidyActions = _interopRequireWildcard(_actions2); - -var _actions3 = __webpack_require__(/*! ../../services/spotify/actions */ "./src/js/services/spotify/actions.js"); - -var spotifyActions = _interopRequireWildcard(_actions3); - -var _helpers = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); - -var _arrays = __webpack_require__(/*! ../../util/arrays */ "./src/js/util/arrays.js"); - -var _locale = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js"); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _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; } +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -var LibraryBrowseDirectory = function (_React$Component) { +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _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; } + + + + + + + + + + + + + + + + + + + + + +var LibraryBrowseDirectory = /*#__PURE__*/function (_React$Component) { _inherits(LibraryBrowseDirectory, _React$Component); + var _super = _createSuper(LibraryBrowseDirectory); + function LibraryBrowseDirectory(props) { + var _this; + _classCallCheck(this, LibraryBrowseDirectory); - var _this = _possibleConstructorReturn(this, (LibraryBrowseDirectory.__proto__ || Object.getPrototypeOf(LibraryBrowseDirectory)).call(this, props)); + _this = _super.call(this, props); - _this.componentDidUpdate = function (_ref) { + _defineProperty(_assertThisInitialized(_this), "componentDidUpdate", function (_ref) { var prev_mopidy_connected = _ref.mopidy_connected, prevUri = _ref.uri; var _this$props = _this.props, uri = _this$props.uri, mopidy_connected = _this$props.mopidy_connected; - - if (!prev_mopidy_connected && mopidy_connected) _this.loadDirectory(); if (uri && uri !== prevUri) _this.loadDirectory(); - }; + }); - _this.loadMore = function () { + _defineProperty(_assertThisInitialized(_this), "loadMore", function () { var _this$state = _this.state, prevLimit = _this$state.limit, per_page = _this$state.per_page; var _this$props2 = _this.props, history = _this$props2.history, _this$props2$location = _this$props2.location.state, - prevState = _this$props2$location === undefined ? {} : _this$props2$location; - - + prevState = _this$props2$location === void 0 ? {} : _this$props2$location; var limit = prevLimit + per_page; - _this.setState({ limit: limit }); - history.replace(_extends({}, prevState, { + _this.setState({ + limit: limit + }); + + history.replace(_objectSpread(_objectSpread({}, prevState), {}, { limit: limit })); - }; + }); - _this.render = function () { + _defineProperty(_assertThisInitialized(_this), "render", function () { var _this$props3 = _this.props, uri = _this$props3.uri, directory = _this$props3.directory, @@ -120987,113 +122999,147 @@ var LibraryBrowseDirectory = function (_React$Component) { uiActions = _this$props3.uiActions, view = _this$props3.view; var limit = _this.state.limit; + var title = Object(_locale__WEBPACK_IMPORTED_MODULE_18__["i18n"])('library.browse_directory.title'); - - var title = (0, _locale.i18n)('library.browse_directory.title'); - - if (!directory || (0, _helpers.isLoading)(load_queue, ['mopidy_browse'])) { - return _react2.default.createElement( - 'div', - { className: 'view library-local-view' }, - _react2.default.createElement(_Header2.default, { icon: 'music', title: title, uiActions: uiActions }), - _react2.default.createElement(_Loader2.default, { body: true, loading: true }) - ); + if (!directory || Object(_util_helpers__WEBPACK_IMPORTED_MODULE_16__["isLoading"])(load_queue, ['mopidy_browse'])) { + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "view library-local-view", + "data-qa-node": "div", + "data-qa-file": "LibraryBrowseDirectory" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Header__WEBPACK_IMPORTED_MODULE_4__["default"], { + icon: "music", + title: title, + uiActions: uiActions, + "data-qa-node": "Header", + "data-qa-file": "LibraryBrowseDirectory" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Loader__WEBPACK_IMPORTED_MODULE_3__["default"], { + body: true, + loading: true, + "data-qa-node": "Loader", + "data-qa-file": "LibraryBrowseDirectory" + })); } if (directory.name) { title = directory.name; } else { var uri_exploded = uri.split(':'); + if (uri_exploded.length > 0) { title = uri_exploded[0]; title = title.charAt(0).toUpperCase() + title.slice(1); } - }; + } + ; var subdirectories = directory.subdirectories && directory.subdirectories.length > 0 ? directory.subdirectories : null; - subdirectories = (0, _arrays.sortItems)(subdirectories, 'name'); - + subdirectories = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_17__["sortItems"])(subdirectories, 'name'); var total_items = (directory.tracks ? directory.tracks.length : 0) + (subdirectories ? subdirectories.length : 0); subdirectories = subdirectories.slice(0, limit); var all_tracks = null; var tracks = null; var limit_remaining = limit - subdirectories; + if (limit_remaining > 0) { all_tracks = directory.tracks && directory.tracks.length > 0 ? directory.tracks : null; - all_tracks = (0, _arrays.sortItems)(all_tracks, 'name'); + all_tracks = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_17__["sortItems"])(all_tracks, 'name'); tracks = all_tracks.slice(0, limit_remaining); } var view_options = [{ value: 'thumbnails', - label: (0, _locale.i18n)('fields.filters.thumbnails') + label: Object(_locale__WEBPACK_IMPORTED_MODULE_18__["i18n"])('fields.filters.thumbnails') }, { value: 'list', - label: (0, _locale.i18n)('fields.filters.list') + label: Object(_locale__WEBPACK_IMPORTED_MODULE_18__["i18n"])('fields.filters.list') }]; + var options = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + "data-qa-node": "span", + "data-qa-file": "LibraryBrowseDirectory" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Fields_DropdownField__WEBPACK_IMPORTED_MODULE_8__["default"], { + icon: "visibility", + name: "View", + value: view, + valueAsLabel: true, + options: view_options, + handleChange: function handleChange(value) { + uiActions.set({ + library_directory_view: value + }); + uiActions.hideContextMenu(); + }, + "data-qa-node": "DropdownField", + "data-qa-file": "LibraryBrowseDirectory" + }), tracks && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + className: "button button--no-hover", + onClick: function onClick(e) { + uiActions.hideContextMenu(); - var options = _react2.default.createElement( - 'span', - null, - _react2.default.createElement(_DropdownField2.default, { - icon: 'visibility', - name: 'View', - value: view, - valueAsLabel: true, - options: view_options, - handleChange: function handleChange(value) { - uiActions.set({ library_directory_view: value });uiActions.hideContextMenu(); - } - }), - tracks && _react2.default.createElement( - 'a', - { className: 'button button--no-hover', onClick: function onClick(e) { - uiActions.hideContextMenu();_this.playAll(e, all_tracks); - } }, - _react2.default.createElement(_Icon2.default, { name: 'play_circle_filled' }), - _react2.default.createElement(_locale.I18n, { path: 'actions.play_all' }) - ), - _react2.default.createElement( - 'a', - { className: 'button button--no-hover', onClick: function onClick(e) { - uiActions.hideContextMenu();_this.goBack(e); - } }, - _react2.default.createElement(_Icon2.default, { name: 'keyboard_backspace' }), - _react2.default.createElement(_locale.I18n, { path: 'actions.back' }) - ) - ); + _this.playAll(e, all_tracks); + }, + "data-qa-node": "a", + "data-qa-file": "LibraryBrowseDirectory" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_9__["default"], { + name: "play_circle_filled", + "data-qa-node": "Icon", + "data-qa-file": "LibraryBrowseDirectory" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_18__["I18n"], { + path: "actions.play_all", + "data-qa-node": "I18n", + "data-qa-file": "LibraryBrowseDirectory" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + className: "button button--no-hover", + onClick: function onClick(e) { + uiActions.hideContextMenu(); - return _react2.default.createElement( - 'div', - { className: 'view library-local-view' }, - _react2.default.createElement( - _Header2.default, - { options: options, uiActions: uiActions }, - _react2.default.createElement(_Icon2.default, { name: 'folder', type: 'material' }), - title - ), - _react2.default.createElement( - 'section', - { className: 'content-wrapper' }, - _react2.default.createElement( - _ErrorBoundary2.default, - null, - _this.renderBreadcrumbs(), - subdirectories ? _this.renderSubdirectories(subdirectories) : null, - tracks && _react2.default.createElement(_TrackList2.default, { - tracks: tracks, - uri: 'iris:browse:' + uri, - className: 'library-local-track-list' - }), - _react2.default.createElement(_LazyLoadListener2.default, { - loadKey: total_items > limit ? limit : total_items, - showLoader: limit < total_items, - loadMore: _this.loadMore - }) - ) - ) - ); - }; + _this.goBack(e); + }, + "data-qa-node": "a", + "data-qa-file": "LibraryBrowseDirectory" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_9__["default"], { + name: "keyboard_backspace", + "data-qa-node": "Icon", + "data-qa-file": "LibraryBrowseDirectory" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_18__["I18n"], { + path: "actions.back", + "data-qa-node": "I18n", + "data-qa-file": "LibraryBrowseDirectory" + }))); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "view library-local-view", + "data-qa-node": "div", + "data-qa-file": "LibraryBrowseDirectory" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Header__WEBPACK_IMPORTED_MODULE_4__["default"], { + options: options, + uiActions: uiActions, + "data-qa-node": "Header", + "data-qa-file": "LibraryBrowseDirectory" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_9__["default"], { + name: "folder", + type: "material", + "data-qa-node": "Icon", + "data-qa-file": "LibraryBrowseDirectory" + }), title), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("section", { + className: "content-wrapper", + "data-qa-node": "section", + "data-qa-file": "LibraryBrowseDirectory" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_ErrorBoundary__WEBPACK_IMPORTED_MODULE_11__["default"], { + "data-qa-node": "ErrorBoundary", + "data-qa-file": "LibraryBrowseDirectory" + }, _this.renderBreadcrumbs(), subdirectories ? _this.renderSubdirectories(subdirectories) : null, tracks && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_TrackList__WEBPACK_IMPORTED_MODULE_6__["default"], { + tracks: tracks, + uri: "iris:browse:".concat(uri), + className: "library-local-track-list", + "data-qa-node": "TrackList", + "data-qa-file": "LibraryBrowseDirectory" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_LazyLoadListener__WEBPACK_IMPORTED_MODULE_12__["default"], { + loadKey: total_items > limit ? limit : total_items, + showLoader: limit < total_items, + loadMore: _this.loadMore, + "data-qa-node": "LazyLoadListener", + "data-qa-file": "LibraryBrowseDirectory" + })))); + }); _this.state = { filter: '', @@ -121104,47 +123150,50 @@ var LibraryBrowseDirectory = function (_React$Component) { } _createClass(LibraryBrowseDirectory, [{ - key: 'componentDidMount', + key: "componentDidMount", value: function componentDidMount() { // Restore any limit defined in our location state var state = this.props.location.state ? this.props.location.state : {}; + if (state.limit) { this.setState({ limit: state.limit }); } - this.props.uiActions.setWindowTitle((0, _locale.i18n)('library.browse_directory.title')); + this.props.uiActions.setWindowTitle(Object(_locale__WEBPACK_IMPORTED_MODULE_18__["i18n"])('library.browse_directory.title')); this.loadDirectory(); } }, { - key: 'loadDirectory', + key: "loadDirectory", value: function loadDirectory() { var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.props; if (props.mopidy_connected) { var uri = null; + if (props.uri !== undefined) { uri = props.uri; } + this.props.mopidyActions.getDirectory(uri); } } }, { - key: 'playAll', + key: "playAll", value: function playAll(e, tracks) { - var tracks_uris = (0, _arrays.arrayOf)('uri', tracks); - this.props.mopidyActions.playURIs(tracks_uris, 'iris:browse:' + this.props.uri); + var tracks_uris = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_17__["arrayOf"])('uri', tracks); + this.props.mopidyActions.playURIs(tracks_uris, "iris:browse:".concat(this.props.uri)); this.props.uiActions.hideContextMenu(); } }, { - key: 'goBack', + key: "goBack", value: function goBack(e) { window.history.back(); this.props.uiActions.hideContextMenu(); } }, { - key: 'renderBreadcrumbs', + key: "renderBreadcrumbs", value: function renderBreadcrumbs() { if (this.props.uri) { var parent_uri = this.props.uri; @@ -121154,50 +123203,59 @@ var LibraryBrowseDirectory = function (_React$Component) { if (parent_uri.startsWith('file://')) { parent_uri = parent_uri.substring(0, parent_uri.lastIndexOf('/')); - - return _react2.default.createElement( - 'h4', - { className: 'breadcrumbs' }, - _react2.default.createElement(_Icon2.default, { type: 'fontawesome', name: 'angle-left' }), - _react2.default.createElement( - _URILink2.default, - { type: 'browse', uri: parent_uri }, - decodeURI(parent_uri) - ) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h4", { + className: "breadcrumbs", + "data-qa-node": "h4", + "data-qa-file": "LibraryBrowseDirectory" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_9__["default"], { + type: "fontawesome", + name: "angle-left", + "data-qa-node": "Icon", + "data-qa-file": "LibraryBrowseDirectory" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_URILink__WEBPACK_IMPORTED_MODULE_10__["default"], { + type: "browse", + uri: parent_uri, + "data-qa-node": "URILink", + "data-qa-file": "LibraryBrowseDirectory" + }, decodeURI(parent_uri))); } return null; } }, { - key: 'renderSubdirectories', + key: "renderSubdirectories", value: function renderSubdirectories(subdirectories) { if (this.props.view === 'list') { - return _react2.default.createElement(_List2.default, _defineProperty({ + var _React$createElement; + + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_List__WEBPACK_IMPORTED_MODULE_5__["default"], (_React$createElement = { nocontext: true, rows: subdirectories, - className: 'library-local-directory-list', - link_prefix: '/library/browse/' - }, 'nocontext', true)); + className: "library-local-directory-list", + link_prefix: "/library/browse/" + }, _defineProperty(_React$createElement, "nocontext", true), _defineProperty(_React$createElement, "data-qa-node", "List"), _defineProperty(_React$createElement, "data-qa-file", "LibraryBrowseDirectory"), _React$createElement)); } - return _react2.default.createElement( - 'div', - { className: 'grid category-grid' }, - subdirectories.map(function (subdirectory) { - return _react2.default.createElement(_GridItem2.default, { - key: subdirectory.uri, - type: 'directory', - link: '/library/browse/' + encodeURIComponent(subdirectory.uri), - item: subdirectory, - nocontext: true - }); - }) - ); + + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "grid category-grid", + "data-qa-node": "div", + "data-qa-file": "LibraryBrowseDirectory" + }, subdirectories.map(function (subdirectory) { + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_GridItem__WEBPACK_IMPORTED_MODULE_7__["default"], { + key: subdirectory.uri, + type: "directory", + link: "/library/browse/".concat(encodeURIComponent(subdirectory.uri)), + item: subdirectory, + nocontext: true, + "data-qa-node": "GridItem", + "data-qa-file": "LibraryBrowseDirectory" + }); + })); } }]); return LibraryBrowseDirectory; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); var mapStateToProps = function mapStateToProps(state, ownProps) { // Decode the URI, and then re-encode selected characters @@ -121205,11 +123263,17 @@ var mapStateToProps = function mapStateToProps(state, ownProps) { // We need to retain ":" because this a reserved URI separator var uri = decodeURIComponent(ownProps.match.params.uri); uri = uri.replace(/\s/g, '%20'); // space + uri = uri.replace(/&/g, '%26'); // & + uri = uri.replace(/\[/g, '%5B'); // [ + uri = uri.replace(/\]/g, '%5D'); // ] + uri = uri.replace(/\(/g, '%28'); // ( + uri = uri.replace(/\)/g, '%29'); // ) + uri = uri.replace(/\#/g, '%23'); // # return { @@ -121223,13 +123287,13 @@ var mapStateToProps = function mapStateToProps(state, ownProps) { var mapDispatchToProps = function mapDispatchToProps(dispatch) { return { - uiActions: (0, _redux.bindActionCreators)(uiActions, dispatch), - mopidyActions: (0, _redux.bindActionCreators)(mopidyActions, dispatch), - spotifyActions: (0, _redux.bindActionCreators)(spotifyActions, dispatch) + uiActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_ui_actions__WEBPACK_IMPORTED_MODULE_13__, dispatch), + mopidyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_mopidy_actions__WEBPACK_IMPORTED_MODULE_14__, dispatch), + spotifyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_spotify_actions__WEBPACK_IMPORTED_MODULE_15__, dispatch) }; }; -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(LibraryBrowseDirectory); +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapStateToProps, mapDispatchToProps)(LibraryBrowseDirectory)); /***/ }), @@ -121237,97 +123301,84 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)( /*!**************************************************!*\ !*** ./src/js/views/library/LibraryPlaylists.js ***! \**************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); - -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); - -var _Link = __webpack_require__(/*! ../../components/Link */ "./src/js/components/Link.js"); - -var _Link2 = _interopRequireDefault(_Link); - -var _PlaylistGrid = __webpack_require__(/*! ../../components/PlaylistGrid */ "./src/js/components/PlaylistGrid.js"); - -var _PlaylistGrid2 = _interopRequireDefault(_PlaylistGrid); - -var _List = __webpack_require__(/*! ../../components/List */ "./src/js/components/List.js"); - -var _List2 = _interopRequireDefault(_List); - -var _DropdownField = __webpack_require__(/*! ../../components/Fields/DropdownField */ "./src/js/components/Fields/DropdownField.js"); - -var _DropdownField2 = _interopRequireDefault(_DropdownField); - -var _Header = __webpack_require__(/*! ../../components/Header */ "./src/js/components/Header.js"); - -var _Header2 = _interopRequireDefault(_Header); - -var _FilterField = __webpack_require__(/*! ../../components/Fields/FilterField */ "./src/js/components/Fields/FilterField.js"); - -var _FilterField2 = _interopRequireDefault(_FilterField); - -var _LazyLoadListener = __webpack_require__(/*! ../../components/LazyLoadListener */ "./src/js/components/LazyLoadListener.js"); - -var _LazyLoadListener2 = _interopRequireDefault(_LazyLoadListener); - -var _Icon = __webpack_require__(/*! ../../components/Icon */ "./src/js/components/Icon.js"); - -var _Icon2 = _interopRequireDefault(_Icon); - -var _actions = __webpack_require__(/*! ../../services/core/actions */ "./src/js/services/core/actions.js"); - -var coreActions = _interopRequireWildcard(_actions); - -var _actions2 = __webpack_require__(/*! ../../services/ui/actions */ "./src/js/services/ui/actions.js"); - -var uiActions = _interopRequireWildcard(_actions2); - -var _actions3 = __webpack_require__(/*! ../../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); - -var mopidyActions = _interopRequireWildcard(_actions3); - -var _actions4 = __webpack_require__(/*! ../../services/spotify/actions */ "./src/js/services/spotify/actions.js"); - -var spotifyActions = _interopRequireWildcard(_actions4); - -var _arrays = __webpack_require__(/*! ../../util/arrays */ "./src/js/util/arrays.js"); - -var _locale = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js"); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var _components_Link__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../components/Link */ "./src/js/components/Link.js"); +/* harmony import */ var _components_PlaylistGrid__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../components/PlaylistGrid */ "./src/js/components/PlaylistGrid.js"); +/* harmony import */ var _components_List__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../components/List */ "./src/js/components/List.js"); +/* harmony import */ var _components_Fields_DropdownField__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../components/Fields/DropdownField */ "./src/js/components/Fields/DropdownField.js"); +/* harmony import */ var _components_Header__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../components/Header */ "./src/js/components/Header.js"); +/* harmony import */ var _components_Fields_FilterField__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../components/Fields/FilterField */ "./src/js/components/Fields/FilterField.js"); +/* harmony import */ var _components_LazyLoadListener__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../components/LazyLoadListener */ "./src/js/components/LazyLoadListener.js"); +/* harmony import */ var _components_Icon__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../components/Icon */ "./src/js/components/Icon.js"); +/* harmony import */ var _services_core_actions__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../services/core/actions */ "./src/js/services/core/actions.js"); +/* harmony import */ var _services_ui_actions__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../services/ui/actions */ "./src/js/services/ui/actions.js"); +/* harmony import */ var _services_mopidy_actions__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); +/* harmony import */ var _services_spotify_actions__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../services/spotify/actions */ "./src/js/services/spotify/actions.js"); +/* harmony import */ var _util_arrays__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../util/arrays */ "./src/js/util/arrays.js"); +/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -var LibraryPlaylists = function (_React$Component) { +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _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; } + + + + + + + + + + + + + + + + + + + +var LibraryPlaylists = /*#__PURE__*/function (_React$Component) { _inherits(LibraryPlaylists, _React$Component); + var _super = _createSuper(LibraryPlaylists); + function LibraryPlaylists(props) { + var _this; + _classCallCheck(this, LibraryPlaylists); - var _this = _possibleConstructorReturn(this, (LibraryPlaylists.__proto__ || Object.getPrototypeOf(LibraryPlaylists)).call(this, props)); + _this = _super.call(this, props); - _this.componentDidUpdate = function (_ref) { + _defineProperty(_assertThisInitialized(_this), "componentDidUpdate", function (_ref) { var prev_mopidy_connected = _ref.mopidy_connected; var _this$props = _this.props, source = _this$props.source, @@ -121338,7 +123389,6 @@ var LibraryPlaylists = function (_React$Component) { mopidyActions = _this$props.mopidyActions, spotifyActions = _this$props.spotifyActions; - if (mopidy_connected && (source == 'all' || source == 'local')) { if (!prev_mopidy_connected) mopidyActions.getLibraryPlaylists(); @@ -121352,7 +123402,7 @@ var LibraryPlaylists = function (_React$Component) { spotifyActions.getLibraryPlaylists(); } } - }; + }); _this.state = { filter: '', @@ -121363,17 +123413,18 @@ var LibraryPlaylists = function (_React$Component) { } _createClass(LibraryPlaylists, [{ - key: 'componentDidMount', + key: "componentDidMount", value: function componentDidMount() { // Restore any limit defined in our location state var state = this.props.location.state ? this.props.location.state : {}; + if (state.limit) { this.setState({ limit: state.limit }); } - this.props.uiActions.setWindowTitle((0, _locale.i18n)('library.playlists.title')); + this.props.uiActions.setWindowTitle(Object(_locale__WEBPACK_IMPORTED_MODULE_16__["i18n"])('library.playlists.title')); if (!this.props.mopidy_library_playlists && this.props.mopidy_connected && (this.props.source == 'all' || this.props.source == 'local')) { this.props.mopidyActions.getLibraryPlaylists(); @@ -121384,7 +123435,7 @@ var LibraryPlaylists = function (_React$Component) { } } }, { - key: 'handleContextMenu', + key: "handleContextMenu", value: function handleContextMenu(e, item) { var data = { e: e, @@ -121395,23 +123446,24 @@ var LibraryPlaylists = function (_React$Component) { this.props.uiActions.showContextMenu(data); } }, { - key: 'loadMore', + key: "loadMore", value: function loadMore() { var new_limit = this.state.limit + this.state.per_page; + this.setState({ + limit: new_limit + }); // Set our pagination to location state - this.setState({ limit: new_limit }); - - // Set our pagination to location state var state = this.props.location && this.props.location.state ? this.props.location.state : {}; state.limit = new_limit; - this.props.history.replace({ state: state }); + this.props.history.replace({ + state: state + }); } }, { - key: 'setSort', + key: "setSort", value: function setSort(value) { var reverse = false; if (this.props.sort == value) reverse = !this.props.sort_reverse; - var data = { library_playlists_sort_reverse: reverse, library_playlists_sort: value @@ -121419,26 +123471,27 @@ var LibraryPlaylists = function (_React$Component) { this.props.uiActions.set(data); } }, { - key: 'renderView', + key: "renderView", value: function renderView() { var _this2 = this; - var playlists = []; + var playlists = []; // Spotify library items - // Spotify library items if (this.props.spotify_library_playlists && (this.props.source == 'all' || this.props.source == 'spotify')) { for (var i = 0; i < this.props.spotify_library_playlists.length; i++) { var uri = this.props.spotify_library_playlists[i]; + if (this.props.playlists.hasOwnProperty(uri)) { playlists.push(this.props.playlists[uri]); } } - } + } // Mopidy library items + - // Mopidy library items if (this.props.mopidy_library_playlists && (this.props.source == 'all' || this.props.source == 'local')) { for (var i = 0; i < this.props.mopidy_library_playlists.length; i++) { var uri = this.props.mopidy_library_playlists[i]; + if (this.props.playlists.hasOwnProperty(uri)) { playlists.push(this.props.playlists[uri]); } @@ -121446,178 +123499,214 @@ var LibraryPlaylists = function (_React$Component) { } if (this.props.sort) { - playlists = (0, _arrays.sortItems)(playlists, this.props.sort, this.props.sort_reverse); + playlists = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_15__["sortItems"])(playlists, this.props.sort, this.props.sort_reverse); } - playlists = (0, _arrays.removeDuplicates)(playlists); + + playlists = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_15__["removeDuplicates"])(playlists); if (this.state.filter !== '') { - playlists = (0, _arrays.applyFilter)('name', this.state.filter, playlists); - } + playlists = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_15__["applyFilter"])('name', this.state.filter, playlists); + } // Apply our lazy-load-rendering + - // Apply our lazy-load-rendering var total_playlists = playlists.length; playlists = playlists.slice(0, this.state.limit); if (this.props.view == 'list') { - return _react2.default.createElement( - 'section', - { className: 'content-wrapper' }, - _react2.default.createElement(_List2.default, { - handleContextMenu: function handleContextMenu(e, item) { - return _this2.handleContextMenu(e, item); - }, - rows: playlists, - thumbnail: true, - details: ['owner', 'tracks_total', 'last_modified'], - right_column: ['source'], - className: 'playlists', - link_prefix: '/playlist/' - }), - _react2.default.createElement(_LazyLoadListener2.default, { - loadKey: total_playlists > this.state.limit ? this.state.limit : total_playlists, - loading: this.state.limit < total_playlists, - loadMore: function loadMore() { - return _this2.loadMore(); - } - }) - ); - } - return _react2.default.createElement( - 'section', - { className: 'content-wrapper' }, - _react2.default.createElement(_PlaylistGrid2.default, { + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("section", { + className: "content-wrapper", + "data-qa-node": "section", + "data-qa-file": "LibraryPlaylists" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_List__WEBPACK_IMPORTED_MODULE_5__["default"], { handleContextMenu: function handleContextMenu(e, item) { return _this2.handleContextMenu(e, item); }, - playlists: playlists - }), - _react2.default.createElement(_LazyLoadListener2.default, { + rows: playlists, + thumbnail: true, + details: ['owner', 'tracks_total', 'last_modified'], + right_column: ['source'], + className: "playlists", + link_prefix: "/playlist/", + "data-qa-node": "List", + "data-qa-file": "LibraryPlaylists" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_LazyLoadListener__WEBPACK_IMPORTED_MODULE_9__["default"], { loadKey: total_playlists > this.state.limit ? this.state.limit : total_playlists, loading: this.state.limit < total_playlists, loadMore: function loadMore() { return _this2.loadMore(); - } - }) - ); + }, + "data-qa-node": "LazyLoadListener", + "data-qa-file": "LibraryPlaylists" + })); + } + + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("section", { + className: "content-wrapper", + "data-qa-node": "section", + "data-qa-file": "LibraryPlaylists" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_PlaylistGrid__WEBPACK_IMPORTED_MODULE_4__["default"], { + handleContextMenu: function handleContextMenu(e, item) { + return _this2.handleContextMenu(e, item); + }, + playlists: playlists, + "data-qa-node": "PlaylistGrid", + "data-qa-file": "LibraryPlaylists" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_LazyLoadListener__WEBPACK_IMPORTED_MODULE_9__["default"], { + loadKey: total_playlists > this.state.limit ? this.state.limit : total_playlists, + loading: this.state.limit < total_playlists, + loadMore: function loadMore() { + return _this2.loadMore(); + }, + "data-qa-node": "LazyLoadListener", + "data-qa-file": "LibraryPlaylists" + })); } }, { - key: 'render', + key: "render", value: function render() { var _this3 = this; var source_options = [{ value: 'all', - label: (0, _locale.i18n)('fields.filters.all') + label: Object(_locale__WEBPACK_IMPORTED_MODULE_16__["i18n"])('fields.filters.all') }, { value: 'local', - label: (0, _locale.i18n)('services.mopidy.local') + label: Object(_locale__WEBPACK_IMPORTED_MODULE_16__["i18n"])('services.mopidy.local') }]; if (this.props.spotify_available) { source_options.push({ value: 'spotify', - label: (0, _locale.i18n)('services.spotify.title') + label: Object(_locale__WEBPACK_IMPORTED_MODULE_16__["i18n"])('services.spotify.title') }); } var view_options = [{ value: 'thumbnails', - label: (0, _locale.i18n)('fields.filters.thumbnails') + label: Object(_locale__WEBPACK_IMPORTED_MODULE_16__["i18n"])('fields.filters.thumbnails') }, { value: 'list', - label: (0, _locale.i18n)('fields.filters.list') + label: Object(_locale__WEBPACK_IMPORTED_MODULE_16__["i18n"])('fields.filters.list') }]; - var sort_options = [{ value: null, - label: (0, _locale.i18n)('fields.filters.as_loaded') + label: Object(_locale__WEBPACK_IMPORTED_MODULE_16__["i18n"])('fields.filters.as_loaded') }, { value: 'name', - label: (0, _locale.i18n)('fields.filters.name') + label: Object(_locale__WEBPACK_IMPORTED_MODULE_16__["i18n"])('fields.filters.name') }, { value: 'last_modified', - label: (0, _locale.i18n)('fields.filters.updated') + label: Object(_locale__WEBPACK_IMPORTED_MODULE_16__["i18n"])('fields.filters.updated') }, { value: 'can_edit', - label: (0, _locale.i18n)('fields.filters.editable') + label: Object(_locale__WEBPACK_IMPORTED_MODULE_16__["i18n"])('fields.filters.editable') }, { value: 'owner.id', - label: (0, _locale.i18n)('fields.filters.owner') + label: Object(_locale__WEBPACK_IMPORTED_MODULE_16__["i18n"])('fields.filters.owner') }, { value: 'tracks_total', - label: (0, _locale.i18n)('fields.filters.tracks') + label: Object(_locale__WEBPACK_IMPORTED_MODULE_16__["i18n"])('fields.filters.tracks') }, { value: 'source', - label: (0, _locale.i18n)('fields.filters.source') + label: Object(_locale__WEBPACK_IMPORTED_MODULE_16__["i18n"])('fields.filters.source') }]; + var options = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + "data-qa-node": "span", + "data-qa-file": "LibraryPlaylists" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Fields_FilterField__WEBPACK_IMPORTED_MODULE_8__["default"], { + initialValue: this.state.filter, + handleChange: function handleChange(value) { + return _this3.setState({ + filter: value + }); + }, + onSubmit: function onSubmit(e) { + return _this3.props.uiActions.hideContextMenu(); + }, + "data-qa-node": "FilterField", + "data-qa-file": "LibraryPlaylists" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Fields_DropdownField__WEBPACK_IMPORTED_MODULE_6__["default"], { + icon: "swap_vert", + name: Object(_locale__WEBPACK_IMPORTED_MODULE_16__["i18n"])('fields.sort'), + value: this.props.sort, + valueAsLabel: true, + options: sort_options, + selected_icon: this.props.sort ? this.props.sort_reverse ? 'keyboard_arrow_up' : 'keyboard_arrow_down' : null, + handleChange: function handleChange(value) { + _this3.setSort(value); - var options = _react2.default.createElement( - 'span', - null, - _react2.default.createElement(_FilterField2.default, { - initialValue: this.state.filter, - handleChange: function handleChange(value) { - return _this3.setState({ filter: value }); - }, - onSubmit: function onSubmit(e) { - return _this3.props.uiActions.hideContextMenu(); - } - }), - _react2.default.createElement(_DropdownField2.default, { - icon: 'swap_vert', - name: (0, _locale.i18n)('fields.sort'), - value: this.props.sort, - valueAsLabel: true, - options: sort_options, - selected_icon: this.props.sort ? this.props.sort_reverse ? 'keyboard_arrow_up' : 'keyboard_arrow_down' : null, - handleChange: function handleChange(value) { - _this3.setSort(value);_this3.props.uiActions.hideContextMenu(); - } - }), - _react2.default.createElement(_DropdownField2.default, { - icon: 'visibility', - name: (0, _locale.i18n)('fields.view'), - valueAsLabel: true, - value: this.props.view, - options: view_options, - handleChange: function handleChange(value) { - _this3.props.uiActions.set({ library_playlists_view: value });_this3.props.uiActions.hideContextMenu(); - } - }), - _react2.default.createElement(_DropdownField2.default, { - icon: 'cloud', - name: (0, _locale.i18n)('fields.source'), - valueAsLabel: true, - value: this.props.source, - options: source_options, - handleChange: function handleChange(value) { - _this3.props.uiActions.set({ library_playlists_source: value });_this3.props.uiActions.hideContextMenu(); - } - }), - _react2.default.createElement( - _Link2.default, - { className: 'button button--no-hover', to: '/playlist/create' }, - _react2.default.createElement(_Icon2.default, { name: 'add_box' }), - _react2.default.createElement(_locale.I18n, { path: 'actions.add' }) - ) - ); + _this3.props.uiActions.hideContextMenu(); + }, + "data-qa-node": "DropdownField", + "data-qa-file": "LibraryPlaylists" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Fields_DropdownField__WEBPACK_IMPORTED_MODULE_6__["default"], { + icon: "visibility", + name: Object(_locale__WEBPACK_IMPORTED_MODULE_16__["i18n"])('fields.view'), + valueAsLabel: true, + value: this.props.view, + options: view_options, + handleChange: function handleChange(value) { + _this3.props.uiActions.set({ + library_playlists_view: value + }); - return _react2.default.createElement( - 'div', - { className: 'view library-playlists-view' }, - _react2.default.createElement( - _Header2.default, - { options: options, uiActions: this.props.uiActions }, - _react2.default.createElement(_Icon2.default, { name: 'queue_music', type: 'material' }), - _react2.default.createElement(_locale.I18n, { path: 'library.playlists.title' }) - ), - this.renderView() - ); + _this3.props.uiActions.hideContextMenu(); + }, + "data-qa-node": "DropdownField", + "data-qa-file": "LibraryPlaylists" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Fields_DropdownField__WEBPACK_IMPORTED_MODULE_6__["default"], { + icon: "cloud", + name: Object(_locale__WEBPACK_IMPORTED_MODULE_16__["i18n"])('fields.source'), + valueAsLabel: true, + value: this.props.source, + options: source_options, + handleChange: function handleChange(value) { + _this3.props.uiActions.set({ + library_playlists_source: value + }); + + _this3.props.uiActions.hideContextMenu(); + }, + "data-qa-node": "DropdownField", + "data-qa-file": "LibraryPlaylists" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Link__WEBPACK_IMPORTED_MODULE_3__["default"], { + className: "button button--no-hover", + to: "/playlist/create", + "data-qa-node": "Link", + "data-qa-file": "LibraryPlaylists" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_10__["default"], { + name: "add_box", + "data-qa-node": "Icon", + "data-qa-file": "LibraryPlaylists" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_16__["I18n"], { + path: "actions.add", + "data-qa-node": "I18n", + "data-qa-file": "LibraryPlaylists" + }))); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "view library-playlists-view", + "data-qa-node": "div", + "data-qa-file": "LibraryPlaylists" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Header__WEBPACK_IMPORTED_MODULE_7__["default"], { + options: options, + uiActions: this.props.uiActions, + "data-qa-node": "Header", + "data-qa-file": "LibraryPlaylists" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_10__["default"], { + name: "queue_music", + type: "material", + "data-qa-node": "Icon", + "data-qa-file": "LibraryPlaylists" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_16__["I18n"], { + path: "library.playlists.title", + "data-qa-node": "I18n", + "data-qa-file": "LibraryPlaylists" + })), this.renderView()); } }]); return LibraryPlaylists; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); var mapStateToProps = function mapStateToProps(state, ownProps) { return { @@ -121641,14 +123730,14 @@ var mapStateToProps = function mapStateToProps(state, ownProps) { var mapDispatchToProps = function mapDispatchToProps(dispatch) { return { - coreActions: (0, _redux.bindActionCreators)(coreActions, dispatch), - uiActions: (0, _redux.bindActionCreators)(uiActions, dispatch), - mopidyActions: (0, _redux.bindActionCreators)(mopidyActions, dispatch), - spotifyActions: (0, _redux.bindActionCreators)(spotifyActions, dispatch) + coreActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_core_actions__WEBPACK_IMPORTED_MODULE_11__, dispatch), + uiActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_ui_actions__WEBPACK_IMPORTED_MODULE_12__, dispatch), + mopidyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_mopidy_actions__WEBPACK_IMPORTED_MODULE_13__, dispatch), + spotifyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_spotify_actions__WEBPACK_IMPORTED_MODULE_14__, dispatch) }; }; -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(LibraryPlaylists); +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapStateToProps, mapDispatchToProps)(LibraryPlaylists)); /***/ }), @@ -121656,175 +123745,199 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)( /*!***********************************************!*\ !*** ./src/js/views/library/LibraryTracks.js ***! \***********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); - -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); - -var _Loader = __webpack_require__(/*! ../../components/Loader */ "./src/js/components/Loader.js"); - -var _Loader2 = _interopRequireDefault(_Loader); - -var _TrackList = __webpack_require__(/*! ../../components/TrackList */ "./src/js/components/TrackList.js"); - -var _TrackList2 = _interopRequireDefault(_TrackList); - -var _Header = __webpack_require__(/*! ../../components/Header */ "./src/js/components/Header.js"); - -var _Header2 = _interopRequireDefault(_Header); - -var _LazyLoadListener = __webpack_require__(/*! ../../components/LazyLoadListener */ "./src/js/components/LazyLoadListener.js"); - -var _LazyLoadListener2 = _interopRequireDefault(_LazyLoadListener); - -var _Icon = __webpack_require__(/*! ../../components/Icon */ "./src/js/components/Icon.js"); - -var _Icon2 = _interopRequireDefault(_Icon); - -var _actions = __webpack_require__(/*! ../../services/ui/actions */ "./src/js/services/ui/actions.js"); - -var uiActions = _interopRequireWildcard(_actions); - -var _actions2 = __webpack_require__(/*! ../../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); - -var mopidyActions = _interopRequireWildcard(_actions2); - -var _actions3 = __webpack_require__(/*! ../../services/spotify/actions */ "./src/js/services/spotify/actions.js"); - -var spotifyActions = _interopRequireWildcard(_actions3); - -var _helpers = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); - -var _locale = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js"); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var _components_Loader__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../components/Loader */ "./src/js/components/Loader.js"); +/* harmony import */ var _components_TrackList__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../components/TrackList */ "./src/js/components/TrackList.js"); +/* harmony import */ var _components_Header__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../components/Header */ "./src/js/components/Header.js"); +/* harmony import */ var _components_LazyLoadListener__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../components/LazyLoadListener */ "./src/js/components/LazyLoadListener.js"); +/* harmony import */ var _components_Icon__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../components/Icon */ "./src/js/components/Icon.js"); +/* harmony import */ var _services_ui_actions__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../services/ui/actions */ "./src/js/services/ui/actions.js"); +/* harmony import */ var _services_mopidy_actions__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); +/* harmony import */ var _services_spotify_actions__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../services/spotify/actions */ "./src/js/services/spotify/actions.js"); +/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); +/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -var LibraryTracks = function (_React$Component) { +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + + + + + + + + + + + + + + + +var LibraryTracks = /*#__PURE__*/function (_React$Component) { _inherits(LibraryTracks, _React$Component); + var _super = _createSuper(LibraryTracks); + function LibraryTracks() { _classCallCheck(this, LibraryTracks); - return _possibleConstructorReturn(this, (LibraryTracks.__proto__ || Object.getPrototypeOf(LibraryTracks)).apply(this, arguments)); + return _super.apply(this, arguments); } _createClass(LibraryTracks, [{ - key: 'componentDidMount', + key: "componentDidMount", value: function componentDidMount() { - this.props.uiActions.setWindowTitle((0, _locale.i18n)('library.tracks.title')); + this.props.uiActions.setWindowTitle(Object(_locale__WEBPACK_IMPORTED_MODULE_12__["i18n"])('library.tracks.title')); if (!this.props.spotify_available) { this.props.uiActions.createNotification({ level: 'warning', - content: (0, _locale.i18n)('errors.enable_first', { provider: (0, _locale.i18n)('services.spotify.title') }) + content: Object(_locale__WEBPACK_IMPORTED_MODULE_12__["i18n"])('errors.enable_first', { + provider: Object(_locale__WEBPACK_IMPORTED_MODULE_12__["i18n"])('services.spotify.title') + }) }); } else if (this.props.library_tracks === undefined) { this.props.spotifyActions.getLibraryTracks(); } } }, { - key: 'loadMore', + key: "loadMore", value: function loadMore() { this.props.spotifyActions.getMore(this.props.library_tracks_more, null, { type: 'SPOTIFY_LIBRARY_TRACKS_LOADED_MORE' }); } }, { - key: 'playAll', + key: "playAll", value: function playAll() { this.props.spotifyActions.getLibraryTracksAndPlay(); } }, { - key: 'render', + key: "render", value: function render() { - var _this2 = this; + var _this = this; // Note trailing "?" makes sure our context menu in_library checks doesn't interfere - if ((0, _helpers.isLoading)(this.props.load_queue, ['spotify_me/tracks?'])) { - return _react2.default.createElement( - 'div', - { className: 'view library-tracks-view' }, - _react2.default.createElement(_Header2.default, { icon: 'music', title: (0, _locale.i18n)('library.tracks.title') }), - _react2.default.createElement(_Loader2.default, { body: true, loading: true }) - ); + if (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_11__["isLoading"])(this.props.load_queue, ['spotify_me/tracks?'])) { + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "view library-tracks-view", + "data-qa-node": "div", + "data-qa-file": "LibraryTracks" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Header__WEBPACK_IMPORTED_MODULE_5__["default"], { + icon: "music", + title: Object(_locale__WEBPACK_IMPORTED_MODULE_12__["i18n"])('library.tracks.title'), + "data-qa-node": "Header", + "data-qa-file": "LibraryTracks" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Loader__WEBPACK_IMPORTED_MODULE_3__["default"], { + body: true, + loading: true, + "data-qa-node": "Loader", + "data-qa-file": "LibraryTracks" + })); } var tracks = []; + if (this.props.library_tracks && this.props.tracks) { for (var i = 0; i < this.props.library_tracks.length; i++) { var uri = this.props.library_tracks[i]; + if (this.props.tracks.hasOwnProperty(uri)) { tracks.push(this.props.tracks[uri]); } } } - var options = _react2.default.createElement( - 'a', - { className: 'button button--no-hover', onClick: function onClick(e) { - return _this2.playAll(e); - } }, - _react2.default.createElement(_Icon2.default, { name: 'play_circle_filled' }), - _react2.default.createElement(_locale.I18n, { path: 'actions.play_all' }) - ); - - return _react2.default.createElement( - 'div', - { className: 'view library-tracks-view' }, - _react2.default.createElement( - _Header2.default, - { options: options, uiActions: this.props.uiActions }, - _react2.default.createElement(_Icon2.default, { name: 'music_note', type: 'material' }), - _react2.default.createElement(_locale.I18n, { path: 'library.tracks.title' }) - ), - _react2.default.createElement( - 'section', - { className: 'content-wrapper' }, - _react2.default.createElement(_TrackList2.default, { tracks: tracks }), - _react2.default.createElement(_LazyLoadListener2.default, { - loadKey: this.props.library_tracks_more, - showLoader: this.props.library_tracks_more, - loadMore: function loadMore() { - return _this2.loadMore(); - } - }) - ) - ); + var options = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + className: "button button--no-hover", + onClick: function onClick(e) { + return _this.playAll(e); + }, + "data-qa-node": "a", + "data-qa-file": "LibraryTracks" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_7__["default"], { + name: "play_circle_filled", + "data-qa-node": "Icon", + "data-qa-file": "LibraryTracks" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_12__["I18n"], { + path: "actions.play_all", + "data-qa-node": "I18n", + "data-qa-file": "LibraryTracks" + })); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "view library-tracks-view", + "data-qa-node": "div", + "data-qa-file": "LibraryTracks" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Header__WEBPACK_IMPORTED_MODULE_5__["default"], { + options: options, + uiActions: this.props.uiActions, + "data-qa-node": "Header", + "data-qa-file": "LibraryTracks" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_7__["default"], { + name: "music_note", + type: "material", + "data-qa-node": "Icon", + "data-qa-file": "LibraryTracks" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_12__["I18n"], { + path: "library.tracks.title", + "data-qa-node": "I18n", + "data-qa-file": "LibraryTracks" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("section", { + className: "content-wrapper", + "data-qa-node": "section", + "data-qa-file": "LibraryTracks" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_TrackList__WEBPACK_IMPORTED_MODULE_4__["default"], { + tracks: tracks, + "data-qa-node": "TrackList", + "data-qa-file": "LibraryTracks" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_LazyLoadListener__WEBPACK_IMPORTED_MODULE_6__["default"], { + loadKey: this.props.library_tracks_more, + showLoader: this.props.library_tracks_more, + loadMore: function loadMore() { + return _this.loadMore(); + }, + "data-qa-node": "LazyLoadListener", + "data-qa-file": "LibraryTracks" + }))); } }]); return LibraryTracks; -}(_react2.default.Component); - +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); /** * Export our component * * We also integrate our global store, using connect() * */ + var mapStateToProps = function mapStateToProps(state, ownProps) { return { load_queue: state.ui.load_queue, @@ -121837,13 +123950,13 @@ var mapStateToProps = function mapStateToProps(state, ownProps) { var mapDispatchToProps = function mapDispatchToProps(dispatch) { return { - uiActions: (0, _redux.bindActionCreators)(uiActions, dispatch), - mopidyActions: (0, _redux.bindActionCreators)(mopidyActions, dispatch), - spotifyActions: (0, _redux.bindActionCreators)(spotifyActions, dispatch) + uiActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_ui_actions__WEBPACK_IMPORTED_MODULE_8__, dispatch), + mopidyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_mopidy_actions__WEBPACK_IMPORTED_MODULE_9__, dispatch), + spotifyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_spotify_actions__WEBPACK_IMPORTED_MODULE_10__, dispatch) }; }; -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(LibraryTracks); +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapStateToProps, mapDispatchToProps)(LibraryTracks)); /***/ }), @@ -121851,87 +123964,78 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)( /*!**********************************************!*\ !*** ./src/js/views/modals/AddToPlaylist.js ***! \**********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); - -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); - -var _Loader = __webpack_require__(/*! ../../components/Loader */ "./src/js/components/Loader.js"); - -var _Loader2 = _interopRequireDefault(_Loader); - -var _Modal = __webpack_require__(/*! ./Modal */ "./src/js/views/modals/Modal.js"); - -var _Modal2 = _interopRequireDefault(_Modal); - -var _Icon = __webpack_require__(/*! ../../components/Icon */ "./src/js/components/Icon.js"); - -var _Icon2 = _interopRequireDefault(_Icon); - -var _Thumbnail = __webpack_require__(/*! ../../components/Thumbnail */ "./src/js/components/Thumbnail.js"); - -var _Thumbnail2 = _interopRequireDefault(_Thumbnail); - -var _actions = __webpack_require__(/*! ../../services/core/actions */ "./src/js/services/core/actions.js"); - -var coreActions = _interopRequireWildcard(_actions); - -var _actions2 = __webpack_require__(/*! ../../services/ui/actions */ "./src/js/services/ui/actions.js"); - -var uiActions = _interopRequireWildcard(_actions2); - -var _actions3 = __webpack_require__(/*! ../../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); - -var mopidyActions = _interopRequireWildcard(_actions3); - -var _actions4 = __webpack_require__(/*! ../../services/spotify/actions */ "./src/js/services/spotify/actions.js"); - -var spotifyActions = _interopRequireWildcard(_actions4); - -var _helpers = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); - -var _arrays = __webpack_require__(/*! ../../util/arrays */ "./src/js/util/arrays.js"); - -var _locale = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js"); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var _components_Loader__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../components/Loader */ "./src/js/components/Loader.js"); +/* harmony import */ var _Modal__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Modal */ "./src/js/views/modals/Modal.js"); +/* harmony import */ var _components_Icon__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../components/Icon */ "./src/js/components/Icon.js"); +/* harmony import */ var _components_Thumbnail__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../components/Thumbnail */ "./src/js/components/Thumbnail.js"); +/* harmony import */ var _services_core_actions__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../services/core/actions */ "./src/js/services/core/actions.js"); +/* harmony import */ var _services_ui_actions__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../services/ui/actions */ "./src/js/services/ui/actions.js"); +/* harmony import */ var _services_mopidy_actions__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); +/* harmony import */ var _services_spotify_actions__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../services/spotify/actions */ "./src/js/services/spotify/actions.js"); +/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); +/* harmony import */ var _util_arrays__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../util/arrays */ "./src/js/util/arrays.js"); +/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } -var AddToPlaylist = function (_React$Component) { +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _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; } + + + + + + + + + + + + + + + + +var AddToPlaylist = /*#__PURE__*/function (_React$Component) { _inherits(AddToPlaylist, _React$Component); - function AddToPlaylist() { - var _ref; + var _super = _createSuper(AddToPlaylist); - var _temp, _this, _ret; + function AddToPlaylist() { + var _this; _classCallCheck(this, AddToPlaylist); - for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } - return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = AddToPlaylist.__proto__ || Object.getPrototypeOf(AddToPlaylist)).call.apply(_ref, [this].concat(args))), _this), _this.componentDidMount = function () { + _this = _super.call.apply(_super, [this].concat(args)); + + _defineProperty(_assertThisInitialized(_this), "componentDidMount", function () { var _this$props = _this.props, spotify_library_playlists_status = _this$props.spotify_library_playlists_status, mopidy_library_playlists_status = _this$props.mopidy_library_playlists_status, @@ -121941,7 +124045,6 @@ var AddToPlaylist = function (_React$Component) { mopidyActions = _this$props.mopidyActions, setWindowTitle = _this$props.uiActions.setWindowTitle; - if ((!spotify_library_playlists_status || spotify_library_playlists_status !== 'finished') && spotify_available) { spotifyActions.getLibraryPlaylists(); } @@ -121950,108 +124053,128 @@ var AddToPlaylist = function (_React$Component) { mopidyActions.getLibraryPlaylists(); } - setWindowTitle((0, _locale.i18n)('modal.add_to_playlist.title')); - }, _this.playlistSelected = function (playlist_uri) { + setWindowTitle(Object(_locale__WEBPACK_IMPORTED_MODULE_13__["i18n"])('modal.add_to_playlist.title')); + }); + + _defineProperty(_assertThisInitialized(_this), "playlistSelected", function (playlist_uri) { var _this$props2 = _this.props, addTracksToPlaylist = _this$props2.coreActions.addTracksToPlaylist, uris = _this$props2.uris; - var encodedUris = uris.map(function (uri) { - return (0, _helpers.decodeMopidyUri)(uri); + return Object(_util_helpers__WEBPACK_IMPORTED_MODULE_11__["decodeMopidyUri"])(uri); }); addTracksToPlaylist(playlist_uri, encodedUris); window.history.back(); - }, _this.render = function () { + }); + + _defineProperty(_assertThisInitialized(_this), "render", function () { var _this$props3 = _this.props, playlists = _this$props3.playlists, uris = _this$props3.uris, spotify_library_playlists_status = _this$props3.spotify_library_playlists_status; - - - if (!playlists) return _react2.default.createElement( - 'div', - { className: 'empty' }, - _react2.default.createElement(_locale.I18n, { path: 'modal.add_to_playlist.no_editable_playlists' }) - ); - + if (!playlists) return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "empty", + "data-qa-node": "div", + "data-qa-file": "AddToPlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_13__["I18n"], { + path: "modal.add_to_playlist.no_editable_playlists", + "data-qa-node": "I18n", + "data-qa-file": "AddToPlaylist" + })); var editablePlaylists = []; + for (var uri in playlists) { if (playlists[uri].can_edit) editablePlaylists.push(playlists[uri]); } - editablePlaylists = (0, _arrays.sortItems)(editablePlaylists, 'name'); - + editablePlaylists = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_12__["sortItems"])(editablePlaylists, 'name'); var isLoading = spotify_library_playlists_status === 'running'; + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Modal__WEBPACK_IMPORTED_MODULE_4__["default"], { + className: "modal--add-to-playlist", + "data-qa-node": "Modal", + "data-qa-file": "AddToPlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h1", { + "data-qa-node": "h1", + "data-qa-file": "AddToPlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_13__["I18n"], { + path: "modal.add_to_playlist.title", + "data-qa-node": "I18n", + "data-qa-file": "AddToPlaylist" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h2", { + className: "mid_grey-text", + "data-qa-node": "h2", + "data-qa-file": "AddToPlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_13__["I18n"], { + path: "modal.add_to_playlist.subtitle", + count: uris.length, + plural: uris.length > 1 ? 's' : '', + "data-qa-node": "I18n", + "data-qa-file": "AddToPlaylist" + })), editablePlaylists.length <= 0 && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "no-results", + "data-qa-node": "div", + "data-qa-file": "AddToPlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_13__["I18n"], { + path: "modal.add_to_playlist.no_playlists", + "data-qa-node": "I18n", + "data-qa-file": "AddToPlaylist" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "list small playlists", + "data-qa-node": "div", + "data-qa-file": "AddToPlaylist" + }, editablePlaylists.map(function (playlist) { + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "list__item", + key: playlist.uri, + onClick: function onClick() { + return _this.playlistSelected(playlist.uri); + }, + "data-qa-node": "div", + "data-qa-file": "AddToPlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Thumbnail__WEBPACK_IMPORTED_MODULE_6__["default"], { + images: playlist.images, + size: "small", + "data-qa-node": "Thumbnail", + "data-qa-file": "AddToPlaylist" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h4", { + className: "list__item__name", + "data-qa-node": "h4", + "data-qa-file": "AddToPlaylist" + }, playlist.name), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("ul", { + className: "list__item__details details", + "data-qa-node": "ul", + "data-qa-file": "AddToPlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li", { + "data-qa-node": "li", + "data-qa-file": "AddToPlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_5__["default"], { + type: "fontawesome", + className: "source", + name: Object(_util_helpers__WEBPACK_IMPORTED_MODULE_11__["sourceIcon"])(playlist.uri), + "data-qa-node": "Icon", + "data-qa-file": "AddToPlaylist" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li", { + "data-qa-node": "li", + "data-qa-file": "AddToPlaylist" + }, playlist.tracks_total && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "mid_grey-text", + "data-qa-node": "span", + "data-qa-file": "AddToPlaylist" + }, "".concat(playlist.tracks_total, " tracks"))))); + })), isLoading && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Loader__WEBPACK_IMPORTED_MODULE_3__["default"], { + body: true, + lazy: true, + loading: true, + "data-qa-node": "Loader", + "data-qa-file": "AddToPlaylist" + })); + }); - return _react2.default.createElement( - _Modal2.default, - { className: 'modal--add-to-playlist' }, - _react2.default.createElement( - 'h1', - null, - _react2.default.createElement(_locale.I18n, { path: 'modal.add_to_playlist.title' }) - ), - _react2.default.createElement( - 'h2', - { className: 'mid_grey-text' }, - _react2.default.createElement(_locale.I18n, { - path: 'modal.add_to_playlist.subtitle', - count: uris.length, - plural: uris.length > 1 ? 's' : '' - }) - ), - editablePlaylists.length <= 0 && _react2.default.createElement( - 'div', - { className: 'no-results' }, - _react2.default.createElement(_locale.I18n, { path: 'modal.add_to_playlist.no_playlists' }) - ), - _react2.default.createElement( - 'div', - { className: 'list small playlists' }, - editablePlaylists.map(function (playlist) { - return _react2.default.createElement( - 'div', - { - className: 'list__item', - key: playlist.uri, - onClick: function onClick() { - return _this.playlistSelected(playlist.uri); - } - }, - _react2.default.createElement(_Thumbnail2.default, { images: playlist.images, size: 'small' }), - _react2.default.createElement( - 'h4', - { className: 'list__item__name' }, - playlist.name - ), - _react2.default.createElement( - 'ul', - { className: 'list__item__details details' }, - _react2.default.createElement( - 'li', - null, - _react2.default.createElement(_Icon2.default, { type: 'fontawesome', className: 'source', name: (0, _helpers.sourceIcon)(playlist.uri) }) - ), - _react2.default.createElement( - 'li', - null, - playlist.tracks_total && _react2.default.createElement( - 'span', - { className: 'mid_grey-text' }, - playlist.tracks_total + ' tracks' - ) - ) - ) - ); - }) - ), - isLoading && _react2.default.createElement(_Loader2.default, { body: true, lazy: true, loading: true }) - ); - }, _temp), _possibleConstructorReturn(_this, _ret); + return _this; } return AddToPlaylist; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); var mapStateToProps = function mapStateToProps(state, ownProps) { return { @@ -122071,14 +124194,14 @@ var mapStateToProps = function mapStateToProps(state, ownProps) { var mapDispatchToProps = function mapDispatchToProps(dispatch) { return { - coreActions: (0, _redux.bindActionCreators)(coreActions, dispatch), - uiActions: (0, _redux.bindActionCreators)(uiActions, dispatch), - mopidyActions: (0, _redux.bindActionCreators)(mopidyActions, dispatch), - spotifyActions: (0, _redux.bindActionCreators)(spotifyActions, dispatch) + coreActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_core_actions__WEBPACK_IMPORTED_MODULE_7__, dispatch), + uiActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_ui_actions__WEBPACK_IMPORTED_MODULE_8__, dispatch), + mopidyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_mopidy_actions__WEBPACK_IMPORTED_MODULE_9__, dispatch), + spotifyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_spotify_actions__WEBPACK_IMPORTED_MODULE_10__, dispatch) }; }; -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(AddToPlaylist); +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapStateToProps, mapDispatchToProps)(AddToPlaylist)); /***/ }), @@ -122086,73 +124209,74 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)( /*!*******************************************!*\ !*** ./src/js/views/modals/AddToQueue.js ***! \*******************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var _Modal__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Modal */ "./src/js/views/modals/Modal.js"); +/* harmony import */ var _services_core_actions__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../services/core/actions */ "./src/js/services/core/actions.js"); +/* harmony import */ var _services_ui_actions__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../services/ui/actions */ "./src/js/services/ui/actions.js"); +/* harmony import */ var _services_mopidy_actions__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); +/* harmony import */ var _services_spotify_actions__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../services/spotify/actions */ "./src/js/services/spotify/actions.js"); +/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js"); +/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); +/* harmony import */ var _components_Icon__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../components/Icon */ "./src/js/components/Icon.js"); +/* harmony import */ var _components_Fields_TextField__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../components/Fields/TextField */ "./src/js/components/Fields/TextField.js"); +/* harmony import */ var _components_LinksSentence__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../components/LinksSentence */ "./src/js/components/LinksSentence.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } -Object.defineProperty(exports, "__esModule", { - value: true -}); +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); } -var _react2 = _interopRequireDefault(_react); +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); - -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); - -var _Modal = __webpack_require__(/*! ./Modal */ "./src/js/views/modals/Modal.js"); - -var _Modal2 = _interopRequireDefault(_Modal); - -var _actions = __webpack_require__(/*! ../../services/core/actions */ "./src/js/services/core/actions.js"); - -var coreActions = _interopRequireWildcard(_actions); - -var _actions2 = __webpack_require__(/*! ../../services/ui/actions */ "./src/js/services/ui/actions.js"); - -var uiActions = _interopRequireWildcard(_actions2); - -var _actions3 = __webpack_require__(/*! ../../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); - -var mopidyActions = _interopRequireWildcard(_actions3); - -var _actions4 = __webpack_require__(/*! ../../services/spotify/actions */ "./src/js/services/spotify/actions.js"); - -var spotifyActions = _interopRequireWildcard(_actions4); - -var _locale = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js"); - -var _helpers = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); - -var _Icon = __webpack_require__(/*! ../../components/Icon */ "./src/js/components/Icon.js"); - -var _Icon2 = _interopRequireDefault(_Icon); - -var _TextField = __webpack_require__(/*! ../../components/Fields/TextField */ "./src/js/components/Fields/TextField.js"); - -var _TextField2 = _interopRequireDefault(_TextField); - -var _LinksSentence = __webpack_require__(/*! ../../components/LinksSentence */ "./src/js/components/LinksSentence.js"); - -var _LinksSentence2 = _interopRequireDefault(_LinksSentence); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _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; } + + + + + + + + + + + + + -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } var UriListItem = function UriListItem(_ref) { var uri = _ref.uri, @@ -122160,294 +124284,350 @@ var UriListItem = function UriListItem(_ref) { random_tracks = _ref.random_tracks, albums = _ref.albums, remove = _ref.remove; - - var type = (0, _helpers.uriType)(uri); + var type = Object(_util_helpers__WEBPACK_IMPORTED_MODULE_9__["uriType"])(uri); var item = null; + switch (type) { case 'track': item = tracks[uri]; break; + case 'album': item = albums[uri]; break; + default: break; } + if (!item) { item = random_tracks.find(function (track) { return track.uri === uri; }); } - return _react2.default.createElement( - 'div', - { className: 'list__item list__item--no-interaction' }, - item ? item.name : _react2.default.createElement( - 'span', - { className: 'mid_grey-text' }, - uri - ), - item && item.artists && _react2.default.createElement( - _locale.I18n, - { path: 'common.by', contentAfter: true }, - _react2.default.createElement(_LinksSentence2.default, { nolinks: true, items: item.artists }) - ), - _react2.default.createElement( - 'span', - { className: 'mid_grey-text' }, - ' (' + type + ')' - ), - _react2.default.createElement( - 'button', - { - className: 'button button--discrete button--destructive button--tiny pull-right', - type: 'button', - onClick: function onClick() { - return remove(uri); - } - }, - _react2.default.createElement(_Icon2.default, { name: 'delete' }), - _react2.default.createElement(_locale.I18n, { path: 'actions.remove' }) - ) - ); + + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "list__item list__item--no-interaction", + "data-qa-node": "div", + "data-qa-file": "AddToQueue" + }, item ? item.name : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "mid_grey-text", + "data-qa-node": "span", + "data-qa-file": "AddToQueue" + }, uri), item && item.artists && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_8__["I18n"], { + path: "common.by", + contentAfter: true, + "data-qa-node": "I18n", + "data-qa-file": "AddToQueue" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_LinksSentence__WEBPACK_IMPORTED_MODULE_12__["default"], { + nolinks: true, + items: item.artists, + "data-qa-node": "LinksSentence", + "data-qa-file": "AddToQueue" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "mid_grey-text", + "data-qa-node": "span", + "data-qa-file": "AddToQueue" + }, " (".concat(type, ")")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", { + className: "button button--discrete button--destructive button--tiny pull-right", + type: "button", + onClick: function onClick() { + return remove(uri); + }, + "data-qa-node": "button", + "data-qa-file": "AddToQueue" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_10__["default"], { + name: "delete", + "data-qa-node": "Icon", + "data-qa-file": "AddToQueue" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_8__["I18n"], { + path: "actions.remove", + "data-qa-node": "I18n", + "data-qa-file": "AddToQueue" + }))); }; -var AddToQueue = function (_React$Component) { +var AddToQueue = /*#__PURE__*/function (_React$Component) { _inherits(AddToQueue, _React$Component); + var _super = _createSuper(AddToQueue); + function AddToQueue(props) { + var _this; + _classCallCheck(this, AddToQueue); - var _this = _possibleConstructorReturn(this, (AddToQueue.__proto__ || Object.getPrototypeOf(AddToQueue)).call(this, props)); + _this = _super.call(this, props); - _this.onSubmit = function (e) { + _defineProperty(_assertThisInitialized(_this), "onSubmit", function (e) { var next = _this.state.next; var _this$props = _this.props, enqueueURIs = _this$props.mopidyActions.enqueueURIs, _this$props$view$uris = _this$props.view.uris, - uris = _this$props$view$uris === undefined ? [] : _this$props$view$uris; - - + uris = _this$props$view$uris === void 0 ? [] : _this$props$view$uris; e.preventDefault(); enqueueURIs(uris, null, next); + _this.reset(); + window.history.back(); - }; + }); - _this.onChange = function (text) { - _this.setState({ text: text }); - }; + _defineProperty(_assertThisInitialized(_this), "onChange", function (text) { + _this.setState({ + text: text + }); + }); - _this.reset = function () { + _defineProperty(_assertThisInitialized(_this), "reset", function () { var viewDataLoaded = _this.props.coreActions.viewDataLoaded; + viewDataLoaded({ + uris: [], + random_tracks: [] + }); + }); - - viewDataLoaded({ uris: [], random_tracks: [] }); - }; - - _this.addRandom = function () { + _defineProperty(_assertThisInitialized(_this), "addRandom", function () { var view_getRandomTracks = _this.props.mopidyActions.view_getRandomTracks; - - view_getRandomTracks(20); - }; + }); - _this.addUris = function () { + _defineProperty(_assertThisInitialized(_this), "addUris", function () { var text = _this.state.text; var _this$props2 = _this.props, _this$props2$view$uri = _this$props2.view.uris, - prevUris = _this$props2$view$uri === undefined ? [] : _this$props2$view$uri, + prevUris = _this$props2$view$uri === void 0 ? [] : _this$props2$view$uri, _this$props2$coreActi = _this$props2.coreActions, loadItem = _this$props2$coreActi.loadItem, viewDataLoaded = _this$props2$coreActi.viewDataLoaded; - var uris = text.split(','); - var validatedUris = uris.filter(function (uri) { - return (0, _helpers.uriType)(uri); + return Object(_util_helpers__WEBPACK_IMPORTED_MODULE_9__["uriType"])(uri); }); - validatedUris.forEach(function (uri) { loadItem(uri); }); - _this.setState({ text: '' }); - viewDataLoaded({ uris: [].concat(_toConsumableArray(prevUris), _toConsumableArray(validatedUris)) }); - }; + _this.setState({ + text: '' + }); - _this.removeUri = function (uri) { + viewDataLoaded({ + uris: [].concat(_toConsumableArray(prevUris), _toConsumableArray(validatedUris)) + }); + }); + + _defineProperty(_assertThisInitialized(_this), "removeUri", function (uri) { var _this$props3 = _this.props, _this$props3$view$uri = _this$props3.view.uris, - uris = _this$props3$view$uri === undefined ? [] : _this$props3$view$uri, + uris = _this$props3$view$uri === void 0 ? [] : _this$props3$view$uri, viewDataLoaded = _this$props3.coreActions.viewDataLoaded; - - - viewDataLoaded({ uris: uris.filter(function (item) { + viewDataLoaded({ + uris: uris.filter(function (item) { return item !== uri; - }) }); - }; + }) + }); + }); - _this.render = function () { + _defineProperty(_assertThisInitialized(_this), "render", function () { var _this$props4 = _this.props, tracks = _this$props4.tracks, albums = _this$props4.albums, _this$props4$view = _this$props4.view, _this$props4$view$uri = _this$props4$view.uris, - uris = _this$props4$view$uri === undefined ? [] : _this$props4$view$uri, + uris = _this$props4$view$uri === void 0 ? [] : _this$props4$view$uri, _this$props4$view$ran = _this$props4$view.random_tracks, - random_tracks = _this$props4$view$ran === undefined ? [] : _this$props4$view$ran; + random_tracks = _this$props4$view$ran === void 0 ? [] : _this$props4$view$ran; var _this$state = _this.state, text = _this$state.text, error = _this$state.error, next = _this$state.next; - - - return _react2.default.createElement( - _Modal2.default, - { className: 'modal--add-to-queue' }, - _react2.default.createElement( - 'h1', - null, - _react2.default.createElement(_locale.I18n, { path: 'modal.add_to_queue.title' }) - ), - _react2.default.createElement( - 'h2', - { className: 'mid_grey-text' }, - _react2.default.createElement(_locale.I18n, { path: 'modal.add_to_queue.subtitle' }) - ), - _react2.default.createElement( - 'form', - { onSubmit: _this.onSubmit }, - _react2.default.createElement( - 'div', - { className: 'field text' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'fields.uri' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement(_TextField2.default, { - onChange: _this.onChange, - value: text - }), - _react2.default.createElement( - 'span', - { className: 'button discrete add-uri no-hover', onClick: _this.addUris }, - _react2.default.createElement(_Icon2.default, { name: 'add' }), - _react2.default.createElement(_locale.I18n, { path: 'actions.add' }) - ), - error && _react2.default.createElement( - 'span', - { className: 'description error' }, - error - ) - ) - ), - _react2.default.createElement( - 'div', - { className: 'field text' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'fields.items_to_add.label' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - uris.length ? _react2.default.createElement( - 'div', - { className: 'list' }, - uris.map(function (uri, index) { - return _react2.default.createElement(UriListItem, { - uri: uri, - tracks: tracks, - random_tracks: random_tracks, - albums: albums, - remove: _this.removeUri, - key: uri + '_' + index - }); - }) - ) : _react2.default.createElement( - 'span', - { className: 'text mid_grey-text' }, - _react2.default.createElement(_locale.I18n, { path: 'fields.items_to_add.placeholder' }) - ) - ) - ), - _react2.default.createElement( - 'div', - { className: 'field radio white' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'modal.add_to_queue.position.label' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement( - 'label', - null, - _react2.default.createElement('input', { - type: 'radio', - name: 'next', - checked: !next, - onChange: function onChange() { - return _this.setState({ next: false }); - } - }), - _react2.default.createElement( - 'span', - { className: 'label' }, - _react2.default.createElement(_locale.I18n, { path: 'modal.add_to_queue.position.end' }) - ) - ), - _react2.default.createElement( - 'label', - null, - _react2.default.createElement('input', { - type: 'radio', - name: 'next', - checked: next, - onChange: function onChange() { - return _this.setState({ next: true }); - } - }), - _react2.default.createElement( - 'span', - { className: 'label' }, - _react2.default.createElement(_locale.I18n, { path: 'modal.add_to_queue.position.next' }) - ) - ) - ) - ), - _react2.default.createElement( - 'div', - { className: 'actions centered-text' }, - _react2.default.createElement( - 'button', - { - type: 'button', - className: 'button button--grey button--large', - onClick: _this.addRandom - }, - _react2.default.createElement(_locale.I18n, { path: 'modal.add_to_queue.add_random' }) - ), - _react2.default.createElement( - 'button', - { - type: 'submit', - className: 'button button--primary button--large', - disabled: !uris.length - }, - _react2.default.createElement(_locale.I18n, { path: 'actions.add' }) - ) - ) - ) - ); - }; + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Modal__WEBPACK_IMPORTED_MODULE_3__["default"], { + className: "modal--add-to-queue", + "data-qa-node": "Modal", + "data-qa-file": "AddToQueue" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h1", { + "data-qa-node": "h1", + "data-qa-file": "AddToQueue" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_8__["I18n"], { + path: "modal.add_to_queue.title", + "data-qa-node": "I18n", + "data-qa-file": "AddToQueue" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h2", { + className: "mid_grey-text", + "data-qa-node": "h2", + "data-qa-file": "AddToQueue" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_8__["I18n"], { + path: "modal.add_to_queue.subtitle", + "data-qa-node": "I18n", + "data-qa-file": "AddToQueue" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("form", { + onSubmit: _this.onSubmit, + "data-qa-node": "form", + "data-qa-file": "AddToQueue" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field text", + "data-qa-node": "div", + "data-qa-file": "AddToQueue" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "AddToQueue" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_8__["I18n"], { + path: "fields.uri", + "data-qa-node": "I18n", + "data-qa-file": "AddToQueue" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "AddToQueue" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Fields_TextField__WEBPACK_IMPORTED_MODULE_11__["default"], { + onChange: _this.onChange, + value: text, + "data-qa-node": "TextField", + "data-qa-file": "AddToQueue" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "button discrete add-uri no-hover", + onClick: _this.addUris, + "data-qa-node": "span", + "data-qa-file": "AddToQueue" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_10__["default"], { + name: "add", + "data-qa-node": "Icon", + "data-qa-file": "AddToQueue" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_8__["I18n"], { + path: "actions.add", + "data-qa-node": "I18n", + "data-qa-file": "AddToQueue" + })), error && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "description error", + "data-qa-node": "span", + "data-qa-file": "AddToQueue" + }, error))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field text", + "data-qa-node": "div", + "data-qa-file": "AddToQueue" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "AddToQueue" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_8__["I18n"], { + path: "fields.items_to_add.label", + "data-qa-node": "I18n", + "data-qa-file": "AddToQueue" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "AddToQueue" + }, uris.length ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "list", + "data-qa-node": "div", + "data-qa-file": "AddToQueue" + }, uris.map(function (uri, index) { + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(UriListItem, { + uri: uri, + tracks: tracks, + random_tracks: random_tracks, + albums: albums, + remove: _this.removeUri, + key: "".concat(uri, "_").concat(index), + "data-qa-node": "UriListItem", + "data-qa-file": "AddToQueue" + }); + })) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "text mid_grey-text", + "data-qa-node": "span", + "data-qa-file": "AddToQueue" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_8__["I18n"], { + path: "fields.items_to_add.placeholder", + "data-qa-node": "I18n", + "data-qa-file": "AddToQueue" + })))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field radio white", + "data-qa-node": "div", + "data-qa-file": "AddToQueue" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "AddToQueue" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_8__["I18n"], { + path: "modal.add_to_queue.position.label", + "data-qa-node": "I18n", + "data-qa-file": "AddToQueue" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "AddToQueue" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { + "data-qa-node": "label", + "data-qa-file": "AddToQueue" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { + type: "radio", + name: "next", + checked: !next, + onChange: function onChange() { + return _this.setState({ + next: false + }); + }, + "data-qa-node": "input", + "data-qa-file": "AddToQueue" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "label", + "data-qa-node": "span", + "data-qa-file": "AddToQueue" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_8__["I18n"], { + path: "modal.add_to_queue.position.end", + "data-qa-node": "I18n", + "data-qa-file": "AddToQueue" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { + "data-qa-node": "label", + "data-qa-file": "AddToQueue" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { + type: "radio", + name: "next", + checked: next, + onChange: function onChange() { + return _this.setState({ + next: true + }); + }, + "data-qa-node": "input", + "data-qa-file": "AddToQueue" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "label", + "data-qa-node": "span", + "data-qa-file": "AddToQueue" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_8__["I18n"], { + path: "modal.add_to_queue.position.next", + "data-qa-node": "I18n", + "data-qa-file": "AddToQueue" + }))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "actions centered-text", + "data-qa-node": "div", + "data-qa-file": "AddToQueue" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", { + type: "button", + className: "button button--grey button--large", + onClick: _this.addRandom, + "data-qa-node": "button", + "data-qa-file": "AddToQueue" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_8__["I18n"], { + path: "modal.add_to_queue.add_random", + "data-qa-node": "I18n", + "data-qa-file": "AddToQueue" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", { + type: "submit", + className: "button button--primary button--large", + disabled: !uris.length, + "data-qa-node": "button", + "data-qa-file": "AddToQueue" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_8__["I18n"], { + path: "actions.add", + "data-qa-node": "I18n", + "data-qa-file": "AddToQueue" + }))))); + }); _this.state = { text: '', @@ -122458,17 +124638,15 @@ var AddToQueue = function (_React$Component) { } _createClass(AddToQueue, [{ - key: 'componentDidMount', + key: "componentDidMount", value: function componentDidMount() { var setWindowTitle = this.props.uiActions.setWindowTitle; - - - setWindowTitle((0, _locale.i18n)('modal.add_to_queue.title')); + setWindowTitle(Object(_locale__WEBPACK_IMPORTED_MODULE_8__["i18n"])('modal.add_to_queue.title')); } }]); return AddToQueue; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); var mapStateToProps = function mapStateToProps(state) { return { @@ -122481,14 +124659,14 @@ var mapStateToProps = function mapStateToProps(state) { var mapDispatchToProps = function mapDispatchToProps(dispatch) { return { - coreActions: (0, _redux.bindActionCreators)(coreActions, dispatch), - uiActions: (0, _redux.bindActionCreators)(uiActions, dispatch), - mopidyActions: (0, _redux.bindActionCreators)(mopidyActions, dispatch), - spotifyActions: (0, _redux.bindActionCreators)(spotifyActions, dispatch) + coreActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_core_actions__WEBPACK_IMPORTED_MODULE_4__, dispatch), + uiActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_ui_actions__WEBPACK_IMPORTED_MODULE_5__, dispatch), + mopidyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_mopidy_actions__WEBPACK_IMPORTED_MODULE_6__, dispatch), + spotifyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_spotify_actions__WEBPACK_IMPORTED_MODULE_7__, dispatch) }; }; -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(AddToQueue); +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapStateToProps, mapDispatchToProps)(AddToQueue)); /***/ }), @@ -122496,138 +124674,160 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)( /*!***********************************************!*\ !*** ./src/js/views/modals/CreatePlaylist.js ***! \***********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); - -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); - -var _Modal = __webpack_require__(/*! ./Modal */ "./src/js/views/modals/Modal.js"); - -var _Modal2 = _interopRequireDefault(_Modal); - -var _actions = __webpack_require__(/*! ../../services/core/actions */ "./src/js/services/core/actions.js"); - -var coreActions = _interopRequireWildcard(_actions); - -var _actions2 = __webpack_require__(/*! ../../services/ui/actions */ "./src/js/services/ui/actions.js"); - -var uiActions = _interopRequireWildcard(_actions2); - -var _locale = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js"); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var _Modal__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Modal */ "./src/js/views/modals/Modal.js"); +/* harmony import */ var _services_core_actions__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../services/core/actions */ "./src/js/services/core/actions.js"); +/* harmony import */ var _services_ui_actions__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../services/ui/actions */ "./src/js/services/ui/actions.js"); +/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -var CreatePlaylist = function (_React$Component) { +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _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; } + + + + + + + + + +var CreatePlaylist = /*#__PURE__*/function (_React$Component) { _inherits(CreatePlaylist, _React$Component); + var _super = _createSuper(CreatePlaylist); + function CreatePlaylist(props) { + var _this; + _classCallCheck(this, CreatePlaylist); - var _this = _possibleConstructorReturn(this, (CreatePlaylist.__proto__ || Object.getPrototypeOf(CreatePlaylist)).call(this, props)); + _this = _super.call(this, props); - _this.render = function () { + _defineProperty(_assertThisInitialized(_this), "render", function () { var spotify_available = _this.props.spotify_available; - - - return _react2.default.createElement( - _Modal2.default, - { className: 'modal--create-playlist' }, - _react2.default.createElement( - 'h1', - null, - _react2.default.createElement(_locale.I18n, { path: 'modal.edit_playlist.title_create' }) - ), - _react2.default.createElement( - 'form', - { onSubmit: function onSubmit(e) { - return _this.createPlaylist(e); - } }, - _react2.default.createElement( - 'div', - { className: 'field radio white' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'modal.edit_playlist.provider' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement( - 'label', - null, - _react2.default.createElement('input', { - type: 'radio', - name: 'scheme', - value: 'm3u', - checked: _this.state.scheme === 'm3u', - onChange: function onChange(e) { - return _this.setState({ scheme: e.target.value }); - } - }), - _react2.default.createElement( - 'span', - { className: 'label' }, - _react2.default.createElement(_locale.I18n, { path: 'services.mopidy.title' }) - ) - ), - _react2.default.createElement( - 'label', - null, - _react2.default.createElement('input', { - type: 'radio', - name: 'scheme', - value: 'spotify', - disabled: !spotify_available, - checked: _this.state.scheme === 'spotify', - onChange: function onChange(e) { - return _this.setState({ scheme: e.target.value }); - } - }), - _react2.default.createElement( - 'span', - { className: 'label' }, - _react2.default.createElement(_locale.I18n, { path: 'services.spotify.title' }) - ) - ) - ) - ), - _this.renderFields(), - _react2.default.createElement( - 'div', - { className: 'actions centered-text' }, - _react2.default.createElement( - 'button', - { type: 'submit', className: 'button button--primary button--large' }, - _react2.default.createElement(_locale.I18n, { path: 'modal.edit_playlist.create_playlist' }) - ) - ) - ) - ); - }; + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Modal__WEBPACK_IMPORTED_MODULE_3__["default"], { + className: "modal--create-playlist", + "data-qa-node": "Modal", + "data-qa-file": "CreatePlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h1", { + "data-qa-node": "h1", + "data-qa-file": "CreatePlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_6__["I18n"], { + path: "modal.edit_playlist.title_create", + "data-qa-node": "I18n", + "data-qa-file": "CreatePlaylist" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("form", { + onSubmit: function onSubmit(e) { + return _this.createPlaylist(e); + }, + "data-qa-node": "form", + "data-qa-file": "CreatePlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field radio white", + "data-qa-node": "div", + "data-qa-file": "CreatePlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "CreatePlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_6__["I18n"], { + path: "modal.edit_playlist.provider", + "data-qa-node": "I18n", + "data-qa-file": "CreatePlaylist" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "CreatePlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { + "data-qa-node": "label", + "data-qa-file": "CreatePlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { + type: "radio", + name: "scheme", + value: "m3u", + checked: _this.state.scheme === 'm3u', + onChange: function onChange(e) { + return _this.setState({ + scheme: e.target.value + }); + }, + "data-qa-node": "input", + "data-qa-file": "CreatePlaylist" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "label", + "data-qa-node": "span", + "data-qa-file": "CreatePlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_6__["I18n"], { + path: "services.mopidy.title", + "data-qa-node": "I18n", + "data-qa-file": "CreatePlaylist" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { + "data-qa-node": "label", + "data-qa-file": "CreatePlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { + type: "radio", + name: "scheme", + value: "spotify", + disabled: !spotify_available, + checked: _this.state.scheme === 'spotify', + onChange: function onChange(e) { + return _this.setState({ + scheme: e.target.value + }); + }, + "data-qa-node": "input", + "data-qa-file": "CreatePlaylist" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "label", + "data-qa-node": "span", + "data-qa-file": "CreatePlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_6__["I18n"], { + path: "services.spotify.title", + "data-qa-node": "I18n", + "data-qa-file": "CreatePlaylist" + }))))), _this.renderFields(), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "actions centered-text", + "data-qa-node": "div", + "data-qa-file": "CreatePlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", { + type: "submit", + className: "button button--primary button--large", + "data-qa-node": "button", + "data-qa-file": "CreatePlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_6__["I18n"], { + path: "modal.edit_playlist.create_playlist", + "data-qa-node": "I18n", + "data-qa-file": "CreatePlaylist" + }))))); + }); _this.state = { name: '', @@ -122640,155 +124840,187 @@ var CreatePlaylist = function (_React$Component) { } _createClass(CreatePlaylist, [{ - key: 'componentDidMount', + key: "componentDidMount", value: function componentDidMount() { - this.props.uiActions.setWindowTitle((0, _locale.i18n)('modal.edit_playlist.title_create')); + this.props.uiActions.setWindowTitle(Object(_locale__WEBPACK_IMPORTED_MODULE_6__["i18n"])('modal.edit_playlist.title_create')); } }, { - key: 'createPlaylist', + key: "createPlaylist", value: function createPlaylist(e) { e.preventDefault(); if (!this.state.name || this.state.name == '') { - this.setState({ error: (0, _locale.i18n)('modal.edit_playlist.name_required') }); + this.setState({ + error: Object(_locale__WEBPACK_IMPORTED_MODULE_6__["i18n"])('modal.edit_playlist.name_required') + }); return false; } + this.props.coreActions.createPlaylist(this.state.scheme, this.state.name, this.state.description, this.state.is_public, this.state.is_collaborative); window.history.back(); - return false; } }, { - key: 'renderFields', + key: "renderFields", value: function renderFields() { var _this2 = this; switch (this.state.scheme) { case 'spotify': - return _react2.default.createElement( - 'div', - null, - _react2.default.createElement( - 'div', - { className: 'field text' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'modal.edit_playlist.name' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement('input', { - type: 'text', - onChange: function onChange(e) { - return _this2.setState({ name: e.target.value }); - }, - value: this.state.name - }) - ) - ), - _react2.default.createElement( - 'div', - { className: 'field text' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'modal.edit_playlist.description' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement('input', { - type: 'text', - onChange: function onChange(e) { - return _this2.setState({ description: e.target.value }); - }, - - value: this.state.description - }) - ) - ), - _react2.default.createElement( - 'div', - { className: 'field checkbox white' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'modal.edit_playlist.options.label' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement( - 'label', - null, - _react2.default.createElement('input', { - type: 'checkbox', - name: 'is_public', - checked: this.state.is_public, - onChange: function onChange(e) { - return _this2.setState({ is_public: !_this2.state.is_public }); - } - }), - _react2.default.createElement( - 'span', - { className: 'label' }, - _react2.default.createElement(_locale.I18n, { path: 'modal.edit_playlist.options.public' }) - ) - ), - _react2.default.createElement( - 'label', - null, - _react2.default.createElement('input', { - type: 'checkbox', - name: 'is_collaborative', - checked: this.state.is_collaborative, - onChange: function onChange(e) { - return _this2.setState({ is_collaborative: !_this2.state.is_collaborative }); - } - }), - _react2.default.createElement( - 'span', - { className: 'label' }, - _react2.default.createElement(_locale.I18n, { path: 'modal.edit_playlist.options.collaborative' }) - ) - ) - ) - ) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + "data-qa-node": "div", + "data-qa-file": "CreatePlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field text", + "data-qa-node": "div", + "data-qa-file": "CreatePlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "CreatePlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_6__["I18n"], { + path: "modal.edit_playlist.name", + "data-qa-node": "I18n", + "data-qa-file": "CreatePlaylist" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "CreatePlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { + type: "text", + onChange: function onChange(e) { + return _this2.setState({ + name: e.target.value + }); + }, + value: this.state.name, + "data-qa-node": "input", + "data-qa-file": "CreatePlaylist" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field text", + "data-qa-node": "div", + "data-qa-file": "CreatePlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "CreatePlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_6__["I18n"], { + path: "modal.edit_playlist.description", + "data-qa-node": "I18n", + "data-qa-file": "CreatePlaylist" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "CreatePlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { + type: "text", + onChange: function onChange(e) { + return _this2.setState({ + description: e.target.value + }); + }, + value: this.state.description, + "data-qa-node": "input", + "data-qa-file": "CreatePlaylist" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field checkbox white", + "data-qa-node": "div", + "data-qa-file": "CreatePlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "CreatePlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_6__["I18n"], { + path: "modal.edit_playlist.options.label", + "data-qa-node": "I18n", + "data-qa-file": "CreatePlaylist" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "CreatePlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { + "data-qa-node": "label", + "data-qa-file": "CreatePlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { + type: "checkbox", + name: "is_public", + checked: this.state.is_public, + onChange: function onChange(e) { + return _this2.setState({ + is_public: !_this2.state.is_public + }); + }, + "data-qa-node": "input", + "data-qa-file": "CreatePlaylist" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "label", + "data-qa-node": "span", + "data-qa-file": "CreatePlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_6__["I18n"], { + path: "modal.edit_playlist.options.public", + "data-qa-node": "I18n", + "data-qa-file": "CreatePlaylist" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { + "data-qa-node": "label", + "data-qa-file": "CreatePlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { + type: "checkbox", + name: "is_collaborative", + checked: this.state.is_collaborative, + onChange: function onChange(e) { + return _this2.setState({ + is_collaborative: !_this2.state.is_collaborative + }); + }, + "data-qa-node": "input", + "data-qa-file": "CreatePlaylist" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "label", + "data-qa-node": "span", + "data-qa-file": "CreatePlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_6__["I18n"], { + path: "modal.edit_playlist.options.collaborative", + "data-qa-node": "I18n", + "data-qa-file": "CreatePlaylist" + })))))); default: - return _react2.default.createElement( - 'div', - null, - _react2.default.createElement( - 'div', - { className: 'field text' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'modal.edit_playlist.name' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement('input', { - type: 'text', - onChange: function onChange(e) { - return _this2.setState({ name: e.target.value }); - }, - value: this.state.name - }) - ) - ) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + "data-qa-node": "div", + "data-qa-file": "CreatePlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field text", + "data-qa-node": "div", + "data-qa-file": "CreatePlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "CreatePlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_6__["I18n"], { + path: "modal.edit_playlist.name", + "data-qa-node": "I18n", + "data-qa-file": "CreatePlaylist" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "CreatePlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { + type: "text", + onChange: function onChange(e) { + return _this2.setState({ + name: e.target.value + }); + }, + value: this.state.name, + "data-qa-node": "input", + "data-qa-file": "CreatePlaylist" + })))); } } }]); return CreatePlaylist; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); var mapStateToProps = function mapStateToProps(state, ownProps) { return { @@ -122798,12 +125030,12 @@ var mapStateToProps = function mapStateToProps(state, ownProps) { var mapDispatchToProps = function mapDispatchToProps(dispatch) { return { - coreActions: (0, _redux.bindActionCreators)(coreActions, dispatch), - uiActions: (0, _redux.bindActionCreators)(uiActions, dispatch) + coreActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_core_actions__WEBPACK_IMPORTED_MODULE_4__, dispatch), + uiActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_ui_actions__WEBPACK_IMPORTED_MODULE_5__, dispatch) }; }; -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(CreatePlaylist); +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapStateToProps, mapDispatchToProps)(CreatePlaylist)); /***/ }), @@ -122811,78 +125043,74 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)( /*!********************************************!*\ !*** ./src/js/views/modals/EditCommand.js ***! \********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); - -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); - -var _Modal = __webpack_require__(/*! ./Modal */ "./src/js/views/modals/Modal.js"); - -var _Modal2 = _interopRequireDefault(_Modal); - -var _ColourField = __webpack_require__(/*! ../../components/Fields/ColourField */ "./src/js/components/Fields/ColourField.js"); - -var _ColourField2 = _interopRequireDefault(_ColourField); - -var _IconField = __webpack_require__(/*! ../../components/Fields/IconField */ "./src/js/components/Fields/IconField.js"); - -var _IconField2 = _interopRequireDefault(_IconField); - -var _TextField = __webpack_require__(/*! ../../components/Fields/TextField */ "./src/js/components/Fields/TextField.js"); - -var _TextField2 = _interopRequireDefault(_TextField); - -var _actions = __webpack_require__(/*! ../../services/pusher/actions */ "./src/js/services/pusher/actions.js"); - -var pusherActions = _interopRequireWildcard(_actions); - -var _actions2 = __webpack_require__(/*! ../../services/ui/actions */ "./src/js/services/ui/actions.js"); - -var uiActions = _interopRequireWildcard(_actions2); - -var _helpers = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); - -var _locale = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js"); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var _Modal__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Modal */ "./src/js/views/modals/Modal.js"); +/* harmony import */ var _components_Fields_ColourField__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../components/Fields/ColourField */ "./src/js/components/Fields/ColourField.js"); +/* harmony import */ var _components_Fields_IconField__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../components/Fields/IconField */ "./src/js/components/Fields/IconField.js"); +/* harmony import */ var _components_Fields_TextField__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../components/Fields/TextField */ "./src/js/components/Fields/TextField.js"); +/* harmony import */ var _services_pusher_actions__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../services/pusher/actions */ "./src/js/services/pusher/actions.js"); +/* harmony import */ var _services_ui_actions__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../services/ui/actions */ "./src/js/services/ui/actions.js"); +/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); +/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -var EditCommand = function (_React$Component) { +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + + + + + + + + + + + + + +var EditCommand = /*#__PURE__*/function (_React$Component) { _inherits(EditCommand, _React$Component); + var _super = _createSuper(EditCommand); + function EditCommand(props) { + var _this; + _classCallCheck(this, EditCommand); - var _this = _possibleConstructorReturn(this, (EditCommand.__proto__ || Object.getPrototypeOf(EditCommand)).call(this, props)); - + _this = _super.call(this, props); _this.state = { - id: (0, _helpers.generateGuid)(), + id: Object(_util_helpers__WEBPACK_IMPORTED_MODULE_9__["generateGuid"])(), icon: 'power_settings_new', name: '', colour: '', - url: 'https://' + window.location.hostname + '/broadlink/sendCommand/power/', + url: "https://".concat(window.location.hostname, "/broadlink/sendCommand/power/"), method: 'GET', post_data: '', additional_headers: '' @@ -122891,273 +125119,322 @@ var EditCommand = function (_React$Component) { } _createClass(EditCommand, [{ - key: 'componentDidMount', + key: "componentDidMount", value: function componentDidMount() { if (this.props.command) { - this.props.uiActions.setWindowTitle((0, _locale.i18n)('modal.edit_command.title')); + this.props.uiActions.setWindowTitle(Object(_locale__WEBPACK_IMPORTED_MODULE_10__["i18n"])('modal.edit_command.title')); this.setState(this.props.command); } else { - this.props.uiActions.setWindowTitle((0, _locale.i18n)('modal.edit_command.title_create')); + this.props.uiActions.setWindowTitle(Object(_locale__WEBPACK_IMPORTED_MODULE_10__["i18n"])('modal.edit_command.title_create')); } } }, { - key: 'handleSubmit', + key: "handleSubmit", value: function handleSubmit(e) { e.preventDefault(); - this.props.pusherActions.setCommand(this.state); - - window.history.back(); - - // A bit hacky, but wait for a moment to allow the back navigation + window.history.back(); // A bit hacky, but wait for a moment to allow the back navigation // and then scroll down to our commands list - setTimeout(function () { - (0, _helpers.scrollTo)('#commands-setup'); - }, 10); + setTimeout(function () { + Object(_util_helpers__WEBPACK_IMPORTED_MODULE_9__["scrollTo"])('#commands-setup'); + }, 10); return false; } }, { - key: 'handleDelete', + key: "handleDelete", value: function handleDelete(e) { this.props.pusherActions.removeCommand(this.state.id); - window.history.back(); - - // A bit hacky, but wait for a moment to allow the back navigation + window.history.back(); // A bit hacky, but wait for a moment to allow the back navigation // and then scroll down to our commands list + setTimeout(function () { - (0, _helpers.scrollTo)('#commands-setup'); + Object(_util_helpers__WEBPACK_IMPORTED_MODULE_9__["scrollTo"])('#commands-setup'); }, 10); } }, { - key: 'render', + key: "render", value: function render() { var _this2 = this; var command = this.props.command; - var _state = this.state, - name = _state.name, - colour = _state.colour, - icon = _state.icon, - url = _state.url, - method = _state.method, - post_data = _state.post_data, - additional_headers = _state.additional_headers; - + var _this$state = this.state, + name = _this$state.name, + colour = _this$state.colour, + icon = _this$state.icon, + url = _this$state.url, + method = _this$state.method, + post_data = _this$state.post_data, + additional_headers = _this$state.additional_headers; var icons = ['power_settings_new', 'eject', 'grade', 'query_builder', 'settings_input_component', 'settings_input_hdmi', 'settings_input_svideo', 'forward_5', 'forward_10', 'forward_30', 'replay', 'replay_5', 'replay_10', 'replay_30', 'skip_next', 'skip_previous', 'play_arrow', 'pause', 'stop', 'shuffle', 'snooze', 'volume_off', 'volume_down', 'volume_up', 'arrow_left', 'arrow_drop_up', 'arrow_right', 'arrow_drop_down', 'done', 'done_all', 'add', 'remove', 'clear', 'cast', 'speaker', 'speaker_group', 'audiotrack', 'videogame_asset', 'computer', 'tv']; - - return _react2.default.createElement( - _Modal2.default, - { className: 'modal--create-command' }, - _react2.default.createElement( - 'h1', - null, - _react2.default.createElement(_locale.I18n, { path: 'modal.edit_command.title' + (command ? '' : '_create') }) - ), - _react2.default.createElement( - 'form', - { onSubmit: function onSubmit(e) { - return _this2.handleSubmit(e); - } }, - _react2.default.createElement( - 'div', - { className: 'field textarea white' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'modal.edit_command.name' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement(_TextField2.default, { - name: 'name', - value: name, - onChange: function onChange(value) { - return _this2.setState({ name: value }); - } - }) - ) - ), - _react2.default.createElement( - 'div', - { className: 'field radio white' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'modal.edit_command.colour' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement(_ColourField2.default, { - colour: colour, - onChange: function onChange(colour) { - return _this2.setState({ colour: colour }); - } - }) - ) - ), - _react2.default.createElement( - 'div', - { className: 'field radio white' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'modal.edit_command.icon' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement(_IconField2.default, { - icon: icon, - icons: icons, - onChange: function onChange(icon) { - return _this2.setState({ icon: icon }); - } - }) - ) - ), - _react2.default.createElement( - 'div', - { className: 'field textarea white' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'modal.edit_command.url' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement(_TextField2.default, { - name: 'url', - value: url, - onChange: function onChange(url) { - return _this2.setState({ url: url }); - } - }) - ) - ), - _react2.default.createElement( - 'div', - { className: 'field radio white' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'modal.edit_command.method.label' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement( - 'label', - null, - _react2.default.createElement('input', { - type: 'radio', - name: 'method', - value: 'GET', - checked: method === 'GET', - onChange: function onChange(e) { - return _this2.setState({ method: e.target.value }); - } - }), - _react2.default.createElement( - 'span', - { className: 'label' }, - _react2.default.createElement(_locale.I18n, { path: 'modal.edit_command.method.get' }) - ) - ), - _react2.default.createElement( - 'label', - null, - _react2.default.createElement('input', { - type: 'radio', - name: 'method', - value: 'POST', - checked: method === 'POST', - onChange: function onChange(e) { - return _this2.setState({ method: e.target.value }); - } - }), - _react2.default.createElement( - 'span', - { className: 'label' }, - _react2.default.createElement(_locale.I18n, { path: 'modal.edit_command.method.post' }) - ) - ) - ) - ), - method === 'POST' && _react2.default.createElement( - 'div', - { className: 'field textarea white' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'modal.edit_command.data' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement('textarea', { - name: 'command', - value: post_data, - onChange: function onChange(e) { - return _this2.setState({ post_data: e.target.value }); - } - }) - ) - ), - _react2.default.createElement( - 'div', - { className: 'field textarea white' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'modal.edit_command.headers' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement('textarea', { - name: 'headers', - value: additional_headers, - onChange: function onChange(e) { - return _this2.setState({ additional_headers: e.target.value }); - } - }) - ) - ), - _react2.default.createElement( - 'div', - { className: 'actions centered-text' }, - command && _react2.default.createElement( - 'button', - { - type: 'button', - className: 'button button--destructive button--large', - onClick: function onClick(e) { - return _this2.handleDelete(e); - } - }, - _react2.default.createElement(_locale.I18n, { path: 'actions.delete' }) - ), - _react2.default.createElement( - 'button', - { type: 'submit', className: 'button button--primary button--large' }, - _react2.default.createElement(_locale.I18n, { path: 'actions.save' }) - ) - ) - ) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Modal__WEBPACK_IMPORTED_MODULE_3__["default"], { + className: "modal--create-command", + "data-qa-node": "Modal", + "data-qa-file": "EditCommand" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h1", { + "data-qa-node": "h1", + "data-qa-file": "EditCommand" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_10__["I18n"], { + path: "modal.edit_command.title".concat(command ? '' : '_create'), + "data-qa-node": "I18n", + "data-qa-file": "EditCommand" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("form", { + onSubmit: function onSubmit(e) { + return _this2.handleSubmit(e); + }, + "data-qa-node": "form", + "data-qa-file": "EditCommand" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field textarea white", + "data-qa-node": "div", + "data-qa-file": "EditCommand" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "EditCommand" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_10__["I18n"], { + path: "modal.edit_command.name", + "data-qa-node": "I18n", + "data-qa-file": "EditCommand" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "EditCommand" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Fields_TextField__WEBPACK_IMPORTED_MODULE_6__["default"], { + name: "name", + value: name, + onChange: function onChange(value) { + return _this2.setState({ + name: value + }); + }, + "data-qa-node": "TextField", + "data-qa-file": "EditCommand" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field radio white", + "data-qa-node": "div", + "data-qa-file": "EditCommand" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "EditCommand" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_10__["I18n"], { + path: "modal.edit_command.colour", + "data-qa-node": "I18n", + "data-qa-file": "EditCommand" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "EditCommand" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Fields_ColourField__WEBPACK_IMPORTED_MODULE_4__["default"], { + colour: colour, + onChange: function onChange(colour) { + return _this2.setState({ + colour: colour + }); + }, + "data-qa-node": "ColourField", + "data-qa-file": "EditCommand" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field radio white", + "data-qa-node": "div", + "data-qa-file": "EditCommand" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "EditCommand" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_10__["I18n"], { + path: "modal.edit_command.icon", + "data-qa-node": "I18n", + "data-qa-file": "EditCommand" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "EditCommand" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Fields_IconField__WEBPACK_IMPORTED_MODULE_5__["default"], { + icon: icon, + icons: icons, + onChange: function onChange(icon) { + return _this2.setState({ + icon: icon + }); + }, + "data-qa-node": "IconField", + "data-qa-file": "EditCommand" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field textarea white", + "data-qa-node": "div", + "data-qa-file": "EditCommand" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "EditCommand" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_10__["I18n"], { + path: "modal.edit_command.url", + "data-qa-node": "I18n", + "data-qa-file": "EditCommand" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "EditCommand" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Fields_TextField__WEBPACK_IMPORTED_MODULE_6__["default"], { + name: "url", + value: url, + onChange: function onChange(url) { + return _this2.setState({ + url: url + }); + }, + "data-qa-node": "TextField", + "data-qa-file": "EditCommand" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field radio white", + "data-qa-node": "div", + "data-qa-file": "EditCommand" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "EditCommand" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_10__["I18n"], { + path: "modal.edit_command.method.label", + "data-qa-node": "I18n", + "data-qa-file": "EditCommand" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "EditCommand" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { + "data-qa-node": "label", + "data-qa-file": "EditCommand" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { + type: "radio", + name: "method", + value: "GET", + checked: method === 'GET', + onChange: function onChange(e) { + return _this2.setState({ + method: e.target.value + }); + }, + "data-qa-node": "input", + "data-qa-file": "EditCommand" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "label", + "data-qa-node": "span", + "data-qa-file": "EditCommand" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_10__["I18n"], { + path: "modal.edit_command.method.get", + "data-qa-node": "I18n", + "data-qa-file": "EditCommand" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { + "data-qa-node": "label", + "data-qa-file": "EditCommand" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { + type: "radio", + name: "method", + value: "POST", + checked: method === 'POST', + onChange: function onChange(e) { + return _this2.setState({ + method: e.target.value + }); + }, + "data-qa-node": "input", + "data-qa-file": "EditCommand" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "label", + "data-qa-node": "span", + "data-qa-file": "EditCommand" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_10__["I18n"], { + path: "modal.edit_command.method.post", + "data-qa-node": "I18n", + "data-qa-file": "EditCommand" + }))))), method === 'POST' && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field textarea white", + "data-qa-node": "div", + "data-qa-file": "EditCommand" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "EditCommand" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_10__["I18n"], { + path: "modal.edit_command.data", + "data-qa-node": "I18n", + "data-qa-file": "EditCommand" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "EditCommand" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("textarea", { + name: "command", + value: post_data, + onChange: function onChange(e) { + return _this2.setState({ + post_data: e.target.value + }); + }, + "data-qa-node": "textarea", + "data-qa-file": "EditCommand" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field textarea white", + "data-qa-node": "div", + "data-qa-file": "EditCommand" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "EditCommand" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_10__["I18n"], { + path: "modal.edit_command.headers", + "data-qa-node": "I18n", + "data-qa-file": "EditCommand" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "EditCommand" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("textarea", { + name: "headers", + value: additional_headers, + onChange: function onChange(e) { + return _this2.setState({ + additional_headers: e.target.value + }); + }, + "data-qa-node": "textarea", + "data-qa-file": "EditCommand" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "actions centered-text", + "data-qa-node": "div", + "data-qa-file": "EditCommand" + }, command && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", { + type: "button", + className: "button button--destructive button--large", + onClick: function onClick(e) { + return _this2.handleDelete(e); + }, + "data-qa-node": "button", + "data-qa-file": "EditCommand" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_10__["I18n"], { + path: "actions.delete", + "data-qa-node": "I18n", + "data-qa-file": "EditCommand" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", { + type: "submit", + className: "button button--primary button--large", + "data-qa-node": "button", + "data-qa-file": "EditCommand" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_10__["I18n"], { + path: "actions.save", + "data-qa-node": "I18n", + "data-qa-file": "EditCommand" + }))))); } }]); return EditCommand; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); var mapStateToProps = function mapStateToProps(state, ownProps) { var id = ownProps.match.params.id; - return { id: id, command: id && state.pusher.commands && state.pusher.commands[id] !== undefined ? state.pusher.commands[id] : null @@ -123166,12 +125443,12 @@ var mapStateToProps = function mapStateToProps(state, ownProps) { var mapDispatchToProps = function mapDispatchToProps(dispatch) { return { - pusherActions: (0, _redux.bindActionCreators)(pusherActions, dispatch), - uiActions: (0, _redux.bindActionCreators)(uiActions, dispatch) + pusherActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_pusher_actions__WEBPACK_IMPORTED_MODULE_7__, dispatch), + uiActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_ui_actions__WEBPACK_IMPORTED_MODULE_8__, dispatch) }; }; -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(EditCommand); +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapStateToProps, mapDispatchToProps)(EditCommand)); /***/ }), @@ -123179,69 +125456,70 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)( /*!*********************************************!*\ !*** ./src/js/views/modals/EditPlaylist.js ***! \*********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); - -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); - -var _Modal = __webpack_require__(/*! ./Modal */ "./src/js/views/modals/Modal.js"); - -var _Modal2 = _interopRequireDefault(_Modal); - -var _actions = __webpack_require__(/*! ../../services/core/actions */ "./src/js/services/core/actions.js"); - -var coreActions = _interopRequireWildcard(_actions); - -var _actions2 = __webpack_require__(/*! ../../services/ui/actions */ "./src/js/services/ui/actions.js"); - -var uiActions = _interopRequireWildcard(_actions2); - -var _actions3 = __webpack_require__(/*! ../../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); - -var mopidyActions = _interopRequireWildcard(_actions3); - -var _actions4 = __webpack_require__(/*! ../../services/spotify/actions */ "./src/js/services/spotify/actions.js"); - -var spotifyActions = _interopRequireWildcard(_actions4); - -var _helpers = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); - -var _locale = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js"); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var _Modal__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Modal */ "./src/js/views/modals/Modal.js"); +/* harmony import */ var _services_core_actions__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../services/core/actions */ "./src/js/services/core/actions.js"); +/* harmony import */ var _services_ui_actions__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../services/ui/actions */ "./src/js/services/ui/actions.js"); +/* harmony import */ var _services_mopidy_actions__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); +/* harmony import */ var _services_spotify_actions__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../services/spotify/actions */ "./src/js/services/spotify/actions.js"); +/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); +/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -var EditPlaylist = function (_React$Component) { +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _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; } + + + + + + + + + + + + +var EditPlaylist = /*#__PURE__*/function (_React$Component) { _inherits(EditPlaylist, _React$Component); + var _super = _createSuper(EditPlaylist); + function EditPlaylist(props) { + var _this; + _classCallCheck(this, EditPlaylist); - var _this = _possibleConstructorReturn(this, (EditPlaylist.__proto__ || Object.getPrototypeOf(EditPlaylist)).call(this, props)); + _this = _super.call(this, props); - _this.componentDidUpdate = function (_ref) { + _defineProperty(_assertThisInitialized(_this), "componentDidUpdate", function (_ref) { var prev_mopidy_connected = _ref.mopidy_connected; var _this$props = _this.props, uri = _this$props.uri, @@ -123249,11 +125527,10 @@ var EditPlaylist = function (_React$Component) { mopidy_connected = _this$props.mopidy_connected, getPlaylist = _this$props.mopidyActions.getPlaylist; - if (!prev_mopidy_connected && mopidy_connected && !playlist) { getPlaylist(uri); } - }; + }); _this.state = { loaded: false, @@ -123261,27 +125538,27 @@ var EditPlaylist = function (_React$Component) { name: '', description: '', image: null, - public: false, + "public": false, collaborative: false }; return _this; } _createClass(EditPlaylist, [{ - key: 'componentDidMount', + key: "componentDidMount", value: function componentDidMount() { - this.props.uiActions.setWindowTitle((0, _locale.i18n)('modal.edit_playlist.title')); + this.props.uiActions.setWindowTitle(Object(_locale__WEBPACK_IMPORTED_MODULE_9__["i18n"])('modal.edit_playlist.title')); if (this.props.playlist) { this.setState({ loaded: true, name: this.props.playlist.name, description: this.props.playlist.description, - public: this.props.playlist.public == true, + "public": this.props.playlist["public"] == true, collaborative: this.props.playlist.collaborative == true }); } else { - switch ((0, _helpers.uriSource)(this.props.uri)) { + switch (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_8__["uriSource"])(this.props.uri)) { case 'spotify': this.props.spotifyActions.getPlaylist(this.props.uri); this.props.spotifyActions.following(this.props.uri); @@ -123291,230 +125568,276 @@ var EditPlaylist = function (_React$Component) { if (this.props.mopidy_connected) { this.props.mopidyActions.getPlaylist(this.props.uri); } + break; } } } }, { - key: 'savePlaylist', + key: "savePlaylist", value: function savePlaylist(e) { e.preventDefault(); if (!this.state.name || this.state.name == '') { - this.setState({ error: (0, _locale.i18n)('modal.edit_playlist.name_required') }); + this.setState({ + error: Object(_locale__WEBPACK_IMPORTED_MODULE_9__["i18n"])('modal.edit_playlist.name_required') + }); return false; } - this.props.coreActions.savePlaylist(this.props.uri, this.state.name, this.state.description, this.state.public, this.state.collaborative, this.state.image); + + this.props.coreActions.savePlaylist(this.props.uri, this.state.name, this.state.description, this.state["public"], this.state.collaborative, this.state.image); window.history.back(); return false; } }, { - key: 'setImage', + key: "setImage", value: function setImage(e) { - var self = this; + var self = this; // Create a file-reader to import the selected image as a base64 string - // Create a file-reader to import the selected image as a base64 string - var file_reader = new FileReader(); + var file_reader = new FileReader(); // Once the image is loaded, convert the result - // Once the image is loaded, convert the result file_reader.addEventListener('load', function (e) { var image_base64 = e.target.result.replace('data:image/jpeg;base64,', ''); - self.setState({ image: image_base64 }); - }); + self.setState({ + image: image_base64 + }); + }); // This calls the filereader to load the file - // This calls the filereader to load the file file_reader.readAsDataURL(e.target.files[0]); } }, { - key: 'renderFields', + key: "renderFields", value: function renderFields() { var _this2 = this; - switch ((0, _helpers.uriSource)(this.props.uri)) { + switch (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_8__["uriSource"])(this.props.uri)) { case 'spotify': - return _react2.default.createElement( - 'div', - null, - _react2.default.createElement( - 'div', - { className: 'field text' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'modal.edit_playlist.name' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement('input', { - type: 'text', - onChange: function onChange(e) { - return _this2.setState({ name: e.target.value }); - }, - value: this.state.name - }) - ) - ), - _react2.default.createElement( - 'div', - { className: 'field text' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'modal.edit_playlist.description' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement('input', { - type: 'text', - onChange: function onChange(e) { - return _this2.setState({ description: e.target.value }); - }, - value: this.state.description - }) - ) - ), - _react2.default.createElement( - 'div', - { className: 'field file' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'modal.edit_playlist.image.label' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement('input', { - type: 'file', - placeholder: 'Leave empty to keep existing image', - onChange: function onChange(e) { - return _this2.setImage(e); - } - }), - _react2.default.createElement( - 'div', - { className: 'description' }, - _react2.default.createElement(_locale.I18n, { path: 'modal.edit_playlist.image.description' }) - ) - ) - ), - _react2.default.createElement( - 'div', - { className: 'field checkbox white' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'modal.edit_playlist.options.label' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement( - 'label', - null, - _react2.default.createElement('input', { - type: 'checkbox', - name: 'playlist_private', - checked: this.state.public, - onChange: function onChange(e) { - return _this2.setState({ public: !_this2.state.public }); - } - }), - _react2.default.createElement( - 'span', - { className: 'label' }, - _react2.default.createElement(_locale.I18n, { path: 'modal.edit_playlist.options.public' }) - ) - ), - _react2.default.createElement( - 'label', - null, - _react2.default.createElement('input', { - type: 'checkbox', - name: 'collaborative', - checked: this.state.collaborative, - onChange: function onChange(e) { - return _this2.setState({ collaborative: !_this2.state.collaborative }); - } - }), - _react2.default.createElement( - 'span', - { className: 'label' }, - _react2.default.createElement(_locale.I18n, { path: 'modal.edit_playlist.options.collaborative' }) - ) - ) - ) - ) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + "data-qa-node": "div", + "data-qa-file": "EditPlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field text", + "data-qa-node": "div", + "data-qa-file": "EditPlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "EditPlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_9__["I18n"], { + path: "modal.edit_playlist.name", + "data-qa-node": "I18n", + "data-qa-file": "EditPlaylist" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "EditPlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { + type: "text", + onChange: function onChange(e) { + return _this2.setState({ + name: e.target.value + }); + }, + value: this.state.name, + "data-qa-node": "input", + "data-qa-file": "EditPlaylist" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field text", + "data-qa-node": "div", + "data-qa-file": "EditPlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "EditPlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_9__["I18n"], { + path: "modal.edit_playlist.description", + "data-qa-node": "I18n", + "data-qa-file": "EditPlaylist" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "EditPlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { + type: "text", + onChange: function onChange(e) { + return _this2.setState({ + description: e.target.value + }); + }, + value: this.state.description, + "data-qa-node": "input", + "data-qa-file": "EditPlaylist" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field file", + "data-qa-node": "div", + "data-qa-file": "EditPlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "EditPlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_9__["I18n"], { + path: "modal.edit_playlist.image.label", + "data-qa-node": "I18n", + "data-qa-file": "EditPlaylist" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "EditPlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { + type: "file", + placeholder: "Leave empty to keep existing image", + onChange: function onChange(e) { + return _this2.setImage(e); + }, + "data-qa-node": "input", + "data-qa-file": "EditPlaylist" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "description", + "data-qa-node": "div", + "data-qa-file": "EditPlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_9__["I18n"], { + path: "modal.edit_playlist.image.description", + "data-qa-node": "I18n", + "data-qa-file": "EditPlaylist" + })))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field checkbox white", + "data-qa-node": "div", + "data-qa-file": "EditPlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "EditPlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_9__["I18n"], { + path: "modal.edit_playlist.options.label", + "data-qa-node": "I18n", + "data-qa-file": "EditPlaylist" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "EditPlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { + "data-qa-node": "label", + "data-qa-file": "EditPlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { + type: "checkbox", + name: "playlist_private", + checked: this.state["public"], + onChange: function onChange(e) { + return _this2.setState({ + "public": !_this2.state["public"] + }); + }, + "data-qa-node": "input", + "data-qa-file": "EditPlaylist" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "label", + "data-qa-node": "span", + "data-qa-file": "EditPlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_9__["I18n"], { + path: "modal.edit_playlist.options.public", + "data-qa-node": "I18n", + "data-qa-file": "EditPlaylist" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { + "data-qa-node": "label", + "data-qa-file": "EditPlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { + type: "checkbox", + name: "collaborative", + checked: this.state.collaborative, + onChange: function onChange(e) { + return _this2.setState({ + collaborative: !_this2.state.collaborative + }); + }, + "data-qa-node": "input", + "data-qa-file": "EditPlaylist" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "label", + "data-qa-node": "span", + "data-qa-file": "EditPlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_9__["I18n"], { + path: "modal.edit_playlist.options.collaborative", + "data-qa-node": "I18n", + "data-qa-file": "EditPlaylist" + })))))); break; default: - return _react2.default.createElement( - 'div', - null, - _react2.default.createElement( - 'div', - { className: 'field text' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'modal.edit_playlist.name' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement('input', { - type: 'text', - onChange: function onChange(e) { - return _this2.setState({ name: e.target.value }); - }, - value: this.state.name - }) - ) - ) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + "data-qa-node": "div", + "data-qa-file": "EditPlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field text", + "data-qa-node": "div", + "data-qa-file": "EditPlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "EditPlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_9__["I18n"], { + path: "modal.edit_playlist.name", + "data-qa-node": "I18n", + "data-qa-file": "EditPlaylist" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "EditPlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { + type: "text", + onChange: function onChange(e) { + return _this2.setState({ + name: e.target.value + }); + }, + value: this.state.name, + "data-qa-node": "input", + "data-qa-file": "EditPlaylist" + })))); } } }, { - key: 'render', + key: "render", value: function render() { var _this3 = this; - return _react2.default.createElement( - _Modal2.default, - { className: 'modal--edit-playlist' }, - _react2.default.createElement( - 'h1', - null, - _react2.default.createElement(_locale.I18n, { path: 'modal.edit_playlist.title' }) - ), - this.state.error ? _react2.default.createElement( - 'h3', - { className: 'red-text' }, - this.state.error - ) : null, - _react2.default.createElement( - 'form', - { onSubmit: function onSubmit(e) { - return _this3.savePlaylist(e); - } }, - this.renderFields(), - _react2.default.createElement( - 'div', - { className: 'actions centered-text' }, - _react2.default.createElement( - 'button', - { type: 'submit', className: 'button button--primary button--large' }, - _react2.default.createElement(_locale.I18n, { path: 'actions.save' }) - ) - ) - ) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Modal__WEBPACK_IMPORTED_MODULE_3__["default"], { + className: "modal--edit-playlist", + "data-qa-node": "Modal", + "data-qa-file": "EditPlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h1", { + "data-qa-node": "h1", + "data-qa-file": "EditPlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_9__["I18n"], { + path: "modal.edit_playlist.title", + "data-qa-node": "I18n", + "data-qa-file": "EditPlaylist" + })), this.state.error ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h3", { + className: "red-text", + "data-qa-node": "h3", + "data-qa-file": "EditPlaylist" + }, this.state.error) : null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("form", { + onSubmit: function onSubmit(e) { + return _this3.savePlaylist(e); + }, + "data-qa-node": "form", + "data-qa-file": "EditPlaylist" + }, this.renderFields(), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "actions centered-text", + "data-qa-node": "div", + "data-qa-file": "EditPlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", { + type: "submit", + className: "button button--primary button--large", + "data-qa-node": "button", + "data-qa-file": "EditPlaylist" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_9__["I18n"], { + path: "actions.save", + "data-qa-node": "I18n", + "data-qa-file": "EditPlaylist" + }))))); } }], [{ - key: 'getDerivedStateFromProps', + key: "getDerivedStateFromProps", value: function getDerivedStateFromProps(_ref2, state) { var playlist = _ref2.playlist; @@ -123523,16 +125846,17 @@ var EditPlaylist = function (_React$Component) { loaded: true, name: playlist.name, description: playlist.description, - public: playlist.public === true, + "public": playlist["public"] === true, collaborative: playlist.collaborative === true }; } + return null; } }]); return EditPlaylist; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); var mapStateToProps = function mapStateToProps(state, ownProps) { // Decode the URI, and then re-encode selected characters @@ -123540,10 +125864,15 @@ var mapStateToProps = function mapStateToProps(state, ownProps) { // We need to retain ":" because this a reserved URI separator var uri = decodeURIComponent(ownProps.match.params.uri); uri = uri.replace(/\s/g, '%20'); // space + uri = uri.replace(/\[/g, '%5B'); // [ + uri = uri.replace(/\]/g, '%5D'); // ] + uri = uri.replace(/\(/g, '%28'); // ( + uri = uri.replace(/\)/g, '%29'); // ) + uri = uri.replace(/\#/g, '%23'); // # return { @@ -123556,14 +125885,14 @@ var mapStateToProps = function mapStateToProps(state, ownProps) { var mapDispatchToProps = function mapDispatchToProps(dispatch) { return { - coreActions: (0, _redux.bindActionCreators)(coreActions, dispatch), - uiActions: (0, _redux.bindActionCreators)(uiActions, dispatch), - mopidyActions: (0, _redux.bindActionCreators)(mopidyActions, dispatch), - spotifyActions: (0, _redux.bindActionCreators)(spotifyActions, dispatch) + coreActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_core_actions__WEBPACK_IMPORTED_MODULE_4__, dispatch), + uiActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_ui_actions__WEBPACK_IMPORTED_MODULE_5__, dispatch), + mopidyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_mopidy_actions__WEBPACK_IMPORTED_MODULE_6__, dispatch), + spotifyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_spotify_actions__WEBPACK_IMPORTED_MODULE_7__, dispatch) }; }; -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(EditPlaylist); +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapStateToProps, mapDispatchToProps)(EditPlaylist)); /***/ }), @@ -123571,163 +125900,190 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)( /*!******************************************!*\ !*** ./src/js/views/modals/EditRadio.js ***! \******************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var _Modal__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Modal */ "./src/js/views/modals/Modal.js"); +/* harmony import */ var _components_Icon__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../components/Icon */ "./src/js/components/Icon.js"); +/* harmony import */ var _services_core_actions__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../services/core/actions */ "./src/js/services/core/actions.js"); +/* harmony import */ var _services_ui_actions__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../services/ui/actions */ "./src/js/services/ui/actions.js"); +/* harmony import */ var _services_mopidy_actions__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); +/* harmony import */ var _services_spotify_actions__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../services/spotify/actions */ "./src/js/services/spotify/actions.js"); +/* harmony import */ var _services_pusher_actions__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../services/pusher/actions */ "./src/js/services/pusher/actions.js"); +/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); +/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js"); +/* harmony import */ var _components_Fields_TextField__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../components/Fields/TextField */ "./src/js/components/Fields/TextField.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } -Object.defineProperty(exports, "__esModule", { - value: true -}); +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); } -var _react2 = _interopRequireDefault(_react); +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); - -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); - -var _Modal = __webpack_require__(/*! ./Modal */ "./src/js/views/modals/Modal.js"); - -var _Modal2 = _interopRequireDefault(_Modal); - -var _Icon = __webpack_require__(/*! ../../components/Icon */ "./src/js/components/Icon.js"); - -var _Icon2 = _interopRequireDefault(_Icon); - -var _actions = __webpack_require__(/*! ../../services/core/actions */ "./src/js/services/core/actions.js"); - -var coreActions = _interopRequireWildcard(_actions); - -var _actions2 = __webpack_require__(/*! ../../services/ui/actions */ "./src/js/services/ui/actions.js"); - -var uiActions = _interopRequireWildcard(_actions2); - -var _actions3 = __webpack_require__(/*! ../../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); - -var mopidyActions = _interopRequireWildcard(_actions3); - -var _actions4 = __webpack_require__(/*! ../../services/spotify/actions */ "./src/js/services/spotify/actions.js"); - -var spotifyActions = _interopRequireWildcard(_actions4); - -var _actions5 = __webpack_require__(/*! ../../services/pusher/actions */ "./src/js/services/pusher/actions.js"); - -var pusherActions = _interopRequireWildcard(_actions5); - -var _helpers = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); - -var _locale = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js"); - -var _TextField = __webpack_require__(/*! ../../components/Fields/TextField */ "./src/js/components/Fields/TextField.js"); - -var _TextField2 = _interopRequireDefault(_TextField); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _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; } + + + + + + + + + + + + + -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } var SeedListItem = function SeedListItem(_ref) { var seed = _ref.seed, remove = _ref.remove; - return _react2.default.createElement( - 'div', - { className: 'list__item list__item--no-interaction', key: seed.uri }, - seed.unresolved ? _react2.default.createElement( - 'span', - { className: 'mid_grey-text' }, - seed.uri - ) : _react2.default.createElement( - 'span', - null, - seed.name - ), - !seed.unresolved && _react2.default.createElement( - 'span', - { className: 'mid_grey-text' }, - ' (' + (0, _helpers.uriType)(seed.uri) + ')' - ), - _react2.default.createElement( - 'button', - { - type: 'button', - className: 'button button--discrete button--destructive button--tiny pull-right', - onClick: function onClick() { - return remove(seed.uri); - } - }, - _react2.default.createElement(_Icon2.default, { name: 'delete' }), - _react2.default.createElement(_locale.I18n, { path: 'actions.remove' }) - ) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "list__item list__item--no-interaction", + key: seed.uri, + "data-qa-node": "div", + "data-qa-file": "EditRadio" + }, seed.unresolved ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "mid_grey-text", + "data-qa-node": "span", + "data-qa-file": "EditRadio" + }, seed.uri) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + "data-qa-node": "span", + "data-qa-file": "EditRadio" + }, seed.name), !seed.unresolved && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "mid_grey-text", + "data-qa-node": "span", + "data-qa-file": "EditRadio" + }, " (".concat(Object(_util_helpers__WEBPACK_IMPORTED_MODULE_10__["uriType"])(seed.uri), ")")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", { + type: "button", + className: "button button--discrete button--destructive button--tiny pull-right", + onClick: function onClick() { + return remove(seed.uri); + }, + "data-qa-node": "button", + "data-qa-file": "EditRadio" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_4__["default"], { + name: "delete", + "data-qa-node": "Icon", + "data-qa-file": "EditRadio" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_11__["I18n"], { + path: "actions.remove", + "data-qa-node": "I18n", + "data-qa-file": "EditRadio" + }))); }; -var EditRadio = function (_React$Component) { +var EditRadio = /*#__PURE__*/function (_React$Component) { _inherits(EditRadio, _React$Component); + var _super = _createSuper(EditRadio); + function EditRadio(props) { + var _this; + _classCallCheck(this, EditRadio); - var _this = _possibleConstructorReturn(this, (EditRadio.__proto__ || Object.getPrototypeOf(EditRadio)).call(this, props)); + _this = _super.call(this, props); - _this.componentDidUpdate = function (_ref2) { + _defineProperty(_assertThisInitialized(_this), "componentDidUpdate", function (_ref2) { var prev_radio = _ref2.radio; var radio = _this.props.radio; - if (!prev_radio && radio) _this.loadRadio(radio); - }; + }); - _this.onUriChange = function (uri) { - _this.setState({ uri: uri, error_message: null }); - }; + _defineProperty(_assertThisInitialized(_this), "onUriChange", function (uri) { + _this.setState({ + uri: uri, + error_message: null + }); + }); - _this.loadRadio = function (radio) { + _defineProperty(_assertThisInitialized(_this), "loadRadio", function (radio) { var seeds = [].concat(_toConsumableArray(radio.seed_tracks), _toConsumableArray(radio.seed_artists), _toConsumableArray(radio.seed_genres)); - _this.setState({ seeds: seeds, enabled: radio.enabled }); - }; - _this.addSeed = function (e) { + _this.setState({ + seeds: seeds, + enabled: radio.enabled + }); + }); + + _defineProperty(_assertThisInitialized(_this), "addSeed", function (e) { var _this$state = _this.state, uri = _this$state.uri, seeds = _this$state.seeds; var loadItem = _this.props.coreActions.loadItem; - - e.preventDefault(); if (uri === '') { - _this.setState({ error_message: (0, _locale.i18n)('errors.required') }); + _this.setState({ + error_message: Object(_locale__WEBPACK_IMPORTED_MODULE_11__["i18n"])('errors.required') + }); + return; } - _this.setState({ error_message: null }); + _this.setState({ + error_message: null + }); var validatedSeeds = Object.assign([], seeds); var uris = uri.split(','); if (uris.length >= 5) { uris = uris.slice(0, 5); - _this.setState({ error_message: (0, _locale.i18n)('modal.edit_radio.too_many_seeds') }); + + _this.setState({ + error_message: Object(_locale__WEBPACK_IMPORTED_MODULE_11__["i18n"])('modal.edit_radio.too_many_seeds') + }); } for (var i = 0; i < uris.length; i++) { - if ((0, _helpers.uriSource)(uris[i]) !== 'spotify') { - _this.setState({ error_message: (0, _locale.i18n)('modal.edit_radio.only_spotify_uris') }); + if (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_10__["uriSource"])(uris[i]) !== 'spotify') { + _this.setState({ + error_message: Object(_locale__WEBPACK_IMPORTED_MODULE_11__["i18n"])('modal.edit_radio.only_spotify_uris') + }); + return; - }if (seeds.indexOf(uris[i]) > -1) { - _this.setState({ error_message: (0, _locale.i18n)('modal.edit_radio.too_many_seeds') }); + } + + if (seeds.indexOf(uris[i]) > -1) { + _this.setState({ + error_message: Object(_locale__WEBPACK_IMPORTED_MODULE_11__["i18n"])('modal.edit_radio.too_many_seeds') + }); } else { validatedSeeds.push(uris[i]); loadItem(uris[i]); @@ -123738,43 +126094,47 @@ var EditRadio = function (_React$Component) { seeds: validatedSeeds, uri: '' }); - }; + }); - _this.removeSeed = function (uri) { + _defineProperty(_assertThisInitialized(_this), "removeSeed", function (uri) { var prevSeeds = _this.state.seeds; - - var seeds = prevSeeds.filter(function (seed) { return seed !== uri; }); - _this.setState({ seeds: seeds }); - }; - _this.mapSeeds = function () { + _this.setState({ + seeds: seeds + }); + }); + + _defineProperty(_assertThisInitialized(_this), "mapSeeds", function () { var seeds = _this.state.seeds; var _this$props = _this.props, _this$props$tracks = _this$props.tracks, - tracks = _this$props$tracks === undefined ? {} : _this$props$tracks, + tracks = _this$props$tracks === void 0 ? {} : _this$props$tracks, _this$props$artists = _this$props.artists, - artists = _this$props$artists === undefined ? {} : _this$props$artists; - + artists = _this$props$artists === void 0 ? {} : _this$props$artists; if (!seeds) { return []; } return seeds.slice(0, 5).map(function (uri) { - switch ((0, _helpers.uriType)(uri)) { + switch (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_10__["uriType"])(uri)) { case 'artist': if (artists[uri]) { return artists[uri]; } + break; + case 'track': if (tracks[uri]) { return tracks[uri]; } + break; + default: break; } @@ -123784,128 +126144,158 @@ var EditRadio = function (_React$Component) { uri: uri }; }); - }; + }); - _this.render = function () { + _defineProperty(_assertThisInitialized(_this), "render", function () { var _this$state2 = _this.state, enabled = _this$state2.enabled, uri = _this$state2.uri, error_message = _this$state2.error_message; - var seeds = _this.mapSeeds(); - return _react2.default.createElement( - _Modal2.default, - { className: 'modal--edit-radio' }, - _react2.default.createElement( - 'h1', - null, - _react2.default.createElement(_locale.I18n, { path: 'modal.edit_radio.title' }) - ), - _react2.default.createElement( - 'h2', - { className: 'mid_grey-text' }, - _react2.default.createElement(_locale.I18n, { path: 'modal.edit_radio.subtitle' }) - ), - _react2.default.createElement( - 'form', - { onSubmit: function onSubmit(e) { - enabled ? _this.handleUpdate(e) : _this.handleStart(e); - } }, - _react2.default.createElement( - 'div', - { className: 'field text' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'fields.uri' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement(_TextField2.default, { - onChange: _this.onUriChange, - value: uri - }), - _react2.default.createElement( - 'span', - { className: 'button discrete add-uri no-hover', onClick: function onClick(e) { - return _this.addSeed(e); - } }, - _react2.default.createElement(_Icon2.default, { name: 'add' }), - _react2.default.createElement(_locale.I18n, { path: 'actions.add' }) - ), - error_message && _react2.default.createElement( - 'span', - { className: 'description error' }, - error_message - ) - ) - ), - _react2.default.createElement( - 'div', - { className: 'field text' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'fields.items_to_add.label' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - seeds.length ? _react2.default.createElement( - 'div', - { className: 'list' }, - seeds.map(function (seed, index) { - return _react2.default.createElement(SeedListItem, { - key: seed + '_' + index, - seed: seed, - remove: _this.removeSeed - }); - }) - ) : _react2.default.createElement( - 'div', - { className: 'text mid_grey-text' }, - _react2.default.createElement(_locale.I18n, { path: 'fields.items_to_add.placeholder' }) - ) - ) - ), - _react2.default.createElement( - 'div', - { className: 'actions centered-text' }, - _this.state.enabled ? _react2.default.createElement( - 'span', - { className: 'button button--destructive button--large', onClick: function onClick(e) { - return _this.handleStop(e); - } }, - _react2.default.createElement(_locale.I18n, { path: 'actions.add' }) - ) : null, - _this.state.enabled ? _react2.default.createElement( - 'button', - { - className: 'button button--primary button--large', - onClick: function onClick(e) { - return _this.handleUpdate(e); - }, - type: 'button' - }, - _react2.default.createElement(_locale.I18n, { path: 'actions.save' }) - ) : _react2.default.createElement( - 'button', - { - className: 'button button--primary button--large', - onClick: function onClick(e) { - return _this.handleStart(e); - }, - type: 'button' - }, - _react2.default.createElement(_locale.I18n, { path: 'actions.start' }) - ) - ) - ) - ); - }; + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Modal__WEBPACK_IMPORTED_MODULE_3__["default"], { + className: "modal--edit-radio", + "data-qa-node": "Modal", + "data-qa-file": "EditRadio" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h1", { + "data-qa-node": "h1", + "data-qa-file": "EditRadio" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_11__["I18n"], { + path: "modal.edit_radio.title", + "data-qa-node": "I18n", + "data-qa-file": "EditRadio" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h2", { + className: "mid_grey-text", + "data-qa-node": "h2", + "data-qa-file": "EditRadio" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_11__["I18n"], { + path: "modal.edit_radio.subtitle", + "data-qa-node": "I18n", + "data-qa-file": "EditRadio" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("form", { + onSubmit: function onSubmit(e) { + enabled ? _this.handleUpdate(e) : _this.handleStart(e); + }, + "data-qa-node": "form", + "data-qa-file": "EditRadio" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field text", + "data-qa-node": "div", + "data-qa-file": "EditRadio" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "EditRadio" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_11__["I18n"], { + path: "fields.uri", + "data-qa-node": "I18n", + "data-qa-file": "EditRadio" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "EditRadio" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Fields_TextField__WEBPACK_IMPORTED_MODULE_12__["default"], { + onChange: _this.onUriChange, + value: uri, + "data-qa-node": "TextField", + "data-qa-file": "EditRadio" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "button discrete add-uri no-hover", + onClick: function onClick(e) { + return _this.addSeed(e); + }, + "data-qa-node": "span", + "data-qa-file": "EditRadio" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_4__["default"], { + name: "add", + "data-qa-node": "Icon", + "data-qa-file": "EditRadio" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_11__["I18n"], { + path: "actions.add", + "data-qa-node": "I18n", + "data-qa-file": "EditRadio" + })), error_message && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "description error", + "data-qa-node": "span", + "data-qa-file": "EditRadio" + }, error_message))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field text", + "data-qa-node": "div", + "data-qa-file": "EditRadio" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "EditRadio" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_11__["I18n"], { + path: "fields.items_to_add.label", + "data-qa-node": "I18n", + "data-qa-file": "EditRadio" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "EditRadio" + }, seeds.length ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "list", + "data-qa-node": "div", + "data-qa-file": "EditRadio" + }, seeds.map(function (seed, index) { + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(SeedListItem, { + key: "".concat(seed, "_").concat(index), + seed: seed, + remove: _this.removeSeed, + "data-qa-node": "SeedListItem", + "data-qa-file": "EditRadio" + }); + })) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "text mid_grey-text", + "data-qa-node": "div", + "data-qa-file": "EditRadio" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_11__["I18n"], { + path: "fields.items_to_add.placeholder", + "data-qa-node": "I18n", + "data-qa-file": "EditRadio" + })))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "actions centered-text", + "data-qa-node": "div", + "data-qa-file": "EditRadio" + }, _this.state.enabled ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "button button--destructive button--large", + onClick: function onClick(e) { + return _this.handleStop(e); + }, + "data-qa-node": "span", + "data-qa-file": "EditRadio" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_11__["I18n"], { + path: "actions.add", + "data-qa-node": "I18n", + "data-qa-file": "EditRadio" + })) : null, _this.state.enabled ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", { + className: "button button--primary button--large", + onClick: function onClick(e) { + return _this.handleUpdate(e); + }, + type: "button", + "data-qa-node": "button", + "data-qa-file": "EditRadio" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_11__["I18n"], { + path: "actions.save", + "data-qa-node": "I18n", + "data-qa-file": "EditRadio" + })) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", { + className: "button button--primary button--large", + onClick: function onClick(e) { + return _this.handleStart(e); + }, + type: "button", + "data-qa-node": "button", + "data-qa-file": "EditRadio" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_11__["I18n"], { + path: "actions.start", + "data-qa-node": "I18n", + "data-qa-file": "EditRadio" + }))))); + }); _this.state = { enabled: false, @@ -123917,26 +126307,24 @@ var EditRadio = function (_React$Component) { } _createClass(EditRadio, [{ - key: 'componentDidMount', + key: "componentDidMount", value: function componentDidMount() { - var _props = this.props, - setWindowTitle = _props.uiActions.setWindowTitle, - radio = _props.radio; - - - setWindowTitle((0, _locale.i18n)('modal.edit_radio.title')); + var _this$props2 = this.props, + setWindowTitle = _this$props2.uiActions.setWindowTitle, + radio = _this$props2.radio; + setWindowTitle(Object(_locale__WEBPACK_IMPORTED_MODULE_11__["i18n"])('modal.edit_radio.title')); if (radio && radio.enabled) { this.loadRadio(radio); } } }, { - key: 'handleStart', + key: "handleStart", value: function handleStart(e) { e.preventDefault(); - var valid_seeds = true; var seeds = this.mapSeeds(); + for (var i = 0; i < seeds.length; i++) { if (seeds[i].unresolved !== undefined) { valid_seeds = false; @@ -123948,16 +126336,18 @@ var EditRadio = function (_React$Component) { this.props.pusherActions.startRadio(this.state.seeds); window.history.back(); } else { - this.setState({ error_message: (0, _locale.i18n)('modal.edit_radio.invalid_seed_uri') }); + this.setState({ + error_message: Object(_locale__WEBPACK_IMPORTED_MODULE_11__["i18n"])('modal.edit_radio.invalid_seed_uri') + }); } } }, { - key: 'handleUpdate', + key: "handleUpdate", value: function handleUpdate(e) { e.preventDefault(); - var valid_seeds = true; var seeds = this.mapSeeds(); + for (var i = 0; i < seeds.length; i++) { if (seeds[i].unresolved !== undefined) { valid_seeds = false; @@ -123969,11 +126359,13 @@ var EditRadio = function (_React$Component) { this.props.pusherActions.updateRadio(this.state.seeds); window.history.back(); } else { - this.setState({ error_message: (0, _locale.i18n)('modal.edit_radio.invalid_seed_uri') }); + this.setState({ + error_message: Object(_locale__WEBPACK_IMPORTED_MODULE_11__["i18n"])('modal.edit_radio.invalid_seed_uri') + }); } } }, { - key: 'handleStop', + key: "handleStop", value: function handleStop(e) { e.preventDefault(); this.props.pusherActions.stopRadio(); @@ -123982,7 +126374,7 @@ var EditRadio = function (_React$Component) { }]); return EditRadio; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); var mapStateToProps = function mapStateToProps(state, ownProps) { return { @@ -123995,15 +126387,15 @@ var mapStateToProps = function mapStateToProps(state, ownProps) { var mapDispatchToProps = function mapDispatchToProps(dispatch) { return { - coreActions: (0, _redux.bindActionCreators)(coreActions, dispatch), - uiActions: (0, _redux.bindActionCreators)(uiActions, dispatch), - mopidyActions: (0, _redux.bindActionCreators)(mopidyActions, dispatch), - pusherActions: (0, _redux.bindActionCreators)(pusherActions, dispatch), - spotifyActions: (0, _redux.bindActionCreators)(spotifyActions, dispatch) + coreActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_core_actions__WEBPACK_IMPORTED_MODULE_5__, dispatch), + uiActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_ui_actions__WEBPACK_IMPORTED_MODULE_6__, dispatch), + mopidyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_mopidy_actions__WEBPACK_IMPORTED_MODULE_7__, dispatch), + pusherActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_pusher_actions__WEBPACK_IMPORTED_MODULE_9__, dispatch), + spotifyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_spotify_actions__WEBPACK_IMPORTED_MODULE_8__, dispatch) }; }; -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(EditRadio); +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapStateToProps, mapDispatchToProps)(EditRadio)); /***/ }), @@ -124011,71 +126403,78 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)( /*!******************************************!*\ !*** ./src/js/views/modals/ImageZoom.js ***! \******************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); - -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); - -var _Modal = __webpack_require__(/*! ./Modal */ "./src/js/views/modals/Modal.js"); - -var _Modal2 = _interopRequireDefault(_Modal); - -var _actions = __webpack_require__(/*! ../../services/ui/actions */ "./src/js/services/ui/actions.js"); - -var uiActions = _interopRequireWildcard(_actions); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var _Modal__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Modal */ "./src/js/views/modals/Modal.js"); +/* harmony import */ var _services_ui_actions__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../services/ui/actions */ "./src/js/services/ui/actions.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -var ImageZoom = function (_React$Component) { +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + + + + + + + +var ImageZoom = /*#__PURE__*/function (_React$Component) { _inherits(ImageZoom, _React$Component); + var _super = _createSuper(ImageZoom); + function ImageZoom() { _classCallCheck(this, ImageZoom); - return _possibleConstructorReturn(this, (ImageZoom.__proto__ || Object.getPrototypeOf(ImageZoom)).apply(this, arguments)); + return _super.apply(this, arguments); } _createClass(ImageZoom, [{ - key: 'componentDidMount', + key: "componentDidMount", value: function componentDidMount() { this.props.uiActions.setWindowTitle('Zoomed image'); } }, { - key: 'render', + key: "render", value: function render() { - return _react2.default.createElement( - _Modal2.default, - { className: 'modal--image-zoom' }, - _react2.default.createElement('img', { src: this.props.location.search.replace('?url=', '') }) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Modal__WEBPACK_IMPORTED_MODULE_3__["default"], { + className: "modal--image-zoom", + "data-qa-node": "Modal", + "data-qa-file": "ImageZoom" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("img", { + src: this.props.location.search.replace('?url=', ''), + "data-qa-node": "img", + "data-qa-file": "ImageZoom" + })); } }]); return ImageZoom; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); var mapStateToProps = function mapStateToProps(state) { return {}; @@ -124083,11 +126482,11 @@ var mapStateToProps = function mapStateToProps(state) { var mapDispatchToProps = function mapDispatchToProps(dispatch) { return { - uiActions: (0, _redux.bindActionCreators)(uiActions, dispatch) + uiActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_ui_actions__WEBPACK_IMPORTED_MODULE_4__, dispatch) }; }; -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(ImageZoom); +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapStateToProps, mapDispatchToProps)(ImageZoom)); /***/ }), @@ -124095,74 +126494,70 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)( /*!*********************************************!*\ !*** ./src/js/views/modals/InitialSetup.js ***! \*********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); - -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); - -var _Modal = __webpack_require__(/*! ./Modal */ "./src/js/views/modals/Modal.js"); - -var _Modal2 = _interopRequireDefault(_Modal); - -var _actions = __webpack_require__(/*! ../../services/core/actions */ "./src/js/services/core/actions.js"); - -var coreActions = _interopRequireWildcard(_actions); - -var _actions2 = __webpack_require__(/*! ../../services/ui/actions */ "./src/js/services/ui/actions.js"); - -var uiActions = _interopRequireWildcard(_actions2); - -var _actions3 = __webpack_require__(/*! ../../services/pusher/actions */ "./src/js/services/pusher/actions.js"); - -var pusherActions = _interopRequireWildcard(_actions3); - -var _actions4 = __webpack_require__(/*! ../../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); - -var mopidyActions = _interopRequireWildcard(_actions4); - -var _helpers = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); - -var _locale = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js"); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var _Modal__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Modal */ "./src/js/views/modals/Modal.js"); +/* harmony import */ var _services_core_actions__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../services/core/actions */ "./src/js/services/core/actions.js"); +/* harmony import */ var _services_ui_actions__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../services/ui/actions */ "./src/js/services/ui/actions.js"); +/* harmony import */ var _services_pusher_actions__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../services/pusher/actions */ "./src/js/services/pusher/actions.js"); +/* harmony import */ var _services_mopidy_actions__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); +/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); +/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -var InitialSetup = function (_React$Component) { +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + + + + + + + + + + + + +var InitialSetup = /*#__PURE__*/function (_React$Component) { _inherits(InitialSetup, _React$Component); + var _super = _createSuper(InitialSetup); + function InitialSetup(props) { + var _this; + _classCallCheck(this, InitialSetup); - var _this = _possibleConstructorReturn(this, (InitialSetup.__proto__ || Object.getPrototypeOf(InitialSetup)).call(this, props)); - + _this = _super.call(this, props); var host = props.host, port = props.port, username = props.username, allow_reporting = props.allow_reporting; - - _this.state = { username: username, allow_reporting: allow_reporting, @@ -124173,28 +126568,28 @@ var InitialSetup = function (_React$Component) { } _createClass(InitialSetup, [{ - key: 'componentDidMount', + key: "componentDidMount", value: function componentDidMount() { - var _props = this.props, - search = _props.location.search, - uiActions = _props.uiActions; + var _this$props = this.props, + search = _this$props.location.search, + uiActions = _this$props.uiActions; // Check for url-parsed configuration values - // Check for url-parsed configuration values - - var customHost = (0, _helpers.queryString)('host', search); - var customPort = (0, _helpers.queryString)('port', search); - if (customHost) this.setState({ host: customHost }); - if (customPort) this.setState({ port: customPort }); - - uiActions.setWindowTitle((0, _locale.i18n)('modal.initial_setup.title')); + var customHost = Object(_util_helpers__WEBPACK_IMPORTED_MODULE_8__["queryString"])('host', search); + var customPort = Object(_util_helpers__WEBPACK_IMPORTED_MODULE_8__["queryString"])('port', search); + if (customHost) this.setState({ + host: customHost + }); + if (customPort) this.setState({ + port: customPort + }); + uiActions.setWindowTitle(Object(_locale__WEBPACK_IMPORTED_MODULE_9__["i18n"])('modal.initial_setup.title')); } }, { - key: 'handleSubmit', + key: "handleSubmit", value: function handleSubmit(e) { e.preventDefault(); - var self = this; + var self = this; // Only if we've changed the username do we set it - // Only if we've changed the username do we set it if (this.props.username !== this.state.username) { this.props.pusherActions.setUsername(this.state.username); } @@ -124203,171 +126598,212 @@ var InitialSetup = function (_React$Component) { initial_setup_complete: true, allow_reporting: this.state.allow_reporting }); - this.props.mopidyActions.set({ host: this.state.host, port: this.state.port }); + this.setState({ + saving: true + }); // Wait a jiffy to allow changes to apply to store - this.setState({ saving: true }); - - // Wait a jiffy to allow changes to apply to store setTimeout(function () { // We've changed a connection setting, so need to reload if (self.state.host !== self.props.host || self.state.port !== self.props.port) { - window.location = '/'; - - // Safe to just close modal + window.location = '/'; // Safe to just close modal } else { self.props.history.push('/'); } }, 200); - return false; } }, { - key: 'render', + key: "render", value: function render() { var _this2 = this; - return _react2.default.createElement( - _Modal2.default, - { className: 'modal--initial-setup', noclose: true }, - _react2.default.createElement( - 'h1', - null, - _react2.default.createElement(_locale.I18n, { path: 'modal.initial_setup.title' }) - ), - _react2.default.createElement( - 'form', - { onSubmit: function onSubmit(e) { - return _this2.handleSubmit(e); - } }, - _react2.default.createElement( - 'div', - { className: 'field text' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.server.username.label' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement('input', { - type: 'text', - onChange: function onChange(e) { - return _this2.setState({ username: e.target.value.replace(/\W/g, '') }); - }, - value: this.state.username - }), - _react2.default.createElement( - 'div', - { className: 'description' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.server.username.description' }) - ) - ) - ), - _react2.default.createElement( - 'div', - { className: 'field' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.servers.host' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement('input', { - type: 'text', - onChange: function onChange(e) { - return _this2.setState({ host: e.target.value }); - }, - value: this.state.host - }) - ) - ), - _react2.default.createElement( - 'div', - { className: 'field' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.servers.port' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement('input', { - type: 'text', - onChange: function onChange(e) { - return _this2.setState({ port: e.target.value }); - }, - value: this.state.port - }) - ) - ), - (0, _helpers.isHosted)() ? null : _react2.default.createElement( - 'div', - { className: 'field checkbox' }, - _react2.default.createElement( - 'div', - { className: 'input' }, - _react2.default.createElement( - 'label', - null, - _react2.default.createElement('input', { - type: 'checkbox', - name: 'allow_reporting', - checked: this.state.allow_reporting, - onChange: function onChange(e) { - return _this2.setState({ allow_reporting: !_this2.state.allow_reporting }); - } - }), - _react2.default.createElement( - 'span', - { className: 'label' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.interface.reporting.sublabel' }) - ) - ), - _react2.default.createElement( - 'p', - { className: 'description' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.interface.reporting.description' }), - _react2.default.createElement( - 'a', - { href: 'https://github.com/jaedb/Iris/wiki/Terms-of-use#privacy-policy', target: '_blank' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.interface.reporting.privacy_policy' }) - ), - '.', - !this.state.allow_reporting && _react2.default.createElement( - 'span', - { className: 'red-text' }, - _react2.default.createElement('br', null), - _react2.default.createElement(_locale.I18n, { path: 'settings.interface.reporting.are_you_sure' }) - ) - ) - ) - ), - _react2.default.createElement( - 'div', - { className: 'actions centered-text' }, - _react2.default.createElement( - 'button', - { className: 'button button--primary button--large' + (this.state.saving ? ' button--working' : ''), onClick: function onClick(e) { - return _this2.handleSubmit(e); - } }, - _react2.default.createElement(_locale.I18n, { path: 'actions.save' }) - ) - ) - ) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Modal__WEBPACK_IMPORTED_MODULE_3__["default"], { + className: "modal--initial-setup", + noclose: true, + "data-qa-node": "Modal", + "data-qa-file": "InitialSetup" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h1", { + "data-qa-node": "h1", + "data-qa-file": "InitialSetup" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_9__["I18n"], { + path: "modal.initial_setup.title", + "data-qa-node": "I18n", + "data-qa-file": "InitialSetup" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("form", { + onSubmit: function onSubmit(e) { + return _this2.handleSubmit(e); + }, + "data-qa-node": "form", + "data-qa-file": "InitialSetup" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field text", + "data-qa-node": "div", + "data-qa-file": "InitialSetup" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "InitialSetup" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_9__["I18n"], { + path: "settings.server.username.label", + "data-qa-node": "I18n", + "data-qa-file": "InitialSetup" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "InitialSetup" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { + type: "text", + onChange: function onChange(e) { + return _this2.setState({ + username: e.target.value.replace(/\W/g, '') + }); + }, + value: this.state.username, + "data-qa-node": "input", + "data-qa-file": "InitialSetup" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "description", + "data-qa-node": "div", + "data-qa-file": "InitialSetup" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_9__["I18n"], { + path: "settings.server.username.description", + "data-qa-node": "I18n", + "data-qa-file": "InitialSetup" + })))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field", + "data-qa-node": "div", + "data-qa-file": "InitialSetup" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "InitialSetup" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_9__["I18n"], { + path: "settings.servers.host", + "data-qa-node": "I18n", + "data-qa-file": "InitialSetup" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "InitialSetup" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { + type: "text", + onChange: function onChange(e) { + return _this2.setState({ + host: e.target.value + }); + }, + value: this.state.host, + "data-qa-node": "input", + "data-qa-file": "InitialSetup" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field", + "data-qa-node": "div", + "data-qa-file": "InitialSetup" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "InitialSetup" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_9__["I18n"], { + path: "settings.servers.port", + "data-qa-node": "I18n", + "data-qa-file": "InitialSetup" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "InitialSetup" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { + type: "text", + onChange: function onChange(e) { + return _this2.setState({ + port: e.target.value + }); + }, + value: this.state.port, + "data-qa-node": "input", + "data-qa-file": "InitialSetup" + }))), Object(_util_helpers__WEBPACK_IMPORTED_MODULE_8__["isHosted"])() ? null : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field checkbox", + "data-qa-node": "div", + "data-qa-file": "InitialSetup" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "InitialSetup" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { + "data-qa-node": "label", + "data-qa-file": "InitialSetup" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { + type: "checkbox", + name: "allow_reporting", + checked: this.state.allow_reporting, + onChange: function onChange(e) { + return _this2.setState({ + allow_reporting: !_this2.state.allow_reporting + }); + }, + "data-qa-node": "input", + "data-qa-file": "InitialSetup" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "label", + "data-qa-node": "span", + "data-qa-file": "InitialSetup" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_9__["I18n"], { + path: "settings.interface.reporting.sublabel", + "data-qa-node": "I18n", + "data-qa-file": "InitialSetup" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p", { + className: "description", + "data-qa-node": "p", + "data-qa-file": "InitialSetup" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_9__["I18n"], { + path: "settings.interface.reporting.description", + "data-qa-node": "I18n", + "data-qa-file": "InitialSetup" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + href: "https://github.com/jaedb/Iris/wiki/Terms-of-use#privacy-policy", + target: "_blank", + "data-qa-node": "a", + "data-qa-file": "InitialSetup" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_9__["I18n"], { + path: "settings.interface.reporting.privacy_policy", + "data-qa-node": "I18n", + "data-qa-file": "InitialSetup" + })), ".", !this.state.allow_reporting && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "red-text", + "data-qa-node": "span", + "data-qa-file": "InitialSetup" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("br", { + "data-qa-node": "br", + "data-qa-file": "InitialSetup" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_9__["I18n"], { + path: "settings.interface.reporting.are_you_sure", + "data-qa-node": "I18n", + "data-qa-file": "InitialSetup" + }))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "actions centered-text", + "data-qa-node": "div", + "data-qa-file": "InitialSetup" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", { + className: "button button--primary button--large".concat(this.state.saving ? ' button--working' : ''), + onClick: function onClick(e) { + return _this2.handleSubmit(e); + }, + "data-qa-node": "button", + "data-qa-file": "InitialSetup" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_9__["I18n"], { + path: "actions.save", + "data-qa-node": "I18n", + "data-qa-file": "InitialSetup" + }))))); } }]); return InitialSetup; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); var mapStateToProps = function mapStateToProps(state, ownProps) { return { @@ -124380,14 +126816,14 @@ var mapStateToProps = function mapStateToProps(state, ownProps) { var mapDispatchToProps = function mapDispatchToProps(dispatch) { return { - coreActions: (0, _redux.bindActionCreators)(coreActions, dispatch), - uiActions: (0, _redux.bindActionCreators)(uiActions, dispatch), - pusherActions: (0, _redux.bindActionCreators)(pusherActions, dispatch), - mopidyActions: (0, _redux.bindActionCreators)(mopidyActions, dispatch) + coreActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_core_actions__WEBPACK_IMPORTED_MODULE_4__, dispatch), + uiActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_ui_actions__WEBPACK_IMPORTED_MODULE_5__, dispatch), + pusherActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_pusher_actions__WEBPACK_IMPORTED_MODULE_6__, dispatch), + mopidyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_mopidy_actions__WEBPACK_IMPORTED_MODULE_7__, dispatch) }; }; -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(InitialSetup); +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapStateToProps, mapDispatchToProps)(InitialSetup)); /***/ }), @@ -124395,99 +126831,90 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)( /*!******************************************!*\ !*** ./src/js/views/modals/KioskMode.js ***! \******************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); - -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); - -var _Link = __webpack_require__(/*! ../../components/Link */ "./src/js/components/Link.js"); - -var _Link2 = _interopRequireDefault(_Link); - -var _Modal = __webpack_require__(/*! ./Modal */ "./src/js/views/modals/Modal.js"); - -var _Modal2 = _interopRequireDefault(_Modal); - -var _Thumbnail = __webpack_require__(/*! ../../components/Thumbnail */ "./src/js/components/Thumbnail.js"); - -var _Thumbnail2 = _interopRequireDefault(_Thumbnail); - -var _LinksSentence = __webpack_require__(/*! ../../components/LinksSentence */ "./src/js/components/LinksSentence.js"); - -var _LinksSentence2 = _interopRequireDefault(_LinksSentence); - -var _Loader = __webpack_require__(/*! ../../components/Loader */ "./src/js/components/Loader.js"); - -var _Loader2 = _interopRequireDefault(_Loader); - -var _Icon = __webpack_require__(/*! ../../components/Icon */ "./src/js/components/Icon.js"); - -var _Icon2 = _interopRequireDefault(_Icon); - -var _ProgressSlider = __webpack_require__(/*! ../../components/Fields/ProgressSlider */ "./src/js/components/Fields/ProgressSlider.js"); - -var _ProgressSlider2 = _interopRequireDefault(_ProgressSlider); - -var _actions = __webpack_require__(/*! ../../services/ui/actions */ "./src/js/services/ui/actions.js"); - -var uiActions = _interopRequireWildcard(_actions); - -var _actions2 = __webpack_require__(/*! ../../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); - -var mopidyActions = _interopRequireWildcard(_actions2); - -var _actions3 = __webpack_require__(/*! ../../services/genius/actions */ "./src/js/services/genius/actions.js"); - -var geniusActions = _interopRequireWildcard(_actions3); - -var _helpers = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); - -var _locale = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js"); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var _components_Link__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../components/Link */ "./src/js/components/Link.js"); +/* harmony import */ var _Modal__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Modal */ "./src/js/views/modals/Modal.js"); +/* harmony import */ var _components_Thumbnail__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../components/Thumbnail */ "./src/js/components/Thumbnail.js"); +/* harmony import */ var _components_LinksSentence__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../components/LinksSentence */ "./src/js/components/LinksSentence.js"); +/* harmony import */ var _components_Loader__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../components/Loader */ "./src/js/components/Loader.js"); +/* harmony import */ var _components_Icon__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../components/Icon */ "./src/js/components/Icon.js"); +/* harmony import */ var _components_Fields_ProgressSlider__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../components/Fields/ProgressSlider */ "./src/js/components/Fields/ProgressSlider.js"); +/* harmony import */ var _services_ui_actions__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../services/ui/actions */ "./src/js/services/ui/actions.js"); +/* harmony import */ var _services_mopidy_actions__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../services/mopidy/actions */ "./src/js/services/mopidy/actions.js"); +/* harmony import */ var _services_genius_actions__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../services/genius/actions */ "./src/js/services/genius/actions.js"); +/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js"); +/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _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; } + + + + + + + + + + + + + + + -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } var LyricsScroller = function LyricsScroller(_ref) { var _ref$content = _ref.content, - content = _ref$content === undefined ? '' : _ref$content, + content = _ref$content === void 0 ? '' : _ref$content, _ref$time_position = _ref.time_position, - time_position = _ref$time_position === undefined ? 1 : _ref$time_position, + time_position = _ref$time_position === void 0 ? 1 : _ref$time_position, _ref$duration = _ref.duration, - duration = _ref$duration === undefined ? 100 : _ref$duration; - + duration = _ref$duration === void 0 ? 100 : _ref$duration; var percent = (time_position / duration * 110).toFixed(4); - - return _react2.default.createElement( - 'div', - { className: 'lyrics' }, - _react2.default.createElement('div', { - className: 'lyrics__content', - dangerouslySetInnerHTML: { __html: content }, - style: { transform: 'translateY(-' + percent + '%)' } - }) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "lyrics", + "data-qa-node": "div", + "data-qa-file": "KioskMode" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "lyrics__content", + dangerouslySetInnerHTML: { + __html: content + }, + style: { + transform: "translateY(-".concat(percent, "%)") + }, + "data-qa-node": "div", + "data-qa-file": "KioskMode" + })); }; var Lyrics = function Lyrics(_ref2) { @@ -124495,7 +126922,7 @@ var Lyrics = function Lyrics(_ref2) { load_queue = _ref2.load_queue, genius_authorized = _ref2.genius_authorized, _ref2$time_position = _ref2.time_position, - time_position = _ref2$time_position === undefined ? null : _ref2$time_position, + time_position = _ref2$time_position === void 0 ? null : _ref2$time_position, current_track = _ref2.current_track; if (!show_lyrics) { @@ -124506,59 +126933,78 @@ var Lyrics = function Lyrics(_ref2) { lyrics = _ref3.lyrics, duration = _ref3.duration; - if ((0, _helpers.isLoading)(load_queue, ['genius_'])) { - return _react2.default.createElement( - 'div', - { className: 'lyrics' }, - _react2.default.createElement(_Loader2.default, { body: true, loading: true }) - ); + if (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_13__["isLoading"])(load_queue, ['genius_'])) { + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "lyrics", + "data-qa-node": "div", + "data-qa-file": "KioskMode" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Loader__WEBPACK_IMPORTED_MODULE_7__["default"], { + body: true, + loading: true, + "data-qa-node": "Loader", + "data-qa-file": "KioskMode" + })); } + if (!genius_authorized) { - return _react2.default.createElement( - 'p', - { className: 'no-results' }, - _react2.default.createElement(_locale.I18n, { path: 'services.genius.want_lyrics' }), - _react2.default.createElement( - _Link2.default, - { to: '/settings/genius', scrollTo: '#services-menu' }, - _react2.default.createElement(_locale.I18n, { path: 'settings.title' }) - ), - '.' - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p", { + className: "no-results", + "data-qa-node": "p", + "data-qa-file": "KioskMode" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_14__["I18n"], { + path: "services.genius.want_lyrics", + "data-qa-node": "I18n", + "data-qa-file": "KioskMode" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Link__WEBPACK_IMPORTED_MODULE_3__["default"], { + to: "/settings/genius", + scrollTo: "#services-menu", + "data-qa-node": "Link", + "data-qa-file": "KioskMode" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_14__["I18n"], { + path: "settings.title", + "data-qa-node": "I18n", + "data-qa-file": "KioskMode" + })), "."); } + if (lyrics) { - return _react2.default.createElement(LyricsScroller, { + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(LyricsScroller, { content: lyrics, time_position: time_position, - duration: duration + duration: duration, + "data-qa-node": "LyricsScroller", + "data-qa-file": "KioskMode" }); - }; + } + + ; return null; }; -var KioskMode = function (_React$Component) { +var KioskMode = /*#__PURE__*/function (_React$Component) { _inherits(KioskMode, _React$Component); - function KioskMode() { - var _ref4; + var _super = _createSuper(KioskMode); - var _temp, _this, _ret; + function KioskMode() { + var _this; _classCallCheck(this, KioskMode); - for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } - return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref4 = KioskMode.__proto__ || Object.getPrototypeOf(KioskMode)).call.apply(_ref4, [this].concat(args))), _this), _this.componentDidUpdate = function (_ref5) { - var prev_current_track = _ref5.current_track; + _this = _super.call.apply(_super, [this].concat(args)); + + _defineProperty(_assertThisInitialized(_this), "componentDidUpdate", function (_ref4) { + var prev_current_track = _ref4.current_track; var _this$props = _this.props, current_track = _this$props.current_track, show_lyrics = _this$props.show_lyrics, genius_authorized = _this$props.genius_authorized, findTrackLyrics = _this$props.geniusActions.findTrackLyrics; - if (!prev_current_track && current_track) { _this.setWindowTitle(current_track); @@ -124570,30 +127016,34 @@ var KioskMode = function (_React$Component) { findTrackLyrics(current_track); } } - }, _this.toggleLyrics = function () { + }); + + _defineProperty(_assertThisInitialized(_this), "toggleLyrics", function () { var _this$props2 = _this.props, show_lyrics = _this$props2.show_lyrics, uiActions = _this$props2.uiActions, genius_authorized = _this$props2.genius_authorized, current_track = _this$props2.current_track; + uiActions.set({ + show_lyrics: !show_lyrics + }); - - uiActions.set({ show_lyrics: !show_lyrics }); if (!show_lyrics && _this.props.genius_authorized && current_track && current_track.artists && !current_track.lyrics_results) { _this.props.geniusActions.findTrackLyrics(current_track); } - }, _temp), _possibleConstructorReturn(_this, _ret); + }); + + return _this; } _createClass(KioskMode, [{ - key: 'componentDidMount', + key: "componentDidMount", value: function componentDidMount() { - var _props = this.props, - current_track = _props.current_track, - genius_authorized = _props.genius_authorized, - show_lyrics = _props.show_lyrics, - geniusActions = _props.geniusActions; - + var _this$props3 = this.props, + current_track = _this$props3.current_track, + genius_authorized = _this$props3.genius_authorized, + show_lyrics = _this$props3.show_lyrics, + geniusActions = _this$props3.geniusActions; this.setWindowTitle(); if (show_lyrics && genius_authorized && current_track && current_track.artists && !current_track.lyrics_results) { @@ -124601,25 +127051,31 @@ var KioskMode = function (_React$Component) { } } }, { - key: 'setWindowTitle', + key: "setWindowTitle", value: function setWindowTitle() { var current_track = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.props.current_track; if (current_track) { var artists = ''; + for (var i = 0; i < current_track.artists.length; i++) { if (artists != '') { artists += ', '; } + artists += current_track.artists[i].name; } - this.props.uiActions.setWindowTitle((0, _locale.i18n)('modal.kiosk.title_window', { name: current_track.name, artists: artists })); + + this.props.uiActions.setWindowTitle(Object(_locale__WEBPACK_IMPORTED_MODULE_14__["i18n"])('modal.kiosk.title_window', { + name: current_track.name, + artists: artists + })); } else { - this.props.uiActions.setWindowTitle((0, _locale.i18n)('modal.kiosk.title')); + this.props.uiActions.setWindowTitle(Object(_locale__WEBPACK_IMPORTED_MODULE_14__["i18n"])('modal.kiosk.title')); } } }, { - key: 'togglePlay', + key: "togglePlay", value: function togglePlay(e) { if (this.props.play_state == 'playing') { this.props.mopidyActions.pause(); @@ -124628,39 +127084,53 @@ var KioskMode = function (_React$Component) { } } }, { - key: 'renderPlayButton', + key: "renderPlayButton", value: function renderPlayButton() { var _this2 = this; - var button = _react2.default.createElement( - 'button', - { className: 'control play', onClick: function onClick() { - return _this2.props.mopidyActions.play(); - } }, - _react2.default.createElement(_Icon2.default, { name: 'play_circle_filled', type: 'material' }) - ); + var button = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", { + className: "control play", + onClick: function onClick() { + return _this2.props.mopidyActions.play(); + }, + "data-qa-node": "button", + "data-qa-file": "KioskMode" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_8__["default"], { + name: "play_circle_filled", + type: "material", + "data-qa-node": "Icon", + "data-qa-file": "KioskMode" + })); + if (this.props.play_state == 'playing') { - button = _react2.default.createElement( - 'button', - { className: 'control play', onClick: function onClick() { - return _this2.props.mopidyActions.pause(); - } }, - _react2.default.createElement(_Icon2.default, { name: 'pause_circle_filled', type: 'material' }) - ); + button = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", { + className: "control play", + onClick: function onClick() { + return _this2.props.mopidyActions.pause(); + }, + "data-qa-node": "button", + "data-qa-file": "KioskMode" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_8__["default"], { + name: "pause_circle_filled", + type: "material", + "data-qa-node": "Icon", + "data-qa-file": "KioskMode" + })); } + return button; } }, { - key: 'render', + key: "render", value: function render() { var _this3 = this; - var _props2 = this.props, - show_lyrics = _props2.show_lyrics, - current_track = _props2.current_track, - load_queue = _props2.load_queue, - genius_authorized = _props2.genius_authorized, - time_position = _props2.time_position; + var _this$props4 = this.props, + show_lyrics = _this$props4.show_lyrics, + current_track = _this$props4.current_track, + load_queue = _this$props4.load_queue, + genius_authorized = _this$props4.genius_authorized, + time_position = _this$props4.time_position; if (current_track && current_track.images) { var images = current_track.images; @@ -124668,92 +127138,132 @@ var KioskMode = function (_React$Component) { var images = []; } - var extraControls = _react2.default.createElement( - 'div', - { className: 'control', onClick: this.toggleLyrics }, - show_lyrics ? _react2.default.createElement(_Icon2.default, { name: 'toggle_on', className: 'turquoise-text' }) : _react2.default.createElement(_Icon2.default, { name: 'toggle_off' }), - _react2.default.createElement( - 'div', - { style: { paddingLeft: '6px', fontWeight: 'bold' } }, - _react2.default.createElement(_locale.I18n, { path: 'modal.kiosk.lyrics' }) - ) - ); - - return _react2.default.createElement( - _Modal2.default, - { - className: 'modal--kiosk-mode', - extraControls: extraControls + var extraControls = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "control", + onClick: this.toggleLyrics, + "data-qa-node": "div", + "data-qa-file": "KioskMode" + }, show_lyrics ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_8__["default"], { + name: "toggle_on", + className: "turquoise-text", + "data-qa-node": "Icon", + "data-qa-file": "KioskMode" + }) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_8__["default"], { + name: "toggle_off", + "data-qa-node": "Icon", + "data-qa-file": "KioskMode" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + style: { + paddingLeft: '6px', + fontWeight: 'bold' }, - _react2.default.createElement(_Thumbnail2.default, { className: 'background', images: images, placeholder: false }), - _react2.default.createElement( - 'div', - { className: 'player player--' + (show_lyrics ? 'with' : 'without') + '-lyrics' }, - _react2.default.createElement( - 'div', - { className: 'track' }, - _react2.default.createElement( - 'div', - { className: 'track__artwork' }, - _react2.default.createElement(_Thumbnail2.default, { images: images, useImageTag: true }) - ), - _react2.default.createElement( - 'div', - { className: 'track__info' }, - _react2.default.createElement( - 'div', - { className: 'title' }, - current_track ? current_track.name : _react2.default.createElement( - 'span', - null, - '-' - ) - ), - current_track ? _react2.default.createElement(_LinksSentence2.default, { nolinks: true, items: current_track.artists }) : _react2.default.createElement(_LinksSentence2.default, null) - ) - ), - _react2.default.createElement( - 'div', - { className: 'playback' }, - _react2.default.createElement( - 'div', - { className: 'playback__controls' }, - _react2.default.createElement( - 'button', - { className: 'control previous', onClick: function onClick() { - return _this3.props.mopidyActions.previous(); - } }, - _react2.default.createElement(_Icon2.default, { name: 'navigate_before', type: 'material' }) - ), - this.renderPlayButton(), - _react2.default.createElement( - 'button', - { className: 'control next', onClick: function onClick() { - return _this3.props.mopidyActions.next(); - } }, - _react2.default.createElement(_Icon2.default, { name: 'navigate_next', type: 'material' }) - ) - ), - _react2.default.createElement( - 'div', - { className: 'playback__progress' }, - _react2.default.createElement(_ProgressSlider2.default, null) - ) - ) - ), - _react2.default.createElement(Lyrics, { - show_lyrics: show_lyrics, - load_queue: load_queue, - genius_authorized: genius_authorized, - time_position: time_position, - current_track: current_track - }) - ); + "data-qa-node": "div", + "data-qa-file": "KioskMode" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_14__["I18n"], { + path: "modal.kiosk.lyrics", + "data-qa-node": "I18n", + "data-qa-file": "KioskMode" + }))); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Modal__WEBPACK_IMPORTED_MODULE_4__["default"], { + className: "modal--kiosk-mode", + extraControls: extraControls, + "data-qa-node": "Modal", + "data-qa-file": "KioskMode" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Thumbnail__WEBPACK_IMPORTED_MODULE_5__["default"], { + className: "background", + images: images, + placeholder: false, + "data-qa-node": "Thumbnail", + "data-qa-file": "KioskMode" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "player player--".concat(show_lyrics ? 'with' : 'without', "-lyrics"), + "data-qa-node": "div", + "data-qa-file": "KioskMode" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "track", + "data-qa-node": "div", + "data-qa-file": "KioskMode" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "track__artwork", + "data-qa-node": "div", + "data-qa-file": "KioskMode" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Thumbnail__WEBPACK_IMPORTED_MODULE_5__["default"], { + images: images, + useImageTag: true, + "data-qa-node": "Thumbnail", + "data-qa-file": "KioskMode" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "track__info", + "data-qa-node": "div", + "data-qa-file": "KioskMode" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "title", + "data-qa-node": "div", + "data-qa-file": "KioskMode" + }, current_track ? current_track.name : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + "data-qa-node": "span", + "data-qa-file": "KioskMode" + }, "-")), current_track ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_LinksSentence__WEBPACK_IMPORTED_MODULE_6__["default"], { + nolinks: true, + items: current_track.artists, + "data-qa-node": "LinksSentence", + "data-qa-file": "KioskMode" + }) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_LinksSentence__WEBPACK_IMPORTED_MODULE_6__["default"], { + "data-qa-node": "LinksSentence", + "data-qa-file": "KioskMode" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "playback", + "data-qa-node": "div", + "data-qa-file": "KioskMode" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "playback__controls", + "data-qa-node": "div", + "data-qa-file": "KioskMode" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", { + className: "control previous", + onClick: function onClick() { + return _this3.props.mopidyActions.previous(); + }, + "data-qa-node": "button", + "data-qa-file": "KioskMode" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_8__["default"], { + name: "navigate_before", + type: "material", + "data-qa-node": "Icon", + "data-qa-file": "KioskMode" + })), this.renderPlayButton(), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", { + className: "control next", + onClick: function onClick() { + return _this3.props.mopidyActions.next(); + }, + "data-qa-node": "button", + "data-qa-file": "KioskMode" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_8__["default"], { + name: "navigate_next", + type: "material", + "data-qa-node": "Icon", + "data-qa-file": "KioskMode" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "playback__progress", + "data-qa-node": "div", + "data-qa-file": "KioskMode" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Fields_ProgressSlider__WEBPACK_IMPORTED_MODULE_9__["default"], { + "data-qa-node": "ProgressSlider", + "data-qa-file": "KioskMode" + })))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(Lyrics, { + show_lyrics: show_lyrics, + load_queue: load_queue, + genius_authorized: genius_authorized, + time_position: time_position, + current_track: current_track, + "data-qa-node": "Lyrics", + "data-qa-file": "KioskMode" + })); } }]); return KioskMode; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); var mapStateToProps = function mapStateToProps(state) { return { @@ -124768,13 +127278,13 @@ var mapStateToProps = function mapStateToProps(state) { var mapDispatchToProps = function mapDispatchToProps(dispatch) { return { - uiActions: (0, _redux.bindActionCreators)(uiActions, dispatch), - mopidyActions: (0, _redux.bindActionCreators)(mopidyActions, dispatch), - geniusActions: (0, _redux.bindActionCreators)(geniusActions, dispatch) + uiActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_ui_actions__WEBPACK_IMPORTED_MODULE_10__, dispatch), + mopidyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_mopidy_actions__WEBPACK_IMPORTED_MODULE_11__, dispatch), + geniusActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_genius_actions__WEBPACK_IMPORTED_MODULE_12__, dispatch) }; }; -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(KioskMode); +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapStateToProps, mapDispatchToProps)(KioskMode)); /***/ }), @@ -124782,94 +127292,103 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)( /*!**************************************!*\ !*** ./src/js/views/modals/Modal.js ***! \**************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* WEBPACK VAR INJECTION */(function($) { - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); - -var _Icon = __webpack_require__(/*! ../../components/Icon */ "./src/js/components/Icon.js"); - -var _Icon2 = _interopRequireDefault(_Icon); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +__webpack_require__.r(__webpack_exports__); +/* WEBPACK VAR INJECTION */(function($) {/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var _components_Icon__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../components/Icon */ "./src/js/components/Icon.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -var Modal = function (_React$Component) { +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + + + + + +var Modal = /*#__PURE__*/function (_React$Component) { _inherits(Modal, _React$Component); + var _super = _createSuper(Modal); + function Modal() { _classCallCheck(this, Modal); - return _possibleConstructorReturn(this, (Modal.__proto__ || Object.getPrototypeOf(Modal)).apply(this, arguments)); + return _super.apply(this, arguments); } _createClass(Modal, [{ - key: 'componentDidMount', + key: "componentDidMount", value: function componentDidMount() { $('body').addClass('modal-open'); } }, { - key: 'componentWillUnmount', + key: "componentWillUnmount", value: function componentWillUnmount() { $('body').removeClass('modal-open'); } }, { - key: 'render', + key: "render", value: function render() { - var _props = this.props, - _props$extraControls = _props.extraControls, - extraControls = _props$extraControls === undefined ? null : _props$extraControls, - _props$noclose = _props.noclose, - noclose = _props$noclose === undefined ? false : _props$noclose, - children = _props.children, - _props$className = _props.className, - className = _props$className === undefined ? '' : _props$className; - - - return _react2.default.createElement( - 'div', - { className: 'modal ' + className }, - _react2.default.createElement( - 'div', - { className: 'controls' }, - extraControls, - !noclose && _react2.default.createElement( - 'div', - { className: 'control close', onClick: function onClick(e) { - return window.history.back(); - } }, - _react2.default.createElement(_Icon2.default, { name: 'close', className: 'white' }) - ) - ), - _react2.default.createElement( - 'div', - { className: 'content' }, - children - ) - ); + var _this$props = this.props, + _this$props$extraCont = _this$props.extraControls, + extraControls = _this$props$extraCont === void 0 ? null : _this$props$extraCont, + _this$props$noclose = _this$props.noclose, + noclose = _this$props$noclose === void 0 ? false : _this$props$noclose, + children = _this$props.children, + _this$props$className = _this$props.className, + className = _this$props$className === void 0 ? '' : _this$props$className; + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "modal ".concat(className), + "data-qa-node": "div", + "data-qa-file": "Modal" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "controls", + "data-qa-node": "div", + "data-qa-file": "Modal" + }, extraControls, !noclose && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "control close", + onClick: function onClick(e) { + return window.history.back(); + }, + "data-qa-node": "div", + "data-qa-file": "Modal" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_2__["default"], { + name: "close", + className: "white", + "data-qa-node": "Icon", + "data-qa-file": "Modal" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "content", + "data-qa-node": "div", + "data-qa-file": "Modal" + }, children)); } }]); return Modal; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); var mapStateToProps = function mapStateToProps(state, ownProps) { return { @@ -124881,7 +127400,7 @@ var mapDispatchToProps = function mapDispatchToProps(dispatch) { return {}; }; -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(Modal); +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapStateToProps, mapDispatchToProps)(Modal)); /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ "./node_modules/jquery/dist/jquery.js"))) /***/ }), @@ -124890,58 +127409,66 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)( /*!***************************************************!*\ !*** ./src/js/views/modals/ShareConfiguration.js ***! \***************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var _Modal__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Modal */ "./src/js/views/modals/Modal.js"); +/* harmony import */ var _services_ui_actions__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../services/ui/actions */ "./src/js/services/ui/actions.js"); +/* harmony import */ var _services_pusher_actions__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../services/pusher/actions */ "./src/js/services/pusher/actions.js"); +/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } +function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } -Object.defineProperty(exports, "__esModule", { - value: true -}); +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _react2 = _interopRequireDefault(_react); - -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); - -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); - -var _Modal = __webpack_require__(/*! ./Modal */ "./src/js/views/modals/Modal.js"); - -var _Modal2 = _interopRequireDefault(_Modal); - -var _actions = __webpack_require__(/*! ../../services/ui/actions */ "./src/js/services/ui/actions.js"); - -var uiActions = _interopRequireWildcard(_actions); - -var _actions2 = __webpack_require__(/*! ../../services/pusher/actions */ "./src/js/services/pusher/actions.js"); - -var pusherActions = _interopRequireWildcard(_actions2); - -var _locale = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js"); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -var ShareConfiguration = function (_React$Component) { +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + + + + + + + + + +var ShareConfiguration = /*#__PURE__*/function (_React$Component) { _inherits(ShareConfiguration, _React$Component); + var _super = _createSuper(ShareConfiguration); + function ShareConfiguration(props) { + var _this; + _classCallCheck(this, ShareConfiguration); - var _this = _possibleConstructorReturn(this, (ShareConfiguration.__proto__ || Object.getPrototypeOf(ShareConfiguration)).call(this, props)); - + _this = _super.call(this, props); _this.state = { recipients: [], spotify: false, @@ -124953,12 +127480,12 @@ var ShareConfiguration = function (_React$Component) { } _createClass(ShareConfiguration, [{ - key: 'componentDidMount', + key: "componentDidMount", value: function componentDidMount() { - this.props.uiActions.setWindowTitle((0, _locale.i18n)('modal.share_configuration.title')); + this.props.uiActions.setWindowTitle(Object(_locale__WEBPACK_IMPORTED_MODULE_6__["i18n"])('modal.share_configuration.title')); } }, { - key: 'toggleRecipient', + key: "toggleRecipient", value: function toggleRecipient(id) { var recipients = this.state.recipients; @@ -124968,35 +127495,42 @@ var ShareConfiguration = function (_React$Component) { } else { recipients.push(id); } - this.setState({ recipients: recipients }); + + this.setState({ + recipients: recipients + }); } }, { - key: 'handleSubmit', + key: "handleSubmit", value: function handleSubmit(e) { e.preventDefault(); - var configuration = {}; + if (this.state.spotify) { configuration.spotify = { authorization: this.props.spotify_authorization, me: this.props.spotify_me }; } + if (this.state.genius) { configuration.genius = { authorization: this.props.genius_authorization, me: this.props.genius_me }; } + if (this.state.lastfm) { configuration.lastfm = { authorization: this.props.lastfm_authorization, me: this.props.lastfm_me }; } + if (this.state.ui) { configuration.ui = this.props.ui; } + if (this.state.snapcast) { configuration.snapcast = { enabled: this.props.snapcast.enabled, @@ -125005,39 +127539,29 @@ var ShareConfiguration = function (_React$Component) { }; } - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; + var _iterator = _createForOfIteratorHelper(this.state.recipients), + _step; try { - for (var _iterator = this.state.recipients[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + for (_iterator.s(); !(_step = _iterator.n()).done;) { var recipient = _step.value; - this.props.pusherActions.deliverMessage(recipient, 'share_configuration_received', configuration); } } catch (err) { - _didIteratorError = true; - _iteratorError = err; + _iterator.e(err); } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } + _iterator.f(); } window.history.back(); } }, { - key: 'render', + key: "render", value: function render() { var _this2 = this; var connections = []; + for (var connection_id in this.props.connections) { if (this.props.connections.hasOwnProperty(connection_id) && connection_id != this.props.connection_id) { connections.push(this.props.connections[connection_id]); @@ -125045,313 +127569,357 @@ var ShareConfiguration = function (_React$Component) { } if (connections.length > 0) { - var recipients = _react2.default.createElement( - 'div', - { className: 'input checkbox-group' }, - connections.map(function (connection, index) { - return _react2.default.createElement( - 'div', - { key: connection.connection_id, className: 'checkbox-group__item' }, - _react2.default.createElement( - 'label', - null, - _react2.default.createElement('input', { - type: 'checkbox', - name: 'connection_' + connection.connection_id, - checked: _this2.state.recipients.includes(connection.connection_id), - onChange: function onChange(e) { - return _this2.toggleRecipient(connection.connection_id); - } - }), - _react2.default.createElement( - 'div', - { className: 'label' }, - _react2.default.createElement( - 'div', - null, - _react2.default.createElement( - 'div', - { className: 'title' }, - connection.username - ), - _react2.default.createElement( - 'div', - { className: 'description mid_grey-text' }, - '(', - connection.ip, - ')' - ) - ) - ) - ) - ); - }) - ); + var recipients = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input checkbox-group", + "data-qa-node": "div", + "data-qa-file": "ShareConfiguration" + }, connections.map(function (connection, index) { + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + key: connection.connection_id, + className: "checkbox-group__item", + "data-qa-node": "div", + "data-qa-file": "ShareConfiguration" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { + "data-qa-node": "label", + "data-qa-file": "ShareConfiguration" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { + type: "checkbox", + name: "connection_".concat(connection.connection_id), + checked: _this2.state.recipients.includes(connection.connection_id), + onChange: function onChange(e) { + return _this2.toggleRecipient(connection.connection_id); + }, + "data-qa-node": "input", + "data-qa-file": "ShareConfiguration" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "label", + "data-qa-node": "div", + "data-qa-file": "ShareConfiguration" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + "data-qa-node": "div", + "data-qa-file": "ShareConfiguration" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "title", + "data-qa-node": "div", + "data-qa-file": "ShareConfiguration" + }, connection.username), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "description mid_grey-text", + "data-qa-node": "div", + "data-qa-file": "ShareConfiguration" + }, "(", connection.ip, ")"))))); + })); } else { - var recipients = _react2.default.createElement( - 'div', - { className: 'input text' }, - _react2.default.createElement( - 'span', - { className: 'mid_grey-text' }, - _react2.default.createElement(_locale.I18n, { path: 'modal.share_configuration.no_peers' }) - ) - ); + var recipients = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input text", + "data-qa-node": "div", + "data-qa-file": "ShareConfiguration" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + className: "mid_grey-text", + "data-qa-node": "span", + "data-qa-file": "ShareConfiguration" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_6__["I18n"], { + path: "modal.share_configuration.no_peers", + "data-qa-node": "I18n", + "data-qa-file": "ShareConfiguration" + }))); } - return _react2.default.createElement( - _Modal2.default, - { className: 'modal--share-configuration' }, - _react2.default.createElement( - 'h1', - null, - _react2.default.createElement(_locale.I18n, { path: 'modal.share_configuration.title' }) - ), - _react2.default.createElement( - 'h2', - null, - _react2.default.createElement(_locale.I18n, { path: 'modal.share_configuration.subtitle' }) - ), - _react2.default.createElement( - 'form', - { onSubmit: function onSubmit(e) { - return _this2.handleSubmit(e); - } }, - _react2.default.createElement( - 'div', - { className: 'field checkbox white' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'modal.share_configuration.recipients' }) - ), - recipients - ), - _react2.default.createElement( - 'div', - { className: 'field checkbox checkbox--block' }, - _react2.default.createElement( - 'div', - { className: 'name' }, - _react2.default.createElement(_locale.I18n, { path: 'modal.share_configuration.configurations' }) - ), - _react2.default.createElement( - 'div', - { className: 'input' }, - this.props.spotify_me && this.props.spotify_authorization && _react2.default.createElement( - 'div', - { className: 'checkbox-group__item' }, - _react2.default.createElement( - 'label', - null, - _react2.default.createElement('input', { - type: 'checkbox', - name: 'spotify', - checked: this.state.spotify, - onChange: function onChange(e) { - return _this2.setState({ spotify: !_this2.state.spotify }); - } - }), - _react2.default.createElement( - 'div', - { className: 'label' }, - _react2.default.createElement( - 'div', - null, - _react2.default.createElement( - 'div', - { className: 'title' }, - _react2.default.createElement(_locale.I18n, { - path: 'modal.share_configuration.authorization', - service: (0, _locale.i18n)('services.spotify.title') - }) - ), - _react2.default.createElement( - 'div', - { className: 'description mid_grey-text' }, - _react2.default.createElement(_locale.I18n, { - path: 'modal.share_configuration.logged_in_as', - name: this.props.spotify_me.name - }) - ) - ) - ) - ) - ), - this.props.lastfm_me && this.props.lastfm_authorization && _react2.default.createElement( - 'div', - { className: 'checkbox-group__item' }, - _react2.default.createElement( - 'label', - null, - _react2.default.createElement('input', { - type: 'checkbox', - name: 'lastfm_authorization', - checked: this.state.lastfm, - onChange: function onChange(e) { - return _this2.setState({ lastfm: !_this2.state.lastfm }); - } - }), - _react2.default.createElement( - 'div', - { className: 'label' }, - _react2.default.createElement( - 'div', - null, - _react2.default.createElement( - 'div', - { className: 'title' }, - _react2.default.createElement(_locale.I18n, { - path: 'modal.share_configuration.authorization', - service: (0, _locale.i18n)('services.lastfm.title') - }) - ), - _react2.default.createElement( - 'div', - { className: 'description mid_grey-text' }, - _react2.default.createElement(_locale.I18n, { - path: 'modal.share_configuration.logged_in_as', - name: this.props.lastfm_me.name - }) - ) - ) - ) - ) - ), - this.props.genius_me && this.props.genius_authorization && _react2.default.createElement( - 'div', - { className: 'checkbox-group__item' }, - _react2.default.createElement( - 'label', - null, - _react2.default.createElement('input', { - type: 'checkbox', - name: 'genius_authorization', - checked: this.state.genius, - onChange: function onChange(e) { - return _this2.setState({ genius: !_this2.state.genius }); - } - }), - _react2.default.createElement( - 'div', - { className: 'label' }, - _react2.default.createElement( - 'div', - null, - _react2.default.createElement( - 'div', - { className: 'title' }, - _react2.default.createElement(_locale.I18n, { - path: 'modal.share_configuration.authorization', - service: (0, _locale.i18n)('services.genius.title') - }) - ), - _react2.default.createElement( - 'div', - { className: 'description mid_grey-text' }, - _react2.default.createElement(_locale.I18n, { - path: 'modal.share_configuration.logged_in_as', - name: this.props.genius_me.name - }) - ) - ) - ) - ) - ), - _react2.default.createElement( - 'div', - { className: 'checkbox-group__item' }, - _react2.default.createElement( - 'label', - null, - _react2.default.createElement('input', { - type: 'checkbox', - name: 'snapcast', - checked: this.state.snapcast, - onChange: function onChange() { - return _this2.setState({ snapcast: !_this2.state.snapcast }); - } - }), - _react2.default.createElement( - 'div', - { className: 'label' }, - _react2.default.createElement( - 'div', - null, - _react2.default.createElement( - 'div', - { className: 'title' }, - _react2.default.createElement(_locale.I18n, { path: 'services.snapcast.title' }) - ), - _react2.default.createElement( - 'div', - { className: 'description mid_grey-text' }, - _react2.default.createElement(_locale.I18n, { path: 'modal.share_configuration.snapcast_description' }) - ) - ) - ) - ) - ), - _react2.default.createElement( - 'div', - { className: 'checkbox-group__item' }, - _react2.default.createElement( - 'label', - null, - _react2.default.createElement('input', { - type: 'checkbox', - name: 'interface', - checked: this.state.ui, - onChange: function onChange(e) { - return _this2.setState({ ui: !_this2.state.ui }); - } - }), - _react2.default.createElement( - 'div', - { className: 'label' }, - _react2.default.createElement( - 'div', - null, - _react2.default.createElement( - 'div', - { className: 'title' }, - _react2.default.createElement(_locale.I18n, { path: 'modal.share_configuration.interface' }) - ), - _react2.default.createElement( - 'div', - { className: 'description mid_grey-text' }, - _react2.default.createElement(_locale.I18n, { path: 'modal.share_configuration.interface_description' }) - ) - ) - ) - ) - ) - ) - ), - _react2.default.createElement( - 'div', - { className: 'actions centered-text' }, - this.state.recipients.length > 0 ? _react2.default.createElement( - 'button', - { className: 'button button--primary button--large', onClick: function onClick(e) { - return _this2.handleSubmit(e); - } }, - _react2.default.createElement(_locale.I18n, { path: 'actions.send' }) - ) : _react2.default.createElement( - 'button', - { className: 'button button--primary button--large', disabled: 'disabled', onClick: function onClick(e) { - return _this2.handleSubmit(e); - } }, - _react2.default.createElement(_locale.I18n, { path: 'actions.send' }) - ) - ) - ) - ); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Modal__WEBPACK_IMPORTED_MODULE_3__["default"], { + className: "modal--share-configuration", + "data-qa-node": "Modal", + "data-qa-file": "ShareConfiguration" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h1", { + "data-qa-node": "h1", + "data-qa-file": "ShareConfiguration" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_6__["I18n"], { + path: "modal.share_configuration.title", + "data-qa-node": "I18n", + "data-qa-file": "ShareConfiguration" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h2", { + "data-qa-node": "h2", + "data-qa-file": "ShareConfiguration" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_6__["I18n"], { + path: "modal.share_configuration.subtitle", + "data-qa-node": "I18n", + "data-qa-file": "ShareConfiguration" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("form", { + onSubmit: function onSubmit(e) { + return _this2.handleSubmit(e); + }, + "data-qa-node": "form", + "data-qa-file": "ShareConfiguration" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field checkbox white", + "data-qa-node": "div", + "data-qa-file": "ShareConfiguration" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "ShareConfiguration" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_6__["I18n"], { + path: "modal.share_configuration.recipients", + "data-qa-node": "I18n", + "data-qa-file": "ShareConfiguration" + })), recipients), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "field checkbox checkbox--block", + "data-qa-node": "div", + "data-qa-file": "ShareConfiguration" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "name", + "data-qa-node": "div", + "data-qa-file": "ShareConfiguration" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_6__["I18n"], { + path: "modal.share_configuration.configurations", + "data-qa-node": "I18n", + "data-qa-file": "ShareConfiguration" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "input", + "data-qa-node": "div", + "data-qa-file": "ShareConfiguration" + }, this.props.spotify_me && this.props.spotify_authorization && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "checkbox-group__item", + "data-qa-node": "div", + "data-qa-file": "ShareConfiguration" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { + "data-qa-node": "label", + "data-qa-file": "ShareConfiguration" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { + type: "checkbox", + name: "spotify", + checked: this.state.spotify, + onChange: function onChange(e) { + return _this2.setState({ + spotify: !_this2.state.spotify + }); + }, + "data-qa-node": "input", + "data-qa-file": "ShareConfiguration" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "label", + "data-qa-node": "div", + "data-qa-file": "ShareConfiguration" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + "data-qa-node": "div", + "data-qa-file": "ShareConfiguration" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "title", + "data-qa-node": "div", + "data-qa-file": "ShareConfiguration" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_6__["I18n"], { + path: "modal.share_configuration.authorization", + service: Object(_locale__WEBPACK_IMPORTED_MODULE_6__["i18n"])('services.spotify.title'), + "data-qa-node": "I18n", + "data-qa-file": "ShareConfiguration" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "description mid_grey-text", + "data-qa-node": "div", + "data-qa-file": "ShareConfiguration" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_6__["I18n"], { + path: "modal.share_configuration.logged_in_as", + name: this.props.spotify_me.name, + "data-qa-node": "I18n", + "data-qa-file": "ShareConfiguration" + })))))), this.props.lastfm_me && this.props.lastfm_authorization && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "checkbox-group__item", + "data-qa-node": "div", + "data-qa-file": "ShareConfiguration" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { + "data-qa-node": "label", + "data-qa-file": "ShareConfiguration" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { + type: "checkbox", + name: "lastfm_authorization", + checked: this.state.lastfm, + onChange: function onChange(e) { + return _this2.setState({ + lastfm: !_this2.state.lastfm + }); + }, + "data-qa-node": "input", + "data-qa-file": "ShareConfiguration" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "label", + "data-qa-node": "div", + "data-qa-file": "ShareConfiguration" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + "data-qa-node": "div", + "data-qa-file": "ShareConfiguration" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "title", + "data-qa-node": "div", + "data-qa-file": "ShareConfiguration" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_6__["I18n"], { + path: "modal.share_configuration.authorization", + service: Object(_locale__WEBPACK_IMPORTED_MODULE_6__["i18n"])('services.lastfm.title'), + "data-qa-node": "I18n", + "data-qa-file": "ShareConfiguration" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "description mid_grey-text", + "data-qa-node": "div", + "data-qa-file": "ShareConfiguration" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_6__["I18n"], { + path: "modal.share_configuration.logged_in_as", + name: this.props.lastfm_me.name, + "data-qa-node": "I18n", + "data-qa-file": "ShareConfiguration" + })))))), this.props.genius_me && this.props.genius_authorization && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "checkbox-group__item", + "data-qa-node": "div", + "data-qa-file": "ShareConfiguration" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { + "data-qa-node": "label", + "data-qa-file": "ShareConfiguration" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { + type: "checkbox", + name: "genius_authorization", + checked: this.state.genius, + onChange: function onChange(e) { + return _this2.setState({ + genius: !_this2.state.genius + }); + }, + "data-qa-node": "input", + "data-qa-file": "ShareConfiguration" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "label", + "data-qa-node": "div", + "data-qa-file": "ShareConfiguration" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + "data-qa-node": "div", + "data-qa-file": "ShareConfiguration" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "title", + "data-qa-node": "div", + "data-qa-file": "ShareConfiguration" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_6__["I18n"], { + path: "modal.share_configuration.authorization", + service: Object(_locale__WEBPACK_IMPORTED_MODULE_6__["i18n"])('services.genius.title'), + "data-qa-node": "I18n", + "data-qa-file": "ShareConfiguration" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "description mid_grey-text", + "data-qa-node": "div", + "data-qa-file": "ShareConfiguration" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_6__["I18n"], { + path: "modal.share_configuration.logged_in_as", + name: this.props.genius_me.name, + "data-qa-node": "I18n", + "data-qa-file": "ShareConfiguration" + })))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "checkbox-group__item", + "data-qa-node": "div", + "data-qa-file": "ShareConfiguration" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { + "data-qa-node": "label", + "data-qa-file": "ShareConfiguration" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { + type: "checkbox", + name: "snapcast", + checked: this.state.snapcast, + onChange: function onChange() { + return _this2.setState({ + snapcast: !_this2.state.snapcast + }); + }, + "data-qa-node": "input", + "data-qa-file": "ShareConfiguration" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "label", + "data-qa-node": "div", + "data-qa-file": "ShareConfiguration" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + "data-qa-node": "div", + "data-qa-file": "ShareConfiguration" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "title", + "data-qa-node": "div", + "data-qa-file": "ShareConfiguration" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_6__["I18n"], { + path: "services.snapcast.title", + "data-qa-node": "I18n", + "data-qa-file": "ShareConfiguration" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "description mid_grey-text", + "data-qa-node": "div", + "data-qa-file": "ShareConfiguration" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_6__["I18n"], { + path: "modal.share_configuration.snapcast_description", + "data-qa-node": "I18n", + "data-qa-file": "ShareConfiguration" + })))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "checkbox-group__item", + "data-qa-node": "div", + "data-qa-file": "ShareConfiguration" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { + "data-qa-node": "label", + "data-qa-file": "ShareConfiguration" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", { + type: "checkbox", + name: "interface", + checked: this.state.ui, + onChange: function onChange(e) { + return _this2.setState({ + ui: !_this2.state.ui + }); + }, + "data-qa-node": "input", + "data-qa-file": "ShareConfiguration" + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "label", + "data-qa-node": "div", + "data-qa-file": "ShareConfiguration" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + "data-qa-node": "div", + "data-qa-file": "ShareConfiguration" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "title", + "data-qa-node": "div", + "data-qa-file": "ShareConfiguration" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_6__["I18n"], { + path: "modal.share_configuration.interface", + "data-qa-node": "I18n", + "data-qa-file": "ShareConfiguration" + })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "description mid_grey-text", + "data-qa-node": "div", + "data-qa-file": "ShareConfiguration" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_6__["I18n"], { + path: "modal.share_configuration.interface_description", + "data-qa-node": "I18n", + "data-qa-file": "ShareConfiguration" + })))))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "actions centered-text", + "data-qa-node": "div", + "data-qa-file": "ShareConfiguration" + }, this.state.recipients.length > 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", { + className: "button button--primary button--large", + onClick: function onClick(e) { + return _this2.handleSubmit(e); + }, + "data-qa-node": "button", + "data-qa-file": "ShareConfiguration" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_6__["I18n"], { + path: "actions.send", + "data-qa-node": "I18n", + "data-qa-file": "ShareConfiguration" + })) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", { + className: "button button--primary button--large", + disabled: "disabled", + onClick: function onClick(e) { + return _this2.handleSubmit(e); + }, + "data-qa-node": "button", + "data-qa-file": "ShareConfiguration" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_6__["I18n"], { + path: "actions.send", + "data-qa-node": "I18n", + "data-qa-file": "ShareConfiguration" + }))))); } }]); return ShareConfiguration; -}(_react2.default.Component); +}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); var mapStateToProps = function mapStateToProps(state, ownProps) { return { @@ -125370,12 +127938,12 @@ var mapStateToProps = function mapStateToProps(state, ownProps) { var mapDispatchToProps = function mapDispatchToProps(dispatch) { return { - pusherActions: (0, _redux.bindActionCreators)(pusherActions, dispatch), - uiActions: (0, _redux.bindActionCreators)(uiActions, dispatch) + pusherActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_pusher_actions__WEBPACK_IMPORTED_MODULE_5__, dispatch), + uiActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_ui_actions__WEBPACK_IMPORTED_MODULE_4__, dispatch) }; }; -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(ShareConfiguration); +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapStateToProps, mapDispatchToProps)(ShareConfiguration)); /***/ }), diff --git a/mopidy_iris/static/app.js.map b/mopidy_iris/static/app.js.map index 1c3c5bc8..ea4141c2 100644 --- a/mopidy_iris/static/app.js.map +++ b/mopidy_iris/static/app.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/@babel/runtime/helpers/esm/extends.js","webpack:///./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack:///./node_modules/@babel/runtime/helpers/inheritsLoose.js","webpack:///./node_modules/@sentry/browser/esm/backend.js","webpack:///./node_modules/@sentry/browser/esm/client.js","webpack:///./node_modules/@sentry/browser/esm/eventbuilder.js","webpack:///./node_modules/@sentry/browser/esm/exports.js","webpack:///./node_modules/@sentry/browser/esm/helpers.js","webpack:///./node_modules/@sentry/browser/esm/index.js","webpack:///./node_modules/@sentry/browser/esm/integrations/breadcrumbs.js","webpack:///./node_modules/@sentry/browser/esm/integrations/globalhandlers.js","webpack:///./node_modules/@sentry/browser/esm/integrations/index.js","webpack:///./node_modules/@sentry/browser/esm/integrations/linkederrors.js","webpack:///./node_modules/@sentry/browser/esm/integrations/trycatch.js","webpack:///./node_modules/@sentry/browser/esm/integrations/useragent.js","webpack:///./node_modules/@sentry/browser/esm/parsers.js","webpack:///./node_modules/@sentry/browser/esm/sdk.js","webpack:///./node_modules/@sentry/browser/esm/tracekit.js","webpack:///./node_modules/@sentry/browser/esm/transports/base.js","webpack:///./node_modules/@sentry/browser/esm/transports/fetch.js","webpack:///./node_modules/@sentry/browser/esm/transports/index.js","webpack:///./node_modules/@sentry/browser/esm/transports/xhr.js","webpack:///./node_modules/@sentry/browser/esm/version.js","webpack:///./node_modules/@sentry/core/esm/api.js","webpack:///./node_modules/@sentry/core/esm/basebackend.js","webpack:///./node_modules/@sentry/core/esm/baseclient.js","webpack:///./node_modules/@sentry/core/esm/index.js","webpack:///./node_modules/@sentry/core/esm/integration.js","webpack:///./node_modules/@sentry/core/esm/integrations/functiontostring.js","webpack:///./node_modules/@sentry/core/esm/integrations/inboundfilters.js","webpack:///./node_modules/@sentry/core/esm/integrations/index.js","webpack:///./node_modules/@sentry/core/esm/sdk.js","webpack:///./node_modules/@sentry/core/esm/transports/noop.js","webpack:///./node_modules/@sentry/hub/esm/hub.js","webpack:///./node_modules/@sentry/hub/esm/index.js","webpack:///./node_modules/@sentry/hub/esm/scope.js","webpack:///./node_modules/@sentry/minimal/esm/index.js","webpack:///./node_modules/@sentry/types/esm/index.js","webpack:///./node_modules/@sentry/types/esm/loglevel.js","webpack:///./node_modules/@sentry/types/esm/severity.js","webpack:///./node_modules/@sentry/types/esm/span.js","webpack:///./node_modules/@sentry/types/esm/status.js","webpack:///./node_modules/@sentry/utils/esm/async.js","webpack:///./node_modules/@sentry/utils/esm/dsn.js","webpack:///./node_modules/@sentry/utils/esm/error.js","webpack:///./node_modules/@sentry/utils/esm/index.js","webpack:///./node_modules/@sentry/utils/esm/instrument.js","webpack:///./node_modules/@sentry/utils/esm/is.js","webpack:///./node_modules/@sentry/utils/esm/logger.js","webpack:///./node_modules/@sentry/utils/esm/memo.js","webpack:///./node_modules/@sentry/utils/esm/misc.js","webpack:///./node_modules/@sentry/utils/esm/object.js","webpack:///./node_modules/@sentry/utils/esm/path.js","webpack:///./node_modules/@sentry/utils/esm/polyfill.js","webpack:///./node_modules/@sentry/utils/esm/promisebuffer.js","webpack:///./node_modules/@sentry/utils/esm/string.js","webpack:///./node_modules/@sentry/utils/esm/supports.js","webpack:///./node_modules/@sentry/utils/esm/syncpromise.js","webpack:///./node_modules/autobind-decorator/lib/index.js","webpack:///./node_modules/bane/lib/bane.js","webpack:///./node_modules/gud/index.js","webpack:///./node_modules/history/esm/history.js","webpack:///./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack:///./node_modules/isarray/index.js","webpack:///./node_modules/jquery/dist/jquery.js","webpack:///./node_modules/js-sha256/src/sha256.js","webpack:///./node_modules/lodash/_Hash.js","webpack:///./node_modules/lodash/_ListCache.js","webpack:///./node_modules/lodash/_Map.js","webpack:///./node_modules/lodash/_MapCache.js","webpack:///./node_modules/lodash/_Symbol.js","webpack:///./node_modules/lodash/_arrayMap.js","webpack:///./node_modules/lodash/_assocIndexOf.js","webpack:///./node_modules/lodash/_baseGet.js","webpack:///./node_modules/lodash/_baseGetTag.js","webpack:///./node_modules/lodash/_baseIsNative.js","webpack:///./node_modules/lodash/_baseToString.js","webpack:///./node_modules/lodash/_castPath.js","webpack:///./node_modules/lodash/_coreJsData.js","webpack:///./node_modules/lodash/_freeGlobal.js","webpack:///./node_modules/lodash/_getMapData.js","webpack:///./node_modules/lodash/_getNative.js","webpack:///./node_modules/lodash/_getRawTag.js","webpack:///./node_modules/lodash/_getValue.js","webpack:///./node_modules/lodash/_hashClear.js","webpack:///./node_modules/lodash/_hashDelete.js","webpack:///./node_modules/lodash/_hashGet.js","webpack:///./node_modules/lodash/_hashHas.js","webpack:///./node_modules/lodash/_hashSet.js","webpack:///./node_modules/lodash/_isKey.js","webpack:///./node_modules/lodash/_isKeyable.js","webpack:///./node_modules/lodash/_isMasked.js","webpack:///./node_modules/lodash/_listCacheClear.js","webpack:///./node_modules/lodash/_listCacheDelete.js","webpack:///./node_modules/lodash/_listCacheGet.js","webpack:///./node_modules/lodash/_listCacheHas.js","webpack:///./node_modules/lodash/_listCacheSet.js","webpack:///./node_modules/lodash/_mapCacheClear.js","webpack:///./node_modules/lodash/_mapCacheDelete.js","webpack:///./node_modules/lodash/_mapCacheGet.js","webpack:///./node_modules/lodash/_mapCacheHas.js","webpack:///./node_modules/lodash/_mapCacheSet.js","webpack:///./node_modules/lodash/_memoizeCapped.js","webpack:///./node_modules/lodash/_nativeCreate.js","webpack:///./node_modules/lodash/_objectToString.js","webpack:///./node_modules/lodash/_root.js","webpack:///./node_modules/lodash/_stringToPath.js","webpack:///./node_modules/lodash/_toKey.js","webpack:///./node_modules/lodash/_toSource.js","webpack:///./node_modules/lodash/eq.js","webpack:///./node_modules/lodash/get.js","webpack:///./node_modules/lodash/isArray.js","webpack:///./node_modules/lodash/isFunction.js","webpack:///./node_modules/lodash/isObject.js","webpack:///./node_modules/lodash/isObjectLike.js","webpack:///./node_modules/lodash/isSymbol.js","webpack:///./node_modules/lodash/lodash.js","webpack:///./node_modules/lodash/memoize.js","webpack:///./node_modules/lodash/toString.js","webpack:///./node_modules/mini-create-react-context/dist/esm/index.js","webpack:///./node_modules/mopidy/lib/websocket/browser.js","webpack:///./node_modules/mopidy/src/mopidy.js","webpack:///./node_modules/object-assign/index.js","webpack:///./node_modules/path-to-regexp/index.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/prop-types/checkPropTypes.js","webpack:///./node_modules/prop-types/factoryWithTypeCheckers.js","webpack:///./node_modules/prop-types/index.js","webpack:///./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack:///./node_modules/react-dom/cjs/react-dom.development.js","webpack:///./node_modules/react-dom/index.js","webpack:///./node_modules/react-fontawesome/lib/index.js","webpack:///./node_modules/react-ga/dist/esm/components/OutboundLink.js","webpack:///./node_modules/react-ga/dist/esm/core.js","webpack:///./node_modules/react-ga/dist/esm/index.js","webpack:///./node_modules/react-ga/dist/esm/utils/console/log.js","webpack:///./node_modules/react-ga/dist/esm/utils/console/warn.js","webpack:///./node_modules/react-ga/dist/esm/utils/format.js","webpack:///./node_modules/react-ga/dist/esm/utils/loadGA.js","webpack:///./node_modules/react-ga/dist/esm/utils/mightBeEmail.js","webpack:///./node_modules/react-ga/dist/esm/utils/removeLeadingSlash.js","webpack:///./node_modules/react-ga/dist/esm/utils/testModeAPI.js","webpack:///./node_modules/react-ga/dist/esm/utils/toTitleCase.js","webpack:///./node_modules/react-ga/dist/esm/utils/trim.js","webpack:///./node_modules/react-input-range/lib/js/index.js","webpack:///./node_modules/react-input-range/lib/js/input-range/default-class-names.js","webpack:///./node_modules/react-input-range/lib/js/input-range/input-range.js","webpack:///./node_modules/react-input-range/lib/js/input-range/key-codes.js","webpack:///./node_modules/react-input-range/lib/js/input-range/label.js","webpack:///./node_modules/react-input-range/lib/js/input-range/range-prop-type.js","webpack:///./node_modules/react-input-range/lib/js/input-range/slider.js","webpack:///./node_modules/react-input-range/lib/js/input-range/track.js","webpack:///./node_modules/react-input-range/lib/js/input-range/value-prop-type.js","webpack:///./node_modules/react-input-range/lib/js/input-range/value-transformer.js","webpack:///./node_modules/react-input-range/lib/js/utils/captialize.js","webpack:///./node_modules/react-input-range/lib/js/utils/clamp.js","webpack:///./node_modules/react-input-range/lib/js/utils/distance-to.js","webpack:///./node_modules/react-input-range/lib/js/utils/index.js","webpack:///./node_modules/react-input-range/lib/js/utils/is-defined.js","webpack:///./node_modules/react-input-range/lib/js/utils/is-number.js","webpack:///./node_modules/react-input-range/lib/js/utils/is-object.js","webpack:///./node_modules/react-input-range/lib/js/utils/length.js","webpack:///./node_modules/react-is/cjs/react-is.development.js","webpack:///./node_modules/react-is/index.js","webpack:///./node_modules/react-redux/es/components/Context.js","webpack:///./node_modules/react-redux/es/components/Provider.js","webpack:///./node_modules/react-redux/es/components/connectAdvanced.js","webpack:///./node_modules/react-redux/es/connect/connect.js","webpack:///./node_modules/react-redux/es/connect/mapDispatchToProps.js","webpack:///./node_modules/react-redux/es/connect/mapStateToProps.js","webpack:///./node_modules/react-redux/es/connect/mergeProps.js","webpack:///./node_modules/react-redux/es/connect/selectorFactory.js","webpack:///./node_modules/react-redux/es/connect/verifySubselectors.js","webpack:///./node_modules/react-redux/es/connect/wrapMapToProps.js","webpack:///./node_modules/react-redux/es/hooks/useDispatch.js","webpack:///./node_modules/react-redux/es/hooks/useReduxContext.js","webpack:///./node_modules/react-redux/es/hooks/useSelector.js","webpack:///./node_modules/react-redux/es/hooks/useStore.js","webpack:///./node_modules/react-redux/es/index.js","webpack:///./node_modules/react-redux/es/utils/Subscription.js","webpack:///./node_modules/react-redux/es/utils/batch.js","webpack:///./node_modules/react-redux/es/utils/isPlainObject.js","webpack:///./node_modules/react-redux/es/utils/reactBatchedUpdates.js","webpack:///./node_modules/react-redux/es/utils/shallowEqual.js","webpack:///./node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js","webpack:///./node_modules/react-redux/es/utils/verifyPlainObject.js","webpack:///./node_modules/react-redux/es/utils/warning.js","webpack:///./node_modules/react-redux/node_modules/@babel/runtime/helpers/esm/extends.js","webpack:///./node_modules/react-redux/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack:///./node_modules/react-redux/node_modules/react-is/cjs/react-is.development.js","webpack:///./node_modules/react-redux/node_modules/react-is/index.js","webpack:///./node_modules/react-router-dom/esm/react-router-dom.js","webpack:///./node_modules/react-router/esm/react-router.js","webpack:///./node_modules/react-sortablejs/lib/Sortable.js","webpack:///./node_modules/react-sortablejs/lib/index.js","webpack:///./node_modules/react/cjs/react.development.js","webpack:///./node_modules/react/index.js","webpack:///./node_modules/redux-thunk/es/index.js","webpack:///./node_modules/redux/es/redux.js","webpack:///./node_modules/resolve-pathname/esm/resolve-pathname.js","webpack:///./node_modules/scheduler/cjs/scheduler-tracing.development.js","webpack:///./node_modules/scheduler/cjs/scheduler.development.js","webpack:///./node_modules/scheduler/index.js","webpack:///./node_modules/scheduler/tracing.js","webpack:///./node_modules/sortablejs/modular/sortable.esm.js","webpack:///./node_modules/symbol-observable/es/index.js","webpack:///./node_modules/symbol-observable/es/ponyfill.js","webpack:///./node_modules/tiny-invariant/dist/tiny-invariant.esm.js","webpack:///./node_modules/tiny-warning/dist/tiny-warning.esm.js","webpack:///./node_modules/tslib/tslib.es6.js","webpack:///./node_modules/value-equal/esm/value-equal.js","webpack:///(webpack)/buildin/amd-define.js","webpack:///(webpack)/buildin/amd-options.js","webpack:///(webpack)/buildin/global.js","webpack:///(webpack)/buildin/harmony-module.js","webpack:///(webpack)/buildin/module.js","webpack:///./node_modules/when/lib/Promise.js","webpack:///./node_modules/when/lib/Scheduler.js","webpack:///./node_modules/when/lib/TimeoutError.js","webpack:///./node_modules/when/lib/apply.js","webpack:///./node_modules/when/lib/decorators/array.js","webpack:///./node_modules/when/lib/decorators/flow.js","webpack:///./node_modules/when/lib/decorators/fold.js","webpack:///./node_modules/when/lib/decorators/inspect.js","webpack:///./node_modules/when/lib/decorators/iterate.js","webpack:///./node_modules/when/lib/decorators/progress.js","webpack:///./node_modules/when/lib/decorators/timed.js","webpack:///./node_modules/when/lib/decorators/unhandledRejection.js","webpack:///./node_modules/when/lib/decorators/with.js","webpack:///./node_modules/when/lib/env.js","webpack:///./node_modules/when/lib/format.js","webpack:///./node_modules/when/lib/makePromise.js","webpack:///./node_modules/when/lib/state.js","webpack:///./node_modules/when/when.js","webpack:///./src/js/App.js","webpack:///./src/js/components/AlbumGrid.js","webpack:///./src/js/components/ArtistGrid.js","webpack:///./src/js/components/CategoryGrid.js","webpack:///./src/js/components/ContextMenu.js","webpack:///./src/js/components/ContextMenuTrigger.js","webpack:///./src/js/components/Dater.js","webpack:///./src/js/components/DebugInfo.js","webpack:///./src/js/components/Dragger.js","webpack:///./src/js/components/ErrorBoundary.js","webpack:///./src/js/components/ErrorMessage.js","webpack:///./src/js/components/Fields/AddSeedField.js","webpack:///./src/js/components/Fields/ColourField.js","webpack:///./src/js/components/Fields/Commands.js","webpack:///./src/js/components/Fields/ConfirmationButton.js","webpack:///./src/js/components/Fields/DropdownField.js","webpack:///./src/js/components/Fields/Dropzone.js","webpack:///./src/js/components/Fields/Dropzones.js","webpack:///./src/js/components/Fields/FilterField.js","webpack:///./src/js/components/Fields/FollowButton.js","webpack:///./src/js/components/Fields/GeniusAuthenticationFrame.js","webpack:///./src/js/components/Fields/IconField.js","webpack:///./src/js/components/Fields/LastfmAuthenticationFrame.js","webpack:///./src/js/components/Fields/LastfmLoveButton.js","webpack:///./src/js/components/Fields/LatencyControl.js","webpack:///./src/js/components/Fields/MuteControl.js","webpack:///./src/js/components/Fields/OutputControl.js","webpack:///./src/js/components/Fields/ProgressSlider.js","webpack:///./src/js/components/Fields/SearchForm.js","webpack:///./src/js/components/Fields/SelectField.js","webpack:///./src/js/components/Fields/SourcesPriority.js","webpack:///./src/js/components/Fields/SpotifyAuthenticationFrame.js","webpack:///./src/js/components/Fields/TextField.js","webpack:///./src/js/components/Fields/VolumeControl.js","webpack:///./src/js/components/GridItem.js","webpack:///./src/js/components/Header.js","webpack:///./src/js/components/Hotkeys.js","webpack:///./src/js/components/Icon.js","webpack:///./src/js/components/LazyLoadListener.js","webpack:///./src/js/components/Link.js","webpack:///./src/js/components/LinksSentence.js","webpack:///./src/js/components/List.js","webpack:///./src/js/components/ListItem.js","webpack:///./src/js/components/Loader.js","webpack:///./src/js/components/NiceNumber.js","webpack:///./src/js/components/Notifications.js","webpack:///./src/js/components/Parallax.js","webpack:///./src/js/components/PlaybackControls.js","webpack:///./src/js/components/PlaylistGrid.js","webpack:///./src/js/components/Popularity.js","webpack:///./src/js/components/PusherConnectionList.js","webpack:///./src/js/components/RelatedArtists.js","webpack:///./src/js/components/ResizeListener.js","webpack:///./src/js/components/SearchResults.js","webpack:///./src/js/components/Servers.js","webpack:///./src/js/components/Services.js","webpack:///./src/js/components/Sidebar.js","webpack:///./src/js/components/Snapcast.js","webpack:///./src/js/components/SnapcastClients.js","webpack:///./src/js/components/SnapcastGroups.js","webpack:///./src/js/components/Stream.js","webpack:///./src/js/components/Thumbnail.js","webpack:///./src/js/components/Track.js","webpack:///./src/js/components/TrackList.js","webpack:///./src/js/components/URILink.js","webpack:///./src/js/index.js","webpack:///./src/js/locale/dictionaries.js","webpack:///./src/js/locale/index.js","webpack:///./src/js/services/core/actions.js","webpack:///./src/js/services/core/middleware.js","webpack:///./src/js/services/core/reducer.js","webpack:///./src/js/services/discogs/actions.js","webpack:///./src/js/services/genius/actions.js","webpack:///./src/js/services/genius/middleware.js","webpack:///./src/js/services/genius/reducer.js","webpack:///./src/js/services/google/actions.js","webpack:///./src/js/services/google/middleware.js","webpack:///./src/js/services/google/reducer.js","webpack:///./src/js/services/lastfm/actions.js","webpack:///./src/js/services/lastfm/middleware.js","webpack:///./src/js/services/lastfm/reducer.js","webpack:///./src/js/services/localstorage/middleware.js","webpack:///./src/js/services/mopidy/actions.js","webpack:///./src/js/services/mopidy/middleware.js","webpack:///./src/js/services/mopidy/reducer.js","webpack:///./src/js/services/pusher/actions.js","webpack:///./src/js/services/pusher/middleware.js","webpack:///./src/js/services/pusher/reducer.js","webpack:///./src/js/services/snapcast/actions.js","webpack:///./src/js/services/snapcast/middleware.js","webpack:///./src/js/services/snapcast/reducer.js","webpack:///./src/js/services/spotify/actions.js","webpack:///./src/js/services/spotify/middleware.js","webpack:///./src/js/services/spotify/reducer.js","webpack:///./src/js/services/ui/actions.js","webpack:///./src/js/services/ui/middleware.js","webpack:///./src/js/services/ui/reducer.js","webpack:///./src/js/store/index.js","webpack:///./src/js/store/migration.js","webpack:///./src/js/util/arrays.js","webpack:///./src/js/util/format.js","webpack:///./src/js/util/helpers.js","webpack:///./src/js/util/storage.js","webpack:///./src/js/views/Album.js","webpack:///./src/js/views/Artist.js","webpack:///./src/js/views/Debug.js","webpack:///./src/js/views/Playlist.js","webpack:///./src/js/views/Queue.js","webpack:///./src/js/views/QueueHistory.js","webpack:///./src/js/views/Search.js","webpack:///./src/js/views/Settings.js","webpack:///./src/js/views/Track.js","webpack:///./src/js/views/User.js","webpack:///./src/js/views/discover/DiscoverCategories.js","webpack:///./src/js/views/discover/DiscoverCategory.js","webpack:///./src/js/views/discover/DiscoverFeatured.js","webpack:///./src/js/views/discover/DiscoverNewReleases.js","webpack:///./src/js/views/discover/DiscoverRecommendations.js","webpack:///./src/js/views/library/LibraryAlbums.js","webpack:///./src/js/views/library/LibraryArtists.js","webpack:///./src/js/views/library/LibraryBrowse.js","webpack:///./src/js/views/library/LibraryBrowseDirectory.js","webpack:///./src/js/views/library/LibraryPlaylists.js","webpack:///./src/js/views/library/LibraryTracks.js","webpack:///./src/js/views/modals/AddToPlaylist.js","webpack:///./src/js/views/modals/AddToQueue.js","webpack:///./src/js/views/modals/CreatePlaylist.js","webpack:///./src/js/views/modals/EditCommand.js","webpack:///./src/js/views/modals/EditPlaylist.js","webpack:///./src/js/views/modals/EditRadio.js","webpack:///./src/js/views/modals/ImageZoom.js","webpack:///./src/js/views/modals/InitialSetup.js","webpack:///./src/js/views/modals/KioskMode.js","webpack:///./src/js/views/modals/Modal.js","webpack:///./src/js/views/modals/ShareConfiguration.js","webpack:///./src/scss/app.scss","webpack:///vertx (ignored)"],"names":["Sentry","coreActions","uiActions","pusherActions","mopidyActions","spotifyActions","lastfmActions","geniusActions","snapcastActions","App","props","configs","params","URLSearchParams","window","location","search","changed","urlParams","forEach","v","k","includes","storage","set","JSON","parse","push","error","console","length","delete","url","toString","replace","log","assign","handleInstallPrompt","bind","handleFocusAndBlur","language","removeEventListener","history","snapcast_enabled","allow_reporting","initial_setup_complete","addEventListener","ReactGA","initialize","init","dsn","connect","getBroadcasts","prevLocation","context_menu","page","pathname","pageview","location_state","state","scroll_position","parseInt","toggleSidebar","setSelectedTracks","hideContextMenu","setWindowFocus","document","hasFocus","e","installPrompt","preventDefault","className","theme","navigator","onLine","wide_scrollbar_enabled","dragging","sidebar_open","touch_dragging","slim_mode","smooth_scrolling_enabled","InitialSetup","KioskMode","AddToPlaylist","ImageZoom","ShareConfiguration","EditCommand","EditRadio","AddToQueue","CreatePlaylist","EditPlaylist","Queue","QueueHistory","Debug","Settings","Search","Album","Artist","Playlist","User","Track","DiscoverRecommendations","DiscoverFeatured","DiscoverCategory","DiscoverCategories","DiscoverNewReleases","LibraryArtists","LibraryAlbums","LibraryTracks","LibraryPlaylists","LibraryBrowse","LibraryBrowseDirectory","hotkeys_enabled","debug_info","React","Component","mapStateToProps","ownProps","ui","mopidy_connected","mopidy","connected","snapcast","enabled","spotify_authorized","spotify","authorization","dragger","active","mapDispatchToProps","dispatch","AlbumGrid","handleContextMenu","item","showContextMenu","context","uris","uri","items","tracklist_uri","render","albums","mini","show_source_icon","map","album","artists","core","ArtistGrid","single_row","spotifyAvailable","artist","encodeURIComponent","categories","category","id","ContextMenu","componentDidMount","handleScroll","handleMouseDown","handleTouchStart","componentWillUnmount","componentDidUpdate","prevProps","prevMenu","menu","prevTracks","tracks","lastfm_authorized","spotify_available","setState","submenu","getContext","source","following","is_track","items_count","undefined","userloved","getTrack","$","target","closest","inLibrary","spotify_library_artists","spotify_library_albums","spotify_library_playlists","spotify_library_tracks","indexOf","isLoved","track","canBeInLibrary","toggleInLibrary","in_library","playQueueItem","changeTrack","tlid","removeFromQueue","removeTracks","playURIs","playPlaylist","enqueuePlaylist","play_next","shufflePlayPlaylist","playArtistTopTracks","addToQueue","enqueueURIs","addTracksToPlaylist","playlist_uri","toggleLoved","is_loved","unloveTrack","loveTrack","removeFromPlaylist","removeTracksFromPlaylist","indexes","deletePlaylist","startRadio","goToRecommendations","join","goToArtist","artists_uris","goToUser","user_uri","goToTrack","copyURIs","createNotification","temp","append","val","select","execCommand","remove","content","renderTitle","queue_metadata","title","nice_name","name","metadata","added_from","added_by","type","link","setSubmenu","spotify_library_playlists_loaded_all","mopidy_library_playlists_loaded_all","getLibraryPlaylists","closeSubmenu","renderSubmenu","playlistsIndex","playlists","processes","list","isLoading","filter","playlist","can_edit","SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR","status","renderItems","load_queue","play_uris","play_playlist","shuffle_play_playlist","play_queue_item","play_uris_next","play_artist_top_tracks","add_to_queue","add_playlist_to_queue","play_playlist_next","add_to_playlist","toggle_in_library","toggle_loved","go_to_artist","go_to_user","go_to_track","go_to_recommendations","start_radio","remove_from_queue","remove_from_playlist","edit_playlist","delete_playlist","copy_uris","style","left","position_x","top","position_y","height","closing","innerWidth","right","innerHeight","bottom","options","current_track","current_tracklist","access_token","library_playlists","library_playlists_loaded_all","library_artists","library_albums","library_tracks","mopidy_library_playlists","mopidy_library_artists","mopidy_library_albums","lastfm","handleClick","stopPropagation","onTrigger","durationTime","milliseconds","string","total_hours","total_minutes","total_seconds","minutes","seconds","Math","floor","durationSentence","totalSeconds","totalMinutes","totalHours","dater","data","duration","i","date","Date","getDate","getMonth","getFullYear","diff","hours","days","weeks","years","Dater","DebugInfo","key","localStorage","hasOwnProperty","used","total","toFixed","percent","queue","localStorageUsage","localStorageSize","version","build","Object","keys","users","notifications","enqueue_uris_batches","test_mode","selected_tracks","track_key","index","renderLoadQueue","Dragger","handleMouseMove","handleMouseUp","dragActive","threshold","clientX","start_x","clientY","start_y","dropzones","getElementsByClassName","classList","contains","dragEnd","victims","ErrorBoundary","hasError","info","componentStack","children","AddSeedField","clearAutocompleteResults","handleChange","value","getAutocompleteResults","self","clearTimeout","timer","setTimeout","searching","handleSelect","onSelect","results","resultsProp","renderResults","slice","placeholder","classNameProp","loading","genres","getGenres","autocomplete_results","colours","colour","text_colour","onChange","Commands","order","commands","command","sort_order","handle","animation","sortable","icon","runCommand","ConfirmationButton","confirming","onConfirm","handleMouseEnter","timing_out","unconfirmTimer","handleMouseLeave","confirmingContent","working","workingContent","DropdownField","uid","toLowerCase","expanded","onClose","attr","setExpanded","is_selected","current_value","isMultiSelect","new_value","splice","Array","optionsProp","selectedOptions","multiSelectValue","option","no_status_icon","no_label","button","icon_type","selectedIconProp","selected_icon","valueAsLabel","noLabel","label","Dropzone","handleMouseOver","hover","handleMouseOut","Dropzones","dragMove","zone","from_uri","action","_zones","accepts","FilterField","handleKeyUp","initialValue","keyCode","onSubmit","activate","handleSubmit","handleBlur","FollowButton","actions","add","unauthorized","provider","level","addText","removeText","is_following","GeniusAuthenticationFrame","authorizing","handleMessage","event","origin","authorization_domain","authorization_url","substring","message","authorizationGranted","getMe","popup","open","setInterval","checkPopup","closed","clearInterval","authorized","revokeAuthorization","startAuthorization","genius","icons","LastfmAuthenticationFrame","onRemove","onAdd","onDisabledClick","LatencyControl","max","percentage","round","width","negative","mute","noTooltip","onMuteChange","OutputControl","prev_force_expanded","force_expanded","pusher_connected","getServer","snapcast_streams","snapcast_groups","clients","snapcast_clients","show_disconnected_clients","groups","streams","simpleGroup","group","groupClients","volume","reduce","acc","client","stream_id","setGroupStream","setGroupMute","previousPercent","setGroupVolume","pusher_commands","http_streaming_enabled","http_streaming_volume","http_streaming_mute","snapcastGroups","localStreaming","renderOutputs","pusher","config","snapcast_show_disconnected_clients","ProgressSlider","setTimePosition","time_position","play_state","SearchForm","shouldComponentUpdate","nextProps","nextState","termProp","term","termState","pristine","onBlur","onFocus","onReset","SelectField","SourcesPriority","uri_schemes_priority","ordered_schemes","unordered_schemes","uri_schemes","handleSort","scheme","SpotifyAuthenticationFrame","scopes","TextField","everyChange","handleFocus","in_focus","saved","autosave","stateValue","VolumeControl","onVolumeChange","vertical","sliderClassName","GridItem","onContextMenu","renderSecondary","tracks_total","followers","albums_uris","toLocaleString","customLink","scrollTo","images","getImages","handleContextMenuTrigger","Hotkeys","handleKeyDown","play_time_position","modal","nodeName","altKey","ctrlKey","metaKey","shiftKey","prevent","pause","play","stop","new_position","previous","next","setVolume","setMute","hasClass","back","onClick","fullClassName","LazyLoadListener","showLoader","listening","loadKey","element","getElementById","loadMore","scrollTop","scrollHeight","offsetHeight","window_height","documentElement","clientHeight","retainScroll","scrollToProp","activeClassName","to","exact","main","decodeURIComponent","currentLink","isLinkActive","startsWith","nolinks","separator","discogsActions","List","rows","link_prefix","thumbnail","details","nocontext","ListItem","getArtistImages","getAlbum","mbid","tagName","key_string","split","class_name","middle_column","right_column","column","renderValue","detail","ProgressRing","radius","stroke","progress","normalizedRadius","circumference","PI","strokeDashoffset","body","finished","lazy","white","classNameString","nice_number","formatted","NiceNumber","Notifications","notification_key","configuration","importAuthorization","me","removeNotification","notification","importConfiguration","description","links","new_window","text","process","remaining","cancelProcess","closeProcess","processesObj","renderProcess","renderNotifications","renderProcesses","broadcasts","Parallax","image","loadImage","loaded","outgoingUrl","imageObject","Image","src","onload","blur","fixedHeight","animate","backgroundImage","PlaybackControls","touch_enabled","timestamp","now","start_time","start_position","x","touches","handleTouchEnd","tap_distance_threshold","tap_time_threshold","end_position","changedTouches","setTransition","end_time","stream","transition_track","transition_direction","direction","setConsume","consume","setRandom","random","setRepeat","repeat","next_track","renderPlayButton","renderConsumeButton","renderRandomButton","renderRepeatButton","next_track_uri","radio_enabled","radio","playback_controls_touch_enabled","PlaylistGrid","popularity","PusherConnectionList","prevConnected","getConnections","connections","connection","is_me","connection_id","username","ip","isArray","handleWindowResize","clientWidth","setSlimMode","SearchResults","query","mopidy_search_results","spotify_search_results","sort","sort_reverse","all","encodedTerm","resultsMatchQuery","sort_map","resultsCount","search_results","search_results_sort","search_results_sort_reverse","Servers","serverId","match","store","getState","servers","current_server","ssl","mopidyConnected","mopidyConnecting","connecting","pusherConnected","pusherConnecting","addServer","server","renderMenu","renderServer","removeServer","setAsCurrent","setCurrentServer","updateServer","host","port","Services","country","locale","input_in_focus","user_object","user","not_installed","refreshing_token","refreshingToken","http_streaming_url","spotify_icon","lastfm_icon","genius_icon","service","renderSpotify","renderLastfm","renderGenius","renderIcecast","renderService","changes","Sidebar","closeSidebar","update_available","snapcast_connected","renderStatusIcon","Snapcast","setEnabled","setConnection","SnapcastClients","setClientName","setClientGroup","latency","setClientLatency","String","setClientVolume","setClientMute","SnapcastGroups","groupId","streamsArray","groupsArray","renderGroup","setGroupName","renderMenuItem","anyClients","Stream","prevState","fullUrl","audio","muted","onError","cachebuster","Audio","onerror","propEnabled","propPlayState","propUrl","propUri","statePlayState","stateEnabled","stateUri","stateUrl","mapImageSizes","size","fill","circle","iconName","useImageTag","glow","canZoom","is","pageX","y","pageY","handleDrag","handleDrop","handleDoubleClick","handleTouchDrag","handleDoubleTap","handleTap","track_details","track_actions","track_context","track_middle_column","played_at","drag_zone","can_sort","selected","playing","is_explicit","TrackList","touch_dragging_tracks_keys","handleTouchMove","ignoreNodes","tracks_keys","digestTracksKeys","playTracks","all_tracks","buildTrackKey","selected_tracks_indexes","dragStart","reorderTracks","victims_indexes","touch","over","elementFromPoint","find","removeClass","addClass","returnValue","cancelBubble","siblings","parent","dropped_at","updateSelection","selected_tracks_digested","selected_tracks_uris","touched","last_selected_track","last_selected_track_index","newly_selected_track","newly_selected_track_index","start","end","which","indexes_only","singleton","array","key_components","context_uri","prototype","call","uriType","unencoded","exploded","require","ReactDOM","de","en","_de","available","PARAMS_REG_EXP","paramsRegExp","RegExp","languagesAvailable","dictionaries","i18n","path","transform","dictionary","replaceText","toUpperCase","I18n","contentAfter","startSearch","handleException","debugResponse","clearCurrentTrack","cachebustHttpStream","loadItem","loadTrack","loadAlbum","loadArtist","loadPlaylist","loadUser","loadUserPlaylists","trackLoaded","tracksLoaded","artistLoaded","artistsLoaded","albumLoaded","albumsLoaded","playlistLoaded","playlistsLoaded","userLoaded","usersLoaded","userPlaylistsLoaded","loadedMore","removeFromIndex","viewDataLoaded","reorderPlaylistTracks","savePlaylist","createPlaylist","getLibraryAlbums","getLibraryArtists","method","timeout","ajax","then","response","xhr","search_type","only_mopidy","show_notification","force_reload","more","parent_type","parent_key","records_type","records_data","extra_data","index_name","new_key","insert_before","snapshot_id","range","range_start","range_length","is_public","is_collaborative","tracks_indexes","tracks_uris","CoreMiddleware","exported_state","responseText","xhr_response","statusText","nonInteraction","search_uri_schemes","available_full_uri_schemes","full_uri_schemes","full_uri_scheme","search_settings","getSearchResults","reload","playlist_tracks","asset","getPlaylist","tracks_to_move","reverse","getArtist","playlists_uris","getUser","getUserPlaylists","tracks_index","artists_index","albums_index","tracks_loaded","artists_loaded","albums_loaded","raw_track","raw_album","raw_artist","existing_images","are_new_images","existing_image","huge","playlists_index","playlists_loaded","owner","users_index","users_loaded","parent_type_plural","parent_index","records","records_type_plural","records_index","records_uris","record","parent_action","records_action","reducer","http_streaming_cachebuster","getTime","current_track_uri","tracklist","seeds_resolved","resolved_seeds","artist_uri","albums_more","albums_total","existing_playlists_uris","playlists_more","playlists_total","moved_to","updated_core","library_playlists_started","view","artists_more","tracks_more","sendRequest","endpoint","Promise","resolve","reject","secret","loader_key","startLoading","mode","headers","stopLoading","Error","fetch","json","catch","cover_image","updated_artist","getTrackLyrics","findTrackLyrics","crossDomain","stringify","meta","lyrics","lyrics_path","result","html","first","replaceWith","lyrics_html","hits","lyrics_results","full_title","lyrics_result","GeniusMiddleware","authorization_code","clearLibraryArtists","clearLibraryAlbums","GoogleMiddleware","request","response_callback","error_callback","google","last_run","GOOGLE_LIBRARY_ALBUMS_PROCESSOR","startProcess","resumeProcess","processor","processCancelled","uris_to_load","updateProcess","getAlbums","processFinished","scrobble","signed","http_method","sendSignedRequest","session","expiry","track_name","artist_name","merged_track","biography","bio","biography_publish_date","published","biography_link","href","listeners","stats","existing_album","play_count","playcount","wiki","wiki_publish_date","LastfmMiddleware","sticky","localstorageMiddleware","_store","log_actions","ignored_actions","refresh_token","token_expiry","get","suppressed_broadcasts","updateServers","disconnect","debug","restartStarted","restartFinished","upgradeStarted","upgradeFinished","localScanStarted","localScanFinished","getPlayState","getMute","getVolume","getConsume","getRepeat","getRandom","getTimePosition","timePosition","getUriSchemes","getCurrentTrack","currentTrackLoaded","getNextTrack","getQueue","playAlbum","enqueueAlbum","enqueueURIsBatchDone","reorderTracklist","clearTracklist","shuffleTracklist","getPlaylists","getDirectory","getTracks","getArtists","runProcessor","cancelProcessor","view_getRandomTracks","clearSearchResults","getQueueHistory","hostname","protocol","tl_track","shuffle","at_position","offset","tlids","get_images","limit","googleActions","MopidyMiddleware","socket","progress_interval","progress_interval_counter","ws","log_mopidy","window_focus","new_state","callParts","model","mopidyObject","property","close","Mopidy","webSocketUrl","callingConvention","on","remaining_servers","setWindowTitle","deliverBroadcast","setCurrentTrackTransition","criteria","uri_schemes_search_enabled","getAllPlaylistTracks","batches","batch_size","MOPIDY_ENQUEUE_URIS_PROCESSOR","batch","total_uris","shift","current_track_index","addQueueMetadata","runProcess","urisToPlay","stopRadio","clear_tracklist_on_play","first_uri_index","first_uri","to_position","uri_schemes_to_ignore","uri_schemes_total","uri_scheme","MOPIDY_GET_SEARCH_RESULTS_PROCESSOR","next_uri_schemes","next_uri_scheme","continue_process","j","any","process_tracks","process_albums","process_artists","process_playlists","playlist_uris","playlist_uris_filtered","last_modified","is_completely_loaded","getByURI","trackReference","trackReferences","__model__","descending","a","b","mopidy_playlist","unshift","MOPIDY_LIBRARY_ALBUMS_PROCESSOR","library_albums_uri","_response","library_artists_uri","albumToCheck","existingAlbum","existing_artist","musicbrainz_id","random_tracks","action_data","directory","subdirectories","subdirectories_with_images","subdir","restart_running","upgrade_running","local_scan_running","queue_history","setPort","setUsername","upgrade","restart","localScan","connectionAdded","updateConnection","connectionChanged","connectionRemoved","getConfig","getVersion","deliverMessage","getRadio","updateRadio","radioStarted","radioChanged","radioStopped","getQueueMetadata","queueMetadataChanged","getCommands","setCommand","setCommands","removeCommand","commandsUpdated","force","recipient","notify","PusherMiddleware","reconnectTimer","deferredRequests","log_pusher","tokenChanged","spotify_token","output","removeProcess","jsonrpc","send","code","WebSocket","onopen","onclose","readyState","onmessage","client_id","commands_index","resolveRadioSeeds","reset","seed_artists","seed_genres","seed_tracks","createBrowserNotification","notification_type","current","spotify_updated","spotify_updates","spotify_authorization_url","lastfm_authorization_url","genius_authorization_url","upgrading","deleteClient","calculateGroupVolume","serverLoaded","clientLoaded","clientsLoaded","groupLoaded","groupsLoaded","streamLoaded","streamsLoaded","group_id","old_percent","flush","SnapcastMiddleware","log_snapcast","messageItem","param","groups_index","clients_loaded","groups_loaded","raw_group","clients_ids","clients_index","raw_client","clients_ids_index","clients_to_update","change","current_volume","new_volume","client_to_update","getLibraryTracks","getFeaturedPlaylists","getCategories","getCategory","getCategoryPlaylists","getNewReleases","getURL","getMore","getFavorites","getRecommendations","getLibraryTracksAndPlay","getLibraryTracksAndPlayProcessor","getAllPlaylistTracksProcessor","deleteTracksFromPlaylist","flushLibrary","getLibraryPlaylistsProcessor","getLibraryArtistsProcessor","getLibraryAlbumsProcessor","cache","getToken","Authorization","Accept","refreshToken","spotify_refresh_token","dataType","expires_in","token","access_token_provider","setHours","getHours","year","month","day","getDay","hour","min","getMinutes","sec","getSeconds","action_name","core_action","custom_action","callback_action","typeString","field_id","types","genre_included","available_genres","genre","charAt","asset_name","artist_ids","track_ids","when","artists_response","tracks_response","artists_error","tracks_error","tunabilities","artists_ids","tracks_ids","random_index","seeds_uris","full","requests","related_artists_uris","apply","ids","updatedArtist","raw_playlist","public","collaborative","SPOTIFY_GET_LIBRARY_TRACKS_AND_PLAY_PROCESSOR","new_uris","SPOTIFY_GET_ALL_PLAYLIST_TRACKS_PROCESSOR","new_tracks","positions","SPOTIFY_GET_LIBRARY_ARTISTS_PROCESSOR","library_artists_loaded_all","SPOTIFY_GET_LIBRARY_ALBUMS_PROCESSOR","library_albums_loaded_all","SpotifyMiddleware","is_private","categories_index","categories_loaded","raw_category","playlistProcessor","artistsProcessor","albumsProcessor","added_at","hashed_username","userId","featured_playlists","new_releases","new_releases_more","new_releases_total","discover","recommendations","favorite_artists","favorite_tracks","library_playlists_status","library_albums_status","library_artists_status","library_tracks_status","library_tracks_loaded_all","library_tracks_more","setLanguage","removeContextMenu","showTouchContextMenu","hideTouchContextMenu","removeTouchContextMenu","lazyLoading","closeNotification","current_track_transition","render_content","manual","completionMessage","UIMiddleware","window_title","Notification","mozNotification","webkitNotification","requestPermission","permission","dir","lang","tag","broadcast","lazy_loading","debug_response","install_prompt","touch_context_menu","outputs","default","reducers","thunk","coreMiddleware","uiMiddleware","mopidyMiddleware","pusherMiddleware","spotifyMiddleware","lastfmMiddleware","geniusMiddleware","googleMiddleware","snapcastMiddleware","shortkeys_enabled","indexToArray","arrayOf","mergeDuplicates","clean_list","keyed_list","removeDuplicates","unique","applyFilter","field","singular","createRange","sortAsc","first_bunch","previous_index","sortItems","get_value","property_element","compare","a_value","b_value","a_index","b_index","sorted","toJSON","constructor","getTrackIcon","formatImages","small","digestMopidyImages","digested","sizes","medium","large","formatSimpleObject","simple_object","fields","formatTracks","formatTrack","formatAlbums","formatAlbum","formatArtists","formatArtist","formatPlaylists","formatUsers","formatUser","release_date","album_type","formatPlaylist","last_modified_date","display_name","avatar","realname","duration_ms","track_number","track_no","disc_number","disc_no","explicit","formatClient","formatGroup","collate","obj","users_uris","related_artists","album_uri","track_uri","debounce","fn","wait","immediate","args","arguments","later","callNow","throttle","delay","lastCall","setFavicon","filename","new_link","createElement","rel","head","removeChild","appendChild","queryString","compact","elements","accumulator","subElements","generateGuid","valueOf","random_number","format","c","r","getCurrentPusherConnection","connectionid","isCurrentConnection","newProps","currentConnection","uriSource","sourceIcon","getFromUri","namespace","seeds","seed","buildLink","isTouchDevice","isNumeric","isNaN","parseFloat","isFinite","isObject","load_queue_key","isHosted","hosts","getIndexedRecords","titleCase","iconFromKeyword","iconWords","words","word","smooth_scroll","Number","isInteger","scrollIntoView","upgradeSpotifyPlaylistUris","upgraded","upgradeSpotifyPlaylistUri","decodeMopidyUri","decodeComponent","decoded","encodeMopidyUri","encodeComponent","encoded","storageFactory","setItem","getItem","removeItem","exception","default_value","warn","stored_value","clear","isCached","complete","prevUri","prevAlbum","prev_mopidy_connected","artistNames","library","albumProp","is_loading_tracks","count","local_library_albums","prevArtist","onResetFilters","onChangeFilter","onChangeSort","artist_albums_filter","artist_albums_sort_reverse","artist_albums_sort","onPlay","libraryName","renderOverview","artistProp","sort_options","filter_options","renderTracks","renderRelatedArtists","renderAbout","thumbnails","is_spotify","local_library_artists","onBack","callMopidy","mopidy_call","mopidy_data","callPusher","pusher_data","callSnapcast","snapcast_data","toggleTestMode","toggling_test_mode","prevPlaylist","renderActions","playlistProp","playlist_id","__html","local_library_playlists","spotify_userid","Artwork","prev_added_from_uri","added_from_uri","item_type","per_page","new_limit","track_indexes","queue_tracks","playTrack","renderAddedFrom","uri_type","radio_seeds","item_library","total_queue_tracks","current_track_image","spotify_enabled","queue_track","loadHistory","tracksProp","focus","prevType","prevTerm","typeProp","digestUri","onSortChange","setSort","onSourceChange","onSourceClose","clearSearch","mopidyTerm","mopidyType","spotifyTerm","spotifyType","alert","provider_options","pusher_username","new_username","onLanguageChange","onMopidySettingChanged","shortName","resetAllSettings","resetServiceWorkerAndCache","caches","cacheNames","cacheName","serviceWorker","getRegistrations","registrations","registration","unregister","doRestart","doUpgrade","doLocalScan","renderLocalScanButton","local_scan","setMopidy","mopidy_library_artists_uri","mopidy_library_albums_uri","upgrade_available","latest","restarting","mopidy_host","mopidy_port","prevTrack","genius_authorized","renderLyricsSelector","defaultValue","renderLyrics","rebuildUri","rebuilt_uri","escape","prevUser","isMe","userProp","user_id","categoriesProp","prevId","prevCategory","loadCategory","categoryProp","onRefresh","refresh","renderIntro","albumsProp","uriActions","Discover","prevSeeds","handleURLSeeds","seedsProp","doGetRecommendations","digested_tunabilities","tunability","convert_to_decimal","removeSeed","renderSeeds","seeds_objects","setTunability","toggleTunability","renderTunabilities","addable_tunabilities","enabled_tunabilities","artistsProp","is_loading","_autocomplete_timer","add_seed","adding_seed","acousticness","danceability","energy","instrumentalness","liveness","loudness","speechiness","tempo","valence","quick_search_results","google_available","mopidy_library_albums_status","google_library_albums_status","spotify_library_albums_status","moreURIsToLoad","library_albums_sort_reverse","library_albums_sort","renderView","google_library_albums","total_albums","source_options","view_options","library_albums_view","library_albums_source","mopidy_uri_schemes","google_library_artists","spotify_library_artists_status","library_artists_sort_reverse","library_artists_sort","total_artists","library_artists_view","library_artists_source","loadDirectory","grid_items","subdirectory","library_directory_view","prevLimit","uri_exploded","total_items","limit_remaining","playAll","goBack","renderBreadcrumbs","renderSubdirectories","parent_uri","lastIndexOf","decodeURI","spotify_library_playlists_status","library_playlists_sort_reverse","library_playlists_sort","total_playlists","library_playlists_view","library_playlists_source","mopidy_library_playlists_status","MOPIDY_LIBRARY_PLAYLISTS_PROCESSOR","me_id","playlistSelected","encodedUris","editablePlaylists","UriListItem","addRandom","addUris","prevUris","validatedUris","removeUri","renderFields","post_data","additional_headers","handleDelete","file_reader","FileReader","image_base64","readAsDataURL","files","setImage","SeedListItem","unresolved","prev_radio","loadRadio","onUriChange","error_message","addSeed","validatedSeeds","mapSeeds","handleUpdate","handleStart","handleStop","valid_seeds","closeModal","customHost","customPort","saving","LyricsScroller","Lyrics","show_lyrics","prev_current_track","toggleLyrics","extraControls","paddingLeft","fontWeight","Modal","noclose","recipients","spotify_authorization","spotify_me","genius_authorization","genius_me","lastfm_authorization","lastfm_me","toggleRecipient"],"mappings":";QAAA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;;;;;;AClFA;AAAA;AAAe;AACf;AACA,mBAAmB,sBAAsB;AACzC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,C;;;;;;;;;;;;AChBA;AAAA;AAAe;AACf;AACA;AACA;AACA,C;;;;;;;;;;;;ACJA;AAAA;AAAe;AACf;AACA;AACA;AACA;;AAEA,aAAa,uBAAuB;AACpC;AACA;AACA;AACA;;AAEA;AACA,C;;;;;;;;;;;ACbA;AACA;AACA;AACA;AACA;;AAEA,gC;;;;;;;;;;;;ACNA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAiC;AACU;AACF;AACyC;AACV;AACZ;AAC5D;AACA;AACA;AACA;AACA;AACA,IAAI,+CAAiB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,8CAAgB,GAAG,mCAAmC,yBAAyB;AAC9G;AACA;AACA;AACA,YAAY,mEAAa;AACzB,uBAAuB,0DAAc;AACrC;AACA,mBAAmB,wDAAY;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,2EAAqB;AACzC;AACA,SAAS;AACT,QAAQ,2EAAqB;AAC7B;AACA;AACA,SAAS;AACT,sBAAsB,sDAAQ;AAC9B;AACA;AACA;AACA,eAAe,yDAAW;AAC1B;AACA;AACA;AACA;AACA;AACA,+BAA+B,SAAS,sDAAQ,MAAM;AACtD;AACA,oBAAoB,qEAAe;AACnC;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,eAAe,yDAAW;AAC1B;AACA;AACA,CAAC,CAAC,wDAAW;AACa;AAC1B,mC;;;;;;;;;;;;ACpEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAiC;AACc;AACS;AACb;AACO;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,+CAAiB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,cAAc;AAC/C,iCAAiC,uDAAc;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,8CAAgB,GAAG,cAAc,OAAO,iDAAQ,YAAY,8CAAgB;AAChG;AACA;AACA,6BAA6B,oDAAW;AACxC,iBAAiB;AACjB,yBAAyB,oDAAW,EAAE;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,cAAc;AAC/C;AACA,uBAAuB,qEAAe;AACtC;AACA;AACA;AACA;AACA,YAAY,oDAAM;AAClB;AACA;AACA;AACA;AACA,YAAY,oDAAM;AAClB;AACA;AACA;AACA,YAAY,oDAAM;AAClB;AACA;AACA;AACA;AACA,yBAAyB,gDAAG;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,CAAC,uDAAU;AACa;AACzB,kC;;;;;;;;;;;;ACvEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyJ;AAC5D;AAC9C;AAC/C;AACO;AACP,6BAA6B,cAAc;AAC3C;AACA,QAAQ,kEAAY;AACpB;AACA;AACA,qCAAqC;AACrC,gBAAgB,oEAAmB,CAAC,mEAAiB;AACrD;AACA;AACA,QAAQ,gEAAU,eAAe,oEAAc;AAC/C;AACA;AACA;AACA;AACA;AACA,2CAA2C,gEAAU;AACrD;AACA;AACA,QAAQ,2EAAqB;AAC7B;AACA;AACA,QAAQ,6DAAO;AACf;AACA,gBAAgB,oEAAmB,CAAC,mEAAiB;AACrD;AACA;AACA,QAAQ,mEAAa,eAAe,6DAAO;AAC3C;AACA;AACA;AACA;AACA,gBAAgB,qEAAoB;AACpC,QAAQ,2EAAqB;AAC7B;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,2EAAqB;AACzB,IAAI,2EAAqB;AACzB;AACA,KAAK;AACL;AACA;AACA;AACA;AACO;AACP,6BAA6B,cAAc;AAC3C;AACA;AACA;AACA;AACA,yBAAyB,mEAAiB;AAC1C,uBAAuB,sEAAqB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA,wC;;;;;;;;;;;;AC1EA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkD;AACyM;AAClN;AAC+E;AACtE;AAClD,mC;;;;;;;;;;;;ACLA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAiC;AAC0B;AACkB;AAC7E;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,6BAA6B,cAAc;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D,2BAA2B,EAAE;AACzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,8DAAS;AACrB;AACA,yCAAyC,8CAAgB,GAAG;AAC5D;AACA,wBAAwB,2EAAqB;AAC7C,wBAAwB,2EAAqB;AAC7C;AACA,2CAA2C,8CAAgB,GAAG,yBAAyB,kBAAkB;AACzG;AACA,iBAAiB;AACjB,gBAAgB,qEAAgB;AAChC,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mC;;;;;;;;;;;;ACtIA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAiC;AACP;AACsC;AAChB;AACM;AACX;AAC3C;AACA;AACA;AACA,cAAc,qEAAe;AAC7B;AACA;AACA;AACA;AACA,mBAAmB,8CAAgB,GAAG,sBAAsB,yDAAgB,EAAE,0CAAmB;AAC7C;AACpD,iC;;;;;;;;;;;;AChBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAiC;AACiB;AACT;AACsG;AAC/I;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,8CAAgB,EAAE,gFAAgF;AAC1H;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,mBAAmB,sDAAQ;AAC3B,qBAAqB,8DAAQ;AAC7B;AACA;AACA;AACA,6DAA6D,8DAAQ;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,kEAAa;AACrB;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,sEAAgB;AAClC,kBAAkB,sEAAgB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,kEAAa;AACrB;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,kEAAa;AACzB;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,kEAAa;AAClC;AACA;AACA,gCAAgC,gDAAG;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,kEAAa;AACzB;AACA,sBAAsB,8CAAgB,GAAG,0BAA0B,2CAA2C;AAC9G,uBAAuB,sDAAQ;AAC/B;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,YAAY,kEAAa;AACzB;AACA,sBAAsB,8CAAgB,GAAG,0BAA0B,2CAA2C;AAC9G;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,qEAAe;AACpC;AACA;AACA,wBAAwB,8DAAQ;AAChC,yBAAyB,8DAAQ;AACjC,uBAAuB,8DAAQ;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,kEAAa;AACrB;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,+EAAyB;AACrC;AACA;AACA,oCAAoC,uBAAuB;AAC3D;AACA;AACA,0DAA0D,8CAAgB;AAC1E,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA,YAAY,+EAAyB;AACrC;AACA;AACA,oCAAoC,uBAAuB;AAC3D;AACA;AACA,sDAAsD,8CAAgB;AACtE,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA,YAAY,+EAAyB;AACrC;AACA;AACA,oCAAoC,uBAAuB;AAC3D;AACA;AACA,sDAAsD,8CAAgB;AACtE,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA,YAAY,+EAAyB;AACrC;AACA;AACA,oCAAoC,uBAAuB;AAC3D;AACA;AACA,wDAAwD,8CAAgB;AACxE,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA,YAAY,+EAAyB;AACrC;AACA;AACA,oCAAoC,uBAAuB;AAC3D;AACA;AACA,0DAA0D,8CAAgB;AAC1E,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACsB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,kEAAa;AACrB;AACA;AACA,oCAAoC,sDAAQ;AAC5C,qBAAqB,yEAAmB;AACxC,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA,QAAQ,oDAAM;AACd;AACA;AACA,uC;;;;;;;;;;;;AC9QA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAiC;AACY;AACJ;AACuG;AACxF;AACP;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,8CAAgB,EAAE,4CAA4C;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,oDAAM;AAClB;AACA;AACA;AACA,YAAY,oDAAM;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,+EAAyB;AACjC;AACA;AACA,iCAAiC,kEAAa;AAC9C;AACA;AACA,uCAAuC,oEAAmB;AAC1D;AACA;AACA;AACA,4BAA4B,iEAAW;AACvC;AACA,0DAA0D,2EAAqB;AAC/E;AACA;AACA,qBAAqB;AACrB,gBAAgB,2EAAqB;AACrC;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,+EAAyB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,kEAAa;AAC9C;AACA;AACA,uCAAuC,oEAAmB;AAC1D;AACA;AACA;AACA,4BAA4B,iEAAW;AACvC;AACA,sBAAsB,2EAAqB;AAC3C;AACA;AACA,qBAAqB;AACrB,8BAA8B,sDAAQ;AACtC,gBAAgB,2EAAqB;AACrC;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,kEAAY;AAClC;AACA,YAAY,8DAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,8DAAQ,gCAAgC,qEAAe;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACyB;AAC1B,0C;;;;;;;;;;;;ACjMA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkD;AACZ;AACM;AACE;AACN;AACxC,iC;;;;;;;;;;;;ACLA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAiC;AACqC;AACzB;AACQ;AACL;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,cAAc;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,4EAAuB;AAC/B,uBAAuB,kEAAa;AACpC;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,qEAAqE,kEAAY;AACjF;AACA;AACA;AACA,iCAAiC,8CAAgB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,YAAY;AAC3C,aAAa,kEAAY;AACzB;AACA;AACA,yBAAyB,mEAAiB;AAC1C,wBAAwB,wEAAuB;AAC/C,oDAAoD,8CAAgB;AACpE;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACuB;AACxB,wC;;;;;;;;;;;;AC/DA;AAAA;AAAA;AAAA;AAAuE;AACrC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA,sBAAsB,qDAAI;AAC1B;AACA,2BAA2B,WAAW,qEAAe,YAAY;AACjE;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,qDAAI;AAChC;AACA;AACA;AACA,iCAAiC,qEAAe;AAChD,qBAAqB;AACrB;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA;AACA;AACA,qBAAqB,qEAAe;AACpC;AACA;AACA;AACA;AACA,QAAQ,0DAAI;AACZ;AACA;AACA;AACA;AACA,yCAAyC,qDAAI;AAC7C;AACA;AACA;AACA,6CAA6C,qEAAe;AAC5D;AACA,iCAAiC;AACjC;AACA;AACA,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA,sDAAsD,qDAAI;AAC1D;AACA;AACA;AACA,qCAAqC,qEAAe;AACpD;AACA,yBAAyB;AACzB;AACA;AACA,qBAAqB;AACrB,iBAAiB;AACjB;AACA,SAAS;AACT,QAAQ,0DAAI;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,4BAA4B,uBAAuB;AACnD;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA,oBAAoB,0DAAI;AACxB;AACA;AACA;AACA;AACA,6CAA6C,qEAAe;AAC5D,iCAAiC;AACjC;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA,iEAAiE,qEAAe;AAChF;AACA;AACA,+BAA+B,qDAAI;AACnC,qBAAqB;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,qEAAe;AACpC,QAAQ,0DAAI;AACZ,QAAQ,0DAAI;AACZ,QAAQ,0DAAI;AACZ;AACA,YAAY,0DAAI;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACmB;AACpB,oC;;;;;;;;;;;;ACzLA;AAAA;AAAA;AAAA;AAAA;AAAiC;AACqC;AACtB;AAChD,aAAa,qEAAe;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,4EAAuB;AAC/B,gBAAgB,kEAAa;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,8CAAgB,GAAG,UAAU,mBAAmB;AACvE;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACoB;AACrB,qC;;;;;;;;;;;;ACtCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyF;AAC1C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA,0BAA0B,6DAAO;AACjC,sHAAsH,oFAA8B;AACpJ,iBAAiB;AACjB;AACA,SAAS;AACT;AACA,4BAA4B,qEAAe;AAC3C,SAAS;AACT;AACA;AACA,yBAAyB,mEAAiB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA,KAAK,EAAE,EAAE;AACT;AACA;AACA;AACA,mC;;;;;;;;;;;;AC1FA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA4F;AAC/B;AACpB;AACQ;AAC+C;AACzF;AACP,QAAQ,yDAAgB;AACxB,QAAQ,yDAAgB;AACxB,QAAQ,sDAAQ;AAChB,QAAQ,yDAAW;AACnB,QAAQ,4DAAc;AACtB,QAAQ,0DAAY;AACpB,QAAQ,uDAAS;AACjB;AACA;AACA;AACA;AACA,8BAA8B,WAAW;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,WAAW,iBAAiB;AAC5B;AACA,qBAAqB,eAAe;AACpC,mBAAmB,qBAAqB;AACxC,oBAAoB,aAAa;AACjC,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,SAAS,qBAAqB;AAC9B;AACO;AACP,6BAA6B,cAAc;AAC3C;AACA;AACA;AACA;AACA,uBAAuB,qEAAe;AACtC;AACA;AACA;AACA;AACA;AACA,IAAI,gEAAW,CAAC,qDAAa;AAC7B;AACA;AACA;AACA;AACA;AACA;AACO;AACP,6BAA6B,cAAc;AAC3C;AACA,0BAA0B,kEAAa;AACvC;AACA,iBAAiB,kEAAa;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,WAAW,kEAAa;AACxB;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,iBAAiB,kEAAa;AAC9B;AACA;AACA;AACA,WAAW,yDAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,iBAAiB,kEAAa;AAC9B;AACA;AACA;AACA,WAAW,yDAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,WAAW,qDAAY,OAAO;AAC9B;AACA,+B;;;;;;;;;;;;AC9JA;AAAA;AAAA;AAAA;AACiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA,wEAAwE;AACxE,gEAAgE;AAChE;AACA;AACA,uCAAuC;AACvC,uCAAuC;AACvC,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,qBAAqB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,8CAAgB,GAAG,eAAe,yCAAyC;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oC;;;;;;;;;;;;AC5MA;AAAA;AAAA;AAAA;AAAmC;AACwB;AAC3D;AACA;AACA;AACA;AACA;AACA,2BAA2B,2DAAa;AACxC,uBAAuB,gDAAG;AAC1B;AACA;AACA;AACA;AACA;AACA,kBAAkB,yDAAW;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACwB;AACzB,gC;;;;;;;;;;;;ACzBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAiC;AACM;AAC6E;AAC7E;AACvC,aAAa,qEAAe;AAC5B;AACA;AACA,IAAI,+CAAiB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,4EAAsB;AACnD;AACA;AACA;AACA;AACA,oCAAoC,yDAAW;AAC/C;AACA;AACA;AACA,6BAA6B,oDAAM;AACnC,+BAA+B,oDAAM;AACrC,6BAA6B,iBAAiB;AAC9C;AACA;AACA,+BAA+B,oDAAM;AACrC;AACA,0DAA0D,2EAAqB;AAC/E,oBAAoB,oDAAM;AAC1B;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA,CAAC,CAAC,mDAAa;AACW;AAC1B,iC;;;;;;;;;;;;AC5DA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAuC;AACE;AACJ;AACrC,iC;;;;;;;;;;;;ACHA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAiC;AACM;AACoC;AACpC;AACvC;AACA;AACA,IAAI,+CAAiB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,oCAAoC,yDAAW;AAC/C;AACA;AACA;AACA;AACA;AACA,6BAA6B,oDAAM;AACnC,+BAA+B,oDAAM;AACrC,6BAA6B,iBAAiB;AAC9C;AACA;AACA,+BAA+B,oDAAM;AACrC;AACA,0DAA0D,2EAAqB;AAC/E,oBAAoB,oDAAM;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,CAAC,CAAC,mDAAa;AACS;AACxB,+B;;;;;;;;;;;;ACvDA;AAAA;AAAA;AAAO;AACA;AACP,mC;;;;;;;;;;;;ACFA;AAAA;AAAA;AAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,iDAAG;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,+DAAS;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,oBAAoB;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACc;AACf,+B;;;;;;;;;;;;ACrFA;AAAA;AAAA;AAAA;AAAoD;AACF;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,oDAAM;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,8DAAa;AAChC;AACA;AACA;AACA;AACA;AACA,kBAAkB,yDAAW;AAC7B;AACA;AACA;AACA;AACA;AACA,kBAAkB,yDAAW;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,oDAAM;AAClB,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACsB;AACvB,uC;;;;;;;;;;;;AClDA;AAAA;AAAA;AAAA;AAAA;AAAiC;AAC6E;AAC5D;AAClD;AACA;AACA;AACA;AACA;AACA,IAAI,wBAAwB;AAC5B,IAAI,wBAAwB;AAC5B;AACA;AACA,IAAI,oBAAoB;AACxB,0CAA0C,sBAAsB;AAChE;AACA;AACA;AACA,IAAI,8BAA8B;AAClC;AACA;AACA;AACA;AACA,IAAI,0BAA0B;AAC9B;AACA,IAAI,2BAA2B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,iDAAG;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,gDAAgD,EAAE;AACtF;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,YAAY,oDAAM;AAClB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,iEAAW;AACvC;AACA;AACA;AACA,oCAAoC,gDAAgD,EAAE;AACtF;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,YAAY,oDAAM;AAClB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,YAAY,oDAAM;AAClB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,yCAAyC,EAAE;AAC9F,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,sEAAiB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,oDAAM;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,yDAAW;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,8CAAgB,GAAG;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,8DAAQ;AACvC;AACA;AACA;AACA,8BAA8B,8DAAQ;AACtC;AACA;AACA;AACA,0BAA0B,8DAAQ;AAClC;AACA;AACA,wEAAwE,2DAAK;AAC7E;AACA;AACA;AACA,qBAAqB,yDAAW;AAChC;AACA,YAAY,4BAA4B;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,8CAAgB,GAAG;AAClC,6DAA6D,SAAS,8CAAgB,GAAG;AACzF,sBAAsB,+DAAS;AAC/B,aAAa,IAAI,EAAE;AACnB,SAAS;AACT,kBAAkB,+DAAS;AAC3B,SAAS;AACT,sBAAsB,+DAAS;AAC/B,SAAS;AACT,mBAAmB,+DAAS;AAC5B,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,yDAAW;AAC9B;AACA;AACA;AACA;AACA,mBAAmB,yDAAW;AAC9B;AACA,mBAAmB,yDAAW;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,oDAAM;AAC1B;AACA,yBAAyB,gEAAU;AACnC;AACA;AACA;AACA;AACA;AACA,wBAAwB,oDAAM;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,iBAAiB;AACjB;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,CAAC;AACqB;AACtB,sC;;;;;;;;;;;;ACxYA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAuL;AACnF;AACxE;AACc;AACE;AACR;AACc;AACH;AACvB;AACxB,iC;;;;;;;;;;;;ACTA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAiC;AACoC;AAC9B;AAChC;AACP;AACO;AACP,8DAA8D,8CAAgB;AAC9E;AACA;AACA;AACA,yEAAyE,eAAe,EAAE;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,8CAAgB;AACvC;AACA;AACA,2DAA2D,eAAe,EAAE;AAC5E;AACA;AACA,8CAA8C,8CAAgB;AAC9D;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA,0BAA0B,mEAAuB,EAAE,yDAAa;AAChE;AACA,IAAI,oDAAM;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,uC;;;;;;;;;;;;AClEA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAC2B;AAC5B,4C;;;;;;;;;;;;AC/BA;AAAA;AAAA;AAAA;AAAA;AAAiC;AACoC;AACU;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,eAAe;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,2EAAuB;AAC/B,sBAAsB,iEAAa;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,YAAY,oDAAM,qEAAqE,yEAAmB;AAC1G;AACA;AACA;AACA,YAAY,oDAAM,gFAAgF,yEAAmB;AACrH;AACA;AACA;AACA,YAAY,oDAAM,iFAAiF,yEAAmB;AACtH;AACA;AACA;AACA,YAAY,oDAAM,qFAAqF,yEAAmB;AAC1H;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,cAAc;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,cAAc;AAC/C;AACA;AACA;AACA;AACA;AACA,iEAAiE,QAAQ,uEAAiB,mBAAmB,EAAE;AAC/G,SAAS;AACT;AACA;AACA;AACA,iCAAiC,cAAc;AAC/C;AACA;AACA;AACA;AACA;AACA,6EAA6E,QAAQ,uEAAiB,eAAe,EAAE;AACvH;AACA;AACA;AACA,iCAAiC,cAAc;AAC/C;AACA;AACA;AACA;AACA;AACA,4EAA4E,QAAQ,uEAAiB,eAAe,EAAE;AACtH;AACA;AACA;AACA,uCAAuC,oBAAoB;AAC3D;AACA,2BAA2B,8CAAgB;AAC3C,0BAA0B,8CAAgB;AAC1C;AACA,2BAA2B,8CAAgB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oFAAoF;AACpF;AACA;AACA;AACA,gBAAgB,oDAAM,6CAA6C,yEAAmB;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,oDAAM,yCAAyC,yEAAmB;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACyB;AAC1B,0C;;;;;;;;;;;;AC9JA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAsD;AACJ;AAClD,iC;;;;;;;;;;;;ACFA;AAAA;AAAA;AAAA;AAA4C;AACL;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA,QAAQ,oDAAM;AACd;AACA,cAAc,iEAAa;AAC3B;AACA;AACA;AACA,+B;;;;;;;;;;;;ACjBA;AAAA;AAAA;AAAA;AAAuC;AACK;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,yDAAW;AAC1B;AACA,oBAAoB,oDAAM;AAC1B,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,eAAe,yDAAW;AAC1B;AACA;AACA,CAAC;AACwB;AACzB,gC;;;;;;;;;;;;ACxBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAiC;AAC0E;AAC3E;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA,SAAS,6BAA6B;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD,YAAY;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,aAAa,4CAAK,GAAG;AACpD,kCAAkC,wBAAwB;AAC1D;AACA,kBAAkB,YAAY;AAC9B;AACA,0BAA0B,+BAA+B;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA,gDAAgD,8CAAgB;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,4CAAK;AACzB;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,2DAAK;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D,8CAAgB,GAAG,cAAc,oBAAoB;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,2DAAK;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D,8CAAgB,GAAG,cAAc,oBAAoB;AAClH;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,2DAAK;AAChD,kDAAkD,8CAAgB,GAAG,SAAS,oBAAoB;AAClG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yEAAyE;AACzE;AACA;AACA;AACA,wBAAwB,qEAAe;AACvC,+BAA+B,8CAAgB,EAAE,uBAAuB;AACxE;AACA,cAAc,oEAAc,cAAc,iDAAiD,EAAE;AAC7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,oDAAM;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,sBAAsB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,oDAAM;AACd;AACA;AACA,CAAC;AACc;AACf;AACO;AACP,kBAAkB,qEAAe;AACjC;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,+DAAS;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8EAA8E,4CAAK;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,UAAU;AACrC;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,UAAU;AACnC;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+B;;;;;;;;;;;;ACrcA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyD;AACgD;AACzG,iC;;;;;;;;;;;;ACFA;AAAA;AAAA;AAAA;AAAA;AAAiC;AACyD;AAC1F;AACA,wCAAwC,yBAAyB;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,mBAAmB;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA,kCAAkC,mBAAmB;AACrD;AACA;AACA;AACA,+BAA+B,WAAW;AAC1C,mBAAmB,yDAAW;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,8CAAgB,GAAG;AAC1D,oBAAoB,gEAAU;AAC9B;AACA,gDAAgD,uFAAuF,EAAE;AACzI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,8CAAgB,GAAG;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,8CAAgB,GAAG,sBAAsB;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,8CAAgB,GAAG;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,8CAAgB,GAAG,uBAAuB;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,8CAAgB,GAAG,yBAAyB;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,8CAAgB;AACpD,6BAA6B,8CAAgB,GAAG;AAChD,8BAA8B,8CAAgB,GAAG;AACjD,gCAAgC,8CAAgB,GAAG;AACnD;AACA;AACA;AACA;AACA;AACA,wCAAwC,8CAAgB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,8CAAgB,EAAE,YAAY,qEAAe,IAAI;AAChF;AACA;AACA,kBAAkB,8CAAgB;AAClC,kBAAkB,8CAAgB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,8CAAgB,GAAG;AAC7C;AACA;AACA,yBAAyB,8CAAgB,GAAG;AAC5C;AACA;AACA,yBAAyB,8CAAgB,GAAG;AAC5C;AACA;AACA,6BAA6B,8CAAgB,GAAG;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,8CAAgB,EAAE,sCAAsC;AACrF;AACA;AACA,4BAA4B,8CAAgB;AAC5C;AACA,2CAA2C,8CAAgB;AAC3D;AACA;AACA,CAAC;AACgB;AACjB;AACA;AACA;AACA;AACA,iBAAiB,qEAAe;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA,iC;;;;;;;;;;;;AChTA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAiC;AACW;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA,cAAc,iEAAa;AAC3B;AACA;AACA,sCAAsC,8CAAgB;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA,4BAA4B,8CAAgB;AAC5C;AACA,iC;;;;;;;;;;;;ACpKA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAsC;AACA;AACF;AACF;AAClC,iC;;;;;;;;;;;;ACJA;AAAA;AAAA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,4BAA4B;AAC7B,oC;;;;;;;;;;;;ACZA;AAAA;AAAA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,4BAA4B;AAC7B;AACA;AACA;AACA;AACA,6CAA6C,eAAe;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,4BAA4B;AAC7B,oC;;;;;;;;;;;;ACjDA;AAAA;AAAA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,gCAAgC;AACjC;AACA;AACA;AACA,2CAA2C,iBAAiB;AAC5D;AACA;AACA,oCAAoC,8BAA8B;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,gCAAgC;AACjC,gC;;;;;;;;;;;;ACrFA;AAAA;AAAA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,wBAAwB;AACzB;AACA;AACA;AACA;AACA,2CAA2C,aAAa;AACxD;AACA;AACA,oCAAoC,qBAAqB;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,wBAAwB;AACzB,kC;;;;;;;;;;;;AC1CA;AAAA;AAAA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA,iC;;;;;;;;;;;;ACVA;AAAA;AAAA;AAAA;AAAiC;AACK;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,sBAAsB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,kDAAW;AACjC;AACA,iBAAiB,4CAAc;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,uGAAuG;AACrI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,kDAAW;AACrC;AACA,SAAS;AACT;AACA,sBAAsB,kDAAW;AACjC;AACA;AACA,sBAAsB,kDAAW;AACjC;AACA;AACA;AACA,CAAC;AACc;AACf,+B;;;;;;;;;;;;AC9EA;AAAA;AAAA;AAAA;AAAiC;AACW;AAC5C;AACA;AACA,IAAI,+CAAiB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,gEAAc;AACtB;AACA;AACA;AACA,CAAC;AACsB;AACvB,iC;;;;;;;;;;;;ACjBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAwB;AACA;AACH;AACI;AACF;AACA;AACE;AACF;AACS;AACP;AACE;AACG;AACD;AACP;AACtB,iC;;;;;;;;;;;;ACdA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACiC;AACa;AACZ;AACwB;AAC1B;AACkC;AAClE,aAAa,6DAAe;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,8CAAM;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,8CAAgB,uCAAuC,UAAU;AACvF;AACA;AACA;AACA;AACA;AACA,gBAAgB,8CAAM,uFAAuF,6DAAe;AAC5H;AACA;AACA;AACA,mBAAmB,QAAQ,gBAAgB;AAC3C;AACA;AACA;AACA;AACA,iBAAiB,0BAA0B;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,oDAAI;AACZ;AACA;AACA,gCAAgC,uBAAuB;AACvD;AACA;AACA,4CAA4C,2BAA2B;AACvE;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA,SAAS,qEAAmB;AAC5B;AACA;AACA,IAAI,oDAAI;AACR;AACA;AACA,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,qCAAqC,8CAAgB,GAAG;AACxD;AACA,yCAAyC,8CAAgB,GAAG,sBAAsB,+CAA+C;AACjI;AACA,aAAa;AACb,yCAAyC,8CAAgB,GAAG,sBAAsB,yCAAyC;AAC3H;AACA,aAAa;AACb;AACA,KAAK;AACL;AACA;AACA;AACA,+BAA+B,gBAAgB;AAC/C,+BAA+B,wDAAY;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,gBAAgB;AAC/C;AACA;AACA;AACA,+BAA+B,wDAAY;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,oDAAI;AACR;AACA;AACA,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA,wBAAwB,oDAAQ;AAChC;AACA;AACA;AACA,gBAAgB,oDAAQ;AACxB;AACA;AACA;AACA;AACA,KAAK;AACL,IAAI,oDAAI;AACR;AACA;AACA,4BAA4B,uBAAuB;AACnD;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA,mCAAmC,8CAAgB,GAAG;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,8CAAgB,GAAG,sBAAsB,2BAA2B;AAC/G;AACA,aAAa;AACb;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS,iEAAe;AACxB;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,IAAI,oDAAI;AACR,IAAI,oDAAI;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,oDAAI;AACZ;AACA;AACA;AACA,wBAAwB,oDAAI;AAC5B;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,wBAAwB,oDAAI;AAC5B;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,QAAQ,oDAAI;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,kBAAkB;AAChD;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,2BAA2B;AACpD,aAAa;AACb;AACA;AACA,qBAAqB,2BAA2B;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sC;;;;;;;;;;;;ACvbA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA,IAAI,cAAc;AAClB;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,mBAAmB;AACvB;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA,IAAI,iBAAiB;AACrB;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA,IAAI,qBAAqB;AACzB;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA,IAAI,eAAe;AACnB;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA,IAAI,kBAAkB;AACtB;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA,IAAI,oBAAoB;AACxB;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA,IAAI,cAAc;AAClB;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA,IAAI,gBAAgB;AACpB;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA,IAAI,eAAe;AACnB;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,uBAAuB;AAC3B;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA,IAAI,mBAAmB;AACvB;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8B;;;;;;;;;;;;ACpJA;AAAA;AAAA;AAAyD;AACzD;AACA,aAAa,6DAAe;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA,QAAQ,4DAAc;AACtB,oEAAoE;AACpE,SAAS;AACT;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA,QAAQ,4DAAc;AACtB,sEAAsE;AACtE,SAAS;AACT;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA,QAAQ,4DAAc;AACtB,wEAAwE;AACxE,SAAS;AACT;AACA;AACA,CAAC;AACD;AACA;AACA;AACkB;AAClB,kC;;;;;;;;;;;;AChEA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,wBAAwB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,wBAAwB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACe;AAChB,gC;;;;;;;;;;;;ACpDA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAgC;AACI;AACpC;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,+BAA+B,gBAAgB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,oDAAQ;AAC7B;AACA,mBAAmB,oBAAoB;AACvC;AACA;AACA;AACA;AACA,eAAe,0BAA0B;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,oCAAoC,oBAAoB;AACxD;AACA;AACA;AACA;AACA;AACA,8BAA8B,QAAQ,wDAAQ,UAAU,EAAE;AAC1D,yBAAyB,wDAAQ;AACjC;AACA;AACA,8BAA8B,QAAQ,wDAAQ,UAAU,EAAE;AAC1D;AACA,gC;;;;;;;;;;;;;AC9XA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAiC;AAC8E;AACjF;AAC6B;AACvB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA,oBAAoB,wEAAwE,EAAE;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,mDAAO;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,mDAAO;AACf;AACA;AACA;AACA;AACA;AACA,4BAA4B,qDAAS;AACrC,kBAAkB,8DAAgB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,qDAAS;AAC5C,kBAAkB,8DAAgB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,wDAAY;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA,2BAA2B,WAAW;AACtC,6BAA6B,sBAAsB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,uDAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,4DAAgB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,6DAAe;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,2BAA2B,mBAAmB;AAC9C,0BAA0B,YAAY,0CAAI,GAAG;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,uDAAW;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA,uEAAuE,gCAAgC,EAAE;AACzG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,+BAA+B,gBAAgB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,wDAAQ;AACvB;AACA,wCAAwC,kBAAkB;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,wDAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA,QAAQ,yDAAa;AACrB;AACA;AACA;AACA,0BAA0B,8CAAgB,mCAAmC,UAAU;AACvF;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,QAAQ,gBAAgB;AAC/C;AACA;AACA;AACA;AACA,qBAAqB,0BAA0B;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kC;;;;;;;;;;;;;AC5TA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,QAAQ;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,MAAM;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,IAAI;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;AACA,iCAAiC,8BAA8B;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+EAA+E,YAAY,EAAE;AAC7F;AACA;AACA;AACA;AACA;AACA,UAAU,oBAAoB;AAC9B;AACA;AACA;AACA;AACA;AACA,UAAU,UAAU;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,YAAY;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,sBAAsB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA,6EAA6E,YAAY,EAAE;AAC3F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACO;AACP;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,gC;;;;;;;;;;;;AC7JA;AAAA;AAAO,gDAAgD,gBAAgB,kDAAkD;AACzH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oC;;;;;;;;;;;;ACrBA;AAAA;AAAA;AAAA;AAAsC;AACM;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,wDAAW,YAAY,kDAAW;AACrD;AACA;AACA;AACA;AACA;AACA,+BAA+B,2BAA2B,EAAE;AAC5D;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,wDAAW;AAC9B;AACA;AACA;AACA;AACA,aAAa;AACb,YAAY,wDAAW;AACvB;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,CAAC;AACwB;AACzB,yC;;;;;;;;;;;;AClFA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,yBAAyB,SAAS;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,KAAK;AAC1B;AACA;AACA,sBAAsB,KAAK;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,SAAS,oDAAQ;AACjB;AACA;AACA,QAAQ,oDAAQ;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kC;;;;;;;;;;;;AC7FA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkC;AACO;AACzC;AACA;AACA,IAAI,yBAAyB;AAC7B;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,uBAAuB;AAC3B;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,2BAA2B;AAC/B;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,oBAAoB;AACxB;AACA;AACA;AACO;AACP,qBAAqB,6DAAe;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,uBAAuB;AACnE;AACA;AACA;AACA,IAAI,0BAA0B;AAC9B;AACA;AACA;AACO;AACP;AACA;AACA;AACA,iBAAiB,6DAAe;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,8CAAM;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,gCAAgC;AACpC;AACA;AACA;AACO;AACP;AACA,kCAAkC,6DAAe;AACjD;AACA;AACA;AACA,IAAI,6BAA6B;AACjC;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,sBAAsB;AAC1B;AACA;AACA;AACO;AACP;AACA;AACA;AACA,iBAAiB,6DAAe;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,oC;;;;;;;;;;;;AC7KA;AAAA;AAAA;AAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,wBAAwB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,sDAAU;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,yCAAyC,YAAY,EAAE;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,CAAC;AACsB;AACvB,uC;;;;;;;;;;;;AClMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA;AACA,iEAAiE,aAAa;AAC9E;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACtGA,oEAAE,KAA0C,kBAAkB,CAAC,oCAAe,CAAC;AAAA;AAAA;AAAA;AAAA,oGAAC,CAAC,EAAE;AACnF,EAAE,KAA0B,kBAAkB,sBAAsB,EAAE;AACtE,eAAe,iBAAiB;AAChC;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,OAAO,OAAO,2BAA2B;AAChE;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,kCAAkC,yBAAyB;AAC3D;AACA;;AAEA;AACA,gCAAgC,uBAAuB;AACvD,gDAAgD,8BAA8B;AAC9E;AACA;;AAEA;AACA,+BAA+B,sBAAsB;AACrD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,OAAO;AAC9C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,8CAA8C,OAAO;AACrD;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,4CAA4C,OAAO;AACnD;AACA;;AAEA;AACA;AACA,4CAA4C,OAAO;AACnD;AACA;AACA;;AAEA;AACA,iCAAiC,oBAAoB;AACrD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;AC7KD;AACa;;AAEb;;AAEA;AACA;AACA;;;;;;;;;;;;;;ACPA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0D;AACX;AACV;AACF;AACI;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,eAAe,kFAAQ,GAAG;AAC1B;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL,0BAA0B,gEAAe;AACzC;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uGAAuG,2DAAU;AACjH;;AAEA;AACA;;AAEA;AACA,IAAI,KAAqC,GAAG,4DAAO,mEAAmE,SAAM;AAC5H;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT,UAAU,KAAqC,GAAG,4DAAO,6FAA6F,SAAM;AAC5J;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,uEAAuE,aAAa;AACpF;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA,eAAe,KAAqC,GAAG,8DAAS,yCAAyC,SAAgB;AACzH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iCAAiC;AACjC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI,KAAqC,GAAG,4DAAO,oNAAoN,SAAM;AAC7Q;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,IAAI,kFAAQ;;AAEZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,sCAAsC;AACtC;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,sCAAsC;;AAEtC;AACA;AACA;;AAEA;AACA,IAAI,KAAqC,GAAG,4DAAO,sNAAsN,mBAAmB,SAAM;AAClS;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP,QAAQ,KAAqC,GAAG,4DAAO,2GAA2G,SAAM;AACxK;AACA;AACA,KAAK;AACL;;AAEA;AACA,IAAI,KAAqC,GAAG,4DAAO,yNAAyN,mBAAmB,SAAM;AACrS;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP,QAAQ,KAAqC,GAAG,4DAAO,8GAA8G,SAAM;AAC3K;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,eAAe,KAAqC,GAAG,8DAAS,sCAAsC,SAAgB;AACtH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI,KAAqC,GAAG,4DAAO,oNAAoN,SAAM;AAC7Q;AACA;AACA;;AAEA;;AAEA;AACA,IAAI,kFAAQ;;AAEZ;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,gFAAgF;;AAEhF,sDAAsD,uBAAuB;;AAE7E;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,sCAAsC;AACtC;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA,+CAA+C;;AAE/C;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,IAAI,KAAqC,GAAG,4DAAO,sDAAsD,mBAAmB,SAAM;AAClI;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP,QAAQ,KAAqC,GAAG,4DAAO,gDAAgD,wDAAwD,SAAM;AACrK;AACA;AACA,KAAK;AACL;;AAEA;AACA,IAAI,KAAqC,GAAG,4DAAO,yDAAyD,mBAAmB,SAAM;AACrI;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA,IAAI,KAAqC,GAAG,4DAAO,uFAAuF,SAAM;AAChJ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAI,kFAAQ;;AAEZ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG,EAAE;;AAEL;;AAEA;AACA,IAAI,KAAqC,GAAG,4DAAO,sNAAsN,mBAAmB,SAAM;AAClS;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA,IAAI,KAAqC,GAAG,4DAAO,yNAAyN,mBAAmB,SAAM;AACrS;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEkI;;;;;;;;;;;;;ACt5BrH;;AAEb,cAAc,mBAAO,CAAC,kDAAU;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,mBAAmB,iBAAiB;AACpC;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;;;;;;ACnGA;AACA;AACA;;;;;;;;;;;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,MAAM,KAA0B;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;AAGA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AAIA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,QAAQ,YAAY;;AAEpB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF,oBAAoB;;AAEpB;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;;AAEF,6CAA6C;AAC7C;AACA;AACA,kBAAkB,kCAAkC;AACpD,EAAE;;AAEF;AACA;;AAEA;AACA;AACA,UAAU,YAAY;AACtB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAS,SAAS;AAClB;AACA;;AAEA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS,YAAY;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU,YAAY;AACtB;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS,SAAS;AAClB;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,kCAAkC,IAAI;AACtC;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,0BAA0B;AAC1B;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA,gBAAgB,IAAI;;AAEpB;AACA;;AAEA;;AAEA;AACA;AACA,0CAA0C,IAAI;AAC9C;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,GAAG;AACH,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD,SAAS;;AAET;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,MAAM;;AAEN;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,aAAa,yBAAyB;AACtC;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,QAAQ,6BAA6B;AAChD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;AACF;;AAEA;AACA;AACA,WAAW,gBAAgB;AAC3B,aAAa,uBAAuB;AACpC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,WAAW,eAAe;AAC1B,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,eAAe;AAC1B,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,WAAW,UAAU;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,gCAAgC,MAAM;AACtC;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA,eAAe;;AAEf,SAAS;;AAET;AACA,QAAQ,iCAAiC;AACzC,QAAQ,oBAAoB;AAC5B,QAAQ,sCAAsC;AAC9C,QAAQ;AACR,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAI;;AAEJ;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,6DAA6D;;AAE7D;AACA;AACA;AACA,0CAA0C;;AAE1C;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA,8DAA8D;;AAE9D;AACA;AACA;AACA,2CAA2C;;AAE3C;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kCAAkC;;AAElC;AACA;AACA;AACA,8CAA8C;;AAE9C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA,iEAAiE,UAAU;AAC3E,sCAAsC,2BAA2B;AACjE;AACA,gCAAgC,MAAM;AACtC;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA,UAAU,YAAY;AACtB;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,UAAU,YAAY;AACtB;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,UAAU;AACpB;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,UAAU,cAAc;AACxB;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA,YAAY,uEAAuE;AACnF;AACA;AACA,YAAY,4BAA4B;AACxC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ,SAAS;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,4DAA4D;;AAE5D;AACA;AACA;AACA,yCAAyC;;AAEzC;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA,OAAO;;AAEP;AACA;;AAEA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,QAAQ,SAAS;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,QAAQ,SAAS;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH,QAAQ,SAAS;AACjB;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB,iDAAiD;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;;AAEA;AACA;AACA,iDAAiD;AACjD,UAAU,4CAA4C;AACtD;AACA;;AAEA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B;AACA,WAAW,QAAQ;AACnB,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;;AAEA;;AAEA,CAAC;;;;AAID;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AAKA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA,QAAQ,GAAG;AACX;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;;;;AAIA;;AAEA;;AAEA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;;AAEA,cAAc,SAAS;AACvB;AACA;;AAEA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;AAGD;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,IAAI;AACJ;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;;AAEA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,OAAO;AACjB;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,OAAO;AACjB,0BAA0B,wBAAwB;;AAElD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA,0CAA0C;AAC1C,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;;;AAIA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,UAAU,cAAc;AACxB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;;AAER;AACA;AACA;AACA,OAAO;AACP,MAAM;;AAEN;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,wCAAwC,sCAAsC;AAC9E,oCAAoC,uCAAuC;AAC3E,oCAAoC,sCAAsC;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR,OAAO;AACP;AACA,MAAM;AACN,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW;;AAEX;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU;;AAEV;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;;AAER;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;;AAEN;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,oCAAoC;AACpC,qCAAqC;AACrC,oCAAoC;AACpC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;;AAGD;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;AAKA;AACA;AACA;AACA,EAAE;AACF;;;;;AAKA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;;;;;AAKA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;AACF;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU,SAAS;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AAKA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,uBAAuB,aAAa;AACpC,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oBAAoB,SAAS;AAC7B;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,IAAI;AACJ,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;;AAGD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA,GAAG;AACH,EAAE;AACF;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;AAGA;;AAEA;;;;AAIA;AACA;AACA,GAAG;AACH,cAAc;;AAEd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,QAAQ,gBAAgB;AACxB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA,CAAC;AACD;;AAEA;;AAEA;;;;AAIA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;;AAGD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA,EAAE;AACF;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA,QAAQ,OAAO;AACf;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,sBAAsB;;AAEtB;AACA;AACA;AACA;AACA;AACA;;AAEA,QAAQ,OAAO;AACf;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;;AAEA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,gBAAgB;AAClB;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;;AAEA,WAAW;;AAEX;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;;AAEA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,2CAA2C;AAC3C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;;AAEF;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,cAAc,sBAAsB;AACpC;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,yBAAyB;AACzB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,+DAA+D;AAC/D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAU,cAAc;;AAExB;AACA;AACA;AACA;AACA;AACA,iBAAiB,mBAAmB;AACpC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,uCAAuC;AACjE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,uDAAuD;AAC9E;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,+CAA+C;AACpD;AACA;;AAEA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,EAAE;AACF;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,sCAAsC;AACtC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,qCAAqC,cAAc;AACnD;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;;AAED,cAAc,qCAAqC;AACnD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;;AAGD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,2CAA2C,OAAO;AAClD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,EAAE;AACF;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU,OAAO;AACjB;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,gBAAgB,gBAAgB;AAChC;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,QAAQ,+BAA+B;AACvC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,uCAAuC,OAAO;AAC9C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,wCAAwC,OAAO;AAC/C;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA,SAAS,qCAAqC;AAC9C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;;AAEA,SAAS,8BAA8B;AACvC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA,6BAA6B;AAC7B;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,YAAY,OAAO;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAS,WAAW;AACpB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;;;;AAIA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,+CAA+C,cAAc,WAAW;AACxE,mBAAmB,UAAU;AAC7B;AACA,sBAAsB,cAAc,sBAAsB,gBAAgB;AAC1E,gBAAgB,WAAW,YAAY;AACvC,cAAc;AACd;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;;AAEA,6CAA6C;AAC7C;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;AACF,CAAC;;;AAGD;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB;AAClB;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY,+DAA+D;AAC3E;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,QAAQ,OAAO;;AAEf;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA,aAAa;;AAEb;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,kBAAkB,gBAAgB;AAClC;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;;AAEA,UAAU,OAAO;AACjB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;;AAEA,WAAW,SAAS;AACpB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;;AAGD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;;AAEA;;AAEA;AACA;;;;;AAKA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA,QAAQ,OAAO;AACf;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAQ,gBAAgB;AACxB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,iDAAiD,0BAA0B;AAC3E;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAU,gBAAgB;AAC1B;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,2BAA2B;AAC3B;AACA,qBAAqB;AACrB;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B;AACA;;AAEA,6CAA6C;AAC7C;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA,QAAQ,gBAAgB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA,SAAS,gBAAgB;AACzB;AACA;AACA;AACA;AACA,EAAE;;AAEF;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,CAAC;;AAED;AACA,iEAAiE;AACjE;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,EAAE;AACF;AACA;AACA;;AAEA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,oBAAoB,cAAc;AAClC,EAAE;AACF;AACA;AACA;AACA;;AAEA;AACA,iDAAiD;;AAEjD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;;AAEA,+BAA+B,SAAS;AACxC;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,+BAA+B,SAAS;AACxC;AACA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,UAAU,kBAAkB;AAC5B,WAAW,kBAAkB;AAC7B,cAAc;AACd,CAAC;AACD;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;;AAEA,QAAQ,mBAAmB;AAC3B;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;;;AAGA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;AAGD;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;AAKD;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;AAKD;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;;;;AAKD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA,iCAAiC;AACjC;AACA;;AAEA,IAAI;AACJ;;AAEA,IAAI;AACJ;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,KAAK;AACL;AACA;;AAEA;AACA,WAAW,SAAS;AACpB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;AAKD;;;AAGA;;;AAGA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,sCAAsC;AACtC;AACA;AACA;;AAEA;;AAEA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,2CAA2C;AAC3C;;AAEA;AACA;AACA;AACA;AACA,UAAU,KAAK;AACf;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,CAAC;;AAED;;AAEA;AACA;AACA;AACA,GAAG;AACH,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;AAGD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,qCAAqC;;AAEpD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA,aAAa;;AAEb;;;;AAIA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH,EAAE;;AAEF;AACA;AACA;AACA;;AAEA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb,KAAK;AACL;;AAEA,WAAW;AACX,GAAG;AACH;AACA,CAAC;;;AAGD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;;AAEhB;AACA;AACA;AACA;AACA;AACA,gBAAgB;;AAEhB,gDAAgD;AAChD;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,mBAAmB;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,wDAAwD;AACxD;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA,IAAI;;AAEJ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAS;AACT;;AAEA;;AAEA;AACA;;AAEA;AACA,iBAAiB;AACjB,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,2BAA2B;;AAE3B;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,kCAAkC;;AAElC;AACA,sBAAsB;AACtB,2BAA2B;;AAE3B;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,sDAAsD;AACtD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;AAGD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;AACF;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,IAAI;AACJ;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;;AAEA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,CAAC;;;AAGD;AACA;AACA;AACA;AACA;AACA;;;;;AAKA;AACA;AACA;AACA,EAAE;AACF;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ;;AAER;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA,mDAAmD;AACnD;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC,WAAW,yBAAyB;AACpC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;AAKD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B,aAAa,uCAAuC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;;AAEN;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;AAKD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA,CAAC;;;;;AAKD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;AAGD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,IAAI;AACJ,GAAG;AACH;;AAEA;AACA;;;;;AAKA;AACA;AACA;AACA,EAAE;AACF;;;;;AAKA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA,qDAAqD;AACrD;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB;;AAEnB;AACA;;AAEA;AACA;;AAEA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA,cAAc,sDAAsD;AACpE;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;AAGD;AACA,cAAc,mCAAmC;AACjD,eAAe,6DAA6D;AAC5E;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA,EAAE;AACF,CAAC;;;AAGD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;AAKD;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;;;;AAKF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,KAAK,IAA0C;AAC/C,CAAC,iCAAkB,EAAE,mCAAE;AACvB;AACA,EAAE;AAAA,oGAAE;AACJ;;;;;AAKA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;AAKA;AACA,CAAC;;;;;;;;;;;;ACvnVD;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,YAAY,KAA4B,IAAI,gGAAU;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,yBAAyB;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,yBAAyB;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,4BAA4B,0BAA0B;AACtD;AACA;AACA,OAAO;AACP,4BAA4B,0BAA0B;AACtD;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,gBAAgB,QAAQ;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,MAAM,mCAAO;AACb;AACA,OAAO;AAAA,oGAAC;AACR;AACA;AACA,CAAC;;;;;;;;;;;;;ACrgBD,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,cAAc,mBAAO,CAAC,qDAAY;AAClC,cAAc,mBAAO,CAAC,qDAAY;AAClC,cAAc,mBAAO,CAAC,qDAAY;;AAElC;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;A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;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACtBA,mBAAmB,mBAAO,CAAC,+DAAiB;;AAE5C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACtBA,cAAc,mBAAO,CAAC,mDAAW;AACjC,eAAe,mBAAO,CAAC,qDAAY;;AAEnC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC5BA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACdA,iBAAiB,mBAAO,CAAC,2DAAe;;AAExC;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACZA,mBAAmB,mBAAO,CAAC,+DAAiB;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AClCA,mBAAmB,mBAAO,CAAC,+DAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;;;;;;AClBA,mBAAmB,mBAAO,CAAC,+DAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACfA,mBAAmB,mBAAO,CAAC,+DAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACzBA,WAAW,mBAAO,CAAC,+CAAS;AAC5B,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,UAAU,mBAAO,CAAC,6CAAQ;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACpBA,iBAAiB,mBAAO,CAAC,2DAAe;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACjBA,iBAAiB,mBAAO,CAAC,2DAAe;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACfA,iBAAiB,mBAAO,CAAC,2DAAe;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACfA,iBAAiB,mBAAO,CAAC,2DAAe;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACrBA,cAAc,mBAAO,CAAC,mDAAW;;AAEjC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;;;;;;;;;;;;ACzBA,gBAAgB,mBAAO,CAAC,yDAAc;;AAEtC;AACA;;AAEA;;;;;;;;;;;;ACLA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACrBA,iBAAiB,mBAAO,CAAC,2DAAe;;AAExC;AACA;;AAEA;AACA;;AAEA;;;;;;;;;;;;ACRA,oBAAoB,mBAAO,CAAC,iEAAkB;;AAE9C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;;;;;;;;;;;;AC1BA,eAAe,mBAAO,CAAC,qDAAY;;AAEnC;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,cAAc;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACpBA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;;;;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,iBAAiB;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACpCA,cAAc,mBAAO,CAAC,qDAAY;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,WAAW,EAAE;AACb,aAAa,EAAE;AACf;AACA;AACA,iBAAiB,QAAQ,OAAO,SAAS,EAAE;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACzBA,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,eAAe,mBAAO,CAAC,qDAAY;;AAEnC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC5BA,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,mBAAmB,mBAAO,CAAC,6DAAgB;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,2CAA2C;AAC3C;AACA,2DAA2D;;AAE3D;AACA,+CAA+C;AAC/C;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;;AAEA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB;AACzB,yBAAyB;AACzB;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,0BAA0B,MAAM,aAAa,OAAO;;AAEpD;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,EAAE;AACnD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,2CAA2C,EAAE;;AAE7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe;AACf,cAAc;AACd,cAAc;AACd,gBAAgB;AAChB,eAAe;AACf;;AAEA;AACA;AACA,UAAU;AACV,SAAS;AACT,SAAS;AACT,WAAW;AACX,UAAU;AACV;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,oBAAoB,KAA0B;;AAE9C;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB,aAAa,EAAE;AACf,aAAa,MAAM;AACnB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,SAAS;AACtB,aAAa,SAAS;AACtB,aAAa,OAAO;AACpB,eAAe,SAAS;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,SAAS;AACtB,eAAe,MAAM;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,SAAS;AACtB,eAAe,MAAM;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,SAAS;AACtB,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,SAAS;AACtB,eAAe,MAAM;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,EAAE;AACf,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,EAAE;AACf,aAAa,SAAS;AACtB,eAAe,QAAQ;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,SAAS;AACtB,eAAe,MAAM;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,MAAM;AACnB,eAAe,MAAM;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,SAAS;AACtB,aAAa,EAAE;AACf,aAAa,QAAQ;AACrB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,SAAS;AACtB,aAAa,EAAE;AACf,aAAa,QAAQ;AACrB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,SAAS;AACtB,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,eAAe,OAAO;AACtB;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,eAAe,MAAM;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,eAAe,MAAM;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,aAAa;AAC1B,aAAa,SAAS;AACtB,aAAa,SAAS;AACtB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,SAAS;AACtB,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB,eAAe,OAAO;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,EAAE;AACf,aAAa,OAAO;AACpB,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,EAAE;AACf,aAAa,OAAO;AACpB,aAAa,SAAS;AACtB,eAAe,OAAO;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,EAAE;AACf,eAAe,QAAQ;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,SAAS;AACtB,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,aAAa;AAC1B,aAAa,SAAS;AACtB,aAAa,EAAE;AACf,aAAa,QAAQ;AACrB;AACA,aAAa,SAAS;AACtB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,SAAS;AACtB,eAAe,MAAM;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,SAAS;AACtB,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,SAAS;AACtB,eAAe,MAAM;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,MAAM;AACnB,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,MAAM;AACnB,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,eAAe,QAAQ;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,MAAM;AACnB,eAAe,OAAO;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,MAAM;AACnB,eAAe,OAAO;AACtB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,EAAE;AACf,eAAe,OAAO;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,eAAe,OAAO;AACtB;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,eAAe,OAAO;AACtB;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,eAAe,OAAO;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,eAAe,EAAE;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,eAAe,QAAQ;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,eAAe,QAAQ;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,eAAe,MAAM;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,eAAe,MAAM;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB,aAAa,SAAS;AACtB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,EAAE;AACf,eAAe,MAAM;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,eAAe,MAAM;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,eAAe,MAAM;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,EAAE;AACf,aAAa,OAAO;AACpB,eAAe,OAAO;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,EAAE;AACf,aAAa,OAAO;AACpB,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,eAAe,MAAM;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,eAAe,OAAO;AACtB;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,eAAe,MAAM;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,eAAe,MAAM;AACrB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,eAAe,SAAS;AACxB;AACA;AACA,cAAc,2BAA2B;AACzC;AACA;AACA,mBAAmB,gCAAgC;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,6BAA6B;AAC9D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;;AAEA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;;AAEA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;;AAEA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;;AAEA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW;AACX;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,EAAE;AACjB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,EAAE;AACjB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,EAAE;AACjB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,EAAE;AACjB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,QAAQ;AACvB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,EAAE;AACjB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,QAAQ;AACvB;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,eAAe,MAAM;AACrB,iBAAiB,cAAc;AAC/B;AACA;AACA;AACA;AACA;AACA,oCAAoC,6BAA6B,EAAE;AACnE;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,SAAS;AACxB,iBAAiB,aAAa;AAC9B;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,SAAS;AACxB,iBAAiB,aAAa;AAC9B;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,SAAS;AACxB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,EAAE;AACjB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,OAAO;AACtB,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB,eAAe,MAAM;AACrB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,MAAM;AACrB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,aAAa;AAC5B,iBAAiB,EAAE;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,aAAa;AAC5B,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,aAAa;AAC5B,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,aAAa;AAC5B,eAAe,MAAM;AACrB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,QAAQ;AACvB;AACA;AACA,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,EAAE;AACjB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,OAAO;AACtB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,6BAA6B;AAC5C,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT,gBAAgB;AAChB,OAAO;;AAEP;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,QAAQ;AACvB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,aAAa;AAC5B,eAAe,EAAE;AACjB,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,EAAE;AACjB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,SAAS;AACxB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,EAAE;AACjB,eAAe,QAAQ;AACvB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qEAAqE;AACrE;AACA;AACA,eAAe,MAAM;AACrB,eAAe,EAAE;AACjB,eAAe,SAAS;AACxB,eAAe,QAAQ;AACvB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,aAAa;AAC5B,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,aAAa;AAC5B,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,MAAM;AACrB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,aAAa;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,eAAe,SAAS;AACxB,iBAAiB,SAAS;AAC1B;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,cAAc;AAC7B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,QAAQ;AACvB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,YAAY;AAC3B,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,QAAQ;AACvB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,QAAQ;AACvB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,mBAAmB;AAClC,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,MAAM;AACrB,eAAe,MAAM;AACrB,gBAAgB,QAAQ;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,MAAM;AACrB,eAAe,MAAM;AACrB,gBAAgB,QAAQ;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,MAAM;AACrB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,MAAM;AACrB,eAAe,OAAO,WAAW;AACjC,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO,WAAW;AACjC,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO,WAAW;AACjC,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,QAAQ;AACvB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,eAAe,EAAE;AACjB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,SAAS;AAC1B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,+CAA+C;AACpF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,gBAAgB;AAC/B,eAAe,OAAO;AACtB,eAAe,EAAE;AACjB,eAAe,MAAM;AACrB;AACA,eAAe,MAAM;AACrB,eAAe,MAAM;AACrB;AACA,eAAe,MAAM;AACrB,eAAe,MAAM;AACrB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA,oEAAoE;AACpE;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,eAAe,EAAE;AACjB,eAAe,MAAM;AACrB;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,MAAM;AACrB;AACA,eAAe,MAAM;AACrB,eAAe,MAAM;AACrB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,gBAAgB;AAC/B,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,MAAM;AACrB,eAAe,MAAM;AACrB,eAAe,MAAM;AACrB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB;AACA,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,OAAO;AACtB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,MAAM;AACrB,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,OAAO;AACtB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,OAAO;AACxB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,MAAM;AACrB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,0CAA0C;AAC1C,wCAAwC;AACxC,+DAA+D;AAC/D,iEAAiE;AACjE;AACA;AACA,cAAc;AACd;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,aAAa;AAC5B,eAAe,SAAS;AACxB,iBAAiB,QAAQ;AACzB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,QAAQ;AACvB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;;AAEA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,OAAO;AACtB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,OAAO;AACtB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,EAAE;AACjB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,MAAM;AACrB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,MAAM;AACrB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,MAAM;AACrB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,EAAE;AACjB,iBAAiB,SAAS;AAC1B;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,iBAAiB,cAAc;AAC/B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,iBAAiB,SAAS;AAC1B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,cAAc;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,MAAM;AACvB,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,KAAK;AACpB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,SAAS,GAAG,SAAS,KAAK,SAAS;AAC3D,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA,uBAAuB,iBAAiB,GAAG,iBAAiB;AAC5D;AACA,mCAAmC,iBAAiB;AACpD,eAAe,iBAAiB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA,UAAU,oCAAoC;AAC9C,UAAU,qCAAqC;AAC/C,UAAU;AACV;AACA;AACA,4CAA4C,kBAAkB,EAAE;AAChE;AACA;AACA;AACA,gCAAgC,qCAAqC;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA,UAAU,qCAAqC;AAC/C,UAAU,qCAAqC;AAC/C,UAAU;AACV;AACA;AACA,uCAAuC,kBAAkB,EAAE;AAC3D;AACA;AACA;AACA,2BAA2B,oCAAoC;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,EAAE;AACjB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA,UAAU,qCAAqC;AAC/C,UAAU,qCAAqC;AAC/C,UAAU;AACV;AACA;AACA,uCAAuC,2BAA2B,EAAE;AACpE;AACA;AACA;AACA,2BAA2B,kCAAkC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA,UAAU,oCAAoC;AAC9C,UAAU,qCAAqC;AAC/C,UAAU;AACV;AACA;AACA,2CAA2C,4BAA4B,EAAE;AACzE;AACA;AACA;AACA,+BAA+B,mCAAmC;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,EAAE;AACjB,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,SAAS,KAAK,SAAS,GAAG,SAAS;AAC7D,eAAe,SAAS;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA,uBAAuB,iBAAiB,GAAG,iBAAiB;AAC5D,sBAAsB,iBAAiB,GAAG,iBAAiB;AAC3D;AACA;AACA,eAAe,iBAAiB;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,EAAE;AACjB,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,OAAO;AACtB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,KAAK;AACpB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,MAAM;AACrB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA,qBAAqB,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS;AAClE;AACA,4BAA4B,SAAS,GAAG,SAAS;AACjD;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA,qBAAqB,iBAAiB,GAAG,iBAAiB,GAAG,iBAAiB;AAC9E;AACA,8BAA8B,iBAAiB;AAC/C;AACA,eAAe,iBAAiB,GAAG,iBAAiB;AACpD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,qBAAqB;AACpC,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;;AAEP;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,EAAE;AACjB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,EAAE;AACjB,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA,uBAAuB,SAAS,GAAG,SAAS;AAC5C;AACA,iCAAiC,SAAS,eAAe,YAAY,EAAE;AACvE;AACA;AACA;AACA,iCAAiC,SAAS;AAC1C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,EAAE;AACjB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,EAAE;AACjB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,EAAE;AACjB,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA,uBAAuB,SAAS,GAAG,SAAS;AAC5C;AACA,qCAAqC,SAAS,eAAe,YAAY,EAAE;AAC3E;AACA;AACA;AACA,qCAAqC,SAAS;AAC9C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,EAAE;AACjB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA,UAAU,oCAAoC;AAC9C,UAAU,qCAAqC;AAC/C,UAAU;AACV;AACA;AACA,4CAA4C,kBAAkB,EAAE;AAChE;AACA;AACA;AACA,gCAAgC,qCAAqC;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA,UAAU,qCAAqC;AAC/C,UAAU,qCAAqC;AAC/C,UAAU;AACV;AACA;AACA,uCAAuC,kBAAkB,EAAE;AAC3D;AACA;AACA;AACA,2BAA2B,oCAAoC;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,SAAS,KAAK,SAAS,GAAG,SAAS;AACtD,eAAe,SAAS,GAAG,SAAS;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA,uBAAuB,iBAAiB,GAAG,iBAAiB;AAC5D,sBAAsB,iBAAiB,GAAG,iBAAiB;AAC3D;AACA;AACA,eAAe,iBAAiB,GAAG,iBAAiB,GAAG,iBAAiB;AACxE;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,SAAS,GAAG,SAAS,GAAG,SAAS;AACnD,eAAe,SAAS,GAAG,SAAS;AACpC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA,uBAAuB,iBAAiB,GAAG,iBAAiB,GAAG,iBAAiB;AAChF;AACA;AACA,eAAe,iBAAiB,GAAG,iBAAiB;AACpD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB;AACA,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,KAAK;AACpB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,SAAS,KAAK,SAAS,GAAG,SAAS;AACpD,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA,uBAAuB,iBAAiB,GAAG,iBAAiB;AAC5D,sBAAsB,iBAAiB,GAAG,iBAAiB;AAC3D;AACA;AACA,eAAe,iBAAiB,GAAG,iBAAiB;AACpD;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,MAAM;AACrB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,MAAM;AACrB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA,cAAc,OAAO,QAAQ,SAAS,GAAG,SAAS,GAAG;AACrD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB;AACA,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA,UAAU,+BAA+B;AACzC,UAAU,+BAA+B;AACzC,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,SAAS;AACxB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,SAAS;AACxB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,qBAAqB;AACpC,iBAAiB,OAAO;AACxB;AACA;AACA,qBAAqB,QAAQ,OAAO,SAAS,EAAE;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,8BAA8B;;AAExE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA,UAAU,8BAA8B;AACxC,UAAU;AACV;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,cAAc;AACd;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,SAAS;AACxB,gBAAgB,OAAO;AACvB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,+CAA+C;AACzD,UAAU;AACV;AACA;AACA;AACA,uBAAuB,oCAAoC;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA,UAAU,8CAA8C;AACxD,UAAU;AACV;AACA;AACA,oCAAoC,kBAAkB,EAAE;AACxD;AACA;AACA;AACA,wBAAwB,4BAA4B;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA,UAAU,+CAA+C;AACzD,UAAU,gDAAgD;AAC1D,UAAU;AACV;AACA;AACA,kCAAkC,mBAAmB,EAAE;AACvD;AACA;AACA;AACA,sBAAsB,2BAA2B;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,SAAS;AACxB,iBAAiB,aAAa;AAC9B;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,kBAAkB,iBAAiB;AACnC;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,SAAS;AACxB,iBAAiB,aAAa;AAC9B;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,oBAAoB;AACnC,eAAe,EAAE;AACjB,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,sBAAsB;AACrC;AACA,eAAe,KAAK;AACpB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA,UAAU,4BAA4B;AACtC,UAAU;AACV;AACA;AACA;AACA;AACA,QAAQ;AACR,cAAc,OAAO,4BAA4B,QAAQ,8BAA8B;AACvF;AACA;AACA,cAAc,UAAU,4BAA4B,YAAY,8BAA8B;AAC9F;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,iBAAiB;AAC/B;AACA;AACA;AACA,UAAU,mBAAmB;AAC7B,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,qCAAqC;AACpD;AACA,eAAe,SAAS;AACxB,gBAAgB,OAAO;AACvB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA,UAAU,8BAA8B;AACxC,UAAU,8BAA8B;AACxC,UAAU,8BAA8B;AACxC,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA,UAAU,gDAAgD;AAC1D,UAAU,+CAA+C;AACzD,UAAU;AACV;AACA;AACA,uCAAuC,iBAAiB,EAAE;AAC1D;AACA;AACA;AACA,2BAA2B,4BAA4B;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,cAAc,iBAAiB,EAAE;;AAEtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,SAAS;AACxB,eAAe,EAAE;AACjB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,iBAAiB,yBAAyB;AAC1C;AACA;AACA,QAAQ,IAAI;AACZ,cAAc,8BAA8B;AAC5C;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,SAAS;AACxB,eAAe,EAAE;AACjB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA,UAAU,+CAA+C;AACzD,UAAU;AACV;AACA;AACA,oCAAoC,kBAAkB,EAAE;AACxD;AACA;AACA;AACA,wBAAwB,4BAA4B;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,oBAAoB;AACnC,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA,eAAe,iBAAiB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,SAAS;AACxB,gBAAgB,OAAO;AACvB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,mCAAmC;AAC7C,UAAU;AACV;AACA;AACA;AACA,sBAAsB,oCAAoC;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,yBAAyB;AACxC;AACA,iBAAiB,MAAM;AACvB;AACA;AACA;AACA,UAAU,8BAA8B;AACxC,UAAU,8BAA8B;AACxC,UAAU,8BAA8B;AACxC,UAAU;AACV;AACA;AACA,qCAAqC,eAAe,EAAE;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,oBAAoB,iCAAiC;AACrD,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,EAAE;AACjB,eAAe,KAAK;AACpB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,KAAK;AACpB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,eAAe,OAAO,YAAY;AAClC,eAAe,QAAQ;AACvB;AACA,eAAe,OAAO;AACtB;AACA,eAAe,QAAQ;AACvB;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,kDAAkD,kBAAkB;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,KAAK;AACpB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,eAAe,KAAK;AACpB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,iBAAiB,SAAS;AAC1B;AACA;AACA,qBAAqB;AACrB,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,yBAAyB;AACxC;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,KAAK;AACpB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,KAAK;AACpB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,qBAAqB;AACpC,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,eAAe,OAAO,YAAY;AAClC,eAAe,QAAQ;AACvB;AACA,eAAe,QAAQ;AACvB;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD,oBAAoB;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,SAAS;AACxB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA,oBAAoB,SAAS;AAC7B,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA,uBAAuB,SAAS,GAAG,SAAS;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,SAAS;AACxB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA,uBAAuB,SAAS,GAAG,SAAS;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,SAAS;AACxB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,QAAQ;AACzB;AACA;AACA,qBAAqB;AACrB;AACA,6BAA6B,mBAAmB,cAAc,EAAE,EAAE;AAClE;AACA;AACA,6BAA6B,mBAAmB,cAAc,EAAE,EAAE;AAClE;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA,qBAAqB;AACrB,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA,iCAAiC,kBAAkB,EAAE;AACrD;AACA;AACA;AACA;AACA;AACA,kDAAkD,kBAAkB,EAAE;AACtE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,SAAS;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA,qBAAqB;AACrB,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,SAAS;AACxB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,QAAQ;AACzB;AACA;AACA,qBAAqB;AACrB;AACA,0BAA0B,SAAS;AACnC;AACA;AACA,0BAA0B,SAAS;AACnC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,iBAAiB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,MAAM;AACvB;AACA;AACA,kBAAkB,iBAAiB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B,cAAc;AACd;AACA,iBAAiB,SAAS;AAC1B,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,UAAU;AACzB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,UAAU;AACzB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,SAAS;AAC5B,cAAc;AACd;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,UAAU;AACzB,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,SAAS,GAAG,SAAS,GAAG,SAAS;AAClD,cAAc;AACd;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,UAAU;AACzB,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,SAAS,GAAG,SAAS,GAAG,SAAS;AAClD,cAAc;AACd;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,qBAAqB;AACpC,iBAAiB,MAAM;AACvB;AACA;AACA,qBAAqB,QAAQ,OAAO,SAAS,EAAE;AAC/C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,UAAU;AACzB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA,mBAAmB,SAAS,GAAG,SAAS,GAAG,SAAS;AACpD,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,UAAU;AACzB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA,uBAAuB,OAAO,SAAS,EAAE,GAAG,OAAO,iBAAiB,EAAE;AACtE,cAAc,OAAO,iBAAiB;AACtC;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;AACA,qBAAqB,4BAA4B;AACjD,qBAAqB,6BAA6B;AAClD,qBAAqB;AACrB;AACA;AACA,qCAAqC,mBAAmB,EAAE;AAC1D;AACA;AACA;AACA,yBAAyB,2BAA2B;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;AACA,qBAAqB,4BAA4B;AACjD,qBAAqB,6BAA6B;AAClD,qBAAqB;AACrB;AACA;AACA,yCAAyC,mBAAmB,EAAE;AAC9D;AACA;AACA;AACA,6BAA6B,4BAA4B;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,aAAa;AAC5B,eAAe,EAAE;AACjB,iBAAiB,EAAE;AACnB;AACA;AACA,qBAAqB,QAAQ,OAAO,SAAS,EAAE;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,aAAa;AAC5B,iBAAiB,QAAQ;AACzB;AACA;AACA,qBAAqB,OAAO,SAAS;AACrC,6BAA6B,gBAAgB,SAAS,GAAG;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,aAAa;AAC5B,iBAAiB,QAAQ;AACzB;AACA;AACA,8BAA8B,gBAAgB,SAAS,GAAG;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA,qBAAqB;AACrB;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA,qBAAqB;AACrB;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,QAAQ;AACR,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,aAAa;AAC5B,eAAe,KAAK;AACpB,iBAAiB,EAAE;AACnB;AACA;AACA,qBAAqB,QAAQ,OAAO,oBAAoB,EAAE;AAC1D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA,kBAAkB,iBAAiB;AACnC;AACA,QAAQ;AACR,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA,qBAAqB,+BAA+B;AACpD,qBAAqB;AACrB;AACA;AACA,uCAAuC,cAAc,EAAE;AACvD,cAAc,2BAA2B;AACzC;AACA;AACA;AACA,cAAc,2BAA2B;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,UAAU;AACzB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA,gBAAgB,SAAS,GAAG,SAAS;AACrC;AACA;AACA;AACA,gBAAgB,SAAS,GAAG,SAAS;AACrC;AACA;AACA;AACA,cAAc,QAAQ,iBAAiB,GAAG,iBAAiB;AAC3D;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,UAAU;AACzB,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,oBAAoB;AACpB;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,KAAK;;AAEL;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,qBAAqB;AACpC,iBAAiB,OAAO;AACxB;AACA;AACA,qBAAqB;AACrB;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA,qBAAqB;AACrB;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,qBAAqB;AACpC,iBAAiB,OAAO;AACxB;AACA;AACA,qBAAqB;AACrB;AACA;AACA,cAAc;AACd;AACA;AACA,gCAAgC;AAChC,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA,qBAAqB;AACrB;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,aAAa;AAC5B,eAAe,EAAE;AACjB,iBAAiB,EAAE;AACnB;AACA;AACA,qBAAqB,QAAQ,OAAO,+BAA+B,EAAE;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,aAAa;AAC5B,eAAe,EAAE;AACjB,iBAAiB,OAAO;AACxB;AACA;AACA,qBAAqB,QAAQ,OAAO,SAAS,EAAE;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,aAAa;AAC5B,eAAe,EAAE;AACjB,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA,cAAc,OAAO,WAAW;AAChC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,eAAe,EAAE;AACjB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,oBAAoB,yBAAyB;AAC7C;AACA,QAAQ,IAAI;AACZ,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,aAAa;AAC5B,iBAAiB,QAAQ;AACzB;AACA;AACA,qBAAqB,QAAQ,OAAO,SAAS,EAAE;AAC/C;AACA;AACA;AACA;AACA,cAAc,QAAQ,QAAQ,EAAE;AAChC;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ,QAAQ,EAAE;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,aAAa;AAC5B,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA,qBAAqB,QAAQ,OAAO,SAAS,EAAE;AAC/C;AACA,iDAAiD,cAAc,EAAE;AACjE;AACA;AACA;AACA,iDAAiD,sBAAsB,EAAE;AACzE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,aAAa;AAC5B,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA,cAAc,OAAO,WAAW;AAChC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,QAAQ;AACvB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,kCAAkC,KAAK;AACvC;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,cAAc;AAC7B,eAAe,gBAAgB;AAC/B,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,cAAc;AAC7B,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO,YAAY;AAClC,eAAe,OAAO;AACtB;AACA,eAAe,OAAO;AACtB;AACA,eAAe,OAAO;AACtB;AACA,eAAe,OAAO;AACtB;AACA,eAAe,OAAO;AACtB;AACA,eAAe,OAAO;AACtB;AACA,gBAAgB,OAAO;AACvB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;AACA,iBAAiB,sBAAsB;AACvC,qBAAqB,UAAU;AAC/B;AACA;AACA,sEAAsE,2BAA2B,EAAE;AACnG,iBAAiB,8BAA8B;AAC/C;AACA;AACA;AACA,4DAA4D;AAC5D,iBAAiB,mBAAmB;AACpC;AACA;AACA;AACA;AACA,0CAA0C,OAAO;AACjD,iBAAiB,oBAAoB;AACrC;AACA;AACA;AACA;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA,qDAAqD,2BAA2B,EAAE;AAClF,wCAAwC,aAAa,eAAe,EAAE;AACtE,iBAAiB,8BAA8B;AAC/C;AACA;AACA;AACA,wDAAwD,qCAAqC;AAC7F;AACA;AACA;AACA;AACA,0DAA0D,qBAAqB;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,YAAY;AACvD,0CAA0C,QAAQ;AAClD,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,+BAA+B;;AAE/B,mCAAmC;AACnC;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,wBAAwB;AAC/C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;;AAEP,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,mBAAmB;AACjD;AACA;AACA;AACA;AACA,4CAA4C;;AAE5C;AACA,uDAAuD;AACvD;AACA;AACA,6BAA6B,EAAE;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C,+BAA+B,iCAAiC;AAChE,cAAc;AACd;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO,YAAY;AAClC,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,cAAc;AAC7B,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iCAAiC;AACjC,aAAa,QAAQ,QAAQ,UAAU,aAAa;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,cAAc;AAC7B,gBAAgB,OAAO;AACvB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,KAAK;AACpB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,qBAAqB;AACpC,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA,qBAAqB,SAAS;AAC9B,sBAAsB,kBAAkB;AACxC;AACA;AACA;AACA,aAAa,iBAAiB;AAC9B;AACA;AACA,aAAa,iBAAiB;AAC9B;AACA;AACA,aAAa,qBAAqB;AAClC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA,UAAU,iBAAiB;AAC3B,UAAU;AACV;AACA;AACA,qCAAqC,mBAAmB,cAAc,EAAE,EAAE;AAC1E,eAAe,iBAAiB;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,SAAS;AAC1B;AACA;AACA,4CAA4C,SAAS;AACrD;AACA;AACA,eAAe,SAAS,GAAG,SAAS;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,yBAAyB;AACxC,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,yBAAyB;AACxC,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,EAAE;AACnB;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA,UAAU,8CAA8C;AACxD,UAAU;AACV;AACA;AACA;AACA,mCAAmC,mCAAmC;AACtE,eAAe,8CAA8C;AAC7D;AACA;AACA;AACA,eAAe,4BAA4B;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA,UAAU,yBAAyB;AACnC,UAAU;AACV;AACA;AACA,oCAAoC,iBAAiB;AACrD,eAAe,yBAAyB;AACxC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,EAAE;AACjB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA,UAAU,yBAAyB;AACnC,UAAU;AACV;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,KAAK;AACpB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA,UAAU,OAAO,qBAAqB,EAAE;AACxC,UAAU,OAAO,qBAAqB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,KAAK;AACpB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,gBAAgB;AAC/B,eAAe,OAAO;AACtB,eAAe,OAAO,YAAY;AAClC,eAAe,QAAQ;AACvB,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,gBAAgB,mBAAmB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,mBAAmB,GAAG,iBAAiB;AACvD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4BAA4B,qDAAqD;AACjF;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,yBAAyB;AACxC;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,yBAAyB;AACxC;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,yBAAyB;AACxC;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA,UAAU,OAAO,SAAS,EAAE;AAC5B,UAAU,OAAO,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA,gBAAgB,IAAI;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB,iBAAiB,EAAE;AACnB;AACA;AACA,uBAAuB,SAAS,GAAG,SAAS;AAC5C;AACA,qCAAqC,YAAY,EAAE;AACnD,cAAc;AACd;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA,uBAAuB,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS;AACpE;AACA,sCAAsC,YAAY,EAAE;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB,iBAAiB,EAAE;AACnB;AACA;AACA,uBAAuB,SAAS,GAAG,SAAS;AAC5C;AACA,qCAAqC,YAAY,EAAE;AACnD,cAAc;AACd;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA,uBAAuB,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS;AACpE;AACA,qCAAqC,YAAY,EAAE;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK,MAAM,iBAAiB;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mCAAmC,4DAA4D;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,yCAAyC;AACtE;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;;AAEA;AACA,MAAM,IAA0E;AAChF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI,mCAAO;AACX;AACA,KAAK;AAAA,oGAAC;AACN;AACA;AACA,OAAO,EASJ;AACH,CAAC;;;;;;;;;;;;;ACvthBD,eAAe,mBAAO,CAAC,uDAAa;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA,iBAAiB;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;;;;;;ACxEA,mBAAmB,mBAAO,CAAC,+DAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;AC3BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyC;AACyB;AAC/B;AACb;AACa;;AAEnC;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,gDAAgD,0CAAG;;AAEnD;AACA;AACA;AACA,IAAI,2EAAc;;AAElB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,sBAAsB;AACtB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;;AAEA,cAAc,IAAqC;AACnD,YAAY,4DAAO;AACnB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG,CAAC,+CAAS;;AAEb,0DAA0D,uCAAuC,iDAAS;;AAE1G;AACA;AACA;AACA,IAAI,2EAAc;;AAElB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG,CAAC,+CAAS;;AAEb,qDAAqD,uCAAuC,iDAAS;AACrG;AACA;AACA;AACA;AACA;;AAEA,YAAY,4CAAK;;AAEF,oEAAK,EAAC;;;;;;;;;;;;AC9KrB,kBAAkB;;;;;;;;;;;;ACAlB;;AAEA,WAAW,mBAAO,CAAC,6CAAM;AACzB,gBAAgB,mBAAO,CAAC,yEAAmB;AAC3C,WAAW,mBAAO,CAAC,yCAAM;;AAEzB;AACA;AACA;AACA;;AAEA,mDAAmD;AACnD,mDAAmD;;AAEnD;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,uBAAuB,wBAAwB;AAC/C;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;;;;;;;;;;;;AC9UA;AACA;AACA;AACA;AACA;;AAEa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH,kCAAkC;AAClC;AACA;AACA;;AAEA;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,gBAAgB,sBAAsB;AACtC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,kBAAkB,oBAAoB;AACtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;ACzFA,cAAc,mBAAO,CAAC,gDAAS;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB,YAAY,QAAQ;AACpB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB,YAAY,QAAQ;AACpB,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ,YAAY;AACZ;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,YAAY;AACZ,YAAY;AACZ;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,mBAAmB;AACpC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,mBAAmB;AACtC;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA,uBAAuB,kBAAkB;AACzC;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB,YAAY;AACZ;AACA;AACA,mCAAmC;AACnC;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB,YAAY,MAAM;AAClB,YAAY;AACZ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB,YAAY,OAAO;AACnB,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA,mBAAmB,mBAAmB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB,YAAY,MAAM;AAClB,YAAY,QAAQ;AACpB,YAAY;AACZ;AACA;AACA;;AAEA,iBAAiB,iBAAiB;AAClC;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB,YAAY,OAAO;AACnB,YAAY,QAAQ;AACpB,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB,YAAY,gBAAgB;AAC5B,YAAY,QAAQ;AACpB,YAAY;AACZ;AACA;AACA;AACA,yBAAyB,QAAQ;AACjC;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB,mBAAmB;AACpC;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc,6DAA6D;AAC3E;AACA,YAAY,sBAAsB;AAClC,YAAY,gBAAgB;AAC5B,YAAY,QAAQ;AACpB,YAAY;AACZ;AACA;AACA;AACA,yBAAyB,QAAQ;AACjC;AACA;;AAEA;;AAEA;AACA,2CAA2C,OAAO;AAClD;;AAEA;AACA,oCAAoC,OAAO,uBAAuB,OAAO;AACzE;;AAEA,mCAAmC,OAAO,uBAAuB,OAAO;AACxE;;;;;;;;;;;;ACzaA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qCAAqC;;AAErC;AACA;AACA;;AAEA,2BAA2B;AAC3B;AACA;AACA;AACA,4BAA4B,UAAU;;;;;;;;;;;;;ACvLtC;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;;AAEA,IAAI,IAAqC;AACzC,6BAA6B,mBAAO,CAAC,yFAA4B;AACjE;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,UAAU;AACrB;AACA;AACA;AACA,MAAM,IAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4GAA4G;AAC5G;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,IAAqC;AAC3C;AACA;AACA;;AAEA;;;;;;;;;;;;;ACrGA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,cAAc,mBAAO,CAAC,kDAAU;AAChC,aAAa,mBAAO,CAAC,4DAAe;;AAEpC,2BAA2B,mBAAO,CAAC,yFAA4B;AAC/D,qBAAqB,mBAAO,CAAC,qEAAkB;;AAE/C;AACA;;AAEA,IAAI,IAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,0CAA0C;;AAE1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,6BAA6B;AAC7B,QAAQ;AACR;AACA;AACA;AACA;AACA,+BAA+B,KAAK;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,4BAA4B;AAC5B,OAAO;AACP;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,UAAU,KAAqC;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,IAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB,2BAA2B;AAChD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM,KAAqC,4FAA4F,SAAM;AAC7I;AACA;;AAEA,mBAAmB,gCAAgC;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB,gCAAgC;AACrD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;AC9kBA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAI,IAAqC;AACzC,gBAAgB,mBAAO,CAAC,kDAAU;;AAElC;AACA;AACA;AACA,mBAAmB,mBAAO,CAAC,uFAA2B;AACtD,CAAC,MAAM,EAIN;;;;;;;;;;;;;AClBD;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;;AAEA;;;;;;;;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;;;AAIb,IAAI,IAAqC;AACzC;AACA;;AAEA,YAAY,mBAAO,CAAC,4CAAO;AAC3B,cAAc,mBAAO,CAAC,4DAAe;AACrC,gBAAgB,mBAAO,CAAC,oDAAW;AACnC,qBAAqB,mBAAO,CAAC,8EAA2B;AACxD,cAAc,mBAAO,CAAC,8DAAmB;;AAEzC,oFAAoF;AACpF;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,0FAA0F,aAAa;AACvG;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,8FAA8F,eAAe;AAC7G;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK,EAAE;;AAEP,iDAAiD;AACjD;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;;AAEA,0BAA0B;AAC1B;AACA;;AAEA,qCAAqC;AACrC;;AAEA,mFAAmF;AACnF;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,mEAAmE;AACnE;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,gBAAgB;;AAEhB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,gBAAgB;AAC7B;AACA;AACA;AACA,OAAO;;;AAGP,uEAAuE;;AAEvE;AACA,8DAA8D;AAC9D;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,OAAO;;;AAGP;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,uBAAuB;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,WAAW,KAAK;AAChB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,WAAW,KAAK;AAChB;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,eAAe;AAC1B,WAAW,SAAS;AACpB,WAAW,EAAE;AACb;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,mBAAmB,8BAA8B;AACjD;AACA;AACA,OAAO;;;AAGP;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,+BAA+B;;AAE/B,iBAAiB;;AAEjB,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;;AAEA,mCAAmC,EAAE;;AAErC;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,6CAA6C;;AAE7C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB,0BAA0B;AAC7C;AACA;AACA;AACA;;AAEA,+BAA+B;;AAE/B,qCAAqC;;AAErC,iCAAiC;AACjC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB;AACjB;;AAEA,eAAe;AACf;AACA;AACA;;AAEA,0BAA0B;AAC1B;AACA;;AAEA,gBAAgB;AAChB;AACA;AACA;;AAEA,2BAA2B;AAC3B;;AAEA,gBAAgB;AAChB;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;;AAGA,oBAAoB;;AAEpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAE;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAE;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAE;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAE;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAE;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAE;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAE;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAE;;AAEH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAE;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAE;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAE;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAE;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA,GAAG;;;AAGH;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0EAA0E;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,2CAA2C;AAC3C;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG,EAAE;AACL;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;AACA;;AAEA,iCAAiC;AACjC;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;AACA;AACA,yDAAyD;AACzD;;AAEA;AACA;AACA;;AAEA,iEAAiE;AACjE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA,mBAAmB,kBAAkB;AACrC;;AAEA;AACA;AACA,OAAO;AACP;AACA,8BAA8B;AAC9B;;;AAGA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;;;AAGA,sCAAsC;AACtC;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,qBAAqB;AACrB;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,OAAO;AACP,KAAK;;;AAGL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,mBAAmB,2BAA2B;AAC9C;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,mBAAmB,2BAA2B;AAC9C;AACA;AACA;;AAEA,oBAAoB,qBAAqB;AACzC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA,qBAAqB,sBAAsB;AAC3C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,mBAAmB;AACnB;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;;AAGA,4BAA4B;AAC5B;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,iCAAiC;;AAEjC;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mCAAmC;;AAEnC;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA,qCAAqC;AACrC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,8CAA8C;AAC9C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa;AACb;;;AAGA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA;;AAEA;AACA;AACA;AACA;;AAEA,oEAAoE;;AAEpE;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;;;AAGP;AACA,KAAK;AACL;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;;AAGH;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;;AAGH;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA,YAAY,WAAW;AACvB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,eAAe;AAC3B;;AAEA;AACA;AACA;AACA,sEAAsE;;AAEtE;AACA;AACA,GAAG;AACH;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,4CAA4C;AAC5C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;;;AAGD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,GAAG;AACH;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,EAAE;AACd;AACA;;;AAGA;AACA;;AAEA,iBAAiB,oBAAoB;AACrC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,0CAA0C;AAC1C;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH,iBAAiB,kCAAkC;AACnD;AACA;AACA;AACA;AACA,wDAAwD;;AAExD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;;AAEA;AACA;AACA;;AAEA,iBAAiB,yBAAyB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6CAA6C;AAC7C;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,yBAAyB;AAC1C;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,sCAAsC;;AAEtC,8BAA8B;AAC9B;;AAEA;AACA;AACA,uBAAuB;;AAEvB;AACA,sCAAsC;;AAEtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,6DAA6D;;AAE7D;AACA;AACA,GAAG,EAAE;;AAEL;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,OAAO;AACP;;AAEA;AACA,yEAAyE;AACzE;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,oCAAoC;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,uCAAuC;AACvC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oEAAoE;AACpE;AACA;;AAEA,mBAAmB,iCAAiC;AACpD;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,kBAAkB,4CAA4C;AAC9D;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iJAAiJ;;AAEjJ,kcAAkc;;AAElc;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA,MAAM;AACN;AACA;AACA;AACA,kBAAkB,aAAa;AAC/B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,uBAAuB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,uBAAuB;AACxC;AACA;AACA,CAAC;;;AAGD;AACA;AACA,8FAA8F;;AAE9F;AACA;AACA,mDAAmD;AACnD;AACA;;AAEA;AACA;;AAEA;AACA;AACA,yDAAyD;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;;AAGA,oDAAoD;AACpD;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;;AAGA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;;AAGH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,4CAA4C;AAC5C;;AAEA;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,YAAY,OAAO;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,wBAAwB;AACxB;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,8BAA8B;;AAE9B,4CAA4C;AAC5C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,OAAO;AAClB;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAU,iCAAiC;AAC3C;AACA;AACA;AACA,IAAI;AACJ;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA,mBAAmB,sBAAsB;AACzC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,gCAAgC,KAAK;AAC3C;AACA;AACA,MAAM,gCAAgC,KAAK;AAC3C;AACA,4DAA4D;AAC5D,MAAM,gCAAgC,KAAK;AAC3C;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,4NAA4N;AAC5N;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,4EAA4E,YAAY;AACxF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,2HAA2H,6BAA6B;AACxJ;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,kFAAkF;AAClF;;AAEA;AACA;;AAEA;AACA;AACA,OAAO,0CAA0C;;;AAGjD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,+FAA+F;AAC/F;;AAEA;AACA;AACA;AACA,OAAO,0CAA0C;;;AAGjD;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,6EAA6E;;AAE7E;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,sJAAsJ,iBAAiB;AACvK,OAAO;AACP,sJAAsJ,iBAAiB,wDAAwD,mBAAmB,gBAAgB,8BAA8B;AAChS;;AAEA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA,KAAK;;;AAGL;AACA,oGAAoG,GAAG;;AAEvG;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,wEAAwE;AACxE;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA,iIAAiI,mBAAmB,gBAAgB,8BAA8B;AAClM,KAAK;AACL;AACA;AACA,IAAI;AACJ;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;;AAGP;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK,qGAAqG,kCAAkC;AAC5I;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,0BAA0B;AAC3C;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA,2BAA2B;AAC3B;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,4DAA4D;AAC5D;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,+CAA+C;AAC/C;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,qDAAqD;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;;AAGH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,4BAA4B;AACjD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gDAAgD;AAChD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gDAAgD;AAChD;;AAEA;AACA;;AAEA;AACA;AACA;AACA,gDAAgD;AAChD;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK,2EAA2E,qGAAqG,kCAAkC;AACvN;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;;;AAGT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK,qGAAqG;AAC1G;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,kEAAkE;;AAElE,8FAA8F;AAC9F;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,4BAA4B;AACjD;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,gDAAgD;AAChD;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,gDAAgD;AAChD;;AAEA;AACA;;AAEA;AACA;AACA,gDAAgD;AAChD;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,oBAAoB,wBAAwB;AAC5C;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA,qCAAqC;AACrC;AACA,+EAA+E;AAC/E;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;;AAE9C;AACA,aAAa;;;AAGb;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC,YAAY;AACZ;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC,YAAY;AACZ;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC,WAAW,OAAO;AAClB,YAAY;AACZ;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,WAAW,WAAW;AACtB,YAAY;AACZ;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,OAAO;;;AAGP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC,WAAW,OAAO;AAClB;;AAEA;AACA;AACA,6CAA6C;AAC7C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,8EAA8E;AAC9E;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA,0vBAA0vB;;AAE1vB;AACA;AACA;AACA,oCAAoC;;AAEpC,uDAAuD;;AAEvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iCAAiC;;AAEjC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ,cAAc;AACtB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD;AACtD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA,GAAG;;;AAGH;AACA,CAAC;AACD;AACA;;AAEA;AACA,4CAA4C;AAC5C;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,+CAA+C;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,+CAA+C;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW;AACX;AACA;AACA;;;AAGA,yEAAyE;AACzE;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA,yBAAyB,OAAO;AAChC;AACA;;AAEA;;AAEA,yBAAyB,OAAO;AAChC;AACA,GAAG;;;AAGH;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA,GAAG;;;AAGH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,uBAAuB,SAAS;AAChC;AACA;;AAEA,aAAa,iBAAiB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,iBAAiB,qBAAqB;AACtC;AACA;;AAEA,8BAA8B,UAAU;AACxC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,UAAU;AACtB;;;AAGA;AACA,eAAe;AACf,eAAe;;AAEf;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,eAAe;AAC1B;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA;;AAEA;;AAEA,eAAe,eAAe;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,2CAA2C;AAC3C;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,WAAW,OAAO;AAClB,WAAW,eAAe;AAC1B;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,4BAA4B;AAC5B;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,cAAc,QAAQ;AACtB;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uHAAuH;AACvH,yHAAyH;AACzH;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,YAAY,OAAO;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED,mCAAmC;;AAEnC;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;AAGA,+EAA+E;AAC/E;AACA;;AAEA;AACA;AACA,uDAAuD;;AAEvD;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY;AACZ;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY;AACZ;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;;;AAGA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;;;AAGA;AACA;AACA,CAAC;;;AAGD;AACA;AACA,YAAY,QAAQ;AACpB;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,mCAAmC;AACnC;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;;;AAGA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,0GAA0G;AAC1G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,CAAC;;;AAGD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;;;AAGH,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY;AACZ;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;;AAGH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,gFAAgF;AAChF;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA,oCAAoC;;AAEpC;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;;AAGH;AACA,iDAAiD;AACjD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,sPAAsP;AACtP;;AAEA,wBAAwB;AACxB;AACA;AACA;;AAEA;AACA,6BAA6B;AAC7B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG,eAAe;AAClB;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qCAAqC;AACrC;;AAEA,6CAA6C;;AAE7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,yHAAyH;;AAEzH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,CAAC;;;AAGD,0DAA0D;;AAE1D,oDAAoD;AACpD;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;;AAGA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mDAAmD;AACnD;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB,mBAAmB;AACxC;AACA;;AAEA;AACA;AACA,4CAA4C;AAC5C;AACA;;AAEA,0HAA0H;AAC1H;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yEAAyE;AACzE;;AAEA;AACA,8CAA8C;;AAE9C;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mEAAmE;AACnE;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,0BAA0B;AAC1B;AACA;;AAEA;AACA;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;;AAE3B;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,kBAAkB;AAChC;;AAEA;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;;;AAGP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA,mBAAmB;AACnB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc;AACd;;AAEA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA,sCAAsC;;AAEtC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;;AAEA;AACA,8DAA8D;AAC9D,qDAAqD;AACrD,2DAA2D;AAC3D,2CAA2C;AAC3C;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,qDAAqD;;AAErD;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,8CAA8C;;AAE9C;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;;;AAGL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gCAAgC;;AAEhC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,0BAA0B;;AAE1B;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,2BAA2B;;AAE3B;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,uEAAuE;;AAEvE;AACA;AACA,WAAW;AACX;;;AAGA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;;;AAGT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;;;AAGP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mDAAmD,yDAAyD;AAC5G,6BAA6B;;AAE7B;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;;;AAGP;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;;AAGH,yCAAyC;;AAEzC;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,SAAS;;;AAGT;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;;;AAGT,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;;AAGH,kCAAkC;;AAElC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gCAAgC;;AAEhC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA,+BAA+B;;AAE/B;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;;;AAGX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;;;AAGA,oFAAoF;;AAEpF;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA,uCAAuC;AACvC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB,oBAAoB;AACvC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,4BAA4B;AAC5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;;;AAGH,kGAAkG;AAClG,+CAA+C;AAC/C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sCAAsC;;AAEtC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6IAA6I;;AAE7I;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT,kEAAkE,4CAA4C;AAC9G;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA,+BAA+B;AAC/B;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;;AAGD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;;AAGA;AACA,qDAAqD;AACrD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA,kIAAkI;AAClI;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA;AACA;AACA,CAAC;;;AAGD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA,kIAAkI;AAClI;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,oCAAoC;;AAEpC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,8JAA8J,yCAAyC;AACvM;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB,wBAAwB;AAC7C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAU,kDAAkD;AAC5D;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,6BAA6B;AACzC;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;;;AAGL,uEAAuE;;AAEvE,UAAU,6BAA6B;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO;;;AAGP;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;;;AAGA;;AAEA;AACA;;AAEA;;AAEA,cAAc,aAAa;AAC3B;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAU,iCAAiC;AAC3C;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,YAAY;AACxB;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;;;AAGL,uEAAuE;;AAEvE,UAAU,YAAY;AACtB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;;;AAGT;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,MAAM;AACnD;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,yDAAyD;AACzD;;AAEA,8CAA8C;AAC9C;AACA;AACA;AACA;;AAEA;AACA,6DAA6D;;AAE7D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6DAA6D;;AAE7D;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,+BAA+B;AAC/B;AACA;AACA;;AAEA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;;AAEA,uCAAuC;AACvC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,2CAA2C;;AAE3C;AACA;AACA,GAAG;;;AAGH;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,kCAAkC;AAClC;;AAEA,qCAAqC;AACrC;AACA;AACA;;AAEA;AACA,8BAA8B;AAC9B,mDAAmD;AACnD;AACA;;AAEA;AACA,yBAAyB;;AAEzB,gCAAgC;AAChC;AACA;;AAEA;AACA,iCAAiC;AACjC;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,uBAAuB,8BAA8B;AACrD;AACA;AACA,+CAA+C;AAC/C;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,4CAA4C;AAC7D;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iCAAiC;;AAEjC;AACA;;AAEA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,6CAA6C;;AAE7C;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,OAAO;;;AAGP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL,GAAG;AACH;;;AAGA;;AAEA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,4BAA4B;;AAE5B,oCAAoC;;AAEpC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;;;AAGT;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;;AAGA,kFAAkF;;AAElF;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,sCAAsC;AACtC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,2CAA2C;AAChD;;;AAGA;AACA;AACA;;AAEA,kCAAkC;AAClC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,yKAAyK,0CAA0C;AACnN;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA,8CAA8C;AAC9C;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;;AAGH;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,qEAAqE;AACrE;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,gBAAgB;AACzB,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,4HAA4H;;AAE5H,oCAAoC;AACpC;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wBAAwB;AACxB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA,yGAAyG;AACzG;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,+BAA+B;;AAE/B;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mCAAmC;;AAEnC;AACA;AACA;AACA,+CAA+C;;AAE/C;AACA;;AAEA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;AAGA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;;AAEtC;AACA,KAAK;;;AAGL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,0CAA0C;;AAE1C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;;AAGH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;;AAGA,gDAAgD;;AAEhD;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA,mCAAmC;;AAEnC;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;;AAEpC;AACA;;AAEA,0CAA0C;AAC1C;;AAEA;AACA,qDAAqD;;AAErD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;;AAEpC;AACA,GAAG;;;AAGH,sCAAsC;AACtC;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;;AAEpC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL,wCAAwC;;AAExC;AACA,sCAAsC;AACtC;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,8CAA8C;;AAE9C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uDAAuD;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uDAAuD;AACvD,KAAK;AACL;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,2DAA2D;AAC3D;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;;;AAGA;;AAEA;AACA;AACA,4DAA4D;AAC5D;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,iIAAiI;AACjI;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,SAAS;;;AAGT;;AAEA;AACA;AACA;AACA,4DAA4D;AAC5D;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mCAAmC;;AAEnC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,yNAAyN,GAAG;;AAE5N;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB,qBAAqB;AAC5C;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,kBAAkB,YAAY;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,2CAA2C;;AAE3C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;;;AAGX;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;;;AAGH;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;;AAGA;AACA,uCAAuC;;AAEvC;AACA;AACA;AACA,kDAAkD;;AAElD;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;;;AAGA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,6CAA6C;;AAE7C;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,+BAA+B;AAC/B;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa;;;AAGb;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe;AACf,mHAAmH;AACnH;;AAEA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;;;AAGA;AACA,aAAa;AACb;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,4DAA4D;;AAE5D;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO,oCAAoC;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,mDAAmD;AACnD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;;AAGA;AACA,8CAA8C;AAC9C;AACA;;AAEA,qHAAqH;;AAErH,+CAA+C;AAC/C;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;;;AAGA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;;;AAGb;AACA;;AAEA,oDAAoD;AACpD;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,sEAAsE;;AAEtE;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,8CAA8C;AAC9C;;AAEA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,+DAA+D;;AAE/D;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,yDAAyD;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;;;AAGA;AACA;AACA;;AAEA,qEAAqE;;AAErE,yEAAyE;AACzE;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;;AAEX,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA,uCAAuC;AACvC;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,oDAAoD;;AAEpD;AACA;AACA;AACA;AACA,oFAAoF;;AAEpF;AACA;AACA,iBAAiB;;;AAGjB;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;;AAEA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,4EAA4E;AAC5E;AACA;AACA;AACA;AACA;AACA,WAAW;;;AAGX;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;;AAEA;;AAEA;AACA;AACA,WAAW;AACX;AACA;;AAEA,+DAA+D;;AAE/D;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,+EAA+E;;AAE/E;AACA;;AAEA;AACA;;AAEA;AACA;AACA,2CAA2C;AAC3C;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,4CAA4C;AAC5C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;;AAGA,8BAA8B;AAC9B;AACA;AACA;;AAEA;AACA,6BAA6B,2CAA2C;;AAExE;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;;AAEA,4GAA4G;AAC5G;AACA;AACA;;AAEA,sCAAsC;AACtC;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;;AAGF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,aAAa;AACb,yNAAyN,qCAAqC,wFAAwF,2BAA2B,qBAAqB,QAAQ,YAAY;AAC1Z,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,+DAA+D;AAC/D;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW;AACX;AACA;AACA,gEAAgE;AAChE;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,CAAC;AACD;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB;AACjB,eAAe;AACf;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,2DAA2D;AAC3D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;;AAGA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA,qDAAqD;;AAErD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,6BAA6B;;AAE7B;AACA;;AAEA,4CAA4C;AAC5C;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG,+BAA+B;AAClC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG,+BAA+B;AAClC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA,mCAAmC;;AAEnC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,oEAAoE;AACpE;;AAEA;AACA;AACA,OAAO;AACP;AACA,OAAO;;AAEP,KAAK;AACL;AACA;AACA;AACA;AACA,wCAAwC;;AAExC;AACA;AACA;AACA;AACA,KAAK;AACL,6DAA6D;;AAE7D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,oDAAoD;AACpD;AACA;;AAEA;AACA,uCAAuC;;AAEvC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iDAAiD;AACjD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA,kDAAkD;;AAElD,6BAA6B;AAC7B;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;;AAE9C;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sCAAsC;;AAEtC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA,qHAAqH;;AAErH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,kDAAkD;AAClD;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;;;AAGA,4CAA4C;;AAE5C;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,OAAO;AACP;;;AAGA;AACA,KAAK,kCAAkC;AACvC;;;AAGA;AACA,GAAG;AACH;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,+DAA+D;;AAE/D;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;;AAEjC,8BAA8B;;AAE9B,0BAA0B;;AAE1B,oCAAoC;;AAEpC,kDAAkD;;AAElD,wCAAwC;AACxC;AACA;AACA;;AAEA;AACA;AACA,mDAAmD;AACnD;;AAEA,yDAAyD;AACzD;AACA;;AAEA,6CAA6C;AAC7C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C;;AAE3C;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;;AAEA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB;AACzB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,wDAAwD;AACxD;AACA;;AAEA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;;;AAGH;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;;AAGA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC;AACD,QAAQ;AACR;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;;AAGA;AACA,mFAAmF;AACnF;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA,CAAC;AACD;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,6CAA6C;;AAE7C;AACA;AACA,GAAG;AACH;;;AAGA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,0BAA0B;AAC1B;;AAEA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mFAAmF;AACnF;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2FAA2F;;AAE3F;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;;AAGA;AACA;AACA;AACA,SAAS;;;AAGT;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,6DAA6D;AAC7D;AACA;;AAEA;AACA;AACA;AACA,WAAW;;;AAGX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;;AAGT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,wBAAwB;AACxB;;AAEA;AACA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;;AAGA;AACA;;AAEA,gCAAgC;AAChC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,EAAE;;AAEP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH,4CAA4C;AAC5C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mCAAmC;;AAEnC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,0DAA0D;AAC1D;AACA;AACA;AACA,mDAAmD;AACnD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;;;AAGL;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,+DAA+D;;AAE/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,4CAA4C;;AAE5C;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA,6EAA6E;;AAE7E;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;;AAGA,iDAAiD;AACjD;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,6CAA6C;;;AAG7C;AACA;AACA,wEAAwE;;AAExE;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;;;AAGL;AACA,GAAG,iCAAiC;;;AAGpC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,sCAAsC;;AAEtC;AACA;AACA;AACA;AACA,0DAA0D;AAC1D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG,4CAA4C;AAC/C;;;AAGA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,kDAAkD;;AAElD,uCAAuC;AACvC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,yCAAyC;AACzC;AACA;AACA;;AAEA,gCAAgC;AAChC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,sBAAsB;AACtB;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA,gCAAgC;AAChC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;;AAEA;AACA;AACA;AACA;AACA;;AAEA,uBAAuB,4BAA4B;AACnD;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA,uDAAuD;AACvD;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,sCAAsC;AACtC;;AAEA,6CAA6C;;AAE7C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,6CAA6C;;AAE7C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA,+CAA+C;;AAE/C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,2BAA2B;AAC3B;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;;;AAGH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA,GAAG;;;AAGH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,mDAAmD;;AAEnD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,qEAAqE;;AAErE;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO,4CAA4C;AACnD;;;AAGA;AACA,6BAA6B;AAC7B;AACA;;AAEA,wCAAwC;;AAExC;;AAEA;AACA;AACA;AACA,OAAO;;;AAGP;;AAEA;AACA,6CAA6C;AAC7C;;AAEA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8GAA8G;;AAE9G;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;;AAGD;AACA;AACA;AACA;AACA;AACA;AACA,kNAAkN,IAAI,6BAA6B,mCAAmC,0FAA0F,cAAc,IAAI,gBAAgB,mCAAmC;AACrb;AACA;AACA;AACA;AACA;AACA;AACA,iMAAiM,oDAAoD,EAAE;AACvP;AACA;AACA;;AAEA;AACA;AACA;AACA,4LAA4L,oDAAoD,EAAE;AAClP;AACA;AACA;;AAEA,gFAAgF;;AAEhF,0CAA0C;AAC1C;AACA,0BAA0B;AAC1B;;AAEA;AACA;AACA;AACA;AACA;;AAEA,6PAA6P;AAC7P;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP,KAAK;AACL,uEAAuE;;AAEvE;AACA;AACA,OAAO;AACP;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG,EAAE;AACL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,eAAe;AACf;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;;AAEA;AACA,4CAA4C;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,gBAAgB,KAAI;AACpB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,yDAAyD;AACzD;AACA,iDAAiD;AACjD;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH,+CAA+C;AAC/C;;AAEA,wCAAwC;;AAExC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;;AAExC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,wCAAwC;;AAExC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,2EAA2E;;AAE3E;AACA;AACA;AACA;AACA;;AAEA;AACA,sEAAsE;AACtE;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;;AAE7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;;AAGA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA,yEAAyE;AACzE;AACA;;AAEA,4DAA4D;AAC5D;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;;AAGD;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,+DAA+D,OAAO;;AAEtE;AACA;AACA;;AAEA;AACA;AACA,IAAI;;;AAGJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;;AAEA,sCAAsC;AACtC;AACA;AACA,IAAI;;;AAGJ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,K;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,mFAAmF;;AAEnF;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,iMAAiM,cAAc;AAC/M;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK,EAAE;AACP;;AAEA;AACA,GAAG;AACH;AACA;;AAEA,+EAA+E;;AAE/E;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,8CAA8C;;AAE9C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;ACn7wBa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,IAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,IAAI,KAAqC,EAAE,EAK1C;AACD,mBAAmB,mBAAO,CAAC,6FAAgC;AAC3D;;;;;;;;;;;;;ACrCa;;AAEb;AACA;AACA,CAAC;;AAED,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB,aAAa,mBAAO,CAAC,4CAAO;;AAE5B;;AAEA,iBAAiB,mBAAO,CAAC,sDAAY;;AAErC;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F,8CAA8C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,oBAAoB,EAAE,eAAe;;AAE1N,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,iDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,0CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mCAAmC,0BAA0B,IAAI;AACjE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,2DAA2D;AAC3D;AACA,OAAO;AACP;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iC;;;;;;;;;;;;AC3IA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAuB,2EAA2E,kCAAkC,mBAAmB,GAAG,EAAE,OAAO,kCAAkC,8HAA8H,GAAG,EAAE,qBAAqB;;AAE7V,0CAA0C,gCAAgC,oCAAoC,oDAAoD,8DAA8D,gEAAgE,EAAE,EAAE,gCAAgC,EAAE,aAAa;;AAEnV,gCAAgC,gBAAgB,sBAAsB,OAAO,uDAAuD,aAAa,+CAA+C,2CAA2C,EAAE,EAAE,EAAE,6CAA6C,2EAA2E,EAAE,OAAO,yCAAyC,kFAAkF,EAAE,EAAE,EAAE,EAAE,eAAe;;AAEpgB,qDAAqD,+BAA+B,8DAA8D,YAAY,oCAAoC,6DAA6D,YAAY,6BAA6B,OAAO,2BAA2B,0CAA0C,wEAAwE,2BAA2B,EAAE,EAAE,eAAe;;AAE1e,0DAA0D,+BAA+B,iBAAiB,sCAAsC,YAAY,YAAY,uBAAuB,OAAO,qBAAqB,0CAA0C,2BAA2B,EAAE,eAAe;;AAEjT,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE;;AAE3T,6DAA6D,sEAAsE,8DAA8D,oBAAoB;;AAErN,iDAAiD,0EAA0E,aAAa,EAAE,qCAAqC;;AAE/K,6BAA6B,gGAAgG,gDAAgD,GAAG,2BAA2B;;AAE3M,uCAAuC,uBAAuB,uFAAuF,EAAE,aAAa;;AAEpK,0CAA0C,+DAA+D,2EAA2E,EAAE,yEAAyE,eAAe,sDAAsD,EAAE,EAAE,uDAAuD;;AAE/X,gCAAgC,4EAA4E,iBAAiB,UAAU,GAAG,8BAA8B;;AAExK,2CAA2C,kBAAkB,kCAAkC,qEAAqE,EAAE,EAAE,OAAO,kBAAkB,EAAE,YAAY;;AAEtK;AACN;AACM;AACzC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA,uEAAuE,aAAa;AACpF;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP,wDAAwD;AACxD;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,kCAAkC;AAClC;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;AACA,aAAa,4CAAK;AAClB;AACA,GAAG;;AAEH;AACA,CAAC,CAAC,+CAAS;;AAEX;AACA,EAAE,mEAAI;AACN,CAAC;;AAED;AACA,cAAc,iDAAS;AACvB,UAAU,iDAAS;AACnB,MAAM,iDAAS;AACf,WAAW,iDAAS;AACpB,gBAAgB,iDAAS,SAAS,iDAAS;AAC3C,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;;AC5HD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qDAAqD,+BAA+B,8DAA8D,YAAY,oCAAoC,6DAA6D,YAAY,6BAA6B,OAAO,2BAA2B,0CAA0C,wEAAwE,2BAA2B,EAAE,EAAE,eAAe;;AAE1e,0DAA0D,+BAA+B,iBAAiB,sCAAsC,YAAY,YAAY,uBAAuB,OAAO,qBAAqB,0CAA0C,2BAA2B,EAAE,eAAe;;AAEjT,0CAA0C,gCAAgC,oCAAoC,oDAAoD,8DAA8D,gEAAgE,EAAE,EAAE,gCAAgC,EAAE,aAAa;;AAEnV,gCAAgC,gBAAgB,sBAAsB,OAAO,uDAAuD,aAAa,+CAA+C,2CAA2C,EAAE,EAAE,EAAE,6CAA6C,2EAA2E,EAAE,OAAO,yCAAyC,kFAAkF,EAAE,EAAE,EAAE,EAAE,eAAe;;AAEpgB,2CAA2C,kBAAkB,kCAAkC,qEAAqE,EAAE,EAAE,OAAO,kBAAkB,EAAE,YAAY;;AAE/M,uBAAuB,2EAA2E,kCAAkC,mBAAmB,GAAG,EAAE,OAAO,kCAAkC,8HAA8H,GAAG,EAAE,qBAAqB;;AAE7V,kCAAkC,iFAAiF;;AAEnH,+BAA+B,wEAAwE;;AAEvG,iCAAiC,+HAA+H;;AAEhK,kCAAkC,0BAA0B,8CAA8C,gBAAgB,OAAO,kBAAkB,EAAE,aAAa,EAAE;;AAEpK;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACoC;AACwB;AAC5B;AACI;AACI;AACF;AACQ;;AAE9C;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,wBAAwB,0DAAW,UAAU,0DAAW;AACxD;AACA,yBAAyB,mEAAI;AAC7B;AACA;;AAEA;AACA,SAAS,6DAAM;AACf;;AAEA;AACA,wFAAwF,aAAa;AACrG;AACA;;AAEA;;AAEA;AACA;AACA,MAAM,mEAAI;AACV;AACA;;AAEA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA,IAAI,mEAAI;AACR;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,6DAA6D,6DAAM;AACnE;;AAEA;;AAEA;AACA;AACA;AACA,QAAQ,mEAAI;AACZ;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP,wEAAwE,eAAe;AACvF;AACA;;AAEA;AACA;;AAEA;AACA,MAAM,kEAAG,2BAA2B;AACpC,MAAM,kEAAG;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB;;AAEO;AACP;AACA,IAAI,mEAAI;AACR;AACA;;AAEA;AACA,IAAI,mEAAI;AACR;AACA;;AAEA;AACA,IAAI,mEAAI;AACR;;AAEA;;AAEA;AACA,IAAI,kEAAG,mCAAmC;AAC1C,IAAI,kEAAG;AACP;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB,YAAY,MAAM;AAClB,WAAW,MAAM;AACjB;;AAEO;AACP;;AAEA;AACA,IAAI,kEAAG,mCAAmC;AAC1C,IAAI,kEAAG;AACP,IAAI,kEAAG;AACP;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB,WAAW,MAAM;AACjB,WAAW,OAAO;AAClB;;AAEO;AACP;AACA,IAAI,mEAAI;AACR;AACA;;AAEA,aAAa,2DAAI;;AAEjB;AACA,IAAI,mEAAI;AACR;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,MAAM,kEAAG,0CAA0C;AACnD;;AAEA;AACA;AACA;;AAEA,MAAM,kEAAG;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB,WAAW,MAAM;AACjB;;AAEO;AACP;AACA,IAAI,mEAAI;AACR;AACA;;AAEA,kBAAkB,yEAAkB,CAAC,2DAAI;;AAEzC;AACA,IAAI,mEAA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e,aAAa;AAC5B,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,eAAe,aAAa;AAC5B;;AAEA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB;AAChB;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB;AAChB;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,MAAM;AACrB,gBAAgB;AAChB;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB;AAChB;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,gBAAgB;AAChB;;AAEA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB;AAChB;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,MAAM;AACrB,gBAAgB;AAChB;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,MAAM;AACrB,gBAAgB;AAChB;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,MAAM;AACrB,gBAAgB;AAChB;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,MAAM;AACrB,eAAe,MAAM;AACrB,gBAAgB;AAChB;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,gBAAgB;AAChB;;AAEA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,gBAAgB;AAChB;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,gBAAgB;AAChB;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,gBAAgB;AAChB;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB;AAChB;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB;AAChB;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB;AAChB;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB;AAChB;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,eAAe;AAC9B,eAAe,OAAO;AACtB,gBAAgB;AAChB;;AAEA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA,eAAe,eAAe;AAC9B,gBAAgB;AAChB;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,eAAe;AAC9B,eAAe,OAAO;AACtB,gBAAgB;AAChB;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,eAAe;AAC9B,eAAe,MAAM;AACrB,gBAAgB;AAChB;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB;AAChB;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB;AAChB;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,eAAe;AAC9B,gBAAgB;AAChB;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,eAAe;AAC9B,gBAAgB;AAChB;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,eAAe;AAC9B,gBAAgB;AAChB;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,eAAe;AAC9B;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,eAAe;AAC9B,gBAAgB;AAChB;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,eAAe;AAC9B;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB;AAChB;;AAEA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA,gBAAgB;AAChB;;AAEA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,uDAAuD,qDAAqD;AAC5G,OAAO;AACP;;AAEA;AACA;AACA;AACA,gBAAgB;AAChB;;AAEA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,yDAAyD;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;AACD;AACA;AACA,uC;;;;;;;;;;;;ACn4Ba;;AAEb;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,qC;;;;;;;;;;;;AChBa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,aAAa,mBAAO,CAAC,4CAAO;;AAE5B;;AAEA,iBAAiB,mBAAO,CAAC,sDAAY;;AAErC;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA,WAAW,OAAO;AAClB,WAAW,qBAAqB;AAChC,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB;AACA;AACA;;AAEA;AACA;AACA,KAAK,oDAAoD;AACzD;AACA;AACA,OAAO,6CAA6C;AACpD;AACA;AACA;AACA;;AAEA;AACA,UAAU;AACV,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iC;;;;;;;;;;;;ACpDa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,aAAa,mBAAO,CAAC,wEAAU;;AAE/B;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,2C;;;;;;;;;;;;AC5Ba;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB;;AAEA,aAAa,mBAAO,CAAC,4CAAO;;AAE5B;;AAEA,iBAAiB,mBAAO,CAAC,sDAAY;;AAErC;;AAEA,yBAAyB,mBAAO,CAAC,0EAAoB;;AAErD;;AAEA,aAAa,mBAAO,CAAC,6EAAS;;AAE9B;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,iDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,0CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB;AAChB,kBAAkB,SAAS;AAC3B,kBAAkB,SAAS;AAC3B,kBAAkB,SAAS;AAC3B,kBAAkB,SAAS;AAC3B,kBAAkB,SAAS;AAC3B,kBAAkB,SAAS;AAC3B,kBAAkB,SAAS;AAC3B,kBAAkB,SAAS;AAC3B,kBAAkB,SAAS;AAC3B,kBAAkB,SAAS;AAC3B,kBAAkB,SAAS;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,qBAAqB;AACpC,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB;;AAEA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB;AAChB;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB;AAChB;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB;AAChB;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB;AAChB;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,eAAe;AAC9B,gBAAgB;AAChB;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,eAAe;AAC9B,gBAAgB;AAChB;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,eAAe;AAC9B,gBAAgB;AAChB;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;;AAEA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,GAAG;;AAEH;AACA,CAAC;AACD;AACA;AACA,kC;;;;;;;;;;;;AC7Ya;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB;;AAEA,aAAa,mBAAO,CAAC,4CAAO;;AAE5B;;AAEA,iBAAiB,mBAAO,CAAC,sDAAY;;AAErC;;AAEA,yBAAyB,mBAAO,CAAC,0EAAoB;;AAErD;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,iDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,0CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB,kBAAkB,SAAS;AAC3B,kBAAkB,SAAS;AAC3B,kBAAkB,QAAQ;AAC1B,kBAAkB,SAAS;AAC3B,kBAAkB,SAAS;AAC3B,kBAAkB,SAAS;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe,OAAO;AACtB,eAAe,qBAAqB;AACpC,eAAe,QAAQ;AACvB,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB;;AAEA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB,OAAO;AACvB;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA,cAAc;AACd;;AAEA;AACA;AACA;AACA,gBAAgB;AAChB;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB;AAChB;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,eAAe;AAC9B,gBAAgB;AAChB;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,eAAe;AAC9B;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,eAAe;AAC9B;;AAEA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;;AAEA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb;AACA;AACA,wDAAwD;AACxD;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;AACD;AACA;AACA,iC;;;;;;;;;;;;ACvSa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,aAAa,mBAAO,CAAC,wEAAU;;AAE/B;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,2C;;;;;;;;;;;;ACjCa;;AAEb;AACA;AACA,CAAC;;AAED,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa,mBAAO,CAAC,wEAAU;;AAE/B;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,WAAW;AACtB,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA,sBAAsB;AACtB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,WAAW;AACtB,YAAY;AACZ;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;AACA,6C;;;;;;;;;;;;ACpKa;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,sC;;;;;;;;;;;;AChBa;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,iC;;;;;;;;;;;;AClBa;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uC;;;;;;;;;;;;ACpBa;;AAEb;AACA;AACA,CAAC;;AAED,kBAAkB,mBAAO,CAAC,iFAAc;;AAExC;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,aAAa,mBAAO,CAAC,uEAAS;;AAE9B;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,kBAAkB,mBAAO,CAAC,mFAAe;;AAEzC;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,iBAAiB,mBAAO,CAAC,iFAAc;;AAEvC;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,gBAAgB,mBAAO,CAAC,+EAAa;;AAErC;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,gBAAgB,mBAAO,CAAC,+EAAa;;AAErC;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,cAAc,mBAAO,CAAC,yEAAU;;AAEhC;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,sCAAsC,uCAAuC,gBAAgB;AAC7F,iC;;;;;;;;;;;;ACtEa;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,sC;;;;;;;;;;;;AChBa;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,qC;;;;;;;;;;;;AChBa;;AAEb;AACA;AACA,CAAC;;AAED,oGAAoG,mBAAmB,EAAE,mBAAmB,8HAA8H;;AAE1Q;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,qC;;;;;;;;;;;;ACnBa;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,kC;;;;;;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;;;AAIb,IAAI,IAAqC;AACzC;AACA;;AAEA,8CAA8C,cAAc;;AAE5D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,sFAAsF,aAAa;AACnG;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,4FAA4F,eAAe;AAC3G;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;AClOa;;AAEb,IAAI,KAAqC,EAAE,EAE1C;AACD,mBAAmB,mBAAO,CAAC,0FAA+B;AAC1D;;;;;;;;;;;;;ACNA;AAAA;AAAA;AAAA;AAA0B;AACnB;AACP;AACA,4CAAK;;AAEL,IAAI,IAAqC;AACzC;AACA;;AAEe,gFAAiB,E;;;;;;;;;;;;ACThC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkD;AACf;AACW;AACG;;AAEjD;AACA;AACA;AACA;AACA,qBAAqB,qDAAO;AAC5B,2BAA2B,2DAAY;AACvC;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,sBAAsB,qDAAO;AAC7B;AACA,GAAG;AACH,EAAE,uDAAS;AACX;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH,2BAA2B,0DAAiB;AAC5C,SAAS,4CAAK;AACd;AACA,GAAG;AACH;;AAEA,IAAI,IAAqC;AACzC;AACA,WAAW,iDAAS;AACpB,iBAAiB,iDAAS;AAC1B,gBAAgB,iDAAS;AACzB,gBAAgB,iDAAS;AACzB,KAAK;AACL,aAAa,iDAAS;AACtB,cAAc,iDAAS;AACvB;AACA;;AAEe,uEAAQ,E;;;;;;;;;;;;ACnDvB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0D;AAC0C;AACjD;AACoB;AACN;AAChB;AAC8B;AACjC;;AAE9C;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,EAAE,kGAAyB;AAC3B;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,oCAAoC;;AAEpC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,wCAAwC;;AAExC;AACA,6BAA6B;;AAE7B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;;AAEvC;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,IAAI;;;AAGJ;AACA,8BAA8B;AAC9B;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,0DAAiB;AAC5D,uBAAuB,uGAA6B;;AAEpD,MAAM,IAAqC;AAC3C;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qQAAqQ,UAAU,8BAA8B,UAAU,0CAA0C,oBAAoB;;AAErX;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ,KAAqC,KAAK,mEAAkB;AACpE;AACA;;AAEA;AACA;;AAEA,iCAAiC,kFAAQ,GAAG;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA,KAAK;AACL;AACA;;;AAGA,iCAAiC,6CAAO;AACxC;AACA;;AAEA;AACA,qBAAqB,qDAAO;AAC5B;AACA;AACA;AACA;AACA,2BAA2B,uGAA6B;;AAExD;AACA,OAAO;AACP;AACA;AACA;;AAEA,yBAAyB,qDAAO;AAChC;AACA;AACA,wDAAwD,kEAAiB,CAAC,4CAAK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mD,E;;;;;;;;;;;;ACnClE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAoG;AAC9C;AAC/C;AACP;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA,gBAAgB,uGAA6B;;AAE7C;AACA;AACA;;AAEA,MAAM,IAAqC;AAC3C,IAAI,mEAAkB;AACtB;;AAEA;AACA;AACA,C;;;;;;;;;;;;ACtFA;AAAA;AAAA;AAAuC;;AAEvC;AACA;AACA;AACA,GAAG;AACH;AACA,MAAM,8DAAO;AACb;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA,C;;;;;;;;;;;;AChBA;AAAA;AAAA;AAAA;AAAA;AAA2D;AACpD;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;;AAEA;AACA;AACA,MAAM;;;AAGN;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,UAAU,IAAqC,EAAE,wEAAiB;AAClE;AACA;;AAEA;AACA;AACA,C;;;;;;;;;;;;AC/DA;AAAA;AAAA;AAAA;AAAA;AAA0D;AACgB;AAC1E;AACA;AACA;AACA,WAAW,cAAc;AACzB,aAAa,SAAS;AACtB;;AAEO;AACP;AACA,cAAc,qEAAiB;AAC/B;;AAEA,6BAA6B,qEAAiB,GAAG,kDAAe,GAAG,iEAAe;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAA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;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;;;;;;;;ACzHD;AAAA;AAAA;AAAA;AACA;AACA;AACA;;AAEA,6BAA6B;;AAEtB;AACP;AACA,EAAE;;AAEK;AACP;AACA,E;;;;;;;;;;;;ACbA;AAAA;AAAA;AACA,WAAW,IAAI;AACf,aAAa,QAAQ;AACrB;AACe;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,C;;;;;;;;;;;;ACfA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;ACAA;AAAA;AAAA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEe;AACf;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;;AAEA;AACA,C;;;;;;;;;;;;AC1BA;AAAA;AAAA;AAAA;AAAmD;AACnD;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;;AAEO,kKAAkK,qDAAe,GAAG,+CAAS,C;;;;;;;;;;;;ACTpM;AAAA;AAAA;AAAA;AAA4C;AACZ;AACjB;AACf,OAAO,8DAAa;AACpB,IAAI,wDAAO;AACX;AACA,C;;;;;;;;;;;;ACNA;AAAA;AAAA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa;AACb;AACe;AACf;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA,C;;;;;;;;;;;;ACvBA;AAAA;AAAe;AACf;AACA,mBAAmB,sBAAsB;AACzC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,C;;;;;;;;;;;;AChBA;AAAA;AAAe;AACf;AACA;AACA;AACA;;AAEA,aAAa,uBAAuB;AACpC;AACA;AACA;AACA;;AAEA;AACA,C;;;;;;;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;;;AAIb,IAAI,IAAqC;AACzC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0EAA0E;AAC1E;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;;AAEhD;AACA;AACA;AACA,iDAAiD;;AAEjD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;ACpLa;;AAEb,IAAI,KAAqC,EAAE,EAE1C;AACD,mBAAmB,mBAAO,CAAC,mHAA+B;AAC1D;;;;;;;;;;;;;ACNA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA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K,0CAA0C,+DAA+D,2EAA2E,EAAE,yEAAyE,eAAe,sDAAsD,EAAE,EAAE,uDAAuD;;AAE/X,gCAAgC,4EAA4E,iBAAiB,UAAU,GAAG,8BAA8B;;AAExK,2CAA2C,kBAAkB,kCAAkC,qEAAqE,EAAE,EAAE,OAAO,kBAAkB,EAAE,YAAY;;AAE/M;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA,uEAAuE,aAAa;AACpF;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,oCAAoC;;AAEpC;AACA;;AAEA;AACA,kFAAkF,eAAe;AACjG;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW;AACX;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,gEAAgE;AAChE;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA,aAAa;AACb;AACA;AACA,CAAC;;AAED;AACA,2B;;;;;;;;;;;;ACxLa;;AAEb,eAAe,mBAAO,CAAC,mEAAY;;AAEnC,0B;;;;;;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;;;AAIb,IAAI,IAAqC;AACzC;AACA;;AAEA,cAAc,mBAAO,CAAC,4DAAe;AACrC,qBAAqB,mBAAO,CAAC,8EAA2B;;AAExD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0EAA0E;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA,KAAK;;;AAGL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,0FAA0F,aAAa;AACvG;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,8FAA8F,eAAe;AAC7G;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK,EAAE;;AAEP,iDAAiD;AACjD;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,8MAA8M;;AAE9M;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,aAAa,WAAW;AACxB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,WAAW;AACxB,aAAa,UAAU;AACvB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,WAAW;AACxB,aAAa,OAAO;AACpB,aAAa,UAAU;AACvB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,WAAW;AACxB,aAAa,OAAO;AACpB,aAAa,UAAU;AACvB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,yBAAyB;;AAEzB,0BAA0B;AAC1B;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B;AACA,WAAW,UAAU;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;;AAEA;AACA,mDAAmD;;AAEnD;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,cAAc;AACzB,WAAW,EAAE;AACb,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK,EAAE;;AAEP;AACA;AACA;AACA;AACA;AACA,KAAK,EAAE;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe;;AAEf;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,oEAAoE;;AAEpE;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;AAGA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA,mBAAmB,oBAAoB;AACvC;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;;AAGH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe;;AAEf,wBAAwB,iBAAiB;;;AAGzC;AACA,wBAAwB;;AAExB,2BAA2B;AAC3B;AACA;;AAEA,+BAA+B;;AAE/B;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,GAAG;AACH;;;AAGA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA,mBAAmB,oBAAoB;AACvC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,WAAW,QAAQ;AACnB,WAAW,UAAU;AACrB,WAAW,GAAG;AACd;AACA,YAAY,QAAQ;AACpB;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB;;AAEvB;;AAEA;AACA,mBAAmB,qBAAqB;AACxC;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,sIAAsI,yCAAyC;AAC/K;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,WAAW,UAAU;AACrB,WAAW,GAAG;AACd,YAAY,QAAQ;AACpB;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,OAAO;AAClB,YAAY;AACZ;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,WAAW,iBAAiB;AAC5B,WAAW,EAAE;AACb;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,WAAW,iBAAiB;AAC5B,WAAW,EAAE;AACb,YAAY,OAAO;AACnB;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,YAAY,OAAO;AACnB;;;AAGA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,aAAa;AACzB;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;;AAEN;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK,EAAE;;AAEP;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA,yCAAyC;;AAEzC;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA,mCAAmC;;AAEnC;AACA;AACA,WAAW;AACX;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;;AAGL;AACA,yCAAyC;AACzC;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,EAAE;AACb;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,0DAA0D;AAC1D;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,EAAE;AACb;;;AAGA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB,iBAAiB;AACpC;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB;;;AAGA;AACA;AACA;AACA;;AAEA,mBAAmB,iBAAiB;AACpC;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,2CAA2C;AAC3C;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA,qDAAqD;AACrD;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;AAGA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA,iBAAiB,sBAAsB;AACvC;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,uCAAuC;AACvC;AACA,0CAA0C;AAC1C;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;ACv3Da;;AAEb,IAAI,KAAqC,EAAE,EAE1C;AACD,mBAAmB,mBAAO,CAAC,iFAA4B;AACvD;;;;;;;;;;;;;ACNA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEe,oEAAK,E;;;;;;;;;;;;ACnBpB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6C;;AAE7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW,IAAI;AACf,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA,WAAW,IAAI;AACf;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,IAAI;AACnB;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB,eAAe,SAAS;AACxB;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA,mBAAmB,sBAAsB;AACzC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB,eAAe;AACf;;;AAGA;AACA;AACA;AACA;;AAEA,iCAAiC;AACjC;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,eAAe,WAAW;AAC1B;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA,mBAAmB,aAAa;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,yDAAY;AACxB;AACA,KAAK;AACL,GAAG;AACH;AACA;;;AAGA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG,QAAQ,yDAAY;AACvB;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,GAAG,aAAa;;AAEhB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,oEAAoE;AACpE;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB;AACA;;;AAGA;AACA;AACA;;AAEA,iBAAiB,wBAAwB;AACzC;;AAEA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,oDAAoD;AACpD;;AAEA;;AAEA,MAAM,IAAqC;AAC3C;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,QAAQ,IAAqC;AAC7C;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,oBAAoB,8BAA8B;AAClD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA,aAAa,gBAAgB;AAC7B;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA,iBAAiB,sBAAsB;AACvC;;AAEA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA,sEAAsE,aAAa;AACnF;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,aAAa,SAAS;AACtB;;AAEA;AACA,4EAA4E,aAAa;AACzF;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,8BAA8B;AAC9B;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,IAAI,KAAqC;AACzC;AACA;;AAEgI;;;;;;;;;;;;;ACtpBhI;AAAA;AACA;AACA;;AAEA;AACA;AACA,iDAAiD,OAAO;AACxD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA,gCAAgC,QAAQ;AACxC;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA,yBAAyB,MAAM;;AAE/B;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEe,8EAAe,EAAC;;;;;;;;;;;;;AC1E/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;;;AAIb,IAAI,IAAqC;AACzC;AACA;;AAEA,0BAA0B;;AAE1B;AACA,wBAAwB;AACxB;AACA;AACA;;AAEA,iCAAiC;;AAEjC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT,gCAAgC;AAChC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;AC5VA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;;;AAIb,IAAI,IAAqC;AACzC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,2DAA2D;;AAE3D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,8BAA8B;;AAE9B;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;AACA,MAAM;;;AAGN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA,+CAA+C;AAC/C;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iCAAiC;;AAEjC;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kGAAkG;;AAElG;AACA;AACA;AACA;;AAEA;AACA,wCAAwC;AACxC;;AAEA;AACA;AACA,CAAC;;;AAGD;AACA,gCAAgC;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,mCAAmC;;AAEnC,oCAAoC;;AAEpC;AACA;AACA,iCAAiC;;AAEjC,sCAAsC;;AAEtC;AACA,oBAAoB;;AAEpB,sBAAsB;AACtB;AACA,0CAA0C;;AAE1C;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;;AAGH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;;AAEA;AACA,GAAG;;;AAGH;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;;;AAGP;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;ACz1Ba;;AAEb,IAAI,KAAqC,EAAE,EAE1C;AACD,mBAAmB,mBAAO,CAAC,6FAAgC;AAC3D;;;;;;;;;;;;;ACNa;;AAEb,IAAI,KAAqC,EAAE,EAE1C;AACD,mBAAmB,mBAAO,CAAC,6GAAwC;AACnE;;;;;;;;;;;;;ACNA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA,mBAAmB,sBAAsB;AACzC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,iBAAiB,sBAAsB;AACvC;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,aAAa,uBAAuB;AACpC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,eAAe,6BAA6B;AAC5C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iDAAiD,gBAAgB;;AAEjE;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY,OAAO;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,YAAY,YAAY;AACxB,YAAY,UAAU;AACtB,YAAY,UAAU;AACtB,YAAY,UAAU;AACtB,YAAY,cAAc;AAC1B,YAAY,OAAO;AACnB;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,2CAA2C;AAC3C;;AAEA;AACA;AACA;AACA,gEAAgE;;AAEhE;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,YAAY;AACxB,YAAY,OAAO;AACnB,YAAY,OAAO;AACnB,YAAY,YAAY;AACxB;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY,YAAY;AACxB,YAAY,OAAO;AACnB,YAAY,OAAO;AACnB,YAAY,YAAY;AACxB;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,YAAY;AACxB,YAAY,SAAS;AACrB,YAAY,YAAY;AACxB;;;AAGA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY,YAAY;AACxB,YAAY,SAAS;AACrB,YAAY;AACZ;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY,YAAY;AACxB,YAAY,MAAM;AAClB;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,YAAY,MAAM;AAClB,YAAY,OAAO;AACnB,YAAY,OAAO;AACnB;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,oCAAa;;AAEvB;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET,uCAAuC,oDAAoD;;;AAG3F;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;;AAGT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,SAAS;AACT;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,+CAA+C;;AAE/C;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;;;AAGA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;;AAEzC;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,+CAA+C;;AAE/C;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAoE;;AAEpE;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,2CAA2C;;AAE3C;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,mFAAmF;AACnF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA,YAAY,OAAO;AACnB,YAAY,OAAO;AACnB,YAAY,YAAY;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;AACD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,YAAY;AACxB,YAAY,OAAO;AACnB;;;AAGA;AACA;AACA,iEAAiE;AACjE;;AAEA,eAAe;;AAEf,sCAAsC,WAAW;;AAEjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,sDAAsD;;AAEtD;AACA;AACA;;AAEA,yBAAyB;;;AAGzB;AACA;AACA;AACA;AACA,GAAG;;;AAGH;;AAEA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,0BAA0B;;AAE1B,iFAAiF;;AAEjF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,+BAA+B;;;AAG/B;AACA;AACA;;AAEA;AACA,aAAa;AACb,KAAK;;;AAGL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;;AAGL;AACA,yDAAyD;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA,SAAS;AACT;AACA,eAAe;AACf;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA,WAAW;AACX;AACA;AACA,OAAO;;AAEP;AACA;AACA,eAAe;AACf;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA,SAAS;AACT;;;AAGA;;AAEA;AACA;AACA,SAAS;;;AAGT,4CAA4C;;;AAG5C;AACA;AACA;AACA;AACA,SAAS,EAAE;;;AAGX;AACA,QAAQ;;;AAGR;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,sDAAsD;;AAEtD;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO,EAAE;;AAET;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA,iCAAiC;;AAEjC;AACA;AACA;AACA,sCAAsC;;AAEtC;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;;AAEA,0BAA0B;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gMAAgM;;AAEhM;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;;AAEjC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;;AAErC;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,8DAA8D;;AAE9D;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,kCAAkC;;AAElC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP,KAAK;;;AAGL;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA,SAAS;;;AAGT;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,OAAO;;;AAGP;AACA;AACA,OAAO;;;AAGP;AACA,gEAAgE;;;AAGhE;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B;;AAE1B;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;;AAGT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX,SAAS;;;AAGT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,WAAW;AACX;AACA,WAAW;;;AAGX;AACA;AACA;;AAEA,uCAAuC;AACvC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,+BAA+B;;AAE/B;AACA;AACA;AACA;AACA,KAAK;AACL,2CAA2C;;AAE3C;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,uCAAuC;;;AAGvC;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,yCAAyC;AACzC;;AAEA;AACA;AACA;;AAEA,6DAA6D;;AAE7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,EAAE;;;AAGf;AACA;AACA;AACA;AACA;AACA,aAAa,EAAE;;;AAGf;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;;AAEf;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;;;AAGb;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAU,OAAO;AACjB;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA,cAAc,SAAS;AACvB;AACA;AACA,kBAAkB;AAClB;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,eAAe,YAAY;AAC3B,eAAe,OAAO;AACtB,eAAe;AACf;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,eAAe,OAAO;AACtB,eAAe,EAAE;AACjB,eAAe;AACf;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,yCAAyC;;AAEzC;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY,YAAY;AACxB,YAAY,OAAO;AACnB;;;AAGA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,aAAa,YAAY;AACzB,aAAa;AACb;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;;AAGD;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;;AAGD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,YAAY;AACxB,YAAY,mBAAmB;AAC/B;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY,mCAAmC;AAC/C;;;AAGA;AACA,wEAAwE,aAAa;AACrF;AACA;;AAEA;AACA;AACA;AACA,qFAAqF;AACrF;;AAEA,uDAAuD;AACvD;AACA,GAAG;AACH;AACA;AACA;AACA,WAAW,YAAY;AACvB,WAAW,OAAO;AAClB;;;AAGA;AACA;AACA,EAAE;;;AAGF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;;AAEN;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;;AAEA;AACA,sDAAsD;;AAEtD;;AAEA;AACA,0EAA0E;;AAE1E;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,WAAW;AACX;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA,qBAAqB,gBAAgB;AACrC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,qDAAqD;;AAErD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;;AAEA;AACA,GAAG;;AAEH,iCAAiC;AACjC,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA,qBAAqB,8BAA8B;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,OAAO,EAAE;;AAET;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX,SAAS;;;AAGT;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,+BAA+B;;AAE/B;AACA;AACA;AACA;AACA;AACA,wDAAwD;AACxD;;AAEA;AACA,WAAW;AACX;AACA,SAAS;;;AAGT;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,gDAAgD;;;AAGhD;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,eAAe;AACf;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;;AAEvC;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;;AAEb;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;;AAEA,oBAAoB,OAAO;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,OAAO;;;AAGP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mDAAmD;;AAEnD;AACA;AACA;AACA,mBAAmB;AACnB;AACA,eAAe;AACf,aAAa;AACb;;;AAGA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;;AAEA;AACA,aAAa,EAAE;AACf;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;;AAEf;AACA;AACA;AACA;AACA,WAAW;;;AAGX;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA,OAAO;;;AAGP;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,oEAAoE;;AAEpE,sDAAsD;;AAEtD,8FAA8F;;AAE9F;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,YAAY;AAC9B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,OAAO;;AAEP;AACA;AACA,kBAAkB,YAAY;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,EAAE;;AAEX;;AAEA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,YAAY,UAAU;AACtB,YAAY,YAAY;AACxB;;;AAGA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEe,uEAAQ,EAAC;AAC8C;;;;;;;;;;;;;;AClnHtE;AAAA;AAAA;AACqC;;AAErC;;A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,4CAA4C,sCAAsC,UAAU,oBAAoB,EAAE,EAAE,UAAU;AAC9H;;AAEO;AACP,gCAAgC,uCAAuC,aAAa,EAAE,EAAE,OAAO,kBAAkB;AACjH;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP,4CAA4C;AAC5C;;AAEO;AACP;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACpNA;AAAA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,uCAAuC;AACvC;AACA,KAAK;AACL;;AAEA;AACA;;AAEe,yEAAU,EAAC;;;;;;;;;;;;ACnC1B;AACA;AACA;;;;;;;;;;;;ACFA;AACA;;;;;;;;;;;;;ACDA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA,4CAA4C;;AAE5C;;;;;;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;;;;;;;;;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;;;;;;;;;;ACrBA;AACA;AACA;;AAEA,mBAAmB;AACnB,mCAAO;;AAEP,mBAAmB,mBAAO,CAAC,6DAAe;AAC1C,iBAAiB,mBAAO,CAAC,yDAAa;AACtC,aAAa,mBAAO,CAAC,6CAAO;;AAE5B;AACA;AACA,EAAE;;AAEF,CAAC;AAAA,oGAAC;AACF,CAAC,EAAE,8FAA+G;;;;;;;;;;;;AChBlH;AACA;AACA;;AAEA,mBAAmB;AACnB,mCAAO;;AAEP;AACA;;AAEA;AACA;AACA,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,gBAAgB;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,gBAAgB;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAQ,oBAAoB;AAC5B;AACA;AACA;;AAEA;AACA;;AAEA,aAAa,yBAAyB;AACtC;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA,CAAC;AAAA,oGAAC;AACF,CAAC,CAAC,8FAAuG;;;;;;;;;;;;AC/EzG;AACA;AACA;;AAEA,mBAAmB;AACnB,mCAAO;;AAEP;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;AAAA,oGAAC;AACF,CAAC,CAAC,8FAAuG,G;;;;;;;;;;;AC1BzG;AACA;AACA;;AAEA,mBAAmB;AACnB,mCAAO;;AAEP;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB,mEAAmE;;AAEtF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,CAAC;AAAA,oGAAC;AACF,CAAC,CAAC,8FAAuG;;;;;;;;;;;;;;ACpDzG;AACA;AACA;;AAEA,mBAAmB;AACnB,mCAAO;;AAEP,aAAa,mBAAO,CAAC,kDAAU;AAC/B,eAAe,mBAAO,CAAC,kDAAU;;AAEjC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,SAAS;AACtB,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,wBAAwB,OAAO;AAC/B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,oBAAoB;AACpB;;AAEA;AACA;AACA,uBAAuB;AACvB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,OAAO;AACpB,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,YAAY;;AAEZ;AACA,WAAW,KAAK;AAChB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA,WAAW,KAAK;AAChB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,uBAAuB;AACvB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB;AACvB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,8BAA8B;AAC3C,eAAe;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,oCAAoC;AACjD;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA,oBAAoB,KAAK;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB,eAAe,QAAQ;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,cAAc;AAC3B;AACA,aAAa,6CAA6C;AAC1D,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,cAAc;AAC3B;AACA,aAAa,6CAA6C;AAC1D,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,CAAC;AAAA,oGAAC;AACF,CAAC,CAAC,8FAA8G;;;;;;;;;;;;AC1ShH;AACA;AACA;;AAEA,mBAAmB;AACnB,mCAAO;;AAEP;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,UAAU;AACvB,aAAa,UAAU;AACvB,eAAe;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,UAAU;AACvB,aAAa,SAAS;AACtB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,EAAE;AACf,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA,oCAAoC,cAAc,EAAE;AACpD,cAAc,EAAE;AAChB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA,aAAa,SAAS;AACtB,eAAe;AACf;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,CAAC;AAAA,oGAAC;AACF,CAAC,CAAC,8FAAuG;;;;;;;;;;;;AC/JzG;AACA;AACA;AACA;;AAEA,mBAAmB;AACnB,mCAAO;;AAEP;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL,IAAI;;AAEJ;AACA;;AAEA;AACA;;AAEA,CAAC;AAAA,oGAAC;AACF,CAAC,CAAC,8FAAuG;;;;;;;;;;;;AC1BzG;AACA;AACA;;AAEA,mBAAmB;AACnB,mCAAO;;AAEP,eAAe,mBAAO,CAAC,kDAAU;;AAEjC;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,CAAC;AAAA,oGAAC;AACF,CAAC,CAAC,8FAA8G;;;;;;;;;;;;ACnBhH;AACA;AACA;;AAEA,mBAAmB;AACnB,mCAAO;;AAEP;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB,aAAa,SAAS;AACtB;AACA,aAAa,SAAS;AACtB,aAAa,UAAU;AACvB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB;AACA,aAAa,SAAS;AACtB;AACA,aAAa,SAAS;AACtB,eAAe,UAAU;AACzB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,IAAI;;AAEJ;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,CAAC;AAAA,oGAAC;AACF,CAAC,CAAC,8FAAuG;;;;;;;;;;;;AChEzG;AACA;AACA;;AAEA,mBAAmB;AACnB,mCAAO;;AAEP;;AAEA;AACA;AACA;AACA,aAAa,SAAS;AACtB,eAAe;AACf;AACA;AACA;AACA;;AAEA;AACA;;AAEA,CAAC;AAAA,oGAAC;AACF,CAAC,CAAC,8FAAuG;;;;;;;;;;;;ACvBzG;AACA;AACA;;AAEA,mBAAmB;AACnB,mCAAO;;AAEP,WAAW,mBAAO,CAAC,8CAAQ;AAC3B,oBAAoB,mBAAO,CAAC,gEAAiB;;AAE7C;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,SAAS;AACtB;AACA,eAAe;AACf;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB,KAAK;AACL;AACA;AACA,oBAAoB;AACpB,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,CAAC;AAAA,oGAAC;AACF,CAAC,CAAC,8FAA8G;;;;;;;;;;;;AC7EhH;AACA;AACA;;AAEA,mBAAmB;AACnB,mCAAO;;AAEP,gBAAgB,mBAAO,CAAC,8CAAQ;AAChC,cAAc,mBAAO,CAAC,oDAAW;;AAEjC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C,oBAAoB,qBAAqB;;AAEzC;AACA,oBAAoB,sBAAsB;AAC1C,oBAAoB,qBAAqB;AACzC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,CAAC;AAAA,oGAAC;AACF,CAAC,CAAC,8FAA8G;;;;;;;;;;;;ACrFhH;AACA;AACA;;AAEA,mBAAmB;AACnB,mCAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,CAAC;AAAA,oGAAC;AACF,CAAC,CAAC,8FAAuG;;;;;;;;;;;;;ACpCzG;AACA;AACA;;AAEA;AACA,mBAAmB;AACnB,mCAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,iCAAiC,0BAA0B;AAC3D,+BAA+B,wBAAwB;AACvD,0BAA0B,iCAAiC;;AAE3D;AACA,gBAAgB;AAChB,uBAAuB,4BAA4B;;AAEnD,EAAE,gDAAgD;AAClD;;AAEA,EAAE,gCAAgC;AAClC;AACA,cAAc,mBAAY,CAAC,cAAO;AAClC,+BAA+B,8BAA8B;AAC7D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;;AAEzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAAA,oGAAC;AACF,CAAC,CAAC,8FAA8G;;;;;;;;;;;;;ACxEhH;AACA;AACA;;AAEA,mBAAmB;AACnB,mCAAO;;AAEP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,EAAE;AACd,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,EAAE;AACd,YAAY,EAAE;AACd,cAAc,SAAS;AACvB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,CAAC;AAAA,oGAAC;AACF,CAAC,CAAC,8FAAuG;;;;;;;;;;;;ACvDzG;AACA;AACA;;AAEA,mBAAmB;AACnB,mCAAO;;AAEP;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;;AAEA;AACA;AACA;AACA,cAAc,EAAE;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,EAAE;AAChB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,cAAc,EAAE;AAChB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,EAAE;AACf,eAAe,QAAQ;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA,gCAAgC;AAChC;;AAEA;AACA,0BAA0B,kBAAkB;AAC5C;AACA,eAAe;AACf;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,UAAU;AACvB,aAAa,UAAU;AACvB,aAAa,UAAU;AACvB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,UAAU;AACvB,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB,eAAe,QAAQ;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,SAAS;AACtB,aAAa,MAAM;AACnB,eAAe,QAAQ;AACvB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,qBAAqB,2CAA2C;AAChE;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,mBAAmB;AACtC;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,aAAa,EAAE;AACf,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,wBAAwB;AACrC,eAAe,OAAO;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,EAAE;AACf,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,cAAc;AAChC;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,aAAa,SAAS;AACtB,cAAc,gBAAgB;AAC9B;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB,cAAc;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,SAAS;AACtB,aAAa,gBAAgB;AAC7B,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,yBAAyB,cAAc;AACvC,yBAAyB,aAAa;AACtC,yBAAyB,aAAa;AACtC;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc,YAAY,YAAY;AACtC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,aAAa,EAAE;AACf,eAAe,QAAQ;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,EAAE;AACf,eAAe,QAAQ;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,OAAO;;AAEP;AACA;AACA,KAAK;AACL,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AAAA,oGAAC;AACF,CAAC,CAAC,8FAAuG;;;;;;;;;;;;;AC17BzG;AACA;AACA;;AAEA,mBAAmB;AACnB,mCAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU;AACV;;AAEA;AACA,UAAU;AACV;;AAEA;AACA,UAAU;AACV;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,CAAC;AAAA,oGAAC;AACF,CAAC,CAAC,8FAAuG;;;;;;;;;;;;AClCzG;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB,mCA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","file":"app.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./src/js/index.js\");\n","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","export default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nmodule.exports = _inheritsLoose;","import * as tslib_1 from \"tslib\";\nimport { BaseBackend } from '@sentry/core';\nimport { Severity } from '@sentry/types';\nimport { addExceptionMechanism, supportsFetch, SyncPromise } from '@sentry/utils';\nimport { eventFromString, eventFromUnknownInput } from './eventbuilder';\nimport { FetchTransport, XHRTransport } from './transports';\n/**\n * The Sentry Browser SDK Backend.\n * @hidden\n */\nvar BrowserBackend = /** @class */ (function (_super) {\n tslib_1.__extends(BrowserBackend, _super);\n function BrowserBackend() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * @inheritDoc\n */\n BrowserBackend.prototype._setupTransport = function () {\n if (!this._options.dsn) {\n // We return the noop transport here in case there is no Dsn.\n return _super.prototype._setupTransport.call(this);\n }\n var transportOptions = tslib_1.__assign({}, this._options.transportOptions, { dsn: this._options.dsn });\n if (this._options.transport) {\n return new this._options.transport(transportOptions);\n }\n if (supportsFetch()) {\n return new FetchTransport(transportOptions);\n }\n return new XHRTransport(transportOptions);\n };\n /**\n * @inheritDoc\n */\n BrowserBackend.prototype.eventFromException = function (exception, hint) {\n var syntheticException = (hint && hint.syntheticException) || undefined;\n var event = eventFromUnknownInput(exception, syntheticException, {\n attachStacktrace: this._options.attachStacktrace,\n });\n addExceptionMechanism(event, {\n handled: true,\n type: 'generic',\n });\n event.level = Severity.Error;\n if (hint && hint.event_id) {\n event.event_id = hint.event_id;\n }\n return SyncPromise.resolve(event);\n };\n /**\n * @inheritDoc\n */\n BrowserBackend.prototype.eventFromMessage = function (message, level, hint) {\n if (level === void 0) { level = Severity.Info; }\n var syntheticException = (hint && hint.syntheticException) || undefined;\n var event = eventFromString(message, syntheticException, {\n attachStacktrace: this._options.attachStacktrace,\n });\n event.level = level;\n if (hint && hint.event_id) {\n event.event_id = hint.event_id;\n }\n return SyncPromise.resolve(event);\n };\n return BrowserBackend;\n}(BaseBackend));\nexport { BrowserBackend };\n//# sourceMappingURL=backend.js.map","import * as tslib_1 from \"tslib\";\nimport { API, BaseClient } from '@sentry/core';\nimport { getGlobalObject, logger } from '@sentry/utils';\nimport { BrowserBackend } from './backend';\nimport { SDK_NAME, SDK_VERSION } from './version';\n/**\n * The Sentry Browser SDK Client.\n *\n * @see BrowserOptions for documentation on configuration options.\n * @see SentryClient for usage documentation.\n */\nvar BrowserClient = /** @class */ (function (_super) {\n tslib_1.__extends(BrowserClient, _super);\n /**\n * Creates a new Browser SDK instance.\n *\n * @param options Configuration options for this SDK.\n */\n function BrowserClient(options) {\n if (options === void 0) { options = {}; }\n return _super.call(this, BrowserBackend, options) || this;\n }\n /**\n * @inheritDoc\n */\n BrowserClient.prototype._prepareEvent = function (event, scope, hint) {\n event.platform = event.platform || 'javascript';\n event.sdk = tslib_1.__assign({}, event.sdk, { name: SDK_NAME, packages: tslib_1.__spread(((event.sdk && event.sdk.packages) || []), [\n {\n name: 'npm:@sentry/browser',\n version: SDK_VERSION,\n },\n ]), version: SDK_VERSION });\n return _super.prototype._prepareEvent.call(this, event, scope, hint);\n };\n /**\n * Show a report dialog to the user to send feedback to a specific event.\n *\n * @param options Set individual options for the dialog\n */\n BrowserClient.prototype.showReportDialog = function (options) {\n if (options === void 0) { options = {}; }\n // doesn't work without a document (React Native)\n var document = getGlobalObject().document;\n if (!document) {\n return;\n }\n if (!this._isEnabled()) {\n logger.error('Trying to call showReportDialog with Sentry Client is disabled');\n return;\n }\n var dsn = options.dsn || this.getDsn();\n if (!options.eventId) {\n logger.error('Missing `eventId` option in showReportDialog call');\n return;\n }\n if (!dsn) {\n logger.error('Missing `Dsn` option in showReportDialog call');\n return;\n }\n var script = document.createElement('script');\n script.async = true;\n script.src = new API(dsn).getReportDialogEndpoint(options);\n if (options.onLoad) {\n script.onload = options.onLoad;\n }\n (document.head || document.body).appendChild(script);\n };\n return BrowserClient;\n}(BaseClient));\nexport { BrowserClient };\n//# sourceMappingURL=client.js.map","import { addExceptionMechanism, addExceptionTypeValue, isDOMError, isDOMException, isError, isErrorEvent, isEvent, isPlainObject, } from '@sentry/utils';\nimport { eventFromPlainObject, eventFromStacktrace, prepareFramesForEvent } from './parsers';\nimport { computeStackTrace } from './tracekit';\n/** JSDoc */\nexport function eventFromUnknownInput(exception, syntheticException, options) {\n if (options === void 0) { options = {}; }\n var event;\n if (isErrorEvent(exception) && exception.error) {\n // If it is an ErrorEvent with `error` property, extract it to get actual Error\n var errorEvent = exception;\n exception = errorEvent.error; // tslint:disable-line:no-parameter-reassignment\n event = eventFromStacktrace(computeStackTrace(exception));\n return event;\n }\n if (isDOMError(exception) || isDOMException(exception)) {\n // If it is a DOMError or DOMException (which are legacy APIs, but still supported in some browsers)\n // then we just extract the name and message, as they don't provide anything else\n // https://developer.mozilla.org/en-US/docs/Web/API/DOMError\n // https://developer.mozilla.org/en-US/docs/Web/API/DOMException\n var domException = exception;\n var name_1 = domException.name || (isDOMError(domException) ? 'DOMError' : 'DOMException');\n var message = domException.message ? name_1 + \": \" + domException.message : name_1;\n event = eventFromString(message, syntheticException, options);\n addExceptionTypeValue(event, message);\n return event;\n }\n if (isError(exception)) {\n // we have a real Error object, do nothing\n event = eventFromStacktrace(computeStackTrace(exception));\n return event;\n }\n if (isPlainObject(exception) || isEvent(exception)) {\n // If it is plain Object or Event, serialize it manually and extract options\n // This will allow us to group events based on top-level keys\n // which is much better than creating new group when any key/value change\n var objectException = exception;\n event = eventFromPlainObject(objectException, syntheticException, options.rejection);\n addExceptionMechanism(event, {\n synthetic: true,\n });\n return event;\n }\n // If none of previous checks were valid, then it means that it's not:\n // - an instance of DOMError\n // - an instance of DOMException\n // - an instance of Event\n // - an instance of Error\n // - a valid ErrorEvent (one with an error property)\n // - a plain Object\n //\n // So bail out and capture it as a simple message:\n event = eventFromString(exception, syntheticException, options);\n addExceptionTypeValue(event, \"\" + exception, undefined);\n addExceptionMechanism(event, {\n synthetic: true,\n });\n return event;\n}\n// this._options.attachStacktrace\n/** JSDoc */\nexport function eventFromString(input, syntheticException, options) {\n if (options === void 0) { options = {}; }\n var event = {\n message: input,\n };\n if (options.attachStacktrace && syntheticException) {\n var stacktrace = computeStackTrace(syntheticException);\n var frames_1 = prepareFramesForEvent(stacktrace.stack);\n event.stacktrace = {\n frames: frames_1,\n };\n }\n return event;\n}\n//# sourceMappingURL=eventbuilder.js.map","export { Severity, Status, } from '@sentry/types';\nexport { addGlobalEventProcessor, addBreadcrumb, captureException, captureEvent, captureMessage, configureScope, getHubFromCarrier, getCurrentHub, Hub, Scope, setContext, setExtra, setExtras, setTag, setTags, setUser, withScope, } from '@sentry/core';\nexport { BrowserClient } from './client';\nexport { defaultIntegrations, forceLoad, init, lastEventId, onLoad, showReportDialog, flush, close, wrap } from './sdk';\nexport { SDK_NAME, SDK_VERSION } from './version';\n//# sourceMappingURL=exports.js.map","import * as tslib_1 from \"tslib\";\nimport { captureException, withScope } from '@sentry/core';\nimport { addExceptionMechanism, addExceptionTypeValue } from '@sentry/utils';\nvar ignoreOnError = 0;\n/**\n * @hidden\n */\nexport function shouldIgnoreOnError() {\n return ignoreOnError > 0;\n}\n/**\n * @hidden\n */\nexport function ignoreNextOnError() {\n // onerror should trigger before setTimeout\n ignoreOnError += 1;\n setTimeout(function () {\n ignoreOnError -= 1;\n });\n}\n/**\n * Instruments the given function and sends an event to Sentry every time the\n * function throws an exception.\n *\n * @param fn A function to wrap.\n * @returns The wrapped function.\n * @hidden\n */\nexport function wrap(fn, options, before) {\n if (options === void 0) { options = {}; }\n // tslint:disable-next-line:strict-type-predicates\n if (typeof fn !== 'function') {\n return fn;\n }\n try {\n // We don't wanna wrap it twice\n if (fn.__sentry__) {\n return fn;\n }\n // If this has already been wrapped in the past, return that wrapped function\n if (fn.__sentry_wrapped__) {\n return fn.__sentry_wrapped__;\n }\n }\n catch (e) {\n // Just accessing custom props in some Selenium environments\n // can cause a \"Permission denied\" exception (see raven-js#495).\n // Bail on wrapping and return the function as-is (defers to window.onerror).\n return fn;\n }\n var sentryWrapped = function () {\n var args = Array.prototype.slice.call(arguments);\n // tslint:disable:no-unsafe-any\n try {\n // tslint:disable-next-line:strict-type-predicates\n if (before && typeof before === 'function') {\n before.apply(this, arguments);\n }\n var wrappedArguments = args.map(function (arg) { return wrap(arg, options); });\n if (fn.handleEvent) {\n // Attempt to invoke user-land function\n // NOTE: If you are a Sentry user, and you are seeing this stack frame, it\n // means the sentry.javascript SDK caught an error invoking your application code. This\n // is expected behavior and NOT indicative of a bug with sentry.javascript.\n return fn.handleEvent.apply(this, wrappedArguments);\n }\n // Attempt to invoke user-land function\n // NOTE: If you are a Sentry user, and you are seeing this stack frame, it\n // means the sentry.javascript SDK caught an error invoking your application code. This\n // is expected behavior and NOT indicative of a bug with sentry.javascript.\n return fn.apply(this, wrappedArguments);\n // tslint:enable:no-unsafe-any\n }\n catch (ex) {\n ignoreNextOnError();\n withScope(function (scope) {\n scope.addEventProcessor(function (event) {\n var processedEvent = tslib_1.__assign({}, event);\n if (options.mechanism) {\n addExceptionTypeValue(processedEvent, undefined, undefined);\n addExceptionMechanism(processedEvent, options.mechanism);\n }\n processedEvent.extra = tslib_1.__assign({}, processedEvent.extra, { arguments: args });\n return processedEvent;\n });\n captureException(ex);\n });\n throw ex;\n }\n };\n // Accessing some objects may throw\n // ref: https://github.com/getsentry/sentry-javascript/issues/1168\n try {\n for (var property in fn) {\n if (Object.prototype.hasOwnProperty.call(fn, property)) {\n sentryWrapped[property] = fn[property];\n }\n }\n }\n catch (_oO) { } // tslint:disable-line:no-empty\n fn.prototype = fn.prototype || {};\n sentryWrapped.prototype = fn.prototype;\n Object.defineProperty(fn, '__sentry_wrapped__', {\n enumerable: false,\n value: sentryWrapped,\n });\n // Signal that this function has been wrapped/filled already\n // for both debugging and to prevent it to being wrapped/filled twice\n Object.defineProperties(sentryWrapped, {\n __sentry__: {\n enumerable: false,\n value: true,\n },\n __sentry_original__: {\n enumerable: false,\n value: fn,\n },\n });\n // Restore original function name (not all browsers allow that)\n try {\n var descriptor = Object.getOwnPropertyDescriptor(sentryWrapped, 'name');\n if (descriptor.configurable) {\n Object.defineProperty(sentryWrapped, 'name', {\n get: function () {\n return fn.name;\n },\n });\n }\n }\n catch (_oO) {\n /*no-empty*/\n }\n return sentryWrapped;\n}\n//# sourceMappingURL=helpers.js.map","import * as tslib_1 from \"tslib\";\nexport * from './exports';\nimport { Integrations as CoreIntegrations } from '@sentry/core';\nimport { getGlobalObject } from '@sentry/utils';\nimport * as BrowserIntegrations from './integrations';\nimport * as Transports from './transports';\nvar windowIntegrations = {};\n// This block is needed to add compatibility with the integrations packages when used with a CDN\n// tslint:disable: no-unsafe-any\nvar _window = getGlobalObject();\nif (_window.Sentry && _window.Sentry.Integrations) {\n windowIntegrations = _window.Sentry.Integrations;\n}\n// tslint:enable: no-unsafe-any\nvar INTEGRATIONS = tslib_1.__assign({}, windowIntegrations, CoreIntegrations, BrowserIntegrations);\nexport { INTEGRATIONS as Integrations, Transports };\n//# sourceMappingURL=index.js.map","import * as tslib_1 from \"tslib\";\nimport { API, getCurrentHub } from '@sentry/core';\nimport { Severity } from '@sentry/types';\nimport { addInstrumentationHandler, getEventDescription, getGlobalObject, htmlTreeAsString, logger, parseUrl, safeJoin, } from '@sentry/utils';\n/**\n * Default Breadcrumbs instrumentations\n * TODO: Deprecated - with v6, this will be renamed to `Instrument`\n */\nvar Breadcrumbs = /** @class */ (function () {\n /**\n * @inheritDoc\n */\n function Breadcrumbs(options) {\n /**\n * @inheritDoc\n */\n this.name = Breadcrumbs.id;\n this._options = tslib_1.__assign({ console: true, dom: true, fetch: true, history: true, sentry: true, xhr: true }, options);\n }\n /**\n * Creates breadcrumbs from console API calls\n */\n Breadcrumbs.prototype._consoleBreadcrumb = function (handlerData) {\n var breadcrumb = {\n category: 'console',\n data: {\n arguments: handlerData.args,\n logger: 'console',\n },\n level: Severity.fromString(handlerData.level),\n message: safeJoin(handlerData.args, ' '),\n };\n if (handlerData.level === 'assert') {\n if (handlerData.args[0] === false) {\n breadcrumb.message = \"Assertion failed: \" + (safeJoin(handlerData.args.slice(1), ' ') || 'console.assert');\n breadcrumb.data.arguments = handlerData.args.slice(1);\n }\n else {\n // Don't capture a breadcrumb for passed assertions\n return;\n }\n }\n getCurrentHub().addBreadcrumb(breadcrumb, {\n input: handlerData.args,\n level: handlerData.level,\n });\n };\n /**\n * Creates breadcrumbs from DOM API calls\n */\n Breadcrumbs.prototype._domBreadcrumb = function (handlerData) {\n var target;\n // Accessing event.target can throw (see getsentry/raven-js#838, #768)\n try {\n target = handlerData.event.target\n ? htmlTreeAsString(handlerData.event.target)\n : htmlTreeAsString(handlerData.event);\n }\n catch (e) {\n target = '';\n }\n if (target.length === 0) {\n return;\n }\n getCurrentHub().addBreadcrumb({\n category: \"ui.\" + handlerData.name,\n message: target,\n }, {\n event: handlerData.event,\n name: handlerData.name,\n });\n };\n /**\n * Creates breadcrumbs from XHR API calls\n */\n Breadcrumbs.prototype._xhrBreadcrumb = function (handlerData) {\n if (handlerData.endTimestamp) {\n // We only capture complete, non-sentry requests\n if (handlerData.xhr.__sentry_own_request__) {\n return;\n }\n getCurrentHub().addBreadcrumb({\n category: 'xhr',\n data: handlerData.xhr.__sentry_xhr__,\n type: 'http',\n }, {\n xhr: handlerData.xhr,\n });\n return;\n }\n // We only capture issued sentry requests\n if (this._options.sentry && handlerData.xhr.__sentry_own_request__) {\n addSentryBreadcrumb(handlerData.args[0]);\n }\n };\n /**\n * Creates breadcrumbs from fetch API calls\n */\n Breadcrumbs.prototype._fetchBreadcrumb = function (handlerData) {\n // We only capture complete fetch requests\n if (!handlerData.endTimestamp) {\n return;\n }\n var client = getCurrentHub().getClient();\n var dsn = client && client.getDsn();\n if (this._options.sentry && dsn) {\n var filterUrl = new API(dsn).getStoreEndpoint();\n // if Sentry key appears in URL, don't capture it as a request\n // but rather as our own 'sentry' type breadcrumb\n if (filterUrl &&\n handlerData.fetchData.url.indexOf(filterUrl) !== -1 &&\n handlerData.fetchData.method === 'POST' &&\n handlerData.args[1] &&\n handlerData.args[1].body) {\n addSentryBreadcrumb(handlerData.args[1].body);\n return;\n }\n }\n if (handlerData.error) {\n getCurrentHub().addBreadcrumb({\n category: 'fetch',\n data: tslib_1.__assign({}, handlerData.fetchData, { status_code: handlerData.response.status }),\n level: Severity.Error,\n type: 'http',\n }, {\n data: handlerData.error,\n input: handlerData.args,\n });\n }\n else {\n getCurrentHub().addBreadcrumb({\n category: 'fetch',\n data: tslib_1.__assign({}, handlerData.fetchData, { status_code: handlerData.response.status }),\n type: 'http',\n }, {\n input: handlerData.args,\n response: handlerData.response,\n });\n }\n };\n /**\n * Creates breadcrumbs from history API calls\n */\n Breadcrumbs.prototype._historyBreadcrumb = function (handlerData) {\n var global = getGlobalObject();\n var from = handlerData.from;\n var to = handlerData.to;\n var parsedLoc = parseUrl(global.location.href);\n var parsedFrom = parseUrl(from);\n var parsedTo = parseUrl(to);\n // Initial pushState doesn't provide `from` information\n if (!parsedFrom.path) {\n parsedFrom = parsedLoc;\n }\n // Use only the path component of the URL if the URL matches the current\n // document (almost all the time when using pushState)\n if (parsedLoc.protocol === parsedTo.protocol && parsedLoc.host === parsedTo.host) {\n // tslint:disable-next-line:no-parameter-reassignment\n to = parsedTo.relative;\n }\n if (parsedLoc.protocol === parsedFrom.protocol && parsedLoc.host === parsedFrom.host) {\n // tslint:disable-next-line:no-parameter-reassignment\n from = parsedFrom.relative;\n }\n getCurrentHub().addBreadcrumb({\n category: 'navigation',\n data: {\n from: from,\n to: to,\n },\n });\n };\n /**\n * Instrument browser built-ins w/ breadcrumb capturing\n * - Console API\n * - DOM API (click/typing)\n * - XMLHttpRequest API\n * - Fetch API\n * - History API\n */\n Breadcrumbs.prototype.setupOnce = function () {\n var _this = this;\n if (this._options.console) {\n addInstrumentationHandler({\n callback: function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n _this._consoleBreadcrumb.apply(_this, tslib_1.__spread(args));\n },\n type: 'console',\n });\n }\n if (this._options.dom) {\n addInstrumentationHandler({\n callback: function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n _this._domBreadcrumb.apply(_this, tslib_1.__spread(args));\n },\n type: 'dom',\n });\n }\n if (this._options.xhr) {\n addInstrumentationHandler({\n callback: function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n _this._xhrBreadcrumb.apply(_this, tslib_1.__spread(args));\n },\n type: 'xhr',\n });\n }\n if (this._options.fetch) {\n addInstrumentationHandler({\n callback: function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n _this._fetchBreadcrumb.apply(_this, tslib_1.__spread(args));\n },\n type: 'fetch',\n });\n }\n if (this._options.history) {\n addInstrumentationHandler({\n callback: function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n _this._historyBreadcrumb.apply(_this, tslib_1.__spread(args));\n },\n type: 'history',\n });\n }\n };\n /**\n * @inheritDoc\n */\n Breadcrumbs.id = 'Breadcrumbs';\n return Breadcrumbs;\n}());\nexport { Breadcrumbs };\n/**\n * Create a breadcrumb of `sentry` from the events themselves\n */\nfunction addSentryBreadcrumb(serializedData) {\n // There's always something that can go wrong with deserialization...\n try {\n var event_1 = JSON.parse(serializedData);\n getCurrentHub().addBreadcrumb({\n category: \"sentry.\" + (event_1.type === 'transaction' ? 'transaction' : 'event'),\n event_id: event_1.event_id,\n level: event_1.level || Severity.fromString('error'),\n message: getEventDescription(event_1),\n }, {\n event: event_1,\n });\n }\n catch (_oO) {\n logger.error('Error while adding sentry type breadcrumb');\n }\n}\n//# sourceMappingURL=breadcrumbs.js.map","import * as tslib_1 from \"tslib\";\nimport { getCurrentHub } from '@sentry/core';\nimport { Severity } from '@sentry/types';\nimport { addExceptionMechanism, addInstrumentationHandler, getLocationHref, isErrorEvent, isPrimitive, isString, logger, } from '@sentry/utils';\nimport { eventFromUnknownInput } from '../eventbuilder';\nimport { shouldIgnoreOnError } from '../helpers';\n/** Global handlers */\nvar GlobalHandlers = /** @class */ (function () {\n /** JSDoc */\n function GlobalHandlers(options) {\n /**\n * @inheritDoc\n */\n this.name = GlobalHandlers.id;\n /** JSDoc */\n this._onErrorHandlerInstalled = false;\n /** JSDoc */\n this._onUnhandledRejectionHandlerInstalled = false;\n this._options = tslib_1.__assign({ onerror: true, onunhandledrejection: true }, options);\n }\n /**\n * @inheritDoc\n */\n GlobalHandlers.prototype.setupOnce = function () {\n Error.stackTraceLimit = 50;\n if (this._options.onerror) {\n logger.log('Global Handler attached: onerror');\n this._installGlobalOnErrorHandler();\n }\n if (this._options.onunhandledrejection) {\n logger.log('Global Handler attached: onunhandledrejection');\n this._installGlobalOnUnhandledRejectionHandler();\n }\n };\n /** JSDoc */\n GlobalHandlers.prototype._installGlobalOnErrorHandler = function () {\n var _this = this;\n if (this._onErrorHandlerInstalled) {\n return;\n }\n addInstrumentationHandler({\n callback: function (data) {\n var error = data.error;\n var currentHub = getCurrentHub();\n var hasIntegration = currentHub.getIntegration(GlobalHandlers);\n var isFailedOwnDelivery = error && error.__sentry_own_request__ === true;\n if (!hasIntegration || shouldIgnoreOnError() || isFailedOwnDelivery) {\n return;\n }\n var client = currentHub.getClient();\n var event = isPrimitive(error)\n ? _this._eventFromIncompleteOnError(data.msg, data.url, data.line, data.column)\n : _this._enhanceEventWithInitialFrame(eventFromUnknownInput(error, undefined, {\n attachStacktrace: client && client.getOptions().attachStacktrace,\n rejection: false,\n }), data.url, data.line, data.column);\n addExceptionMechanism(event, {\n handled: false,\n type: 'onerror',\n });\n currentHub.captureEvent(event, {\n originalException: error,\n });\n },\n type: 'error',\n });\n this._onErrorHandlerInstalled = true;\n };\n /** JSDoc */\n GlobalHandlers.prototype._installGlobalOnUnhandledRejectionHandler = function () {\n var _this = this;\n if (this._onUnhandledRejectionHandlerInstalled) {\n return;\n }\n addInstrumentationHandler({\n callback: function (e) {\n var error = e;\n // dig the object of the rejection out of known event types\n try {\n // PromiseRejectionEvents store the object of the rejection under 'reason'\n // see https://developer.mozilla.org/en-US/docs/Web/API/PromiseRejectionEvent\n if ('reason' in e) {\n error = e.reason;\n }\n // something, somewhere, (likely a browser extension) effectively casts PromiseRejectionEvents\n // to CustomEvents, moving the `promise` and `reason` attributes of the PRE into\n // the CustomEvent's `detail` attribute, since they're not part of CustomEvent's spec\n // see https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent and\n // https://github.com/getsentry/sentry-javascript/issues/2380\n else if ('detail' in e && 'reason' in e.detail) {\n error = e.detail.reason;\n }\n }\n catch (_oO) {\n // no-empty\n }\n var currentHub = getCurrentHub();\n var hasIntegration = currentHub.getIntegration(GlobalHandlers);\n var isFailedOwnDelivery = error && error.__sentry_own_request__ === true;\n if (!hasIntegration || shouldIgnoreOnError() || isFailedOwnDelivery) {\n return true;\n }\n var client = currentHub.getClient();\n var event = isPrimitive(error)\n ? _this._eventFromIncompleteRejection(error)\n : eventFromUnknownInput(error, undefined, {\n attachStacktrace: client && client.getOptions().attachStacktrace,\n rejection: true,\n });\n event.level = Severity.Error;\n addExceptionMechanism(event, {\n handled: false,\n type: 'onunhandledrejection',\n });\n currentHub.captureEvent(event, {\n originalException: error,\n });\n return;\n },\n type: 'unhandledrejection',\n });\n this._onUnhandledRejectionHandlerInstalled = true;\n };\n /**\n * This function creates a stack from an old, error-less onerror handler.\n */\n GlobalHandlers.prototype._eventFromIncompleteOnError = function (msg, url, line, column) {\n var ERROR_TYPES_RE = /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i;\n // If 'message' is ErrorEvent, get real message from inside\n var message = isErrorEvent(msg) ? msg.message : msg;\n var name;\n if (isString(message)) {\n var groups = message.match(ERROR_TYPES_RE);\n if (groups) {\n name = groups[1];\n message = groups[2];\n }\n }\n var event = {\n exception: {\n values: [\n {\n type: name || 'Error',\n value: message,\n },\n ],\n },\n };\n return this._enhanceEventWithInitialFrame(event, url, line, column);\n };\n /**\n * This function creates an Event from an TraceKitStackTrace that has part of it missing.\n */\n GlobalHandlers.prototype._eventFromIncompleteRejection = function (error) {\n return {\n exception: {\n values: [\n {\n type: 'UnhandledRejection',\n value: \"Non-Error promise rejection captured with value: \" + error,\n },\n ],\n },\n };\n };\n /** JSDoc */\n GlobalHandlers.prototype._enhanceEventWithInitialFrame = function (event, url, line, column) {\n event.exception = event.exception || {};\n event.exception.values = event.exception.values || [];\n event.exception.values[0] = event.exception.values[0] || {};\n event.exception.values[0].stacktrace = event.exception.values[0].stacktrace || {};\n event.exception.values[0].stacktrace.frames = event.exception.values[0].stacktrace.frames || [];\n var colno = isNaN(parseInt(column, 10)) ? undefined : column;\n var lineno = isNaN(parseInt(line, 10)) ? undefined : line;\n var filename = isString(url) && url.length > 0 ? url : getLocationHref();\n if (event.exception.values[0].stacktrace.frames.length === 0) {\n event.exception.values[0].stacktrace.frames.push({\n colno: colno,\n filename: filename,\n function: '?',\n in_app: true,\n lineno: lineno,\n });\n }\n return event;\n };\n /**\n * @inheritDoc\n */\n GlobalHandlers.id = 'GlobalHandlers';\n return GlobalHandlers;\n}());\nexport { GlobalHandlers };\n//# sourceMappingURL=globalhandlers.js.map","export { GlobalHandlers } from './globalhandlers';\nexport { TryCatch } from './trycatch';\nexport { Breadcrumbs } from './breadcrumbs';\nexport { LinkedErrors } from './linkederrors';\nexport { UserAgent } from './useragent';\n//# sourceMappingURL=index.js.map","import * as tslib_1 from \"tslib\";\nimport { addGlobalEventProcessor, getCurrentHub } from '@sentry/core';\nimport { isInstanceOf } from '@sentry/utils';\nimport { exceptionFromStacktrace } from '../parsers';\nimport { computeStackTrace } from '../tracekit';\nvar DEFAULT_KEY = 'cause';\nvar DEFAULT_LIMIT = 5;\n/** Adds SDK info to an event. */\nvar LinkedErrors = /** @class */ (function () {\n /**\n * @inheritDoc\n */\n function LinkedErrors(options) {\n if (options === void 0) { options = {}; }\n /**\n * @inheritDoc\n */\n this.name = LinkedErrors.id;\n this._key = options.key || DEFAULT_KEY;\n this._limit = options.limit || DEFAULT_LIMIT;\n }\n /**\n * @inheritDoc\n */\n LinkedErrors.prototype.setupOnce = function () {\n addGlobalEventProcessor(function (event, hint) {\n var self = getCurrentHub().getIntegration(LinkedErrors);\n if (self) {\n return self._handler(event, hint);\n }\n return event;\n });\n };\n /**\n * @inheritDoc\n */\n LinkedErrors.prototype._handler = function (event, hint) {\n if (!event.exception || !event.exception.values || !hint || !isInstanceOf(hint.originalException, Error)) {\n return event;\n }\n var linkedErrors = this._walkErrorTree(hint.originalException, this._key);\n event.exception.values = tslib_1.__spread(linkedErrors, event.exception.values);\n return event;\n };\n /**\n * @inheritDoc\n */\n LinkedErrors.prototype._walkErrorTree = function (error, key, stack) {\n if (stack === void 0) { stack = []; }\n if (!isInstanceOf(error[key], Error) || stack.length + 1 >= this._limit) {\n return stack;\n }\n var stacktrace = computeStackTrace(error[key]);\n var exception = exceptionFromStacktrace(stacktrace);\n return this._walkErrorTree(error[key], key, tslib_1.__spread([exception], stack));\n };\n /**\n * @inheritDoc\n */\n LinkedErrors.id = 'LinkedErrors';\n return LinkedErrors;\n}());\nexport { LinkedErrors };\n//# sourceMappingURL=linkederrors.js.map","import { fill, getFunctionName, getGlobalObject } from '@sentry/utils';\nimport { wrap } from '../helpers';\n/** Wrap timer functions and event targets to catch errors and provide better meta data */\nvar TryCatch = /** @class */ (function () {\n function TryCatch() {\n /** JSDoc */\n this._ignoreOnError = 0;\n /**\n * @inheritDoc\n */\n this.name = TryCatch.id;\n }\n /** JSDoc */\n TryCatch.prototype._wrapTimeFunction = function (original) {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var originalCallback = args[0];\n args[0] = wrap(originalCallback, {\n mechanism: {\n data: { function: getFunctionName(original) },\n handled: true,\n type: 'instrument',\n },\n });\n return original.apply(this, args);\n };\n };\n /** JSDoc */\n TryCatch.prototype._wrapRAF = function (original) {\n return function (callback) {\n return original(wrap(callback, {\n mechanism: {\n data: {\n function: 'requestAnimationFrame',\n handler: getFunctionName(original),\n },\n handled: true,\n type: 'instrument',\n },\n }));\n };\n };\n /** JSDoc */\n TryCatch.prototype._wrapEventTarget = function (target) {\n var global = getGlobalObject();\n var proto = global[target] && global[target].prototype;\n if (!proto || !proto.hasOwnProperty || !proto.hasOwnProperty('addEventListener')) {\n return;\n }\n fill(proto, 'addEventListener', function (original) {\n return function (eventName, fn, options) {\n try {\n // tslint:disable-next-line:no-unbound-method strict-type-predicates\n if (typeof fn.handleEvent === 'function') {\n fn.handleEvent = wrap(fn.handleEvent.bind(fn), {\n mechanism: {\n data: {\n function: 'handleEvent',\n handler: getFunctionName(fn),\n target: target,\n },\n handled: true,\n type: 'instrument',\n },\n });\n }\n }\n catch (err) {\n // can sometimes get 'Permission denied to access property \"handle Event'\n }\n return original.call(this, eventName, wrap(fn, {\n mechanism: {\n data: {\n function: 'addEventListener',\n handler: getFunctionName(fn),\n target: target,\n },\n handled: true,\n type: 'instrument',\n },\n }), options);\n };\n });\n fill(proto, 'removeEventListener', function (original) {\n return function (eventName, fn, options) {\n var callback = fn;\n try {\n callback = callback && (callback.__sentry_wrapped__ || callback);\n }\n catch (e) {\n // ignore, accessing __sentry_wrapped__ will throw in some Selenium environments\n }\n return original.call(this, eventName, callback, options);\n };\n });\n };\n /** JSDoc */\n TryCatch.prototype._wrapXHR = function (originalSend) {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var xhr = this; // tslint:disable-line:no-this-assignment\n var xmlHttpRequestProps = ['onload', 'onerror', 'onprogress', 'onreadystatechange'];\n xmlHttpRequestProps.forEach(function (prop) {\n if (prop in xhr && typeof xhr[prop] === 'function') {\n fill(xhr, prop, function (original) {\n var wrapOptions = {\n mechanism: {\n data: {\n function: prop,\n handler: getFunctionName(original),\n },\n handled: true,\n type: 'instrument',\n },\n };\n // If Instrument integration has been called before TryCatch, get the name of original function\n if (original.__sentry_original__) {\n wrapOptions.mechanism.data.handler = getFunctionName(original.__sentry_original__);\n }\n // Otherwise wrap directly\n return wrap(original, wrapOptions);\n });\n }\n });\n return originalSend.apply(this, args);\n };\n };\n /**\n * Wrap timer functions and event targets to catch errors\n * and provide better metadata.\n */\n TryCatch.prototype.setupOnce = function () {\n this._ignoreOnError = this._ignoreOnError;\n var global = getGlobalObject();\n fill(global, 'setTimeout', this._wrapTimeFunction.bind(this));\n fill(global, 'setInterval', this._wrapTimeFunction.bind(this));\n fill(global, 'requestAnimationFrame', this._wrapRAF.bind(this));\n if ('XMLHttpRequest' in global) {\n fill(XMLHttpRequest.prototype, 'send', this._wrapXHR.bind(this));\n }\n [\n 'EventTarget',\n 'Window',\n 'Node',\n 'ApplicationCache',\n 'AudioTrackList',\n 'ChannelMergerNode',\n 'CryptoOperation',\n 'EventSource',\n 'FileReader',\n 'HTMLUnknownElement',\n 'IDBDatabase',\n 'IDBRequest',\n 'IDBTransaction',\n 'KeyOperation',\n 'MediaController',\n 'MessagePort',\n 'ModalWindow',\n 'Notification',\n 'SVGElementInstance',\n 'Screen',\n 'TextTrack',\n 'TextTrackCue',\n 'TextTrackList',\n 'WebSocket',\n 'WebSocketWorker',\n 'Worker',\n 'XMLHttpRequest',\n 'XMLHttpRequestEventTarget',\n 'XMLHttpRequestUpload',\n ].forEach(this._wrapEventTarget.bind(this));\n };\n /**\n * @inheritDoc\n */\n TryCatch.id = 'TryCatch';\n return TryCatch;\n}());\nexport { TryCatch };\n//# sourceMappingURL=trycatch.js.map","import * as tslib_1 from \"tslib\";\nimport { addGlobalEventProcessor, getCurrentHub } from '@sentry/core';\nimport { getGlobalObject } from '@sentry/utils';\nvar global = getGlobalObject();\n/** UserAgent */\nvar UserAgent = /** @class */ (function () {\n function UserAgent() {\n /**\n * @inheritDoc\n */\n this.name = UserAgent.id;\n }\n /**\n * @inheritDoc\n */\n UserAgent.prototype.setupOnce = function () {\n addGlobalEventProcessor(function (event) {\n if (getCurrentHub().getIntegration(UserAgent)) {\n if (!global.navigator || !global.location) {\n return event;\n }\n // Request Interface: https://docs.sentry.io/development/sdk-dev/event-payloads/request/\n var request = event.request || {};\n request.url = request.url || global.location.href;\n request.headers = request.headers || {};\n request.headers['User-Agent'] = global.navigator.userAgent;\n return tslib_1.__assign({}, event, { request: request });\n }\n return event;\n });\n };\n /**\n * @inheritDoc\n */\n UserAgent.id = 'UserAgent';\n return UserAgent;\n}());\nexport { UserAgent };\n//# sourceMappingURL=useragent.js.map","import { extractExceptionKeysForMessage, isEvent, normalizeToSize } from '@sentry/utils';\nimport { computeStackTrace } from './tracekit';\nvar STACKTRACE_LIMIT = 50;\n/**\n * This function creates an exception from an TraceKitStackTrace\n * @param stacktrace TraceKitStackTrace that will be converted to an exception\n * @hidden\n */\nexport function exceptionFromStacktrace(stacktrace) {\n var frames = prepareFramesForEvent(stacktrace.stack);\n var exception = {\n type: stacktrace.name,\n value: stacktrace.message,\n };\n if (frames && frames.length) {\n exception.stacktrace = { frames: frames };\n }\n // tslint:disable-next-line:strict-type-predicates\n if (exception.type === undefined && exception.value === '') {\n exception.value = 'Unrecoverable error caught';\n }\n return exception;\n}\n/**\n * @hidden\n */\nexport function eventFromPlainObject(exception, syntheticException, rejection) {\n var event = {\n exception: {\n values: [\n {\n type: isEvent(exception) ? exception.constructor.name : rejection ? 'UnhandledRejection' : 'Error',\n value: \"Non-Error \" + (rejection ? 'promise rejection' : 'exception') + \" captured with keys: \" + extractExceptionKeysForMessage(exception),\n },\n ],\n },\n extra: {\n __serialized__: normalizeToSize(exception),\n },\n };\n if (syntheticException) {\n var stacktrace = computeStackTrace(syntheticException);\n var frames_1 = prepareFramesForEvent(stacktrace.stack);\n event.stacktrace = {\n frames: frames_1,\n };\n }\n return event;\n}\n/**\n * @hidden\n */\nexport function eventFromStacktrace(stacktrace) {\n var exception = exceptionFromStacktrace(stacktrace);\n return {\n exception: {\n values: [exception],\n },\n };\n}\n/**\n * @hidden\n */\nexport function prepareFramesForEvent(stack) {\n if (!stack || !stack.length) {\n return [];\n }\n var localStack = stack;\n var firstFrameFunction = localStack[0].func || '';\n var lastFrameFunction = localStack[localStack.length - 1].func || '';\n // If stack starts with one of our API calls, remove it (starts, meaning it's the top of the stack - aka last call)\n if (firstFrameFunction.indexOf('captureMessage') !== -1 || firstFrameFunction.indexOf('captureException') !== -1) {\n localStack = localStack.slice(1);\n }\n // If stack ends with one of our internal API calls, remove it (ends, meaning it's the bottom of the stack - aka top-most call)\n if (lastFrameFunction.indexOf('sentryWrapped') !== -1) {\n localStack = localStack.slice(0, -1);\n }\n // The frame where the crash happened, should be the last entry in the array\n return localStack\n .map(function (frame) { return ({\n colno: frame.column === null ? undefined : frame.column,\n filename: frame.url || localStack[0].url,\n function: frame.func || '?',\n in_app: true,\n lineno: frame.line === null ? undefined : frame.line,\n }); })\n .slice(0, STACKTRACE_LIMIT)\n .reverse();\n}\n//# sourceMappingURL=parsers.js.map","import { getCurrentHub, initAndBind, Integrations as CoreIntegrations } from '@sentry/core';\nimport { getGlobalObject, SyncPromise } from '@sentry/utils';\nimport { BrowserClient } from './client';\nimport { wrap as internalWrap } from './helpers';\nimport { Breadcrumbs, GlobalHandlers, LinkedErrors, TryCatch, UserAgent } from './integrations';\nexport var defaultIntegrations = [\n new CoreIntegrations.InboundFilters(),\n new CoreIntegrations.FunctionToString(),\n new TryCatch(),\n new Breadcrumbs(),\n new GlobalHandlers(),\n new LinkedErrors(),\n new UserAgent(),\n];\n/**\n * The Sentry Browser SDK Client.\n *\n * To use this SDK, call the {@link init} function as early as possible when\n * loading the web page. To set context information or send manual events, use\n * the provided methods.\n *\n * @example\n *\n * ```\n *\n * import { init } from '@sentry/browser';\n *\n * init({\n * dsn: '__DSN__',\n * // ...\n * });\n * ```\n *\n * @example\n * ```\n *\n * import { configureScope } from '@sentry/browser';\n * configureScope((scope: Scope) => {\n * scope.setExtra({ battery: 0.7 });\n * scope.setTag({ user_mode: 'admin' });\n * scope.setUser({ id: '4711' });\n * });\n * ```\n *\n * @example\n * ```\n *\n * import { addBreadcrumb } from '@sentry/browser';\n * addBreadcrumb({\n * message: 'My Breadcrumb',\n * // ...\n * });\n * ```\n *\n * @example\n *\n * ```\n *\n * import * as Sentry from '@sentry/browser';\n * Sentry.captureMessage('Hello, world!');\n * Sentry.captureException(new Error('Good bye'));\n * Sentry.captureEvent({\n * message: 'Manual',\n * stacktrace: [\n * // ...\n * ],\n * });\n * ```\n *\n * @see {@link BrowserOptions} for documentation on configuration options.\n */\nexport function init(options) {\n if (options === void 0) { options = {}; }\n if (options.defaultIntegrations === undefined) {\n options.defaultIntegrations = defaultIntegrations;\n }\n if (options.release === undefined) {\n var window_1 = getGlobalObject();\n // This supports the variable that sentry-webpack-plugin injects\n if (window_1.SENTRY_RELEASE && window_1.SENTRY_RELEASE.id) {\n options.release = window_1.SENTRY_RELEASE.id;\n }\n }\n initAndBind(BrowserClient, options);\n}\n/**\n * Present the user with a report dialog.\n *\n * @param options Everything is optional, we try to fetch all info need from the global scope.\n */\nexport function showReportDialog(options) {\n if (options === void 0) { options = {}; }\n if (!options.eventId) {\n options.eventId = getCurrentHub().lastEventId();\n }\n var client = getCurrentHub().getClient();\n if (client) {\n client.showReportDialog(options);\n }\n}\n/**\n * This is the getter for lastEventId.\n *\n * @returns The last event id of a captured event.\n */\nexport function lastEventId() {\n return getCurrentHub().lastEventId();\n}\n/**\n * This function is here to be API compatible with the loader.\n * @hidden\n */\nexport function forceLoad() {\n // Noop\n}\n/**\n * This function is here to be API compatible with the loader.\n * @hidden\n */\nexport function onLoad(callback) {\n callback();\n}\n/**\n * A promise that resolves when all current events have been sent.\n * If you provide a timeout and the queue takes longer to drain the promise returns false.\n *\n * @param timeout Maximum time in ms the client should wait.\n */\nexport function flush(timeout) {\n var client = getCurrentHub().getClient();\n if (client) {\n return client.flush(timeout);\n }\n return SyncPromise.reject(false);\n}\n/**\n * A promise that resolves when all current events have been sent.\n * If you provide a timeout and the queue takes longer to drain the promise returns false.\n *\n * @param timeout Maximum time in ms the client should wait.\n */\nexport function close(timeout) {\n var client = getCurrentHub().getClient();\n if (client) {\n return client.close(timeout);\n }\n return SyncPromise.reject(false);\n}\n/**\n * Wrap code within a try/catch block so the SDK is able to capture errors.\n *\n * @param fn A function to wrap.\n *\n * @returns The result of wrapped function call.\n */\nexport function wrap(fn) {\n return internalWrap(fn)(); // tslint:disable-line:no-unsafe-any\n}\n//# sourceMappingURL=sdk.js.map","// tslint:disable:object-literal-sort-keys\nimport * as tslib_1 from \"tslib\";\n// global reference to slice\nvar UNKNOWN_FUNCTION = '?';\n// Chromium based browsers: Chrome, Brave, new Opera, new Edge\nvar chrome = /^\\s*at (?:(.*?) ?\\()?((?:file|https?|blob|chrome-extension|address|native|eval|webpack||[-a-z]+:|.*bundle|\\/).*?)(?::(\\d+))?(?::(\\d+))?\\)?\\s*$/i;\n// gecko regex: `(?:bundle|\\d+\\.js)`: `bundle` is for react native, `\\d+\\.js` also but specifically for ram bundles because it\n// generates filenames without a prefix like `file://` the filenames in the stacktrace are just 42.js\n// We need this specific case for now because we want no other regex to match.\nvar gecko = /^\\s*(.*?)(?:\\((.*?)\\))?(?:^|@)?((?:file|https?|blob|chrome|webpack|resource|moz-extension).*?:\\/.*?|\\[native code\\]|[^@]*(?:bundle|\\d+\\.js))(?::(\\d+))?(?::(\\d+))?\\s*$/i;\nvar winjs = /^\\s*at (?:((?:\\[object object\\])?.+) )?\\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;\nvar geckoEval = /(\\S+) line (\\d+)(?: > eval line \\d+)* > eval/i;\nvar chromeEval = /\\((\\S*)(?::(\\d+))(?::(\\d+))\\)/;\n/** JSDoc */\nexport function computeStackTrace(ex) {\n // tslint:disable:no-unsafe-any\n var stack = null;\n var popSize = ex && ex.framesToPop;\n try {\n // This must be tried first because Opera 10 *destroys*\n // its stacktrace property if you try to access the stack\n // property first!!\n stack = computeStackTraceFromStacktraceProp(ex);\n if (stack) {\n return popFrames(stack, popSize);\n }\n }\n catch (e) {\n // no-empty\n }\n try {\n stack = computeStackTraceFromStackProp(ex);\n if (stack) {\n return popFrames(stack, popSize);\n }\n }\n catch (e) {\n // no-empty\n }\n return {\n message: extractMessage(ex),\n name: ex && ex.name,\n stack: [],\n failed: true,\n };\n}\n/** JSDoc */\n// tslint:disable-next-line:cyclomatic-complexity\nfunction computeStackTraceFromStackProp(ex) {\n // tslint:disable:no-conditional-assignment\n if (!ex || !ex.stack) {\n return null;\n }\n var stack = [];\n var lines = ex.stack.split('\\n');\n var isEval;\n var submatch;\n var parts;\n var element;\n for (var i = 0; i < lines.length; ++i) {\n if ((parts = chrome.exec(lines[i]))) {\n var isNative = parts[2] && parts[2].indexOf('native') === 0; // start of line\n isEval = parts[2] && parts[2].indexOf('eval') === 0; // start of line\n if (isEval && (submatch = chromeEval.exec(parts[2]))) {\n // throw out eval line/column and use top-most line/column number\n parts[2] = submatch[1]; // url\n parts[3] = submatch[2]; // line\n parts[4] = submatch[3]; // column\n }\n element = {\n // working with the regexp above is super painful. it is quite a hack, but just stripping the `address at `\n // prefix here seems like the quickest solution for now.\n url: parts[2] && parts[2].indexOf('address at ') === 0 ? parts[2].substr('address at '.length) : parts[2],\n func: parts[1] || UNKNOWN_FUNCTION,\n args: isNative ? [parts[2]] : [],\n line: parts[3] ? +parts[3] : null,\n column: parts[4] ? +parts[4] : null,\n };\n }\n else if ((parts = winjs.exec(lines[i]))) {\n element = {\n url: parts[2],\n func: parts[1] || UNKNOWN_FUNCTION,\n args: [],\n line: +parts[3],\n column: parts[4] ? +parts[4] : null,\n };\n }\n else if ((parts = gecko.exec(lines[i]))) {\n isEval = parts[3] && parts[3].indexOf(' > eval') > -1;\n if (isEval && (submatch = geckoEval.exec(parts[3]))) {\n // throw out eval line/column and use top-most line number\n parts[1] = parts[1] || \"eval\";\n parts[3] = submatch[1];\n parts[4] = submatch[2];\n parts[5] = ''; // no column when eval\n }\n else if (i === 0 && !parts[5] && ex.columnNumber !== void 0) {\n // FireFox uses this awesome columnNumber property for its top frame\n // Also note, Firefox's column number is 0-based and everything else expects 1-based,\n // so adding 1\n // NOTE: this hack doesn't work if top-most frame is eval\n stack[0].column = ex.columnNumber + 1;\n }\n element = {\n url: parts[3],\n func: parts[1] || UNKNOWN_FUNCTION,\n args: parts[2] ? parts[2].split(',') : [],\n line: parts[4] ? +parts[4] : null,\n column: parts[5] ? +parts[5] : null,\n };\n }\n else {\n continue;\n }\n if (!element.func && element.line) {\n element.func = UNKNOWN_FUNCTION;\n }\n stack.push(element);\n }\n if (!stack.length) {\n return null;\n }\n return {\n message: extractMessage(ex),\n name: ex.name,\n stack: stack,\n };\n}\n/** JSDoc */\nfunction computeStackTraceFromStacktraceProp(ex) {\n if (!ex || !ex.stacktrace) {\n return null;\n }\n // Access and store the stacktrace property before doing ANYTHING\n // else to it because Opera is not very good at providing it\n // reliably in other circumstances.\n var stacktrace = ex.stacktrace;\n var opera10Regex = / line (\\d+).*script (?:in )?(\\S+)(?:: in function (\\S+))?$/i;\n var opera11Regex = / line (\\d+), column (\\d+)\\s*(?:in (?:]+)>|([^\\)]+))\\((.*)\\))? in (.*):\\s*$/i;\n var lines = stacktrace.split('\\n');\n var stack = [];\n var parts;\n for (var line = 0; line < lines.length; line += 2) {\n // tslint:disable:no-conditional-assignment\n var element = null;\n if ((parts = opera10Regex.exec(lines[line]))) {\n element = {\n url: parts[2],\n func: parts[3],\n args: [],\n line: +parts[1],\n column: null,\n };\n }\n else if ((parts = opera11Regex.exec(lines[line]))) {\n element = {\n url: parts[6],\n func: parts[3] || parts[4],\n args: parts[5] ? parts[5].split(',') : [],\n line: +parts[1],\n column: +parts[2],\n };\n }\n if (element) {\n if (!element.func && element.line) {\n element.func = UNKNOWN_FUNCTION;\n }\n stack.push(element);\n }\n }\n if (!stack.length) {\n return null;\n }\n return {\n message: extractMessage(ex),\n name: ex.name,\n stack: stack,\n };\n}\n/** Remove N number of frames from the stack */\nfunction popFrames(stacktrace, popSize) {\n try {\n return tslib_1.__assign({}, stacktrace, { stack: stacktrace.stack.slice(popSize) });\n }\n catch (e) {\n return stacktrace;\n }\n}\n/**\n * There are cases where stacktrace.message is an Event object\n * https://github.com/getsentry/sentry-javascript/issues/1949\n * In this specific case we try to extract stacktrace.message.error.message\n */\nfunction extractMessage(ex) {\n var message = ex && ex.message;\n if (!message) {\n return 'No error message';\n }\n if (message.error && typeof message.error.message === 'string') {\n return message.error.message;\n }\n return message;\n}\n//# sourceMappingURL=tracekit.js.map","import { API } from '@sentry/core';\nimport { PromiseBuffer, SentryError } from '@sentry/utils';\n/** Base Transport class implementation */\nvar BaseTransport = /** @class */ (function () {\n function BaseTransport(options) {\n this.options = options;\n /** A simple buffer holding all requests. */\n this._buffer = new PromiseBuffer(30);\n this.url = new API(this.options.dsn).getStoreEndpointWithUrlEncodedAuth();\n }\n /**\n * @inheritDoc\n */\n BaseTransport.prototype.sendEvent = function (_) {\n throw new SentryError('Transport Class has to implement `sendEvent` method');\n };\n /**\n * @inheritDoc\n */\n BaseTransport.prototype.close = function (timeout) {\n return this._buffer.drain(timeout);\n };\n return BaseTransport;\n}());\nexport { BaseTransport };\n//# sourceMappingURL=base.js.map","import * as tslib_1 from \"tslib\";\nimport { Status } from '@sentry/types';\nimport { getGlobalObject, logger, parseRetryAfterHeader, supportsReferrerPolicy, SyncPromise } from '@sentry/utils';\nimport { BaseTransport } from './base';\nvar global = getGlobalObject();\n/** `fetch` based transport */\nvar FetchTransport = /** @class */ (function (_super) {\n tslib_1.__extends(FetchTransport, _super);\n function FetchTransport() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n /** Locks transport after receiving 429 response */\n _this._disabledUntil = new Date(Date.now());\n return _this;\n }\n /**\n * @inheritDoc\n */\n FetchTransport.prototype.sendEvent = function (event) {\n var _this = this;\n if (new Date(Date.now()) < this._disabledUntil) {\n return Promise.reject({\n event: event,\n reason: \"Transport locked till \" + this._disabledUntil + \" due to too many requests.\",\n status: 429,\n });\n }\n var defaultOptions = {\n body: JSON.stringify(event),\n method: 'POST',\n // Despite all stars in the sky saying that Edge supports old draft syntax, aka 'never', 'always', 'origin' and 'default\n // https://caniuse.com/#feat=referrer-policy\n // It doesn't. And it throw exception instead of ignoring this parameter...\n // REF: https://github.com/getsentry/raven-js/issues/1233\n referrerPolicy: (supportsReferrerPolicy() ? 'origin' : ''),\n };\n if (this.options.headers !== undefined) {\n defaultOptions.headers = this.options.headers;\n }\n return this._buffer.add(new SyncPromise(function (resolve, reject) {\n global\n .fetch(_this.url, defaultOptions)\n .then(function (response) {\n var status = Status.fromHttpCode(response.status);\n if (status === Status.Success) {\n resolve({ status: status });\n return;\n }\n if (status === Status.RateLimit) {\n var now = Date.now();\n _this._disabledUntil = new Date(now + parseRetryAfterHeader(now, response.headers.get('Retry-After')));\n logger.warn(\"Too many requests, backing off till: \" + _this._disabledUntil);\n }\n reject(response);\n })\n .catch(reject);\n }));\n };\n return FetchTransport;\n}(BaseTransport));\nexport { FetchTransport };\n//# sourceMappingURL=fetch.js.map","export { BaseTransport } from './base';\nexport { FetchTransport } from './fetch';\nexport { XHRTransport } from './xhr';\n//# sourceMappingURL=index.js.map","import * as tslib_1 from \"tslib\";\nimport { Status } from '@sentry/types';\nimport { logger, parseRetryAfterHeader, SyncPromise } from '@sentry/utils';\nimport { BaseTransport } from './base';\n/** `XHR` based transport */\nvar XHRTransport = /** @class */ (function (_super) {\n tslib_1.__extends(XHRTransport, _super);\n function XHRTransport() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n /** Locks transport after receiving 429 response */\n _this._disabledUntil = new Date(Date.now());\n return _this;\n }\n /**\n * @inheritDoc\n */\n XHRTransport.prototype.sendEvent = function (event) {\n var _this = this;\n if (new Date(Date.now()) < this._disabledUntil) {\n return Promise.reject({\n event: event,\n reason: \"Transport locked till \" + this._disabledUntil + \" due to too many requests.\",\n status: 429,\n });\n }\n return this._buffer.add(new SyncPromise(function (resolve, reject) {\n var request = new XMLHttpRequest();\n request.onreadystatechange = function () {\n if (request.readyState !== 4) {\n return;\n }\n var status = Status.fromHttpCode(request.status);\n if (status === Status.Success) {\n resolve({ status: status });\n return;\n }\n if (status === Status.RateLimit) {\n var now = Date.now();\n _this._disabledUntil = new Date(now + parseRetryAfterHeader(now, request.getResponseHeader('Retry-After')));\n logger.warn(\"Too many requests, backing off till: \" + _this._disabledUntil);\n }\n reject(request);\n };\n request.open('POST', _this.url);\n for (var header in _this.options.headers) {\n if (_this.options.headers.hasOwnProperty(header)) {\n request.setRequestHeader(header, _this.options.headers[header]);\n }\n }\n request.send(JSON.stringify(event));\n }));\n };\n return XHRTransport;\n}(BaseTransport));\nexport { XHRTransport };\n//# sourceMappingURL=xhr.js.map","export var SDK_NAME = 'sentry.javascript.browser';\nexport var SDK_VERSION = '5.15.5';\n//# sourceMappingURL=version.js.map","import { Dsn, urlEncode } from '@sentry/utils';\nvar SENTRY_API_VERSION = '7';\n/** Helper class to provide urls to different Sentry endpoints. */\nvar API = /** @class */ (function () {\n /** Create a new instance of API */\n function API(dsn) {\n this.dsn = dsn;\n this._dsnObject = new Dsn(dsn);\n }\n /** Returns the Dsn object. */\n API.prototype.getDsn = function () {\n return this._dsnObject;\n };\n /** Returns a string with auth headers in the url to the store endpoint. */\n API.prototype.getStoreEndpoint = function () {\n return \"\" + this._getBaseUrl() + this.getStoreEndpointPath();\n };\n /** Returns the store endpoint with auth added in url encoded. */\n API.prototype.getStoreEndpointWithUrlEncodedAuth = function () {\n var dsn = this._dsnObject;\n var auth = {\n sentry_key: dsn.user,\n sentry_version: SENTRY_API_VERSION,\n };\n // Auth is intentionally sent as part of query string (NOT as custom HTTP header)\n // to avoid preflight CORS requests\n return this.getStoreEndpoint() + \"?\" + urlEncode(auth);\n };\n /** Returns the base path of the url including the port. */\n API.prototype._getBaseUrl = function () {\n var dsn = this._dsnObject;\n var protocol = dsn.protocol ? dsn.protocol + \":\" : '';\n var port = dsn.port ? \":\" + dsn.port : '';\n return protocol + \"//\" + dsn.host + port;\n };\n /** Returns only the path component for the store endpoint. */\n API.prototype.getStoreEndpointPath = function () {\n var dsn = this._dsnObject;\n return (dsn.path ? \"/\" + dsn.path : '') + \"/api/\" + dsn.projectId + \"/store/\";\n };\n /** Returns an object that can be used in request headers. */\n API.prototype.getRequestHeaders = function (clientName, clientVersion) {\n var dsn = this._dsnObject;\n var header = [\"Sentry sentry_version=\" + SENTRY_API_VERSION];\n header.push(\"sentry_client=\" + clientName + \"/\" + clientVersion);\n header.push(\"sentry_key=\" + dsn.user);\n if (dsn.pass) {\n header.push(\"sentry_secret=\" + dsn.pass);\n }\n return {\n 'Content-Type': 'application/json',\n 'X-Sentry-Auth': header.join(', '),\n };\n };\n /** Returns the url to the report dialog endpoint. */\n API.prototype.getReportDialogEndpoint = function (dialogOptions) {\n if (dialogOptions === void 0) { dialogOptions = {}; }\n var dsn = this._dsnObject;\n var endpoint = \"\" + this._getBaseUrl() + (dsn.path ? \"/\" + dsn.path : '') + \"/api/embed/error-page/\";\n var encodedOptions = [];\n encodedOptions.push(\"dsn=\" + dsn.toString());\n for (var key in dialogOptions) {\n if (key === 'user') {\n if (!dialogOptions.user) {\n continue;\n }\n if (dialogOptions.user.name) {\n encodedOptions.push(\"name=\" + encodeURIComponent(dialogOptions.user.name));\n }\n if (dialogOptions.user.email) {\n encodedOptions.push(\"email=\" + encodeURIComponent(dialogOptions.user.email));\n }\n }\n else {\n encodedOptions.push(encodeURIComponent(key) + \"=\" + encodeURIComponent(dialogOptions[key]));\n }\n }\n if (encodedOptions.length) {\n return endpoint + \"?\" + encodedOptions.join('&');\n }\n return endpoint;\n };\n return API;\n}());\nexport { API };\n//# sourceMappingURL=api.js.map","import { logger, SentryError } from '@sentry/utils';\nimport { NoopTransport } from './transports/noop';\n/**\n * This is the base implemention of a Backend.\n * @hidden\n */\nvar BaseBackend = /** @class */ (function () {\n /** Creates a new backend instance. */\n function BaseBackend(options) {\n this._options = options;\n if (!this._options.dsn) {\n logger.warn('No DSN provided, backend will not do anything.');\n }\n this._transport = this._setupTransport();\n }\n /**\n * Sets up the transport so it can be used later to send requests.\n */\n BaseBackend.prototype._setupTransport = function () {\n return new NoopTransport();\n };\n /**\n * @inheritDoc\n */\n BaseBackend.prototype.eventFromException = function (_exception, _hint) {\n throw new SentryError('Backend has to implement `eventFromException` method');\n };\n /**\n * @inheritDoc\n */\n BaseBackend.prototype.eventFromMessage = function (_message, _level, _hint) {\n throw new SentryError('Backend has to implement `eventFromMessage` method');\n };\n /**\n * @inheritDoc\n */\n BaseBackend.prototype.sendEvent = function (event) {\n this._transport.sendEvent(event).then(null, function (reason) {\n logger.error(\"Error while sending event: \" + reason);\n });\n };\n /**\n * @inheritDoc\n */\n BaseBackend.prototype.getTransport = function () {\n return this._transport;\n };\n return BaseBackend;\n}());\nexport { BaseBackend };\n//# sourceMappingURL=basebackend.js.map","import * as tslib_1 from \"tslib\";\nimport { Dsn, isPrimitive, isThenable, logger, normalize, SyncPromise, truncate, uuid4 } from '@sentry/utils';\nimport { setupIntegrations } from './integration';\n/**\n * Base implementation for all JavaScript SDK clients.\n *\n * Call the constructor with the corresponding backend constructor and options\n * specific to the client subclass. To access these options later, use\n * {@link Client.getOptions}. Also, the Backend instance is available via\n * {@link Client.getBackend}.\n *\n * If a Dsn is specified in the options, it will be parsed and stored. Use\n * {@link Client.getDsn} to retrieve the Dsn at any moment. In case the Dsn is\n * invalid, the constructor will throw a {@link SentryException}. Note that\n * without a valid Dsn, the SDK will not send any events to Sentry.\n *\n * Before sending an event via the backend, it is passed through\n * {@link BaseClient.prepareEvent} to add SDK information and scope data\n * (breadcrumbs and context). To add more custom information, override this\n * method and extend the resulting prepared event.\n *\n * To issue automatically created events (e.g. via instrumentation), use\n * {@link Client.captureEvent}. It will prepare the event and pass it through\n * the callback lifecycle. To issue auto-breadcrumbs, use\n * {@link Client.addBreadcrumb}.\n *\n * @example\n * class NodeClient extends BaseClient {\n * public constructor(options: NodeOptions) {\n * super(NodeBackend, options);\n * }\n *\n * // ...\n * }\n */\nvar BaseClient = /** @class */ (function () {\n /**\n * Initializes this client instance.\n *\n * @param backendClass A constructor function to create the backend.\n * @param options Options for the client.\n */\n function BaseClient(backendClass, options) {\n /** Array of used integrations. */\n this._integrations = {};\n /** Is the client still processing a call? */\n this._processing = false;\n this._backend = new backendClass(options);\n this._options = options;\n if (options.dsn) {\n this._dsn = new Dsn(options.dsn);\n }\n }\n /**\n * @inheritDoc\n */\n BaseClient.prototype.captureException = function (exception, hint, scope) {\n var _this = this;\n var eventId = hint && hint.event_id;\n this._processing = true;\n this._getBackend()\n .eventFromException(exception, hint)\n .then(function (event) { return _this._processEvent(event, hint, scope); })\n .then(function (finalEvent) {\n // We need to check for finalEvent in case beforeSend returned null\n eventId = finalEvent && finalEvent.event_id;\n _this._processing = false;\n })\n .then(null, function (reason) {\n logger.error(reason);\n _this._processing = false;\n });\n return eventId;\n };\n /**\n * @inheritDoc\n */\n BaseClient.prototype.captureMessage = function (message, level, hint, scope) {\n var _this = this;\n var eventId = hint && hint.event_id;\n this._processing = true;\n var promisedEvent = isPrimitive(message)\n ? this._getBackend().eventFromMessage(\"\" + message, level, hint)\n : this._getBackend().eventFromException(message, hint);\n promisedEvent\n .then(function (event) { return _this._processEvent(event, hint, scope); })\n .then(function (finalEvent) {\n // We need to check for finalEvent in case beforeSend returned null\n eventId = finalEvent && finalEvent.event_id;\n _this._processing = false;\n })\n .then(null, function (reason) {\n logger.error(reason);\n _this._processing = false;\n });\n return eventId;\n };\n /**\n * @inheritDoc\n */\n BaseClient.prototype.captureEvent = function (event, hint, scope) {\n var _this = this;\n var eventId = hint && hint.event_id;\n this._processing = true;\n this._processEvent(event, hint, scope)\n .then(function (finalEvent) {\n // We need to check for finalEvent in case beforeSend returned null\n eventId = finalEvent && finalEvent.event_id;\n _this._processing = false;\n })\n .then(null, function (reason) {\n logger.error(reason);\n _this._processing = false;\n });\n return eventId;\n };\n /**\n * @inheritDoc\n */\n BaseClient.prototype.getDsn = function () {\n return this._dsn;\n };\n /**\n * @inheritDoc\n */\n BaseClient.prototype.getOptions = function () {\n return this._options;\n };\n /**\n * @inheritDoc\n */\n BaseClient.prototype.flush = function (timeout) {\n var _this = this;\n return this._isClientProcessing(timeout).then(function (status) {\n clearInterval(status.interval);\n return _this._getBackend()\n .getTransport()\n .close(timeout)\n .then(function (transportFlushed) { return status.ready && transportFlushed; });\n });\n };\n /**\n * @inheritDoc\n */\n BaseClient.prototype.close = function (timeout) {\n var _this = this;\n return this.flush(timeout).then(function (result) {\n _this.getOptions().enabled = false;\n return result;\n });\n };\n /**\n * Sets up the integrations\n */\n BaseClient.prototype.setupIntegrations = function () {\n if (this._isEnabled()) {\n this._integrations = setupIntegrations(this._options);\n }\n };\n /**\n * @inheritDoc\n */\n BaseClient.prototype.getIntegration = function (integration) {\n try {\n return this._integrations[integration.id] || null;\n }\n catch (_oO) {\n logger.warn(\"Cannot retrieve integration \" + integration.id + \" from the current Client\");\n return null;\n }\n };\n /** Waits for the client to be done with processing. */\n BaseClient.prototype._isClientProcessing = function (timeout) {\n var _this = this;\n return new SyncPromise(function (resolve) {\n var ticked = 0;\n var tick = 1;\n var interval = 0;\n clearInterval(interval);\n interval = setInterval(function () {\n if (!_this._processing) {\n resolve({\n interval: interval,\n ready: true,\n });\n }\n else {\n ticked += tick;\n if (timeout && ticked >= timeout) {\n resolve({\n interval: interval,\n ready: false,\n });\n }\n }\n }, tick);\n });\n };\n /** Returns the current backend. */\n BaseClient.prototype._getBackend = function () {\n return this._backend;\n };\n /** Determines whether this SDK is enabled and a valid Dsn is present. */\n BaseClient.prototype._isEnabled = function () {\n return this.getOptions().enabled !== false && this._dsn !== undefined;\n };\n /**\n * Adds common information to events.\n *\n * The information includes release and environment from `options`,\n * breadcrumbs and context (extra, tags and user) from the scope.\n *\n * Information that is already present in the event is never overwritten. For\n * nested objects, such as the context, keys are merged.\n *\n * @param event The original event.\n * @param hint May contain additional informartion about the original exception.\n * @param scope A scope containing event metadata.\n * @returns A new event with more information.\n */\n BaseClient.prototype._prepareEvent = function (event, scope, hint) {\n var _this = this;\n var _a = this.getOptions(), environment = _a.environment, release = _a.release, dist = _a.dist, _b = _a.maxValueLength, maxValueLength = _b === void 0 ? 250 : _b, _c = _a.normalizeDepth, normalizeDepth = _c === void 0 ? 3 : _c;\n var prepared = tslib_1.__assign({}, event);\n if (prepared.environment === undefined && environment !== undefined) {\n prepared.environment = environment;\n }\n if (prepared.release === undefined && release !== undefined) {\n prepared.release = release;\n }\n if (prepared.dist === undefined && dist !== undefined) {\n prepared.dist = dist;\n }\n if (prepared.message) {\n prepared.message = truncate(prepared.message, maxValueLength);\n }\n var exception = prepared.exception && prepared.exception.values && prepared.exception.values[0];\n if (exception && exception.value) {\n exception.value = truncate(exception.value, maxValueLength);\n }\n var request = prepared.request;\n if (request && request.url) {\n request.url = truncate(request.url, maxValueLength);\n }\n if (prepared.event_id === undefined) {\n prepared.event_id = hint && hint.event_id ? hint.event_id : uuid4();\n }\n this._addIntegrations(prepared.sdk);\n // We prepare the result here with a resolved Event.\n var result = SyncPromise.resolve(prepared);\n // This should be the last thing called, since we want that\n // {@link Hub.addEventProcessor} gets the finished prepared event.\n if (scope) {\n // In case we have a hub we reassign it.\n result = scope.applyToEvent(prepared, hint);\n }\n return result.then(function (evt) {\n // tslint:disable-next-line:strict-type-predicates\n if (typeof normalizeDepth === 'number' && normalizeDepth > 0) {\n return _this._normalizeEvent(evt, normalizeDepth);\n }\n return evt;\n });\n };\n /**\n * Applies `normalize` function on necessary `Event` attributes to make them safe for serialization.\n * Normalized keys:\n * - `breadcrumbs.data`\n * - `user`\n * - `contexts`\n * - `extra`\n * @param event Event\n * @returns Normalized event\n */\n BaseClient.prototype._normalizeEvent = function (event, depth) {\n if (!event) {\n return null;\n }\n // tslint:disable:no-unsafe-any\n return tslib_1.__assign({}, event, (event.breadcrumbs && {\n breadcrumbs: event.breadcrumbs.map(function (b) { return (tslib_1.__assign({}, b, (b.data && {\n data: normalize(b.data, depth),\n }))); }),\n }), (event.user && {\n user: normalize(event.user, depth),\n }), (event.contexts && {\n contexts: normalize(event.contexts, depth),\n }), (event.extra && {\n extra: normalize(event.extra, depth),\n }));\n };\n /**\n * This function adds all used integrations to the SDK info in the event.\n * @param sdkInfo The sdkInfo of the event that will be filled with all integrations.\n */\n BaseClient.prototype._addIntegrations = function (sdkInfo) {\n var integrationsArray = Object.keys(this._integrations);\n if (sdkInfo && integrationsArray.length > 0) {\n sdkInfo.integrations = integrationsArray;\n }\n };\n /**\n * Processes an event (either error or message) and sends it to Sentry.\n *\n * This also adds breadcrumbs and context information to the event. However,\n * platform specific meta data (such as the User's IP address) must be added\n * by the SDK implementor.\n *\n *\n * @param event The event to send to Sentry.\n * @param hint May contain additional informartion about the original exception.\n * @param scope A scope containing event metadata.\n * @returns A SyncPromise that resolves with the event or rejects in case event was/will not be send.\n */\n BaseClient.prototype._processEvent = function (event, hint, scope) {\n var _this = this;\n var _a = this.getOptions(), beforeSend = _a.beforeSend, sampleRate = _a.sampleRate;\n if (!this._isEnabled()) {\n return SyncPromise.reject('SDK not enabled, will not send event.');\n }\n // 1.0 === 100% events are sent\n // 0.0 === 0% events are sent\n if (typeof sampleRate === 'number' && Math.random() > sampleRate) {\n return SyncPromise.reject('This event has been sampled, will not send event.');\n }\n return new SyncPromise(function (resolve, reject) {\n _this._prepareEvent(event, scope, hint)\n .then(function (prepared) {\n if (prepared === null) {\n reject('An event processor returned null, will not send event.');\n return;\n }\n var finalEvent = prepared;\n var isInternalException = hint && hint.data && hint.data.__sentry__ === true;\n if (isInternalException || !beforeSend) {\n _this._getBackend().sendEvent(finalEvent);\n resolve(finalEvent);\n return;\n }\n var beforeSendResult = beforeSend(prepared, hint);\n // tslint:disable-next-line:strict-type-predicates\n if (typeof beforeSendResult === 'undefined') {\n logger.error('`beforeSend` method has to return `null` or a valid event.');\n }\n else if (isThenable(beforeSendResult)) {\n _this._handleAsyncBeforeSend(beforeSendResult, resolve, reject);\n }\n else {\n finalEvent = beforeSendResult;\n if (finalEvent === null) {\n logger.log('`beforeSend` returned `null`, will not send event.');\n resolve(null);\n return;\n }\n // From here on we are really async\n _this._getBackend().sendEvent(finalEvent);\n resolve(finalEvent);\n }\n })\n .then(null, function (reason) {\n _this.captureException(reason, {\n data: {\n __sentry__: true,\n },\n originalException: reason,\n });\n reject(\"Event processing pipeline threw an error, original event will not be sent. Details have been sent as a new event.\\nReason: \" + reason);\n });\n });\n };\n /**\n * Resolves before send Promise and calls resolve/reject on parent SyncPromise.\n */\n BaseClient.prototype._handleAsyncBeforeSend = function (beforeSend, resolve, reject) {\n var _this = this;\n beforeSend\n .then(function (processedEvent) {\n if (processedEvent === null) {\n reject('`beforeSend` returned `null`, will not send event.');\n return;\n }\n // From here on we are really async\n _this._getBackend().sendEvent(processedEvent);\n resolve(processedEvent);\n })\n .then(null, function (e) {\n reject(\"beforeSend rejected with \" + e);\n });\n };\n return BaseClient;\n}());\nexport { BaseClient };\n//# sourceMappingURL=baseclient.js.map","export { addBreadcrumb, captureException, captureEvent, captureMessage, configureScope, setContext, setExtra, setExtras, setTag, setTags, setUser, withScope, } from '@sentry/minimal';\nexport { addGlobalEventProcessor, getCurrentHub, getHubFromCarrier, Hub, Scope } from '@sentry/hub';\nexport { API } from './api';\nexport { BaseClient } from './baseclient';\nexport { BaseBackend } from './basebackend';\nexport { initAndBind } from './sdk';\nexport { NoopTransport } from './transports/noop';\nimport * as Integrations from './integrations';\nexport { Integrations };\n//# sourceMappingURL=index.js.map","import * as tslib_1 from \"tslib\";\nimport { addGlobalEventProcessor, getCurrentHub } from '@sentry/hub';\nimport { logger } from '@sentry/utils';\nexport var installedIntegrations = [];\n/** Gets integration to install */\nexport function getIntegrationsToSetup(options) {\n var defaultIntegrations = (options.defaultIntegrations && tslib_1.__spread(options.defaultIntegrations)) || [];\n var userIntegrations = options.integrations;\n var integrations = [];\n if (Array.isArray(userIntegrations)) {\n var userIntegrationsNames_1 = userIntegrations.map(function (i) { return i.name; });\n var pickedIntegrationsNames_1 = [];\n // Leave only unique default integrations, that were not overridden with provided user integrations\n defaultIntegrations.forEach(function (defaultIntegration) {\n if (userIntegrationsNames_1.indexOf(defaultIntegration.name) === -1 &&\n pickedIntegrationsNames_1.indexOf(defaultIntegration.name) === -1) {\n integrations.push(defaultIntegration);\n pickedIntegrationsNames_1.push(defaultIntegration.name);\n }\n });\n // Don't add same user integration twice\n userIntegrations.forEach(function (userIntegration) {\n if (pickedIntegrationsNames_1.indexOf(userIntegration.name) === -1) {\n integrations.push(userIntegration);\n pickedIntegrationsNames_1.push(userIntegration.name);\n }\n });\n }\n else if (typeof userIntegrations === 'function') {\n integrations = userIntegrations(defaultIntegrations);\n integrations = Array.isArray(integrations) ? integrations : [integrations];\n }\n else {\n integrations = tslib_1.__spread(defaultIntegrations);\n }\n // Make sure that if present, `Debug` integration will always run last\n var integrationsNames = integrations.map(function (i) { return i.name; });\n var alwaysLastToRun = 'Debug';\n if (integrationsNames.indexOf(alwaysLastToRun) !== -1) {\n integrations.push.apply(integrations, tslib_1.__spread(integrations.splice(integrationsNames.indexOf(alwaysLastToRun), 1)));\n }\n return integrations;\n}\n/** Setup given integration */\nexport function setupIntegration(integration) {\n if (installedIntegrations.indexOf(integration.name) !== -1) {\n return;\n }\n integration.setupOnce(addGlobalEventProcessor, getCurrentHub);\n installedIntegrations.push(integration.name);\n logger.log(\"Integration installed: \" + integration.name);\n}\n/**\n * Given a list of integration instances this installs them all. When `withDefaults` is set to `true` then all default\n * integrations are added unless they were already provided before.\n * @param integrations array of integration instances\n * @param withDefault should enable default integrations\n */\nexport function setupIntegrations(options) {\n var integrations = {};\n getIntegrationsToSetup(options).forEach(function (integration) {\n integrations[integration.name] = integration;\n setupIntegration(integration);\n });\n return integrations;\n}\n//# sourceMappingURL=integration.js.map","var originalFunctionToString;\n/** Patch toString calls to return proper name for wrapped functions */\nvar FunctionToString = /** @class */ (function () {\n function FunctionToString() {\n /**\n * @inheritDoc\n */\n this.name = FunctionToString.id;\n }\n /**\n * @inheritDoc\n */\n FunctionToString.prototype.setupOnce = function () {\n originalFunctionToString = Function.prototype.toString;\n Function.prototype.toString = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var context = this.__sentry_original__ || this;\n // tslint:disable-next-line:no-unsafe-any\n return originalFunctionToString.apply(context, args);\n };\n };\n /**\n * @inheritDoc\n */\n FunctionToString.id = 'FunctionToString';\n return FunctionToString;\n}());\nexport { FunctionToString };\n//# sourceMappingURL=functiontostring.js.map","import * as tslib_1 from \"tslib\";\nimport { addGlobalEventProcessor, getCurrentHub } from '@sentry/hub';\nimport { getEventDescription, isMatchingPattern, logger } from '@sentry/utils';\n// \"Script error.\" is hard coded into browsers for errors that it can't read.\n// this is the result of a script being pulled in from an external domain and CORS.\nvar DEFAULT_IGNORE_ERRORS = [/^Script error\\.?$/, /^Javascript error: Script error\\.? on line 0$/];\n/** Inbound filters configurable by the user */\nvar InboundFilters = /** @class */ (function () {\n function InboundFilters(_options) {\n if (_options === void 0) { _options = {}; }\n this._options = _options;\n /**\n * @inheritDoc\n */\n this.name = InboundFilters.id;\n }\n /**\n * @inheritDoc\n */\n InboundFilters.prototype.setupOnce = function () {\n addGlobalEventProcessor(function (event) {\n var hub = getCurrentHub();\n if (!hub) {\n return event;\n }\n var self = hub.getIntegration(InboundFilters);\n if (self) {\n var client = hub.getClient();\n var clientOptions = client ? client.getOptions() : {};\n var options = self._mergeOptions(clientOptions);\n if (self._shouldDropEvent(event, options)) {\n return null;\n }\n }\n return event;\n });\n };\n /** JSDoc */\n InboundFilters.prototype._shouldDropEvent = function (event, options) {\n if (this._isSentryError(event, options)) {\n logger.warn(\"Event dropped due to being internal Sentry Error.\\nEvent: \" + getEventDescription(event));\n return true;\n }\n if (this._isIgnoredError(event, options)) {\n logger.warn(\"Event dropped due to being matched by `ignoreErrors` option.\\nEvent: \" + getEventDescription(event));\n return true;\n }\n if (this._isBlacklistedUrl(event, options)) {\n logger.warn(\"Event dropped due to being matched by `blacklistUrls` option.\\nEvent: \" + getEventDescription(event) + \".\\nUrl: \" + this._getEventFilterUrl(event));\n return true;\n }\n if (!this._isWhitelistedUrl(event, options)) {\n logger.warn(\"Event dropped due to not being matched by `whitelistUrls` option.\\nEvent: \" + getEventDescription(event) + \".\\nUrl: \" + this._getEventFilterUrl(event));\n return true;\n }\n return false;\n };\n /** JSDoc */\n InboundFilters.prototype._isSentryError = function (event, options) {\n if (options === void 0) { options = {}; }\n if (!options.ignoreInternal) {\n return false;\n }\n try {\n return ((event &&\n event.exception &&\n event.exception.values &&\n event.exception.values[0] &&\n event.exception.values[0].type === 'SentryError') ||\n false);\n }\n catch (_oO) {\n return false;\n }\n };\n /** JSDoc */\n InboundFilters.prototype._isIgnoredError = function (event, options) {\n if (options === void 0) { options = {}; }\n if (!options.ignoreErrors || !options.ignoreErrors.length) {\n return false;\n }\n return this._getPossibleEventMessages(event).some(function (message) {\n // Not sure why TypeScript complains here...\n return options.ignoreErrors.some(function (pattern) { return isMatchingPattern(message, pattern); });\n });\n };\n /** JSDoc */\n InboundFilters.prototype._isBlacklistedUrl = function (event, options) {\n if (options === void 0) { options = {}; }\n // TODO: Use Glob instead?\n if (!options.blacklistUrls || !options.blacklistUrls.length) {\n return false;\n }\n var url = this._getEventFilterUrl(event);\n return !url ? false : options.blacklistUrls.some(function (pattern) { return isMatchingPattern(url, pattern); });\n };\n /** JSDoc */\n InboundFilters.prototype._isWhitelistedUrl = function (event, options) {\n if (options === void 0) { options = {}; }\n // TODO: Use Glob instead?\n if (!options.whitelistUrls || !options.whitelistUrls.length) {\n return true;\n }\n var url = this._getEventFilterUrl(event);\n return !url ? true : options.whitelistUrls.some(function (pattern) { return isMatchingPattern(url, pattern); });\n };\n /** JSDoc */\n InboundFilters.prototype._mergeOptions = function (clientOptions) {\n if (clientOptions === void 0) { clientOptions = {}; }\n return {\n blacklistUrls: tslib_1.__spread((this._options.blacklistUrls || []), (clientOptions.blacklistUrls || [])),\n ignoreErrors: tslib_1.__spread((this._options.ignoreErrors || []), (clientOptions.ignoreErrors || []), DEFAULT_IGNORE_ERRORS),\n ignoreInternal: typeof this._options.ignoreInternal !== 'undefined' ? this._options.ignoreInternal : true,\n whitelistUrls: tslib_1.__spread((this._options.whitelistUrls || []), (clientOptions.whitelistUrls || [])),\n };\n };\n /** JSDoc */\n InboundFilters.prototype._getPossibleEventMessages = function (event) {\n if (event.message) {\n return [event.message];\n }\n if (event.exception) {\n try {\n var _a = (event.exception.values && event.exception.values[0]) || {}, _b = _a.type, type = _b === void 0 ? '' : _b, _c = _a.value, value = _c === void 0 ? '' : _c;\n return [\"\" + value, type + \": \" + value];\n }\n catch (oO) {\n logger.error(\"Cannot extract message for event \" + getEventDescription(event));\n return [];\n }\n }\n return [];\n };\n /** JSDoc */\n InboundFilters.prototype._getEventFilterUrl = function (event) {\n try {\n if (event.stacktrace) {\n var frames_1 = event.stacktrace.frames;\n return (frames_1 && frames_1[frames_1.length - 1].filename) || null;\n }\n if (event.exception) {\n var frames_2 = event.exception.values && event.exception.values[0].stacktrace && event.exception.values[0].stacktrace.frames;\n return (frames_2 && frames_2[frames_2.length - 1].filename) || null;\n }\n return null;\n }\n catch (oO) {\n logger.error(\"Cannot extract url for event \" + getEventDescription(event));\n return null;\n }\n };\n /**\n * @inheritDoc\n */\n InboundFilters.id = 'InboundFilters';\n return InboundFilters;\n}());\nexport { InboundFilters };\n//# sourceMappingURL=inboundfilters.js.map","export { FunctionToString } from './functiontostring';\nexport { InboundFilters } from './inboundfilters';\n//# sourceMappingURL=index.js.map","import { getCurrentHub } from '@sentry/hub';\nimport { logger } from '@sentry/utils';\n/**\n * Internal function to create a new SDK client instance. The client is\n * installed and then bound to the current scope.\n *\n * @param clientClass The client class to instanciate.\n * @param options Options to pass to the client.\n */\nexport function initAndBind(clientClass, options) {\n if (options.debug === true) {\n logger.enable();\n }\n var hub = getCurrentHub();\n var client = new clientClass(options);\n hub.bindClient(client);\n}\n//# sourceMappingURL=sdk.js.map","import { Status } from '@sentry/types';\nimport { SyncPromise } from '@sentry/utils';\n/** Noop transport */\nvar NoopTransport = /** @class */ (function () {\n function NoopTransport() {\n }\n /**\n * @inheritDoc\n */\n NoopTransport.prototype.sendEvent = function (_) {\n return SyncPromise.resolve({\n reason: \"NoopTransport: Event has been skipped because no Dsn is configured.\",\n status: Status.Skipped,\n });\n };\n /**\n * @inheritDoc\n */\n NoopTransport.prototype.close = function (_) {\n return SyncPromise.resolve(true);\n };\n return NoopTransport;\n}());\nexport { NoopTransport };\n//# sourceMappingURL=noop.js.map","import * as tslib_1 from \"tslib\";\nimport { consoleSandbox, getGlobalObject, isNodeEnv, logger, timestampWithMs, uuid4 } from '@sentry/utils';\nimport { Scope } from './scope';\n/**\n * API compatibility version of this hub.\n *\n * WARNING: This number should only be incresed when the global interface\n * changes a and new methods are introduced.\n *\n * @hidden\n */\nexport var API_VERSION = 3;\n/**\n * Default maximum number of breadcrumbs added to an event. Can be overwritten\n * with {@link Options.maxBreadcrumbs}.\n */\nvar DEFAULT_BREADCRUMBS = 100;\n/**\n * Absolute maximum number of breadcrumbs added to an event. The\n * `maxBreadcrumbs` option cannot be higher than this value.\n */\nvar MAX_BREADCRUMBS = 100;\n/**\n * @inheritDoc\n */\nvar Hub = /** @class */ (function () {\n /**\n * Creates a new instance of the hub, will push one {@link Layer} into the\n * internal stack on creation.\n *\n * @param client bound to the hub.\n * @param scope bound to the hub.\n * @param version number, higher number means higher priority.\n */\n function Hub(client, scope, _version) {\n if (scope === void 0) { scope = new Scope(); }\n if (_version === void 0) { _version = API_VERSION; }\n this._version = _version;\n /** Is a {@link Layer}[] containing the client and scope */\n this._stack = [];\n this._stack.push({ client: client, scope: scope });\n }\n /**\n * Internal helper function to call a method on the top client if it exists.\n *\n * @param method The method to call on the client.\n * @param args Arguments to pass to the client function.\n */\n Hub.prototype._invokeClient = function (method) {\n var _a;\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n var top = this.getStackTop();\n if (top && top.client && top.client[method]) {\n (_a = top.client)[method].apply(_a, tslib_1.__spread(args, [top.scope]));\n }\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.isOlderThan = function (version) {\n return this._version < version;\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.bindClient = function (client) {\n var top = this.getStackTop();\n top.client = client;\n if (client && client.setupIntegrations) {\n client.setupIntegrations();\n }\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.pushScope = function () {\n // We want to clone the content of prev scope\n var stack = this.getStack();\n var parentScope = stack.length > 0 ? stack[stack.length - 1].scope : undefined;\n var scope = Scope.clone(parentScope);\n this.getStack().push({\n client: this.getClient(),\n scope: scope,\n });\n return scope;\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.popScope = function () {\n return this.getStack().pop() !== undefined;\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.withScope = function (callback) {\n var scope = this.pushScope();\n try {\n callback(scope);\n }\n finally {\n this.popScope();\n }\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.getClient = function () {\n return this.getStackTop().client;\n };\n /** Returns the scope of the top stack. */\n Hub.prototype.getScope = function () {\n return this.getStackTop().scope;\n };\n /** Returns the scope stack for domains or the process. */\n Hub.prototype.getStack = function () {\n return this._stack;\n };\n /** Returns the topmost scope layer in the order domain > local > process. */\n Hub.prototype.getStackTop = function () {\n return this._stack[this._stack.length - 1];\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.captureException = function (exception, hint) {\n var eventId = (this._lastEventId = uuid4());\n var finalHint = hint;\n // If there's no explicit hint provided, mimick the same thing that would happen\n // in the minimal itself to create a consistent behavior.\n // We don't do this in the client, as it's the lowest level API, and doing this,\n // would prevent user from having full control over direct calls.\n if (!hint) {\n var syntheticException = void 0;\n try {\n throw new Error('Sentry syntheticException');\n }\n catch (exception) {\n syntheticException = exception;\n }\n finalHint = {\n originalException: exception,\n syntheticException: syntheticException,\n };\n }\n this._invokeClient('captureException', exception, tslib_1.__assign({}, finalHint, { event_id: eventId }));\n return eventId;\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.captureMessage = function (message, level, hint) {\n var eventId = (this._lastEventId = uuid4());\n var finalHint = hint;\n // If there's no explicit hint provided, mimick the same thing that would happen\n // in the minimal itself to create a consistent behavior.\n // We don't do this in the client, as it's the lowest level API, and doing this,\n // would prevent user from having full control over direct calls.\n if (!hint) {\n var syntheticException = void 0;\n try {\n throw new Error(message);\n }\n catch (exception) {\n syntheticException = exception;\n }\n finalHint = {\n originalException: message,\n syntheticException: syntheticException,\n };\n }\n this._invokeClient('captureMessage', message, level, tslib_1.__assign({}, finalHint, { event_id: eventId }));\n return eventId;\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.captureEvent = function (event, hint) {\n var eventId = (this._lastEventId = uuid4());\n this._invokeClient('captureEvent', event, tslib_1.__assign({}, hint, { event_id: eventId }));\n return eventId;\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.lastEventId = function () {\n return this._lastEventId;\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.addBreadcrumb = function (breadcrumb, hint) {\n var top = this.getStackTop();\n if (!top.scope || !top.client) {\n return;\n }\n var _a = (top.client.getOptions && top.client.getOptions()) || {}, _b = _a.beforeBreadcrumb, beforeBreadcrumb = _b === void 0 ? null : _b, _c = _a.maxBreadcrumbs, maxBreadcrumbs = _c === void 0 ? DEFAULT_BREADCRUMBS : _c;\n if (maxBreadcrumbs <= 0) {\n return;\n }\n var timestamp = timestampWithMs();\n var mergedBreadcrumb = tslib_1.__assign({ timestamp: timestamp }, breadcrumb);\n var finalBreadcrumb = beforeBreadcrumb\n ? consoleSandbox(function () { return beforeBreadcrumb(mergedBreadcrumb, hint); })\n : mergedBreadcrumb;\n if (finalBreadcrumb === null) {\n return;\n }\n top.scope.addBreadcrumb(finalBreadcrumb, Math.min(maxBreadcrumbs, MAX_BREADCRUMBS));\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.setUser = function (user) {\n var top = this.getStackTop();\n if (!top.scope) {\n return;\n }\n top.scope.setUser(user);\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.setTags = function (tags) {\n var top = this.getStackTop();\n if (!top.scope) {\n return;\n }\n top.scope.setTags(tags);\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.setExtras = function (extras) {\n var top = this.getStackTop();\n if (!top.scope) {\n return;\n }\n top.scope.setExtras(extras);\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.setTag = function (key, value) {\n var top = this.getStackTop();\n if (!top.scope) {\n return;\n }\n top.scope.setTag(key, value);\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.setExtra = function (key, extra) {\n var top = this.getStackTop();\n if (!top.scope) {\n return;\n }\n top.scope.setExtra(key, extra);\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.setContext = function (name, context) {\n var top = this.getStackTop();\n if (!top.scope) {\n return;\n }\n top.scope.setContext(name, context);\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.configureScope = function (callback) {\n var top = this.getStackTop();\n if (top.scope && top.client) {\n callback(top.scope);\n }\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.run = function (callback) {\n var oldHub = makeMain(this);\n try {\n callback(this);\n }\n finally {\n makeMain(oldHub);\n }\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.getIntegration = function (integration) {\n var client = this.getClient();\n if (!client) {\n return null;\n }\n try {\n return client.getIntegration(integration);\n }\n catch (_oO) {\n logger.warn(\"Cannot retrieve integration \" + integration.id + \" from the current Hub\");\n return null;\n }\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.startSpan = function (spanOrSpanContext, forceNoChild) {\n if (forceNoChild === void 0) { forceNoChild = false; }\n return this._callExtensionMethod('startSpan', spanOrSpanContext, forceNoChild);\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.traceHeaders = function () {\n return this._callExtensionMethod('traceHeaders');\n };\n /**\n * Calls global extension method and binding current instance to the function call\n */\n // @ts-ignore\n Hub.prototype._callExtensionMethod = function (method) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n var carrier = getMainCarrier();\n var sentry = carrier.__SENTRY__;\n // tslint:disable-next-line: strict-type-predicates\n if (sentry && sentry.extensions && typeof sentry.extensions[method] === 'function') {\n return sentry.extensions[method].apply(this, args);\n }\n logger.warn(\"Extension method \" + method + \" couldn't be found, doing nothing.\");\n };\n return Hub;\n}());\nexport { Hub };\n/** Returns the global shim registry. */\nexport function getMainCarrier() {\n var carrier = getGlobalObject();\n carrier.__SENTRY__ = carrier.__SENTRY__ || {\n extensions: {},\n hub: undefined,\n };\n return carrier;\n}\n/**\n * Replaces the current main hub with the passed one on the global object\n *\n * @returns The old replaced hub\n */\nexport function makeMain(hub) {\n var registry = getMainCarrier();\n var oldHub = getHubFromCarrier(registry);\n setHubOnCarrier(registry, hub);\n return oldHub;\n}\n/**\n * Returns the default hub instance.\n *\n * If a hub is already registered in the global carrier but this module\n * contains a more recent version, it replaces the registered version.\n * Otherwise, the currently registered hub will be returned.\n */\nexport function getCurrentHub() {\n // Get main carrier (global for every environment)\n var registry = getMainCarrier();\n // If there's no hub, or its an old API, assign a new one\n if (!hasHubOnCarrier(registry) || getHubFromCarrier(registry).isOlderThan(API_VERSION)) {\n setHubOnCarrier(registry, new Hub());\n }\n // Prefer domains over global if they are there (applicable only to Node environment)\n if (isNodeEnv()) {\n return getHubFromActiveDomain(registry);\n }\n // Return hub that lives on a global object\n return getHubFromCarrier(registry);\n}\n/**\n * Try to read the hub from an active domain, fallback to the registry if one doesnt exist\n * @returns discovered hub\n */\nfunction getHubFromActiveDomain(registry) {\n try {\n var property = 'domain';\n var carrier = getMainCarrier();\n var sentry = carrier.__SENTRY__;\n // tslint:disable-next-line: strict-type-predicates\n if (!sentry || !sentry.extensions || !sentry.extensions[property]) {\n return getHubFromCarrier(registry);\n }\n var domain = sentry.extensions[property];\n var activeDomain = domain.active;\n // If there no active domain, just return global hub\n if (!activeDomain) {\n return getHubFromCarrier(registry);\n }\n // If there's no hub on current domain, or its an old API, assign a new one\n if (!hasHubOnCarrier(activeDomain) || getHubFromCarrier(activeDomain).isOlderThan(API_VERSION)) {\n var registryHubTopStack = getHubFromCarrier(registry).getStackTop();\n setHubOnCarrier(activeDomain, new Hub(registryHubTopStack.client, Scope.clone(registryHubTopStack.scope)));\n }\n // Return hub that lives on a domain\n return getHubFromCarrier(activeDomain);\n }\n catch (_Oo) {\n // Return hub that lives on a global object\n return getHubFromCarrier(registry);\n }\n}\n/**\n * This will tell whether a carrier has a hub on it or not\n * @param carrier object\n */\nfunction hasHubOnCarrier(carrier) {\n if (carrier && carrier.__SENTRY__ && carrier.__SENTRY__.hub) {\n return true;\n }\n return false;\n}\n/**\n * This will create a new {@link Hub} and add to the passed object on\n * __SENTRY__.hub.\n * @param carrier object\n * @hidden\n */\nexport function getHubFromCarrier(carrier) {\n if (carrier && carrier.__SENTRY__ && carrier.__SENTRY__.hub) {\n return carrier.__SENTRY__.hub;\n }\n carrier.__SENTRY__ = carrier.__SENTRY__ || {};\n carrier.__SENTRY__.hub = new Hub();\n return carrier.__SENTRY__.hub;\n}\n/**\n * This will set passed {@link Hub} on the passed object's __SENTRY__.hub attribute\n * @param carrier object\n * @param hub Hub\n */\nexport function setHubOnCarrier(carrier, hub) {\n if (!carrier) {\n return false;\n }\n carrier.__SENTRY__ = carrier.__SENTRY__ || {};\n carrier.__SENTRY__.hub = hub;\n return true;\n}\n//# sourceMappingURL=hub.js.map","export { addGlobalEventProcessor, Scope } from './scope';\nexport { getCurrentHub, getHubFromCarrier, getMainCarrier, Hub, makeMain, setHubOnCarrier } from './hub';\n//# sourceMappingURL=index.js.map","import * as tslib_1 from \"tslib\";\nimport { getGlobalObject, isThenable, SyncPromise, timestampWithMs } from '@sentry/utils';\n/**\n * Holds additional event information. {@link Scope.applyToEvent} will be\n * called by the client before an event will be sent.\n */\nvar Scope = /** @class */ (function () {\n function Scope() {\n /** Flag if notifiying is happening. */\n this._notifyingListeners = false;\n /** Callback for client to receive scope changes. */\n this._scopeListeners = [];\n /** Callback list that will be called after {@link applyToEvent}. */\n this._eventProcessors = [];\n /** Array of breadcrumbs. */\n this._breadcrumbs = [];\n /** User */\n this._user = {};\n /** Tags */\n this._tags = {};\n /** Extra */\n this._extra = {};\n /** Contexts */\n this._context = {};\n }\n /**\n * Add internal on change listener. Used for sub SDKs that need to store the scope.\n * @hidden\n */\n Scope.prototype.addScopeListener = function (callback) {\n this._scopeListeners.push(callback);\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.addEventProcessor = function (callback) {\n this._eventProcessors.push(callback);\n return this;\n };\n /**\n * This will be called on every set call.\n */\n Scope.prototype._notifyScopeListeners = function () {\n var _this = this;\n if (!this._notifyingListeners) {\n this._notifyingListeners = true;\n setTimeout(function () {\n _this._scopeListeners.forEach(function (callback) {\n callback(_this);\n });\n _this._notifyingListeners = false;\n });\n }\n };\n /**\n * This will be called after {@link applyToEvent} is finished.\n */\n Scope.prototype._notifyEventProcessors = function (processors, event, hint, index) {\n var _this = this;\n if (index === void 0) { index = 0; }\n return new SyncPromise(function (resolve, reject) {\n var processor = processors[index];\n // tslint:disable-next-line:strict-type-predicates\n if (event === null || typeof processor !== 'function') {\n resolve(event);\n }\n else {\n var result = processor(tslib_1.__assign({}, event), hint);\n if (isThenable(result)) {\n result\n .then(function (final) { return _this._notifyEventProcessors(processors, final, hint, index + 1).then(resolve); })\n .then(null, reject);\n }\n else {\n _this._notifyEventProcessors(processors, result, hint, index + 1)\n .then(resolve)\n .then(null, reject);\n }\n }\n });\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setUser = function (user) {\n this._user = user || {};\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setTags = function (tags) {\n this._tags = tslib_1.__assign({}, this._tags, tags);\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setTag = function (key, value) {\n var _a;\n this._tags = tslib_1.__assign({}, this._tags, (_a = {}, _a[key] = value, _a));\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setExtras = function (extras) {\n this._extra = tslib_1.__assign({}, this._extra, extras);\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setExtra = function (key, extra) {\n var _a;\n this._extra = tslib_1.__assign({}, this._extra, (_a = {}, _a[key] = extra, _a));\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setFingerprint = function (fingerprint) {\n this._fingerprint = fingerprint;\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setLevel = function (level) {\n this._level = level;\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setTransaction = function (transaction) {\n this._transaction = transaction;\n if (this._span) {\n this._span.transaction = transaction;\n }\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setContext = function (key, context) {\n var _a;\n this._context = tslib_1.__assign({}, this._context, (_a = {}, _a[key] = context, _a));\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setSpan = function (span) {\n this._span = span;\n this._notifyScopeListeners();\n return this;\n };\n /**\n * Internal getter for Span, used in Hub.\n * @hidden\n */\n Scope.prototype.getSpan = function () {\n return this._span;\n };\n /**\n * Inherit values from the parent scope.\n * @param scope to clone.\n */\n Scope.clone = function (scope) {\n var newScope = new Scope();\n if (scope) {\n newScope._breadcrumbs = tslib_1.__spread(scope._breadcrumbs);\n newScope._tags = tslib_1.__assign({}, scope._tags);\n newScope._extra = tslib_1.__assign({}, scope._extra);\n newScope._context = tslib_1.__assign({}, scope._context);\n newScope._user = scope._user;\n newScope._level = scope._level;\n newScope._span = scope._span;\n newScope._transaction = scope._transaction;\n newScope._fingerprint = scope._fingerprint;\n newScope._eventProcessors = tslib_1.__spread(scope._eventProcessors);\n }\n return newScope;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.clear = function () {\n this._breadcrumbs = [];\n this._tags = {};\n this._extra = {};\n this._user = {};\n this._context = {};\n this._level = undefined;\n this._transaction = undefined;\n this._fingerprint = undefined;\n this._span = undefined;\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.addBreadcrumb = function (breadcrumb, maxBreadcrumbs) {\n var mergedBreadcrumb = tslib_1.__assign({ timestamp: timestampWithMs() }, breadcrumb);\n this._breadcrumbs =\n maxBreadcrumbs !== undefined && maxBreadcrumbs >= 0\n ? tslib_1.__spread(this._breadcrumbs, [mergedBreadcrumb]).slice(-maxBreadcrumbs)\n : tslib_1.__spread(this._breadcrumbs, [mergedBreadcrumb]);\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.clearBreadcrumbs = function () {\n this._breadcrumbs = [];\n this._notifyScopeListeners();\n return this;\n };\n /**\n * Applies fingerprint from the scope to the event if there's one,\n * uses message if there's one instead or get rid of empty fingerprint\n */\n Scope.prototype._applyFingerprint = function (event) {\n // Make sure it's an array first and we actually have something in place\n event.fingerprint = event.fingerprint\n ? Array.isArray(event.fingerprint)\n ? event.fingerprint\n : [event.fingerprint]\n : [];\n // If we have something on the scope, then merge it with event\n if (this._fingerprint) {\n event.fingerprint = event.fingerprint.concat(this._fingerprint);\n }\n // If we have no data at all, remove empty array default\n if (event.fingerprint && !event.fingerprint.length) {\n delete event.fingerprint;\n }\n };\n /**\n * Applies the current context and fingerprint to the event.\n * Note that breadcrumbs will be added by the client.\n * Also if the event has already breadcrumbs on it, we do not merge them.\n * @param event Event\n * @param hint May contain additional informartion about the original exception.\n * @hidden\n */\n Scope.prototype.applyToEvent = function (event, hint) {\n if (this._extra && Object.keys(this._extra).length) {\n event.extra = tslib_1.__assign({}, this._extra, event.extra);\n }\n if (this._tags && Object.keys(this._tags).length) {\n event.tags = tslib_1.__assign({}, this._tags, event.tags);\n }\n if (this._user && Object.keys(this._user).length) {\n event.user = tslib_1.__assign({}, this._user, event.user);\n }\n if (this._context && Object.keys(this._context).length) {\n event.contexts = tslib_1.__assign({}, this._context, event.contexts);\n }\n if (this._level) {\n event.level = this._level;\n }\n if (this._transaction) {\n event.transaction = this._transaction;\n }\n if (this._span) {\n event.contexts = tslib_1.__assign({ trace: this._span.getTraceContext() }, event.contexts);\n }\n this._applyFingerprint(event);\n event.breadcrumbs = tslib_1.__spread((event.breadcrumbs || []), this._breadcrumbs);\n event.breadcrumbs = event.breadcrumbs.length > 0 ? event.breadcrumbs : undefined;\n return this._notifyEventProcessors(tslib_1.__spread(getGlobalEventProcessors(), this._eventProcessors), event, hint);\n };\n return Scope;\n}());\nexport { Scope };\n/**\n * Retruns the global event processors.\n */\nfunction getGlobalEventProcessors() {\n var global = getGlobalObject();\n global.__SENTRY__ = global.__SENTRY__ || {};\n global.__SENTRY__.globalEventProcessors = global.__SENTRY__.globalEventProcessors || [];\n return global.__SENTRY__.globalEventProcessors;\n}\n/**\n * Add a EventProcessor to be kept globally.\n * @param callback EventProcessor to add\n */\nexport function addGlobalEventProcessor(callback) {\n getGlobalEventProcessors().push(callback);\n}\n//# sourceMappingURL=scope.js.map","import * as tslib_1 from \"tslib\";\nimport { getCurrentHub } from '@sentry/hub';\n/**\n * This calls a function on the current hub.\n * @param method function to call on hub.\n * @param args to pass to function.\n */\nfunction callOnHub(method) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n var hub = getCurrentHub();\n if (hub && hub[method]) {\n // tslint:disable-next-line:no-unsafe-any\n return hub[method].apply(hub, tslib_1.__spread(args));\n }\n throw new Error(\"No hub defined or \" + method + \" was not found on the hub, please open a bug report.\");\n}\n/**\n * Captures an exception event and sends it to Sentry.\n *\n * @param exception An exception-like object.\n * @returns The generated eventId.\n */\nexport function captureException(exception) {\n var syntheticException;\n try {\n throw new Error('Sentry syntheticException');\n }\n catch (exception) {\n syntheticException = exception;\n }\n return callOnHub('captureException', exception, {\n originalException: exception,\n syntheticException: syntheticException,\n });\n}\n/**\n * Captures a message event and sends it to Sentry.\n *\n * @param message The message to send to Sentry.\n * @param level Define the level of the message.\n * @returns The generated eventId.\n */\nexport function captureMessage(message, level) {\n var syntheticException;\n try {\n throw new Error(message);\n }\n catch (exception) {\n syntheticException = exception;\n }\n return callOnHub('captureMessage', message, level, {\n originalException: message,\n syntheticException: syntheticException,\n });\n}\n/**\n * Captures a manually created event and sends it to Sentry.\n *\n * @param event The event to send to Sentry.\n * @returns The generated eventId.\n */\nexport function captureEvent(event) {\n return callOnHub('captureEvent', event);\n}\n/**\n * Callback to set context information onto the scope.\n * @param callback Callback function that receives Scope.\n */\nexport function configureScope(callback) {\n callOnHub('configureScope', callback);\n}\n/**\n * Records a new breadcrumb which will be attached to future events.\n *\n * Breadcrumbs will be added to subsequent events to provide more context on\n * user's actions prior to an error or crash.\n *\n * @param breadcrumb The breadcrumb to record.\n */\nexport function addBreadcrumb(breadcrumb) {\n callOnHub('addBreadcrumb', breadcrumb);\n}\n/**\n * Sets context data with the given name.\n * @param name of the context\n * @param context Any kind of data. This data will be normailzed.\n */\nexport function setContext(name, context) {\n callOnHub('setContext', name, context);\n}\n/**\n * Set an object that will be merged sent as extra data with the event.\n * @param extras Extras object to merge into current context.\n */\nexport function setExtras(extras) {\n callOnHub('setExtras', extras);\n}\n/**\n * Set an object that will be merged sent as tags data with the event.\n * @param tags Tags context object to merge into current context.\n */\nexport function setTags(tags) {\n callOnHub('setTags', tags);\n}\n/**\n * Set key:value that will be sent as extra data with the event.\n * @param key String of extra\n * @param extra Any kind of data. This data will be normailzed.\n */\nexport function setExtra(key, extra) {\n callOnHub('setExtra', key, extra);\n}\n/**\n * Set key:value that will be sent as tags data with the event.\n * @param key String key of tag\n * @param value String value of tag\n */\nexport function setTag(key, value) {\n callOnHub('setTag', key, value);\n}\n/**\n * Updates user context information for future events.\n *\n * @param user User context object to be set in the current context. Pass `null` to unset the user.\n */\nexport function setUser(user) {\n callOnHub('setUser', user);\n}\n/**\n * Creates a new scope with and executes the given operation within.\n * The scope is automatically removed once the operation\n * finishes or throws.\n *\n * This is essentially a convenience function for:\n *\n * pushScope();\n * callback();\n * popScope();\n *\n * @param callback that will be enclosed into push/popScope.\n */\nexport function withScope(callback) {\n callOnHub('withScope', callback);\n}\n/**\n * Calls a function on the latest client. Use this with caution, it's meant as\n * in \"internal\" helper so we don't need to expose every possible function in\n * the shim. It is not guaranteed that the client actually implements the\n * function.\n *\n * @param method The method to call on the client/client.\n * @param args Arguments to pass to the client/fontend.\n * @hidden\n */\nexport function _callOnClient(method) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n callOnHub.apply(void 0, tslib_1.__spread(['_invokeClient', method], args));\n}\n//# sourceMappingURL=index.js.map","export { LogLevel } from './loglevel';\nexport { Severity } from './severity';\nexport { SpanStatus } from './span';\nexport { Status } from './status';\n//# sourceMappingURL=index.js.map","/** Console logging verbosity for the SDK. */\nexport var LogLevel;\n(function (LogLevel) {\n /** No logs will be generated. */\n LogLevel[LogLevel[\"None\"] = 0] = \"None\";\n /** Only SDK internal errors will be logged. */\n LogLevel[LogLevel[\"Error\"] = 1] = \"Error\";\n /** Information useful for debugging the SDK will be logged. */\n LogLevel[LogLevel[\"Debug\"] = 2] = \"Debug\";\n /** All SDK actions will be logged. */\n LogLevel[LogLevel[\"Verbose\"] = 3] = \"Verbose\";\n})(LogLevel || (LogLevel = {}));\n//# sourceMappingURL=loglevel.js.map","/** JSDoc */\nexport var Severity;\n(function (Severity) {\n /** JSDoc */\n Severity[\"Fatal\"] = \"fatal\";\n /** JSDoc */\n Severity[\"Error\"] = \"error\";\n /** JSDoc */\n Severity[\"Warning\"] = \"warning\";\n /** JSDoc */\n Severity[\"Log\"] = \"log\";\n /** JSDoc */\n Severity[\"Info\"] = \"info\";\n /** JSDoc */\n Severity[\"Debug\"] = \"debug\";\n /** JSDoc */\n Severity[\"Critical\"] = \"critical\";\n})(Severity || (Severity = {}));\n// tslint:disable:completed-docs\n// tslint:disable:no-unnecessary-qualifier no-namespace\n(function (Severity) {\n /**\n * Converts a string-based level into a {@link Severity}.\n *\n * @param level string representation of Severity\n * @returns Severity\n */\n function fromString(level) {\n switch (level) {\n case 'debug':\n return Severity.Debug;\n case 'info':\n return Severity.Info;\n case 'warn':\n case 'warning':\n return Severity.Warning;\n case 'error':\n return Severity.Error;\n case 'fatal':\n return Severity.Fatal;\n case 'critical':\n return Severity.Critical;\n case 'log':\n default:\n return Severity.Log;\n }\n }\n Severity.fromString = fromString;\n})(Severity || (Severity = {}));\n//# sourceMappingURL=severity.js.map","/** The status of an Span. */\nexport var SpanStatus;\n(function (SpanStatus) {\n /** The operation completed successfully. */\n SpanStatus[\"Ok\"] = \"ok\";\n /** Deadline expired before operation could complete. */\n SpanStatus[\"DeadlineExceeded\"] = \"deadline_exceeded\";\n /** 401 Unauthorized (actually does mean unauthenticated according to RFC 7235) */\n SpanStatus[\"Unauthenticated\"] = \"unauthenticated\";\n /** 403 Forbidden */\n SpanStatus[\"PermissionDenied\"] = \"permission_denied\";\n /** 404 Not Found. Some requested entity (file or directory) was not found. */\n SpanStatus[\"NotFound\"] = \"not_found\";\n /** 429 Too Many Requests */\n SpanStatus[\"ResourceExhausted\"] = \"resource_exhausted\";\n /** Client specified an invalid argument. 4xx. */\n SpanStatus[\"InvalidArgument\"] = \"invalid_argument\";\n /** 501 Not Implemented */\n SpanStatus[\"Unimplemented\"] = \"unimplemented\";\n /** 503 Service Unavailable */\n SpanStatus[\"Unavailable\"] = \"unavailable\";\n /** Other/generic 5xx. */\n SpanStatus[\"InternalError\"] = \"internal_error\";\n /** Unknown. Any non-standard HTTP status code. */\n SpanStatus[\"UnknownError\"] = \"unknown_error\";\n /** The operation was cancelled (typically by the user). */\n SpanStatus[\"Cancelled\"] = \"cancelled\";\n /** Already exists (409) */\n SpanStatus[\"AlreadyExists\"] = \"already_exists\";\n /** Operation was rejected because the system is not in a state required for the operation's */\n SpanStatus[\"FailedPrecondition\"] = \"failed_precondition\";\n /** The operation was aborted, typically due to a concurrency issue. */\n SpanStatus[\"Aborted\"] = \"aborted\";\n /** Operation was attempted past the valid range. */\n SpanStatus[\"OutOfRange\"] = \"out_of_range\";\n /** Unrecoverable data loss or corruption */\n SpanStatus[\"DataLoss\"] = \"data_loss\";\n})(SpanStatus || (SpanStatus = {}));\n// tslint:disable:no-unnecessary-qualifier no-namespace\n(function (SpanStatus) {\n /**\n * Converts a HTTP status code into a {@link SpanStatus}.\n *\n * @param httpStatus The HTTP response status code.\n * @returns The span status or {@link SpanStatus.UnknownError}.\n */\n // tslint:disable-next-line:completed-docs\n function fromHttpCode(httpStatus) {\n if (httpStatus < 400) {\n return SpanStatus.Ok;\n }\n if (httpStatus >= 400 && httpStatus < 500) {\n switch (httpStatus) {\n case 401:\n return SpanStatus.Unauthenticated;\n case 403:\n return SpanStatus.PermissionDenied;\n case 404:\n return SpanStatus.NotFound;\n case 409:\n return SpanStatus.AlreadyExists;\n case 413:\n return SpanStatus.FailedPrecondition;\n case 429:\n return SpanStatus.ResourceExhausted;\n default:\n return SpanStatus.InvalidArgument;\n }\n }\n if (httpStatus >= 500 && httpStatus < 600) {\n switch (httpStatus) {\n case 501:\n return SpanStatus.Unimplemented;\n case 503:\n return SpanStatus.Unavailable;\n case 504:\n return SpanStatus.DeadlineExceeded;\n default:\n return SpanStatus.InternalError;\n }\n }\n return SpanStatus.UnknownError;\n }\n SpanStatus.fromHttpCode = fromHttpCode;\n})(SpanStatus || (SpanStatus = {}));\n//# sourceMappingURL=span.js.map","/** The status of an event. */\nexport var Status;\n(function (Status) {\n /** The status could not be determined. */\n Status[\"Unknown\"] = \"unknown\";\n /** The event was skipped due to configuration or callbacks. */\n Status[\"Skipped\"] = \"skipped\";\n /** The event was sent to Sentry successfully. */\n Status[\"Success\"] = \"success\";\n /** The client is currently rate limited and will try again later. */\n Status[\"RateLimit\"] = \"rate_limit\";\n /** The event could not be processed. */\n Status[\"Invalid\"] = \"invalid\";\n /** A server-side error ocurred during submission. */\n Status[\"Failed\"] = \"failed\";\n})(Status || (Status = {}));\n// tslint:disable:completed-docs\n// tslint:disable:no-unnecessary-qualifier no-namespace\n(function (Status) {\n /**\n * Converts a HTTP status code into a {@link Status}.\n *\n * @param code The HTTP response status code.\n * @returns The send status or {@link Status.Unknown}.\n */\n function fromHttpCode(code) {\n if (code >= 200 && code < 300) {\n return Status.Success;\n }\n if (code === 429) {\n return Status.RateLimit;\n }\n if (code >= 400 && code < 500) {\n return Status.Invalid;\n }\n if (code >= 500) {\n return Status.Failed;\n }\n return Status.Unknown;\n }\n Status.fromHttpCode = fromHttpCode;\n})(Status || (Status = {}));\n//# sourceMappingURL=status.js.map","/**\n * Consumes the promise and logs the error when it rejects.\n * @param promise A promise to forget.\n */\nexport function forget(promise) {\n promise.then(null, function (e) {\n // TODO: Use a better logging mechanism\n console.error(e);\n });\n}\n//# sourceMappingURL=async.js.map","import * as tslib_1 from \"tslib\";\nimport { SentryError } from './error';\n/** Regular expression used to parse a Dsn. */\nvar DSN_REGEX = /^(?:(\\w+):)\\/\\/(?:(\\w+)(?::(\\w+))?@)([\\w\\.-]+)(?::(\\d+))?\\/(.+)/;\n/** Error message */\nvar ERROR_MESSAGE = 'Invalid Dsn';\n/** The Sentry Dsn, identifying a Sentry instance and project. */\nvar Dsn = /** @class */ (function () {\n /** Creates a new Dsn component */\n function Dsn(from) {\n if (typeof from === 'string') {\n this._fromString(from);\n }\n else {\n this._fromComponents(from);\n }\n this._validate();\n }\n /**\n * Renders the string representation of this Dsn.\n *\n * By default, this will render the public representation without the password\n * component. To get the deprecated private representation, set `withPassword`\n * to true.\n *\n * @param withPassword When set to true, the password will be included.\n */\n Dsn.prototype.toString = function (withPassword) {\n if (withPassword === void 0) { withPassword = false; }\n // tslint:disable-next-line:no-this-assignment\n var _a = this, host = _a.host, path = _a.path, pass = _a.pass, port = _a.port, projectId = _a.projectId, protocol = _a.protocol, user = _a.user;\n return (protocol + \"://\" + user + (withPassword && pass ? \":\" + pass : '') +\n (\"@\" + host + (port ? \":\" + port : '') + \"/\" + (path ? path + \"/\" : path) + projectId));\n };\n /** Parses a string into this Dsn. */\n Dsn.prototype._fromString = function (str) {\n var match = DSN_REGEX.exec(str);\n if (!match) {\n throw new SentryError(ERROR_MESSAGE);\n }\n var _a = tslib_1.__read(match.slice(1), 6), protocol = _a[0], user = _a[1], _b = _a[2], pass = _b === void 0 ? '' : _b, host = _a[3], _c = _a[4], port = _c === void 0 ? '' : _c, lastPath = _a[5];\n var path = '';\n var projectId = lastPath;\n var split = projectId.split('/');\n if (split.length > 1) {\n path = split.slice(0, -1).join('/');\n projectId = split.pop();\n }\n this._fromComponents({ host: host, pass: pass, path: path, projectId: projectId, port: port, protocol: protocol, user: user });\n };\n /** Maps Dsn components into this instance. */\n Dsn.prototype._fromComponents = function (components) {\n this.protocol = components.protocol;\n this.user = components.user;\n this.pass = components.pass || '';\n this.host = components.host;\n this.port = components.port || '';\n this.path = components.path || '';\n this.projectId = components.projectId;\n };\n /** Validates this Dsn and throws on error. */\n Dsn.prototype._validate = function () {\n var _this = this;\n ['protocol', 'user', 'host', 'projectId'].forEach(function (component) {\n if (!_this[component]) {\n throw new SentryError(ERROR_MESSAGE);\n }\n });\n if (this.protocol !== 'http' && this.protocol !== 'https') {\n throw new SentryError(ERROR_MESSAGE);\n }\n if (this.port && isNaN(parseInt(this.port, 10))) {\n throw new SentryError(ERROR_MESSAGE);\n }\n };\n return Dsn;\n}());\nexport { Dsn };\n//# sourceMappingURL=dsn.js.map","import * as tslib_1 from \"tslib\";\nimport { setPrototypeOf } from './polyfill';\n/** An error emitted by Sentry SDKs and related utilities. */\nvar SentryError = /** @class */ (function (_super) {\n tslib_1.__extends(SentryError, _super);\n function SentryError(message) {\n var _newTarget = this.constructor;\n var _this = _super.call(this, message) || this;\n _this.message = message;\n // tslint:disable:no-unsafe-any\n _this.name = _newTarget.prototype.constructor.name;\n setPrototypeOf(_this, _newTarget.prototype);\n return _this;\n }\n return SentryError;\n}(Error));\nexport { SentryError };\n//# sourceMappingURL=error.js.map","export * from './async';\nexport * from './error';\nexport * from './is';\nexport * from './logger';\nexport * from './memo';\nexport * from './misc';\nexport * from './object';\nexport * from './path';\nexport * from './promisebuffer';\nexport * from './string';\nexport * from './supports';\nexport * from './syncpromise';\nexport * from './instrument';\nexport * from './dsn';\n//# sourceMappingURL=index.js.map","/* tslint:disable:only-arrow-functions no-unsafe-any */\nimport * as tslib_1 from \"tslib\";\nimport { isInstanceOf, isString } from './is';\nimport { logger } from './logger';\nimport { getFunctionName, getGlobalObject } from './misc';\nimport { fill } from './object';\nimport { supportsHistory, supportsNativeFetch } from './supports';\nvar global = getGlobalObject();\n/**\n * Instrument native APIs to call handlers that can be used to create breadcrumbs, APM spans etc.\n * - Console API\n * - Fetch API\n * - XHR API\n * - History API\n * - DOM API (click/typing)\n * - Error API\n * - UnhandledRejection API\n */\nvar handlers = {};\nvar instrumented = {};\n/** Instruments given API */\nfunction instrument(type) {\n if (instrumented[type]) {\n return;\n }\n instrumented[type] = true;\n switch (type) {\n case 'console':\n instrumentConsole();\n break;\n case 'dom':\n instrumentDOM();\n break;\n case 'xhr':\n instrumentXHR();\n break;\n case 'fetch':\n instrumentFetch();\n break;\n case 'history':\n instrumentHistory();\n break;\n case 'error':\n instrumentError();\n break;\n case 'unhandledrejection':\n instrumentUnhandledRejection();\n break;\n default:\n logger.warn('unknown instrumentation type:', type);\n }\n}\n/**\n * Add handler that will be called when given type of instrumentation triggers.\n * Use at your own risk, this might break without changelog notice, only used internally.\n * @hidden\n */\nexport function addInstrumentationHandler(handler) {\n // tslint:disable-next-line:strict-type-predicates\n if (!handler || typeof handler.type !== 'string' || typeof handler.callback !== 'function') {\n return;\n }\n handlers[handler.type] = handlers[handler.type] || [];\n handlers[handler.type].push(handler.callback);\n instrument(handler.type);\n}\n/** JSDoc */\nfunction triggerHandlers(type, data) {\n var e_1, _a;\n if (!type || !handlers[type]) {\n return;\n }\n try {\n for (var _b = tslib_1.__values(handlers[type] || []), _c = _b.next(); !_c.done; _c = _b.next()) {\n var handler = _c.value;\n try {\n handler(data);\n }\n catch (e) {\n logger.error(\"Error while triggering instrumentation handler.\\nType: \" + type + \"\\nName: \" + getFunctionName(handler) + \"\\nError: \" + e);\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n}\n/** JSDoc */\nfunction instrumentConsole() {\n if (!('console' in global)) {\n return;\n }\n ['debug', 'info', 'warn', 'error', 'log', 'assert'].forEach(function (level) {\n if (!(level in global.console)) {\n return;\n }\n fill(global.console, level, function (originalConsoleLevel) {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n triggerHandlers('console', { args: args, level: level });\n // this fails for some browsers. :(\n if (originalConsoleLevel) {\n Function.prototype.apply.call(originalConsoleLevel, global.console, args);\n }\n };\n });\n });\n}\n/** JSDoc */\nfunction instrumentFetch() {\n if (!supportsNativeFetch()) {\n return;\n }\n fill(global, 'fetch', function (originalFetch) {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var commonHandlerData = {\n args: args,\n fetchData: {\n method: getFetchMethod(args),\n url: getFetchUrl(args),\n },\n startTimestamp: Date.now(),\n };\n triggerHandlers('fetch', tslib_1.__assign({}, commonHandlerData));\n return originalFetch.apply(global, args).then(function (response) {\n triggerHandlers('fetch', tslib_1.__assign({}, commonHandlerData, { endTimestamp: Date.now(), response: response }));\n return response;\n }, function (error) {\n triggerHandlers('fetch', tslib_1.__assign({}, commonHandlerData, { endTimestamp: Date.now(), error: error }));\n throw error;\n });\n };\n });\n}\n/** Extract `method` from fetch call arguments */\nfunction getFetchMethod(fetchArgs) {\n if (fetchArgs === void 0) { fetchArgs = []; }\n if ('Request' in global && isInstanceOf(fetchArgs[0], Request) && fetchArgs[0].method) {\n return String(fetchArgs[0].method).toUpperCase();\n }\n if (fetchArgs[1] && fetchArgs[1].method) {\n return String(fetchArgs[1].method).toUpperCase();\n }\n return 'GET';\n}\n/** Extract `url` from fetch call arguments */\nfunction getFetchUrl(fetchArgs) {\n if (fetchArgs === void 0) { fetchArgs = []; }\n if (typeof fetchArgs[0] === 'string') {\n return fetchArgs[0];\n }\n if ('Request' in global && isInstanceOf(fetchArgs[0], Request)) {\n return fetchArgs[0].url;\n }\n return String(fetchArgs[0]);\n}\n/** JSDoc */\nfunction instrumentXHR() {\n if (!('XMLHttpRequest' in global)) {\n return;\n }\n var xhrproto = XMLHttpRequest.prototype;\n fill(xhrproto, 'open', function (originalOpen) {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var url = args[1];\n this.__sentry_xhr__ = {\n method: isString(args[0]) ? args[0].toUpperCase() : args[0],\n url: args[1],\n };\n // if Sentry key appears in URL, don't capture it as a request\n if (isString(url) && this.__sentry_xhr__.method === 'POST' && url.match(/sentry_key/)) {\n this.__sentry_own_request__ = true;\n }\n return originalOpen.apply(this, args);\n };\n });\n fill(xhrproto, 'send', function (originalSend) {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var xhr = this; // tslint:disable-line:no-this-assignment\n var commonHandlerData = {\n args: args,\n startTimestamp: Date.now(),\n xhr: xhr,\n };\n triggerHandlers('xhr', tslib_1.__assign({}, commonHandlerData));\n xhr.addEventListener('readystatechange', function () {\n if (xhr.readyState === 4) {\n try {\n // touching statusCode in some platforms throws\n // an exception\n if (xhr.__sentry_xhr__) {\n xhr.__sentry_xhr__.status_code = xhr.status;\n }\n }\n catch (e) {\n /* do nothing */\n }\n triggerHandlers('xhr', tslib_1.__assign({}, commonHandlerData, { endTimestamp: Date.now() }));\n }\n });\n return originalSend.apply(this, args);\n };\n });\n}\nvar lastHref;\n/** JSDoc */\nfunction instrumentHistory() {\n if (!supportsHistory()) {\n return;\n }\n var oldOnPopState = global.onpopstate;\n global.onpopstate = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var to = global.location.href;\n // keep track of the current URL state, as we always receive only the updated state\n var from = lastHref;\n lastHref = to;\n triggerHandlers('history', {\n from: from,\n to: to,\n });\n if (oldOnPopState) {\n return oldOnPopState.apply(this, args);\n }\n };\n /** @hidden */\n function historyReplacementFunction(originalHistoryFunction) {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var url = args.length > 2 ? args[2] : undefined;\n if (url) {\n // coerce to string (this is what pushState does)\n var from = lastHref;\n var to = String(url);\n // keep track of the current URL state, as we always receive only the updated state\n lastHref = to;\n triggerHandlers('history', {\n from: from,\n to: to,\n });\n }\n return originalHistoryFunction.apply(this, args);\n };\n }\n fill(global.history, 'pushState', historyReplacementFunction);\n fill(global.history, 'replaceState', historyReplacementFunction);\n}\n/** JSDoc */\nfunction instrumentDOM() {\n if (!('document' in global)) {\n return;\n }\n // Capture breadcrumbs from any click that is unhandled / bubbled up all the way\n // to the document. Do this before we instrument addEventListener.\n global.document.addEventListener('click', domEventHandler('click', triggerHandlers.bind(null, 'dom')), false);\n global.document.addEventListener('keypress', keypressEventHandler(triggerHandlers.bind(null, 'dom')), false);\n // After hooking into document bubbled up click and keypresses events, we also hook into user handled click & keypresses.\n ['EventTarget', 'Node'].forEach(function (target) {\n var proto = global[target] && global[target].prototype;\n if (!proto || !proto.hasOwnProperty || !proto.hasOwnProperty('addEventListener')) {\n return;\n }\n fill(proto, 'addEventListener', function (original) {\n return function (eventName, fn, options) {\n if (fn && fn.handleEvent) {\n if (eventName === 'click') {\n fill(fn, 'handleEvent', function (innerOriginal) {\n return function (event) {\n domEventHandler('click', triggerHandlers.bind(null, 'dom'))(event);\n return innerOriginal.call(this, event);\n };\n });\n }\n if (eventName === 'keypress') {\n fill(fn, 'handleEvent', function (innerOriginal) {\n return function (event) {\n keypressEventHandler(triggerHandlers.bind(null, 'dom'))(event);\n return innerOriginal.call(this, event);\n };\n });\n }\n }\n else {\n if (eventName === 'click') {\n domEventHandler('click', triggerHandlers.bind(null, 'dom'), true)(this);\n }\n if (eventName === 'keypress') {\n keypressEventHandler(triggerHandlers.bind(null, 'dom'))(this);\n }\n }\n return original.call(this, eventName, fn, options);\n };\n });\n fill(proto, 'removeEventListener', function (original) {\n return function (eventName, fn, options) {\n var callback = fn;\n try {\n callback = callback && (callback.__sentry_wrapped__ || callback);\n }\n catch (e) {\n // ignore, accessing __sentry_wrapped__ will throw in some Selenium environments\n }\n return original.call(this, eventName, callback, options);\n };\n });\n });\n}\nvar debounceDuration = 1000;\nvar debounceTimer = 0;\nvar keypressTimeout;\nvar lastCapturedEvent;\n/**\n * Wraps addEventListener to capture UI breadcrumbs\n * @param name the event name (e.g. \"click\")\n * @param handler function that will be triggered\n * @param debounce decides whether it should wait till another event loop\n * @returns wrapped breadcrumb events handler\n * @hidden\n */\nfunction domEventHandler(name, handler, debounce) {\n if (debounce === void 0) { debounce = false; }\n return function (event) {\n // reset keypress timeout; e.g. triggering a 'click' after\n // a 'keypress' will reset the keypress debounce so that a new\n // set of keypresses can be recorded\n keypressTimeout = undefined;\n // It's possible this handler might trigger multiple times for the same\n // event (e.g. event propagation through node ancestors). Ignore if we've\n // already captured the event.\n if (!event || lastCapturedEvent === event) {\n return;\n }\n lastCapturedEvent = event;\n if (debounceTimer) {\n clearTimeout(debounceTimer);\n }\n if (debounce) {\n debounceTimer = setTimeout(function () {\n handler({ event: event, name: name });\n });\n }\n else {\n handler({ event: event, name: name });\n }\n };\n}\n/**\n * Wraps addEventListener to capture keypress UI events\n * @param handler function that will be triggered\n * @returns wrapped keypress events handler\n * @hidden\n */\nfunction keypressEventHandler(handler) {\n // TODO: if somehow user switches keypress target before\n // debounce timeout is triggered, we will only capture\n // a single breadcrumb from the FIRST target (acceptable?)\n return function (event) {\n var target;\n try {\n target = event.target;\n }\n catch (e) {\n // just accessing event properties can throw an exception in some rare circumstances\n // see: https://github.com/getsentry/raven-js/issues/838\n return;\n }\n var tagName = target && target.tagName;\n // only consider keypress events on actual input elements\n // this will disregard keypresses targeting body (e.g. tabbing\n // through elements, hotkeys, etc)\n if (!tagName || (tagName !== 'INPUT' && tagName !== 'TEXTAREA' && !target.isContentEditable)) {\n return;\n }\n // record first keypress in a series, but ignore subsequent\n // keypresses until debounce clears\n if (!keypressTimeout) {\n domEventHandler('input', handler)(event);\n }\n clearTimeout(keypressTimeout);\n keypressTimeout = setTimeout(function () {\n keypressTimeout = undefined;\n }, debounceDuration);\n };\n}\nvar _oldOnErrorHandler = null;\n/** JSDoc */\nfunction instrumentError() {\n _oldOnErrorHandler = global.onerror;\n global.onerror = function (msg, url, line, column, error) {\n triggerHandlers('error', {\n column: column,\n error: error,\n line: line,\n msg: msg,\n url: url,\n });\n if (_oldOnErrorHandler) {\n return _oldOnErrorHandler.apply(this, arguments);\n }\n return false;\n };\n}\nvar _oldOnUnhandledRejectionHandler = null;\n/** JSDoc */\nfunction instrumentUnhandledRejection() {\n _oldOnUnhandledRejectionHandler = global.onunhandledrejection;\n global.onunhandledrejection = function (e) {\n triggerHandlers('unhandledrejection', e);\n if (_oldOnUnhandledRejectionHandler) {\n return _oldOnUnhandledRejectionHandler.apply(this, arguments);\n }\n return true;\n };\n}\n//# sourceMappingURL=instrument.js.map","/**\n * Checks whether given value's type is one of a few Error or Error-like\n * {@link isError}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isError(wat) {\n switch (Object.prototype.toString.call(wat)) {\n case '[object Error]':\n return true;\n case '[object Exception]':\n return true;\n case '[object DOMException]':\n return true;\n default:\n return isInstanceOf(wat, Error);\n }\n}\n/**\n * Checks whether given value's type is ErrorEvent\n * {@link isErrorEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isErrorEvent(wat) {\n return Object.prototype.toString.call(wat) === '[object ErrorEvent]';\n}\n/**\n * Checks whether given value's type is DOMError\n * {@link isDOMError}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isDOMError(wat) {\n return Object.prototype.toString.call(wat) === '[object DOMError]';\n}\n/**\n * Checks whether given value's type is DOMException\n * {@link isDOMException}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isDOMException(wat) {\n return Object.prototype.toString.call(wat) === '[object DOMException]';\n}\n/**\n * Checks whether given value's type is a string\n * {@link isString}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isString(wat) {\n return Object.prototype.toString.call(wat) === '[object String]';\n}\n/**\n * Checks whether given value's is a primitive (undefined, null, number, boolean, string)\n * {@link isPrimitive}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isPrimitive(wat) {\n return wat === null || (typeof wat !== 'object' && typeof wat !== 'function');\n}\n/**\n * Checks whether given value's type is an object literal\n * {@link isPlainObject}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isPlainObject(wat) {\n return Object.prototype.toString.call(wat) === '[object Object]';\n}\n/**\n * Checks whether given value's type is an Event instance\n * {@link isEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isEvent(wat) {\n // tslint:disable-next-line:strict-type-predicates\n return typeof Event !== 'undefined' && isInstanceOf(wat, Event);\n}\n/**\n * Checks whether given value's type is an Element instance\n * {@link isElement}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isElement(wat) {\n // tslint:disable-next-line:strict-type-predicates\n return typeof Element !== 'undefined' && isInstanceOf(wat, Element);\n}\n/**\n * Checks whether given value's type is an regexp\n * {@link isRegExp}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isRegExp(wat) {\n return Object.prototype.toString.call(wat) === '[object RegExp]';\n}\n/**\n * Checks whether given value has a then function.\n * @param wat A value to be checked.\n */\nexport function isThenable(wat) {\n // tslint:disable:no-unsafe-any\n return Boolean(wat && wat.then && typeof wat.then === 'function');\n // tslint:enable:no-unsafe-any\n}\n/**\n * Checks whether given value's type is a SyntheticEvent\n * {@link isSyntheticEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isSyntheticEvent(wat) {\n // tslint:disable-next-line:no-unsafe-any\n return isPlainObject(wat) && 'nativeEvent' in wat && 'preventDefault' in wat && 'stopPropagation' in wat;\n}\n/**\n * Checks whether given value's type is an instance of provided constructor.\n * {@link isInstanceOf}.\n *\n * @param wat A value to be checked.\n * @param base A constructor to be used in a check.\n * @returns A boolean representing the result.\n */\nexport function isInstanceOf(wat, base) {\n try {\n // tslint:disable-next-line:no-unsafe-any\n return wat instanceof base;\n }\n catch (_e) {\n return false;\n }\n}\n//# sourceMappingURL=is.js.map","import { consoleSandbox, getGlobalObject } from './misc';\n// TODO: Implement different loggers for different environments\nvar global = getGlobalObject();\n/** Prefix for logging strings */\nvar PREFIX = 'Sentry Logger ';\n/** JSDoc */\nvar Logger = /** @class */ (function () {\n /** JSDoc */\n function Logger() {\n this._enabled = false;\n }\n /** JSDoc */\n Logger.prototype.disable = function () {\n this._enabled = false;\n };\n /** JSDoc */\n Logger.prototype.enable = function () {\n this._enabled = true;\n };\n /** JSDoc */\n Logger.prototype.log = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!this._enabled) {\n return;\n }\n consoleSandbox(function () {\n global.console.log(PREFIX + \"[Log]: \" + args.join(' ')); // tslint:disable-line:no-console\n });\n };\n /** JSDoc */\n Logger.prototype.warn = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!this._enabled) {\n return;\n }\n consoleSandbox(function () {\n global.console.warn(PREFIX + \"[Warn]: \" + args.join(' ')); // tslint:disable-line:no-console\n });\n };\n /** JSDoc */\n Logger.prototype.error = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!this._enabled) {\n return;\n }\n consoleSandbox(function () {\n global.console.error(PREFIX + \"[Error]: \" + args.join(' ')); // tslint:disable-line:no-console\n });\n };\n return Logger;\n}());\n// Ensure we only have a single logger instance, even if multiple versions of @sentry/utils are being used\nglobal.__SENTRY__ = global.__SENTRY__ || {};\nvar logger = global.__SENTRY__.logger || (global.__SENTRY__.logger = new Logger());\nexport { logger };\n//# sourceMappingURL=logger.js.map","// tslint:disable:no-unsafe-any\n/**\n * Memo class used for decycle json objects. Uses WeakSet if available otherwise array.\n */\nvar Memo = /** @class */ (function () {\n function Memo() {\n // tslint:disable-next-line\n this._hasWeakSet = typeof WeakSet === 'function';\n this._inner = this._hasWeakSet ? new WeakSet() : [];\n }\n /**\n * Sets obj to remember.\n * @param obj Object to remember\n */\n Memo.prototype.memoize = function (obj) {\n if (this._hasWeakSet) {\n if (this._inner.has(obj)) {\n return true;\n }\n this._inner.add(obj);\n return false;\n }\n // tslint:disable-next-line:prefer-for-of\n for (var i = 0; i < this._inner.length; i++) {\n var value = this._inner[i];\n if (value === obj) {\n return true;\n }\n }\n this._inner.push(obj);\n return false;\n };\n /**\n * Removes object from internal storage.\n * @param obj Object to forget\n */\n Memo.prototype.unmemoize = function (obj) {\n if (this._hasWeakSet) {\n this._inner.delete(obj);\n }\n else {\n for (var i = 0; i < this._inner.length; i++) {\n if (this._inner[i] === obj) {\n this._inner.splice(i, 1);\n break;\n }\n }\n }\n };\n return Memo;\n}());\nexport { Memo };\n//# sourceMappingURL=memo.js.map","import { isString } from './is';\nimport { snipLine } from './string';\n/**\n * Requires a module which is protected against bundler minification.\n *\n * @param request The module path to resolve\n */\nexport function dynamicRequire(mod, request) {\n // tslint:disable-next-line: no-unsafe-any\n return mod.require(request);\n}\n/**\n * Checks whether we're in the Node.js or Browser environment\n *\n * @returns Answer to given question\n */\nexport function isNodeEnv() {\n // tslint:disable:strict-type-predicates\n return Object.prototype.toString.call(typeof process !== 'undefined' ? process : 0) === '[object process]';\n}\nvar fallbackGlobalObject = {};\n/**\n * Safely get global scope object\n *\n * @returns Global scope object\n */\nexport function getGlobalObject() {\n return (isNodeEnv()\n ? global\n : typeof window !== 'undefined'\n ? window\n : typeof self !== 'undefined'\n ? self\n : fallbackGlobalObject);\n}\n/**\n * UUID4 generator\n *\n * @returns string Generated UUID4.\n */\nexport function uuid4() {\n var global = getGlobalObject();\n var crypto = global.crypto || global.msCrypto;\n if (!(crypto === void 0) && crypto.getRandomValues) {\n // Use window.crypto API if available\n var arr = new Uint16Array(8);\n crypto.getRandomValues(arr);\n // set 4 in byte 7\n // tslint:disable-next-line:no-bitwise\n arr[3] = (arr[3] & 0xfff) | 0x4000;\n // set 2 most significant bits of byte 9 to '10'\n // tslint:disable-next-line:no-bitwise\n arr[4] = (arr[4] & 0x3fff) | 0x8000;\n var pad = function (num) {\n var v = num.toString(16);\n while (v.length < 4) {\n v = \"0\" + v;\n }\n return v;\n };\n return (pad(arr[0]) + pad(arr[1]) + pad(arr[2]) + pad(arr[3]) + pad(arr[4]) + pad(arr[5]) + pad(arr[6]) + pad(arr[7]));\n }\n // http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript/2117523#2117523\n return 'xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n // tslint:disable-next-line:no-bitwise\n var r = (Math.random() * 16) | 0;\n // tslint:disable-next-line:no-bitwise\n var v = c === 'x' ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n}\n/**\n * Parses string form of URL into an object\n * // borrowed from https://tools.ietf.org/html/rfc3986#appendix-B\n * // intentionally using regex and not href parsing trick because React Native and other\n * // environments where DOM might not be available\n * @returns parsed URL object\n */\nexport function parseUrl(url) {\n if (!url) {\n return {};\n }\n var match = url.match(/^(([^:\\/?#]+):)?(\\/\\/([^\\/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?$/);\n if (!match) {\n return {};\n }\n // coerce to undefined values to empty string so we don't get 'undefined'\n var query = match[6] || '';\n var fragment = match[8] || '';\n return {\n host: match[4],\n path: match[5],\n protocol: match[2],\n relative: match[5] + query + fragment,\n };\n}\n/**\n * Extracts either message or type+value from an event that can be used for user-facing logs\n * @returns event's description\n */\nexport function getEventDescription(event) {\n if (event.message) {\n return event.message;\n }\n if (event.exception && event.exception.values && event.exception.values[0]) {\n var exception = event.exception.values[0];\n if (exception.type && exception.value) {\n return exception.type + \": \" + exception.value;\n }\n return exception.type || exception.value || event.event_id || '';\n }\n return event.event_id || '';\n}\n/** JSDoc */\nexport function consoleSandbox(callback) {\n var global = getGlobalObject();\n var levels = ['debug', 'info', 'warn', 'error', 'log', 'assert'];\n if (!('console' in global)) {\n return callback();\n }\n var originalConsole = global.console;\n var wrappedLevels = {};\n // Restore all wrapped console methods\n levels.forEach(function (level) {\n if (level in global.console && originalConsole[level].__sentry_original__) {\n wrappedLevels[level] = originalConsole[level];\n originalConsole[level] = originalConsole[level].__sentry_original__;\n }\n });\n // Perform callback manipulations\n var result = callback();\n // Revert restoration to wrapped state\n Object.keys(wrappedLevels).forEach(function (level) {\n originalConsole[level] = wrappedLevels[level];\n });\n return result;\n}\n/**\n * Adds exception values, type and value to an synthetic Exception.\n * @param event The event to modify.\n * @param value Value of the exception.\n * @param type Type of the exception.\n * @hidden\n */\nexport function addExceptionTypeValue(event, value, type) {\n event.exception = event.exception || {};\n event.exception.values = event.exception.values || [];\n event.exception.values[0] = event.exception.values[0] || {};\n event.exception.values[0].value = event.exception.values[0].value || value || '';\n event.exception.values[0].type = event.exception.values[0].type || type || 'Error';\n}\n/**\n * Adds exception mechanism to a given event.\n * @param event The event to modify.\n * @param mechanism Mechanism of the mechanism.\n * @hidden\n */\nexport function addExceptionMechanism(event, mechanism) {\n if (mechanism === void 0) { mechanism = {}; }\n // TODO: Use real type with `keyof Mechanism` thingy and maybe make it better?\n try {\n // @ts-ignore\n // tslint:disable:no-non-null-assertion\n event.exception.values[0].mechanism = event.exception.values[0].mechanism || {};\n Object.keys(mechanism).forEach(function (key) {\n // @ts-ignore\n event.exception.values[0].mechanism[key] = mechanism[key];\n });\n }\n catch (_oO) {\n // no-empty\n }\n}\n/**\n * A safe form of location.href\n */\nexport function getLocationHref() {\n try {\n return document.location.href;\n }\n catch (oO) {\n return '';\n }\n}\n/**\n * Given a child DOM element, returns a query-selector statement describing that\n * and its ancestors\n * e.g. [HTMLElement] => body > div > input#foo.btn[name=baz]\n * @returns generated DOM path\n */\nexport function htmlTreeAsString(elem) {\n // try/catch both:\n // - accessing event.target (see getsentry/raven-js#838, #768)\n // - `htmlTreeAsString` because it's complex, and just accessing the DOM incorrectly\n // - can throw an exception in some circumstances.\n try {\n var currentElem = elem;\n var MAX_TRAVERSE_HEIGHT = 5;\n var MAX_OUTPUT_LEN = 80;\n var out = [];\n var height = 0;\n var len = 0;\n var separator = ' > ';\n var sepLength = separator.length;\n var nextStr = void 0;\n while (currentElem && height++ < MAX_TRAVERSE_HEIGHT) {\n nextStr = _htmlElementAsString(currentElem);\n // bail out if\n // - nextStr is the 'html' element\n // - the length of the string that would be created exceeds MAX_OUTPUT_LEN\n // (ignore this limit if we are on the first iteration)\n if (nextStr === 'html' || (height > 1 && len + out.length * sepLength + nextStr.length >= MAX_OUTPUT_LEN)) {\n break;\n }\n out.push(nextStr);\n len += nextStr.length;\n currentElem = currentElem.parentNode;\n }\n return out.reverse().join(separator);\n }\n catch (_oO) {\n return '';\n }\n}\n/**\n * Returns a simple, query-selector representation of a DOM element\n * e.g. [HTMLElement] => input#foo.btn[name=baz]\n * @returns generated DOM path\n */\nfunction _htmlElementAsString(el) {\n var elem = el;\n var out = [];\n var className;\n var classes;\n var key;\n var attr;\n var i;\n if (!elem || !elem.tagName) {\n return '';\n }\n out.push(elem.tagName.toLowerCase());\n if (elem.id) {\n out.push(\"#\" + elem.id);\n }\n className = elem.className;\n if (className && isString(className)) {\n classes = className.split(/\\s+/);\n for (i = 0; i < classes.length; i++) {\n out.push(\".\" + classes[i]);\n }\n }\n var attrWhitelist = ['type', 'name', 'title', 'alt'];\n for (i = 0; i < attrWhitelist.length; i++) {\n key = attrWhitelist[i];\n attr = elem.getAttribute(key);\n if (attr) {\n out.push(\"[\" + key + \"=\\\"\" + attr + \"\\\"]\");\n }\n }\n return out.join('');\n}\nvar INITIAL_TIME = Date.now();\nvar prevNow = 0;\nvar performanceFallback = {\n now: function () {\n var now = Date.now() - INITIAL_TIME;\n if (now < prevNow) {\n now = prevNow;\n }\n prevNow = now;\n return now;\n },\n timeOrigin: INITIAL_TIME,\n};\nexport var crossPlatformPerformance = (function () {\n if (isNodeEnv()) {\n try {\n var perfHooks = dynamicRequire(module, 'perf_hooks');\n return perfHooks.performance;\n }\n catch (_) {\n return performanceFallback;\n }\n }\n if (getGlobalObject().performance) {\n // Polyfill for performance.timeOrigin.\n //\n // While performance.timing.navigationStart is deprecated in favor of performance.timeOrigin, performance.timeOrigin\n // is not as widely supported. Namely, performance.timeOrigin is undefined in Safari as of writing.\n // tslint:disable-next-line:strict-type-predicates\n if (performance.timeOrigin === undefined) {\n // As of writing, performance.timing is not available in Web Workers in mainstream browsers, so it is not always a\n // valid fallback. In the absence of a initial time provided by the browser, fallback to INITIAL_TIME.\n // @ts-ignore\n // tslint:disable-next-line:deprecation\n performance.timeOrigin = (performance.timing && performance.timing.navigationStart) || INITIAL_TIME;\n }\n }\n return getGlobalObject().performance || performanceFallback;\n})();\n/**\n * Returns a timestamp in seconds with milliseconds precision since the UNIX epoch calculated with the monotonic clock.\n */\nexport function timestampWithMs() {\n return (crossPlatformPerformance.timeOrigin + crossPlatformPerformance.now()) / 1000;\n}\n// https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string\nvar SEMVER_REGEXP = /^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$/;\n/**\n * Parses input into a SemVer interface\n * @param input string representation of a semver version\n */\nexport function parseSemver(input) {\n var match = input.match(SEMVER_REGEXP) || [];\n var major = parseInt(match[1], 10);\n var minor = parseInt(match[2], 10);\n var patch = parseInt(match[3], 10);\n return {\n buildmetadata: match[5],\n major: isNaN(major) ? undefined : major,\n minor: isNaN(minor) ? undefined : minor,\n patch: isNaN(patch) ? undefined : patch,\n prerelease: match[4],\n };\n}\nvar defaultRetryAfter = 60 * 1000; // 60 seconds\n/**\n * Extracts Retry-After value from the request header or returns default value\n * @param now current unix timestamp\n * @param header string representation of 'Retry-After' header\n */\nexport function parseRetryAfterHeader(now, header) {\n if (!header) {\n return defaultRetryAfter;\n }\n var headerDelay = parseInt(\"\" + header, 10);\n if (!isNaN(headerDelay)) {\n return headerDelay * 1000;\n }\n var headerDate = Date.parse(\"\" + header);\n if (!isNaN(headerDate)) {\n return headerDate - now;\n }\n return defaultRetryAfter;\n}\nvar defaultFunctionName = '';\n/**\n * Safely extract function name from itself\n */\nexport function getFunctionName(fn) {\n try {\n if (!fn || typeof fn !== 'function') {\n return defaultFunctionName;\n }\n return fn.name || defaultFunctionName;\n }\n catch (e) {\n // Just accessing custom props in some Selenium environments\n // can cause a \"Permission denied\" exception (see raven-js#495).\n return defaultFunctionName;\n }\n}\n/**\n * This function adds context (pre/post/line) lines to the provided frame\n *\n * @param lines string[] containing all lines\n * @param frame StackFrame that will be mutated\n * @param linesOfContext number of context lines we want to add pre/post\n */\nexport function addContextToFrame(lines, frame, linesOfContext) {\n if (linesOfContext === void 0) { linesOfContext = 5; }\n var lineno = frame.lineno || 0;\n var maxLines = lines.length;\n var sourceLine = Math.max(Math.min(maxLines, lineno - 1), 0);\n frame.pre_context = lines\n .slice(Math.max(0, sourceLine - linesOfContext), sourceLine)\n .map(function (line) { return snipLine(line, 0); });\n frame.context_line = snipLine(lines[Math.min(maxLines - 1, sourceLine)], frame.colno || 0);\n frame.post_context = lines\n .slice(Math.min(sourceLine + 1, maxLines), sourceLine + 1 + linesOfContext)\n .map(function (line) { return snipLine(line, 0); });\n}\n//# sourceMappingURL=misc.js.map","import * as tslib_1 from \"tslib\";\nimport { isElement, isError, isEvent, isInstanceOf, isPlainObject, isPrimitive, isSyntheticEvent } from './is';\nimport { Memo } from './memo';\nimport { getFunctionName, htmlTreeAsString } from './misc';\nimport { truncate } from './string';\n/**\n * Wrap a given object method with a higher-order function\n *\n * @param source An object that contains a method to be wrapped.\n * @param name A name of method to be wrapped.\n * @param replacement A function that should be used to wrap a given method.\n * @returns void\n */\nexport function fill(source, name, replacement) {\n if (!(name in source)) {\n return;\n }\n var original = source[name];\n var wrapped = replacement(original);\n // Make sure it's a function first, as we need to attach an empty prototype for `defineProperties` to work\n // otherwise it'll throw \"TypeError: Object.defineProperties called on non-object\"\n // tslint:disable-next-line:strict-type-predicates\n if (typeof wrapped === 'function') {\n try {\n wrapped.prototype = wrapped.prototype || {};\n Object.defineProperties(wrapped, {\n __sentry_original__: {\n enumerable: false,\n value: original,\n },\n });\n }\n catch (_Oo) {\n // This can throw if multiple fill happens on a global object like XMLHttpRequest\n // Fixes https://github.com/getsentry/sentry-javascript/issues/2043\n }\n }\n source[name] = wrapped;\n}\n/**\n * Encodes given object into url-friendly format\n *\n * @param object An object that contains serializable values\n * @returns string Encoded\n */\nexport function urlEncode(object) {\n return Object.keys(object)\n .map(\n // tslint:disable-next-line:no-unsafe-any\n function (key) { return encodeURIComponent(key) + \"=\" + encodeURIComponent(object[key]); })\n .join('&');\n}\n/**\n * Transforms any object into an object literal with all it's attributes\n * attached to it.\n *\n * @param value Initial source that we have to transform in order to be usable by the serializer\n */\nfunction getWalkSource(value) {\n if (isError(value)) {\n var error = value;\n var err = {\n message: error.message,\n name: error.name,\n stack: error.stack,\n };\n for (var i in error) {\n if (Object.prototype.hasOwnProperty.call(error, i)) {\n err[i] = error[i];\n }\n }\n return err;\n }\n if (isEvent(value)) {\n var event_1 = value;\n var source = {};\n source.type = event_1.type;\n // Accessing event.target can throw (see getsentry/raven-js#838, #768)\n try {\n source.target = isElement(event_1.target)\n ? htmlTreeAsString(event_1.target)\n : Object.prototype.toString.call(event_1.target);\n }\n catch (_oO) {\n source.target = '';\n }\n try {\n source.currentTarget = isElement(event_1.currentTarget)\n ? htmlTreeAsString(event_1.currentTarget)\n : Object.prototype.toString.call(event_1.currentTarget);\n }\n catch (_oO) {\n source.currentTarget = '';\n }\n // tslint:disable-next-line:strict-type-predicates\n if (typeof CustomEvent !== 'undefined' && isInstanceOf(value, CustomEvent)) {\n source.detail = event_1.detail;\n }\n for (var i in event_1) {\n if (Object.prototype.hasOwnProperty.call(event_1, i)) {\n source[i] = event_1;\n }\n }\n return source;\n }\n return value;\n}\n/** Calculates bytes size of input string */\nfunction utf8Length(value) {\n // tslint:disable-next-line:no-bitwise\n return ~-encodeURI(value).split(/%..|./).length;\n}\n/** Calculates bytes size of input object */\nfunction jsonSize(value) {\n return utf8Length(JSON.stringify(value));\n}\n/** JSDoc */\nexport function normalizeToSize(object, \n// Default Node.js REPL depth\ndepth, \n// 100kB, as 200kB is max payload size, so half sounds reasonable\nmaxSize) {\n if (depth === void 0) { depth = 3; }\n if (maxSize === void 0) { maxSize = 100 * 1024; }\n var serialized = normalize(object, depth);\n if (jsonSize(serialized) > maxSize) {\n return normalizeToSize(object, depth - 1, maxSize);\n }\n return serialized;\n}\n/** Transforms any input value into a string form, either primitive value or a type of the input */\nfunction serializeValue(value) {\n var type = Object.prototype.toString.call(value);\n // Node.js REPL notation\n if (typeof value === 'string') {\n return value;\n }\n if (type === '[object Object]') {\n return '[Object]';\n }\n if (type === '[object Array]') {\n return '[Array]';\n }\n var normalized = normalizeValue(value);\n return isPrimitive(normalized) ? normalized : type;\n}\n/**\n * normalizeValue()\n *\n * Takes unserializable input and make it serializable friendly\n *\n * - translates undefined/NaN values to \"[undefined]\"/\"[NaN]\" respectively,\n * - serializes Error objects\n * - filter global objects\n */\n// tslint:disable-next-line:cyclomatic-complexity\nfunction normalizeValue(value, key) {\n if (key === 'domain' && value && typeof value === 'object' && value._events) {\n return '[Domain]';\n }\n if (key === 'domainEmitter') {\n return '[DomainEmitter]';\n }\n if (typeof global !== 'undefined' && value === global) {\n return '[Global]';\n }\n if (typeof window !== 'undefined' && value === window) {\n return '[Window]';\n }\n if (typeof document !== 'undefined' && value === document) {\n return '[Document]';\n }\n // React's SyntheticEvent thingy\n if (isSyntheticEvent(value)) {\n return '[SyntheticEvent]';\n }\n // tslint:disable-next-line:no-tautology-expression\n if (typeof value === 'number' && value !== value) {\n return '[NaN]';\n }\n if (value === void 0) {\n return '[undefined]';\n }\n if (typeof value === 'function') {\n return \"[Function: \" + getFunctionName(value) + \"]\";\n }\n return value;\n}\n/**\n * Walks an object to perform a normalization on it\n *\n * @param key of object that's walked in current iteration\n * @param value object to be walked\n * @param depth Optional number indicating how deep should walking be performed\n * @param memo Optional Memo class handling decycling\n */\nexport function walk(key, value, depth, memo) {\n if (depth === void 0) { depth = +Infinity; }\n if (memo === void 0) { memo = new Memo(); }\n // If we reach the maximum depth, serialize whatever has left\n if (depth === 0) {\n return serializeValue(value);\n }\n // If value implements `toJSON` method, call it and return early\n // tslint:disable:no-unsafe-any\n if (value !== null && value !== undefined && typeof value.toJSON === 'function') {\n return value.toJSON();\n }\n // tslint:enable:no-unsafe-any\n // If normalized value is a primitive, there are no branches left to walk, so we can just bail out, as theres no point in going down that branch any further\n var normalized = normalizeValue(value, key);\n if (isPrimitive(normalized)) {\n return normalized;\n }\n // Create source that we will use for next itterations, either objectified error object (Error type with extracted keys:value pairs) or the input itself\n var source = getWalkSource(value);\n // Create an accumulator that will act as a parent for all future itterations of that branch\n var acc = Array.isArray(value) ? [] : {};\n // If we already walked that branch, bail out, as it's circular reference\n if (memo.memoize(value)) {\n return '[Circular ~]';\n }\n // Walk all keys of the source\n for (var innerKey in source) {\n // Avoid iterating over fields in the prototype if they've somehow been exposed to enumeration.\n if (!Object.prototype.hasOwnProperty.call(source, innerKey)) {\n continue;\n }\n // Recursively walk through all the child nodes\n acc[innerKey] = walk(innerKey, source[innerKey], depth - 1, memo);\n }\n // Once walked through all the branches, remove the parent from memo storage\n memo.unmemoize(value);\n // Return accumulated values\n return acc;\n}\n/**\n * normalize()\n *\n * - Creates a copy to prevent original input mutation\n * - Skip non-enumerablers\n * - Calls `toJSON` if implemented\n * - Removes circular references\n * - Translates non-serializeable values (undefined/NaN/Functions) to serializable format\n * - Translates known global objects/Classes to a string representations\n * - Takes care of Error objects serialization\n * - Optionally limit depth of final output\n */\nexport function normalize(input, depth) {\n try {\n // tslint:disable-next-line:no-unsafe-any\n return JSON.parse(JSON.stringify(input, function (key, value) { return walk(key, value, depth); }));\n }\n catch (_oO) {\n return '**non-serializable**';\n }\n}\n/**\n * Given any captured exception, extract its keys and create a sorted\n * and truncated list that will be used inside the event message.\n * eg. `Non-error exception captured with keys: foo, bar, baz`\n */\nexport function extractExceptionKeysForMessage(exception, maxLength) {\n if (maxLength === void 0) { maxLength = 40; }\n // tslint:disable:strict-type-predicates\n var keys = Object.keys(getWalkSource(exception));\n keys.sort();\n if (!keys.length) {\n return '[object has no keys]';\n }\n if (keys[0].length >= maxLength) {\n return truncate(keys[0], maxLength);\n }\n for (var includedKeys = keys.length; includedKeys > 0; includedKeys--) {\n var serialized = keys.slice(0, includedKeys).join(', ');\n if (serialized.length > maxLength) {\n continue;\n }\n if (includedKeys === keys.length) {\n return serialized;\n }\n return truncate(serialized, maxLength);\n }\n return '';\n}\n/**\n * Given any object, return the new object with removed keys that value was `undefined`.\n * Works recursively on objects and arrays.\n */\nexport function dropUndefinedKeys(val) {\n var e_1, _a;\n if (isPlainObject(val)) {\n var obj = val;\n var rv = {};\n try {\n for (var _b = tslib_1.__values(Object.keys(obj)), _c = _b.next(); !_c.done; _c = _b.next()) {\n var key = _c.value;\n if (typeof obj[key] !== 'undefined') {\n rv[key] = dropUndefinedKeys(obj[key]);\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return rv;\n }\n if (Array.isArray(val)) {\n return val.map(dropUndefinedKeys);\n }\n return val;\n}\n//# sourceMappingURL=object.js.map","// Slightly modified (no IE8 support, ES6) and transcribed to TypeScript\n// https://raw.githubusercontent.com/calvinmetcalf/rollup-plugin-node-builtins/master/src/es6/path.js\n/** JSDoc */\nfunction normalizeArray(parts, allowAboveRoot) {\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = parts.length - 1; i >= 0; i--) {\n var last = parts[i];\n if (last === '.') {\n parts.splice(i, 1);\n }\n else if (last === '..') {\n parts.splice(i, 1);\n up++;\n }\n else if (up) {\n parts.splice(i, 1);\n up--;\n }\n }\n // if the path is allowed to go above the root, restore leading ..s\n if (allowAboveRoot) {\n for (; up--; up) {\n parts.unshift('..');\n }\n }\n return parts;\n}\n// Split a filename into [root, dir, basename, ext], unix version\n// 'root' is just a slash, or nothing.\nvar splitPathRe = /^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;\n/** JSDoc */\nfunction splitPath(filename) {\n var parts = splitPathRe.exec(filename);\n return parts ? parts.slice(1) : [];\n}\n// path.resolve([from ...], to)\n// posix version\n/** JSDoc */\nexport function resolve() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var resolvedPath = '';\n var resolvedAbsolute = false;\n for (var i = args.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n var path = i >= 0 ? args[i] : '/';\n // Skip empty entries\n if (!path) {\n continue;\n }\n resolvedPath = path + \"/\" + resolvedPath;\n resolvedAbsolute = path.charAt(0) === '/';\n }\n // At this point the path should be resolved to a full absolute path, but\n // handle relative paths to be safe (might happen when process.cwd() fails)\n // Normalize the path\n resolvedPath = normalizeArray(resolvedPath.split('/').filter(function (p) { return !!p; }), !resolvedAbsolute).join('/');\n return (resolvedAbsolute ? '/' : '') + resolvedPath || '.';\n}\n/** JSDoc */\nfunction trim(arr) {\n var start = 0;\n for (; start < arr.length; start++) {\n if (arr[start] !== '') {\n break;\n }\n }\n var end = arr.length - 1;\n for (; end >= 0; end--) {\n if (arr[end] !== '') {\n break;\n }\n }\n if (start > end) {\n return [];\n }\n return arr.slice(start, end - start + 1);\n}\n// path.relative(from, to)\n// posix version\n/** JSDoc */\nexport function relative(from, to) {\n // tslint:disable:no-parameter-reassignment\n from = resolve(from).substr(1);\n to = resolve(to).substr(1);\n var fromParts = trim(from.split('/'));\n var toParts = trim(to.split('/'));\n var length = Math.min(fromParts.length, toParts.length);\n var samePartsLength = length;\n for (var i = 0; i < length; i++) {\n if (fromParts[i] !== toParts[i]) {\n samePartsLength = i;\n break;\n }\n }\n var outputParts = [];\n for (var i = samePartsLength; i < fromParts.length; i++) {\n outputParts.push('..');\n }\n outputParts = outputParts.concat(toParts.slice(samePartsLength));\n return outputParts.join('/');\n}\n// path.normalize(path)\n// posix version\n/** JSDoc */\nexport function normalizePath(path) {\n var isPathAbsolute = isAbsolute(path);\n var trailingSlash = path.substr(-1) === '/';\n // Normalize the path\n var normalizedPath = normalizeArray(path.split('/').filter(function (p) { return !!p; }), !isPathAbsolute).join('/');\n if (!normalizedPath && !isPathAbsolute) {\n normalizedPath = '.';\n }\n if (normalizedPath && trailingSlash) {\n normalizedPath += '/';\n }\n return (isPathAbsolute ? '/' : '') + normalizedPath;\n}\n// posix version\n/** JSDoc */\nexport function isAbsolute(path) {\n return path.charAt(0) === '/';\n}\n// posix version\n/** JSDoc */\nexport function join() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return normalizePath(args.join('/'));\n}\n/** JSDoc */\nexport function dirname(path) {\n var result = splitPath(path);\n var root = result[0];\n var dir = result[1];\n if (!root && !dir) {\n // No dirname whatsoever\n return '.';\n }\n if (dir) {\n // It has a dirname, strip trailing slash\n dir = dir.substr(0, dir.length - 1);\n }\n return root + dir;\n}\n/** JSDoc */\nexport function basename(path, ext) {\n var f = splitPath(path)[2];\n if (ext && f.substr(ext.length * -1) === ext) {\n f = f.substr(0, f.length - ext.length);\n }\n return f;\n}\n//# sourceMappingURL=path.js.map","export var setPrototypeOf = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array ? setProtoOf : mixinProperties); // tslint:disable-line:no-unbound-method\n/**\n * setPrototypeOf polyfill using __proto__\n */\nfunction setProtoOf(obj, proto) {\n // @ts-ignore\n obj.__proto__ = proto;\n return obj;\n}\n/**\n * setPrototypeOf polyfill using mixin\n */\nfunction mixinProperties(obj, proto) {\n for (var prop in proto) {\n if (!obj.hasOwnProperty(prop)) {\n // @ts-ignore\n obj[prop] = proto[prop];\n }\n }\n return obj;\n}\n//# sourceMappingURL=polyfill.js.map","import { SentryError } from './error';\nimport { SyncPromise } from './syncpromise';\n/** A simple queue that holds promises. */\nvar PromiseBuffer = /** @class */ (function () {\n function PromiseBuffer(_limit) {\n this._limit = _limit;\n /** Internal set of queued Promises */\n this._buffer = [];\n }\n /**\n * Says if the buffer is ready to take more requests\n */\n PromiseBuffer.prototype.isReady = function () {\n return this._limit === undefined || this.length() < this._limit;\n };\n /**\n * Add a promise to the queue.\n *\n * @param task Can be any PromiseLike\n * @returns The original promise.\n */\n PromiseBuffer.prototype.add = function (task) {\n var _this = this;\n if (!this.isReady()) {\n return SyncPromise.reject(new SentryError('Not adding Promise due to buffer limit reached.'));\n }\n if (this._buffer.indexOf(task) === -1) {\n this._buffer.push(task);\n }\n task\n .then(function () { return _this.remove(task); })\n .then(null, function () {\n return _this.remove(task).then(null, function () {\n // We have to add this catch here otherwise we have an unhandledPromiseRejection\n // because it's a new Promise chain.\n });\n });\n return task;\n };\n /**\n * Remove a promise to the queue.\n *\n * @param task Can be any PromiseLike\n * @returns Removed promise.\n */\n PromiseBuffer.prototype.remove = function (task) {\n var removedTask = this._buffer.splice(this._buffer.indexOf(task), 1)[0];\n return removedTask;\n };\n /**\n * This function returns the number of unresolved promises in the queue.\n */\n PromiseBuffer.prototype.length = function () {\n return this._buffer.length;\n };\n /**\n * This will drain the whole queue, returns true if queue is empty or drained.\n * If timeout is provided and the queue takes longer to drain, the promise still resolves but with false.\n *\n * @param timeout Number in ms to wait until it resolves with false.\n */\n PromiseBuffer.prototype.drain = function (timeout) {\n var _this = this;\n return new SyncPromise(function (resolve) {\n var capturedSetTimeout = setTimeout(function () {\n if (timeout && timeout > 0) {\n resolve(false);\n }\n }, timeout);\n SyncPromise.all(_this._buffer)\n .then(function () {\n clearTimeout(capturedSetTimeout);\n resolve(true);\n })\n .then(null, function () {\n resolve(true);\n });\n });\n };\n return PromiseBuffer;\n}());\nexport { PromiseBuffer };\n//# sourceMappingURL=promisebuffer.js.map","import { isRegExp, isString } from './is';\n/**\n * Truncates given string to the maximum characters count\n *\n * @param str An object that contains serializable values\n * @param max Maximum number of characters in truncated string\n * @returns string Encoded\n */\nexport function truncate(str, max) {\n if (max === void 0) { max = 0; }\n // tslint:disable-next-line:strict-type-predicates\n if (typeof str !== 'string' || max === 0) {\n return str;\n }\n return str.length <= max ? str : str.substr(0, max) + \"...\";\n}\n/**\n * This is basically just `trim_line` from\n * https://github.com/getsentry/sentry/blob/master/src/sentry/lang/javascript/processor.py#L67\n *\n * @param str An object that contains serializable values\n * @param max Maximum number of characters in truncated string\n * @returns string Encoded\n */\nexport function snipLine(line, colno) {\n var newLine = line;\n var ll = newLine.length;\n if (ll <= 150) {\n return newLine;\n }\n if (colno > ll) {\n colno = ll; // tslint:disable-line:no-parameter-reassignment\n }\n var start = Math.max(colno - 60, 0);\n if (start < 5) {\n start = 0;\n }\n var end = Math.min(start + 140, ll);\n if (end > ll - 5) {\n end = ll;\n }\n if (end === ll) {\n start = Math.max(end - 140, 0);\n }\n newLine = newLine.slice(start, end);\n if (start > 0) {\n newLine = \"'{snip} \" + newLine;\n }\n if (end < ll) {\n newLine += ' {snip}';\n }\n return newLine;\n}\n/**\n * Join values in array\n * @param input array of values to be joined together\n * @param delimiter string to be placed in-between values\n * @returns Joined values\n */\nexport function safeJoin(input, delimiter) {\n if (!Array.isArray(input)) {\n return '';\n }\n var output = [];\n // tslint:disable-next-line:prefer-for-of\n for (var i = 0; i < input.length; i++) {\n var value = input[i];\n try {\n output.push(String(value));\n }\n catch (e) {\n output.push('[value cannot be serialized]');\n }\n }\n return output.join(delimiter);\n}\n/**\n * Checks if the value matches a regex or includes the string\n * @param value The string value to be checked against\n * @param pattern Either a regex or a string that must be contained in value\n */\nexport function isMatchingPattern(value, pattern) {\n if (!isString(value)) {\n return false;\n }\n if (isRegExp(pattern)) {\n return pattern.test(value);\n }\n if (typeof pattern === 'string') {\n return value.indexOf(pattern) !== -1;\n }\n return false;\n}\n//# sourceMappingURL=string.js.map","import { logger } from './logger';\nimport { getGlobalObject } from './misc';\n/**\n * Tells whether current environment supports ErrorEvent objects\n * {@link supportsErrorEvent}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsErrorEvent() {\n try {\n // tslint:disable:no-unused-expression\n new ErrorEvent('');\n return true;\n }\n catch (e) {\n return false;\n }\n}\n/**\n * Tells whether current environment supports DOMError objects\n * {@link supportsDOMError}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsDOMError() {\n try {\n // It really needs 1 argument, not 0.\n // Chrome: VM89:1 Uncaught TypeError: Failed to construct 'DOMError':\n // 1 argument required, but only 0 present.\n // @ts-ignore\n // tslint:disable:no-unused-expression\n new DOMError('');\n return true;\n }\n catch (e) {\n return false;\n }\n}\n/**\n * Tells whether current environment supports DOMException objects\n * {@link supportsDOMException}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsDOMException() {\n try {\n // tslint:disable:no-unused-expression\n new DOMException('');\n return true;\n }\n catch (e) {\n return false;\n }\n}\n/**\n * Tells whether current environment supports Fetch API\n * {@link supportsFetch}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsFetch() {\n if (!('fetch' in getGlobalObject())) {\n return false;\n }\n try {\n // tslint:disable-next-line:no-unused-expression\n new Headers();\n // tslint:disable-next-line:no-unused-expression\n new Request('');\n // tslint:disable-next-line:no-unused-expression\n new Response();\n return true;\n }\n catch (e) {\n return false;\n }\n}\n/**\n * isNativeFetch checks if the given function is a native implementation of fetch()\n */\nfunction isNativeFetch(func) {\n return func && /^function fetch\\(\\)\\s+\\{\\s+\\[native code\\]\\s+\\}$/.test(func.toString());\n}\n/**\n * Tells whether current environment supports Fetch API natively\n * {@link supportsNativeFetch}.\n *\n * @returns true if `window.fetch` is natively implemented, false otherwise\n */\nexport function supportsNativeFetch() {\n if (!supportsFetch()) {\n return false;\n }\n var global = getGlobalObject();\n // Fast path to avoid DOM I/O\n // tslint:disable-next-line:no-unbound-method\n if (isNativeFetch(global.fetch)) {\n return true;\n }\n // window.fetch is implemented, but is polyfilled or already wrapped (e.g: by a chrome extension)\n // so create a \"pure\" iframe to see if that has native fetch\n var result = false;\n var doc = global.document;\n // tslint:disable-next-line:no-unbound-method deprecation\n if (doc && typeof doc.createElement === \"function\") {\n try {\n var sandbox = doc.createElement('iframe');\n sandbox.hidden = true;\n doc.head.appendChild(sandbox);\n if (sandbox.contentWindow && sandbox.contentWindow.fetch) {\n // tslint:disable-next-line:no-unbound-method\n result = isNativeFetch(sandbox.contentWindow.fetch);\n }\n doc.head.removeChild(sandbox);\n }\n catch (err) {\n logger.warn('Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ', err);\n }\n }\n return result;\n}\n/**\n * Tells whether current environment supports ReportingObserver API\n * {@link supportsReportingObserver}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsReportingObserver() {\n // tslint:disable-next-line: no-unsafe-any\n return 'ReportingObserver' in getGlobalObject();\n}\n/**\n * Tells whether current environment supports Referrer Policy API\n * {@link supportsReferrerPolicy}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsReferrerPolicy() {\n // Despite all stars in the sky saying that Edge supports old draft syntax, aka 'never', 'always', 'origin' and 'default\n // https://caniuse.com/#feat=referrer-policy\n // It doesn't. And it throw exception instead of ignoring this parameter...\n // REF: https://github.com/getsentry/raven-js/issues/1233\n if (!supportsFetch()) {\n return false;\n }\n try {\n // tslint:disable:no-unused-expression\n new Request('_', {\n referrerPolicy: 'origin',\n });\n return true;\n }\n catch (e) {\n return false;\n }\n}\n/**\n * Tells whether current environment supports History API\n * {@link supportsHistory}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsHistory() {\n // NOTE: in Chrome App environment, touching history.pushState, *even inside\n // a try/catch block*, will cause Chrome to output an error to console.error\n // borrowed from: https://github.com/angular/angular.js/pull/13945/files\n var global = getGlobalObject();\n var chrome = global.chrome;\n // tslint:disable-next-line:no-unsafe-any\n var isChromePackagedApp = chrome && chrome.app && chrome.app.runtime;\n var hasHistoryApi = 'history' in global && !!global.history.pushState && !!global.history.replaceState;\n return !isChromePackagedApp && hasHistoryApi;\n}\n//# sourceMappingURL=supports.js.map","import { isThenable } from './is';\n/** SyncPromise internal states */\nvar States;\n(function (States) {\n /** Pending */\n States[\"PENDING\"] = \"PENDING\";\n /** Resolved / OK */\n States[\"RESOLVED\"] = \"RESOLVED\";\n /** Rejected / Error */\n States[\"REJECTED\"] = \"REJECTED\";\n})(States || (States = {}));\n/**\n * Thenable class that behaves like a Promise and follows it's interface\n * but is not async internally\n */\nvar SyncPromise = /** @class */ (function () {\n function SyncPromise(executor) {\n var _this = this;\n this._state = States.PENDING;\n this._handlers = [];\n /** JSDoc */\n this._resolve = function (value) {\n _this._setResult(States.RESOLVED, value);\n };\n /** JSDoc */\n this._reject = function (reason) {\n _this._setResult(States.REJECTED, reason);\n };\n /** JSDoc */\n this._setResult = function (state, value) {\n if (_this._state !== States.PENDING) {\n return;\n }\n if (isThenable(value)) {\n value.then(_this._resolve, _this._reject);\n return;\n }\n _this._state = state;\n _this._value = value;\n _this._executeHandlers();\n };\n // TODO: FIXME\n /** JSDoc */\n this._attachHandler = function (handler) {\n _this._handlers = _this._handlers.concat(handler);\n _this._executeHandlers();\n };\n /** JSDoc */\n this._executeHandlers = function () {\n if (_this._state === States.PENDING) {\n return;\n }\n var cachedHandlers = _this._handlers.slice();\n _this._handlers = [];\n cachedHandlers.forEach(function (handler) {\n if (handler.done) {\n return;\n }\n if (_this._state === States.RESOLVED) {\n if (handler.onfulfilled) {\n handler.onfulfilled(_this._value);\n }\n }\n if (_this._state === States.REJECTED) {\n if (handler.onrejected) {\n handler.onrejected(_this._value);\n }\n }\n handler.done = true;\n });\n };\n try {\n executor(this._resolve, this._reject);\n }\n catch (e) {\n this._reject(e);\n }\n }\n /** JSDoc */\n SyncPromise.prototype.toString = function () {\n return '[object SyncPromise]';\n };\n /** JSDoc */\n SyncPromise.resolve = function (value) {\n return new SyncPromise(function (resolve) {\n resolve(value);\n });\n };\n /** JSDoc */\n SyncPromise.reject = function (reason) {\n return new SyncPromise(function (_, reject) {\n reject(reason);\n });\n };\n /** JSDoc */\n SyncPromise.all = function (collection) {\n return new SyncPromise(function (resolve, reject) {\n if (!Array.isArray(collection)) {\n reject(new TypeError(\"Promise.all requires an array as input.\"));\n return;\n }\n if (collection.length === 0) {\n resolve([]);\n return;\n }\n var counter = collection.length;\n var resolvedCollection = [];\n collection.forEach(function (item, index) {\n SyncPromise.resolve(item)\n .then(function (value) {\n resolvedCollection[index] = value;\n counter -= 1;\n if (counter !== 0) {\n return;\n }\n resolve(resolvedCollection);\n })\n .then(null, reject);\n });\n });\n };\n /** JSDoc */\n SyncPromise.prototype.then = function (onfulfilled, onrejected) {\n var _this = this;\n return new SyncPromise(function (resolve, reject) {\n _this._attachHandler({\n done: false,\n onfulfilled: function (result) {\n if (!onfulfilled) {\n // TODO: ¯\\_(ツ)_/¯\n // TODO: FIXME\n resolve(result);\n return;\n }\n try {\n resolve(onfulfilled(result));\n return;\n }\n catch (e) {\n reject(e);\n return;\n }\n },\n onrejected: function (reason) {\n if (!onrejected) {\n reject(reason);\n return;\n }\n try {\n resolve(onrejected(reason));\n return;\n }\n catch (e) {\n reject(e);\n return;\n }\n },\n });\n });\n };\n /** JSDoc */\n SyncPromise.prototype.catch = function (onrejected) {\n return this.then(function (val) { return val; }, onrejected);\n };\n /** JSDoc */\n SyncPromise.prototype.finally = function (onfinally) {\n var _this = this;\n return new SyncPromise(function (resolve, reject) {\n var val;\n var isRejected;\n return _this.then(function (value) {\n isRejected = false;\n val = value;\n if (onfinally) {\n onfinally();\n }\n }, function (reason) {\n isRejected = true;\n val = reason;\n if (onfinally) {\n onfinally();\n }\n }).then(function () {\n if (isRejected) {\n reject(val);\n return;\n }\n resolve(val);\n });\n });\n };\n return SyncPromise;\n}());\nexport { SyncPromise };\n//# sourceMappingURL=syncpromise.js.map","/**\n * @copyright 2015, Andrey Popp <8mayday@gmail.com>\n *\n * The decorator may be used on classes or methods\n * ```\n * @autobind\n * class FullBound {}\n *\n * class PartBound {\n * @autobind\n * method () {}\n * }\n * ```\n */\n'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nexports['default'] = autobind;\n\nfunction autobind() {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (args.length === 1) {\n return boundClass.apply(undefined, args);\n } else {\n return boundMethod.apply(undefined, args);\n }\n}\n\n/**\n * Use boundMethod to bind all methods on the target.prototype\n */\nfunction boundClass(target) {\n // (Using reflect to get all keys including symbols)\n var keys = undefined;\n // Use Reflect if exists\n if (typeof Reflect !== 'undefined' && typeof Reflect.ownKeys === 'function') {\n keys = Reflect.ownKeys(target.prototype);\n } else {\n keys = Object.getOwnPropertyNames(target.prototype);\n // use symbols if support is provided\n if (typeof Object.getOwnPropertySymbols === 'function') {\n keys = keys.concat(Object.getOwnPropertySymbols(target.prototype));\n }\n }\n\n keys.forEach(function (key) {\n // Ignore special case target method\n if (key === 'constructor') {\n return;\n }\n\n var descriptor = Object.getOwnPropertyDescriptor(target.prototype, key);\n\n // Only methods need binding\n if (typeof descriptor.value === 'function') {\n Object.defineProperty(target.prototype, key, boundMethod(target, key, descriptor));\n }\n });\n return target;\n}\n\n/**\n * Return a descriptor removing the value and returning a getter\n * The getter will return a .bind version of the function\n * and memoize the result against a symbol on the instance\n */\nfunction boundMethod(target, key, descriptor) {\n var fn = descriptor.value;\n\n if (typeof fn !== 'function') {\n throw new Error('@autobind decorator can only be applied to methods not: ' + typeof fn);\n }\n\n // In IE11 calling Object.defineProperty has a side-effect of evaluating the\n // getter for the property which is being replaced. This causes infinite\n // recursion and an \"Out of stack space\" error.\n var definingProperty = false;\n\n return {\n configurable: true,\n get: function get() {\n if (definingProperty || this === target.prototype || this.hasOwnProperty(key)) {\n return fn;\n }\n\n var boundFn = fn.bind(this);\n definingProperty = true;\n Object.defineProperty(this, key, {\n value: boundFn,\n configurable: true,\n writable: true\n });\n definingProperty = false;\n return boundFn;\n }\n };\n}\nmodule.exports = exports['default'];\n","((typeof define === \"function\" && define.amd && function (m) { define(\"bane\", m); }) ||\n (typeof module === \"object\" && function (m) { module.exports = m(); }) ||\n function (m) { this.bane = m(); }\n)(function () {\n \"use strict\";\n var slice = Array.prototype.slice;\n\n function handleError(event, error, errbacks) {\n var i, l = errbacks.length;\n if (l > 0) {\n for (i = 0; i < l; ++i) { errbacks[i](event, error); }\n return;\n }\n setTimeout(function () {\n error.message = event + \" listener threw error: \" + error.message;\n throw error;\n }, 0);\n }\n\n function assertFunction(fn) {\n if (typeof fn !== \"function\") {\n throw new TypeError(\"Listener is not function\");\n }\n return fn;\n }\n\n function supervisors(object) {\n if (!object.supervisors) { object.supervisors = []; }\n return object.supervisors;\n }\n\n function listeners(object, event) {\n if (!object.listeners) { object.listeners = {}; }\n if (event && !object.listeners[event]) { object.listeners[event] = []; }\n return event ? object.listeners[event] : object.listeners;\n }\n\n function errbacks(object) {\n if (!object.errbacks) { object.errbacks = []; }\n return object.errbacks;\n }\n\n /**\n * @signature var emitter = bane.createEmitter([object]);\n *\n * Create a new event emitter. If an object is passed, it will be modified\n * by adding the event emitter methods (see below).\n */\n function createEventEmitter(object) {\n object = object || {};\n\n function notifyListener(event, listener, args) {\n try {\n listener.listener.apply(listener.thisp || object, args);\n } catch (e) {\n handleError(event, e, errbacks(object));\n }\n }\n\n object.on = function (event, listener, thisp) {\n if (typeof event === \"function\") {\n return supervisors(this).push({\n listener: event,\n thisp: listener\n });\n }\n listeners(this, event).push({\n listener: assertFunction(listener),\n thisp: thisp\n });\n };\n\n object.off = function (event, listener) {\n var fns, events, i, l;\n if (!event) {\n fns = supervisors(this);\n fns.splice(0, fns.length);\n\n events = listeners(this);\n for (i in events) {\n if (events.hasOwnProperty(i)) {\n fns = listeners(this, i);\n fns.splice(0, fns.length);\n }\n }\n\n fns = errbacks(this);\n fns.splice(0, fns.length);\n\n return;\n }\n if (typeof event === \"function\") {\n fns = supervisors(this);\n listener = event;\n } else {\n fns = listeners(this, event);\n }\n if (!listener) {\n fns.splice(0, fns.length);\n return;\n }\n for (i = 0, l = fns.length; i < l; ++i) {\n if (fns[i].listener === listener) {\n fns.splice(i, 1);\n return;\n }\n }\n };\n\n object.once = function (event, listener, thisp) {\n var wrapper = function () {\n object.off(event, wrapper);\n listener.apply(this, arguments);\n };\n\n object.on(event, wrapper, thisp);\n };\n\n object.bind = function (object, events) {\n var prop, i, l;\n if (!events) {\n for (prop in object) {\n if (typeof object[prop] === \"function\") {\n this.on(prop, object[prop], object);\n }\n }\n } else {\n for (i = 0, l = events.length; i < l; ++i) {\n if (typeof object[events[i]] === \"function\") {\n this.on(events[i], object[events[i]], object);\n } else {\n throw new Error(\"No such method \" + events[i]);\n }\n }\n }\n return object;\n };\n\n object.emit = function (event) {\n var toNotify = supervisors(this);\n var args = slice.call(arguments), i, l;\n\n for (i = 0, l = toNotify.length; i < l; ++i) {\n notifyListener(event, toNotify[i], args);\n }\n\n toNotify = listeners(this, event).slice();\n args = slice.call(arguments, 1);\n for (i = 0, l = toNotify.length; i < l; ++i) {\n notifyListener(event, toNotify[i], args);\n }\n };\n\n object.errback = function (listener) {\n if (!this.errbacks) { this.errbacks = []; }\n this.errbacks.push(assertFunction(listener));\n };\n\n return object;\n }\n\n return {\n createEventEmitter: createEventEmitter,\n aggregate: function (emitters) {\n var aggregate = createEventEmitter();\n emitters.forEach(function (emitter) {\n emitter.on(function (event, data) {\n aggregate.emit(event, data);\n });\n });\n return aggregate;\n }\n };\n});\n","// @flow\n'use strict';\n\nvar key = '__global_unique_id__';\n\nmodule.exports = function() {\n return global[key] = (global[key] || 0) + 1;\n};\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport resolvePathname from 'resolve-pathname';\nimport valueEqual from 'value-equal';\nimport warning from 'tiny-warning';\nimport invariant from 'tiny-invariant';\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === '/' ? path : '/' + path;\n}\nfunction stripLeadingSlash(path) {\n return path.charAt(0) === '/' ? path.substr(1) : path;\n}\nfunction hasBasename(path, prefix) {\n return path.toLowerCase().indexOf(prefix.toLowerCase()) === 0 && '/?#'.indexOf(path.charAt(prefix.length)) !== -1;\n}\nfunction stripBasename(path, prefix) {\n return hasBasename(path, prefix) ? path.substr(prefix.length) : path;\n}\nfunction stripTrailingSlash(path) {\n return path.charAt(path.length - 1) === '/' ? path.slice(0, -1) : path;\n}\nfunction parsePath(path) {\n var pathname = path || '/';\n var search = '';\n var hash = '';\n var hashIndex = pathname.indexOf('#');\n\n if (hashIndex !== -1) {\n hash = pathname.substr(hashIndex);\n pathname = pathname.substr(0, hashIndex);\n }\n\n var searchIndex = pathname.indexOf('?');\n\n if (searchIndex !== -1) {\n search = pathname.substr(searchIndex);\n pathname = pathname.substr(0, searchIndex);\n }\n\n return {\n pathname: pathname,\n search: search === '?' ? '' : search,\n hash: hash === '#' ? '' : hash\n };\n}\nfunction createPath(location) {\n var pathname = location.pathname,\n search = location.search,\n hash = location.hash;\n var path = pathname || '/';\n if (search && search !== '?') path += search.charAt(0) === '?' ? search : \"?\" + search;\n if (hash && hash !== '#') path += hash.charAt(0) === '#' ? hash : \"#\" + hash;\n return path;\n}\n\nfunction createLocation(path, state, key, currentLocation) {\n var location;\n\n if (typeof path === 'string') {\n // Two-arg form: push(path, state)\n location = parsePath(path);\n location.state = state;\n } else {\n // One-arg form: push(location)\n location = _extends({}, path);\n if (location.pathname === undefined) location.pathname = '';\n\n if (location.search) {\n if (location.search.charAt(0) !== '?') location.search = '?' + location.search;\n } else {\n location.search = '';\n }\n\n if (location.hash) {\n if (location.hash.charAt(0) !== '#') location.hash = '#' + location.hash;\n } else {\n location.hash = '';\n }\n\n if (state !== undefined && location.state === undefined) location.state = state;\n }\n\n try {\n location.pathname = decodeURI(location.pathname);\n } catch (e) {\n if (e instanceof URIError) {\n throw new URIError('Pathname \"' + location.pathname + '\" could not be decoded. ' + 'This is likely caused by an invalid percent-encoding.');\n } else {\n throw e;\n }\n }\n\n if (key) location.key = key;\n\n if (currentLocation) {\n // Resolve incomplete/relative pathname relative to current location.\n if (!location.pathname) {\n location.pathname = currentLocation.pathname;\n } else if (location.pathname.charAt(0) !== '/') {\n location.pathname = resolvePathname(location.pathname, currentLocation.pathname);\n }\n } else {\n // When there is no prior location and pathname is empty, set it to /\n if (!location.pathname) {\n location.pathname = '/';\n }\n }\n\n return location;\n}\nfunction locationsAreEqual(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash && a.key === b.key && valueEqual(a.state, b.state);\n}\n\nfunction createTransitionManager() {\n var prompt = null;\n\n function setPrompt(nextPrompt) {\n process.env.NODE_ENV !== \"production\" ? warning(prompt == null, 'A history supports only one prompt at a time') : void 0;\n prompt = nextPrompt;\n return function () {\n if (prompt === nextPrompt) prompt = null;\n };\n }\n\n function confirmTransitionTo(location, action, getUserConfirmation, callback) {\n // TODO: If another transition starts while we're still confirming\n // the previous one, we may end up in a weird state. Figure out the\n // best way to handle this.\n if (prompt != null) {\n var result = typeof prompt === 'function' ? prompt(location, action) : prompt;\n\n if (typeof result === 'string') {\n if (typeof getUserConfirmation === 'function') {\n getUserConfirmation(result, callback);\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'A history needs a getUserConfirmation function in order to use a prompt message') : void 0;\n callback(true);\n }\n } else {\n // Return false from a transition hook to cancel the transition.\n callback(result !== false);\n }\n } else {\n callback(true);\n }\n }\n\n var listeners = [];\n\n function appendListener(fn) {\n var isActive = true;\n\n function listener() {\n if (isActive) fn.apply(void 0, arguments);\n }\n\n listeners.push(listener);\n return function () {\n isActive = false;\n listeners = listeners.filter(function (item) {\n return item !== listener;\n });\n };\n }\n\n function notifyListeners() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n listeners.forEach(function (listener) {\n return listener.apply(void 0, args);\n });\n }\n\n return {\n setPrompt: setPrompt,\n confirmTransitionTo: confirmTransitionTo,\n appendListener: appendListener,\n notifyListeners: notifyListeners\n };\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nfunction getConfirmation(message, callback) {\n callback(window.confirm(message)); // eslint-disable-line no-alert\n}\n/**\n * Returns true if the HTML5 history API is supported. Taken from Modernizr.\n *\n * https://github.com/Modernizr/Modernizr/blob/master/LICENSE\n * https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js\n * changed to avoid false negatives for Windows Phones: https://github.com/reactjs/react-router/issues/586\n */\n\nfunction supportsHistory() {\n var ua = window.navigator.userAgent;\n if ((ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) && ua.indexOf('Mobile Safari') !== -1 && ua.indexOf('Chrome') === -1 && ua.indexOf('Windows Phone') === -1) return false;\n return window.history && 'pushState' in window.history;\n}\n/**\n * Returns true if browser fires popstate on hash change.\n * IE10 and IE11 do not.\n */\n\nfunction supportsPopStateOnHashChange() {\n return window.navigator.userAgent.indexOf('Trident') === -1;\n}\n/**\n * Returns false if using go(n) with hash history causes a full page reload.\n */\n\nfunction supportsGoWithoutReloadUsingHash() {\n return window.navigator.userAgent.indexOf('Firefox') === -1;\n}\n/**\n * Returns true if a given popstate event is an extraneous WebKit event.\n * Accounts for the fact that Chrome on iOS fires real popstate events\n * containing undefined state when pressing the back button.\n */\n\nfunction isExtraneousPopstateEvent(event) {\n return event.state === undefined && navigator.userAgent.indexOf('CriOS') === -1;\n}\n\nvar PopStateEvent = 'popstate';\nvar HashChangeEvent = 'hashchange';\n\nfunction getHistoryState() {\n try {\n return window.history.state || {};\n } catch (e) {\n // IE 11 sometimes throws when accessing window.history.state\n // See https://github.com/ReactTraining/history/pull/289\n return {};\n }\n}\n/**\n * Creates a history object that uses the HTML5 history API including\n * pushState, replaceState, and the popstate event.\n */\n\n\nfunction createBrowserHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Browser history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canUseHistory = supportsHistory();\n var needsHashChangeListener = !supportsPopStateOnHashChange();\n var _props = props,\n _props$forceRefresh = _props.forceRefresh,\n forceRefresh = _props$forceRefresh === void 0 ? false : _props$forceRefresh,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n\n function getDOMLocation(historyState) {\n var _ref = historyState || {},\n key = _ref.key,\n state = _ref.state;\n\n var _window$location = window.location,\n pathname = _window$location.pathname,\n search = _window$location.search,\n hash = _window$location.hash;\n var path = pathname + search + hash;\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path, state, key);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function handlePopState(event) {\n // Ignore extraneous popstate events in WebKit.\n if (isExtraneousPopstateEvent(event)) return;\n handlePop(getDOMLocation(event.state));\n }\n\n function handleHashChange() {\n handlePop(getDOMLocation(getHistoryState()));\n }\n\n var forceNextPop = false;\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of keys we've seen in sessionStorage.\n // Instead, we just default to 0 for keys we don't know.\n\n var toIndex = allKeys.indexOf(toLocation.key);\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allKeys.indexOf(fromLocation.key);\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n }\n\n var initialLocation = getDOMLocation(getHistoryState());\n var allKeys = [initialLocation.key]; // Public interface\n\n function createHref(location) {\n return basename + createPath(location);\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.pushState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.href = href;\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n var nextKeys = allKeys.slice(0, prevIndex + 1);\n nextKeys.push(location.key);\n allKeys = nextKeys;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot push state in browsers that do not support HTML5 history') : void 0;\n window.location.href = href;\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.replaceState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.replace(href);\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n if (prevIndex !== -1) allKeys[prevIndex] = location.key;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot replace state in browsers that do not support HTML5 history') : void 0;\n window.location.replace(href);\n }\n });\n }\n\n function go(n) {\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.addEventListener(HashChangeEvent, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.removeEventListener(HashChangeEvent, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nvar HashChangeEvent$1 = 'hashchange';\nvar HashPathCoders = {\n hashbang: {\n encodePath: function encodePath(path) {\n return path.charAt(0) === '!' ? path : '!/' + stripLeadingSlash(path);\n },\n decodePath: function decodePath(path) {\n return path.charAt(0) === '!' ? path.substr(1) : path;\n }\n },\n noslash: {\n encodePath: stripLeadingSlash,\n decodePath: addLeadingSlash\n },\n slash: {\n encodePath: addLeadingSlash,\n decodePath: addLeadingSlash\n }\n};\n\nfunction stripHash(url) {\n var hashIndex = url.indexOf('#');\n return hashIndex === -1 ? url : url.slice(0, hashIndex);\n}\n\nfunction getHashPath() {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var hashIndex = href.indexOf('#');\n return hashIndex === -1 ? '' : href.substring(hashIndex + 1);\n}\n\nfunction pushHashPath(path) {\n window.location.hash = path;\n}\n\nfunction replaceHashPath(path) {\n window.location.replace(stripHash(window.location.href) + '#' + path);\n}\n\nfunction createHashHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Hash history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canGoWithoutReload = supportsGoWithoutReloadUsingHash();\n var _props = props,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$hashType = _props.hashType,\n hashType = _props$hashType === void 0 ? 'slash' : _props$hashType;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n var _HashPathCoders$hashT = HashPathCoders[hashType],\n encodePath = _HashPathCoders$hashT.encodePath,\n decodePath = _HashPathCoders$hashT.decodePath;\n\n function getDOMLocation() {\n var path = decodePath(getHashPath());\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n var forceNextPop = false;\n var ignorePath = null;\n\n function locationsAreEqual$$1(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash;\n }\n\n function handleHashChange() {\n var path = getHashPath();\n var encodedPath = encodePath(path);\n\n if (path !== encodedPath) {\n // Ensure we always have a properly-encoded hash.\n replaceHashPath(encodedPath);\n } else {\n var location = getDOMLocation();\n var prevLocation = history.location;\n if (!forceNextPop && locationsAreEqual$$1(prevLocation, location)) return; // A hashchange doesn't always == location change.\n\n if (ignorePath === createPath(location)) return; // Ignore this change; we already setState in push/replace.\n\n ignorePath = null;\n handlePop(location);\n }\n }\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of paths we've seen in sessionStorage.\n // Instead, we just default to 0 for paths we don't know.\n\n var toIndex = allPaths.lastIndexOf(createPath(toLocation));\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allPaths.lastIndexOf(createPath(fromLocation));\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n } // Ensure the hash is encoded properly before doing anything else.\n\n\n var path = getHashPath();\n var encodedPath = encodePath(path);\n if (path !== encodedPath) replaceHashPath(encodedPath);\n var initialLocation = getDOMLocation();\n var allPaths = [createPath(initialLocation)]; // Public interface\n\n function createHref(location) {\n var baseTag = document.querySelector('base');\n var href = '';\n\n if (baseTag && baseTag.getAttribute('href')) {\n href = stripHash(window.location.href);\n }\n\n return href + '#' + encodePath(basename + createPath(location));\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot push state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a PUSH, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n pushHashPath(encodedPath);\n var prevIndex = allPaths.lastIndexOf(createPath(history.location));\n var nextPaths = allPaths.slice(0, prevIndex + 1);\n nextPaths.push(path);\n allPaths = nextPaths;\n setState({\n action: action,\n location: location\n });\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'Hash history cannot PUSH the same path; a new entry will not be added to the history stack') : void 0;\n setState();\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot replace state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a REPLACE, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n replaceHashPath(encodedPath);\n }\n\n var prevIndex = allPaths.indexOf(createPath(history.location));\n if (prevIndex !== -1) allPaths[prevIndex] = path;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n process.env.NODE_ENV !== \"production\" ? warning(canGoWithoutReload, 'Hash history go(n) causes a full page reload in this browser') : void 0;\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(HashChangeEvent$1, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(HashChangeEvent$1, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nfunction clamp(n, lowerBound, upperBound) {\n return Math.min(Math.max(n, lowerBound), upperBound);\n}\n/**\n * Creates a history object that stores locations in memory.\n */\n\n\nfunction createMemoryHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n var _props = props,\n getUserConfirmation = _props.getUserConfirmation,\n _props$initialEntries = _props.initialEntries,\n initialEntries = _props$initialEntries === void 0 ? ['/'] : _props$initialEntries,\n _props$initialIndex = _props.initialIndex,\n initialIndex = _props$initialIndex === void 0 ? 0 : _props$initialIndex,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = history.entries.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var index = clamp(initialIndex, 0, initialEntries.length - 1);\n var entries = initialEntries.map(function (entry) {\n return typeof entry === 'string' ? createLocation(entry, undefined, createKey()) : createLocation(entry, undefined, entry.key || createKey());\n }); // Public interface\n\n var createHref = createPath;\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var prevIndex = history.index;\n var nextIndex = prevIndex + 1;\n var nextEntries = history.entries.slice(0);\n\n if (nextEntries.length > nextIndex) {\n nextEntries.splice(nextIndex, nextEntries.length - nextIndex, location);\n } else {\n nextEntries.push(location);\n }\n\n setState({\n action: action,\n location: location,\n index: nextIndex,\n entries: nextEntries\n });\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n history.entries[history.index] = location;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n var nextIndex = clamp(history.index + n, 0, history.entries.length - 1);\n var action = 'POP';\n var location = history.entries[nextIndex];\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location,\n index: nextIndex\n });\n } else {\n // Mimic the behavior of DOM histories by\n // causing a render after a cancelled POP.\n setState();\n }\n });\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n function canGo(n) {\n var nextIndex = history.index + n;\n return nextIndex >= 0 && nextIndex < history.entries.length;\n }\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n return transitionManager.setPrompt(prompt);\n }\n\n function listen(listener) {\n return transitionManager.appendListener(listener);\n }\n\n var history = {\n length: entries.length,\n action: 'POP',\n location: entries[index],\n index: index,\n entries: entries,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n canGo: canGo,\n block: block,\n listen: listen\n };\n return history;\n}\n\nexport { createBrowserHistory, createHashHistory, createMemoryHistory, createLocation, locationsAreEqual, parsePath, createPath };\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\n\nfunction getStatics(component) {\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n }\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","module.exports = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\n","/*!\n * jQuery JavaScript Library v3.5.0\n * https://jquery.com/\n *\n * Includes Sizzle.js\n * https://sizzlejs.com/\n *\n * Copyright JS Foundation and other contributors\n * Released under the MIT license\n * https://jquery.org/license\n *\n * Date: 2020-04-10T15:07Z\n */\n( function( global, factory ) {\n\n\t\"use strict\";\n\n\tif ( typeof module === \"object\" && typeof module.exports === \"object\" ) {\n\n\t\t// For CommonJS and CommonJS-like environments where a proper `window`\n\t\t// is present, execute the factory and get jQuery.\n\t\t// For environments that do not have a `window` with a `document`\n\t\t// (such as Node.js), expose a factory as module.exports.\n\t\t// This accentuates the need for the creation of a real `window`.\n\t\t// e.g. var jQuery = require(\"jquery\")(window);\n\t\t// See ticket #14549 for more info.\n\t\tmodule.exports = global.document ?\n\t\t\tfactory( global, true ) :\n\t\t\tfunction( w ) {\n\t\t\t\tif ( !w.document ) {\n\t\t\t\t\tthrow new Error( \"jQuery requires a window with a document\" );\n\t\t\t\t}\n\t\t\t\treturn factory( w );\n\t\t\t};\n\t} else {\n\t\tfactory( global );\n\t}\n\n// Pass this if window is not defined yet\n} )( typeof window !== \"undefined\" ? window : this, function( window, noGlobal ) {\n\n// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1\n// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode\n// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common\n// enough that all such attempts are guarded in a try block.\n\"use strict\";\n\nvar arr = [];\n\nvar getProto = Object.getPrototypeOf;\n\nvar slice = arr.slice;\n\nvar flat = arr.flat ? function( array ) {\n\treturn arr.flat.call( array );\n} : function( array ) {\n\treturn arr.concat.apply( [], array );\n};\n\n\nvar push = arr.push;\n\nvar indexOf = arr.indexOf;\n\nvar class2type = {};\n\nvar toString = class2type.toString;\n\nvar hasOwn = class2type.hasOwnProperty;\n\nvar fnToString = hasOwn.toString;\n\nvar ObjectFunctionString = fnToString.call( Object );\n\nvar support = {};\n\nvar isFunction = function isFunction( obj ) {\n\n // Support: Chrome <=57, Firefox <=52\n // In some browsers, typeof returns \"function\" for HTML elements\n // (i.e., `typeof document.createElement( \"object\" ) === \"function\"`).\n // We don't want to classify *any* DOM node as a function.\n return typeof obj === \"function\" && typeof obj.nodeType !== \"number\";\n };\n\n\nvar isWindow = function isWindow( obj ) {\n\t\treturn obj != null && obj === obj.window;\n\t};\n\n\nvar document = window.document;\n\n\n\n\tvar preservedScriptAttributes = {\n\t\ttype: true,\n\t\tsrc: true,\n\t\tnonce: true,\n\t\tnoModule: true\n\t};\n\n\tfunction DOMEval( code, node, doc ) {\n\t\tdoc = doc || document;\n\n\t\tvar i, val,\n\t\t\tscript = doc.createElement( \"script\" );\n\n\t\tscript.text = code;\n\t\tif ( node ) {\n\t\t\tfor ( i in preservedScriptAttributes ) {\n\n\t\t\t\t// Support: Firefox 64+, Edge 18+\n\t\t\t\t// Some browsers don't support the \"nonce\" property on scripts.\n\t\t\t\t// On the other hand, just using `getAttribute` is not enough as\n\t\t\t\t// the `nonce` attribute is reset to an empty string whenever it\n\t\t\t\t// becomes browsing-context connected.\n\t\t\t\t// See https://github.com/whatwg/html/issues/2369\n\t\t\t\t// See https://html.spec.whatwg.org/#nonce-attributes\n\t\t\t\t// The `node.getAttribute` check was added for the sake of\n\t\t\t\t// `jQuery.globalEval` so that it can fake a nonce-containing node\n\t\t\t\t// via an object.\n\t\t\t\tval = node[ i ] || node.getAttribute && node.getAttribute( i );\n\t\t\t\tif ( val ) {\n\t\t\t\t\tscript.setAttribute( i, val );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tdoc.head.appendChild( script ).parentNode.removeChild( script );\n\t}\n\n\nfunction toType( obj ) {\n\tif ( obj == null ) {\n\t\treturn obj + \"\";\n\t}\n\n\t// Support: Android <=2.3 only (functionish RegExp)\n\treturn typeof obj === \"object\" || typeof obj === \"function\" ?\n\t\tclass2type[ toString.call( obj ) ] || \"object\" :\n\t\ttypeof obj;\n}\n/* global Symbol */\n// Defining this global in .eslintrc.json would create a danger of using the global\n// unguarded in another place, it seems safer to define global only for this module\n\n\n\nvar\n\tversion = \"3.5.0\",\n\n\t// Define a local copy of jQuery\n\tjQuery = function( selector, context ) {\n\n\t\t// The jQuery object is actually just the init constructor 'enhanced'\n\t\t// Need init if jQuery is called (just allow error to be thrown if not included)\n\t\treturn new jQuery.fn.init( selector, context );\n\t};\n\njQuery.fn = jQuery.prototype = {\n\n\t// The current version of jQuery being used\n\tjquery: version,\n\n\tconstructor: jQuery,\n\n\t// The default length of a jQuery object is 0\n\tlength: 0,\n\n\ttoArray: function() {\n\t\treturn slice.call( this );\n\t},\n\n\t// Get the Nth element in the matched element set OR\n\t// Get the whole matched element set as a clean array\n\tget: function( num ) {\n\n\t\t// Return all the elements in a clean array\n\t\tif ( num == null ) {\n\t\t\treturn slice.call( this );\n\t\t}\n\n\t\t// Return just the one element from the set\n\t\treturn num < 0 ? this[ num + this.length ] : this[ num ];\n\t},\n\n\t// Take an array of elements and push it onto the stack\n\t// (returning the new matched element set)\n\tpushStack: function( elems ) {\n\n\t\t// Build a new jQuery matched element set\n\t\tvar ret = jQuery.merge( this.constructor(), elems );\n\n\t\t// Add the old object onto the stack (as a reference)\n\t\tret.prevObject = this;\n\n\t\t// Return the newly-formed element set\n\t\treturn ret;\n\t},\n\n\t// Execute a callback for every element in the matched set.\n\teach: function( callback ) {\n\t\treturn jQuery.each( this, callback );\n\t},\n\n\tmap: function( callback ) {\n\t\treturn this.pushStack( jQuery.map( this, function( elem, i ) {\n\t\t\treturn callback.call( elem, i, elem );\n\t\t} ) );\n\t},\n\n\tslice: function() {\n\t\treturn this.pushStack( slice.apply( this, arguments ) );\n\t},\n\n\tfirst: function() {\n\t\treturn this.eq( 0 );\n\t},\n\n\tlast: function() {\n\t\treturn this.eq( -1 );\n\t},\n\n\teven: function() {\n\t\treturn this.pushStack( jQuery.grep( this, function( _elem, i ) {\n\t\t\treturn ( i + 1 ) % 2;\n\t\t} ) );\n\t},\n\n\todd: function() {\n\t\treturn this.pushStack( jQuery.grep( this, function( _elem, i ) {\n\t\t\treturn i % 2;\n\t\t} ) );\n\t},\n\n\teq: function( i ) {\n\t\tvar len = this.length,\n\t\t\tj = +i + ( i < 0 ? len : 0 );\n\t\treturn this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] );\n\t},\n\n\tend: function() {\n\t\treturn this.prevObject || this.constructor();\n\t},\n\n\t// For internal use only.\n\t// Behaves like an Array's method, not like a jQuery method.\n\tpush: push,\n\tsort: arr.sort,\n\tsplice: arr.splice\n};\n\njQuery.extend = jQuery.fn.extend = function() {\n\tvar options, name, src, copy, copyIsArray, clone,\n\t\ttarget = arguments[ 0 ] || {},\n\t\ti = 1,\n\t\tlength = arguments.length,\n\t\tdeep = false;\n\n\t// Handle a deep copy situation\n\tif ( typeof target === \"boolean\" ) {\n\t\tdeep = target;\n\n\t\t// Skip the boolean and the target\n\t\ttarget = arguments[ i ] || {};\n\t\ti++;\n\t}\n\n\t// Handle case when target is a string or something (possible in deep copy)\n\tif ( typeof target !== \"object\" && !isFunction( target ) ) {\n\t\ttarget = {};\n\t}\n\n\t// Extend jQuery itself if only one argument is passed\n\tif ( i === length ) {\n\t\ttarget = this;\n\t\ti--;\n\t}\n\n\tfor ( ; i < length; i++ ) {\n\n\t\t// Only deal with non-null/undefined values\n\t\tif ( ( options = arguments[ i ] ) != null ) {\n\n\t\t\t// Extend the base object\n\t\t\tfor ( name in options ) {\n\t\t\t\tcopy = options[ name ];\n\n\t\t\t\t// Prevent Object.prototype pollution\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif ( name === \"__proto__\" || target === copy ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\tif ( deep && copy && ( jQuery.isPlainObject( copy ) ||\n\t\t\t\t\t( copyIsArray = Array.isArray( copy ) ) ) ) {\n\t\t\t\t\tsrc = target[ name ];\n\n\t\t\t\t\t// Ensure proper type for the source value\n\t\t\t\t\tif ( copyIsArray && !Array.isArray( src ) ) {\n\t\t\t\t\t\tclone = [];\n\t\t\t\t\t} else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) {\n\t\t\t\t\t\tclone = {};\n\t\t\t\t\t} else {\n\t\t\t\t\t\tclone = src;\n\t\t\t\t\t}\n\t\t\t\t\tcopyIsArray = false;\n\n\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\ttarget[ name ] = jQuery.extend( deep, clone, copy );\n\n\t\t\t\t// Don't bring in undefined values\n\t\t\t\t} else if ( copy !== undefined ) {\n\t\t\t\t\ttarget[ name ] = copy;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n\njQuery.extend( {\n\n\t// Unique for each copy of jQuery on the page\n\texpando: \"jQuery\" + ( version + Math.random() ).replace( /\\D/g, \"\" ),\n\n\t// Assume jQuery is ready without the ready module\n\tisReady: true,\n\n\terror: function( msg ) {\n\t\tthrow new Error( msg );\n\t},\n\n\tnoop: function() {},\n\n\tisPlainObject: function( obj ) {\n\t\tvar proto, Ctor;\n\n\t\t// Detect obvious negatives\n\t\t// Use toString instead of jQuery.type to catch host objects\n\t\tif ( !obj || toString.call( obj ) !== \"[object Object]\" ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tproto = getProto( obj );\n\n\t\t// Objects with no prototype (e.g., `Object.create( null )`) are plain\n\t\tif ( !proto ) {\n\t\t\treturn true;\n\t\t}\n\n\t\t// Objects with prototype are plain iff they were constructed by a global Object function\n\t\tCtor = hasOwn.call( proto, \"constructor\" ) && proto.constructor;\n\t\treturn typeof Ctor === \"function\" && fnToString.call( Ctor ) === ObjectFunctionString;\n\t},\n\n\tisEmptyObject: function( obj ) {\n\t\tvar name;\n\n\t\tfor ( name in obj ) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t},\n\n\t// Evaluates a script in a provided context; falls back to the global one\n\t// if not specified.\n\tglobalEval: function( code, options, doc ) {\n\t\tDOMEval( code, { nonce: options && options.nonce }, doc );\n\t},\n\n\teach: function( obj, callback ) {\n\t\tvar length, i = 0;\n\n\t\tif ( isArrayLike( obj ) ) {\n\t\t\tlength = obj.length;\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tif ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfor ( i in obj ) {\n\t\t\t\tif ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn obj;\n\t},\n\n\t// results is for internal usage only\n\tmakeArray: function( arr, results ) {\n\t\tvar ret = results || [];\n\n\t\tif ( arr != null ) {\n\t\t\tif ( isArrayLike( Object( arr ) ) ) {\n\t\t\t\tjQuery.merge( ret,\n\t\t\t\t\ttypeof arr === \"string\" ?\n\t\t\t\t\t[ arr ] : arr\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tpush.call( ret, arr );\n\t\t\t}\n\t\t}\n\n\t\treturn ret;\n\t},\n\n\tinArray: function( elem, arr, i ) {\n\t\treturn arr == null ? -1 : indexOf.call( arr, elem, i );\n\t},\n\n\t// Support: Android <=4.0 only, PhantomJS 1 only\n\t// push.apply(_, arraylike) throws on ancient WebKit\n\tmerge: function( first, second ) {\n\t\tvar len = +second.length,\n\t\t\tj = 0,\n\t\t\ti = first.length;\n\n\t\tfor ( ; j < len; j++ ) {\n\t\t\tfirst[ i++ ] = second[ j ];\n\t\t}\n\n\t\tfirst.length = i;\n\n\t\treturn first;\n\t},\n\n\tgrep: function( elems, callback, invert ) {\n\t\tvar callbackInverse,\n\t\t\tmatches = [],\n\t\t\ti = 0,\n\t\t\tlength = elems.length,\n\t\t\tcallbackExpect = !invert;\n\n\t\t// Go through the array, only saving the items\n\t\t// that pass the validator function\n\t\tfor ( ; i < length; i++ ) {\n\t\t\tcallbackInverse = !callback( elems[ i ], i );\n\t\t\tif ( callbackInverse !== callbackExpect ) {\n\t\t\t\tmatches.push( elems[ i ] );\n\t\t\t}\n\t\t}\n\n\t\treturn matches;\n\t},\n\n\t// arg is for internal usage only\n\tmap: function( elems, callback, arg ) {\n\t\tvar length, value,\n\t\t\ti = 0,\n\t\t\tret = [];\n\n\t\t// Go through the array, translating each of the items to their new values\n\t\tif ( isArrayLike( elems ) ) {\n\t\t\tlength = elems.length;\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tvalue = callback( elems[ i ], i, arg );\n\n\t\t\t\tif ( value != null ) {\n\t\t\t\t\tret.push( value );\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Go through every key on the object,\n\t\t} else {\n\t\t\tfor ( i in elems ) {\n\t\t\t\tvalue = callback( elems[ i ], i, arg );\n\n\t\t\t\tif ( value != null ) {\n\t\t\t\t\tret.push( value );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Flatten any nested arrays\n\t\treturn flat( ret );\n\t},\n\n\t// A global GUID counter for objects\n\tguid: 1,\n\n\t// jQuery.support is not used in Core but other projects attach their\n\t// properties to it so it needs to exist.\n\tsupport: support\n} );\n\nif ( typeof Symbol === \"function\" ) {\n\tjQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ];\n}\n\n// Populate the class2type map\njQuery.each( \"Boolean Number String Function Array Date RegExp Object Error Symbol\".split( \" \" ),\nfunction( _i, name ) {\n\tclass2type[ \"[object \" + name + \"]\" ] = name.toLowerCase();\n} );\n\nfunction isArrayLike( obj ) {\n\n\t// Support: real iOS 8.2 only (not reproducible in simulator)\n\t// `in` check used to prevent JIT error (gh-2145)\n\t// hasOwn isn't used here due to false negatives\n\t// regarding Nodelist length in IE\n\tvar length = !!obj && \"length\" in obj && obj.length,\n\t\ttype = toType( obj );\n\n\tif ( isFunction( obj ) || isWindow( obj ) ) {\n\t\treturn false;\n\t}\n\n\treturn type === \"array\" || length === 0 ||\n\t\ttypeof length === \"number\" && length > 0 && ( length - 1 ) in obj;\n}\nvar Sizzle =\n/*!\n * Sizzle CSS Selector Engine v2.3.5\n * https://sizzlejs.com/\n *\n * Copyright JS Foundation and other contributors\n * Released under the MIT license\n * https://js.foundation/\n *\n * Date: 2020-03-14\n */\n( function( window ) {\nvar i,\n\tsupport,\n\tExpr,\n\tgetText,\n\tisXML,\n\ttokenize,\n\tcompile,\n\tselect,\n\toutermostContext,\n\tsortInput,\n\thasDuplicate,\n\n\t// Local document vars\n\tsetDocument,\n\tdocument,\n\tdocElem,\n\tdocumentIsHTML,\n\trbuggyQSA,\n\trbuggyMatches,\n\tmatches,\n\tcontains,\n\n\t// Instance-specific data\n\texpando = \"sizzle\" + 1 * new Date(),\n\tpreferredDoc = window.document,\n\tdirruns = 0,\n\tdone = 0,\n\tclassCache = createCache(),\n\ttokenCache = createCache(),\n\tcompilerCache = createCache(),\n\tnonnativeSelectorCache = createCache(),\n\tsortOrder = function( a, b ) {\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t}\n\t\treturn 0;\n\t},\n\n\t// Instance methods\n\thasOwn = ( {} ).hasOwnProperty,\n\tarr = [],\n\tpop = arr.pop,\n\tpushNative = arr.push,\n\tpush = arr.push,\n\tslice = arr.slice,\n\n\t// Use a stripped-down indexOf as it's faster than native\n\t// https://jsperf.com/thor-indexof-vs-for/5\n\tindexOf = function( list, elem ) {\n\t\tvar i = 0,\n\t\t\tlen = list.length;\n\t\tfor ( ; i < len; i++ ) {\n\t\t\tif ( list[ i ] === elem ) {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t}\n\t\treturn -1;\n\t},\n\n\tbooleans = \"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|\" +\n\t\t\"ismap|loop|multiple|open|readonly|required|scoped\",\n\n\t// Regular expressions\n\n\t// http://www.w3.org/TR/css3-selectors/#whitespace\n\twhitespace = \"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",\n\n\t// https://www.w3.org/TR/css-syntax-3/#ident-token-diagram\n\tidentifier = \"(?:\\\\\\\\[\\\\da-fA-F]{1,6}\" + whitespace +\n\t\t\"?|\\\\\\\\[^\\\\r\\\\n\\\\f]|[\\\\w-]|[^\\0-\\\\x7f])+\",\n\n\t// Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors\n\tattributes = \"\\\\[\" + whitespace + \"*(\" + identifier + \")(?:\" + whitespace +\n\n\t\t// Operator (capture 2)\n\t\t\"*([*^$|!~]?=)\" + whitespace +\n\n\t\t// \"Attribute values must be CSS identifiers [capture 5]\n\t\t// or strings [capture 3 or capture 4]\"\n\t\t\"*(?:'((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\"|(\" + identifier + \"))|)\" +\n\t\twhitespace + \"*\\\\]\",\n\n\tpseudos = \":(\" + identifier + \")(?:\\\\((\" +\n\n\t\t// To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:\n\t\t// 1. quoted (capture 3; capture 4 or capture 5)\n\t\t\"('((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\")|\" +\n\n\t\t// 2. simple (capture 6)\n\t\t\"((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|\" + attributes + \")*)|\" +\n\n\t\t// 3. anything else (capture 2)\n\t\t\".*\" +\n\t\t\")\\\\)|)\",\n\n\t// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter\n\trwhitespace = new RegExp( whitespace + \"+\", \"g\" ),\n\trtrim = new RegExp( \"^\" + whitespace + \"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\" +\n\t\twhitespace + \"+$\", \"g\" ),\n\n\trcomma = new RegExp( \"^\" + whitespace + \"*,\" + whitespace + \"*\" ),\n\trcombinators = new RegExp( \"^\" + whitespace + \"*([>+~]|\" + whitespace + \")\" + whitespace +\n\t\t\"*\" ),\n\trdescend = new RegExp( whitespace + \"|>\" ),\n\n\trpseudo = new RegExp( pseudos ),\n\tridentifier = new RegExp( \"^\" + identifier + \"$\" ),\n\n\tmatchExpr = {\n\t\t\"ID\": new RegExp( \"^#(\" + identifier + \")\" ),\n\t\t\"CLASS\": new RegExp( \"^\\\\.(\" + identifier + \")\" ),\n\t\t\"TAG\": new RegExp( \"^(\" + identifier + \"|[*])\" ),\n\t\t\"ATTR\": new RegExp( \"^\" + attributes ),\n\t\t\"PSEUDO\": new RegExp( \"^\" + pseudos ),\n\t\t\"CHILD\": new RegExp( \"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\" +\n\t\t\twhitespace + \"*(even|odd|(([+-]|)(\\\\d*)n|)\" + whitespace + \"*(?:([+-]|)\" +\n\t\t\twhitespace + \"*(\\\\d+)|))\" + whitespace + \"*\\\\)|)\", \"i\" ),\n\t\t\"bool\": new RegExp( \"^(?:\" + booleans + \")$\", \"i\" ),\n\n\t\t// For use in libraries implementing .is()\n\t\t// We use this for POS matching in `select`\n\t\t\"needsContext\": new RegExp( \"^\" + whitespace +\n\t\t\t\"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\" + whitespace +\n\t\t\t\"*((?:-\\\\d)?\\\\d*)\" + whitespace + \"*\\\\)|)(?=[^-]|$)\", \"i\" )\n\t},\n\n\trhtml = /HTML$/i,\n\trinputs = /^(?:input|select|textarea|button)$/i,\n\trheader = /^h\\d$/i,\n\n\trnative = /^[^{]+\\{\\s*\\[native \\w/,\n\n\t// Easily-parseable/retrievable ID or TAG or CLASS selectors\n\trquickExpr = /^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,\n\n\trsibling = /[+~]/,\n\n\t// CSS escapes\n\t// http://www.w3.org/TR/CSS21/syndata.html#escaped-characters\n\trunescape = new RegExp( \"\\\\\\\\[\\\\da-fA-F]{1,6}\" + whitespace + \"?|\\\\\\\\([^\\\\r\\\\n\\\\f])\", \"g\" ),\n\tfunescape = function( escape, nonHex ) {\n\t\tvar high = \"0x\" + escape.slice( 1 ) - 0x10000;\n\n\t\treturn nonHex ?\n\n\t\t\t// Strip the backslash prefix from a non-hex escape sequence\n\t\t\tnonHex :\n\n\t\t\t// Replace a hexadecimal escape sequence with the encoded Unicode code point\n\t\t\t// Support: IE <=11+\n\t\t\t// For values outside the Basic Multilingual Plane (BMP), manually construct a\n\t\t\t// surrogate pair\n\t\t\thigh < 0 ?\n\t\t\t\tString.fromCharCode( high + 0x10000 ) :\n\t\t\t\tString.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );\n\t},\n\n\t// CSS string/identifier serialization\n\t// https://drafts.csswg.org/cssom/#common-serializing-idioms\n\trcssescape = /([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\0-\\x1f\\x7f-\\uFFFF\\w-]/g,\n\tfcssescape = function( ch, asCodePoint ) {\n\t\tif ( asCodePoint ) {\n\n\t\t\t// U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER\n\t\t\tif ( ch === \"\\0\" ) {\n\t\t\t\treturn \"\\uFFFD\";\n\t\t\t}\n\n\t\t\t// Control characters and (dependent upon position) numbers get escaped as code points\n\t\t\treturn ch.slice( 0, -1 ) + \"\\\\\" +\n\t\t\t\tch.charCodeAt( ch.length - 1 ).toString( 16 ) + \" \";\n\t\t}\n\n\t\t// Other potentially-special ASCII characters get backslash-escaped\n\t\treturn \"\\\\\" + ch;\n\t},\n\n\t// Used for iframes\n\t// See setDocument()\n\t// Removing the function wrapper causes a \"Permission Denied\"\n\t// error in IE\n\tunloadHandler = function() {\n\t\tsetDocument();\n\t},\n\n\tinDisabledFieldset = addCombinator(\n\t\tfunction( elem ) {\n\t\t\treturn elem.disabled === true && elem.nodeName.toLowerCase() === \"fieldset\";\n\t\t},\n\t\t{ dir: \"parentNode\", next: \"legend\" }\n\t);\n\n// Optimize for push.apply( _, NodeList )\ntry {\n\tpush.apply(\n\t\t( arr = slice.call( preferredDoc.childNodes ) ),\n\t\tpreferredDoc.childNodes\n\t);\n\n\t// Support: Android<4.0\n\t// Detect silently failing push.apply\n\t// eslint-disable-next-line no-unused-expressions\n\tarr[ preferredDoc.childNodes.length ].nodeType;\n} catch ( e ) {\n\tpush = { apply: arr.length ?\n\n\t\t// Leverage slice if possible\n\t\tfunction( target, els ) {\n\t\t\tpushNative.apply( target, slice.call( els ) );\n\t\t} :\n\n\t\t// Support: IE<9\n\t\t// Otherwise append directly\n\t\tfunction( target, els ) {\n\t\t\tvar j = target.length,\n\t\t\t\ti = 0;\n\n\t\t\t// Can't trust NodeList.length\n\t\t\twhile ( ( target[ j++ ] = els[ i++ ] ) ) {}\n\t\t\ttarget.length = j - 1;\n\t\t}\n\t};\n}\n\nfunction Sizzle( selector, context, results, seed ) {\n\tvar m, i, elem, nid, match, groups, newSelector,\n\t\tnewContext = context && context.ownerDocument,\n\n\t\t// nodeType defaults to 9, since context defaults to document\n\t\tnodeType = context ? context.nodeType : 9;\n\n\tresults = results || [];\n\n\t// Return early from calls with invalid selector or context\n\tif ( typeof selector !== \"string\" || !selector ||\n\t\tnodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {\n\n\t\treturn results;\n\t}\n\n\t// Try to shortcut find operations (as opposed to filters) in HTML documents\n\tif ( !seed ) {\n\t\tsetDocument( context );\n\t\tcontext = context || document;\n\n\t\tif ( documentIsHTML ) {\n\n\t\t\t// If the selector is sufficiently simple, try using a \"get*By*\" DOM method\n\t\t\t// (excepting DocumentFragment context, where the methods don't exist)\n\t\t\tif ( nodeType !== 11 && ( match = rquickExpr.exec( selector ) ) ) {\n\n\t\t\t\t// ID selector\n\t\t\t\tif ( ( m = match[ 1 ] ) ) {\n\n\t\t\t\t\t// Document context\n\t\t\t\t\tif ( nodeType === 9 ) {\n\t\t\t\t\t\tif ( ( elem = context.getElementById( m ) ) ) {\n\n\t\t\t\t\t\t\t// Support: IE, Opera, Webkit\n\t\t\t\t\t\t\t// TODO: identify versions\n\t\t\t\t\t\t\t// getElementById can match elements by name instead of ID\n\t\t\t\t\t\t\tif ( elem.id === m ) {\n\t\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t// Element context\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\t// Support: IE, Opera, Webkit\n\t\t\t\t\t\t// TODO: identify versions\n\t\t\t\t\t\t// getElementById can match elements by name instead of ID\n\t\t\t\t\t\tif ( newContext && ( elem = newContext.getElementById( m ) ) &&\n\t\t\t\t\t\t\tcontains( context, elem ) &&\n\t\t\t\t\t\t\telem.id === m ) {\n\n\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t// Type selector\n\t\t\t\t} else if ( match[ 2 ] ) {\n\t\t\t\t\tpush.apply( results, context.getElementsByTagName( selector ) );\n\t\t\t\t\treturn results;\n\n\t\t\t\t// Class selector\n\t\t\t\t} else if ( ( m = match[ 3 ] ) && support.getElementsByClassName &&\n\t\t\t\t\tcontext.getElementsByClassName ) {\n\n\t\t\t\t\tpush.apply( results, context.getElementsByClassName( m ) );\n\t\t\t\t\treturn results;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Take advantage of querySelectorAll\n\t\t\tif ( support.qsa &&\n\t\t\t\t!nonnativeSelectorCache[ selector + \" \" ] &&\n\t\t\t\t( !rbuggyQSA || !rbuggyQSA.test( selector ) ) &&\n\n\t\t\t\t// Support: IE 8 only\n\t\t\t\t// Exclude object elements\n\t\t\t\t( nodeType !== 1 || context.nodeName.toLowerCase() !== \"object\" ) ) {\n\n\t\t\t\tnewSelector = selector;\n\t\t\t\tnewContext = context;\n\n\t\t\t\t// qSA considers elements outside a scoping root when evaluating child or\n\t\t\t\t// descendant combinators, which is not what we want.\n\t\t\t\t// In such cases, we work around the behavior by prefixing every selector in the\n\t\t\t\t// list with an ID selector referencing the scope context.\n\t\t\t\t// The technique has to be used as well when a leading combinator is used\n\t\t\t\t// as such selectors are not recognized by querySelectorAll.\n\t\t\t\t// Thanks to Andrew Dupont for this technique.\n\t\t\t\tif ( nodeType === 1 &&\n\t\t\t\t\t( rdescend.test( selector ) || rcombinators.test( selector ) ) ) {\n\n\t\t\t\t\t// Expand context for sibling selectors\n\t\t\t\t\tnewContext = rsibling.test( selector ) && testContext( context.parentNode ) ||\n\t\t\t\t\t\tcontext;\n\n\t\t\t\t\t// We can use :scope instead of the ID hack if the browser\n\t\t\t\t\t// supports it & if we're not changing the context.\n\t\t\t\t\tif ( newContext !== context || !support.scope ) {\n\n\t\t\t\t\t\t// Capture the context ID, setting it first if necessary\n\t\t\t\t\t\tif ( ( nid = context.getAttribute( \"id\" ) ) ) {\n\t\t\t\t\t\t\tnid = nid.replace( rcssescape, fcssescape );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcontext.setAttribute( \"id\", ( nid = expando ) );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Prefix every selector in the list\n\t\t\t\t\tgroups = tokenize( selector );\n\t\t\t\t\ti = groups.length;\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tgroups[ i ] = ( nid ? \"#\" + nid : \":scope\" ) + \" \" +\n\t\t\t\t\t\t\ttoSelector( groups[ i ] );\n\t\t\t\t\t}\n\t\t\t\t\tnewSelector = groups.join( \",\" );\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tpush.apply( results,\n\t\t\t\t\t\tnewContext.querySelectorAll( newSelector )\n\t\t\t\t\t);\n\t\t\t\t\treturn results;\n\t\t\t\t} catch ( qsaError ) {\n\t\t\t\t\tnonnativeSelectorCache( selector, true );\n\t\t\t\t} finally {\n\t\t\t\t\tif ( nid === expando ) {\n\t\t\t\t\t\tcontext.removeAttribute( \"id\" );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// All others\n\treturn select( selector.replace( rtrim, \"$1\" ), context, results, seed );\n}\n\n/**\n * Create key-value caches of limited size\n * @returns {function(string, object)} Returns the Object data after storing it on itself with\n *\tproperty name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)\n *\tdeleting the oldest entry\n */\nfunction createCache() {\n\tvar keys = [];\n\n\tfunction cache( key, value ) {\n\n\t\t// Use (key + \" \") to avoid collision with native prototype properties (see Issue #157)\n\t\tif ( keys.push( key + \" \" ) > Expr.cacheLength ) {\n\n\t\t\t// Only keep the most recent entries\n\t\t\tdelete cache[ keys.shift() ];\n\t\t}\n\t\treturn ( cache[ key + \" \" ] = value );\n\t}\n\treturn cache;\n}\n\n/**\n * Mark a function for special use by Sizzle\n * @param {Function} fn The function to mark\n */\nfunction markFunction( fn ) {\n\tfn[ expando ] = true;\n\treturn fn;\n}\n\n/**\n * Support testing using an element\n * @param {Function} fn Passed the created element and returns a boolean result\n */\nfunction assert( fn ) {\n\tvar el = document.createElement( \"fieldset\" );\n\n\ttry {\n\t\treturn !!fn( el );\n\t} catch ( e ) {\n\t\treturn false;\n\t} finally {\n\n\t\t// Remove from its parent by default\n\t\tif ( el.parentNode ) {\n\t\t\tel.parentNode.removeChild( el );\n\t\t}\n\n\t\t// release memory in IE\n\t\tel = null;\n\t}\n}\n\n/**\n * Adds the same handler for all of the specified attrs\n * @param {String} attrs Pipe-separated list of attributes\n * @param {Function} handler The method that will be applied\n */\nfunction addHandle( attrs, handler ) {\n\tvar arr = attrs.split( \"|\" ),\n\t\ti = arr.length;\n\n\twhile ( i-- ) {\n\t\tExpr.attrHandle[ arr[ i ] ] = handler;\n\t}\n}\n\n/**\n * Checks document order of two siblings\n * @param {Element} a\n * @param {Element} b\n * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b\n */\nfunction siblingCheck( a, b ) {\n\tvar cur = b && a,\n\t\tdiff = cur && a.nodeType === 1 && b.nodeType === 1 &&\n\t\t\ta.sourceIndex - b.sourceIndex;\n\n\t// Use IE sourceIndex if available on both nodes\n\tif ( diff ) {\n\t\treturn diff;\n\t}\n\n\t// Check if b follows a\n\tif ( cur ) {\n\t\twhile ( ( cur = cur.nextSibling ) ) {\n\t\t\tif ( cur === b ) {\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn a ? 1 : -1;\n}\n\n/**\n * Returns a function to use in pseudos for input types\n * @param {String} type\n */\nfunction createInputPseudo( type ) {\n\treturn function( elem ) {\n\t\tvar name = elem.nodeName.toLowerCase();\n\t\treturn name === \"input\" && elem.type === type;\n\t};\n}\n\n/**\n * Returns a function to use in pseudos for buttons\n * @param {String} type\n */\nfunction createButtonPseudo( type ) {\n\treturn function( elem ) {\n\t\tvar name = elem.nodeName.toLowerCase();\n\t\treturn ( name === \"input\" || name === \"button\" ) && elem.type === type;\n\t};\n}\n\n/**\n * Returns a function to use in pseudos for :enabled/:disabled\n * @param {Boolean} disabled true for :disabled; false for :enabled\n */\nfunction createDisabledPseudo( disabled ) {\n\n\t// Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable\n\treturn function( elem ) {\n\n\t\t// Only certain elements can match :enabled or :disabled\n\t\t// https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled\n\t\t// https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled\n\t\tif ( \"form\" in elem ) {\n\n\t\t\t// Check for inherited disabledness on relevant non-disabled elements:\n\t\t\t// * listed form-associated elements in a disabled fieldset\n\t\t\t// https://html.spec.whatwg.org/multipage/forms.html#category-listed\n\t\t\t// https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled\n\t\t\t// * option elements in a disabled optgroup\n\t\t\t// https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled\n\t\t\t// All such elements have a \"form\" property.\n\t\t\tif ( elem.parentNode && elem.disabled === false ) {\n\n\t\t\t\t// Option elements defer to a parent optgroup if present\n\t\t\t\tif ( \"label\" in elem ) {\n\t\t\t\t\tif ( \"label\" in elem.parentNode ) {\n\t\t\t\t\t\treturn elem.parentNode.disabled === disabled;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn elem.disabled === disabled;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Support: IE 6 - 11\n\t\t\t\t// Use the isDisabled shortcut property to check for disabled fieldset ancestors\n\t\t\t\treturn elem.isDisabled === disabled ||\n\n\t\t\t\t\t// Where there is no isDisabled, check manually\n\t\t\t\t\t/* jshint -W018 */\n\t\t\t\t\telem.isDisabled !== !disabled &&\n\t\t\t\t\tinDisabledFieldset( elem ) === disabled;\n\t\t\t}\n\n\t\t\treturn elem.disabled === disabled;\n\n\t\t// Try to winnow out elements that can't be disabled before trusting the disabled property.\n\t\t// Some victims get caught in our net (label, legend, menu, track), but it shouldn't\n\t\t// even exist on them, let alone have a boolean value.\n\t\t} else if ( \"label\" in elem ) {\n\t\t\treturn elem.disabled === disabled;\n\t\t}\n\n\t\t// Remaining elements are neither :enabled nor :disabled\n\t\treturn false;\n\t};\n}\n\n/**\n * Returns a function to use in pseudos for positionals\n * @param {Function} fn\n */\nfunction createPositionalPseudo( fn ) {\n\treturn markFunction( function( argument ) {\n\t\targument = +argument;\n\t\treturn markFunction( function( seed, matches ) {\n\t\t\tvar j,\n\t\t\t\tmatchIndexes = fn( [], seed.length, argument ),\n\t\t\t\ti = matchIndexes.length;\n\n\t\t\t// Match elements found at the specified indexes\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( seed[ ( j = matchIndexes[ i ] ) ] ) {\n\t\t\t\t\tseed[ j ] = !( matches[ j ] = seed[ j ] );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t} );\n}\n\n/**\n * Checks a node for validity as a Sizzle context\n * @param {Element|Object=} context\n * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value\n */\nfunction testContext( context ) {\n\treturn context && typeof context.getElementsByTagName !== \"undefined\" && context;\n}\n\n// Expose support vars for convenience\nsupport = Sizzle.support = {};\n\n/**\n * Detects XML nodes\n * @param {Element|Object} elem An element or a document\n * @returns {Boolean} True iff elem is a non-HTML XML node\n */\nisXML = Sizzle.isXML = function( elem ) {\n\tvar namespace = elem.namespaceURI,\n\t\tdocElem = ( elem.ownerDocument || elem ).documentElement;\n\n\t// Support: IE <=8\n\t// Assume HTML when documentElement doesn't yet exist, such as inside loading iframes\n\t// https://bugs.jquery.com/ticket/4833\n\treturn !rhtml.test( namespace || docElem && docElem.nodeName || \"HTML\" );\n};\n\n/**\n * Sets document-related variables once based on the current document\n * @param {Element|Object} [doc] An element or document object to use to set the document\n * @returns {Object} Returns the current document\n */\nsetDocument = Sizzle.setDocument = function( node ) {\n\tvar hasCompare, subWindow,\n\t\tdoc = node ? node.ownerDocument || node : preferredDoc;\n\n\t// Return early if doc is invalid or already selected\n\t// Support: IE 11+, Edge 17 - 18+\n\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t// two documents; shallow comparisons work.\n\t// eslint-disable-next-line eqeqeq\n\tif ( doc == document || doc.nodeType !== 9 || !doc.documentElement ) {\n\t\treturn document;\n\t}\n\n\t// Update global variables\n\tdocument = doc;\n\tdocElem = document.documentElement;\n\tdocumentIsHTML = !isXML( document );\n\n\t// Support: IE 9 - 11+, Edge 12 - 18+\n\t// Accessing iframe documents after unload throws \"permission denied\" errors (jQuery #13936)\n\t// Support: IE 11+, Edge 17 - 18+\n\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t// two documents; shallow comparisons work.\n\t// eslint-disable-next-line eqeqeq\n\tif ( preferredDoc != document &&\n\t\t( subWindow = document.defaultView ) && subWindow.top !== subWindow ) {\n\n\t\t// Support: IE 11, Edge\n\t\tif ( subWindow.addEventListener ) {\n\t\t\tsubWindow.addEventListener( \"unload\", unloadHandler, false );\n\n\t\t// Support: IE 9 - 10 only\n\t\t} else if ( subWindow.attachEvent ) {\n\t\t\tsubWindow.attachEvent( \"onunload\", unloadHandler );\n\t\t}\n\t}\n\n\t// Support: IE 8 - 11+, Edge 12 - 18+, Chrome <=16 - 25 only, Firefox <=3.6 - 31 only,\n\t// Safari 4 - 5 only, Opera <=11.6 - 12.x only\n\t// IE/Edge & older browsers don't support the :scope pseudo-class.\n\t// Support: Safari 6.0 only\n\t// Safari 6.0 supports :scope but it's an alias of :root there.\n\tsupport.scope = assert( function( el ) {\n\t\tdocElem.appendChild( el ).appendChild( document.createElement( \"div\" ) );\n\t\treturn typeof el.querySelectorAll !== \"undefined\" &&\n\t\t\t!el.querySelectorAll( \":scope fieldset div\" ).length;\n\t} );\n\n\t/* Attributes\n\t---------------------------------------------------------------------- */\n\n\t// Support: IE<8\n\t// Verify that getAttribute really returns attributes and not properties\n\t// (excepting IE8 booleans)\n\tsupport.attributes = assert( function( el ) {\n\t\tel.className = \"i\";\n\t\treturn !el.getAttribute( \"className\" );\n\t} );\n\n\t/* getElement(s)By*\n\t---------------------------------------------------------------------- */\n\n\t// Check if getElementsByTagName(\"*\") returns only elements\n\tsupport.getElementsByTagName = assert( function( el ) {\n\t\tel.appendChild( document.createComment( \"\" ) );\n\t\treturn !el.getElementsByTagName( \"*\" ).length;\n\t} );\n\n\t// Support: IE<9\n\tsupport.getElementsByClassName = rnative.test( document.getElementsByClassName );\n\n\t// Support: IE<10\n\t// Check if getElementById returns elements by name\n\t// The broken getElementById methods don't pick up programmatically-set names,\n\t// so use a roundabout getElementsByName test\n\tsupport.getById = assert( function( el ) {\n\t\tdocElem.appendChild( el ).id = expando;\n\t\treturn !document.getElementsByName || !document.getElementsByName( expando ).length;\n\t} );\n\n\t// ID filter and find\n\tif ( support.getById ) {\n\t\tExpr.filter[ \"ID\" ] = function( id ) {\n\t\t\tvar attrId = id.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\treturn elem.getAttribute( \"id\" ) === attrId;\n\t\t\t};\n\t\t};\n\t\tExpr.find[ \"ID\" ] = function( id, context ) {\n\t\t\tif ( typeof context.getElementById !== \"undefined\" && documentIsHTML ) {\n\t\t\t\tvar elem = context.getElementById( id );\n\t\t\t\treturn elem ? [ elem ] : [];\n\t\t\t}\n\t\t};\n\t} else {\n\t\tExpr.filter[ \"ID\" ] = function( id ) {\n\t\t\tvar attrId = id.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\tvar node = typeof elem.getAttributeNode !== \"undefined\" &&\n\t\t\t\t\telem.getAttributeNode( \"id\" );\n\t\t\t\treturn node && node.value === attrId;\n\t\t\t};\n\t\t};\n\n\t\t// Support: IE 6 - 7 only\n\t\t// getElementById is not reliable as a find shortcut\n\t\tExpr.find[ \"ID\" ] = function( id, context ) {\n\t\t\tif ( typeof context.getElementById !== \"undefined\" && documentIsHTML ) {\n\t\t\t\tvar node, i, elems,\n\t\t\t\t\telem = context.getElementById( id );\n\n\t\t\t\tif ( elem ) {\n\n\t\t\t\t\t// Verify the id attribute\n\t\t\t\t\tnode = elem.getAttributeNode( \"id\" );\n\t\t\t\t\tif ( node && node.value === id ) {\n\t\t\t\t\t\treturn [ elem ];\n\t\t\t\t\t}\n\n\t\t\t\t\t// Fall back on getElementsByName\n\t\t\t\t\telems = context.getElementsByName( id );\n\t\t\t\t\ti = 0;\n\t\t\t\t\twhile ( ( elem = elems[ i++ ] ) ) {\n\t\t\t\t\t\tnode = elem.getAttributeNode( \"id\" );\n\t\t\t\t\t\tif ( node && node.value === id ) {\n\t\t\t\t\t\t\treturn [ elem ];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn [];\n\t\t\t}\n\t\t};\n\t}\n\n\t// Tag\n\tExpr.find[ \"TAG\" ] = support.getElementsByTagName ?\n\t\tfunction( tag, context ) {\n\t\t\tif ( typeof context.getElementsByTagName !== \"undefined\" ) {\n\t\t\t\treturn context.getElementsByTagName( tag );\n\n\t\t\t// DocumentFragment nodes don't have gEBTN\n\t\t\t} else if ( support.qsa ) {\n\t\t\t\treturn context.querySelectorAll( tag );\n\t\t\t}\n\t\t} :\n\n\t\tfunction( tag, context ) {\n\t\t\tvar elem,\n\t\t\t\ttmp = [],\n\t\t\t\ti = 0,\n\n\t\t\t\t// By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too\n\t\t\t\tresults = context.getElementsByTagName( tag );\n\n\t\t\t// Filter out possible comments\n\t\t\tif ( tag === \"*\" ) {\n\t\t\t\twhile ( ( elem = results[ i++ ] ) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 ) {\n\t\t\t\t\t\ttmp.push( elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn tmp;\n\t\t\t}\n\t\t\treturn results;\n\t\t};\n\n\t// Class\n\tExpr.find[ \"CLASS\" ] = support.getElementsByClassName && function( className, context ) {\n\t\tif ( typeof context.getElementsByClassName !== \"undefined\" && documentIsHTML ) {\n\t\t\treturn context.getElementsByClassName( className );\n\t\t}\n\t};\n\n\t/* QSA/matchesSelector\n\t---------------------------------------------------------------------- */\n\n\t// QSA and matchesSelector support\n\n\t// matchesSelector(:active) reports false when true (IE9/Opera 11.5)\n\trbuggyMatches = [];\n\n\t// qSa(:focus) reports false when true (Chrome 21)\n\t// We allow this because of a bug in IE8/9 that throws an error\n\t// whenever `document.activeElement` is accessed on an iframe\n\t// So, we allow :focus to pass through QSA all the time to avoid the IE error\n\t// See https://bugs.jquery.com/ticket/13378\n\trbuggyQSA = [];\n\n\tif ( ( support.qsa = rnative.test( document.querySelectorAll ) ) ) {\n\n\t\t// Build QSA regex\n\t\t// Regex strategy adopted from Diego Perini\n\t\tassert( function( el ) {\n\n\t\t\tvar input;\n\n\t\t\t// Select is set to empty string on purpose\n\t\t\t// This is to test IE's treatment of not explicitly\n\t\t\t// setting a boolean content attribute,\n\t\t\t// since its presence should be enough\n\t\t\t// https://bugs.jquery.com/ticket/12359\n\t\t\tdocElem.appendChild( el ).innerHTML = \"\" +\n\t\t\t\t\"\";\n\n\t\t\t// Support: IE8, Opera 11-12.16\n\t\t\t// Nothing should be selected when empty strings follow ^= or $= or *=\n\t\t\t// The test attribute must be unknown in Opera but \"safe\" for WinRT\n\t\t\t// https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section\n\t\t\tif ( el.querySelectorAll( \"[msallowcapture^='']\" ).length ) {\n\t\t\t\trbuggyQSA.push( \"[*^$]=\" + whitespace + \"*(?:''|\\\"\\\")\" );\n\t\t\t}\n\n\t\t\t// Support: IE8\n\t\t\t// Boolean attributes and \"value\" are not treated correctly\n\t\t\tif ( !el.querySelectorAll( \"[selected]\" ).length ) {\n\t\t\t\trbuggyQSA.push( \"\\\\[\" + whitespace + \"*(?:value|\" + booleans + \")\" );\n\t\t\t}\n\n\t\t\t// Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+\n\t\t\tif ( !el.querySelectorAll( \"[id~=\" + expando + \"-]\" ).length ) {\n\t\t\t\trbuggyQSA.push( \"~=\" );\n\t\t\t}\n\n\t\t\t// Support: IE 11+, Edge 15 - 18+\n\t\t\t// IE 11/Edge don't find elements on a `[name='']` query in some cases.\n\t\t\t// Adding a temporary attribute to the document before the selection works\n\t\t\t// around the issue.\n\t\t\t// Interestingly, IE 10 & older don't seem to have the issue.\n\t\t\tinput = document.createElement( \"input\" );\n\t\t\tinput.setAttribute( \"name\", \"\" );\n\t\t\tel.appendChild( input );\n\t\t\tif ( !el.querySelectorAll( \"[name='']\" ).length ) {\n\t\t\t\trbuggyQSA.push( \"\\\\[\" + whitespace + \"*name\" + whitespace + \"*=\" +\n\t\t\t\t\twhitespace + \"*(?:''|\\\"\\\")\" );\n\t\t\t}\n\n\t\t\t// Webkit/Opera - :checked should return selected option elements\n\t\t\t// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\n\t\t\t// IE8 throws error here and will not see later tests\n\t\t\tif ( !el.querySelectorAll( \":checked\" ).length ) {\n\t\t\t\trbuggyQSA.push( \":checked\" );\n\t\t\t}\n\n\t\t\t// Support: Safari 8+, iOS 8+\n\t\t\t// https://bugs.webkit.org/show_bug.cgi?id=136851\n\t\t\t// In-page `selector#id sibling-combinator selector` fails\n\t\t\tif ( !el.querySelectorAll( \"a#\" + expando + \"+*\" ).length ) {\n\t\t\t\trbuggyQSA.push( \".#.+[+~]\" );\n\t\t\t}\n\n\t\t\t// Support: Firefox <=3.6 - 5 only\n\t\t\t// Old Firefox doesn't throw on a badly-escaped identifier.\n\t\t\tel.querySelectorAll( \"\\\\\\f\" );\n\t\t\trbuggyQSA.push( \"[\\\\r\\\\n\\\\f]\" );\n\t\t} );\n\n\t\tassert( function( el ) {\n\t\t\tel.innerHTML = \"\" +\n\t\t\t\t\"\";\n\n\t\t\t// Support: Windows 8 Native Apps\n\t\t\t// The type and name attributes are restricted during .innerHTML assignment\n\t\t\tvar input = document.createElement( \"input\" );\n\t\t\tinput.setAttribute( \"type\", \"hidden\" );\n\t\t\tel.appendChild( input ).setAttribute( \"name\", \"D\" );\n\n\t\t\t// Support: IE8\n\t\t\t// Enforce case-sensitivity of name attribute\n\t\t\tif ( el.querySelectorAll( \"[name=d]\" ).length ) {\n\t\t\t\trbuggyQSA.push( \"name\" + whitespace + \"*[*^$|!~]?=\" );\n\t\t\t}\n\n\t\t\t// FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)\n\t\t\t// IE8 throws error here and will not see later tests\n\t\t\tif ( el.querySelectorAll( \":enabled\" ).length !== 2 ) {\n\t\t\t\trbuggyQSA.push( \":enabled\", \":disabled\" );\n\t\t\t}\n\n\t\t\t// Support: IE9-11+\n\t\t\t// IE's :disabled selector does not pick up the children of disabled fieldsets\n\t\t\tdocElem.appendChild( el ).disabled = true;\n\t\t\tif ( el.querySelectorAll( \":disabled\" ).length !== 2 ) {\n\t\t\t\trbuggyQSA.push( \":enabled\", \":disabled\" );\n\t\t\t}\n\n\t\t\t// Support: Opera 10 - 11 only\n\t\t\t// Opera 10-11 does not throw on post-comma invalid pseudos\n\t\t\tel.querySelectorAll( \"*,:x\" );\n\t\t\trbuggyQSA.push( \",.*:\" );\n\t\t} );\n\t}\n\n\tif ( ( support.matchesSelector = rnative.test( ( matches = docElem.matches ||\n\t\tdocElem.webkitMatchesSelector ||\n\t\tdocElem.mozMatchesSelector ||\n\t\tdocElem.oMatchesSelector ||\n\t\tdocElem.msMatchesSelector ) ) ) ) {\n\n\t\tassert( function( el ) {\n\n\t\t\t// Check to see if it's possible to do matchesSelector\n\t\t\t// on a disconnected node (IE 9)\n\t\t\tsupport.disconnectedMatch = matches.call( el, \"*\" );\n\n\t\t\t// This should fail with an exception\n\t\t\t// Gecko does not error, returns false instead\n\t\t\tmatches.call( el, \"[s!='']:x\" );\n\t\t\trbuggyMatches.push( \"!=\", pseudos );\n\t\t} );\n\t}\n\n\trbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( \"|\" ) );\n\trbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join( \"|\" ) );\n\n\t/* Contains\n\t---------------------------------------------------------------------- */\n\thasCompare = rnative.test( docElem.compareDocumentPosition );\n\n\t// Element contains another\n\t// Purposefully self-exclusive\n\t// As in, an element does not contain itself\n\tcontains = hasCompare || rnative.test( docElem.contains ) ?\n\t\tfunction( a, b ) {\n\t\t\tvar adown = a.nodeType === 9 ? a.documentElement : a,\n\t\t\t\tbup = b && b.parentNode;\n\t\t\treturn a === bup || !!( bup && bup.nodeType === 1 && (\n\t\t\t\tadown.contains ?\n\t\t\t\t\tadown.contains( bup ) :\n\t\t\t\t\ta.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16\n\t\t\t) );\n\t\t} :\n\t\tfunction( a, b ) {\n\t\t\tif ( b ) {\n\t\t\t\twhile ( ( b = b.parentNode ) ) {\n\t\t\t\t\tif ( b === a ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n\n\t/* Sorting\n\t---------------------------------------------------------------------- */\n\n\t// Document order sorting\n\tsortOrder = hasCompare ?\n\tfunction( a, b ) {\n\n\t\t// Flag for duplicate removal\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t\treturn 0;\n\t\t}\n\n\t\t// Sort on method existence if only one input has compareDocumentPosition\n\t\tvar compare = !a.compareDocumentPosition - !b.compareDocumentPosition;\n\t\tif ( compare ) {\n\t\t\treturn compare;\n\t\t}\n\n\t\t// Calculate position if both inputs belong to the same document\n\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t// two documents; shallow comparisons work.\n\t\t// eslint-disable-next-line eqeqeq\n\t\tcompare = ( a.ownerDocument || a ) == ( b.ownerDocument || b ) ?\n\t\t\ta.compareDocumentPosition( b ) :\n\n\t\t\t// Otherwise we know they are disconnected\n\t\t\t1;\n\n\t\t// Disconnected nodes\n\t\tif ( compare & 1 ||\n\t\t\t( !support.sortDetached && b.compareDocumentPosition( a ) === compare ) ) {\n\n\t\t\t// Choose the first element that is related to our preferred document\n\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t// two documents; shallow comparisons work.\n\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\tif ( a == document || a.ownerDocument == preferredDoc &&\n\t\t\t\tcontains( preferredDoc, a ) ) {\n\t\t\t\treturn -1;\n\t\t\t}\n\n\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t// two documents; shallow comparisons work.\n\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\tif ( b == document || b.ownerDocument == preferredDoc &&\n\t\t\t\tcontains( preferredDoc, b ) ) {\n\t\t\t\treturn 1;\n\t\t\t}\n\n\t\t\t// Maintain original order\n\t\t\treturn sortInput ?\n\t\t\t\t( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :\n\t\t\t\t0;\n\t\t}\n\n\t\treturn compare & 4 ? -1 : 1;\n\t} :\n\tfunction( a, b ) {\n\n\t\t// Exit early if the nodes are identical\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t\treturn 0;\n\t\t}\n\n\t\tvar cur,\n\t\t\ti = 0,\n\t\t\taup = a.parentNode,\n\t\t\tbup = b.parentNode,\n\t\t\tap = [ a ],\n\t\t\tbp = [ b ];\n\n\t\t// Parentless nodes are either documents or disconnected\n\t\tif ( !aup || !bup ) {\n\n\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t// two documents; shallow comparisons work.\n\t\t\t/* eslint-disable eqeqeq */\n\t\t\treturn a == document ? -1 :\n\t\t\t\tb == document ? 1 :\n\t\t\t\t/* eslint-enable eqeqeq */\n\t\t\t\taup ? -1 :\n\t\t\t\tbup ? 1 :\n\t\t\t\tsortInput ?\n\t\t\t\t( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :\n\t\t\t\t0;\n\n\t\t// If the nodes are siblings, we can do a quick check\n\t\t} else if ( aup === bup ) {\n\t\t\treturn siblingCheck( a, b );\n\t\t}\n\n\t\t// Otherwise we need full lists of their ancestors for comparison\n\t\tcur = a;\n\t\twhile ( ( cur = cur.parentNode ) ) {\n\t\t\tap.unshift( cur );\n\t\t}\n\t\tcur = b;\n\t\twhile ( ( cur = cur.parentNode ) ) {\n\t\t\tbp.unshift( cur );\n\t\t}\n\n\t\t// Walk down the tree looking for a discrepancy\n\t\twhile ( ap[ i ] === bp[ i ] ) {\n\t\t\ti++;\n\t\t}\n\n\t\treturn i ?\n\n\t\t\t// Do a sibling check if the nodes have a common ancestor\n\t\t\tsiblingCheck( ap[ i ], bp[ i ] ) :\n\n\t\t\t// Otherwise nodes in our document sort first\n\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t// two documents; shallow comparisons work.\n\t\t\t/* eslint-disable eqeqeq */\n\t\t\tap[ i ] == preferredDoc ? -1 :\n\t\t\tbp[ i ] == preferredDoc ? 1 :\n\t\t\t/* eslint-enable eqeqeq */\n\t\t\t0;\n\t};\n\n\treturn document;\n};\n\nSizzle.matches = function( expr, elements ) {\n\treturn Sizzle( expr, null, null, elements );\n};\n\nSizzle.matchesSelector = function( elem, expr ) {\n\tsetDocument( elem );\n\n\tif ( support.matchesSelector && documentIsHTML &&\n\t\t!nonnativeSelectorCache[ expr + \" \" ] &&\n\t\t( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&\n\t\t( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) {\n\n\t\ttry {\n\t\t\tvar ret = matches.call( elem, expr );\n\n\t\t\t// IE 9's matchesSelector returns false on disconnected nodes\n\t\t\tif ( ret || support.disconnectedMatch ||\n\n\t\t\t\t// As well, disconnected nodes are said to be in a document\n\t\t\t\t// fragment in IE 9\n\t\t\t\telem.document && elem.document.nodeType !== 11 ) {\n\t\t\t\treturn ret;\n\t\t\t}\n\t\t} catch ( e ) {\n\t\t\tnonnativeSelectorCache( expr, true );\n\t\t}\n\t}\n\n\treturn Sizzle( expr, document, null, [ elem ] ).length > 0;\n};\n\nSizzle.contains = function( context, elem ) {\n\n\t// Set document vars if needed\n\t// Support: IE 11+, Edge 17 - 18+\n\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t// two documents; shallow comparisons work.\n\t// eslint-disable-next-line eqeqeq\n\tif ( ( context.ownerDocument || context ) != document ) {\n\t\tsetDocument( context );\n\t}\n\treturn contains( context, elem );\n};\n\nSizzle.attr = function( elem, name ) {\n\n\t// Set document vars if needed\n\t// Support: IE 11+, Edge 17 - 18+\n\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t// two documents; shallow comparisons work.\n\t// eslint-disable-next-line eqeqeq\n\tif ( ( elem.ownerDocument || elem ) != document ) {\n\t\tsetDocument( elem );\n\t}\n\n\tvar fn = Expr.attrHandle[ name.toLowerCase() ],\n\n\t\t// Don't get fooled by Object.prototype properties (jQuery #13807)\n\t\tval = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?\n\t\t\tfn( elem, name, !documentIsHTML ) :\n\t\t\tundefined;\n\n\treturn val !== undefined ?\n\t\tval :\n\t\tsupport.attributes || !documentIsHTML ?\n\t\t\telem.getAttribute( name ) :\n\t\t\t( val = elem.getAttributeNode( name ) ) && val.specified ?\n\t\t\t\tval.value :\n\t\t\t\tnull;\n};\n\nSizzle.escape = function( sel ) {\n\treturn ( sel + \"\" ).replace( rcssescape, fcssescape );\n};\n\nSizzle.error = function( msg ) {\n\tthrow new Error( \"Syntax error, unrecognized expression: \" + msg );\n};\n\n/**\n * Document sorting and removing duplicates\n * @param {ArrayLike} results\n */\nSizzle.uniqueSort = function( results ) {\n\tvar elem,\n\t\tduplicates = [],\n\t\tj = 0,\n\t\ti = 0;\n\n\t// Unless we *know* we can detect duplicates, assume their presence\n\thasDuplicate = !support.detectDuplicates;\n\tsortInput = !support.sortStable && results.slice( 0 );\n\tresults.sort( sortOrder );\n\n\tif ( hasDuplicate ) {\n\t\twhile ( ( elem = results[ i++ ] ) ) {\n\t\t\tif ( elem === results[ i ] ) {\n\t\t\t\tj = duplicates.push( i );\n\t\t\t}\n\t\t}\n\t\twhile ( j-- ) {\n\t\t\tresults.splice( duplicates[ j ], 1 );\n\t\t}\n\t}\n\n\t// Clear input after sorting to release objects\n\t// See https://github.com/jquery/sizzle/pull/225\n\tsortInput = null;\n\n\treturn results;\n};\n\n/**\n * Utility function for retrieving the text value of an array of DOM nodes\n * @param {Array|Element} elem\n */\ngetText = Sizzle.getText = function( elem ) {\n\tvar node,\n\t\tret = \"\",\n\t\ti = 0,\n\t\tnodeType = elem.nodeType;\n\n\tif ( !nodeType ) {\n\n\t\t// If no nodeType, this is expected to be an array\n\t\twhile ( ( node = elem[ i++ ] ) ) {\n\n\t\t\t// Do not traverse comment nodes\n\t\t\tret += getText( node );\n\t\t}\n\t} else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {\n\n\t\t// Use textContent for elements\n\t\t// innerText usage removed for consistency of new lines (jQuery #11153)\n\t\tif ( typeof elem.textContent === \"string\" ) {\n\t\t\treturn elem.textContent;\n\t\t} else {\n\n\t\t\t// Traverse its children\n\t\t\tfor ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {\n\t\t\t\tret += getText( elem );\n\t\t\t}\n\t\t}\n\t} else if ( nodeType === 3 || nodeType === 4 ) {\n\t\treturn elem.nodeValue;\n\t}\n\n\t// Do not include comment or processing instruction nodes\n\n\treturn ret;\n};\n\nExpr = Sizzle.selectors = {\n\n\t// Can be adjusted by the user\n\tcacheLength: 50,\n\n\tcreatePseudo: markFunction,\n\n\tmatch: matchExpr,\n\n\tattrHandle: {},\n\n\tfind: {},\n\n\trelative: {\n\t\t\">\": { dir: \"parentNode\", first: true },\n\t\t\" \": { dir: \"parentNode\" },\n\t\t\"+\": { dir: \"previousSibling\", first: true },\n\t\t\"~\": { dir: \"previousSibling\" }\n\t},\n\n\tpreFilter: {\n\t\t\"ATTR\": function( match ) {\n\t\t\tmatch[ 1 ] = match[ 1 ].replace( runescape, funescape );\n\n\t\t\t// Move the given value to match[3] whether quoted or unquoted\n\t\t\tmatch[ 3 ] = ( match[ 3 ] || match[ 4 ] ||\n\t\t\t\tmatch[ 5 ] || \"\" ).replace( runescape, funescape );\n\n\t\t\tif ( match[ 2 ] === \"~=\" ) {\n\t\t\t\tmatch[ 3 ] = \" \" + match[ 3 ] + \" \";\n\t\t\t}\n\n\t\t\treturn match.slice( 0, 4 );\n\t\t},\n\n\t\t\"CHILD\": function( match ) {\n\n\t\t\t/* matches from matchExpr[\"CHILD\"]\n\t\t\t\t1 type (only|nth|...)\n\t\t\t\t2 what (child|of-type)\n\t\t\t\t3 argument (even|odd|\\d*|\\d*n([+-]\\d+)?|...)\n\t\t\t\t4 xn-component of xn+y argument ([+-]?\\d*n|)\n\t\t\t\t5 sign of xn-component\n\t\t\t\t6 x of xn-component\n\t\t\t\t7 sign of y-component\n\t\t\t\t8 y of y-component\n\t\t\t*/\n\t\t\tmatch[ 1 ] = match[ 1 ].toLowerCase();\n\n\t\t\tif ( match[ 1 ].slice( 0, 3 ) === \"nth\" ) {\n\n\t\t\t\t// nth-* requires argument\n\t\t\t\tif ( !match[ 3 ] ) {\n\t\t\t\t\tSizzle.error( match[ 0 ] );\n\t\t\t\t}\n\n\t\t\t\t// numeric x and y parameters for Expr.filter.CHILD\n\t\t\t\t// remember that false/true cast respectively to 0/1\n\t\t\t\tmatch[ 4 ] = +( match[ 4 ] ?\n\t\t\t\t\tmatch[ 5 ] + ( match[ 6 ] || 1 ) :\n\t\t\t\t\t2 * ( match[ 3 ] === \"even\" || match[ 3 ] === \"odd\" ) );\n\t\t\t\tmatch[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === \"odd\" );\n\n\t\t\t\t// other types prohibit arguments\n\t\t\t} else if ( match[ 3 ] ) {\n\t\t\t\tSizzle.error( match[ 0 ] );\n\t\t\t}\n\n\t\t\treturn match;\n\t\t},\n\n\t\t\"PSEUDO\": function( match ) {\n\t\t\tvar excess,\n\t\t\t\tunquoted = !match[ 6 ] && match[ 2 ];\n\n\t\t\tif ( matchExpr[ \"CHILD\" ].test( match[ 0 ] ) ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\t// Accept quoted arguments as-is\n\t\t\tif ( match[ 3 ] ) {\n\t\t\t\tmatch[ 2 ] = match[ 4 ] || match[ 5 ] || \"\";\n\n\t\t\t// Strip excess characters from unquoted arguments\n\t\t\t} else if ( unquoted && rpseudo.test( unquoted ) &&\n\n\t\t\t\t// Get excess from tokenize (recursively)\n\t\t\t\t( excess = tokenize( unquoted, true ) ) &&\n\n\t\t\t\t// advance to the next closing parenthesis\n\t\t\t\t( excess = unquoted.indexOf( \")\", unquoted.length - excess ) - unquoted.length ) ) {\n\n\t\t\t\t// excess is a negative index\n\t\t\t\tmatch[ 0 ] = match[ 0 ].slice( 0, excess );\n\t\t\t\tmatch[ 2 ] = unquoted.slice( 0, excess );\n\t\t\t}\n\n\t\t\t// Return only captures needed by the pseudo filter method (type and argument)\n\t\t\treturn match.slice( 0, 3 );\n\t\t}\n\t},\n\n\tfilter: {\n\n\t\t\"TAG\": function( nodeNameSelector ) {\n\t\t\tvar nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();\n\t\t\treturn nodeNameSelector === \"*\" ?\n\t\t\t\tfunction() {\n\t\t\t\t\treturn true;\n\t\t\t\t} :\n\t\t\t\tfunction( elem ) {\n\t\t\t\t\treturn elem.nodeName && elem.nodeName.toLowerCase() === nodeName;\n\t\t\t\t};\n\t\t},\n\n\t\t\"CLASS\": function( className ) {\n\t\t\tvar pattern = classCache[ className + \" \" ];\n\n\t\t\treturn pattern ||\n\t\t\t\t( pattern = new RegExp( \"(^|\" + whitespace +\n\t\t\t\t\t\")\" + className + \"(\" + whitespace + \"|$)\" ) ) && classCache(\n\t\t\t\t\t\tclassName, function( elem ) {\n\t\t\t\t\t\t\treturn pattern.test(\n\t\t\t\t\t\t\t\ttypeof elem.className === \"string\" && elem.className ||\n\t\t\t\t\t\t\t\ttypeof elem.getAttribute !== \"undefined\" &&\n\t\t\t\t\t\t\t\t\telem.getAttribute( \"class\" ) ||\n\t\t\t\t\t\t\t\t\"\"\n\t\t\t\t\t\t\t);\n\t\t\t\t} );\n\t\t},\n\n\t\t\"ATTR\": function( name, operator, check ) {\n\t\t\treturn function( elem ) {\n\t\t\t\tvar result = Sizzle.attr( elem, name );\n\n\t\t\t\tif ( result == null ) {\n\t\t\t\t\treturn operator === \"!=\";\n\t\t\t\t}\n\t\t\t\tif ( !operator ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tresult += \"\";\n\n\t\t\t\t/* eslint-disable max-len */\n\n\t\t\t\treturn operator === \"=\" ? result === check :\n\t\t\t\t\toperator === \"!=\" ? result !== check :\n\t\t\t\t\toperator === \"^=\" ? check && result.indexOf( check ) === 0 :\n\t\t\t\t\toperator === \"*=\" ? check && result.indexOf( check ) > -1 :\n\t\t\t\t\toperator === \"$=\" ? check && result.slice( -check.length ) === check :\n\t\t\t\t\toperator === \"~=\" ? ( \" \" + result.replace( rwhitespace, \" \" ) + \" \" ).indexOf( check ) > -1 :\n\t\t\t\t\toperator === \"|=\" ? result === check || result.slice( 0, check.length + 1 ) === check + \"-\" :\n\t\t\t\t\tfalse;\n\t\t\t\t/* eslint-enable max-len */\n\n\t\t\t};\n\t\t},\n\n\t\t\"CHILD\": function( type, what, _argument, first, last ) {\n\t\t\tvar simple = type.slice( 0, 3 ) !== \"nth\",\n\t\t\t\tforward = type.slice( -4 ) !== \"last\",\n\t\t\t\tofType = what === \"of-type\";\n\n\t\t\treturn first === 1 && last === 0 ?\n\n\t\t\t\t// Shortcut for :nth-*(n)\n\t\t\t\tfunction( elem ) {\n\t\t\t\t\treturn !!elem.parentNode;\n\t\t\t\t} :\n\n\t\t\t\tfunction( elem, _context, xml ) {\n\t\t\t\t\tvar cache, uniqueCache, outerCache, node, nodeIndex, start,\n\t\t\t\t\t\tdir = simple !== forward ? \"nextSibling\" : \"previousSibling\",\n\t\t\t\t\t\tparent = elem.parentNode,\n\t\t\t\t\t\tname = ofType && elem.nodeName.toLowerCase(),\n\t\t\t\t\t\tuseCache = !xml && !ofType,\n\t\t\t\t\t\tdiff = false;\n\n\t\t\t\t\tif ( parent ) {\n\n\t\t\t\t\t\t// :(first|last|only)-(child|of-type)\n\t\t\t\t\t\tif ( simple ) {\n\t\t\t\t\t\t\twhile ( dir ) {\n\t\t\t\t\t\t\t\tnode = elem;\n\t\t\t\t\t\t\t\twhile ( ( node = node[ dir ] ) ) {\n\t\t\t\t\t\t\t\t\tif ( ofType ?\n\t\t\t\t\t\t\t\t\t\tnode.nodeName.toLowerCase() === name :\n\t\t\t\t\t\t\t\t\t\tnode.nodeType === 1 ) {\n\n\t\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t// Reverse direction for :only-* (if we haven't yet done so)\n\t\t\t\t\t\t\t\tstart = dir = type === \"only\" && !start && \"nextSibling\";\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tstart = [ forward ? parent.firstChild : parent.lastChild ];\n\n\t\t\t\t\t\t// non-xml :nth-child(...) stores cache data on `parent`\n\t\t\t\t\t\tif ( forward && useCache ) {\n\n\t\t\t\t\t\t\t// Seek `elem` from a previously-cached index\n\n\t\t\t\t\t\t\t// ...in a gzip-friendly way\n\t\t\t\t\t\t\tnode = parent;\n\t\t\t\t\t\t\touterCache = node[ expando ] || ( node[ expando ] = {} );\n\n\t\t\t\t\t\t\t// Support: IE <9 only\n\t\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\t\tuniqueCache = outerCache[ node.uniqueID ] ||\n\t\t\t\t\t\t\t\t( outerCache[ node.uniqueID ] = {} );\n\n\t\t\t\t\t\t\tcache = uniqueCache[ type ] || [];\n\t\t\t\t\t\t\tnodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];\n\t\t\t\t\t\t\tdiff = nodeIndex && cache[ 2 ];\n\t\t\t\t\t\t\tnode = nodeIndex && parent.childNodes[ nodeIndex ];\n\n\t\t\t\t\t\t\twhile ( ( node = ++nodeIndex && node && node[ dir ] ||\n\n\t\t\t\t\t\t\t\t// Fallback to seeking `elem` from the start\n\t\t\t\t\t\t\t\t( diff = nodeIndex = 0 ) || start.pop() ) ) {\n\n\t\t\t\t\t\t\t\t// When found, cache indexes on `parent` and break\n\t\t\t\t\t\t\t\tif ( node.nodeType === 1 && ++diff && node === elem ) {\n\t\t\t\t\t\t\t\t\tuniqueCache[ type ] = [ dirruns, nodeIndex, diff ];\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t// Use previously-cached element index if available\n\t\t\t\t\t\t\tif ( useCache ) {\n\n\t\t\t\t\t\t\t\t// ...in a gzip-friendly way\n\t\t\t\t\t\t\t\tnode = elem;\n\t\t\t\t\t\t\t\touterCache = node[ expando ] || ( node[ expando ] = {} );\n\n\t\t\t\t\t\t\t\t// Support: IE <9 only\n\t\t\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\t\t\tuniqueCache = outerCache[ node.uniqueID ] ||\n\t\t\t\t\t\t\t\t\t( outerCache[ node.uniqueID ] = {} );\n\n\t\t\t\t\t\t\t\tcache = uniqueCache[ type ] || [];\n\t\t\t\t\t\t\t\tnodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];\n\t\t\t\t\t\t\t\tdiff = nodeIndex;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// xml :nth-child(...)\n\t\t\t\t\t\t\t// or :nth-last-child(...) or :nth(-last)?-of-type(...)\n\t\t\t\t\t\t\tif ( diff === false ) {\n\n\t\t\t\t\t\t\t\t// Use the same loop as above to seek `elem` from the start\n\t\t\t\t\t\t\t\twhile ( ( node = ++nodeIndex && node && node[ dir ] ||\n\t\t\t\t\t\t\t\t\t( diff = nodeIndex = 0 ) || start.pop() ) ) {\n\n\t\t\t\t\t\t\t\t\tif ( ( ofType ?\n\t\t\t\t\t\t\t\t\t\tnode.nodeName.toLowerCase() === name :\n\t\t\t\t\t\t\t\t\t\tnode.nodeType === 1 ) &&\n\t\t\t\t\t\t\t\t\t\t++diff ) {\n\n\t\t\t\t\t\t\t\t\t\t// Cache the index of each encountered element\n\t\t\t\t\t\t\t\t\t\tif ( useCache ) {\n\t\t\t\t\t\t\t\t\t\t\touterCache = node[ expando ] ||\n\t\t\t\t\t\t\t\t\t\t\t\t( node[ expando ] = {} );\n\n\t\t\t\t\t\t\t\t\t\t\t// Support: IE <9 only\n\t\t\t\t\t\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\t\t\t\t\t\tuniqueCache = outerCache[ node.uniqueID ] ||\n\t\t\t\t\t\t\t\t\t\t\t\t( outerCache[ node.uniqueID ] = {} );\n\n\t\t\t\t\t\t\t\t\t\t\tuniqueCache[ type ] = [ dirruns, diff ];\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\tif ( node === elem ) {\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Incorporate the offset, then check against cycle size\n\t\t\t\t\t\tdiff -= last;\n\t\t\t\t\t\treturn diff === first || ( diff % first === 0 && diff / first >= 0 );\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t},\n\n\t\t\"PSEUDO\": function( pseudo, argument ) {\n\n\t\t\t// pseudo-class names are case-insensitive\n\t\t\t// http://www.w3.org/TR/selectors/#pseudo-classes\n\t\t\t// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters\n\t\t\t// Remember that setFilters inherits from pseudos\n\t\t\tvar args,\n\t\t\t\tfn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||\n\t\t\t\t\tSizzle.error( \"unsupported pseudo: \" + pseudo );\n\n\t\t\t// The user may use createPseudo to indicate that\n\t\t\t// arguments are needed to create the filter function\n\t\t\t// just as Sizzle does\n\t\t\tif ( fn[ expando ] ) {\n\t\t\t\treturn fn( argument );\n\t\t\t}\n\n\t\t\t// But maintain support for old signatures\n\t\t\tif ( fn.length > 1 ) {\n\t\t\t\targs = [ pseudo, pseudo, \"\", argument ];\n\t\t\t\treturn Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?\n\t\t\t\t\tmarkFunction( function( seed, matches ) {\n\t\t\t\t\t\tvar idx,\n\t\t\t\t\t\t\tmatched = fn( seed, argument ),\n\t\t\t\t\t\t\ti = matched.length;\n\t\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\t\tidx = indexOf( seed, matched[ i ] );\n\t\t\t\t\t\t\tseed[ idx ] = !( matches[ idx ] = matched[ i ] );\n\t\t\t\t\t\t}\n\t\t\t\t\t} ) :\n\t\t\t\t\tfunction( elem ) {\n\t\t\t\t\t\treturn fn( elem, 0, args );\n\t\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn fn;\n\t\t}\n\t},\n\n\tpseudos: {\n\n\t\t// Potentially complex pseudos\n\t\t\"not\": markFunction( function( selector ) {\n\n\t\t\t// Trim the selector passed to compile\n\t\t\t// to avoid treating leading and trailing\n\t\t\t// spaces as combinators\n\t\t\tvar input = [],\n\t\t\t\tresults = [],\n\t\t\t\tmatcher = compile( selector.replace( rtrim, \"$1\" ) );\n\n\t\t\treturn matcher[ expando ] ?\n\t\t\t\tmarkFunction( function( seed, matches, _context, xml ) {\n\t\t\t\t\tvar elem,\n\t\t\t\t\t\tunmatched = matcher( seed, null, xml, [] ),\n\t\t\t\t\t\ti = seed.length;\n\n\t\t\t\t\t// Match elements unmatched by `matcher`\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tif ( ( elem = unmatched[ i ] ) ) {\n\t\t\t\t\t\t\tseed[ i ] = !( matches[ i ] = elem );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} ) :\n\t\t\t\tfunction( elem, _context, xml ) {\n\t\t\t\t\tinput[ 0 ] = elem;\n\t\t\t\t\tmatcher( input, null, xml, results );\n\n\t\t\t\t\t// Don't keep the element (issue #299)\n\t\t\t\t\tinput[ 0 ] = null;\n\t\t\t\t\treturn !results.pop();\n\t\t\t\t};\n\t\t} ),\n\n\t\t\"has\": markFunction( function( selector ) {\n\t\t\treturn function( elem ) {\n\t\t\t\treturn Sizzle( selector, elem ).length > 0;\n\t\t\t};\n\t\t} ),\n\n\t\t\"contains\": markFunction( function( text ) {\n\t\t\ttext = text.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\treturn ( elem.textContent || getText( elem ) ).indexOf( text ) > -1;\n\t\t\t};\n\t\t} ),\n\n\t\t// \"Whether an element is represented by a :lang() selector\n\t\t// is based solely on the element's language value\n\t\t// being equal to the identifier C,\n\t\t// or beginning with the identifier C immediately followed by \"-\".\n\t\t// The matching of C against the element's language value is performed case-insensitively.\n\t\t// The identifier C does not have to be a valid language name.\"\n\t\t// http://www.w3.org/TR/selectors/#lang-pseudo\n\t\t\"lang\": markFunction( function( lang ) {\n\n\t\t\t// lang value must be a valid identifier\n\t\t\tif ( !ridentifier.test( lang || \"\" ) ) {\n\t\t\t\tSizzle.error( \"unsupported lang: \" + lang );\n\t\t\t}\n\t\t\tlang = lang.replace( runescape, funescape ).toLowerCase();\n\t\t\treturn function( elem ) {\n\t\t\t\tvar elemLang;\n\t\t\t\tdo {\n\t\t\t\t\tif ( ( elemLang = documentIsHTML ?\n\t\t\t\t\t\telem.lang :\n\t\t\t\t\t\telem.getAttribute( \"xml:lang\" ) || elem.getAttribute( \"lang\" ) ) ) {\n\n\t\t\t\t\t\telemLang = elemLang.toLowerCase();\n\t\t\t\t\t\treturn elemLang === lang || elemLang.indexOf( lang + \"-\" ) === 0;\n\t\t\t\t\t}\n\t\t\t\t} while ( ( elem = elem.parentNode ) && elem.nodeType === 1 );\n\t\t\t\treturn false;\n\t\t\t};\n\t\t} ),\n\n\t\t// Miscellaneous\n\t\t\"target\": function( elem ) {\n\t\t\tvar hash = window.location && window.location.hash;\n\t\t\treturn hash && hash.slice( 1 ) === elem.id;\n\t\t},\n\n\t\t\"root\": function( elem ) {\n\t\t\treturn elem === docElem;\n\t\t},\n\n\t\t\"focus\": function( elem ) {\n\t\t\treturn elem === document.activeElement &&\n\t\t\t\t( !document.hasFocus || document.hasFocus() ) &&\n\t\t\t\t!!( elem.type || elem.href || ~elem.tabIndex );\n\t\t},\n\n\t\t// Boolean properties\n\t\t\"enabled\": createDisabledPseudo( false ),\n\t\t\"disabled\": createDisabledPseudo( true ),\n\n\t\t\"checked\": function( elem ) {\n\n\t\t\t// In CSS3, :checked should return both checked and selected elements\n\t\t\t// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\n\t\t\tvar nodeName = elem.nodeName.toLowerCase();\n\t\t\treturn ( nodeName === \"input\" && !!elem.checked ) ||\n\t\t\t\t( nodeName === \"option\" && !!elem.selected );\n\t\t},\n\n\t\t\"selected\": function( elem ) {\n\n\t\t\t// Accessing this property makes selected-by-default\n\t\t\t// options in Safari work properly\n\t\t\tif ( elem.parentNode ) {\n\t\t\t\t// eslint-disable-next-line no-unused-expressions\n\t\t\t\telem.parentNode.selectedIndex;\n\t\t\t}\n\n\t\t\treturn elem.selected === true;\n\t\t},\n\n\t\t// Contents\n\t\t\"empty\": function( elem ) {\n\n\t\t\t// http://www.w3.org/TR/selectors/#empty-pseudo\n\t\t\t// :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),\n\t\t\t// but not by others (comment: 8; processing instruction: 7; etc.)\n\t\t\t// nodeType < 6 works because attributes (2) do not appear as children\n\t\t\tfor ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {\n\t\t\t\tif ( elem.nodeType < 6 ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\n\t\t\"parent\": function( elem ) {\n\t\t\treturn !Expr.pseudos[ \"empty\" ]( elem );\n\t\t},\n\n\t\t// Element/input types\n\t\t\"header\": function( elem ) {\n\t\t\treturn rheader.test( elem.nodeName );\n\t\t},\n\n\t\t\"input\": function( elem ) {\n\t\t\treturn rinputs.test( elem.nodeName );\n\t\t},\n\n\t\t\"button\": function( elem ) {\n\t\t\tvar name = elem.nodeName.toLowerCase();\n\t\t\treturn name === \"input\" && elem.type === \"button\" || name === \"button\";\n\t\t},\n\n\t\t\"text\": function( elem ) {\n\t\t\tvar attr;\n\t\t\treturn elem.nodeName.toLowerCase() === \"input\" &&\n\t\t\t\telem.type === \"text\" &&\n\n\t\t\t\t// Support: IE<8\n\t\t\t\t// New HTML5 attribute values (e.g., \"search\") appear with elem.type === \"text\"\n\t\t\t\t( ( attr = elem.getAttribute( \"type\" ) ) == null ||\n\t\t\t\t\tattr.toLowerCase() === \"text\" );\n\t\t},\n\n\t\t// Position-in-collection\n\t\t\"first\": createPositionalPseudo( function() {\n\t\t\treturn [ 0 ];\n\t\t} ),\n\n\t\t\"last\": createPositionalPseudo( function( _matchIndexes, length ) {\n\t\t\treturn [ length - 1 ];\n\t\t} ),\n\n\t\t\"eq\": createPositionalPseudo( function( _matchIndexes, length, argument ) {\n\t\t\treturn [ argument < 0 ? argument + length : argument ];\n\t\t} ),\n\n\t\t\"even\": createPositionalPseudo( function( matchIndexes, length ) {\n\t\t\tvar i = 0;\n\t\t\tfor ( ; i < length; i += 2 ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t} ),\n\n\t\t\"odd\": createPositionalPseudo( function( matchIndexes, length ) {\n\t\t\tvar i = 1;\n\t\t\tfor ( ; i < length; i += 2 ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t} ),\n\n\t\t\"lt\": createPositionalPseudo( function( matchIndexes, length, argument ) {\n\t\t\tvar i = argument < 0 ?\n\t\t\t\targument + length :\n\t\t\t\targument > length ?\n\t\t\t\t\tlength :\n\t\t\t\t\targument;\n\t\t\tfor ( ; --i >= 0; ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t} ),\n\n\t\t\"gt\": createPositionalPseudo( function( matchIndexes, length, argument ) {\n\t\t\tvar i = argument < 0 ? argument + length : argument;\n\t\t\tfor ( ; ++i < length; ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t} )\n\t}\n};\n\nExpr.pseudos[ \"nth\" ] = Expr.pseudos[ \"eq\" ];\n\n// Add button/input type pseudos\nfor ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {\n\tExpr.pseudos[ i ] = createInputPseudo( i );\n}\nfor ( i in { submit: true, reset: true } ) {\n\tExpr.pseudos[ i ] = createButtonPseudo( i );\n}\n\n// Easy API for creating new setFilters\nfunction setFilters() {}\nsetFilters.prototype = Expr.filters = Expr.pseudos;\nExpr.setFilters = new setFilters();\n\ntokenize = Sizzle.tokenize = function( selector, parseOnly ) {\n\tvar matched, match, tokens, type,\n\t\tsoFar, groups, preFilters,\n\t\tcached = tokenCache[ selector + \" \" ];\n\n\tif ( cached ) {\n\t\treturn parseOnly ? 0 : cached.slice( 0 );\n\t}\n\n\tsoFar = selector;\n\tgroups = [];\n\tpreFilters = Expr.preFilter;\n\n\twhile ( soFar ) {\n\n\t\t// Comma and first run\n\t\tif ( !matched || ( match = rcomma.exec( soFar ) ) ) {\n\t\t\tif ( match ) {\n\n\t\t\t\t// Don't consume trailing commas as valid\n\t\t\t\tsoFar = soFar.slice( match[ 0 ].length ) || soFar;\n\t\t\t}\n\t\t\tgroups.push( ( tokens = [] ) );\n\t\t}\n\n\t\tmatched = false;\n\n\t\t// Combinators\n\t\tif ( ( match = rcombinators.exec( soFar ) ) ) {\n\t\t\tmatched = match.shift();\n\t\t\ttokens.push( {\n\t\t\t\tvalue: matched,\n\n\t\t\t\t// Cast descendant combinators to space\n\t\t\t\ttype: match[ 0 ].replace( rtrim, \" \" )\n\t\t\t} );\n\t\t\tsoFar = soFar.slice( matched.length );\n\t\t}\n\n\t\t// Filters\n\t\tfor ( type in Expr.filter ) {\n\t\t\tif ( ( match = matchExpr[ type ].exec( soFar ) ) && ( !preFilters[ type ] ||\n\t\t\t\t( match = preFilters[ type ]( match ) ) ) ) {\n\t\t\t\tmatched = match.shift();\n\t\t\t\ttokens.push( {\n\t\t\t\t\tvalue: matched,\n\t\t\t\t\ttype: type,\n\t\t\t\t\tmatches: match\n\t\t\t\t} );\n\t\t\t\tsoFar = soFar.slice( matched.length );\n\t\t\t}\n\t\t}\n\n\t\tif ( !matched ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\t// Return the length of the invalid excess\n\t// if we're just parsing\n\t// Otherwise, throw an error or return tokens\n\treturn parseOnly ?\n\t\tsoFar.length :\n\t\tsoFar ?\n\t\t\tSizzle.error( selector ) :\n\n\t\t\t// Cache the tokens\n\t\t\ttokenCache( selector, groups ).slice( 0 );\n};\n\nfunction toSelector( tokens ) {\n\tvar i = 0,\n\t\tlen = tokens.length,\n\t\tselector = \"\";\n\tfor ( ; i < len; i++ ) {\n\t\tselector += tokens[ i ].value;\n\t}\n\treturn selector;\n}\n\nfunction addCombinator( matcher, combinator, base ) {\n\tvar dir = combinator.dir,\n\t\tskip = combinator.next,\n\t\tkey = skip || dir,\n\t\tcheckNonElements = base && key === \"parentNode\",\n\t\tdoneName = done++;\n\n\treturn combinator.first ?\n\n\t\t// Check against closest ancestor/preceding element\n\t\tfunction( elem, context, xml ) {\n\t\t\twhile ( ( elem = elem[ dir ] ) ) {\n\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\treturn matcher( elem, context, xml );\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t} :\n\n\t\t// Check against all ancestor/preceding elements\n\t\tfunction( elem, context, xml ) {\n\t\t\tvar oldCache, uniqueCache, outerCache,\n\t\t\t\tnewCache = [ dirruns, doneName ];\n\n\t\t\t// We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching\n\t\t\tif ( xml ) {\n\t\t\t\twhile ( ( elem = elem[ dir ] ) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\t\tif ( matcher( elem, context, xml ) ) {\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\twhile ( ( elem = elem[ dir ] ) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\t\touterCache = elem[ expando ] || ( elem[ expando ] = {} );\n\n\t\t\t\t\t\t// Support: IE <9 only\n\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\tuniqueCache = outerCache[ elem.uniqueID ] ||\n\t\t\t\t\t\t\t( outerCache[ elem.uniqueID ] = {} );\n\n\t\t\t\t\t\tif ( skip && skip === elem.nodeName.toLowerCase() ) {\n\t\t\t\t\t\t\telem = elem[ dir ] || elem;\n\t\t\t\t\t\t} else if ( ( oldCache = uniqueCache[ key ] ) &&\n\t\t\t\t\t\t\toldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {\n\n\t\t\t\t\t\t\t// Assign to newCache so results back-propagate to previous elements\n\t\t\t\t\t\t\treturn ( newCache[ 2 ] = oldCache[ 2 ] );\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t// Reuse newcache so results back-propagate to previous elements\n\t\t\t\t\t\t\tuniqueCache[ key ] = newCache;\n\n\t\t\t\t\t\t\t// A match means we're done; a fail means we have to keep checking\n\t\t\t\t\t\t\tif ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) {\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n}\n\nfunction elementMatcher( matchers ) {\n\treturn matchers.length > 1 ?\n\t\tfunction( elem, context, xml ) {\n\t\t\tvar i = matchers.length;\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( !matchers[ i ]( elem, context, xml ) ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t} :\n\t\tmatchers[ 0 ];\n}\n\nfunction multipleContexts( selector, contexts, results ) {\n\tvar i = 0,\n\t\tlen = contexts.length;\n\tfor ( ; i < len; i++ ) {\n\t\tSizzle( selector, contexts[ i ], results );\n\t}\n\treturn results;\n}\n\nfunction condense( unmatched, map, filter, context, xml ) {\n\tvar elem,\n\t\tnewUnmatched = [],\n\t\ti = 0,\n\t\tlen = unmatched.length,\n\t\tmapped = map != null;\n\n\tfor ( ; i < len; i++ ) {\n\t\tif ( ( elem = unmatched[ i ] ) ) {\n\t\t\tif ( !filter || filter( elem, context, xml ) ) {\n\t\t\t\tnewUnmatched.push( elem );\n\t\t\t\tif ( mapped ) {\n\t\t\t\t\tmap.push( i );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn newUnmatched;\n}\n\nfunction setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {\n\tif ( postFilter && !postFilter[ expando ] ) {\n\t\tpostFilter = setMatcher( postFilter );\n\t}\n\tif ( postFinder && !postFinder[ expando ] ) {\n\t\tpostFinder = setMatcher( postFinder, postSelector );\n\t}\n\treturn markFunction( function( seed, results, context, xml ) {\n\t\tvar temp, i, elem,\n\t\t\tpreMap = [],\n\t\t\tpostMap = [],\n\t\t\tpreexisting = results.length,\n\n\t\t\t// Get initial elements from seed or context\n\t\t\telems = seed || multipleContexts(\n\t\t\t\tselector || \"*\",\n\t\t\t\tcontext.nodeType ? [ context ] : context,\n\t\t\t\t[]\n\t\t\t),\n\n\t\t\t// Prefilter to get matcher input, preserving a map for seed-results synchronization\n\t\t\tmatcherIn = preFilter && ( seed || !selector ) ?\n\t\t\t\tcondense( elems, preMap, preFilter, context, xml ) :\n\t\t\t\telems,\n\n\t\t\tmatcherOut = matcher ?\n\n\t\t\t\t// If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,\n\t\t\t\tpostFinder || ( seed ? preFilter : preexisting || postFilter ) ?\n\n\t\t\t\t\t// ...intermediate processing is necessary\n\t\t\t\t\t[] :\n\n\t\t\t\t\t// ...otherwise use results directly\n\t\t\t\t\tresults :\n\t\t\t\tmatcherIn;\n\n\t\t// Find primary matches\n\t\tif ( matcher ) {\n\t\t\tmatcher( matcherIn, matcherOut, context, xml );\n\t\t}\n\n\t\t// Apply postFilter\n\t\tif ( postFilter ) {\n\t\t\ttemp = condense( matcherOut, postMap );\n\t\t\tpostFilter( temp, [], context, xml );\n\n\t\t\t// Un-match failing elements by moving them back to matcherIn\n\t\t\ti = temp.length;\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( ( elem = temp[ i ] ) ) {\n\t\t\t\t\tmatcherOut[ postMap[ i ] ] = !( matcherIn[ postMap[ i ] ] = elem );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( seed ) {\n\t\t\tif ( postFinder || preFilter ) {\n\t\t\t\tif ( postFinder ) {\n\n\t\t\t\t\t// Get the final matcherOut by condensing this intermediate into postFinder contexts\n\t\t\t\t\ttemp = [];\n\t\t\t\t\ti = matcherOut.length;\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tif ( ( elem = matcherOut[ i ] ) ) {\n\n\t\t\t\t\t\t\t// Restore matcherIn since elem is not yet a final match\n\t\t\t\t\t\t\ttemp.push( ( matcherIn[ i ] = elem ) );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tpostFinder( null, ( matcherOut = [] ), temp, xml );\n\t\t\t\t}\n\n\t\t\t\t// Move matched elements from seed to results to keep them synchronized\n\t\t\t\ti = matcherOut.length;\n\t\t\t\twhile ( i-- ) {\n\t\t\t\t\tif ( ( elem = matcherOut[ i ] ) &&\n\t\t\t\t\t\t( temp = postFinder ? indexOf( seed, elem ) : preMap[ i ] ) > -1 ) {\n\n\t\t\t\t\t\tseed[ temp ] = !( results[ temp ] = elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Add elements to results, through postFinder if defined\n\t\t} else {\n\t\t\tmatcherOut = condense(\n\t\t\t\tmatcherOut === results ?\n\t\t\t\t\tmatcherOut.splice( preexisting, matcherOut.length ) :\n\t\t\t\t\tmatcherOut\n\t\t\t);\n\t\t\tif ( postFinder ) {\n\t\t\t\tpostFinder( null, results, matcherOut, xml );\n\t\t\t} else {\n\t\t\t\tpush.apply( results, matcherOut );\n\t\t\t}\n\t\t}\n\t} );\n}\n\nfunction matcherFromTokens( tokens ) {\n\tvar checkContext, matcher, j,\n\t\tlen = tokens.length,\n\t\tleadingRelative = Expr.relative[ tokens[ 0 ].type ],\n\t\timplicitRelative = leadingRelative || Expr.relative[ \" \" ],\n\t\ti = leadingRelative ? 1 : 0,\n\n\t\t// The foundational matcher ensures that elements are reachable from top-level context(s)\n\t\tmatchContext = addCombinator( function( elem ) {\n\t\t\treturn elem === checkContext;\n\t\t}, implicitRelative, true ),\n\t\tmatchAnyContext = addCombinator( function( elem ) {\n\t\t\treturn indexOf( checkContext, elem ) > -1;\n\t\t}, implicitRelative, true ),\n\t\tmatchers = [ function( elem, context, xml ) {\n\t\t\tvar ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || (\n\t\t\t\t( checkContext = context ).nodeType ?\n\t\t\t\t\tmatchContext( elem, context, xml ) :\n\t\t\t\t\tmatchAnyContext( elem, context, xml ) );\n\n\t\t\t// Avoid hanging onto element (issue #299)\n\t\t\tcheckContext = null;\n\t\t\treturn ret;\n\t\t} ];\n\n\tfor ( ; i < len; i++ ) {\n\t\tif ( ( matcher = Expr.relative[ tokens[ i ].type ] ) ) {\n\t\t\tmatchers = [ addCombinator( elementMatcher( matchers ), matcher ) ];\n\t\t} else {\n\t\t\tmatcher = Expr.filter[ tokens[ i ].type ].apply( null, tokens[ i ].matches );\n\n\t\t\t// Return special upon seeing a positional matcher\n\t\t\tif ( matcher[ expando ] ) {\n\n\t\t\t\t// Find the next relative operator (if any) for proper handling\n\t\t\t\tj = ++i;\n\t\t\t\tfor ( ; j < len; j++ ) {\n\t\t\t\t\tif ( Expr.relative[ tokens[ j ].type ] ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn setMatcher(\n\t\t\t\t\ti > 1 && elementMatcher( matchers ),\n\t\t\t\t\ti > 1 && toSelector(\n\n\t\t\t\t\t// If the preceding token was a descendant combinator, insert an implicit any-element `*`\n\t\t\t\t\ttokens\n\t\t\t\t\t\t.slice( 0, i - 1 )\n\t\t\t\t\t\t.concat( { value: tokens[ i - 2 ].type === \" \" ? \"*\" : \"\" } )\n\t\t\t\t\t).replace( rtrim, \"$1\" ),\n\t\t\t\t\tmatcher,\n\t\t\t\t\ti < j && matcherFromTokens( tokens.slice( i, j ) ),\n\t\t\t\t\tj < len && matcherFromTokens( ( tokens = tokens.slice( j ) ) ),\n\t\t\t\t\tj < len && toSelector( tokens )\n\t\t\t\t);\n\t\t\t}\n\t\t\tmatchers.push( matcher );\n\t\t}\n\t}\n\n\treturn elementMatcher( matchers );\n}\n\nfunction matcherFromGroupMatchers( elementMatchers, setMatchers ) {\n\tvar bySet = setMatchers.length > 0,\n\t\tbyElement = elementMatchers.length > 0,\n\t\tsuperMatcher = function( seed, context, xml, results, outermost ) {\n\t\t\tvar elem, j, matcher,\n\t\t\t\tmatchedCount = 0,\n\t\t\t\ti = \"0\",\n\t\t\t\tunmatched = seed && [],\n\t\t\t\tsetMatched = [],\n\t\t\t\tcontextBackup = outermostContext,\n\n\t\t\t\t// We must always have either seed elements or outermost context\n\t\t\t\telems = seed || byElement && Expr.find[ \"TAG\" ]( \"*\", outermost ),\n\n\t\t\t\t// Use integer dirruns iff this is the outermost matcher\n\t\t\t\tdirrunsUnique = ( dirruns += contextBackup == null ? 1 : Math.random() || 0.1 ),\n\t\t\t\tlen = elems.length;\n\n\t\t\tif ( outermost ) {\n\n\t\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t\t// two documents; shallow comparisons work.\n\t\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\t\toutermostContext = context == document || context || outermost;\n\t\t\t}\n\n\t\t\t// Add elements passing elementMatchers directly to results\n\t\t\t// Support: IE<9, Safari\n\t\t\t// Tolerate NodeList properties (IE: \"length\"; Safari: ) matching elements by id\n\t\t\tfor ( ; i !== len && ( elem = elems[ i ] ) != null; i++ ) {\n\t\t\t\tif ( byElement && elem ) {\n\t\t\t\t\tj = 0;\n\n\t\t\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t\t\t// two documents; shallow comparisons work.\n\t\t\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\t\t\tif ( !context && elem.ownerDocument != document ) {\n\t\t\t\t\t\tsetDocument( elem );\n\t\t\t\t\t\txml = !documentIsHTML;\n\t\t\t\t\t}\n\t\t\t\t\twhile ( ( matcher = elementMatchers[ j++ ] ) ) {\n\t\t\t\t\t\tif ( matcher( elem, context || document, xml ) ) {\n\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif ( outermost ) {\n\t\t\t\t\t\tdirruns = dirrunsUnique;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Track unmatched elements for set filters\n\t\t\t\tif ( bySet ) {\n\n\t\t\t\t\t// They will have gone through all possible matchers\n\t\t\t\t\tif ( ( elem = !matcher && elem ) ) {\n\t\t\t\t\t\tmatchedCount--;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Lengthen the array for every element, matched or not\n\t\t\t\t\tif ( seed ) {\n\t\t\t\t\t\tunmatched.push( elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// `i` is now the count of elements visited above, and adding it to `matchedCount`\n\t\t\t// makes the latter nonnegative.\n\t\t\tmatchedCount += i;\n\n\t\t\t// Apply set filters to unmatched elements\n\t\t\t// NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount`\n\t\t\t// equals `i`), unless we didn't visit _any_ elements in the above loop because we have\n\t\t\t// no element matchers and no seed.\n\t\t\t// Incrementing an initially-string \"0\" `i` allows `i` to remain a string only in that\n\t\t\t// case, which will result in a \"00\" `matchedCount` that differs from `i` but is also\n\t\t\t// numerically zero.\n\t\t\tif ( bySet && i !== matchedCount ) {\n\t\t\t\tj = 0;\n\t\t\t\twhile ( ( matcher = setMatchers[ j++ ] ) ) {\n\t\t\t\t\tmatcher( unmatched, setMatched, context, xml );\n\t\t\t\t}\n\n\t\t\t\tif ( seed ) {\n\n\t\t\t\t\t// Reintegrate element matches to eliminate the need for sorting\n\t\t\t\t\tif ( matchedCount > 0 ) {\n\t\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\t\tif ( !( unmatched[ i ] || setMatched[ i ] ) ) {\n\t\t\t\t\t\t\t\tsetMatched[ i ] = pop.call( results );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Discard index placeholder values to get only actual matches\n\t\t\t\t\tsetMatched = condense( setMatched );\n\t\t\t\t}\n\n\t\t\t\t// Add matches to results\n\t\t\t\tpush.apply( results, setMatched );\n\n\t\t\t\t// Seedless set matches succeeding multiple successful matchers stipulate sorting\n\t\t\t\tif ( outermost && !seed && setMatched.length > 0 &&\n\t\t\t\t\t( matchedCount + setMatchers.length ) > 1 ) {\n\n\t\t\t\t\tSizzle.uniqueSort( results );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Override manipulation of globals by nested matchers\n\t\t\tif ( outermost ) {\n\t\t\t\tdirruns = dirrunsUnique;\n\t\t\t\toutermostContext = contextBackup;\n\t\t\t}\n\n\t\t\treturn unmatched;\n\t\t};\n\n\treturn bySet ?\n\t\tmarkFunction( superMatcher ) :\n\t\tsuperMatcher;\n}\n\ncompile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {\n\tvar i,\n\t\tsetMatchers = [],\n\t\telementMatchers = [],\n\t\tcached = compilerCache[ selector + \" \" ];\n\n\tif ( !cached ) {\n\n\t\t// Generate a function of recursive functions that can be used to check each element\n\t\tif ( !match ) {\n\t\t\tmatch = tokenize( selector );\n\t\t}\n\t\ti = match.length;\n\t\twhile ( i-- ) {\n\t\t\tcached = matcherFromTokens( match[ i ] );\n\t\t\tif ( cached[ expando ] ) {\n\t\t\t\tsetMatchers.push( cached );\n\t\t\t} else {\n\t\t\t\telementMatchers.push( cached );\n\t\t\t}\n\t\t}\n\n\t\t// Cache the compiled function\n\t\tcached = compilerCache(\n\t\t\tselector,\n\t\t\tmatcherFromGroupMatchers( elementMatchers, setMatchers )\n\t\t);\n\n\t\t// Save selector and tokenization\n\t\tcached.selector = selector;\n\t}\n\treturn cached;\n};\n\n/**\n * A low-level selection function that works with Sizzle's compiled\n * selector functions\n * @param {String|Function} selector A selector or a pre-compiled\n * selector function built with Sizzle.compile\n * @param {Element} context\n * @param {Array} [results]\n * @param {Array} [seed] A set of elements to match against\n */\nselect = Sizzle.select = function( selector, context, results, seed ) {\n\tvar i, tokens, token, type, find,\n\t\tcompiled = typeof selector === \"function\" && selector,\n\t\tmatch = !seed && tokenize( ( selector = compiled.selector || selector ) );\n\n\tresults = results || [];\n\n\t// Try to minimize operations if there is only one selector in the list and no seed\n\t// (the latter of which guarantees us context)\n\tif ( match.length === 1 ) {\n\n\t\t// Reduce context if the leading compound selector is an ID\n\t\ttokens = match[ 0 ] = match[ 0 ].slice( 0 );\n\t\tif ( tokens.length > 2 && ( token = tokens[ 0 ] ).type === \"ID\" &&\n\t\t\tcontext.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) {\n\n\t\t\tcontext = ( Expr.find[ \"ID\" ]( token.matches[ 0 ]\n\t\t\t\t.replace( runescape, funescape ), context ) || [] )[ 0 ];\n\t\t\tif ( !context ) {\n\t\t\t\treturn results;\n\n\t\t\t// Precompiled matchers will still verify ancestry, so step up a level\n\t\t\t} else if ( compiled ) {\n\t\t\t\tcontext = context.parentNode;\n\t\t\t}\n\n\t\t\tselector = selector.slice( tokens.shift().value.length );\n\t\t}\n\n\t\t// Fetch a seed set for right-to-left matching\n\t\ti = matchExpr[ \"needsContext\" ].test( selector ) ? 0 : tokens.length;\n\t\twhile ( i-- ) {\n\t\t\ttoken = tokens[ i ];\n\n\t\t\t// Abort if we hit a combinator\n\t\t\tif ( Expr.relative[ ( type = token.type ) ] ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif ( ( find = Expr.find[ type ] ) ) {\n\n\t\t\t\t// Search, expanding context for leading sibling combinators\n\t\t\t\tif ( ( seed = find(\n\t\t\t\t\ttoken.matches[ 0 ].replace( runescape, funescape ),\n\t\t\t\t\trsibling.test( tokens[ 0 ].type ) && testContext( context.parentNode ) ||\n\t\t\t\t\t\tcontext\n\t\t\t\t) ) ) {\n\n\t\t\t\t\t// If seed is empty or no tokens remain, we can return early\n\t\t\t\t\ttokens.splice( i, 1 );\n\t\t\t\t\tselector = seed.length && toSelector( tokens );\n\t\t\t\t\tif ( !selector ) {\n\t\t\t\t\t\tpush.apply( results, seed );\n\t\t\t\t\t\treturn results;\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Compile and execute a filtering function if one is not provided\n\t// Provide `match` to avoid retokenization if we modified the selector above\n\t( compiled || compile( selector, match ) )(\n\t\tseed,\n\t\tcontext,\n\t\t!documentIsHTML,\n\t\tresults,\n\t\t!context || rsibling.test( selector ) && testContext( context.parentNode ) || context\n\t);\n\treturn results;\n};\n\n// One-time assignments\n\n// Sort stability\nsupport.sortStable = expando.split( \"\" ).sort( sortOrder ).join( \"\" ) === expando;\n\n// Support: Chrome 14-35+\n// Always assume duplicates if they aren't passed to the comparison function\nsupport.detectDuplicates = !!hasDuplicate;\n\n// Initialize against the default document\nsetDocument();\n\n// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)\n// Detached nodes confoundingly follow *each other*\nsupport.sortDetached = assert( function( el ) {\n\n\t// Should return 1, but returns 4 (following)\n\treturn el.compareDocumentPosition( document.createElement( \"fieldset\" ) ) & 1;\n} );\n\n// Support: IE<8\n// Prevent attribute/property \"interpolation\"\n// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx\nif ( !assert( function( el ) {\n\tel.innerHTML = \"\";\n\treturn el.firstChild.getAttribute( \"href\" ) === \"#\";\n} ) ) {\n\taddHandle( \"type|href|height|width\", function( elem, name, isXML ) {\n\t\tif ( !isXML ) {\n\t\t\treturn elem.getAttribute( name, name.toLowerCase() === \"type\" ? 1 : 2 );\n\t\t}\n\t} );\n}\n\n// Support: IE<9\n// Use defaultValue in place of getAttribute(\"value\")\nif ( !support.attributes || !assert( function( el ) {\n\tel.innerHTML = \"\";\n\tel.firstChild.setAttribute( \"value\", \"\" );\n\treturn el.firstChild.getAttribute( \"value\" ) === \"\";\n} ) ) {\n\taddHandle( \"value\", function( elem, _name, isXML ) {\n\t\tif ( !isXML && elem.nodeName.toLowerCase() === \"input\" ) {\n\t\t\treturn elem.defaultValue;\n\t\t}\n\t} );\n}\n\n// Support: IE<9\n// Use getAttributeNode to fetch booleans when getAttribute lies\nif ( !assert( function( el ) {\n\treturn el.getAttribute( \"disabled\" ) == null;\n} ) ) {\n\taddHandle( booleans, function( elem, name, isXML ) {\n\t\tvar val;\n\t\tif ( !isXML ) {\n\t\t\treturn elem[ name ] === true ? name.toLowerCase() :\n\t\t\t\t( val = elem.getAttributeNode( name ) ) && val.specified ?\n\t\t\t\t\tval.value :\n\t\t\t\t\tnull;\n\t\t}\n\t} );\n}\n\nreturn Sizzle;\n\n} )( window );\n\n\n\njQuery.find = Sizzle;\njQuery.expr = Sizzle.selectors;\n\n// Deprecated\njQuery.expr[ \":\" ] = jQuery.expr.pseudos;\njQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort;\njQuery.text = Sizzle.getText;\njQuery.isXMLDoc = Sizzle.isXML;\njQuery.contains = Sizzle.contains;\njQuery.escapeSelector = Sizzle.escape;\n\n\n\n\nvar dir = function( elem, dir, until ) {\n\tvar matched = [],\n\t\ttruncate = until !== undefined;\n\n\twhile ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) {\n\t\tif ( elem.nodeType === 1 ) {\n\t\t\tif ( truncate && jQuery( elem ).is( until ) ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tmatched.push( elem );\n\t\t}\n\t}\n\treturn matched;\n};\n\n\nvar siblings = function( n, elem ) {\n\tvar matched = [];\n\n\tfor ( ; n; n = n.nextSibling ) {\n\t\tif ( n.nodeType === 1 && n !== elem ) {\n\t\t\tmatched.push( n );\n\t\t}\n\t}\n\n\treturn matched;\n};\n\n\nvar rneedsContext = jQuery.expr.match.needsContext;\n\n\n\nfunction nodeName( elem, name ) {\n\n return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();\n\n};\nvar rsingleTag = ( /^<([a-z][^\\/\\0>:\\x20\\t\\r\\n\\f]*)[\\x20\\t\\r\\n\\f]*\\/?>(?:<\\/\\1>|)$/i );\n\n\n\n// Implement the identical functionality for filter and not\nfunction winnow( elements, qualifier, not ) {\n\tif ( isFunction( qualifier ) ) {\n\t\treturn jQuery.grep( elements, function( elem, i ) {\n\t\t\treturn !!qualifier.call( elem, i, elem ) !== not;\n\t\t} );\n\t}\n\n\t// Single element\n\tif ( qualifier.nodeType ) {\n\t\treturn jQuery.grep( elements, function( elem ) {\n\t\t\treturn ( elem === qualifier ) !== not;\n\t\t} );\n\t}\n\n\t// Arraylike of elements (jQuery, arguments, Array)\n\tif ( typeof qualifier !== \"string\" ) {\n\t\treturn jQuery.grep( elements, function( elem ) {\n\t\t\treturn ( indexOf.call( qualifier, elem ) > -1 ) !== not;\n\t\t} );\n\t}\n\n\t// Filtered directly for both simple and complex selectors\n\treturn jQuery.filter( qualifier, elements, not );\n}\n\njQuery.filter = function( expr, elems, not ) {\n\tvar elem = elems[ 0 ];\n\n\tif ( not ) {\n\t\texpr = \":not(\" + expr + \")\";\n\t}\n\n\tif ( elems.length === 1 && elem.nodeType === 1 ) {\n\t\treturn jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [];\n\t}\n\n\treturn jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) {\n\t\treturn elem.nodeType === 1;\n\t} ) );\n};\n\njQuery.fn.extend( {\n\tfind: function( selector ) {\n\t\tvar i, ret,\n\t\t\tlen = this.length,\n\t\t\tself = this;\n\n\t\tif ( typeof selector !== \"string\" ) {\n\t\t\treturn this.pushStack( jQuery( selector ).filter( function() {\n\t\t\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\t\t\tif ( jQuery.contains( self[ i ], this ) ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} ) );\n\t\t}\n\n\t\tret = this.pushStack( [] );\n\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\tjQuery.find( selector, self[ i ], ret );\n\t\t}\n\n\t\treturn len > 1 ? jQuery.uniqueSort( ret ) : ret;\n\t},\n\tfilter: function( selector ) {\n\t\treturn this.pushStack( winnow( this, selector || [], false ) );\n\t},\n\tnot: function( selector ) {\n\t\treturn this.pushStack( winnow( this, selector || [], true ) );\n\t},\n\tis: function( selector ) {\n\t\treturn !!winnow(\n\t\t\tthis,\n\n\t\t\t// If this is a positional/relative selector, check membership in the returned set\n\t\t\t// so $(\"p:first\").is(\"p:last\") won't return true for a doc with two \"p\".\n\t\t\ttypeof selector === \"string\" && rneedsContext.test( selector ) ?\n\t\t\t\tjQuery( selector ) :\n\t\t\t\tselector || [],\n\t\t\tfalse\n\t\t).length;\n\t}\n} );\n\n\n// Initialize a jQuery object\n\n\n// A central reference to the root jQuery(document)\nvar rootjQuery,\n\n\t// A simple way to check for HTML strings\n\t// Prioritize #id over to avoid XSS via location.hash (#9521)\n\t// Strict HTML recognition (#11290: must start with <)\n\t// Shortcut simple #id case for speed\n\trquickExpr = /^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]+))$/,\n\n\tinit = jQuery.fn.init = function( selector, context, root ) {\n\t\tvar match, elem;\n\n\t\t// HANDLE: $(\"\"), $(null), $(undefined), $(false)\n\t\tif ( !selector ) {\n\t\t\treturn this;\n\t\t}\n\n\t\t// Method init() accepts an alternate rootjQuery\n\t\t// so migrate can support jQuery.sub (gh-2101)\n\t\troot = root || rootjQuery;\n\n\t\t// Handle HTML strings\n\t\tif ( typeof selector === \"string\" ) {\n\t\t\tif ( selector[ 0 ] === \"<\" &&\n\t\t\t\tselector[ selector.length - 1 ] === \">\" &&\n\t\t\t\tselector.length >= 3 ) {\n\n\t\t\t\t// Assume that strings that start and end with <> are HTML and skip the regex check\n\t\t\t\tmatch = [ null, selector, null ];\n\n\t\t\t} else {\n\t\t\t\tmatch = rquickExpr.exec( selector );\n\t\t\t}\n\n\t\t\t// Match html or make sure no context is specified for #id\n\t\t\tif ( match && ( match[ 1 ] || !context ) ) {\n\n\t\t\t\t// HANDLE: $(html) -> $(array)\n\t\t\t\tif ( match[ 1 ] ) {\n\t\t\t\t\tcontext = context instanceof jQuery ? context[ 0 ] : context;\n\n\t\t\t\t\t// Option to run scripts is true for back-compat\n\t\t\t\t\t// Intentionally let the error be thrown if parseHTML is not present\n\t\t\t\t\tjQuery.merge( this, jQuery.parseHTML(\n\t\t\t\t\t\tmatch[ 1 ],\n\t\t\t\t\t\tcontext && context.nodeType ? context.ownerDocument || context : document,\n\t\t\t\t\t\ttrue\n\t\t\t\t\t) );\n\n\t\t\t\t\t// HANDLE: $(html, props)\n\t\t\t\t\tif ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) {\n\t\t\t\t\t\tfor ( match in context ) {\n\n\t\t\t\t\t\t\t// Properties of context are called as methods if possible\n\t\t\t\t\t\t\tif ( isFunction( this[ match ] ) ) {\n\t\t\t\t\t\t\t\tthis[ match ]( context[ match ] );\n\n\t\t\t\t\t\t\t// ...and otherwise set as attributes\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis.attr( match, context[ match ] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn this;\n\n\t\t\t\t// HANDLE: $(#id)\n\t\t\t\t} else {\n\t\t\t\t\telem = document.getElementById( match[ 2 ] );\n\n\t\t\t\t\tif ( elem ) {\n\n\t\t\t\t\t\t// Inject the element directly into the jQuery object\n\t\t\t\t\t\tthis[ 0 ] = elem;\n\t\t\t\t\t\tthis.length = 1;\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\n\t\t\t// HANDLE: $(expr, $(...))\n\t\t\t} else if ( !context || context.jquery ) {\n\t\t\t\treturn ( context || root ).find( selector );\n\n\t\t\t// HANDLE: $(expr, context)\n\t\t\t// (which is just equivalent to: $(context).find(expr)\n\t\t\t} else {\n\t\t\t\treturn this.constructor( context ).find( selector );\n\t\t\t}\n\n\t\t// HANDLE: $(DOMElement)\n\t\t} else if ( selector.nodeType ) {\n\t\t\tthis[ 0 ] = selector;\n\t\t\tthis.length = 1;\n\t\t\treturn this;\n\n\t\t// HANDLE: $(function)\n\t\t// Shortcut for document ready\n\t\t} else if ( isFunction( selector ) ) {\n\t\t\treturn root.ready !== undefined ?\n\t\t\t\troot.ready( selector ) :\n\n\t\t\t\t// Execute immediately if ready is not present\n\t\t\t\tselector( jQuery );\n\t\t}\n\n\t\treturn jQuery.makeArray( selector, this );\n\t};\n\n// Give the init function the jQuery prototype for later instantiation\ninit.prototype = jQuery.fn;\n\n// Initialize central reference\nrootjQuery = jQuery( document );\n\n\nvar rparentsprev = /^(?:parents|prev(?:Until|All))/,\n\n\t// Methods guaranteed to produce a unique set when starting from a unique set\n\tguaranteedUnique = {\n\t\tchildren: true,\n\t\tcontents: true,\n\t\tnext: true,\n\t\tprev: true\n\t};\n\njQuery.fn.extend( {\n\thas: function( target ) {\n\t\tvar targets = jQuery( target, this ),\n\t\t\tl = targets.length;\n\n\t\treturn this.filter( function() {\n\t\t\tvar i = 0;\n\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\tif ( jQuery.contains( this, targets[ i ] ) ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t},\n\n\tclosest: function( selectors, context ) {\n\t\tvar cur,\n\t\t\ti = 0,\n\t\t\tl = this.length,\n\t\t\tmatched = [],\n\t\t\ttargets = typeof selectors !== \"string\" && jQuery( selectors );\n\n\t\t// Positional selectors never match, since there's no _selection_ context\n\t\tif ( !rneedsContext.test( selectors ) ) {\n\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\tfor ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) {\n\n\t\t\t\t\t// Always skip document fragments\n\t\t\t\t\tif ( cur.nodeType < 11 && ( targets ?\n\t\t\t\t\t\ttargets.index( cur ) > -1 :\n\n\t\t\t\t\t\t// Don't pass non-elements to Sizzle\n\t\t\t\t\t\tcur.nodeType === 1 &&\n\t\t\t\t\t\t\tjQuery.find.matchesSelector( cur, selectors ) ) ) {\n\n\t\t\t\t\t\tmatched.push( cur );\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched );\n\t},\n\n\t// Determine the position of an element within the set\n\tindex: function( elem ) {\n\n\t\t// No argument, return index in parent\n\t\tif ( !elem ) {\n\t\t\treturn ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1;\n\t\t}\n\n\t\t// Index in selector\n\t\tif ( typeof elem === \"string\" ) {\n\t\t\treturn indexOf.call( jQuery( elem ), this[ 0 ] );\n\t\t}\n\n\t\t// Locate the position of the desired element\n\t\treturn indexOf.call( this,\n\n\t\t\t// If it receives a jQuery object, the first element is used\n\t\t\telem.jquery ? elem[ 0 ] : elem\n\t\t);\n\t},\n\n\tadd: function( selector, context ) {\n\t\treturn this.pushStack(\n\t\t\tjQuery.uniqueSort(\n\t\t\t\tjQuery.merge( this.get(), jQuery( selector, context ) )\n\t\t\t)\n\t\t);\n\t},\n\n\taddBack: function( selector ) {\n\t\treturn this.add( selector == null ?\n\t\t\tthis.prevObject : this.prevObject.filter( selector )\n\t\t);\n\t}\n} );\n\nfunction sibling( cur, dir ) {\n\twhile ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {}\n\treturn cur;\n}\n\njQuery.each( {\n\tparent: function( elem ) {\n\t\tvar parent = elem.parentNode;\n\t\treturn parent && parent.nodeType !== 11 ? parent : null;\n\t},\n\tparents: function( elem ) {\n\t\treturn dir( elem, \"parentNode\" );\n\t},\n\tparentsUntil: function( elem, _i, until ) {\n\t\treturn dir( elem, \"parentNode\", until );\n\t},\n\tnext: function( elem ) {\n\t\treturn sibling( elem, \"nextSibling\" );\n\t},\n\tprev: function( elem ) {\n\t\treturn sibling( elem, \"previousSibling\" );\n\t},\n\tnextAll: function( elem ) {\n\t\treturn dir( elem, \"nextSibling\" );\n\t},\n\tprevAll: function( elem ) {\n\t\treturn dir( elem, \"previousSibling\" );\n\t},\n\tnextUntil: function( elem, _i, until ) {\n\t\treturn dir( elem, \"nextSibling\", until );\n\t},\n\tprevUntil: function( elem, _i, until ) {\n\t\treturn dir( elem, \"previousSibling\", until );\n\t},\n\tsiblings: function( elem ) {\n\t\treturn siblings( ( elem.parentNode || {} ).firstChild, elem );\n\t},\n\tchildren: function( elem ) {\n\t\treturn siblings( elem.firstChild );\n\t},\n\tcontents: function( elem ) {\n\t\tif ( elem.contentDocument != null &&\n\n\t\t\t// Support: IE 11+\n\t\t\t// elements with no `data` attribute has an object\n\t\t\t// `contentDocument` with a `null` prototype.\n\t\t\tgetProto( elem.contentDocument ) ) {\n\n\t\t\treturn elem.contentDocument;\n\t\t}\n\n\t\t// Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only\n\t\t// Treat the template element as a regular one in browsers that\n\t\t// don't support it.\n\t\tif ( nodeName( elem, \"template\" ) ) {\n\t\t\telem = elem.content || elem;\n\t\t}\n\n\t\treturn jQuery.merge( [], elem.childNodes );\n\t}\n}, function( name, fn ) {\n\tjQuery.fn[ name ] = function( until, selector ) {\n\t\tvar matched = jQuery.map( this, fn, until );\n\n\t\tif ( name.slice( -5 ) !== \"Until\" ) {\n\t\t\tselector = until;\n\t\t}\n\n\t\tif ( selector && typeof selector === \"string\" ) {\n\t\t\tmatched = jQuery.filter( selector, matched );\n\t\t}\n\n\t\tif ( this.length > 1 ) {\n\n\t\t\t// Remove duplicates\n\t\t\tif ( !guaranteedUnique[ name ] ) {\n\t\t\t\tjQuery.uniqueSort( matched );\n\t\t\t}\n\n\t\t\t// Reverse order for parents* and prev-derivatives\n\t\t\tif ( rparentsprev.test( name ) ) {\n\t\t\t\tmatched.reverse();\n\t\t\t}\n\t\t}\n\n\t\treturn this.pushStack( matched );\n\t};\n} );\nvar rnothtmlwhite = ( /[^\\x20\\t\\r\\n\\f]+/g );\n\n\n\n// Convert String-formatted options into Object-formatted ones\nfunction createOptions( options ) {\n\tvar object = {};\n\tjQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) {\n\t\tobject[ flag ] = true;\n\t} );\n\treturn object;\n}\n\n/*\n * Create a callback list using the following parameters:\n *\n *\toptions: an optional list of space-separated options that will change how\n *\t\t\tthe callback list behaves or a more traditional option object\n *\n * By default a callback list will act like an event callback list and can be\n * \"fired\" multiple times.\n *\n * Possible options:\n *\n *\tonce:\t\t\twill ensure the callback list can only be fired once (like a Deferred)\n *\n *\tmemory:\t\t\twill keep track of previous values and will call any callback added\n *\t\t\t\t\tafter the list has been fired right away with the latest \"memorized\"\n *\t\t\t\t\tvalues (like a Deferred)\n *\n *\tunique:\t\t\twill ensure a callback can only be added once (no duplicate in the list)\n *\n *\tstopOnFalse:\tinterrupt callings when a callback returns false\n *\n */\njQuery.Callbacks = function( options ) {\n\n\t// Convert options from String-formatted to Object-formatted if needed\n\t// (we check in cache first)\n\toptions = typeof options === \"string\" ?\n\t\tcreateOptions( options ) :\n\t\tjQuery.extend( {}, options );\n\n\tvar // Flag to know if list is currently firing\n\t\tfiring,\n\n\t\t// Last fire value for non-forgettable lists\n\t\tmemory,\n\n\t\t// Flag to know if list was already fired\n\t\tfired,\n\n\t\t// Flag to prevent firing\n\t\tlocked,\n\n\t\t// Actual callback list\n\t\tlist = [],\n\n\t\t// Queue of execution data for repeatable lists\n\t\tqueue = [],\n\n\t\t// Index of currently firing callback (modified by add/remove as needed)\n\t\tfiringIndex = -1,\n\n\t\t// Fire callbacks\n\t\tfire = function() {\n\n\t\t\t// Enforce single-firing\n\t\t\tlocked = locked || options.once;\n\n\t\t\t// Execute callbacks for all pending executions,\n\t\t\t// respecting firingIndex overrides and runtime changes\n\t\t\tfired = firing = true;\n\t\t\tfor ( ; queue.length; firingIndex = -1 ) {\n\t\t\t\tmemory = queue.shift();\n\t\t\t\twhile ( ++firingIndex < list.length ) {\n\n\t\t\t\t\t// Run callback and check for early termination\n\t\t\t\t\tif ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false &&\n\t\t\t\t\t\toptions.stopOnFalse ) {\n\n\t\t\t\t\t\t// Jump to end and forget the data so .add doesn't re-fire\n\t\t\t\t\t\tfiringIndex = list.length;\n\t\t\t\t\t\tmemory = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Forget the data if we're done with it\n\t\t\tif ( !options.memory ) {\n\t\t\t\tmemory = false;\n\t\t\t}\n\n\t\t\tfiring = false;\n\n\t\t\t// Clean up if we're done firing for good\n\t\t\tif ( locked ) {\n\n\t\t\t\t// Keep an empty list if we have data for future add calls\n\t\t\t\tif ( memory ) {\n\t\t\t\t\tlist = [];\n\n\t\t\t\t// Otherwise, this object is spent\n\t\t\t\t} else {\n\t\t\t\t\tlist = \"\";\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t// Actual Callbacks object\n\t\tself = {\n\n\t\t\t// Add a callback or a collection of callbacks to the list\n\t\t\tadd: function() {\n\t\t\t\tif ( list ) {\n\n\t\t\t\t\t// If we have memory from a past run, we should fire after adding\n\t\t\t\t\tif ( memory && !firing ) {\n\t\t\t\t\t\tfiringIndex = list.length - 1;\n\t\t\t\t\t\tqueue.push( memory );\n\t\t\t\t\t}\n\n\t\t\t\t\t( function add( args ) {\n\t\t\t\t\t\tjQuery.each( args, function( _, arg ) {\n\t\t\t\t\t\t\tif ( isFunction( arg ) ) {\n\t\t\t\t\t\t\t\tif ( !options.unique || !self.has( arg ) ) {\n\t\t\t\t\t\t\t\t\tlist.push( arg );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else if ( arg && arg.length && toType( arg ) !== \"string\" ) {\n\n\t\t\t\t\t\t\t\t// Inspect recursively\n\t\t\t\t\t\t\t\tadd( arg );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} );\n\t\t\t\t\t} )( arguments );\n\n\t\t\t\t\tif ( memory && !firing ) {\n\t\t\t\t\t\tfire();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Remove a callback from the list\n\t\t\tremove: function() {\n\t\t\t\tjQuery.each( arguments, function( _, arg ) {\n\t\t\t\t\tvar index;\n\t\t\t\t\twhile ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {\n\t\t\t\t\t\tlist.splice( index, 1 );\n\n\t\t\t\t\t\t// Handle firing indexes\n\t\t\t\t\t\tif ( index <= firingIndex ) {\n\t\t\t\t\t\t\tfiringIndex--;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Check if a given callback is in the list.\n\t\t\t// If no argument is given, return whether or not list has callbacks attached.\n\t\t\thas: function( fn ) {\n\t\t\t\treturn fn ?\n\t\t\t\t\tjQuery.inArray( fn, list ) > -1 :\n\t\t\t\t\tlist.length > 0;\n\t\t\t},\n\n\t\t\t// Remove all callbacks from the list\n\t\t\tempty: function() {\n\t\t\t\tif ( list ) {\n\t\t\t\t\tlist = [];\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Disable .fire and .add\n\t\t\t// Abort any current/pending executions\n\t\t\t// Clear all callbacks and values\n\t\t\tdisable: function() {\n\t\t\t\tlocked = queue = [];\n\t\t\t\tlist = memory = \"\";\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\tdisabled: function() {\n\t\t\t\treturn !list;\n\t\t\t},\n\n\t\t\t// Disable .fire\n\t\t\t// Also disable .add unless we have memory (since it would have no effect)\n\t\t\t// Abort any pending executions\n\t\t\tlock: function() {\n\t\t\t\tlocked = queue = [];\n\t\t\t\tif ( !memory && !firing ) {\n\t\t\t\t\tlist = memory = \"\";\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\tlocked: function() {\n\t\t\t\treturn !!locked;\n\t\t\t},\n\n\t\t\t// Call all callbacks with the given context and arguments\n\t\t\tfireWith: function( context, args ) {\n\t\t\t\tif ( !locked ) {\n\t\t\t\t\targs = args || [];\n\t\t\t\t\targs = [ context, args.slice ? args.slice() : args ];\n\t\t\t\t\tqueue.push( args );\n\t\t\t\t\tif ( !firing ) {\n\t\t\t\t\t\tfire();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Call all the callbacks with the given arguments\n\t\t\tfire: function() {\n\t\t\t\tself.fireWith( this, arguments );\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// To know if the callbacks have already been called at least once\n\t\t\tfired: function() {\n\t\t\t\treturn !!fired;\n\t\t\t}\n\t\t};\n\n\treturn self;\n};\n\n\nfunction Identity( v ) {\n\treturn v;\n}\nfunction Thrower( ex ) {\n\tthrow ex;\n}\n\nfunction adoptValue( value, resolve, reject, noValue ) {\n\tvar method;\n\n\ttry {\n\n\t\t// Check for promise aspect first to privilege synchronous behavior\n\t\tif ( value && isFunction( ( method = value.promise ) ) ) {\n\t\t\tmethod.call( value ).done( resolve ).fail( reject );\n\n\t\t// Other thenables\n\t\t} else if ( value && isFunction( ( method = value.then ) ) ) {\n\t\t\tmethod.call( value, resolve, reject );\n\n\t\t// Other non-thenables\n\t\t} else {\n\n\t\t\t// Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer:\n\t\t\t// * false: [ value ].slice( 0 ) => resolve( value )\n\t\t\t// * true: [ value ].slice( 1 ) => resolve()\n\t\t\tresolve.apply( undefined, [ value ].slice( noValue ) );\n\t\t}\n\n\t// For Promises/A+, convert exceptions into rejections\n\t// Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in\n\t// Deferred#then to conditionally suppress rejection.\n\t} catch ( value ) {\n\n\t\t// Support: Android 4.0 only\n\t\t// Strict mode functions invoked without .call/.apply get global-object context\n\t\treject.apply( undefined, [ value ] );\n\t}\n}\n\njQuery.extend( {\n\n\tDeferred: function( func ) {\n\t\tvar tuples = [\n\n\t\t\t\t// action, add listener, callbacks,\n\t\t\t\t// ... .then handlers, argument index, [final state]\n\t\t\t\t[ \"notify\", \"progress\", jQuery.Callbacks( \"memory\" ),\n\t\t\t\t\tjQuery.Callbacks( \"memory\" ), 2 ],\n\t\t\t\t[ \"resolve\", \"done\", jQuery.Callbacks( \"once memory\" ),\n\t\t\t\t\tjQuery.Callbacks( \"once memory\" ), 0, \"resolved\" ],\n\t\t\t\t[ \"reject\", \"fail\", jQuery.Callbacks( \"once memory\" ),\n\t\t\t\t\tjQuery.Callbacks( \"once memory\" ), 1, \"rejected\" ]\n\t\t\t],\n\t\t\tstate = \"pending\",\n\t\t\tpromise = {\n\t\t\t\tstate: function() {\n\t\t\t\t\treturn state;\n\t\t\t\t},\n\t\t\t\talways: function() {\n\t\t\t\t\tdeferred.done( arguments ).fail( arguments );\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\t\t\t\t\"catch\": function( fn ) {\n\t\t\t\t\treturn promise.then( null, fn );\n\t\t\t\t},\n\n\t\t\t\t// Keep pipe for back-compat\n\t\t\t\tpipe: function( /* fnDone, fnFail, fnProgress */ ) {\n\t\t\t\t\tvar fns = arguments;\n\n\t\t\t\t\treturn jQuery.Deferred( function( newDefer ) {\n\t\t\t\t\t\tjQuery.each( tuples, function( _i, tuple ) {\n\n\t\t\t\t\t\t\t// Map tuples (progress, done, fail) to arguments (done, fail, progress)\n\t\t\t\t\t\t\tvar fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ];\n\n\t\t\t\t\t\t\t// deferred.progress(function() { bind to newDefer or newDefer.notify })\n\t\t\t\t\t\t\t// deferred.done(function() { bind to newDefer or newDefer.resolve })\n\t\t\t\t\t\t\t// deferred.fail(function() { bind to newDefer or newDefer.reject })\n\t\t\t\t\t\t\tdeferred[ tuple[ 1 ] ]( function() {\n\t\t\t\t\t\t\t\tvar returned = fn && fn.apply( this, arguments );\n\t\t\t\t\t\t\t\tif ( returned && isFunction( returned.promise ) ) {\n\t\t\t\t\t\t\t\t\treturned.promise()\n\t\t\t\t\t\t\t\t\t\t.progress( newDefer.notify )\n\t\t\t\t\t\t\t\t\t\t.done( newDefer.resolve )\n\t\t\t\t\t\t\t\t\t\t.fail( newDefer.reject );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tnewDefer[ tuple[ 0 ] + \"With\" ](\n\t\t\t\t\t\t\t\t\t\tthis,\n\t\t\t\t\t\t\t\t\t\tfn ? [ returned ] : arguments\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tfns = null;\n\t\t\t\t\t} ).promise();\n\t\t\t\t},\n\t\t\t\tthen: function( onFulfilled, onRejected, onProgress ) {\n\t\t\t\t\tvar maxDepth = 0;\n\t\t\t\t\tfunction resolve( depth, deferred, handler, special ) {\n\t\t\t\t\t\treturn function() {\n\t\t\t\t\t\t\tvar that = this,\n\t\t\t\t\t\t\t\targs = arguments,\n\t\t\t\t\t\t\t\tmightThrow = function() {\n\t\t\t\t\t\t\t\t\tvar returned, then;\n\n\t\t\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.3.3.3\n\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-59\n\t\t\t\t\t\t\t\t\t// Ignore double-resolution attempts\n\t\t\t\t\t\t\t\t\tif ( depth < maxDepth ) {\n\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\treturned = handler.apply( that, args );\n\n\t\t\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.1\n\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-48\n\t\t\t\t\t\t\t\t\tif ( returned === deferred.promise() ) {\n\t\t\t\t\t\t\t\t\t\tthrow new TypeError( \"Thenable self-resolution\" );\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t// Support: Promises/A+ sections 2.3.3.1, 3.5\n\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-54\n\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-75\n\t\t\t\t\t\t\t\t\t// Retrieve `then` only once\n\t\t\t\t\t\t\t\t\tthen = returned &&\n\n\t\t\t\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.4\n\t\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-64\n\t\t\t\t\t\t\t\t\t\t// Only check objects and functions for thenability\n\t\t\t\t\t\t\t\t\t\t( typeof returned === \"object\" ||\n\t\t\t\t\t\t\t\t\t\t\ttypeof returned === \"function\" ) &&\n\t\t\t\t\t\t\t\t\t\treturned.then;\n\n\t\t\t\t\t\t\t\t\t// Handle a returned thenable\n\t\t\t\t\t\t\t\t\tif ( isFunction( then ) ) {\n\n\t\t\t\t\t\t\t\t\t\t// Special processors (notify) just wait for resolution\n\t\t\t\t\t\t\t\t\t\tif ( special ) {\n\t\t\t\t\t\t\t\t\t\t\tthen.call(\n\t\t\t\t\t\t\t\t\t\t\t\treturned,\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Identity, special ),\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Thrower, special )\n\t\t\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\t\t// Normal processors (resolve) also hook into progress\n\t\t\t\t\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t\t\t\t\t// ...and disregard older resolution values\n\t\t\t\t\t\t\t\t\t\t\tmaxDepth++;\n\n\t\t\t\t\t\t\t\t\t\t\tthen.call(\n\t\t\t\t\t\t\t\t\t\t\t\treturned,\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Identity, special ),\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Thrower, special ),\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Identity,\n\t\t\t\t\t\t\t\t\t\t\t\t\tdeferred.notifyWith )\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t// Handle all other returned values\n\t\t\t\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t\t\t\t// Only substitute handlers pass on context\n\t\t\t\t\t\t\t\t\t\t// and multiple values (non-spec behavior)\n\t\t\t\t\t\t\t\t\t\tif ( handler !== Identity ) {\n\t\t\t\t\t\t\t\t\t\t\tthat = undefined;\n\t\t\t\t\t\t\t\t\t\t\targs = [ returned ];\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t// Process the value(s)\n\t\t\t\t\t\t\t\t\t\t// Default process is resolve\n\t\t\t\t\t\t\t\t\t\t( special || deferred.resolveWith )( that, args );\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\n\t\t\t\t\t\t\t\t// Only normal processors (resolve) catch and reject exceptions\n\t\t\t\t\t\t\t\tprocess = special ?\n\t\t\t\t\t\t\t\t\tmightThrow :\n\t\t\t\t\t\t\t\t\tfunction() {\n\t\t\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\t\t\tmightThrow();\n\t\t\t\t\t\t\t\t\t\t} catch ( e ) {\n\n\t\t\t\t\t\t\t\t\t\t\tif ( jQuery.Deferred.exceptionHook ) {\n\t\t\t\t\t\t\t\t\t\t\t\tjQuery.Deferred.exceptionHook( e,\n\t\t\t\t\t\t\t\t\t\t\t\t\tprocess.stackTrace );\n\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.3.3.4.1\n\t\t\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-61\n\t\t\t\t\t\t\t\t\t\t\t// Ignore post-resolution exceptions\n\t\t\t\t\t\t\t\t\t\t\tif ( depth + 1 >= maxDepth ) {\n\n\t\t\t\t\t\t\t\t\t\t\t\t// Only substitute handlers pass on context\n\t\t\t\t\t\t\t\t\t\t\t\t// and multiple values (non-spec behavior)\n\t\t\t\t\t\t\t\t\t\t\t\tif ( handler !== Thrower ) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tthat = undefined;\n\t\t\t\t\t\t\t\t\t\t\t\t\targs = [ e ];\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\t\tdeferred.rejectWith( that, args );\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.3.3.1\n\t\t\t\t\t\t\t// https://promisesaplus.com/#point-57\n\t\t\t\t\t\t\t// Re-resolve promises immediately to dodge false rejection from\n\t\t\t\t\t\t\t// subsequent errors\n\t\t\t\t\t\t\tif ( depth ) {\n\t\t\t\t\t\t\t\tprocess();\n\t\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t\t// Call an optional hook to record the stack, in case of exception\n\t\t\t\t\t\t\t\t// since it's otherwise lost when execution goes async\n\t\t\t\t\t\t\t\tif ( jQuery.Deferred.getStackHook ) {\n\t\t\t\t\t\t\t\t\tprocess.stackTrace = jQuery.Deferred.getStackHook();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\twindow.setTimeout( process );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\treturn jQuery.Deferred( function( newDefer ) {\n\n\t\t\t\t\t\t// progress_handlers.add( ... )\n\t\t\t\t\t\ttuples[ 0 ][ 3 ].add(\n\t\t\t\t\t\t\tresolve(\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\tnewDefer,\n\t\t\t\t\t\t\t\tisFunction( onProgress ) ?\n\t\t\t\t\t\t\t\t\tonProgress :\n\t\t\t\t\t\t\t\t\tIdentity,\n\t\t\t\t\t\t\t\tnewDefer.notifyWith\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// fulfilled_handlers.add( ... )\n\t\t\t\t\t\ttuples[ 1 ][ 3 ].add(\n\t\t\t\t\t\t\tresolve(\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\tnewDefer,\n\t\t\t\t\t\t\t\tisFunction( onFulfilled ) ?\n\t\t\t\t\t\t\t\t\tonFulfilled :\n\t\t\t\t\t\t\t\t\tIdentity\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// rejected_handlers.add( ... )\n\t\t\t\t\t\ttuples[ 2 ][ 3 ].add(\n\t\t\t\t\t\t\tresolve(\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\tnewDefer,\n\t\t\t\t\t\t\t\tisFunction( onRejected ) ?\n\t\t\t\t\t\t\t\t\tonRejected :\n\t\t\t\t\t\t\t\t\tThrower\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t\t} ).promise();\n\t\t\t\t},\n\n\t\t\t\t// Get a promise for this deferred\n\t\t\t\t// If obj is provided, the promise aspect is added to the object\n\t\t\t\tpromise: function( obj ) {\n\t\t\t\t\treturn obj != null ? jQuery.extend( obj, promise ) : promise;\n\t\t\t\t}\n\t\t\t},\n\t\t\tdeferred = {};\n\n\t\t// Add list-specific methods\n\t\tjQuery.each( tuples, function( i, tuple ) {\n\t\t\tvar list = tuple[ 2 ],\n\t\t\t\tstateString = tuple[ 5 ];\n\n\t\t\t// promise.progress = list.add\n\t\t\t// promise.done = list.add\n\t\t\t// promise.fail = list.add\n\t\t\tpromise[ tuple[ 1 ] ] = list.add;\n\n\t\t\t// Handle state\n\t\t\tif ( stateString ) {\n\t\t\t\tlist.add(\n\t\t\t\t\tfunction() {\n\n\t\t\t\t\t\t// state = \"resolved\" (i.e., fulfilled)\n\t\t\t\t\t\t// state = \"rejected\"\n\t\t\t\t\t\tstate = stateString;\n\t\t\t\t\t},\n\n\t\t\t\t\t// rejected_callbacks.disable\n\t\t\t\t\t// fulfilled_callbacks.disable\n\t\t\t\t\ttuples[ 3 - i ][ 2 ].disable,\n\n\t\t\t\t\t// rejected_handlers.disable\n\t\t\t\t\t// fulfilled_handlers.disable\n\t\t\t\t\ttuples[ 3 - i ][ 3 ].disable,\n\n\t\t\t\t\t// progress_callbacks.lock\n\t\t\t\t\ttuples[ 0 ][ 2 ].lock,\n\n\t\t\t\t\t// progress_handlers.lock\n\t\t\t\t\ttuples[ 0 ][ 3 ].lock\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// progress_handlers.fire\n\t\t\t// fulfilled_handlers.fire\n\t\t\t// rejected_handlers.fire\n\t\t\tlist.add( tuple[ 3 ].fire );\n\n\t\t\t// deferred.notify = function() { deferred.notifyWith(...) }\n\t\t\t// deferred.resolve = function() { deferred.resolveWith(...) }\n\t\t\t// deferred.reject = function() { deferred.rejectWith(...) }\n\t\t\tdeferred[ tuple[ 0 ] ] = function() {\n\t\t\t\tdeferred[ tuple[ 0 ] + \"With\" ]( this === deferred ? undefined : this, arguments );\n\t\t\t\treturn this;\n\t\t\t};\n\n\t\t\t// deferred.notifyWith = list.fireWith\n\t\t\t// deferred.resolveWith = list.fireWith\n\t\t\t// deferred.rejectWith = list.fireWith\n\t\t\tdeferred[ tuple[ 0 ] + \"With\" ] = list.fireWith;\n\t\t} );\n\n\t\t// Make the deferred a promise\n\t\tpromise.promise( deferred );\n\n\t\t// Call given func if any\n\t\tif ( func ) {\n\t\t\tfunc.call( deferred, deferred );\n\t\t}\n\n\t\t// All done!\n\t\treturn deferred;\n\t},\n\n\t// Deferred helper\n\twhen: function( singleValue ) {\n\t\tvar\n\n\t\t\t// count of uncompleted subordinates\n\t\t\tremaining = arguments.length,\n\n\t\t\t// count of unprocessed arguments\n\t\t\ti = remaining,\n\n\t\t\t// subordinate fulfillment data\n\t\t\tresolveContexts = Array( i ),\n\t\t\tresolveValues = slice.call( arguments ),\n\n\t\t\t// the master Deferred\n\t\t\tmaster = jQuery.Deferred(),\n\n\t\t\t// subordinate callback factory\n\t\t\tupdateFunc = function( i ) {\n\t\t\t\treturn function( value ) {\n\t\t\t\t\tresolveContexts[ i ] = this;\n\t\t\t\t\tresolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;\n\t\t\t\t\tif ( !( --remaining ) ) {\n\t\t\t\t\t\tmaster.resolveWith( resolveContexts, resolveValues );\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t};\n\n\t\t// Single- and empty arguments are adopted like Promise.resolve\n\t\tif ( remaining <= 1 ) {\n\t\t\tadoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject,\n\t\t\t\t!remaining );\n\n\t\t\t// Use .then() to unwrap secondary thenables (cf. gh-3000)\n\t\t\tif ( master.state() === \"pending\" ||\n\t\t\t\tisFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) {\n\n\t\t\t\treturn master.then();\n\t\t\t}\n\t\t}\n\n\t\t// Multiple arguments are aggregated like Promise.all array elements\n\t\twhile ( i-- ) {\n\t\t\tadoptValue( resolveValues[ i ], updateFunc( i ), master.reject );\n\t\t}\n\n\t\treturn master.promise();\n\t}\n} );\n\n\n// These usually indicate a programmer mistake during development,\n// warn about them ASAP rather than swallowing them by default.\nvar rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;\n\njQuery.Deferred.exceptionHook = function( error, stack ) {\n\n\t// Support: IE 8 - 9 only\n\t// Console exists when dev tools are open, which can happen at any time\n\tif ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) {\n\t\twindow.console.warn( \"jQuery.Deferred exception: \" + error.message, error.stack, stack );\n\t}\n};\n\n\n\n\njQuery.readyException = function( error ) {\n\twindow.setTimeout( function() {\n\t\tthrow error;\n\t} );\n};\n\n\n\n\n// The deferred used on DOM ready\nvar readyList = jQuery.Deferred();\n\njQuery.fn.ready = function( fn ) {\n\n\treadyList\n\t\t.then( fn )\n\n\t\t// Wrap jQuery.readyException in a function so that the lookup\n\t\t// happens at the time of error handling instead of callback\n\t\t// registration.\n\t\t.catch( function( error ) {\n\t\t\tjQuery.readyException( error );\n\t\t} );\n\n\treturn this;\n};\n\njQuery.extend( {\n\n\t// Is the DOM ready to be used? Set to true once it occurs.\n\tisReady: false,\n\n\t// A counter to track how many items to wait for before\n\t// the ready event fires. See #6781\n\treadyWait: 1,\n\n\t// Handle when the DOM is ready\n\tready: function( wait ) {\n\n\t\t// Abort if there are pending holds or we're already ready\n\t\tif ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Remember that the DOM is ready\n\t\tjQuery.isReady = true;\n\n\t\t// If a normal DOM Ready event fired, decrement, and wait if need be\n\t\tif ( wait !== true && --jQuery.readyWait > 0 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// If there are functions bound, to execute\n\t\treadyList.resolveWith( document, [ jQuery ] );\n\t}\n} );\n\njQuery.ready.then = readyList.then;\n\n// The ready event handler and self cleanup method\nfunction completed() {\n\tdocument.removeEventListener( \"DOMContentLoaded\", completed );\n\twindow.removeEventListener( \"load\", completed );\n\tjQuery.ready();\n}\n\n// Catch cases where $(document).ready() is called\n// after the browser event has already occurred.\n// Support: IE <=9 - 10 only\n// Older IE sometimes signals \"interactive\" too soon\nif ( document.readyState === \"complete\" ||\n\t( document.readyState !== \"loading\" && !document.documentElement.doScroll ) ) {\n\n\t// Handle it asynchronously to allow scripts the opportunity to delay ready\n\twindow.setTimeout( jQuery.ready );\n\n} else {\n\n\t// Use the handy event callback\n\tdocument.addEventListener( \"DOMContentLoaded\", completed );\n\n\t// A fallback to window.onload, that will always work\n\twindow.addEventListener( \"load\", completed );\n}\n\n\n\n\n// Multifunctional method to get and set values of a collection\n// The value/s can optionally be executed if it's a function\nvar access = function( elems, fn, key, value, chainable, emptyGet, raw ) {\n\tvar i = 0,\n\t\tlen = elems.length,\n\t\tbulk = key == null;\n\n\t// Sets many values\n\tif ( toType( key ) === \"object\" ) {\n\t\tchainable = true;\n\t\tfor ( i in key ) {\n\t\t\taccess( elems, fn, i, key[ i ], true, emptyGet, raw );\n\t\t}\n\n\t// Sets one value\n\t} else if ( value !== undefined ) {\n\t\tchainable = true;\n\n\t\tif ( !isFunction( value ) ) {\n\t\t\traw = true;\n\t\t}\n\n\t\tif ( bulk ) {\n\n\t\t\t// Bulk operations run against the entire set\n\t\t\tif ( raw ) {\n\t\t\t\tfn.call( elems, value );\n\t\t\t\tfn = null;\n\n\t\t\t// ...except when executing function values\n\t\t\t} else {\n\t\t\t\tbulk = fn;\n\t\t\t\tfn = function( elem, _key, value ) {\n\t\t\t\t\treturn bulk.call( jQuery( elem ), value );\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\tif ( fn ) {\n\t\t\tfor ( ; i < len; i++ ) {\n\t\t\t\tfn(\n\t\t\t\t\telems[ i ], key, raw ?\n\t\t\t\t\tvalue :\n\t\t\t\t\tvalue.call( elems[ i ], i, fn( elems[ i ], key ) )\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tif ( chainable ) {\n\t\treturn elems;\n\t}\n\n\t// Gets\n\tif ( bulk ) {\n\t\treturn fn.call( elems );\n\t}\n\n\treturn len ? fn( elems[ 0 ], key ) : emptyGet;\n};\n\n\n// Matches dashed string for camelizing\nvar rmsPrefix = /^-ms-/,\n\trdashAlpha = /-([a-z])/g;\n\n// Used by camelCase as callback to replace()\nfunction fcamelCase( _all, letter ) {\n\treturn letter.toUpperCase();\n}\n\n// Convert dashed to camelCase; used by the css and data modules\n// Support: IE <=9 - 11, Edge 12 - 15\n// Microsoft forgot to hump their vendor prefix (#9572)\nfunction camelCase( string ) {\n\treturn string.replace( rmsPrefix, \"ms-\" ).replace( rdashAlpha, fcamelCase );\n}\nvar acceptData = function( owner ) {\n\n\t// Accepts only:\n\t// - Node\n\t// - Node.ELEMENT_NODE\n\t// - Node.DOCUMENT_NODE\n\t// - Object\n\t// - Any\n\treturn owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType );\n};\n\n\n\n\nfunction Data() {\n\tthis.expando = jQuery.expando + Data.uid++;\n}\n\nData.uid = 1;\n\nData.prototype = {\n\n\tcache: function( owner ) {\n\n\t\t// Check if the owner object already has a cache\n\t\tvar value = owner[ this.expando ];\n\n\t\t// If not, create one\n\t\tif ( !value ) {\n\t\t\tvalue = Object.create( null );\n\n\t\t\t// We can accept data for non-element nodes in modern browsers,\n\t\t\t// but we should not, see #8335.\n\t\t\t// Always return an empty object.\n\t\t\tif ( acceptData( owner ) ) {\n\n\t\t\t\t// If it is a node unlikely to be stringify-ed or looped over\n\t\t\t\t// use plain assignment\n\t\t\t\tif ( owner.nodeType ) {\n\t\t\t\t\towner[ this.expando ] = value;\n\n\t\t\t\t// Otherwise secure it in a non-enumerable property\n\t\t\t\t// configurable must be true to allow the property to be\n\t\t\t\t// deleted when data is removed\n\t\t\t\t} else {\n\t\t\t\t\tObject.defineProperty( owner, this.expando, {\n\t\t\t\t\t\tvalue: value,\n\t\t\t\t\t\tconfigurable: true\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn value;\n\t},\n\tset: function( owner, data, value ) {\n\t\tvar prop,\n\t\t\tcache = this.cache( owner );\n\n\t\t// Handle: [ owner, key, value ] args\n\t\t// Always use camelCase key (gh-2257)\n\t\tif ( typeof data === \"string\" ) {\n\t\t\tcache[ camelCase( data ) ] = value;\n\n\t\t// Handle: [ owner, { properties } ] args\n\t\t} else {\n\n\t\t\t// Copy the properties one-by-one to the cache object\n\t\t\tfor ( prop in data ) {\n\t\t\t\tcache[ camelCase( prop ) ] = data[ prop ];\n\t\t\t}\n\t\t}\n\t\treturn cache;\n\t},\n\tget: function( owner, key ) {\n\t\treturn key === undefined ?\n\t\t\tthis.cache( owner ) :\n\n\t\t\t// Always use camelCase key (gh-2257)\n\t\t\towner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ];\n\t},\n\taccess: function( owner, key, value ) {\n\n\t\t// In cases where either:\n\t\t//\n\t\t// 1. No key was specified\n\t\t// 2. A string key was specified, but no value provided\n\t\t//\n\t\t// Take the \"read\" path and allow the get method to determine\n\t\t// which value to return, respectively either:\n\t\t//\n\t\t// 1. The entire cache object\n\t\t// 2. The data stored at the key\n\t\t//\n\t\tif ( key === undefined ||\n\t\t\t\t( ( key && typeof key === \"string\" ) && value === undefined ) ) {\n\n\t\t\treturn this.get( owner, key );\n\t\t}\n\n\t\t// When the key is not a string, or both a key and value\n\t\t// are specified, set or extend (existing objects) with either:\n\t\t//\n\t\t// 1. An object of properties\n\t\t// 2. A key and value\n\t\t//\n\t\tthis.set( owner, key, value );\n\n\t\t// Since the \"set\" path can have two possible entry points\n\t\t// return the expected data based on which path was taken[*]\n\t\treturn value !== undefined ? value : key;\n\t},\n\tremove: function( owner, key ) {\n\t\tvar i,\n\t\t\tcache = owner[ this.expando ];\n\n\t\tif ( cache === undefined ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( key !== undefined ) {\n\n\t\t\t// Support array or space separated string of keys\n\t\t\tif ( Array.isArray( key ) ) {\n\n\t\t\t\t// If key is an array of keys...\n\t\t\t\t// We always set camelCase keys, so remove that.\n\t\t\t\tkey = key.map( camelCase );\n\t\t\t} else {\n\t\t\t\tkey = camelCase( key );\n\n\t\t\t\t// If a key with the spaces exists, use it.\n\t\t\t\t// Otherwise, create an array by matching non-whitespace\n\t\t\t\tkey = key in cache ?\n\t\t\t\t\t[ key ] :\n\t\t\t\t\t( key.match( rnothtmlwhite ) || [] );\n\t\t\t}\n\n\t\t\ti = key.length;\n\n\t\t\twhile ( i-- ) {\n\t\t\t\tdelete cache[ key[ i ] ];\n\t\t\t}\n\t\t}\n\n\t\t// Remove the expando if there's no more data\n\t\tif ( key === undefined || jQuery.isEmptyObject( cache ) ) {\n\n\t\t\t// Support: Chrome <=35 - 45\n\t\t\t// Webkit & Blink performance suffers when deleting properties\n\t\t\t// from DOM nodes, so set to undefined instead\n\t\t\t// https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted)\n\t\t\tif ( owner.nodeType ) {\n\t\t\t\towner[ this.expando ] = undefined;\n\t\t\t} else {\n\t\t\t\tdelete owner[ this.expando ];\n\t\t\t}\n\t\t}\n\t},\n\thasData: function( owner ) {\n\t\tvar cache = owner[ this.expando ];\n\t\treturn cache !== undefined && !jQuery.isEmptyObject( cache );\n\t}\n};\nvar dataPriv = new Data();\n\nvar dataUser = new Data();\n\n\n\n//\tImplementation Summary\n//\n//\t1. Enforce API surface and semantic compatibility with 1.9.x branch\n//\t2. Improve the module's maintainability by reducing the storage\n//\t\tpaths to a single mechanism.\n//\t3. Use the same single mechanism to support \"private\" and \"user\" data.\n//\t4. _Never_ expose \"private\" data to user code (TODO: Drop _data, _removeData)\n//\t5. Avoid exposing implementation details on user objects (eg. expando properties)\n//\t6. Provide a clear path for implementation upgrade to WeakMap in 2014\n\nvar rbrace = /^(?:\\{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/,\n\trmultiDash = /[A-Z]/g;\n\nfunction getData( data ) {\n\tif ( data === \"true\" ) {\n\t\treturn true;\n\t}\n\n\tif ( data === \"false\" ) {\n\t\treturn false;\n\t}\n\n\tif ( data === \"null\" ) {\n\t\treturn null;\n\t}\n\n\t// Only convert to a number if it doesn't change the string\n\tif ( data === +data + \"\" ) {\n\t\treturn +data;\n\t}\n\n\tif ( rbrace.test( data ) ) {\n\t\treturn JSON.parse( data );\n\t}\n\n\treturn data;\n}\n\nfunction dataAttr( elem, key, data ) {\n\tvar name;\n\n\t// If nothing was found internally, try to fetch any\n\t// data from the HTML5 data-* attribute\n\tif ( data === undefined && elem.nodeType === 1 ) {\n\t\tname = \"data-\" + key.replace( rmultiDash, \"-$&\" ).toLowerCase();\n\t\tdata = elem.getAttribute( name );\n\n\t\tif ( typeof data === \"string\" ) {\n\t\t\ttry {\n\t\t\t\tdata = getData( data );\n\t\t\t} catch ( e ) {}\n\n\t\t\t// Make sure we set the data so it isn't changed later\n\t\t\tdataUser.set( elem, key, data );\n\t\t} else {\n\t\t\tdata = undefined;\n\t\t}\n\t}\n\treturn data;\n}\n\njQuery.extend( {\n\thasData: function( elem ) {\n\t\treturn dataUser.hasData( elem ) || dataPriv.hasData( elem );\n\t},\n\n\tdata: function( elem, name, data ) {\n\t\treturn dataUser.access( elem, name, data );\n\t},\n\n\tremoveData: function( elem, name ) {\n\t\tdataUser.remove( elem, name );\n\t},\n\n\t// TODO: Now that all calls to _data and _removeData have been replaced\n\t// with direct calls to dataPriv methods, these can be deprecated.\n\t_data: function( elem, name, data ) {\n\t\treturn dataPriv.access( elem, name, data );\n\t},\n\n\t_removeData: function( elem, name ) {\n\t\tdataPriv.remove( elem, name );\n\t}\n} );\n\njQuery.fn.extend( {\n\tdata: function( key, value ) {\n\t\tvar i, name, data,\n\t\t\telem = this[ 0 ],\n\t\t\tattrs = elem && elem.attributes;\n\n\t\t// Gets all values\n\t\tif ( key === undefined ) {\n\t\t\tif ( this.length ) {\n\t\t\t\tdata = dataUser.get( elem );\n\n\t\t\t\tif ( elem.nodeType === 1 && !dataPriv.get( elem, \"hasDataAttrs\" ) ) {\n\t\t\t\t\ti = attrs.length;\n\t\t\t\t\twhile ( i-- ) {\n\n\t\t\t\t\t\t// Support: IE 11 only\n\t\t\t\t\t\t// The attrs elements can be null (#14894)\n\t\t\t\t\t\tif ( attrs[ i ] ) {\n\t\t\t\t\t\t\tname = attrs[ i ].name;\n\t\t\t\t\t\t\tif ( name.indexOf( \"data-\" ) === 0 ) {\n\t\t\t\t\t\t\t\tname = camelCase( name.slice( 5 ) );\n\t\t\t\t\t\t\t\tdataAttr( elem, name, data[ name ] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tdataPriv.set( elem, \"hasDataAttrs\", true );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn data;\n\t\t}\n\n\t\t// Sets multiple values\n\t\tif ( typeof key === \"object\" ) {\n\t\t\treturn this.each( function() {\n\t\t\t\tdataUser.set( this, key );\n\t\t\t} );\n\t\t}\n\n\t\treturn access( this, function( value ) {\n\t\t\tvar data;\n\n\t\t\t// The calling jQuery object (element matches) is not empty\n\t\t\t// (and therefore has an element appears at this[ 0 ]) and the\n\t\t\t// `value` parameter was not undefined. An empty jQuery object\n\t\t\t// will result in `undefined` for elem = this[ 0 ] which will\n\t\t\t// throw an exception if an attempt to read a data cache is made.\n\t\t\tif ( elem && value === undefined ) {\n\n\t\t\t\t// Attempt to get data from the cache\n\t\t\t\t// The key will always be camelCased in Data\n\t\t\t\tdata = dataUser.get( elem, key );\n\t\t\t\tif ( data !== undefined ) {\n\t\t\t\t\treturn data;\n\t\t\t\t}\n\n\t\t\t\t// Attempt to \"discover\" the data in\n\t\t\t\t// HTML5 custom data-* attrs\n\t\t\t\tdata = dataAttr( elem, key );\n\t\t\t\tif ( data !== undefined ) {\n\t\t\t\t\treturn data;\n\t\t\t\t}\n\n\t\t\t\t// We tried really hard, but the data doesn't exist.\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Set the data...\n\t\t\tthis.each( function() {\n\n\t\t\t\t// We always store the camelCased key\n\t\t\t\tdataUser.set( this, key, value );\n\t\t\t} );\n\t\t}, null, value, arguments.length > 1, null, true );\n\t},\n\n\tremoveData: function( key ) {\n\t\treturn this.each( function() {\n\t\t\tdataUser.remove( this, key );\n\t\t} );\n\t}\n} );\n\n\njQuery.extend( {\n\tqueue: function( elem, type, data ) {\n\t\tvar queue;\n\n\t\tif ( elem ) {\n\t\t\ttype = ( type || \"fx\" ) + \"queue\";\n\t\t\tqueue = dataPriv.get( elem, type );\n\n\t\t\t// Speed up dequeue by getting out quickly if this is just a lookup\n\t\t\tif ( data ) {\n\t\t\t\tif ( !queue || Array.isArray( data ) ) {\n\t\t\t\t\tqueue = dataPriv.access( elem, type, jQuery.makeArray( data ) );\n\t\t\t\t} else {\n\t\t\t\t\tqueue.push( data );\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn queue || [];\n\t\t}\n\t},\n\n\tdequeue: function( elem, type ) {\n\t\ttype = type || \"fx\";\n\n\t\tvar queue = jQuery.queue( elem, type ),\n\t\t\tstartLength = queue.length,\n\t\t\tfn = queue.shift(),\n\t\t\thooks = jQuery._queueHooks( elem, type ),\n\t\t\tnext = function() {\n\t\t\t\tjQuery.dequeue( elem, type );\n\t\t\t};\n\n\t\t// If the fx queue is dequeued, always remove the progress sentinel\n\t\tif ( fn === \"inprogress\" ) {\n\t\t\tfn = queue.shift();\n\t\t\tstartLength--;\n\t\t}\n\n\t\tif ( fn ) {\n\n\t\t\t// Add a progress sentinel to prevent the fx queue from being\n\t\t\t// automatically dequeued\n\t\t\tif ( type === \"fx\" ) {\n\t\t\t\tqueue.unshift( \"inprogress\" );\n\t\t\t}\n\n\t\t\t// Clear up the last queue stop function\n\t\t\tdelete hooks.stop;\n\t\t\tfn.call( elem, next, hooks );\n\t\t}\n\n\t\tif ( !startLength && hooks ) {\n\t\t\thooks.empty.fire();\n\t\t}\n\t},\n\n\t// Not public - generate a queueHooks object, or return the current one\n\t_queueHooks: function( elem, type ) {\n\t\tvar key = type + \"queueHooks\";\n\t\treturn dataPriv.get( elem, key ) || dataPriv.access( elem, key, {\n\t\t\tempty: jQuery.Callbacks( \"once memory\" ).add( function() {\n\t\t\t\tdataPriv.remove( elem, [ type + \"queue\", key ] );\n\t\t\t} )\n\t\t} );\n\t}\n} );\n\njQuery.fn.extend( {\n\tqueue: function( type, data ) {\n\t\tvar setter = 2;\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tdata = type;\n\t\t\ttype = \"fx\";\n\t\t\tsetter--;\n\t\t}\n\n\t\tif ( arguments.length < setter ) {\n\t\t\treturn jQuery.queue( this[ 0 ], type );\n\t\t}\n\n\t\treturn data === undefined ?\n\t\t\tthis :\n\t\t\tthis.each( function() {\n\t\t\t\tvar queue = jQuery.queue( this, type, data );\n\n\t\t\t\t// Ensure a hooks for this queue\n\t\t\t\tjQuery._queueHooks( this, type );\n\n\t\t\t\tif ( type === \"fx\" && queue[ 0 ] !== \"inprogress\" ) {\n\t\t\t\t\tjQuery.dequeue( this, type );\n\t\t\t\t}\n\t\t\t} );\n\t},\n\tdequeue: function( type ) {\n\t\treturn this.each( function() {\n\t\t\tjQuery.dequeue( this, type );\n\t\t} );\n\t},\n\tclearQueue: function( type ) {\n\t\treturn this.queue( type || \"fx\", [] );\n\t},\n\n\t// Get a promise resolved when queues of a certain type\n\t// are emptied (fx is the type by default)\n\tpromise: function( type, obj ) {\n\t\tvar tmp,\n\t\t\tcount = 1,\n\t\t\tdefer = jQuery.Deferred(),\n\t\t\telements = this,\n\t\t\ti = this.length,\n\t\t\tresolve = function() {\n\t\t\t\tif ( !( --count ) ) {\n\t\t\t\t\tdefer.resolveWith( elements, [ elements ] );\n\t\t\t\t}\n\t\t\t};\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tobj = type;\n\t\t\ttype = undefined;\n\t\t}\n\t\ttype = type || \"fx\";\n\n\t\twhile ( i-- ) {\n\t\t\ttmp = dataPriv.get( elements[ i ], type + \"queueHooks\" );\n\t\t\tif ( tmp && tmp.empty ) {\n\t\t\t\tcount++;\n\t\t\t\ttmp.empty.add( resolve );\n\t\t\t}\n\t\t}\n\t\tresolve();\n\t\treturn defer.promise( obj );\n\t}\n} );\nvar pnum = ( /[+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|)/ ).source;\n\nvar rcssNum = new RegExp( \"^(?:([+-])=|)(\" + pnum + \")([a-z%]*)$\", \"i\" );\n\n\nvar cssExpand = [ \"Top\", \"Right\", \"Bottom\", \"Left\" ];\n\nvar documentElement = document.documentElement;\n\n\n\n\tvar isAttached = function( elem ) {\n\t\t\treturn jQuery.contains( elem.ownerDocument, elem );\n\t\t},\n\t\tcomposed = { composed: true };\n\n\t// Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only\n\t// Check attachment across shadow DOM boundaries when possible (gh-3504)\n\t// Support: iOS 10.0-10.2 only\n\t// Early iOS 10 versions support `attachShadow` but not `getRootNode`,\n\t// leading to errors. We need to check for `getRootNode`.\n\tif ( documentElement.getRootNode ) {\n\t\tisAttached = function( elem ) {\n\t\t\treturn jQuery.contains( elem.ownerDocument, elem ) ||\n\t\t\t\telem.getRootNode( composed ) === elem.ownerDocument;\n\t\t};\n\t}\nvar isHiddenWithinTree = function( elem, el ) {\n\n\t\t// isHiddenWithinTree might be called from jQuery#filter function;\n\t\t// in that case, element will be second argument\n\t\telem = el || elem;\n\n\t\t// Inline style trumps all\n\t\treturn elem.style.display === \"none\" ||\n\t\t\telem.style.display === \"\" &&\n\n\t\t\t// Otherwise, check computed style\n\t\t\t// Support: Firefox <=43 - 45\n\t\t\t// Disconnected elements can have computed display: none, so first confirm that elem is\n\t\t\t// in the document.\n\t\t\tisAttached( elem ) &&\n\n\t\t\tjQuery.css( elem, \"display\" ) === \"none\";\n\t};\n\n\n\nfunction adjustCSS( elem, prop, valueParts, tween ) {\n\tvar adjusted, scale,\n\t\tmaxIterations = 20,\n\t\tcurrentValue = tween ?\n\t\t\tfunction() {\n\t\t\t\treturn tween.cur();\n\t\t\t} :\n\t\t\tfunction() {\n\t\t\t\treturn jQuery.css( elem, prop, \"\" );\n\t\t\t},\n\t\tinitial = currentValue(),\n\t\tunit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? \"\" : \"px\" ),\n\n\t\t// Starting value computation is required for potential unit mismatches\n\t\tinitialInUnit = elem.nodeType &&\n\t\t\t( jQuery.cssNumber[ prop ] || unit !== \"px\" && +initial ) &&\n\t\t\trcssNum.exec( jQuery.css( elem, prop ) );\n\n\tif ( initialInUnit && initialInUnit[ 3 ] !== unit ) {\n\n\t\t// Support: Firefox <=54\n\t\t// Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144)\n\t\tinitial = initial / 2;\n\n\t\t// Trust units reported by jQuery.css\n\t\tunit = unit || initialInUnit[ 3 ];\n\n\t\t// Iteratively approximate from a nonzero starting point\n\t\tinitialInUnit = +initial || 1;\n\n\t\twhile ( maxIterations-- ) {\n\n\t\t\t// Evaluate and update our best guess (doubling guesses that zero out).\n\t\t\t// Finish if the scale equals or crosses 1 (making the old*new product non-positive).\n\t\t\tjQuery.style( elem, prop, initialInUnit + unit );\n\t\t\tif ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) {\n\t\t\t\tmaxIterations = 0;\n\t\t\t}\n\t\t\tinitialInUnit = initialInUnit / scale;\n\n\t\t}\n\n\t\tinitialInUnit = initialInUnit * 2;\n\t\tjQuery.style( elem, prop, initialInUnit + unit );\n\n\t\t// Make sure we update the tween properties later on\n\t\tvalueParts = valueParts || [];\n\t}\n\n\tif ( valueParts ) {\n\t\tinitialInUnit = +initialInUnit || +initial || 0;\n\n\t\t// Apply relative offset (+=/-=) if specified\n\t\tadjusted = valueParts[ 1 ] ?\n\t\t\tinitialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] :\n\t\t\t+valueParts[ 2 ];\n\t\tif ( tween ) {\n\t\t\ttween.unit = unit;\n\t\t\ttween.start = initialInUnit;\n\t\t\ttween.end = adjusted;\n\t\t}\n\t}\n\treturn adjusted;\n}\n\n\nvar defaultDisplayMap = {};\n\nfunction getDefaultDisplay( elem ) {\n\tvar temp,\n\t\tdoc = elem.ownerDocument,\n\t\tnodeName = elem.nodeName,\n\t\tdisplay = defaultDisplayMap[ nodeName ];\n\n\tif ( display ) {\n\t\treturn display;\n\t}\n\n\ttemp = doc.body.appendChild( doc.createElement( nodeName ) );\n\tdisplay = jQuery.css( temp, \"display\" );\n\n\ttemp.parentNode.removeChild( temp );\n\n\tif ( display === \"none\" ) {\n\t\tdisplay = \"block\";\n\t}\n\tdefaultDisplayMap[ nodeName ] = display;\n\n\treturn display;\n}\n\nfunction showHide( elements, show ) {\n\tvar display, elem,\n\t\tvalues = [],\n\t\tindex = 0,\n\t\tlength = elements.length;\n\n\t// Determine new display value for elements that need to change\n\tfor ( ; index < length; index++ ) {\n\t\telem = elements[ index ];\n\t\tif ( !elem.style ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tdisplay = elem.style.display;\n\t\tif ( show ) {\n\n\t\t\t// Since we force visibility upon cascade-hidden elements, an immediate (and slow)\n\t\t\t// check is required in this first loop unless we have a nonempty display value (either\n\t\t\t// inline or about-to-be-restored)\n\t\t\tif ( display === \"none\" ) {\n\t\t\t\tvalues[ index ] = dataPriv.get( elem, \"display\" ) || null;\n\t\t\t\tif ( !values[ index ] ) {\n\t\t\t\t\telem.style.display = \"\";\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( elem.style.display === \"\" && isHiddenWithinTree( elem ) ) {\n\t\t\t\tvalues[ index ] = getDefaultDisplay( elem );\n\t\t\t}\n\t\t} else {\n\t\t\tif ( display !== \"none\" ) {\n\t\t\t\tvalues[ index ] = \"none\";\n\n\t\t\t\t// Remember what we're overwriting\n\t\t\t\tdataPriv.set( elem, \"display\", display );\n\t\t\t}\n\t\t}\n\t}\n\n\t// Set the display of the elements in a second loop to avoid constant reflow\n\tfor ( index = 0; index < length; index++ ) {\n\t\tif ( values[ index ] != null ) {\n\t\t\telements[ index ].style.display = values[ index ];\n\t\t}\n\t}\n\n\treturn elements;\n}\n\njQuery.fn.extend( {\n\tshow: function() {\n\t\treturn showHide( this, true );\n\t},\n\thide: function() {\n\t\treturn showHide( this );\n\t},\n\ttoggle: function( state ) {\n\t\tif ( typeof state === \"boolean\" ) {\n\t\t\treturn state ? this.show() : this.hide();\n\t\t}\n\n\t\treturn this.each( function() {\n\t\t\tif ( isHiddenWithinTree( this ) ) {\n\t\t\t\tjQuery( this ).show();\n\t\t\t} else {\n\t\t\t\tjQuery( this ).hide();\n\t\t\t}\n\t\t} );\n\t}\n} );\nvar rcheckableType = ( /^(?:checkbox|radio)$/i );\n\nvar rtagName = ( /<([a-z][^\\/\\0>\\x20\\t\\r\\n\\f]*)/i );\n\nvar rscriptType = ( /^$|^module$|\\/(?:java|ecma)script/i );\n\n\n\n( function() {\n\tvar fragment = document.createDocumentFragment(),\n\t\tdiv = fragment.appendChild( document.createElement( \"div\" ) ),\n\t\tinput = document.createElement( \"input\" );\n\n\t// Support: Android 4.0 - 4.3 only\n\t// Check state lost if the name is set (#11217)\n\t// Support: Windows Web Apps (WWA)\n\t// `name` and `type` must use .setAttribute for WWA (#14901)\n\tinput.setAttribute( \"type\", \"radio\" );\n\tinput.setAttribute( \"checked\", \"checked\" );\n\tinput.setAttribute( \"name\", \"t\" );\n\n\tdiv.appendChild( input );\n\n\t// Support: Android <=4.1 only\n\t// Older WebKit doesn't clone checked state correctly in fragments\n\tsupport.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;\n\n\t// Support: IE <=11 only\n\t// Make sure textarea (and checkbox) defaultValue is properly cloned\n\tdiv.innerHTML = \"\";\n\tsupport.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;\n\n\t// Support: IE <=9 only\n\t// IE <=9 replaces \";\n\tsupport.option = !!div.lastChild;\n} )();\n\n\n// We have to close these tags to support XHTML (#13200)\nvar wrapMap = {\n\n\t// XHTML parsers do not magically insert elements in the\n\t// same way that tag soup parsers do. So we cannot shorten\n\t// this by omitting or other required elements.\n\tthead: [ 1, \"\", \"
\" ],\n\tcol: [ 2, \"\", \"
\" ],\n\ttr: [ 2, \"\", \"
\" ],\n\ttd: [ 3, \"\", \"
\" ],\n\n\t_default: [ 0, \"\", \"\" ]\n};\n\nwrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;\nwrapMap.th = wrapMap.td;\n\n// Support: IE <=9 only\nif ( !support.option ) {\n\twrapMap.optgroup = wrapMap.option = [ 1, \"\" ];\n}\n\n\nfunction getAll( context, tag ) {\n\n\t// Support: IE <=9 - 11 only\n\t// Use typeof to avoid zero-argument method invocation on host objects (#15151)\n\tvar ret;\n\n\tif ( typeof context.getElementsByTagName !== \"undefined\" ) {\n\t\tret = context.getElementsByTagName( tag || \"*\" );\n\n\t} else if ( typeof context.querySelectorAll !== \"undefined\" ) {\n\t\tret = context.querySelectorAll( tag || \"*\" );\n\n\t} else {\n\t\tret = [];\n\t}\n\n\tif ( tag === undefined || tag && nodeName( context, tag ) ) {\n\t\treturn jQuery.merge( [ context ], ret );\n\t}\n\n\treturn ret;\n}\n\n\n// Mark scripts as having already been evaluated\nfunction setGlobalEval( elems, refElements ) {\n\tvar i = 0,\n\t\tl = elems.length;\n\n\tfor ( ; i < l; i++ ) {\n\t\tdataPriv.set(\n\t\t\telems[ i ],\n\t\t\t\"globalEval\",\n\t\t\t!refElements || dataPriv.get( refElements[ i ], \"globalEval\" )\n\t\t);\n\t}\n}\n\n\nvar rhtml = /<|&#?\\w+;/;\n\nfunction buildFragment( elems, context, scripts, selection, ignored ) {\n\tvar elem, tmp, tag, wrap, attached, j,\n\t\tfragment = context.createDocumentFragment(),\n\t\tnodes = [],\n\t\ti = 0,\n\t\tl = elems.length;\n\n\tfor ( ; i < l; i++ ) {\n\t\telem = elems[ i ];\n\n\t\tif ( elem || elem === 0 ) {\n\n\t\t\t// Add nodes directly\n\t\t\tif ( toType( elem ) === \"object\" ) {\n\n\t\t\t\t// Support: Android <=4.0 only, PhantomJS 1 only\n\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\t\t\tjQuery.merge( nodes, elem.nodeType ? [ elem ] : elem );\n\n\t\t\t// Convert non-html into a text node\n\t\t\t} else if ( !rhtml.test( elem ) ) {\n\t\t\t\tnodes.push( context.createTextNode( elem ) );\n\n\t\t\t// Convert html into DOM nodes\n\t\t\t} else {\n\t\t\t\ttmp = tmp || fragment.appendChild( context.createElement( \"div\" ) );\n\n\t\t\t\t// Deserialize a standard representation\n\t\t\t\ttag = ( rtagName.exec( elem ) || [ \"\", \"\" ] )[ 1 ].toLowerCase();\n\t\t\t\twrap = wrapMap[ tag ] || wrapMap._default;\n\t\t\t\ttmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ];\n\n\t\t\t\t// Descend through wrappers to the right content\n\t\t\t\tj = wrap[ 0 ];\n\t\t\t\twhile ( j-- ) {\n\t\t\t\t\ttmp = tmp.lastChild;\n\t\t\t\t}\n\n\t\t\t\t// Support: Android <=4.0 only, PhantomJS 1 only\n\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\t\t\tjQuery.merge( nodes, tmp.childNodes );\n\n\t\t\t\t// Remember the top-level container\n\t\t\t\ttmp = fragment.firstChild;\n\n\t\t\t\t// Ensure the created nodes are orphaned (#12392)\n\t\t\t\ttmp.textContent = \"\";\n\t\t\t}\n\t\t}\n\t}\n\n\t// Remove wrapper from fragment\n\tfragment.textContent = \"\";\n\n\ti = 0;\n\twhile ( ( elem = nodes[ i++ ] ) ) {\n\n\t\t// Skip elements already in the context collection (trac-4087)\n\t\tif ( selection && jQuery.inArray( elem, selection ) > -1 ) {\n\t\t\tif ( ignored ) {\n\t\t\t\tignored.push( elem );\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\n\t\tattached = isAttached( elem );\n\n\t\t// Append to fragment\n\t\ttmp = getAll( fragment.appendChild( elem ), \"script\" );\n\n\t\t// Preserve script evaluation history\n\t\tif ( attached ) {\n\t\t\tsetGlobalEval( tmp );\n\t\t}\n\n\t\t// Capture executables\n\t\tif ( scripts ) {\n\t\t\tj = 0;\n\t\t\twhile ( ( elem = tmp[ j++ ] ) ) {\n\t\t\t\tif ( rscriptType.test( elem.type || \"\" ) ) {\n\t\t\t\t\tscripts.push( elem );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn fragment;\n}\n\n\nvar\n\trkeyEvent = /^key/,\n\trmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,\n\trtypenamespace = /^([^.]*)(?:\\.(.+)|)/;\n\nfunction returnTrue() {\n\treturn true;\n}\n\nfunction returnFalse() {\n\treturn false;\n}\n\n// Support: IE <=9 - 11+\n// focus() and blur() are asynchronous, except when they are no-op.\n// So expect focus to be synchronous when the element is already active,\n// and blur to be synchronous when the element is not already active.\n// (focus and blur are always synchronous in other supported browsers,\n// this just defines when we can count on it).\nfunction expectSync( elem, type ) {\n\treturn ( elem === safeActiveElement() ) === ( type === \"focus\" );\n}\n\n// Support: IE <=9 only\n// Accessing document.activeElement can throw unexpectedly\n// https://bugs.jquery.com/ticket/13393\nfunction safeActiveElement() {\n\ttry {\n\t\treturn document.activeElement;\n\t} catch ( err ) { }\n}\n\nfunction on( elem, types, selector, data, fn, one ) {\n\tvar origFn, type;\n\n\t// Types can be a map of types/handlers\n\tif ( typeof types === \"object\" ) {\n\n\t\t// ( types-Object, selector, data )\n\t\tif ( typeof selector !== \"string\" ) {\n\n\t\t\t// ( types-Object, data )\n\t\t\tdata = data || selector;\n\t\t\tselector = undefined;\n\t\t}\n\t\tfor ( type in types ) {\n\t\t\ton( elem, type, selector, data, types[ type ], one );\n\t\t}\n\t\treturn elem;\n\t}\n\n\tif ( data == null && fn == null ) {\n\n\t\t// ( types, fn )\n\t\tfn = selector;\n\t\tdata = selector = undefined;\n\t} else if ( fn == null ) {\n\t\tif ( typeof selector === \"string\" ) {\n\n\t\t\t// ( types, selector, fn )\n\t\t\tfn = data;\n\t\t\tdata = undefined;\n\t\t} else {\n\n\t\t\t// ( types, data, fn )\n\t\t\tfn = data;\n\t\t\tdata = selector;\n\t\t\tselector = undefined;\n\t\t}\n\t}\n\tif ( fn === false ) {\n\t\tfn = returnFalse;\n\t} else if ( !fn ) {\n\t\treturn elem;\n\t}\n\n\tif ( one === 1 ) {\n\t\torigFn = fn;\n\t\tfn = function( event ) {\n\n\t\t\t// Can use an empty set, since event contains the info\n\t\t\tjQuery().off( event );\n\t\t\treturn origFn.apply( this, arguments );\n\t\t};\n\n\t\t// Use same guid so caller can remove using origFn\n\t\tfn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );\n\t}\n\treturn elem.each( function() {\n\t\tjQuery.event.add( this, types, fn, data, selector );\n\t} );\n}\n\n/*\n * Helper functions for managing events -- not part of the public interface.\n * Props to Dean Edwards' addEvent library for many of the ideas.\n */\njQuery.event = {\n\n\tglobal: {},\n\n\tadd: function( elem, types, handler, data, selector ) {\n\n\t\tvar handleObjIn, eventHandle, tmp,\n\t\t\tevents, t, handleObj,\n\t\t\tspecial, handlers, type, namespaces, origType,\n\t\t\telemData = dataPriv.get( elem );\n\n\t\t// Only attach events to objects that accept data\n\t\tif ( !acceptData( elem ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Caller can pass in an object of custom data in lieu of the handler\n\t\tif ( handler.handler ) {\n\t\t\thandleObjIn = handler;\n\t\t\thandler = handleObjIn.handler;\n\t\t\tselector = handleObjIn.selector;\n\t\t}\n\n\t\t// Ensure that invalid selectors throw exceptions at attach time\n\t\t// Evaluate against documentElement in case elem is a non-element node (e.g., document)\n\t\tif ( selector ) {\n\t\t\tjQuery.find.matchesSelector( documentElement, selector );\n\t\t}\n\n\t\t// Make sure that the handler has a unique ID, used to find/remove it later\n\t\tif ( !handler.guid ) {\n\t\t\thandler.guid = jQuery.guid++;\n\t\t}\n\n\t\t// Init the element's event structure and main handler, if this is the first\n\t\tif ( !( events = elemData.events ) ) {\n\t\t\tevents = elemData.events = Object.create( null );\n\t\t}\n\t\tif ( !( eventHandle = elemData.handle ) ) {\n\t\t\teventHandle = elemData.handle = function( e ) {\n\n\t\t\t\t// Discard the second event of a jQuery.event.trigger() and\n\t\t\t\t// when an event is called after a page has unloaded\n\t\t\t\treturn typeof jQuery !== \"undefined\" && jQuery.event.triggered !== e.type ?\n\t\t\t\t\tjQuery.event.dispatch.apply( elem, arguments ) : undefined;\n\t\t\t};\n\t\t}\n\n\t\t// Handle multiple events separated by a space\n\t\ttypes = ( types || \"\" ).match( rnothtmlwhite ) || [ \"\" ];\n\t\tt = types.length;\n\t\twhile ( t-- ) {\n\t\t\ttmp = rtypenamespace.exec( types[ t ] ) || [];\n\t\t\ttype = origType = tmp[ 1 ];\n\t\t\tnamespaces = ( tmp[ 2 ] || \"\" ).split( \".\" ).sort();\n\n\t\t\t// There *must* be a type, no attaching namespace-only handlers\n\t\t\tif ( !type ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// If event changes its type, use the special event handlers for the changed type\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\n\t\t\t// If selector defined, determine special event api type, otherwise given type\n\t\t\ttype = ( selector ? special.delegateType : special.bindType ) || type;\n\n\t\t\t// Update special based on newly reset type\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\n\t\t\t// handleObj is passed to all event handlers\n\t\t\thandleObj = jQuery.extend( {\n\t\t\t\ttype: type,\n\t\t\t\torigType: origType,\n\t\t\t\tdata: data,\n\t\t\t\thandler: handler,\n\t\t\t\tguid: handler.guid,\n\t\t\t\tselector: selector,\n\t\t\t\tneedsContext: selector && jQuery.expr.match.needsContext.test( selector ),\n\t\t\t\tnamespace: namespaces.join( \".\" )\n\t\t\t}, handleObjIn );\n\n\t\t\t// Init the event handler queue if we're the first\n\t\t\tif ( !( handlers = events[ type ] ) ) {\n\t\t\t\thandlers = events[ type ] = [];\n\t\t\t\thandlers.delegateCount = 0;\n\n\t\t\t\t// Only use addEventListener if the special events handler returns false\n\t\t\t\tif ( !special.setup ||\n\t\t\t\t\tspecial.setup.call( elem, data, namespaces, eventHandle ) === false ) {\n\n\t\t\t\t\tif ( elem.addEventListener ) {\n\t\t\t\t\t\telem.addEventListener( type, eventHandle );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( special.add ) {\n\t\t\t\tspecial.add.call( elem, handleObj );\n\n\t\t\t\tif ( !handleObj.handler.guid ) {\n\t\t\t\t\thandleObj.handler.guid = handler.guid;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Add to the element's handler list, delegates in front\n\t\t\tif ( selector ) {\n\t\t\t\thandlers.splice( handlers.delegateCount++, 0, handleObj );\n\t\t\t} else {\n\t\t\t\thandlers.push( handleObj );\n\t\t\t}\n\n\t\t\t// Keep track of which events have ever been used, for event optimization\n\t\t\tjQuery.event.global[ type ] = true;\n\t\t}\n\n\t},\n\n\t// Detach an event or set of events from an element\n\tremove: function( elem, types, handler, selector, mappedTypes ) {\n\n\t\tvar j, origCount, tmp,\n\t\t\tevents, t, handleObj,\n\t\t\tspecial, handlers, type, namespaces, origType,\n\t\t\telemData = dataPriv.hasData( elem ) && dataPriv.get( elem );\n\n\t\tif ( !elemData || !( events = elemData.events ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Once for each type.namespace in types; type may be omitted\n\t\ttypes = ( types || \"\" ).match( rnothtmlwhite ) || [ \"\" ];\n\t\tt = types.length;\n\t\twhile ( t-- ) {\n\t\t\ttmp = rtypenamespace.exec( types[ t ] ) || [];\n\t\t\ttype = origType = tmp[ 1 ];\n\t\t\tnamespaces = ( tmp[ 2 ] || \"\" ).split( \".\" ).sort();\n\n\t\t\t// Unbind all events (on this namespace, if provided) for the element\n\t\t\tif ( !type ) {\n\t\t\t\tfor ( type in events ) {\n\t\t\t\t\tjQuery.event.remove( elem, type + types[ t ], handler, selector, true );\n\t\t\t\t}\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\t\t\ttype = ( selector ? special.delegateType : special.bindType ) || type;\n\t\t\thandlers = events[ type ] || [];\n\t\t\ttmp = tmp[ 2 ] &&\n\t\t\t\tnew RegExp( \"(^|\\\\.)\" + namespaces.join( \"\\\\.(?:.*\\\\.|)\" ) + \"(\\\\.|$)\" );\n\n\t\t\t// Remove matching events\n\t\t\torigCount = j = handlers.length;\n\t\t\twhile ( j-- ) {\n\t\t\t\thandleObj = handlers[ j ];\n\n\t\t\t\tif ( ( mappedTypes || origType === handleObj.origType ) &&\n\t\t\t\t\t( !handler || handler.guid === handleObj.guid ) &&\n\t\t\t\t\t( !tmp || tmp.test( handleObj.namespace ) ) &&\n\t\t\t\t\t( !selector || selector === handleObj.selector ||\n\t\t\t\t\t\tselector === \"**\" && handleObj.selector ) ) {\n\t\t\t\t\thandlers.splice( j, 1 );\n\n\t\t\t\t\tif ( handleObj.selector ) {\n\t\t\t\t\t\thandlers.delegateCount--;\n\t\t\t\t\t}\n\t\t\t\t\tif ( special.remove ) {\n\t\t\t\t\t\tspecial.remove.call( elem, handleObj );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Remove generic event handler if we removed something and no more handlers exist\n\t\t\t// (avoids potential for endless recursion during removal of special event handlers)\n\t\t\tif ( origCount && !handlers.length ) {\n\t\t\t\tif ( !special.teardown ||\n\t\t\t\t\tspecial.teardown.call( elem, namespaces, elemData.handle ) === false ) {\n\n\t\t\t\t\tjQuery.removeEvent( elem, type, elemData.handle );\n\t\t\t\t}\n\n\t\t\t\tdelete events[ type ];\n\t\t\t}\n\t\t}\n\n\t\t// Remove data and the expando if it's no longer used\n\t\tif ( jQuery.isEmptyObject( events ) ) {\n\t\t\tdataPriv.remove( elem, \"handle events\" );\n\t\t}\n\t},\n\n\tdispatch: function( nativeEvent ) {\n\n\t\tvar i, j, ret, matched, handleObj, handlerQueue,\n\t\t\targs = new Array( arguments.length ),\n\n\t\t\t// Make a writable jQuery.Event from the native event object\n\t\t\tevent = jQuery.event.fix( nativeEvent ),\n\n\t\t\thandlers = (\n\t\t\t\t\tdataPriv.get( this, \"events\" ) || Object.create( null )\n\t\t\t\t)[ event.type ] || [],\n\t\t\tspecial = jQuery.event.special[ event.type ] || {};\n\n\t\t// Use the fix-ed jQuery.Event rather than the (read-only) native event\n\t\targs[ 0 ] = event;\n\n\t\tfor ( i = 1; i < arguments.length; i++ ) {\n\t\t\targs[ i ] = arguments[ i ];\n\t\t}\n\n\t\tevent.delegateTarget = this;\n\n\t\t// Call the preDispatch hook for the mapped type, and let it bail if desired\n\t\tif ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Determine handlers\n\t\thandlerQueue = jQuery.event.handlers.call( this, event, handlers );\n\n\t\t// Run delegates first; they may want to stop propagation beneath us\n\t\ti = 0;\n\t\twhile ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) {\n\t\t\tevent.currentTarget = matched.elem;\n\n\t\t\tj = 0;\n\t\t\twhile ( ( handleObj = matched.handlers[ j++ ] ) &&\n\t\t\t\t!event.isImmediatePropagationStopped() ) {\n\n\t\t\t\t// If the event is namespaced, then each handler is only invoked if it is\n\t\t\t\t// specially universal or its namespaces are a superset of the event's.\n\t\t\t\tif ( !event.rnamespace || handleObj.namespace === false ||\n\t\t\t\t\tevent.rnamespace.test( handleObj.namespace ) ) {\n\n\t\t\t\t\tevent.handleObj = handleObj;\n\t\t\t\t\tevent.data = handleObj.data;\n\n\t\t\t\t\tret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle ||\n\t\t\t\t\t\thandleObj.handler ).apply( matched.elem, args );\n\n\t\t\t\t\tif ( ret !== undefined ) {\n\t\t\t\t\t\tif ( ( event.result = ret ) === false ) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Call the postDispatch hook for the mapped type\n\t\tif ( special.postDispatch ) {\n\t\t\tspecial.postDispatch.call( this, event );\n\t\t}\n\n\t\treturn event.result;\n\t},\n\n\thandlers: function( event, handlers ) {\n\t\tvar i, handleObj, sel, matchedHandlers, matchedSelectors,\n\t\t\thandlerQueue = [],\n\t\t\tdelegateCount = handlers.delegateCount,\n\t\t\tcur = event.target;\n\n\t\t// Find delegate handlers\n\t\tif ( delegateCount &&\n\n\t\t\t// Support: IE <=9\n\t\t\t// Black-hole SVG instance trees (trac-13180)\n\t\t\tcur.nodeType &&\n\n\t\t\t// Support: Firefox <=42\n\t\t\t// Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861)\n\t\t\t// https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click\n\t\t\t// Support: IE 11 only\n\t\t\t// ...but not arrow key \"clicks\" of radio inputs, which can have `button` -1 (gh-2343)\n\t\t\t!( event.type === \"click\" && event.button >= 1 ) ) {\n\n\t\t\tfor ( ; cur !== this; cur = cur.parentNode || this ) {\n\n\t\t\t\t// Don't check non-elements (#13208)\n\t\t\t\t// Don't process clicks on disabled elements (#6911, #8165, #11382, #11764)\n\t\t\t\tif ( cur.nodeType === 1 && !( event.type === \"click\" && cur.disabled === true ) ) {\n\t\t\t\t\tmatchedHandlers = [];\n\t\t\t\t\tmatchedSelectors = {};\n\t\t\t\t\tfor ( i = 0; i < delegateCount; i++ ) {\n\t\t\t\t\t\thandleObj = handlers[ i ];\n\n\t\t\t\t\t\t// Don't conflict with Object.prototype properties (#13203)\n\t\t\t\t\t\tsel = handleObj.selector + \" \";\n\n\t\t\t\t\t\tif ( matchedSelectors[ sel ] === undefined ) {\n\t\t\t\t\t\t\tmatchedSelectors[ sel ] = handleObj.needsContext ?\n\t\t\t\t\t\t\t\tjQuery( sel, this ).index( cur ) > -1 :\n\t\t\t\t\t\t\t\tjQuery.find( sel, this, null, [ cur ] ).length;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( matchedSelectors[ sel ] ) {\n\t\t\t\t\t\t\tmatchedHandlers.push( handleObj );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif ( matchedHandlers.length ) {\n\t\t\t\t\t\thandlerQueue.push( { elem: cur, handlers: matchedHandlers } );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Add the remaining (directly-bound) handlers\n\t\tcur = this;\n\t\tif ( delegateCount < handlers.length ) {\n\t\t\thandlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } );\n\t\t}\n\n\t\treturn handlerQueue;\n\t},\n\n\taddProp: function( name, hook ) {\n\t\tObject.defineProperty( jQuery.Event.prototype, name, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\n\t\t\tget: isFunction( hook ) ?\n\t\t\t\tfunction() {\n\t\t\t\t\tif ( this.originalEvent ) {\n\t\t\t\t\t\t\treturn hook( this.originalEvent );\n\t\t\t\t\t}\n\t\t\t\t} :\n\t\t\t\tfunction() {\n\t\t\t\t\tif ( this.originalEvent ) {\n\t\t\t\t\t\t\treturn this.originalEvent[ name ];\n\t\t\t\t\t}\n\t\t\t\t},\n\n\t\t\tset: function( value ) {\n\t\t\t\tObject.defineProperty( this, name, {\n\t\t\t\t\tenumerable: true,\n\t\t\t\t\tconfigurable: true,\n\t\t\t\t\twritable: true,\n\t\t\t\t\tvalue: value\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\t},\n\n\tfix: function( originalEvent ) {\n\t\treturn originalEvent[ jQuery.expando ] ?\n\t\t\toriginalEvent :\n\t\t\tnew jQuery.Event( originalEvent );\n\t},\n\n\tspecial: {\n\t\tload: {\n\n\t\t\t// Prevent triggered image.load events from bubbling to window.load\n\t\t\tnoBubble: true\n\t\t},\n\t\tclick: {\n\n\t\t\t// Utilize native event to ensure correct state for checkable inputs\n\t\t\tsetup: function( data ) {\n\n\t\t\t\t// For mutual compressibility with _default, replace `this` access with a local var.\n\t\t\t\t// `|| data` is dead code meant only to preserve the variable through minification.\n\t\t\t\tvar el = this || data;\n\n\t\t\t\t// Claim the first handler\n\t\t\t\tif ( rcheckableType.test( el.type ) &&\n\t\t\t\t\tel.click && nodeName( el, \"input\" ) ) {\n\n\t\t\t\t\t// dataPriv.set( el, \"click\", ... )\n\t\t\t\t\tleverageNative( el, \"click\", returnTrue );\n\t\t\t\t}\n\n\t\t\t\t// Return false to allow normal processing in the caller\n\t\t\t\treturn false;\n\t\t\t},\n\t\t\ttrigger: function( data ) {\n\n\t\t\t\t// For mutual compressibility with _default, replace `this` access with a local var.\n\t\t\t\t// `|| data` is dead code meant only to preserve the variable through minification.\n\t\t\t\tvar el = this || data;\n\n\t\t\t\t// Force setup before triggering a click\n\t\t\t\tif ( rcheckableType.test( el.type ) &&\n\t\t\t\t\tel.click && nodeName( el, \"input\" ) ) {\n\n\t\t\t\t\tleverageNative( el, \"click\" );\n\t\t\t\t}\n\n\t\t\t\t// Return non-false to allow normal event-path propagation\n\t\t\t\treturn true;\n\t\t\t},\n\n\t\t\t// For cross-browser consistency, suppress native .click() on links\n\t\t\t// Also prevent it if we're currently inside a leveraged native-event stack\n\t\t\t_default: function( event ) {\n\t\t\t\tvar target = event.target;\n\t\t\t\treturn rcheckableType.test( target.type ) &&\n\t\t\t\t\ttarget.click && nodeName( target, \"input\" ) &&\n\t\t\t\t\tdataPriv.get( target, \"click\" ) ||\n\t\t\t\t\tnodeName( target, \"a\" );\n\t\t\t}\n\t\t},\n\n\t\tbeforeunload: {\n\t\t\tpostDispatch: function( event ) {\n\n\t\t\t\t// Support: Firefox 20+\n\t\t\t\t// Firefox doesn't alert if the returnValue field is not set.\n\t\t\t\tif ( event.result !== undefined && event.originalEvent ) {\n\t\t\t\t\tevent.originalEvent.returnValue = event.result;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\n// Ensure the presence of an event listener that handles manually-triggered\n// synthetic events by interrupting progress until reinvoked in response to\n// *native* events that it fires directly, ensuring that state changes have\n// already occurred before other listeners are invoked.\nfunction leverageNative( el, type, expectSync ) {\n\n\t// Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add\n\tif ( !expectSync ) {\n\t\tif ( dataPriv.get( el, type ) === undefined ) {\n\t\t\tjQuery.event.add( el, type, returnTrue );\n\t\t}\n\t\treturn;\n\t}\n\n\t// Register the controller as a special universal handler for all event namespaces\n\tdataPriv.set( el, type, false );\n\tjQuery.event.add( el, type, {\n\t\tnamespace: false,\n\t\thandler: function( event ) {\n\t\t\tvar notAsync, result,\n\t\t\t\tsaved = dataPriv.get( this, type );\n\n\t\t\tif ( ( event.isTrigger & 1 ) && this[ type ] ) {\n\n\t\t\t\t// Interrupt processing of the outer synthetic .trigger()ed event\n\t\t\t\t// Saved data should be false in such cases, but might be a leftover capture object\n\t\t\t\t// from an async native handler (gh-4350)\n\t\t\t\tif ( !saved.length ) {\n\n\t\t\t\t\t// Store arguments for use when handling the inner native event\n\t\t\t\t\t// There will always be at least one argument (an event object), so this array\n\t\t\t\t\t// will not be confused with a leftover capture object.\n\t\t\t\t\tsaved = slice.call( arguments );\n\t\t\t\t\tdataPriv.set( this, type, saved );\n\n\t\t\t\t\t// Trigger the native event and capture its result\n\t\t\t\t\t// Support: IE <=9 - 11+\n\t\t\t\t\t// focus() and blur() are asynchronous\n\t\t\t\t\tnotAsync = expectSync( this, type );\n\t\t\t\t\tthis[ type ]();\n\t\t\t\t\tresult = dataPriv.get( this, type );\n\t\t\t\t\tif ( saved !== result || notAsync ) {\n\t\t\t\t\t\tdataPriv.set( this, type, false );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresult = {};\n\t\t\t\t\t}\n\t\t\t\t\tif ( saved !== result ) {\n\n\t\t\t\t\t\t// Cancel the outer synthetic event\n\t\t\t\t\t\tevent.stopImmediatePropagation();\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\treturn result.value;\n\t\t\t\t\t}\n\n\t\t\t\t// If this is an inner synthetic event for an event with a bubbling surrogate\n\t\t\t\t// (focus or blur), assume that the surrogate already propagated from triggering the\n\t\t\t\t// native event and prevent that from happening again here.\n\t\t\t\t// This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the\n\t\t\t\t// bubbling surrogate propagates *after* the non-bubbling base), but that seems\n\t\t\t\t// less bad than duplication.\n\t\t\t\t} else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) {\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t}\n\n\t\t\t// If this is a native event triggered above, everything is now in order\n\t\t\t// Fire an inner synthetic event with the original arguments\n\t\t\t} else if ( saved.length ) {\n\n\t\t\t\t// ...and capture the result\n\t\t\t\tdataPriv.set( this, type, {\n\t\t\t\t\tvalue: jQuery.event.trigger(\n\n\t\t\t\t\t\t// Support: IE <=9 - 11+\n\t\t\t\t\t\t// Extend with the prototype to reset the above stopImmediatePropagation()\n\t\t\t\t\t\tjQuery.extend( saved[ 0 ], jQuery.Event.prototype ),\n\t\t\t\t\t\tsaved.slice( 1 ),\n\t\t\t\t\t\tthis\n\t\t\t\t\t)\n\t\t\t\t} );\n\n\t\t\t\t// Abort handling of the native event\n\t\t\t\tevent.stopImmediatePropagation();\n\t\t\t}\n\t\t}\n\t} );\n}\n\njQuery.removeEvent = function( elem, type, handle ) {\n\n\t// This \"if\" is needed for plain objects\n\tif ( elem.removeEventListener ) {\n\t\telem.removeEventListener( type, handle );\n\t}\n};\n\njQuery.Event = function( src, props ) {\n\n\t// Allow instantiation without the 'new' keyword\n\tif ( !( this instanceof jQuery.Event ) ) {\n\t\treturn new jQuery.Event( src, props );\n\t}\n\n\t// Event object\n\tif ( src && src.type ) {\n\t\tthis.originalEvent = src;\n\t\tthis.type = src.type;\n\n\t\t// Events bubbling up the document may have been marked as prevented\n\t\t// by a handler lower down the tree; reflect the correct value.\n\t\tthis.isDefaultPrevented = src.defaultPrevented ||\n\t\t\t\tsrc.defaultPrevented === undefined &&\n\n\t\t\t\t// Support: Android <=2.3 only\n\t\t\t\tsrc.returnValue === false ?\n\t\t\treturnTrue :\n\t\t\treturnFalse;\n\n\t\t// Create target properties\n\t\t// Support: Safari <=6 - 7 only\n\t\t// Target should not be a text node (#504, #13143)\n\t\tthis.target = ( src.target && src.target.nodeType === 3 ) ?\n\t\t\tsrc.target.parentNode :\n\t\t\tsrc.target;\n\n\t\tthis.currentTarget = src.currentTarget;\n\t\tthis.relatedTarget = src.relatedTarget;\n\n\t// Event type\n\t} else {\n\t\tthis.type = src;\n\t}\n\n\t// Put explicitly provided properties onto the event object\n\tif ( props ) {\n\t\tjQuery.extend( this, props );\n\t}\n\n\t// Create a timestamp if incoming event doesn't have one\n\tthis.timeStamp = src && src.timeStamp || Date.now();\n\n\t// Mark it as fixed\n\tthis[ jQuery.expando ] = true;\n};\n\n// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding\n// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html\njQuery.Event.prototype = {\n\tconstructor: jQuery.Event,\n\tisDefaultPrevented: returnFalse,\n\tisPropagationStopped: returnFalse,\n\tisImmediatePropagationStopped: returnFalse,\n\tisSimulated: false,\n\n\tpreventDefault: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isDefaultPrevented = returnTrue;\n\n\t\tif ( e && !this.isSimulated ) {\n\t\t\te.preventDefault();\n\t\t}\n\t},\n\tstopPropagation: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isPropagationStopped = returnTrue;\n\n\t\tif ( e && !this.isSimulated ) {\n\t\t\te.stopPropagation();\n\t\t}\n\t},\n\tstopImmediatePropagation: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isImmediatePropagationStopped = returnTrue;\n\n\t\tif ( e && !this.isSimulated ) {\n\t\t\te.stopImmediatePropagation();\n\t\t}\n\n\t\tthis.stopPropagation();\n\t}\n};\n\n// Includes all common event props including KeyEvent and MouseEvent specific props\njQuery.each( {\n\taltKey: true,\n\tbubbles: true,\n\tcancelable: true,\n\tchangedTouches: true,\n\tctrlKey: true,\n\tdetail: true,\n\teventPhase: true,\n\tmetaKey: true,\n\tpageX: true,\n\tpageY: true,\n\tshiftKey: true,\n\tview: true,\n\t\"char\": true,\n\tcode: true,\n\tcharCode: true,\n\tkey: true,\n\tkeyCode: true,\n\tbutton: true,\n\tbuttons: true,\n\tclientX: true,\n\tclientY: true,\n\toffsetX: true,\n\toffsetY: true,\n\tpointerId: true,\n\tpointerType: true,\n\tscreenX: true,\n\tscreenY: true,\n\ttargetTouches: true,\n\ttoElement: true,\n\ttouches: true,\n\n\twhich: function( event ) {\n\t\tvar button = event.button;\n\n\t\t// Add which for key events\n\t\tif ( event.which == null && rkeyEvent.test( event.type ) ) {\n\t\t\treturn event.charCode != null ? event.charCode : event.keyCode;\n\t\t}\n\n\t\t// Add which for click: 1 === left; 2 === middle; 3 === right\n\t\tif ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) {\n\t\t\tif ( button & 1 ) {\n\t\t\t\treturn 1;\n\t\t\t}\n\n\t\t\tif ( button & 2 ) {\n\t\t\t\treturn 3;\n\t\t\t}\n\n\t\t\tif ( button & 4 ) {\n\t\t\t\treturn 2;\n\t\t\t}\n\n\t\t\treturn 0;\n\t\t}\n\n\t\treturn event.which;\n\t}\n}, jQuery.event.addProp );\n\njQuery.each( { focus: \"focusin\", blur: \"focusout\" }, function( type, delegateType ) {\n\tjQuery.event.special[ type ] = {\n\n\t\t// Utilize native event if possible so blur/focus sequence is correct\n\t\tsetup: function() {\n\n\t\t\t// Claim the first handler\n\t\t\t// dataPriv.set( this, \"focus\", ... )\n\t\t\t// dataPriv.set( this, \"blur\", ... )\n\t\t\tleverageNative( this, type, expectSync );\n\n\t\t\t// Return false to allow normal processing in the caller\n\t\t\treturn false;\n\t\t},\n\t\ttrigger: function() {\n\n\t\t\t// Force setup before trigger\n\t\t\tleverageNative( this, type );\n\n\t\t\t// Return non-false to allow normal event-path propagation\n\t\t\treturn true;\n\t\t},\n\n\t\tdelegateType: delegateType\n\t};\n} );\n\n// Create mouseenter/leave events using mouseover/out and event-time checks\n// so that event delegation works in jQuery.\n// Do the same for pointerenter/pointerleave and pointerover/pointerout\n//\n// Support: Safari 7 only\n// Safari sends mouseenter too often; see:\n// https://bugs.chromium.org/p/chromium/issues/detail?id=470258\n// for the description of the bug (it existed in older Chrome versions as well).\njQuery.each( {\n\tmouseenter: \"mouseover\",\n\tmouseleave: \"mouseout\",\n\tpointerenter: \"pointerover\",\n\tpointerleave: \"pointerout\"\n}, function( orig, fix ) {\n\tjQuery.event.special[ orig ] = {\n\t\tdelegateType: fix,\n\t\tbindType: fix,\n\n\t\thandle: function( event ) {\n\t\t\tvar ret,\n\t\t\t\ttarget = this,\n\t\t\t\trelated = event.relatedTarget,\n\t\t\t\thandleObj = event.handleObj;\n\n\t\t\t// For mouseenter/leave call the handler if related is outside the target.\n\t\t\t// NB: No relatedTarget if the mouse left/entered the browser window\n\t\t\tif ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) {\n\t\t\t\tevent.type = handleObj.origType;\n\t\t\t\tret = handleObj.handler.apply( this, arguments );\n\t\t\t\tevent.type = fix;\n\t\t\t}\n\t\t\treturn ret;\n\t\t}\n\t};\n} );\n\njQuery.fn.extend( {\n\n\ton: function( types, selector, data, fn ) {\n\t\treturn on( this, types, selector, data, fn );\n\t},\n\tone: function( types, selector, data, fn ) {\n\t\treturn on( this, types, selector, data, fn, 1 );\n\t},\n\toff: function( types, selector, fn ) {\n\t\tvar handleObj, type;\n\t\tif ( types && types.preventDefault && types.handleObj ) {\n\n\t\t\t// ( event ) dispatched jQuery.Event\n\t\t\thandleObj = types.handleObj;\n\t\t\tjQuery( types.delegateTarget ).off(\n\t\t\t\thandleObj.namespace ?\n\t\t\t\t\thandleObj.origType + \".\" + handleObj.namespace :\n\t\t\t\t\thandleObj.origType,\n\t\t\t\thandleObj.selector,\n\t\t\t\thandleObj.handler\n\t\t\t);\n\t\t\treturn this;\n\t\t}\n\t\tif ( typeof types === \"object\" ) {\n\n\t\t\t// ( types-object [, selector] )\n\t\t\tfor ( type in types ) {\n\t\t\t\tthis.off( type, selector, types[ type ] );\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t\tif ( selector === false || typeof selector === \"function\" ) {\n\n\t\t\t// ( types [, fn] )\n\t\t\tfn = selector;\n\t\t\tselector = undefined;\n\t\t}\n\t\tif ( fn === false ) {\n\t\t\tfn = returnFalse;\n\t\t}\n\t\treturn this.each( function() {\n\t\t\tjQuery.event.remove( this, types, fn, selector );\n\t\t} );\n\t}\n} );\n\n\nvar\n\n\t// Support: IE <=10 - 11, Edge 12 - 13 only\n\t// In IE/Edge using regex groups here causes severe slowdowns.\n\t// See https://connect.microsoft.com/IE/feedback/details/1736512/\n\trnoInnerhtml = /\\s*$/g;\n\n// Prefer a tbody over its parent table for containing new rows\nfunction manipulationTarget( elem, content ) {\n\tif ( nodeName( elem, \"table\" ) &&\n\t\tnodeName( content.nodeType !== 11 ? content : content.firstChild, \"tr\" ) ) {\n\n\t\treturn jQuery( elem ).children( \"tbody\" )[ 0 ] || elem;\n\t}\n\n\treturn elem;\n}\n\n// Replace/restore the type attribute of script elements for safe DOM manipulation\nfunction disableScript( elem ) {\n\telem.type = ( elem.getAttribute( \"type\" ) !== null ) + \"/\" + elem.type;\n\treturn elem;\n}\nfunction restoreScript( elem ) {\n\tif ( ( elem.type || \"\" ).slice( 0, 5 ) === \"true/\" ) {\n\t\telem.type = elem.type.slice( 5 );\n\t} else {\n\t\telem.removeAttribute( \"type\" );\n\t}\n\n\treturn elem;\n}\n\nfunction cloneCopyEvent( src, dest ) {\n\tvar i, l, type, pdataOld, udataOld, udataCur, events;\n\n\tif ( dest.nodeType !== 1 ) {\n\t\treturn;\n\t}\n\n\t// 1. Copy private data: events, handlers, etc.\n\tif ( dataPriv.hasData( src ) ) {\n\t\tpdataOld = dataPriv.get( src );\n\t\tevents = pdataOld.events;\n\n\t\tif ( events ) {\n\t\t\tdataPriv.remove( dest, \"handle events\" );\n\n\t\t\tfor ( type in events ) {\n\t\t\t\tfor ( i = 0, l = events[ type ].length; i < l; i++ ) {\n\t\t\t\t\tjQuery.event.add( dest, type, events[ type ][ i ] );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// 2. Copy user data\n\tif ( dataUser.hasData( src ) ) {\n\t\tudataOld = dataUser.access( src );\n\t\tudataCur = jQuery.extend( {}, udataOld );\n\n\t\tdataUser.set( dest, udataCur );\n\t}\n}\n\n// Fix IE bugs, see support tests\nfunction fixInput( src, dest ) {\n\tvar nodeName = dest.nodeName.toLowerCase();\n\n\t// Fails to persist the checked state of a cloned checkbox or radio button.\n\tif ( nodeName === \"input\" && rcheckableType.test( src.type ) ) {\n\t\tdest.checked = src.checked;\n\n\t// Fails to return the selected option to the default selected state when cloning options\n\t} else if ( nodeName === \"input\" || nodeName === \"textarea\" ) {\n\t\tdest.defaultValue = src.defaultValue;\n\t}\n}\n\nfunction domManip( collection, args, callback, ignored ) {\n\n\t// Flatten any nested arrays\n\targs = flat( args );\n\n\tvar fragment, first, scripts, hasScripts, node, doc,\n\t\ti = 0,\n\t\tl = collection.length,\n\t\tiNoClone = l - 1,\n\t\tvalue = args[ 0 ],\n\t\tvalueIsFunction = isFunction( value );\n\n\t// We can't cloneNode fragments that contain checked, in WebKit\n\tif ( valueIsFunction ||\n\t\t\t( l > 1 && typeof value === \"string\" &&\n\t\t\t\t!support.checkClone && rchecked.test( value ) ) ) {\n\t\treturn collection.each( function( index ) {\n\t\t\tvar self = collection.eq( index );\n\t\t\tif ( valueIsFunction ) {\n\t\t\t\targs[ 0 ] = value.call( this, index, self.html() );\n\t\t\t}\n\t\t\tdomManip( self, args, callback, ignored );\n\t\t} );\n\t}\n\n\tif ( l ) {\n\t\tfragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored );\n\t\tfirst = fragment.firstChild;\n\n\t\tif ( fragment.childNodes.length === 1 ) {\n\t\t\tfragment = first;\n\t\t}\n\n\t\t// Require either new content or an interest in ignored elements to invoke the callback\n\t\tif ( first || ignored ) {\n\t\t\tscripts = jQuery.map( getAll( fragment, \"script\" ), disableScript );\n\t\t\thasScripts = scripts.length;\n\n\t\t\t// Use the original fragment for the last item\n\t\t\t// instead of the first because it can end up\n\t\t\t// being emptied incorrectly in certain situations (#8070).\n\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\tnode = fragment;\n\n\t\t\t\tif ( i !== iNoClone ) {\n\t\t\t\t\tnode = jQuery.clone( node, true, true );\n\n\t\t\t\t\t// Keep references to cloned scripts for later restoration\n\t\t\t\t\tif ( hasScripts ) {\n\n\t\t\t\t\t\t// Support: Android <=4.0 only, PhantomJS 1 only\n\t\t\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\t\t\t\t\tjQuery.merge( scripts, getAll( node, \"script\" ) );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tcallback.call( collection[ i ], node, i );\n\t\t\t}\n\n\t\t\tif ( hasScripts ) {\n\t\t\t\tdoc = scripts[ scripts.length - 1 ].ownerDocument;\n\n\t\t\t\t// Reenable scripts\n\t\t\t\tjQuery.map( scripts, restoreScript );\n\n\t\t\t\t// Evaluate executable scripts on first document insertion\n\t\t\t\tfor ( i = 0; i < hasScripts; i++ ) {\n\t\t\t\t\tnode = scripts[ i ];\n\t\t\t\t\tif ( rscriptType.test( node.type || \"\" ) &&\n\t\t\t\t\t\t!dataPriv.access( node, \"globalEval\" ) &&\n\t\t\t\t\t\tjQuery.contains( doc, node ) ) {\n\n\t\t\t\t\t\tif ( node.src && ( node.type || \"\" ).toLowerCase() !== \"module\" ) {\n\n\t\t\t\t\t\t\t// Optional AJAX dependency, but won't run scripts if not present\n\t\t\t\t\t\t\tif ( jQuery._evalUrl && !node.noModule ) {\n\t\t\t\t\t\t\t\tjQuery._evalUrl( node.src, {\n\t\t\t\t\t\t\t\t\tnonce: node.nonce || node.getAttribute( \"nonce\" )\n\t\t\t\t\t\t\t\t}, doc );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tDOMEval( node.textContent.replace( rcleanScript, \"\" ), node, doc );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn collection;\n}\n\nfunction remove( elem, selector, keepData ) {\n\tvar node,\n\t\tnodes = selector ? jQuery.filter( selector, elem ) : elem,\n\t\ti = 0;\n\n\tfor ( ; ( node = nodes[ i ] ) != null; i++ ) {\n\t\tif ( !keepData && node.nodeType === 1 ) {\n\t\t\tjQuery.cleanData( getAll( node ) );\n\t\t}\n\n\t\tif ( node.parentNode ) {\n\t\t\tif ( keepData && isAttached( node ) ) {\n\t\t\t\tsetGlobalEval( getAll( node, \"script\" ) );\n\t\t\t}\n\t\t\tnode.parentNode.removeChild( node );\n\t\t}\n\t}\n\n\treturn elem;\n}\n\njQuery.extend( {\n\thtmlPrefilter: function( html ) {\n\t\treturn html;\n\t},\n\n\tclone: function( elem, dataAndEvents, deepDataAndEvents ) {\n\t\tvar i, l, srcElements, destElements,\n\t\t\tclone = elem.cloneNode( true ),\n\t\t\tinPage = isAttached( elem );\n\n\t\t// Fix IE cloning issues\n\t\tif ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) &&\n\t\t\t\t!jQuery.isXMLDoc( elem ) ) {\n\n\t\t\t// We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2\n\t\t\tdestElements = getAll( clone );\n\t\t\tsrcElements = getAll( elem );\n\n\t\t\tfor ( i = 0, l = srcElements.length; i < l; i++ ) {\n\t\t\t\tfixInput( srcElements[ i ], destElements[ i ] );\n\t\t\t}\n\t\t}\n\n\t\t// Copy the events from the original to the clone\n\t\tif ( dataAndEvents ) {\n\t\t\tif ( deepDataAndEvents ) {\n\t\t\t\tsrcElements = srcElements || getAll( elem );\n\t\t\t\tdestElements = destElements || getAll( clone );\n\n\t\t\t\tfor ( i = 0, l = srcElements.length; i < l; i++ ) {\n\t\t\t\t\tcloneCopyEvent( srcElements[ i ], destElements[ i ] );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcloneCopyEvent( elem, clone );\n\t\t\t}\n\t\t}\n\n\t\t// Preserve script evaluation history\n\t\tdestElements = getAll( clone, \"script\" );\n\t\tif ( destElements.length > 0 ) {\n\t\t\tsetGlobalEval( destElements, !inPage && getAll( elem, \"script\" ) );\n\t\t}\n\n\t\t// Return the cloned set\n\t\treturn clone;\n\t},\n\n\tcleanData: function( elems ) {\n\t\tvar data, elem, type,\n\t\t\tspecial = jQuery.event.special,\n\t\t\ti = 0;\n\n\t\tfor ( ; ( elem = elems[ i ] ) !== undefined; i++ ) {\n\t\t\tif ( acceptData( elem ) ) {\n\t\t\t\tif ( ( data = elem[ dataPriv.expando ] ) ) {\n\t\t\t\t\tif ( data.events ) {\n\t\t\t\t\t\tfor ( type in data.events ) {\n\t\t\t\t\t\t\tif ( special[ type ] ) {\n\t\t\t\t\t\t\t\tjQuery.event.remove( elem, type );\n\n\t\t\t\t\t\t\t// This is a shortcut to avoid jQuery.event.remove's overhead\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tjQuery.removeEvent( elem, type, data.handle );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Support: Chrome <=35 - 45+\n\t\t\t\t\t// Assign undefined instead of using delete, see Data#remove\n\t\t\t\t\telem[ dataPriv.expando ] = undefined;\n\t\t\t\t}\n\t\t\t\tif ( elem[ dataUser.expando ] ) {\n\n\t\t\t\t\t// Support: Chrome <=35 - 45+\n\t\t\t\t\t// Assign undefined instead of using delete, see Data#remove\n\t\t\t\t\telem[ dataUser.expando ] = undefined;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n} );\n\njQuery.fn.extend( {\n\tdetach: function( selector ) {\n\t\treturn remove( this, selector, true );\n\t},\n\n\tremove: function( selector ) {\n\t\treturn remove( this, selector );\n\t},\n\n\ttext: function( value ) {\n\t\treturn access( this, function( value ) {\n\t\t\treturn value === undefined ?\n\t\t\t\tjQuery.text( this ) :\n\t\t\t\tthis.empty().each( function() {\n\t\t\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\t\t\tthis.textContent = value;\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t}, null, value, arguments.length );\n\t},\n\n\tappend: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\tvar target = manipulationTarget( this, elem );\n\t\t\t\ttarget.appendChild( elem );\n\t\t\t}\n\t\t} );\n\t},\n\n\tprepend: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\tvar target = manipulationTarget( this, elem );\n\t\t\t\ttarget.insertBefore( elem, target.firstChild );\n\t\t\t}\n\t\t} );\n\t},\n\n\tbefore: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.parentNode ) {\n\t\t\t\tthis.parentNode.insertBefore( elem, this );\n\t\t\t}\n\t\t} );\n\t},\n\n\tafter: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.parentNode ) {\n\t\t\t\tthis.parentNode.insertBefore( elem, this.nextSibling );\n\t\t\t}\n\t\t} );\n\t},\n\n\tempty: function() {\n\t\tvar elem,\n\t\t\ti = 0;\n\n\t\tfor ( ; ( elem = this[ i ] ) != null; i++ ) {\n\t\t\tif ( elem.nodeType === 1 ) {\n\n\t\t\t\t// Prevent memory leaks\n\t\t\t\tjQuery.cleanData( getAll( elem, false ) );\n\n\t\t\t\t// Remove any remaining nodes\n\t\t\t\telem.textContent = \"\";\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\tclone: function( dataAndEvents, deepDataAndEvents ) {\n\t\tdataAndEvents = dataAndEvents == null ? false : dataAndEvents;\n\t\tdeepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;\n\n\t\treturn this.map( function() {\n\t\t\treturn jQuery.clone( this, dataAndEvents, deepDataAndEvents );\n\t\t} );\n\t},\n\n\thtml: function( value ) {\n\t\treturn access( this, function( value ) {\n\t\t\tvar elem = this[ 0 ] || {},\n\t\t\t\ti = 0,\n\t\t\t\tl = this.length;\n\n\t\t\tif ( value === undefined && elem.nodeType === 1 ) {\n\t\t\t\treturn elem.innerHTML;\n\t\t\t}\n\n\t\t\t// See if we can take a shortcut and just use innerHTML\n\t\t\tif ( typeof value === \"string\" && !rnoInnerhtml.test( value ) &&\n\t\t\t\t!wrapMap[ ( rtagName.exec( value ) || [ \"\", \"\" ] )[ 1 ].toLowerCase() ] ) {\n\n\t\t\t\tvalue = jQuery.htmlPrefilter( value );\n\n\t\t\t\ttry {\n\t\t\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\t\t\telem = this[ i ] || {};\n\n\t\t\t\t\t\t// Remove element nodes and prevent memory leaks\n\t\t\t\t\t\tif ( elem.nodeType === 1 ) {\n\t\t\t\t\t\t\tjQuery.cleanData( getAll( elem, false ) );\n\t\t\t\t\t\t\telem.innerHTML = value;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\telem = 0;\n\n\t\t\t\t// If using innerHTML throws an exception, use the fallback method\n\t\t\t\t} catch ( e ) {}\n\t\t\t}\n\n\t\t\tif ( elem ) {\n\t\t\t\tthis.empty().append( value );\n\t\t\t}\n\t\t}, null, value, arguments.length );\n\t},\n\n\treplaceWith: function() {\n\t\tvar ignored = [];\n\n\t\t// Make the changes, replacing each non-ignored context element with the new content\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tvar parent = this.parentNode;\n\n\t\t\tif ( jQuery.inArray( this, ignored ) < 0 ) {\n\t\t\t\tjQuery.cleanData( getAll( this ) );\n\t\t\t\tif ( parent ) {\n\t\t\t\t\tparent.replaceChild( elem, this );\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Force callback invocation\n\t\t}, ignored );\n\t}\n} );\n\njQuery.each( {\n\tappendTo: \"append\",\n\tprependTo: \"prepend\",\n\tinsertBefore: \"before\",\n\tinsertAfter: \"after\",\n\treplaceAll: \"replaceWith\"\n}, function( name, original ) {\n\tjQuery.fn[ name ] = function( selector ) {\n\t\tvar elems,\n\t\t\tret = [],\n\t\t\tinsert = jQuery( selector ),\n\t\t\tlast = insert.length - 1,\n\t\t\ti = 0;\n\n\t\tfor ( ; i <= last; i++ ) {\n\t\t\telems = i === last ? this : this.clone( true );\n\t\t\tjQuery( insert[ i ] )[ original ]( elems );\n\n\t\t\t// Support: Android <=4.0 only, PhantomJS 1 only\n\t\t\t// .get() because push.apply(_, arraylike) throws on ancient WebKit\n\t\t\tpush.apply( ret, elems.get() );\n\t\t}\n\n\t\treturn this.pushStack( ret );\n\t};\n} );\nvar rnumnonpx = new RegExp( \"^(\" + pnum + \")(?!px)[a-z%]+$\", \"i\" );\n\nvar getStyles = function( elem ) {\n\n\t\t// Support: IE <=11 only, Firefox <=30 (#15098, #14150)\n\t\t// IE throws on elements created in popups\n\t\t// FF meanwhile throws on frame elements through \"defaultView.getComputedStyle\"\n\t\tvar view = elem.ownerDocument.defaultView;\n\n\t\tif ( !view || !view.opener ) {\n\t\t\tview = window;\n\t\t}\n\n\t\treturn view.getComputedStyle( elem );\n\t};\n\nvar swap = function( elem, options, callback ) {\n\tvar ret, name,\n\t\told = {};\n\n\t// Remember the old values, and insert the new ones\n\tfor ( name in options ) {\n\t\told[ name ] = elem.style[ name ];\n\t\telem.style[ name ] = options[ name ];\n\t}\n\n\tret = callback.call( elem );\n\n\t// Revert the old values\n\tfor ( name in options ) {\n\t\telem.style[ name ] = old[ name ];\n\t}\n\n\treturn ret;\n};\n\n\nvar rboxStyle = new RegExp( cssExpand.join( \"|\" ), \"i\" );\n\n\n\n( function() {\n\n\t// Executing both pixelPosition & boxSizingReliable tests require only one layout\n\t// so they're executed at the same time to save the second computation.\n\tfunction computeStyleTests() {\n\n\t\t// This is a singleton, we need to execute it only once\n\t\tif ( !div ) {\n\t\t\treturn;\n\t\t}\n\n\t\tcontainer.style.cssText = \"position:absolute;left:-11111px;width:60px;\" +\n\t\t\t\"margin-top:1px;padding:0;border:0\";\n\t\tdiv.style.cssText =\n\t\t\t\"position:relative;display:block;box-sizing:border-box;overflow:scroll;\" +\n\t\t\t\"margin:auto;border:1px;padding:1px;\" +\n\t\t\t\"width:60%;top:1%\";\n\t\tdocumentElement.appendChild( container ).appendChild( div );\n\n\t\tvar divStyle = window.getComputedStyle( div );\n\t\tpixelPositionVal = divStyle.top !== \"1%\";\n\n\t\t// Support: Android 4.0 - 4.3 only, Firefox <=3 - 44\n\t\treliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12;\n\n\t\t// Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3\n\t\t// Some styles come back with percentage values, even though they shouldn't\n\t\tdiv.style.right = \"60%\";\n\t\tpixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36;\n\n\t\t// Support: IE 9 - 11 only\n\t\t// Detect misreporting of content dimensions for box-sizing:border-box elements\n\t\tboxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36;\n\n\t\t// Support: IE 9 only\n\t\t// Detect overflow:scroll screwiness (gh-3699)\n\t\t// Support: Chrome <=64\n\t\t// Don't get tricked when zoom affects offsetWidth (gh-4029)\n\t\tdiv.style.position = \"absolute\";\n\t\tscrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12;\n\n\t\tdocumentElement.removeChild( container );\n\n\t\t// Nullify the div so it wouldn't be stored in the memory and\n\t\t// it will also be a sign that checks already performed\n\t\tdiv = null;\n\t}\n\n\tfunction roundPixelMeasures( measure ) {\n\t\treturn Math.round( parseFloat( measure ) );\n\t}\n\n\tvar pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal,\n\t\treliableTrDimensionsVal, reliableMarginLeftVal,\n\t\tcontainer = document.createElement( \"div\" ),\n\t\tdiv = document.createElement( \"div\" );\n\n\t// Finish early in limited (non-browser) environments\n\tif ( !div.style ) {\n\t\treturn;\n\t}\n\n\t// Support: IE <=9 - 11 only\n\t// Style of cloned element affects source element cloned (#8908)\n\tdiv.style.backgroundClip = \"content-box\";\n\tdiv.cloneNode( true ).style.backgroundClip = \"\";\n\tsupport.clearCloneStyle = div.style.backgroundClip === \"content-box\";\n\n\tjQuery.extend( support, {\n\t\tboxSizingReliable: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn boxSizingReliableVal;\n\t\t},\n\t\tpixelBoxStyles: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn pixelBoxStylesVal;\n\t\t},\n\t\tpixelPosition: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn pixelPositionVal;\n\t\t},\n\t\treliableMarginLeft: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn reliableMarginLeftVal;\n\t\t},\n\t\tscrollboxSize: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn scrollboxSizeVal;\n\t\t},\n\n\t\t// Support: IE 9 - 11+, Edge 15 - 18+\n\t\t// IE/Edge misreport `getComputedStyle` of table rows with width/height\n\t\t// set in CSS while `offset*` properties report correct values.\n\t\t// Behavior in IE 9 is more subtle than in newer versions & it passes\n\t\t// some versions of this test; make sure not to make it pass there!\n\t\treliableTrDimensions: function() {\n\t\t\tvar table, tr, trChild, trStyle;\n\t\t\tif ( reliableTrDimensionsVal == null ) {\n\t\t\t\ttable = document.createElement( \"table\" );\n\t\t\t\ttr = document.createElement( \"tr\" );\n\t\t\t\ttrChild = document.createElement( \"div\" );\n\n\t\t\t\ttable.style.cssText = \"position:absolute;left:-11111px\";\n\t\t\t\ttr.style.height = \"1px\";\n\t\t\t\ttrChild.style.height = \"9px\";\n\n\t\t\t\tdocumentElement\n\t\t\t\t\t.appendChild( table )\n\t\t\t\t\t.appendChild( tr )\n\t\t\t\t\t.appendChild( trChild );\n\n\t\t\t\ttrStyle = window.getComputedStyle( tr );\n\t\t\t\treliableTrDimensionsVal = parseInt( trStyle.height ) > 3;\n\n\t\t\t\tdocumentElement.removeChild( table );\n\t\t\t}\n\t\t\treturn reliableTrDimensionsVal;\n\t\t}\n\t} );\n} )();\n\n\nfunction curCSS( elem, name, computed ) {\n\tvar width, minWidth, maxWidth, ret,\n\n\t\t// Support: Firefox 51+\n\t\t// Retrieving style before computed somehow\n\t\t// fixes an issue with getting wrong values\n\t\t// on detached elements\n\t\tstyle = elem.style;\n\n\tcomputed = computed || getStyles( elem );\n\n\t// getPropertyValue is needed for:\n\t// .css('filter') (IE 9 only, #12537)\n\t// .css('--customProperty) (#3144)\n\tif ( computed ) {\n\t\tret = computed.getPropertyValue( name ) || computed[ name ];\n\n\t\tif ( ret === \"\" && !isAttached( elem ) ) {\n\t\t\tret = jQuery.style( elem, name );\n\t\t}\n\n\t\t// A tribute to the \"awesome hack by Dean Edwards\"\n\t\t// Android Browser returns percentage for some values,\n\t\t// but width seems to be reliably pixels.\n\t\t// This is against the CSSOM draft spec:\n\t\t// https://drafts.csswg.org/cssom/#resolved-values\n\t\tif ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) {\n\n\t\t\t// Remember the original values\n\t\t\twidth = style.width;\n\t\t\tminWidth = style.minWidth;\n\t\t\tmaxWidth = style.maxWidth;\n\n\t\t\t// Put in the new values to get a computed value out\n\t\t\tstyle.minWidth = style.maxWidth = style.width = ret;\n\t\t\tret = computed.width;\n\n\t\t\t// Revert the changed values\n\t\t\tstyle.width = width;\n\t\t\tstyle.minWidth = minWidth;\n\t\t\tstyle.maxWidth = maxWidth;\n\t\t}\n\t}\n\n\treturn ret !== undefined ?\n\n\t\t// Support: IE <=9 - 11 only\n\t\t// IE returns zIndex value as an integer.\n\t\tret + \"\" :\n\t\tret;\n}\n\n\nfunction addGetHookIf( conditionFn, hookFn ) {\n\n\t// Define the hook, we'll check on the first run if it's really needed.\n\treturn {\n\t\tget: function() {\n\t\t\tif ( conditionFn() ) {\n\n\t\t\t\t// Hook not needed (or it's not possible to use it due\n\t\t\t\t// to missing dependency), remove it.\n\t\t\t\tdelete this.get;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Hook needed; redefine it so that the support test is not executed again.\n\t\t\treturn ( this.get = hookFn ).apply( this, arguments );\n\t\t}\n\t};\n}\n\n\nvar cssPrefixes = [ \"Webkit\", \"Moz\", \"ms\" ],\n\temptyStyle = document.createElement( \"div\" ).style,\n\tvendorProps = {};\n\n// Return a vendor-prefixed property or undefined\nfunction vendorPropName( name ) {\n\n\t// Check for vendor prefixed names\n\tvar capName = name[ 0 ].toUpperCase() + name.slice( 1 ),\n\t\ti = cssPrefixes.length;\n\n\twhile ( i-- ) {\n\t\tname = cssPrefixes[ i ] + capName;\n\t\tif ( name in emptyStyle ) {\n\t\t\treturn name;\n\t\t}\n\t}\n}\n\n// Return a potentially-mapped jQuery.cssProps or vendor prefixed property\nfunction finalPropName( name ) {\n\tvar final = jQuery.cssProps[ name ] || vendorProps[ name ];\n\n\tif ( final ) {\n\t\treturn final;\n\t}\n\tif ( name in emptyStyle ) {\n\t\treturn name;\n\t}\n\treturn vendorProps[ name ] = vendorPropName( name ) || name;\n}\n\n\nvar\n\n\t// Swappable if display is none or starts with table\n\t// except \"table\", \"table-cell\", or \"table-caption\"\n\t// See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display\n\trdisplayswap = /^(none|table(?!-c[ea]).+)/,\n\trcustomProp = /^--/,\n\tcssShow = { position: \"absolute\", visibility: \"hidden\", display: \"block\" },\n\tcssNormalTransform = {\n\t\tletterSpacing: \"0\",\n\t\tfontWeight: \"400\"\n\t};\n\nfunction setPositiveNumber( _elem, value, subtract ) {\n\n\t// Any relative (+/-) values have already been\n\t// normalized at this point\n\tvar matches = rcssNum.exec( value );\n\treturn matches ?\n\n\t\t// Guard against undefined \"subtract\", e.g., when used as in cssHooks\n\t\tMath.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || \"px\" ) :\n\t\tvalue;\n}\n\nfunction boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) {\n\tvar i = dimension === \"width\" ? 1 : 0,\n\t\textra = 0,\n\t\tdelta = 0;\n\n\t// Adjustment may not be necessary\n\tif ( box === ( isBorderBox ? \"border\" : \"content\" ) ) {\n\t\treturn 0;\n\t}\n\n\tfor ( ; i < 4; i += 2 ) {\n\n\t\t// Both box models exclude margin\n\t\tif ( box === \"margin\" ) {\n\t\t\tdelta += jQuery.css( elem, box + cssExpand[ i ], true, styles );\n\t\t}\n\n\t\t// If we get here with a content-box, we're seeking \"padding\" or \"border\" or \"margin\"\n\t\tif ( !isBorderBox ) {\n\n\t\t\t// Add padding\n\t\t\tdelta += jQuery.css( elem, \"padding\" + cssExpand[ i ], true, styles );\n\n\t\t\t// For \"border\" or \"margin\", add border\n\t\t\tif ( box !== \"padding\" ) {\n\t\t\t\tdelta += jQuery.css( elem, \"border\" + cssExpand[ i ] + \"Width\", true, styles );\n\n\t\t\t// But still keep track of it otherwise\n\t\t\t} else {\n\t\t\t\textra += jQuery.css( elem, \"border\" + cssExpand[ i ] + \"Width\", true, styles );\n\t\t\t}\n\n\t\t// If we get here with a border-box (content + padding + border), we're seeking \"content\" or\n\t\t// \"padding\" or \"margin\"\n\t\t} else {\n\n\t\t\t// For \"content\", subtract padding\n\t\t\tif ( box === \"content\" ) {\n\t\t\t\tdelta -= jQuery.css( elem, \"padding\" + cssExpand[ i ], true, styles );\n\t\t\t}\n\n\t\t\t// For \"content\" or \"padding\", subtract border\n\t\t\tif ( box !== \"margin\" ) {\n\t\t\t\tdelta -= jQuery.css( elem, \"border\" + cssExpand[ i ] + \"Width\", true, styles );\n\t\t\t}\n\t\t}\n\t}\n\n\t// Account for positive content-box scroll gutter when requested by providing computedVal\n\tif ( !isBorderBox && computedVal >= 0 ) {\n\n\t\t// offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border\n\t\t// Assuming integer scroll gutter, subtract the rest and round down\n\t\tdelta += Math.max( 0, Math.ceil(\n\t\t\telem[ \"offset\" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] -\n\t\t\tcomputedVal -\n\t\t\tdelta -\n\t\t\textra -\n\t\t\t0.5\n\n\t\t// If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter\n\t\t// Use an explicit zero to avoid NaN (gh-3964)\n\t\t) ) || 0;\n\t}\n\n\treturn delta;\n}\n\nfunction getWidthOrHeight( elem, dimension, extra ) {\n\n\t// Start with computed style\n\tvar styles = getStyles( elem ),\n\n\t\t// To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322).\n\t\t// Fake content-box until we know it's needed to know the true value.\n\t\tboxSizingNeeded = !support.boxSizingReliable() || extra,\n\t\tisBorderBox = boxSizingNeeded &&\n\t\t\tjQuery.css( elem, \"boxSizing\", false, styles ) === \"border-box\",\n\t\tvalueIsBorderBox = isBorderBox,\n\n\t\tval = curCSS( elem, dimension, styles ),\n\t\toffsetProp = \"offset\" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 );\n\n\t// Support: Firefox <=54\n\t// Return a confounding non-pixel value or feign ignorance, as appropriate.\n\tif ( rnumnonpx.test( val ) ) {\n\t\tif ( !extra ) {\n\t\t\treturn val;\n\t\t}\n\t\tval = \"auto\";\n\t}\n\n\n\t// Support: IE 9 - 11 only\n\t// Use offsetWidth/offsetHeight for when box sizing is unreliable.\n\t// In those cases, the computed value can be trusted to be border-box.\n\tif ( ( !support.boxSizingReliable() && isBorderBox ||\n\n\t\t// Support: IE 10 - 11+, Edge 15 - 18+\n\t\t// IE/Edge misreport `getComputedStyle` of table rows with width/height\n\t\t// set in CSS while `offset*` properties report correct values.\n\t\t// Interestingly, in some cases IE 9 doesn't suffer from this issue.\n\t\t!support.reliableTrDimensions() && nodeName( elem, \"tr\" ) ||\n\n\t\t// Fall back to offsetWidth/offsetHeight when value is \"auto\"\n\t\t// This happens for inline elements with no explicit setting (gh-3571)\n\t\tval === \"auto\" ||\n\n\t\t// Support: Android <=4.1 - 4.3 only\n\t\t// Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602)\n\t\t!parseFloat( val ) && jQuery.css( elem, \"display\", false, styles ) === \"inline\" ) &&\n\n\t\t// Make sure the element is visible & connected\n\t\telem.getClientRects().length ) {\n\n\t\tisBorderBox = jQuery.css( elem, \"boxSizing\", false, styles ) === \"border-box\";\n\n\t\t// Where available, offsetWidth/offsetHeight approximate border box dimensions.\n\t\t// Where not available (e.g., SVG), assume unreliable box-sizing and interpret the\n\t\t// retrieved value as a content box dimension.\n\t\tvalueIsBorderBox = offsetProp in elem;\n\t\tif ( valueIsBorderBox ) {\n\t\t\tval = elem[ offsetProp ];\n\t\t}\n\t}\n\n\t// Normalize \"\" and auto\n\tval = parseFloat( val ) || 0;\n\n\t// Adjust for the element's box model\n\treturn ( val +\n\t\tboxModelAdjustment(\n\t\t\telem,\n\t\t\tdimension,\n\t\t\textra || ( isBorderBox ? \"border\" : \"content\" ),\n\t\t\tvalueIsBorderBox,\n\t\t\tstyles,\n\n\t\t\t// Provide the current computed size to request scroll gutter calculation (gh-3589)\n\t\t\tval\n\t\t)\n\t) + \"px\";\n}\n\njQuery.extend( {\n\n\t// Add in style property hooks for overriding the default\n\t// behavior of getting and setting a style property\n\tcssHooks: {\n\t\topacity: {\n\t\t\tget: function( elem, computed ) {\n\t\t\t\tif ( computed ) {\n\n\t\t\t\t\t// We should always get a number back from opacity\n\t\t\t\t\tvar ret = curCSS( elem, \"opacity\" );\n\t\t\t\t\treturn ret === \"\" ? \"1\" : ret;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\t// Don't automatically add \"px\" to these possibly-unitless properties\n\tcssNumber: {\n\t\t\"animationIterationCount\": true,\n\t\t\"columnCount\": true,\n\t\t\"fillOpacity\": true,\n\t\t\"flexGrow\": true,\n\t\t\"flexShrink\": true,\n\t\t\"fontWeight\": true,\n\t\t\"gridArea\": true,\n\t\t\"gridColumn\": true,\n\t\t\"gridColumnEnd\": true,\n\t\t\"gridColumnStart\": true,\n\t\t\"gridRow\": true,\n\t\t\"gridRowEnd\": true,\n\t\t\"gridRowStart\": true,\n\t\t\"lineHeight\": true,\n\t\t\"opacity\": true,\n\t\t\"order\": true,\n\t\t\"orphans\": true,\n\t\t\"widows\": true,\n\t\t\"zIndex\": true,\n\t\t\"zoom\": true\n\t},\n\n\t// Add in properties whose names you wish to fix before\n\t// setting or getting the value\n\tcssProps: {},\n\n\t// Get and set the style property on a DOM Node\n\tstyle: function( elem, name, value, extra ) {\n\n\t\t// Don't set styles on text and comment nodes\n\t\tif ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Make sure that we're working with the right name\n\t\tvar ret, type, hooks,\n\t\t\torigName = camelCase( name ),\n\t\t\tisCustomProp = rcustomProp.test( name ),\n\t\t\tstyle = elem.style;\n\n\t\t// Make sure that we're working with the right name. We don't\n\t\t// want to query the value if it is a CSS custom property\n\t\t// since they are user-defined.\n\t\tif ( !isCustomProp ) {\n\t\t\tname = finalPropName( origName );\n\t\t}\n\n\t\t// Gets hook for the prefixed version, then unprefixed version\n\t\thooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];\n\n\t\t// Check if we're setting a value\n\t\tif ( value !== undefined ) {\n\t\t\ttype = typeof value;\n\n\t\t\t// Convert \"+=\" or \"-=\" to relative numbers (#7345)\n\t\t\tif ( type === \"string\" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) {\n\t\t\t\tvalue = adjustCSS( elem, name, ret );\n\n\t\t\t\t// Fixes bug #9237\n\t\t\t\ttype = \"number\";\n\t\t\t}\n\n\t\t\t// Make sure that null and NaN values aren't set (#7116)\n\t\t\tif ( value == null || value !== value ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// If a number was passed in, add the unit (except for certain CSS properties)\n\t\t\t// The isCustomProp check can be removed in jQuery 4.0 when we only auto-append\n\t\t\t// \"px\" to a few hardcoded values.\n\t\t\tif ( type === \"number\" && !isCustomProp ) {\n\t\t\t\tvalue += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? \"\" : \"px\" );\n\t\t\t}\n\n\t\t\t// background-* props affect original clone's values\n\t\t\tif ( !support.clearCloneStyle && value === \"\" && name.indexOf( \"background\" ) === 0 ) {\n\t\t\t\tstyle[ name ] = \"inherit\";\n\t\t\t}\n\n\t\t\t// If a hook was provided, use that value, otherwise just set the specified value\n\t\t\tif ( !hooks || !( \"set\" in hooks ) ||\n\t\t\t\t( value = hooks.set( elem, value, extra ) ) !== undefined ) {\n\n\t\t\t\tif ( isCustomProp ) {\n\t\t\t\t\tstyle.setProperty( name, value );\n\t\t\t\t} else {\n\t\t\t\t\tstyle[ name ] = value;\n\t\t\t\t}\n\t\t\t}\n\n\t\t} else {\n\n\t\t\t// If a hook was provided get the non-computed value from there\n\t\t\tif ( hooks && \"get\" in hooks &&\n\t\t\t\t( ret = hooks.get( elem, false, extra ) ) !== undefined ) {\n\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\t// Otherwise just get the value from the style object\n\t\t\treturn style[ name ];\n\t\t}\n\t},\n\n\tcss: function( elem, name, extra, styles ) {\n\t\tvar val, num, hooks,\n\t\t\torigName = camelCase( name ),\n\t\t\tisCustomProp = rcustomProp.test( name );\n\n\t\t// Make sure that we're working with the right name. We don't\n\t\t// want to modify the value if it is a CSS custom property\n\t\t// since they are user-defined.\n\t\tif ( !isCustomProp ) {\n\t\t\tname = finalPropName( origName );\n\t\t}\n\n\t\t// Try prefixed name followed by the unprefixed name\n\t\thooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];\n\n\t\t// If a hook was provided get the computed value from there\n\t\tif ( hooks && \"get\" in hooks ) {\n\t\t\tval = hooks.get( elem, true, extra );\n\t\t}\n\n\t\t// Otherwise, if a way to get the computed value exists, use that\n\t\tif ( val === undefined ) {\n\t\t\tval = curCSS( elem, name, styles );\n\t\t}\n\n\t\t// Convert \"normal\" to computed value\n\t\tif ( val === \"normal\" && name in cssNormalTransform ) {\n\t\t\tval = cssNormalTransform[ name ];\n\t\t}\n\n\t\t// Make numeric if forced or a qualifier was provided and val looks numeric\n\t\tif ( extra === \"\" || extra ) {\n\t\t\tnum = parseFloat( val );\n\t\t\treturn extra === true || isFinite( num ) ? num || 0 : val;\n\t\t}\n\n\t\treturn val;\n\t}\n} );\n\njQuery.each( [ \"height\", \"width\" ], function( _i, dimension ) {\n\tjQuery.cssHooks[ dimension ] = {\n\t\tget: function( elem, computed, extra ) {\n\t\t\tif ( computed ) {\n\n\t\t\t\t// Certain elements can have dimension info if we invisibly show them\n\t\t\t\t// but it must have a current display style that would benefit\n\t\t\t\treturn rdisplayswap.test( jQuery.css( elem, \"display\" ) ) &&\n\n\t\t\t\t\t// Support: Safari 8+\n\t\t\t\t\t// Table columns in Safari have non-zero offsetWidth & zero\n\t\t\t\t\t// getBoundingClientRect().width unless display is changed.\n\t\t\t\t\t// Support: IE <=11 only\n\t\t\t\t\t// Running getBoundingClientRect on a disconnected node\n\t\t\t\t\t// in IE throws an error.\n\t\t\t\t\t( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ?\n\t\t\t\t\t\tswap( elem, cssShow, function() {\n\t\t\t\t\t\t\treturn getWidthOrHeight( elem, dimension, extra );\n\t\t\t\t\t\t} ) :\n\t\t\t\t\t\tgetWidthOrHeight( elem, dimension, extra );\n\t\t\t}\n\t\t},\n\n\t\tset: function( elem, value, extra ) {\n\t\t\tvar matches,\n\t\t\t\tstyles = getStyles( elem ),\n\n\t\t\t\t// Only read styles.position if the test has a chance to fail\n\t\t\t\t// to avoid forcing a reflow.\n\t\t\t\tscrollboxSizeBuggy = !support.scrollboxSize() &&\n\t\t\t\t\tstyles.position === \"absolute\",\n\n\t\t\t\t// To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991)\n\t\t\t\tboxSizingNeeded = scrollboxSizeBuggy || extra,\n\t\t\t\tisBorderBox = boxSizingNeeded &&\n\t\t\t\t\tjQuery.css( elem, \"boxSizing\", false, styles ) === \"border-box\",\n\t\t\t\tsubtract = extra ?\n\t\t\t\t\tboxModelAdjustment(\n\t\t\t\t\t\telem,\n\t\t\t\t\t\tdimension,\n\t\t\t\t\t\textra,\n\t\t\t\t\t\tisBorderBox,\n\t\t\t\t\t\tstyles\n\t\t\t\t\t) :\n\t\t\t\t\t0;\n\n\t\t\t// Account for unreliable border-box dimensions by comparing offset* to computed and\n\t\t\t// faking a content-box to get border and padding (gh-3699)\n\t\t\tif ( isBorderBox && scrollboxSizeBuggy ) {\n\t\t\t\tsubtract -= Math.ceil(\n\t\t\t\t\telem[ \"offset\" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] -\n\t\t\t\t\tparseFloat( styles[ dimension ] ) -\n\t\t\t\t\tboxModelAdjustment( elem, dimension, \"border\", false, styles ) -\n\t\t\t\t\t0.5\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Convert to pixels if value adjustment is needed\n\t\t\tif ( subtract && ( matches = rcssNum.exec( value ) ) &&\n\t\t\t\t( matches[ 3 ] || \"px\" ) !== \"px\" ) {\n\n\t\t\t\telem.style[ dimension ] = value;\n\t\t\t\tvalue = jQuery.css( elem, dimension );\n\t\t\t}\n\n\t\t\treturn setPositiveNumber( elem, value, subtract );\n\t\t}\n\t};\n} );\n\njQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft,\n\tfunction( elem, computed ) {\n\t\tif ( computed ) {\n\t\t\treturn ( parseFloat( curCSS( elem, \"marginLeft\" ) ) ||\n\t\t\t\telem.getBoundingClientRect().left -\n\t\t\t\t\tswap( elem, { marginLeft: 0 }, function() {\n\t\t\t\t\t\treturn elem.getBoundingClientRect().left;\n\t\t\t\t\t} )\n\t\t\t\t) + \"px\";\n\t\t}\n\t}\n);\n\n// These hooks are used by animate to expand properties\njQuery.each( {\n\tmargin: \"\",\n\tpadding: \"\",\n\tborder: \"Width\"\n}, function( prefix, suffix ) {\n\tjQuery.cssHooks[ prefix + suffix ] = {\n\t\texpand: function( value ) {\n\t\t\tvar i = 0,\n\t\t\t\texpanded = {},\n\n\t\t\t\t// Assumes a single number if not a string\n\t\t\t\tparts = typeof value === \"string\" ? value.split( \" \" ) : [ value ];\n\n\t\t\tfor ( ; i < 4; i++ ) {\n\t\t\t\texpanded[ prefix + cssExpand[ i ] + suffix ] =\n\t\t\t\t\tparts[ i ] || parts[ i - 2 ] || parts[ 0 ];\n\t\t\t}\n\n\t\t\treturn expanded;\n\t\t}\n\t};\n\n\tif ( prefix !== \"margin\" ) {\n\t\tjQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber;\n\t}\n} );\n\njQuery.fn.extend( {\n\tcss: function( name, value ) {\n\t\treturn access( this, function( elem, name, value ) {\n\t\t\tvar styles, len,\n\t\t\t\tmap = {},\n\t\t\t\ti = 0;\n\n\t\t\tif ( Array.isArray( name ) ) {\n\t\t\t\tstyles = getStyles( elem );\n\t\t\t\tlen = name.length;\n\n\t\t\t\tfor ( ; i < len; i++ ) {\n\t\t\t\t\tmap[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles );\n\t\t\t\t}\n\n\t\t\t\treturn map;\n\t\t\t}\n\n\t\t\treturn value !== undefined ?\n\t\t\t\tjQuery.style( elem, name, value ) :\n\t\t\t\tjQuery.css( elem, name );\n\t\t}, name, value, arguments.length > 1 );\n\t}\n} );\n\n\nfunction Tween( elem, options, prop, end, easing ) {\n\treturn new Tween.prototype.init( elem, options, prop, end, easing );\n}\njQuery.Tween = Tween;\n\nTween.prototype = {\n\tconstructor: Tween,\n\tinit: function( elem, options, prop, end, easing, unit ) {\n\t\tthis.elem = elem;\n\t\tthis.prop = prop;\n\t\tthis.easing = easing || jQuery.easing._default;\n\t\tthis.options = options;\n\t\tthis.start = this.now = this.cur();\n\t\tthis.end = end;\n\t\tthis.unit = unit || ( jQuery.cssNumber[ prop ] ? \"\" : \"px\" );\n\t},\n\tcur: function() {\n\t\tvar hooks = Tween.propHooks[ this.prop ];\n\n\t\treturn hooks && hooks.get ?\n\t\t\thooks.get( this ) :\n\t\t\tTween.propHooks._default.get( this );\n\t},\n\trun: function( percent ) {\n\t\tvar eased,\n\t\t\thooks = Tween.propHooks[ this.prop ];\n\n\t\tif ( this.options.duration ) {\n\t\t\tthis.pos = eased = jQuery.easing[ this.easing ](\n\t\t\t\tpercent, this.options.duration * percent, 0, 1, this.options.duration\n\t\t\t);\n\t\t} else {\n\t\t\tthis.pos = eased = percent;\n\t\t}\n\t\tthis.now = ( this.end - this.start ) * eased + this.start;\n\n\t\tif ( this.options.step ) {\n\t\t\tthis.options.step.call( this.elem, this.now, this );\n\t\t}\n\n\t\tif ( hooks && hooks.set ) {\n\t\t\thooks.set( this );\n\t\t} else {\n\t\t\tTween.propHooks._default.set( this );\n\t\t}\n\t\treturn this;\n\t}\n};\n\nTween.prototype.init.prototype = Tween.prototype;\n\nTween.propHooks = {\n\t_default: {\n\t\tget: function( tween ) {\n\t\t\tvar result;\n\n\t\t\t// Use a property on the element directly when it is not a DOM element,\n\t\t\t// or when there is no matching style property that exists.\n\t\t\tif ( tween.elem.nodeType !== 1 ||\n\t\t\t\ttween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) {\n\t\t\t\treturn tween.elem[ tween.prop ];\n\t\t\t}\n\n\t\t\t// Passing an empty string as a 3rd parameter to .css will automatically\n\t\t\t// attempt a parseFloat and fallback to a string if the parse fails.\n\t\t\t// Simple values such as \"10px\" are parsed to Float;\n\t\t\t// complex values such as \"rotate(1rad)\" are returned as-is.\n\t\t\tresult = jQuery.css( tween.elem, tween.prop, \"\" );\n\n\t\t\t// Empty strings, null, undefined and \"auto\" are converted to 0.\n\t\t\treturn !result || result === \"auto\" ? 0 : result;\n\t\t},\n\t\tset: function( tween ) {\n\n\t\t\t// Use step hook for back compat.\n\t\t\t// Use cssHook if its there.\n\t\t\t// Use .style if available and use plain properties where available.\n\t\t\tif ( jQuery.fx.step[ tween.prop ] ) {\n\t\t\t\tjQuery.fx.step[ tween.prop ]( tween );\n\t\t\t} else if ( tween.elem.nodeType === 1 && (\n\t\t\t\t\tjQuery.cssHooks[ tween.prop ] ||\n\t\t\t\t\ttween.elem.style[ finalPropName( tween.prop ) ] != null ) ) {\n\t\t\t\tjQuery.style( tween.elem, tween.prop, tween.now + tween.unit );\n\t\t\t} else {\n\t\t\t\ttween.elem[ tween.prop ] = tween.now;\n\t\t\t}\n\t\t}\n\t}\n};\n\n// Support: IE <=9 only\n// Panic based approach to setting things on disconnected nodes\nTween.propHooks.scrollTop = Tween.propHooks.scrollLeft = {\n\tset: function( tween ) {\n\t\tif ( tween.elem.nodeType && tween.elem.parentNode ) {\n\t\t\ttween.elem[ tween.prop ] = tween.now;\n\t\t}\n\t}\n};\n\njQuery.easing = {\n\tlinear: function( p ) {\n\t\treturn p;\n\t},\n\tswing: function( p ) {\n\t\treturn 0.5 - Math.cos( p * Math.PI ) / 2;\n\t},\n\t_default: \"swing\"\n};\n\njQuery.fx = Tween.prototype.init;\n\n// Back compat <1.8 extension point\njQuery.fx.step = {};\n\n\n\n\nvar\n\tfxNow, inProgress,\n\trfxtypes = /^(?:toggle|show|hide)$/,\n\trrun = /queueHooks$/;\n\nfunction schedule() {\n\tif ( inProgress ) {\n\t\tif ( document.hidden === false && window.requestAnimationFrame ) {\n\t\t\twindow.requestAnimationFrame( schedule );\n\t\t} else {\n\t\t\twindow.setTimeout( schedule, jQuery.fx.interval );\n\t\t}\n\n\t\tjQuery.fx.tick();\n\t}\n}\n\n// Animations created synchronously will run synchronously\nfunction createFxNow() {\n\twindow.setTimeout( function() {\n\t\tfxNow = undefined;\n\t} );\n\treturn ( fxNow = Date.now() );\n}\n\n// Generate parameters to create a standard animation\nfunction genFx( type, includeWidth ) {\n\tvar which,\n\t\ti = 0,\n\t\tattrs = { height: type };\n\n\t// If we include width, step value is 1 to do all cssExpand values,\n\t// otherwise step value is 2 to skip over Left and Right\n\tincludeWidth = includeWidth ? 1 : 0;\n\tfor ( ; i < 4; i += 2 - includeWidth ) {\n\t\twhich = cssExpand[ i ];\n\t\tattrs[ \"margin\" + which ] = attrs[ \"padding\" + which ] = type;\n\t}\n\n\tif ( includeWidth ) {\n\t\tattrs.opacity = attrs.width = type;\n\t}\n\n\treturn attrs;\n}\n\nfunction createTween( value, prop, animation ) {\n\tvar tween,\n\t\tcollection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ \"*\" ] ),\n\t\tindex = 0,\n\t\tlength = collection.length;\n\tfor ( ; index < length; index++ ) {\n\t\tif ( ( tween = collection[ index ].call( animation, prop, value ) ) ) {\n\n\t\t\t// We're done with this property\n\t\t\treturn tween;\n\t\t}\n\t}\n}\n\nfunction defaultPrefilter( elem, props, opts ) {\n\tvar prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display,\n\t\tisBox = \"width\" in props || \"height\" in props,\n\t\tanim = this,\n\t\torig = {},\n\t\tstyle = elem.style,\n\t\thidden = elem.nodeType && isHiddenWithinTree( elem ),\n\t\tdataShow = dataPriv.get( elem, \"fxshow\" );\n\n\t// Queue-skipping animations hijack the fx hooks\n\tif ( !opts.queue ) {\n\t\thooks = jQuery._queueHooks( elem, \"fx\" );\n\t\tif ( hooks.unqueued == null ) {\n\t\t\thooks.unqueued = 0;\n\t\t\toldfire = hooks.empty.fire;\n\t\t\thooks.empty.fire = function() {\n\t\t\t\tif ( !hooks.unqueued ) {\n\t\t\t\t\toldfire();\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t\thooks.unqueued++;\n\n\t\tanim.always( function() {\n\n\t\t\t// Ensure the complete handler is called before this completes\n\t\t\tanim.always( function() {\n\t\t\t\thooks.unqueued--;\n\t\t\t\tif ( !jQuery.queue( elem, \"fx\" ).length ) {\n\t\t\t\t\thooks.empty.fire();\n\t\t\t\t}\n\t\t\t} );\n\t\t} );\n\t}\n\n\t// Detect show/hide animations\n\tfor ( prop in props ) {\n\t\tvalue = props[ prop ];\n\t\tif ( rfxtypes.test( value ) ) {\n\t\t\tdelete props[ prop ];\n\t\t\ttoggle = toggle || value === \"toggle\";\n\t\t\tif ( value === ( hidden ? \"hide\" : \"show\" ) ) {\n\n\t\t\t\t// Pretend to be hidden if this is a \"show\" and\n\t\t\t\t// there is still data from a stopped show/hide\n\t\t\t\tif ( value === \"show\" && dataShow && dataShow[ prop ] !== undefined ) {\n\t\t\t\t\thidden = true;\n\n\t\t\t\t// Ignore all other no-op show/hide data\n\t\t\t\t} else {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\t\t\torig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop );\n\t\t}\n\t}\n\n\t// Bail out if this is a no-op like .hide().hide()\n\tpropTween = !jQuery.isEmptyObject( props );\n\tif ( !propTween && jQuery.isEmptyObject( orig ) ) {\n\t\treturn;\n\t}\n\n\t// Restrict \"overflow\" and \"display\" styles during box animations\n\tif ( isBox && elem.nodeType === 1 ) {\n\n\t\t// Support: IE <=9 - 11, Edge 12 - 15\n\t\t// Record all 3 overflow attributes because IE does not infer the shorthand\n\t\t// from identically-valued overflowX and overflowY and Edge just mirrors\n\t\t// the overflowX value there.\n\t\topts.overflow = [ style.overflow, style.overflowX, style.overflowY ];\n\n\t\t// Identify a display type, preferring old show/hide data over the CSS cascade\n\t\trestoreDisplay = dataShow && dataShow.display;\n\t\tif ( restoreDisplay == null ) {\n\t\t\trestoreDisplay = dataPriv.get( elem, \"display\" );\n\t\t}\n\t\tdisplay = jQuery.css( elem, \"display\" );\n\t\tif ( display === \"none\" ) {\n\t\t\tif ( restoreDisplay ) {\n\t\t\t\tdisplay = restoreDisplay;\n\t\t\t} else {\n\n\t\t\t\t// Get nonempty value(s) by temporarily forcing visibility\n\t\t\t\tshowHide( [ elem ], true );\n\t\t\t\trestoreDisplay = elem.style.display || restoreDisplay;\n\t\t\t\tdisplay = jQuery.css( elem, \"display\" );\n\t\t\t\tshowHide( [ elem ] );\n\t\t\t}\n\t\t}\n\n\t\t// Animate inline elements as inline-block\n\t\tif ( display === \"inline\" || display === \"inline-block\" && restoreDisplay != null ) {\n\t\t\tif ( jQuery.css( elem, \"float\" ) === \"none\" ) {\n\n\t\t\t\t// Restore the original display value at the end of pure show/hide animations\n\t\t\t\tif ( !propTween ) {\n\t\t\t\t\tanim.done( function() {\n\t\t\t\t\t\tstyle.display = restoreDisplay;\n\t\t\t\t\t} );\n\t\t\t\t\tif ( restoreDisplay == null ) {\n\t\t\t\t\t\tdisplay = style.display;\n\t\t\t\t\t\trestoreDisplay = display === \"none\" ? \"\" : display;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tstyle.display = \"inline-block\";\n\t\t\t}\n\t\t}\n\t}\n\n\tif ( opts.overflow ) {\n\t\tstyle.overflow = \"hidden\";\n\t\tanim.always( function() {\n\t\t\tstyle.overflow = opts.overflow[ 0 ];\n\t\t\tstyle.overflowX = opts.overflow[ 1 ];\n\t\t\tstyle.overflowY = opts.overflow[ 2 ];\n\t\t} );\n\t}\n\n\t// Implement show/hide animations\n\tpropTween = false;\n\tfor ( prop in orig ) {\n\n\t\t// General show/hide setup for this element animation\n\t\tif ( !propTween ) {\n\t\t\tif ( dataShow ) {\n\t\t\t\tif ( \"hidden\" in dataShow ) {\n\t\t\t\t\thidden = dataShow.hidden;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tdataShow = dataPriv.access( elem, \"fxshow\", { display: restoreDisplay } );\n\t\t\t}\n\n\t\t\t// Store hidden/visible for toggle so `.stop().toggle()` \"reverses\"\n\t\t\tif ( toggle ) {\n\t\t\t\tdataShow.hidden = !hidden;\n\t\t\t}\n\n\t\t\t// Show elements before animating them\n\t\t\tif ( hidden ) {\n\t\t\t\tshowHide( [ elem ], true );\n\t\t\t}\n\n\t\t\t/* eslint-disable no-loop-func */\n\n\t\t\tanim.done( function() {\n\n\t\t\t/* eslint-enable no-loop-func */\n\n\t\t\t\t// The final step of a \"hide\" animation is actually hiding the element\n\t\t\t\tif ( !hidden ) {\n\t\t\t\t\tshowHide( [ elem ] );\n\t\t\t\t}\n\t\t\t\tdataPriv.remove( elem, \"fxshow\" );\n\t\t\t\tfor ( prop in orig ) {\n\t\t\t\t\tjQuery.style( elem, prop, orig[ prop ] );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\t// Per-property setup\n\t\tpropTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim );\n\t\tif ( !( prop in dataShow ) ) {\n\t\t\tdataShow[ prop ] = propTween.start;\n\t\t\tif ( hidden ) {\n\t\t\t\tpropTween.end = propTween.start;\n\t\t\t\tpropTween.start = 0;\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction propFilter( props, specialEasing ) {\n\tvar index, name, easing, value, hooks;\n\n\t// camelCase, specialEasing and expand cssHook pass\n\tfor ( index in props ) {\n\t\tname = camelCase( index );\n\t\teasing = specialEasing[ name ];\n\t\tvalue = props[ index ];\n\t\tif ( Array.isArray( value ) ) {\n\t\t\teasing = value[ 1 ];\n\t\t\tvalue = props[ index ] = value[ 0 ];\n\t\t}\n\n\t\tif ( index !== name ) {\n\t\t\tprops[ name ] = value;\n\t\t\tdelete props[ index ];\n\t\t}\n\n\t\thooks = jQuery.cssHooks[ name ];\n\t\tif ( hooks && \"expand\" in hooks ) {\n\t\t\tvalue = hooks.expand( value );\n\t\t\tdelete props[ name ];\n\n\t\t\t// Not quite $.extend, this won't overwrite existing keys.\n\t\t\t// Reusing 'index' because we have the correct \"name\"\n\t\t\tfor ( index in value ) {\n\t\t\t\tif ( !( index in props ) ) {\n\t\t\t\t\tprops[ index ] = value[ index ];\n\t\t\t\t\tspecialEasing[ index ] = easing;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tspecialEasing[ name ] = easing;\n\t\t}\n\t}\n}\n\nfunction Animation( elem, properties, options ) {\n\tvar result,\n\t\tstopped,\n\t\tindex = 0,\n\t\tlength = Animation.prefilters.length,\n\t\tdeferred = jQuery.Deferred().always( function() {\n\n\t\t\t// Don't match elem in the :animated selector\n\t\t\tdelete tick.elem;\n\t\t} ),\n\t\ttick = function() {\n\t\t\tif ( stopped ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tvar currentTime = fxNow || createFxNow(),\n\t\t\t\tremaining = Math.max( 0, animation.startTime + animation.duration - currentTime ),\n\n\t\t\t\t// Support: Android 2.3 only\n\t\t\t\t// Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497)\n\t\t\t\ttemp = remaining / animation.duration || 0,\n\t\t\t\tpercent = 1 - temp,\n\t\t\t\tindex = 0,\n\t\t\t\tlength = animation.tweens.length;\n\n\t\t\tfor ( ; index < length; index++ ) {\n\t\t\t\tanimation.tweens[ index ].run( percent );\n\t\t\t}\n\n\t\t\tdeferred.notifyWith( elem, [ animation, percent, remaining ] );\n\n\t\t\t// If there's more to do, yield\n\t\t\tif ( percent < 1 && length ) {\n\t\t\t\treturn remaining;\n\t\t\t}\n\n\t\t\t// If this was an empty animation, synthesize a final progress notification\n\t\t\tif ( !length ) {\n\t\t\t\tdeferred.notifyWith( elem, [ animation, 1, 0 ] );\n\t\t\t}\n\n\t\t\t// Resolve the animation and report its conclusion\n\t\t\tdeferred.resolveWith( elem, [ animation ] );\n\t\t\treturn false;\n\t\t},\n\t\tanimation = deferred.promise( {\n\t\t\telem: elem,\n\t\t\tprops: jQuery.extend( {}, properties ),\n\t\t\topts: jQuery.extend( true, {\n\t\t\t\tspecialEasing: {},\n\t\t\t\teasing: jQuery.easing._default\n\t\t\t}, options ),\n\t\t\toriginalProperties: properties,\n\t\t\toriginalOptions: options,\n\t\t\tstartTime: fxNow || createFxNow(),\n\t\t\tduration: options.duration,\n\t\t\ttweens: [],\n\t\t\tcreateTween: function( prop, end ) {\n\t\t\t\tvar tween = jQuery.Tween( elem, animation.opts, prop, end,\n\t\t\t\t\t\tanimation.opts.specialEasing[ prop ] || animation.opts.easing );\n\t\t\t\tanimation.tweens.push( tween );\n\t\t\t\treturn tween;\n\t\t\t},\n\t\t\tstop: function( gotoEnd ) {\n\t\t\t\tvar index = 0,\n\n\t\t\t\t\t// If we are going to the end, we want to run all the tweens\n\t\t\t\t\t// otherwise we skip this part\n\t\t\t\t\tlength = gotoEnd ? animation.tweens.length : 0;\n\t\t\t\tif ( stopped ) {\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\t\t\t\tstopped = true;\n\t\t\t\tfor ( ; index < length; index++ ) {\n\t\t\t\t\tanimation.tweens[ index ].run( 1 );\n\t\t\t\t}\n\n\t\t\t\t// Resolve when we played the last frame; otherwise, reject\n\t\t\t\tif ( gotoEnd ) {\n\t\t\t\t\tdeferred.notifyWith( elem, [ animation, 1, 0 ] );\n\t\t\t\t\tdeferred.resolveWith( elem, [ animation, gotoEnd ] );\n\t\t\t\t} else {\n\t\t\t\t\tdeferred.rejectWith( elem, [ animation, gotoEnd ] );\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t}\n\t\t} ),\n\t\tprops = animation.props;\n\n\tpropFilter( props, animation.opts.specialEasing );\n\n\tfor ( ; index < length; index++ ) {\n\t\tresult = Animation.prefilters[ index ].call( animation, elem, props, animation.opts );\n\t\tif ( result ) {\n\t\t\tif ( isFunction( result.stop ) ) {\n\t\t\t\tjQuery._queueHooks( animation.elem, animation.opts.queue ).stop =\n\t\t\t\t\tresult.stop.bind( result );\n\t\t\t}\n\t\t\treturn result;\n\t\t}\n\t}\n\n\tjQuery.map( props, createTween, animation );\n\n\tif ( isFunction( animation.opts.start ) ) {\n\t\tanimation.opts.start.call( elem, animation );\n\t}\n\n\t// Attach callbacks from options\n\tanimation\n\t\t.progress( animation.opts.progress )\n\t\t.done( animation.opts.done, animation.opts.complete )\n\t\t.fail( animation.opts.fail )\n\t\t.always( animation.opts.always );\n\n\tjQuery.fx.timer(\n\t\tjQuery.extend( tick, {\n\t\t\telem: elem,\n\t\t\tanim: animation,\n\t\t\tqueue: animation.opts.queue\n\t\t} )\n\t);\n\n\treturn animation;\n}\n\njQuery.Animation = jQuery.extend( Animation, {\n\n\ttweeners: {\n\t\t\"*\": [ function( prop, value ) {\n\t\t\tvar tween = this.createTween( prop, value );\n\t\t\tadjustCSS( tween.elem, prop, rcssNum.exec( value ), tween );\n\t\t\treturn tween;\n\t\t} ]\n\t},\n\n\ttweener: function( props, callback ) {\n\t\tif ( isFunction( props ) ) {\n\t\t\tcallback = props;\n\t\t\tprops = [ \"*\" ];\n\t\t} else {\n\t\t\tprops = props.match( rnothtmlwhite );\n\t\t}\n\n\t\tvar prop,\n\t\t\tindex = 0,\n\t\t\tlength = props.length;\n\n\t\tfor ( ; index < length; index++ ) {\n\t\t\tprop = props[ index ];\n\t\t\tAnimation.tweeners[ prop ] = Animation.tweeners[ prop ] || [];\n\t\t\tAnimation.tweeners[ prop ].unshift( callback );\n\t\t}\n\t},\n\n\tprefilters: [ defaultPrefilter ],\n\n\tprefilter: function( callback, prepend ) {\n\t\tif ( prepend ) {\n\t\t\tAnimation.prefilters.unshift( callback );\n\t\t} else {\n\t\t\tAnimation.prefilters.push( callback );\n\t\t}\n\t}\n} );\n\njQuery.speed = function( speed, easing, fn ) {\n\tvar opt = speed && typeof speed === \"object\" ? jQuery.extend( {}, speed ) : {\n\t\tcomplete: fn || !fn && easing ||\n\t\t\tisFunction( speed ) && speed,\n\t\tduration: speed,\n\t\teasing: fn && easing || easing && !isFunction( easing ) && easing\n\t};\n\n\t// Go to the end state if fx are off\n\tif ( jQuery.fx.off ) {\n\t\topt.duration = 0;\n\n\t} else {\n\t\tif ( typeof opt.duration !== \"number\" ) {\n\t\t\tif ( opt.duration in jQuery.fx.speeds ) {\n\t\t\t\topt.duration = jQuery.fx.speeds[ opt.duration ];\n\n\t\t\t} else {\n\t\t\t\topt.duration = jQuery.fx.speeds._default;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Normalize opt.queue - true/undefined/null -> \"fx\"\n\tif ( opt.queue == null || opt.queue === true ) {\n\t\topt.queue = \"fx\";\n\t}\n\n\t// Queueing\n\topt.old = opt.complete;\n\n\topt.complete = function() {\n\t\tif ( isFunction( opt.old ) ) {\n\t\t\topt.old.call( this );\n\t\t}\n\n\t\tif ( opt.queue ) {\n\t\t\tjQuery.dequeue( this, opt.queue );\n\t\t}\n\t};\n\n\treturn opt;\n};\n\njQuery.fn.extend( {\n\tfadeTo: function( speed, to, easing, callback ) {\n\n\t\t// Show any hidden elements after setting opacity to 0\n\t\treturn this.filter( isHiddenWithinTree ).css( \"opacity\", 0 ).show()\n\n\t\t\t// Animate to the value specified\n\t\t\t.end().animate( { opacity: to }, speed, easing, callback );\n\t},\n\tanimate: function( prop, speed, easing, callback ) {\n\t\tvar empty = jQuery.isEmptyObject( prop ),\n\t\t\toptall = jQuery.speed( speed, easing, callback ),\n\t\t\tdoAnimation = function() {\n\n\t\t\t\t// Operate on a copy of prop so per-property easing won't be lost\n\t\t\t\tvar anim = Animation( this, jQuery.extend( {}, prop ), optall );\n\n\t\t\t\t// Empty animations, or finishing resolves immediately\n\t\t\t\tif ( empty || dataPriv.get( this, \"finish\" ) ) {\n\t\t\t\t\tanim.stop( true );\n\t\t\t\t}\n\t\t\t};\n\t\t\tdoAnimation.finish = doAnimation;\n\n\t\treturn empty || optall.queue === false ?\n\t\t\tthis.each( doAnimation ) :\n\t\t\tthis.queue( optall.queue, doAnimation );\n\t},\n\tstop: function( type, clearQueue, gotoEnd ) {\n\t\tvar stopQueue = function( hooks ) {\n\t\t\tvar stop = hooks.stop;\n\t\t\tdelete hooks.stop;\n\t\t\tstop( gotoEnd );\n\t\t};\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tgotoEnd = clearQueue;\n\t\t\tclearQueue = type;\n\t\t\ttype = undefined;\n\t\t}\n\t\tif ( clearQueue ) {\n\t\t\tthis.queue( type || \"fx\", [] );\n\t\t}\n\n\t\treturn this.each( function() {\n\t\t\tvar dequeue = true,\n\t\t\t\tindex = type != null && type + \"queueHooks\",\n\t\t\t\ttimers = jQuery.timers,\n\t\t\t\tdata = dataPriv.get( this );\n\n\t\t\tif ( index ) {\n\t\t\t\tif ( data[ index ] && data[ index ].stop ) {\n\t\t\t\t\tstopQueue( data[ index ] );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor ( index in data ) {\n\t\t\t\t\tif ( data[ index ] && data[ index ].stop && rrun.test( index ) ) {\n\t\t\t\t\t\tstopQueue( data[ index ] );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor ( index = timers.length; index--; ) {\n\t\t\t\tif ( timers[ index ].elem === this &&\n\t\t\t\t\t( type == null || timers[ index ].queue === type ) ) {\n\n\t\t\t\t\ttimers[ index ].anim.stop( gotoEnd );\n\t\t\t\t\tdequeue = false;\n\t\t\t\t\ttimers.splice( index, 1 );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Start the next in the queue if the last step wasn't forced.\n\t\t\t// Timers currently will call their complete callbacks, which\n\t\t\t// will dequeue but only if they were gotoEnd.\n\t\t\tif ( dequeue || !gotoEnd ) {\n\t\t\t\tjQuery.dequeue( this, type );\n\t\t\t}\n\t\t} );\n\t},\n\tfinish: function( type ) {\n\t\tif ( type !== false ) {\n\t\t\ttype = type || \"fx\";\n\t\t}\n\t\treturn this.each( function() {\n\t\t\tvar index,\n\t\t\t\tdata = dataPriv.get( this ),\n\t\t\t\tqueue = data[ type + \"queue\" ],\n\t\t\t\thooks = data[ type + \"queueHooks\" ],\n\t\t\t\ttimers = jQuery.timers,\n\t\t\t\tlength = queue ? queue.length : 0;\n\n\t\t\t// Enable finishing flag on private data\n\t\t\tdata.finish = true;\n\n\t\t\t// Empty the queue first\n\t\t\tjQuery.queue( this, type, [] );\n\n\t\t\tif ( hooks && hooks.stop ) {\n\t\t\t\thooks.stop.call( this, true );\n\t\t\t}\n\n\t\t\t// Look for any active animations, and finish them\n\t\t\tfor ( index = timers.length; index--; ) {\n\t\t\t\tif ( timers[ index ].elem === this && timers[ index ].queue === type ) {\n\t\t\t\t\ttimers[ index ].anim.stop( true );\n\t\t\t\t\ttimers.splice( index, 1 );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Look for any animations in the old queue and finish them\n\t\t\tfor ( index = 0; index < length; index++ ) {\n\t\t\t\tif ( queue[ index ] && queue[ index ].finish ) {\n\t\t\t\t\tqueue[ index ].finish.call( this );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Turn off finishing flag\n\t\t\tdelete data.finish;\n\t\t} );\n\t}\n} );\n\njQuery.each( [ \"toggle\", \"show\", \"hide\" ], function( _i, name ) {\n\tvar cssFn = jQuery.fn[ name ];\n\tjQuery.fn[ name ] = function( speed, easing, callback ) {\n\t\treturn speed == null || typeof speed === \"boolean\" ?\n\t\t\tcssFn.apply( this, arguments ) :\n\t\t\tthis.animate( genFx( name, true ), speed, easing, callback );\n\t};\n} );\n\n// Generate shortcuts for custom animations\njQuery.each( {\n\tslideDown: genFx( \"show\" ),\n\tslideUp: genFx( \"hide\" ),\n\tslideToggle: genFx( \"toggle\" ),\n\tfadeIn: { opacity: \"show\" },\n\tfadeOut: { opacity: \"hide\" },\n\tfadeToggle: { opacity: \"toggle\" }\n}, function( name, props ) {\n\tjQuery.fn[ name ] = function( speed, easing, callback ) {\n\t\treturn this.animate( props, speed, easing, callback );\n\t};\n} );\n\njQuery.timers = [];\njQuery.fx.tick = function() {\n\tvar timer,\n\t\ti = 0,\n\t\ttimers = jQuery.timers;\n\n\tfxNow = Date.now();\n\n\tfor ( ; i < timers.length; i++ ) {\n\t\ttimer = timers[ i ];\n\n\t\t// Run the timer and safely remove it when done (allowing for external removal)\n\t\tif ( !timer() && timers[ i ] === timer ) {\n\t\t\ttimers.splice( i--, 1 );\n\t\t}\n\t}\n\n\tif ( !timers.length ) {\n\t\tjQuery.fx.stop();\n\t}\n\tfxNow = undefined;\n};\n\njQuery.fx.timer = function( timer ) {\n\tjQuery.timers.push( timer );\n\tjQuery.fx.start();\n};\n\njQuery.fx.interval = 13;\njQuery.fx.start = function() {\n\tif ( inProgress ) {\n\t\treturn;\n\t}\n\n\tinProgress = true;\n\tschedule();\n};\n\njQuery.fx.stop = function() {\n\tinProgress = null;\n};\n\njQuery.fx.speeds = {\n\tslow: 600,\n\tfast: 200,\n\n\t// Default speed\n\t_default: 400\n};\n\n\n// Based off of the plugin by Clint Helfers, with permission.\n// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/\njQuery.fn.delay = function( time, type ) {\n\ttime = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;\n\ttype = type || \"fx\";\n\n\treturn this.queue( type, function( next, hooks ) {\n\t\tvar timeout = window.setTimeout( next, time );\n\t\thooks.stop = function() {\n\t\t\twindow.clearTimeout( timeout );\n\t\t};\n\t} );\n};\n\n\n( function() {\n\tvar input = document.createElement( \"input\" ),\n\t\tselect = document.createElement( \"select\" ),\n\t\topt = select.appendChild( document.createElement( \"option\" ) );\n\n\tinput.type = \"checkbox\";\n\n\t// Support: Android <=4.3 only\n\t// Default value for a checkbox should be \"on\"\n\tsupport.checkOn = input.value !== \"\";\n\n\t// Support: IE <=11 only\n\t// Must access selectedIndex to make default options select\n\tsupport.optSelected = opt.selected;\n\n\t// Support: IE <=11 only\n\t// An input loses its value after becoming a radio\n\tinput = document.createElement( \"input\" );\n\tinput.value = \"t\";\n\tinput.type = \"radio\";\n\tsupport.radioValue = input.value === \"t\";\n} )();\n\n\nvar boolHook,\n\tattrHandle = jQuery.expr.attrHandle;\n\njQuery.fn.extend( {\n\tattr: function( name, value ) {\n\t\treturn access( this, jQuery.attr, name, value, arguments.length > 1 );\n\t},\n\n\tremoveAttr: function( name ) {\n\t\treturn this.each( function() {\n\t\t\tjQuery.removeAttr( this, name );\n\t\t} );\n\t}\n} );\n\njQuery.extend( {\n\tattr: function( elem, name, value ) {\n\t\tvar ret, hooks,\n\t\t\tnType = elem.nodeType;\n\n\t\t// Don't get/set attributes on text, comment and attribute nodes\n\t\tif ( nType === 3 || nType === 8 || nType === 2 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Fallback to prop when attributes are not supported\n\t\tif ( typeof elem.getAttribute === \"undefined\" ) {\n\t\t\treturn jQuery.prop( elem, name, value );\n\t\t}\n\n\t\t// Attribute hooks are determined by the lowercase version\n\t\t// Grab necessary hook if one is defined\n\t\tif ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {\n\t\t\thooks = jQuery.attrHooks[ name.toLowerCase() ] ||\n\t\t\t\t( jQuery.expr.match.bool.test( name ) ? boolHook : undefined );\n\t\t}\n\n\t\tif ( value !== undefined ) {\n\t\t\tif ( value === null ) {\n\t\t\t\tjQuery.removeAttr( elem, name );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( hooks && \"set\" in hooks &&\n\t\t\t\t( ret = hooks.set( elem, value, name ) ) !== undefined ) {\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\telem.setAttribute( name, value + \"\" );\n\t\t\treturn value;\n\t\t}\n\n\t\tif ( hooks && \"get\" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {\n\t\t\treturn ret;\n\t\t}\n\n\t\tret = jQuery.find.attr( elem, name );\n\n\t\t// Non-existent attributes return null, we normalize to undefined\n\t\treturn ret == null ? undefined : ret;\n\t},\n\n\tattrHooks: {\n\t\ttype: {\n\t\t\tset: function( elem, value ) {\n\t\t\t\tif ( !support.radioValue && value === \"radio\" &&\n\t\t\t\t\tnodeName( elem, \"input\" ) ) {\n\t\t\t\t\tvar val = elem.value;\n\t\t\t\t\telem.setAttribute( \"type\", value );\n\t\t\t\t\tif ( val ) {\n\t\t\t\t\t\telem.value = val;\n\t\t\t\t\t}\n\t\t\t\t\treturn value;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\tremoveAttr: function( elem, value ) {\n\t\tvar name,\n\t\t\ti = 0,\n\n\t\t\t// Attribute names can contain non-HTML whitespace characters\n\t\t\t// https://html.spec.whatwg.org/multipage/syntax.html#attributes-2\n\t\t\tattrNames = value && value.match( rnothtmlwhite );\n\n\t\tif ( attrNames && elem.nodeType === 1 ) {\n\t\t\twhile ( ( name = attrNames[ i++ ] ) ) {\n\t\t\t\telem.removeAttribute( name );\n\t\t\t}\n\t\t}\n\t}\n} );\n\n// Hooks for boolean attributes\nboolHook = {\n\tset: function( elem, value, name ) {\n\t\tif ( value === false ) {\n\n\t\t\t// Remove boolean attributes when set to false\n\t\t\tjQuery.removeAttr( elem, name );\n\t\t} else {\n\t\t\telem.setAttribute( name, name );\n\t\t}\n\t\treturn name;\n\t}\n};\n\njQuery.each( jQuery.expr.match.bool.source.match( /\\w+/g ), function( _i, name ) {\n\tvar getter = attrHandle[ name ] || jQuery.find.attr;\n\n\tattrHandle[ name ] = function( elem, name, isXML ) {\n\t\tvar ret, handle,\n\t\t\tlowercaseName = name.toLowerCase();\n\n\t\tif ( !isXML ) {\n\n\t\t\t// Avoid an infinite loop by temporarily removing this function from the getter\n\t\t\thandle = attrHandle[ lowercaseName ];\n\t\t\tattrHandle[ lowercaseName ] = ret;\n\t\t\tret = getter( elem, name, isXML ) != null ?\n\t\t\t\tlowercaseName :\n\t\t\t\tnull;\n\t\t\tattrHandle[ lowercaseName ] = handle;\n\t\t}\n\t\treturn ret;\n\t};\n} );\n\n\n\n\nvar rfocusable = /^(?:input|select|textarea|button)$/i,\n\trclickable = /^(?:a|area)$/i;\n\njQuery.fn.extend( {\n\tprop: function( name, value ) {\n\t\treturn access( this, jQuery.prop, name, value, arguments.length > 1 );\n\t},\n\n\tremoveProp: function( name ) {\n\t\treturn this.each( function() {\n\t\t\tdelete this[ jQuery.propFix[ name ] || name ];\n\t\t} );\n\t}\n} );\n\njQuery.extend( {\n\tprop: function( elem, name, value ) {\n\t\tvar ret, hooks,\n\t\t\tnType = elem.nodeType;\n\n\t\t// Don't get/set properties on text, comment and attribute nodes\n\t\tif ( nType === 3 || nType === 8 || nType === 2 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {\n\n\t\t\t// Fix name and attach hooks\n\t\t\tname = jQuery.propFix[ name ] || name;\n\t\t\thooks = jQuery.propHooks[ name ];\n\t\t}\n\n\t\tif ( value !== undefined ) {\n\t\t\tif ( hooks && \"set\" in hooks &&\n\t\t\t\t( ret = hooks.set( elem, value, name ) ) !== undefined ) {\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\treturn ( elem[ name ] = value );\n\t\t}\n\n\t\tif ( hooks && \"get\" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {\n\t\t\treturn ret;\n\t\t}\n\n\t\treturn elem[ name ];\n\t},\n\n\tpropHooks: {\n\t\ttabIndex: {\n\t\t\tget: function( elem ) {\n\n\t\t\t\t// Support: IE <=9 - 11 only\n\t\t\t\t// elem.tabIndex doesn't always return the\n\t\t\t\t// correct value when it hasn't been explicitly set\n\t\t\t\t// https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/\n\t\t\t\t// Use proper attribute retrieval(#12072)\n\t\t\t\tvar tabindex = jQuery.find.attr( elem, \"tabindex\" );\n\n\t\t\t\tif ( tabindex ) {\n\t\t\t\t\treturn parseInt( tabindex, 10 );\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\trfocusable.test( elem.nodeName ) ||\n\t\t\t\t\trclickable.test( elem.nodeName ) &&\n\t\t\t\t\telem.href\n\t\t\t\t) {\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t}\n\t},\n\n\tpropFix: {\n\t\t\"for\": \"htmlFor\",\n\t\t\"class\": \"className\"\n\t}\n} );\n\n// Support: IE <=11 only\n// Accessing the selectedIndex property\n// forces the browser to respect setting selected\n// on the option\n// The getter ensures a default option is selected\n// when in an optgroup\n// eslint rule \"no-unused-expressions\" is disabled for this code\n// since it considers such accessions noop\nif ( !support.optSelected ) {\n\tjQuery.propHooks.selected = {\n\t\tget: function( elem ) {\n\n\t\t\t/* eslint no-unused-expressions: \"off\" */\n\n\t\t\tvar parent = elem.parentNode;\n\t\t\tif ( parent && parent.parentNode ) {\n\t\t\t\tparent.parentNode.selectedIndex;\n\t\t\t}\n\t\t\treturn null;\n\t\t},\n\t\tset: function( elem ) {\n\n\t\t\t/* eslint no-unused-expressions: \"off\" */\n\n\t\t\tvar parent = elem.parentNode;\n\t\t\tif ( parent ) {\n\t\t\t\tparent.selectedIndex;\n\n\t\t\t\tif ( parent.parentNode ) {\n\t\t\t\t\tparent.parentNode.selectedIndex;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n}\n\njQuery.each( [\n\t\"tabIndex\",\n\t\"readOnly\",\n\t\"maxLength\",\n\t\"cellSpacing\",\n\t\"cellPadding\",\n\t\"rowSpan\",\n\t\"colSpan\",\n\t\"useMap\",\n\t\"frameBorder\",\n\t\"contentEditable\"\n], function() {\n\tjQuery.propFix[ this.toLowerCase() ] = this;\n} );\n\n\n\n\n\t// Strip and collapse whitespace according to HTML spec\n\t// https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace\n\tfunction stripAndCollapse( value ) {\n\t\tvar tokens = value.match( rnothtmlwhite ) || [];\n\t\treturn tokens.join( \" \" );\n\t}\n\n\nfunction getClass( elem ) {\n\treturn elem.getAttribute && elem.getAttribute( \"class\" ) || \"\";\n}\n\nfunction classesToArray( value ) {\n\tif ( Array.isArray( value ) ) {\n\t\treturn value;\n\t}\n\tif ( typeof value === \"string\" ) {\n\t\treturn value.match( rnothtmlwhite ) || [];\n\t}\n\treturn [];\n}\n\njQuery.fn.extend( {\n\taddClass: function( value ) {\n\t\tvar classes, elem, cur, curValue, clazz, j, finalValue,\n\t\t\ti = 0;\n\n\t\tif ( isFunction( value ) ) {\n\t\t\treturn this.each( function( j ) {\n\t\t\t\tjQuery( this ).addClass( value.call( this, j, getClass( this ) ) );\n\t\t\t} );\n\t\t}\n\n\t\tclasses = classesToArray( value );\n\n\t\tif ( classes.length ) {\n\t\t\twhile ( ( elem = this[ i++ ] ) ) {\n\t\t\t\tcurValue = getClass( elem );\n\t\t\t\tcur = elem.nodeType === 1 && ( \" \" + stripAndCollapse( curValue ) + \" \" );\n\n\t\t\t\tif ( cur ) {\n\t\t\t\t\tj = 0;\n\t\t\t\t\twhile ( ( clazz = classes[ j++ ] ) ) {\n\t\t\t\t\t\tif ( cur.indexOf( \" \" + clazz + \" \" ) < 0 ) {\n\t\t\t\t\t\t\tcur += clazz + \" \";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Only assign if different to avoid unneeded rendering.\n\t\t\t\t\tfinalValue = stripAndCollapse( cur );\n\t\t\t\t\tif ( curValue !== finalValue ) {\n\t\t\t\t\t\telem.setAttribute( \"class\", finalValue );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\tremoveClass: function( value ) {\n\t\tvar classes, elem, cur, curValue, clazz, j, finalValue,\n\t\t\ti = 0;\n\n\t\tif ( isFunction( value ) ) {\n\t\t\treturn this.each( function( j ) {\n\t\t\t\tjQuery( this ).removeClass( value.call( this, j, getClass( this ) ) );\n\t\t\t} );\n\t\t}\n\n\t\tif ( !arguments.length ) {\n\t\t\treturn this.attr( \"class\", \"\" );\n\t\t}\n\n\t\tclasses = classesToArray( value );\n\n\t\tif ( classes.length ) {\n\t\t\twhile ( ( elem = this[ i++ ] ) ) {\n\t\t\t\tcurValue = getClass( elem );\n\n\t\t\t\t// This expression is here for better compressibility (see addClass)\n\t\t\t\tcur = elem.nodeType === 1 && ( \" \" + stripAndCollapse( curValue ) + \" \" );\n\n\t\t\t\tif ( cur ) {\n\t\t\t\t\tj = 0;\n\t\t\t\t\twhile ( ( clazz = classes[ j++ ] ) ) {\n\n\t\t\t\t\t\t// Remove *all* instances\n\t\t\t\t\t\twhile ( cur.indexOf( \" \" + clazz + \" \" ) > -1 ) {\n\t\t\t\t\t\t\tcur = cur.replace( \" \" + clazz + \" \", \" \" );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Only assign if different to avoid unneeded rendering.\n\t\t\t\t\tfinalValue = stripAndCollapse( cur );\n\t\t\t\t\tif ( curValue !== finalValue ) {\n\t\t\t\t\t\telem.setAttribute( \"class\", finalValue );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\ttoggleClass: function( value, stateVal ) {\n\t\tvar type = typeof value,\n\t\t\tisValidValue = type === \"string\" || Array.isArray( value );\n\n\t\tif ( typeof stateVal === \"boolean\" && isValidValue ) {\n\t\t\treturn stateVal ? this.addClass( value ) : this.removeClass( value );\n\t\t}\n\n\t\tif ( isFunction( value ) ) {\n\t\t\treturn this.each( function( i ) {\n\t\t\t\tjQuery( this ).toggleClass(\n\t\t\t\t\tvalue.call( this, i, getClass( this ), stateVal ),\n\t\t\t\t\tstateVal\n\t\t\t\t);\n\t\t\t} );\n\t\t}\n\n\t\treturn this.each( function() {\n\t\t\tvar className, i, self, classNames;\n\n\t\t\tif ( isValidValue ) {\n\n\t\t\t\t// Toggle individual class names\n\t\t\t\ti = 0;\n\t\t\t\tself = jQuery( this );\n\t\t\t\tclassNames = classesToArray( value );\n\n\t\t\t\twhile ( ( className = classNames[ i++ ] ) ) {\n\n\t\t\t\t\t// Check each className given, space separated list\n\t\t\t\t\tif ( self.hasClass( className ) ) {\n\t\t\t\t\t\tself.removeClass( className );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tself.addClass( className );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t// Toggle whole class name\n\t\t\t} else if ( value === undefined || type === \"boolean\" ) {\n\t\t\t\tclassName = getClass( this );\n\t\t\t\tif ( className ) {\n\n\t\t\t\t\t// Store className if set\n\t\t\t\t\tdataPriv.set( this, \"__className__\", className );\n\t\t\t\t}\n\n\t\t\t\t// If the element has a class name or if we're passed `false`,\n\t\t\t\t// then remove the whole classname (if there was one, the above saved it).\n\t\t\t\t// Otherwise bring back whatever was previously saved (if anything),\n\t\t\t\t// falling back to the empty string if nothing was stored.\n\t\t\t\tif ( this.setAttribute ) {\n\t\t\t\t\tthis.setAttribute( \"class\",\n\t\t\t\t\t\tclassName || value === false ?\n\t\t\t\t\t\t\"\" :\n\t\t\t\t\t\tdataPriv.get( this, \"__className__\" ) || \"\"\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t},\n\n\thasClass: function( selector ) {\n\t\tvar className, elem,\n\t\t\ti = 0;\n\n\t\tclassName = \" \" + selector + \" \";\n\t\twhile ( ( elem = this[ i++ ] ) ) {\n\t\t\tif ( elem.nodeType === 1 &&\n\t\t\t\t( \" \" + stripAndCollapse( getClass( elem ) ) + \" \" ).indexOf( className ) > -1 ) {\n\t\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n} );\n\n\n\n\nvar rreturn = /\\r/g;\n\njQuery.fn.extend( {\n\tval: function( value ) {\n\t\tvar hooks, ret, valueIsFunction,\n\t\t\telem = this[ 0 ];\n\n\t\tif ( !arguments.length ) {\n\t\t\tif ( elem ) {\n\t\t\t\thooks = jQuery.valHooks[ elem.type ] ||\n\t\t\t\t\tjQuery.valHooks[ elem.nodeName.toLowerCase() ];\n\n\t\t\t\tif ( hooks &&\n\t\t\t\t\t\"get\" in hooks &&\n\t\t\t\t\t( ret = hooks.get( elem, \"value\" ) ) !== undefined\n\t\t\t\t) {\n\t\t\t\t\treturn ret;\n\t\t\t\t}\n\n\t\t\t\tret = elem.value;\n\n\t\t\t\t// Handle most common string cases\n\t\t\t\tif ( typeof ret === \"string\" ) {\n\t\t\t\t\treturn ret.replace( rreturn, \"\" );\n\t\t\t\t}\n\n\t\t\t\t// Handle cases where value is null/undef or number\n\t\t\t\treturn ret == null ? \"\" : ret;\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tvalueIsFunction = isFunction( value );\n\n\t\treturn this.each( function( i ) {\n\t\t\tvar val;\n\n\t\t\tif ( this.nodeType !== 1 ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( valueIsFunction ) {\n\t\t\t\tval = value.call( this, i, jQuery( this ).val() );\n\t\t\t} else {\n\t\t\t\tval = value;\n\t\t\t}\n\n\t\t\t// Treat null/undefined as \"\"; convert numbers to string\n\t\t\tif ( val == null ) {\n\t\t\t\tval = \"\";\n\n\t\t\t} else if ( typeof val === \"number\" ) {\n\t\t\t\tval += \"\";\n\n\t\t\t} else if ( Array.isArray( val ) ) {\n\t\t\t\tval = jQuery.map( val, function( value ) {\n\t\t\t\t\treturn value == null ? \"\" : value + \"\";\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\thooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ];\n\n\t\t\t// If set returns undefined, fall back to normal setting\n\t\t\tif ( !hooks || !( \"set\" in hooks ) || hooks.set( this, val, \"value\" ) === undefined ) {\n\t\t\t\tthis.value = val;\n\t\t\t}\n\t\t} );\n\t}\n} );\n\njQuery.extend( {\n\tvalHooks: {\n\t\toption: {\n\t\t\tget: function( elem ) {\n\n\t\t\t\tvar val = jQuery.find.attr( elem, \"value\" );\n\t\t\t\treturn val != null ?\n\t\t\t\t\tval :\n\n\t\t\t\t\t// Support: IE <=10 - 11 only\n\t\t\t\t\t// option.text throws exceptions (#14686, #14858)\n\t\t\t\t\t// Strip and collapse whitespace\n\t\t\t\t\t// https://html.spec.whatwg.org/#strip-and-collapse-whitespace\n\t\t\t\t\tstripAndCollapse( jQuery.text( elem ) );\n\t\t\t}\n\t\t},\n\t\tselect: {\n\t\t\tget: function( elem ) {\n\t\t\t\tvar value, option, i,\n\t\t\t\t\toptions = elem.options,\n\t\t\t\t\tindex = elem.selectedIndex,\n\t\t\t\t\tone = elem.type === \"select-one\",\n\t\t\t\t\tvalues = one ? null : [],\n\t\t\t\t\tmax = one ? index + 1 : options.length;\n\n\t\t\t\tif ( index < 0 ) {\n\t\t\t\t\ti = max;\n\n\t\t\t\t} else {\n\t\t\t\t\ti = one ? index : 0;\n\t\t\t\t}\n\n\t\t\t\t// Loop through all the selected options\n\t\t\t\tfor ( ; i < max; i++ ) {\n\t\t\t\t\toption = options[ i ];\n\n\t\t\t\t\t// Support: IE <=9 only\n\t\t\t\t\t// IE8-9 doesn't update selected after form reset (#2551)\n\t\t\t\t\tif ( ( option.selected || i === index ) &&\n\n\t\t\t\t\t\t\t// Don't return options that are disabled or in a disabled optgroup\n\t\t\t\t\t\t\t!option.disabled &&\n\t\t\t\t\t\t\t( !option.parentNode.disabled ||\n\t\t\t\t\t\t\t\t!nodeName( option.parentNode, \"optgroup\" ) ) ) {\n\n\t\t\t\t\t\t// Get the specific value for the option\n\t\t\t\t\t\tvalue = jQuery( option ).val();\n\n\t\t\t\t\t\t// We don't need an array for one selects\n\t\t\t\t\t\tif ( one ) {\n\t\t\t\t\t\t\treturn value;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Multi-Selects return an array\n\t\t\t\t\t\tvalues.push( value );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn values;\n\t\t\t},\n\n\t\t\tset: function( elem, value ) {\n\t\t\t\tvar optionSet, option,\n\t\t\t\t\toptions = elem.options,\n\t\t\t\t\tvalues = jQuery.makeArray( value ),\n\t\t\t\t\ti = options.length;\n\n\t\t\t\twhile ( i-- ) {\n\t\t\t\t\toption = options[ i ];\n\n\t\t\t\t\t/* eslint-disable no-cond-assign */\n\n\t\t\t\t\tif ( option.selected =\n\t\t\t\t\t\tjQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1\n\t\t\t\t\t) {\n\t\t\t\t\t\toptionSet = true;\n\t\t\t\t\t}\n\n\t\t\t\t\t/* eslint-enable no-cond-assign */\n\t\t\t\t}\n\n\t\t\t\t// Force browsers to behave consistently when non-matching value is set\n\t\t\t\tif ( !optionSet ) {\n\t\t\t\t\telem.selectedIndex = -1;\n\t\t\t\t}\n\t\t\t\treturn values;\n\t\t\t}\n\t\t}\n\t}\n} );\n\n// Radios and checkboxes getter/setter\njQuery.each( [ \"radio\", \"checkbox\" ], function() {\n\tjQuery.valHooks[ this ] = {\n\t\tset: function( elem, value ) {\n\t\t\tif ( Array.isArray( value ) ) {\n\t\t\t\treturn ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 );\n\t\t\t}\n\t\t}\n\t};\n\tif ( !support.checkOn ) {\n\t\tjQuery.valHooks[ this ].get = function( elem ) {\n\t\t\treturn elem.getAttribute( \"value\" ) === null ? \"on\" : elem.value;\n\t\t};\n\t}\n} );\n\n\n\n\n// Return jQuery for attributes-only inclusion\n\n\nsupport.focusin = \"onfocusin\" in window;\n\n\nvar rfocusMorph = /^(?:focusinfocus|focusoutblur)$/,\n\tstopPropagationCallback = function( e ) {\n\t\te.stopPropagation();\n\t};\n\njQuery.extend( jQuery.event, {\n\n\ttrigger: function( event, data, elem, onlyHandlers ) {\n\n\t\tvar i, cur, tmp, bubbleType, ontype, handle, special, lastElement,\n\t\t\teventPath = [ elem || document ],\n\t\t\ttype = hasOwn.call( event, \"type\" ) ? event.type : event,\n\t\t\tnamespaces = hasOwn.call( event, \"namespace\" ) ? event.namespace.split( \".\" ) : [];\n\n\t\tcur = lastElement = tmp = elem = elem || document;\n\n\t\t// Don't do events on text and comment nodes\n\t\tif ( elem.nodeType === 3 || elem.nodeType === 8 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// focus/blur morphs to focusin/out; ensure we're not firing them right now\n\t\tif ( rfocusMorph.test( type + jQuery.event.triggered ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( type.indexOf( \".\" ) > -1 ) {\n\n\t\t\t// Namespaced trigger; create a regexp to match event type in handle()\n\t\t\tnamespaces = type.split( \".\" );\n\t\t\ttype = namespaces.shift();\n\t\t\tnamespaces.sort();\n\t\t}\n\t\tontype = type.indexOf( \":\" ) < 0 && \"on\" + type;\n\n\t\t// Caller can pass in a jQuery.Event object, Object, or just an event type string\n\t\tevent = event[ jQuery.expando ] ?\n\t\t\tevent :\n\t\t\tnew jQuery.Event( type, typeof event === \"object\" && event );\n\n\t\t// Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)\n\t\tevent.isTrigger = onlyHandlers ? 2 : 3;\n\t\tevent.namespace = namespaces.join( \".\" );\n\t\tevent.rnamespace = event.namespace ?\n\t\t\tnew RegExp( \"(^|\\\\.)\" + namespaces.join( \"\\\\.(?:.*\\\\.|)\" ) + \"(\\\\.|$)\" ) :\n\t\t\tnull;\n\n\t\t// Clean up the event in case it is being reused\n\t\tevent.result = undefined;\n\t\tif ( !event.target ) {\n\t\t\tevent.target = elem;\n\t\t}\n\n\t\t// Clone any incoming data and prepend the event, creating the handler arg list\n\t\tdata = data == null ?\n\t\t\t[ event ] :\n\t\t\tjQuery.makeArray( data, [ event ] );\n\n\t\t// Allow special events to draw outside the lines\n\t\tspecial = jQuery.event.special[ type ] || {};\n\t\tif ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Determine event propagation path in advance, per W3C events spec (#9951)\n\t\t// Bubble up to document, then to window; watch for a global ownerDocument var (#9724)\n\t\tif ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) {\n\n\t\t\tbubbleType = special.delegateType || type;\n\t\t\tif ( !rfocusMorph.test( bubbleType + type ) ) {\n\t\t\t\tcur = cur.parentNode;\n\t\t\t}\n\t\t\tfor ( ; cur; cur = cur.parentNode ) {\n\t\t\t\teventPath.push( cur );\n\t\t\t\ttmp = cur;\n\t\t\t}\n\n\t\t\t// Only add window if we got to document (e.g., not plain obj or detached DOM)\n\t\t\tif ( tmp === ( elem.ownerDocument || document ) ) {\n\t\t\t\teventPath.push( tmp.defaultView || tmp.parentWindow || window );\n\t\t\t}\n\t\t}\n\n\t\t// Fire handlers on the event path\n\t\ti = 0;\n\t\twhile ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) {\n\t\t\tlastElement = cur;\n\t\t\tevent.type = i > 1 ?\n\t\t\t\tbubbleType :\n\t\t\t\tspecial.bindType || type;\n\n\t\t\t// jQuery handler\n\t\t\thandle = (\n\t\t\t\t\tdataPriv.get( cur, \"events\" ) || Object.create( null )\n\t\t\t\t)[ event.type ] &&\n\t\t\t\tdataPriv.get( cur, \"handle\" );\n\t\t\tif ( handle ) {\n\t\t\t\thandle.apply( cur, data );\n\t\t\t}\n\n\t\t\t// Native handler\n\t\t\thandle = ontype && cur[ ontype ];\n\t\t\tif ( handle && handle.apply && acceptData( cur ) ) {\n\t\t\t\tevent.result = handle.apply( cur, data );\n\t\t\t\tif ( event.result === false ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tevent.type = type;\n\n\t\t// If nobody prevented the default action, do it now\n\t\tif ( !onlyHandlers && !event.isDefaultPrevented() ) {\n\n\t\t\tif ( ( !special._default ||\n\t\t\t\tspecial._default.apply( eventPath.pop(), data ) === false ) &&\n\t\t\t\tacceptData( elem ) ) {\n\n\t\t\t\t// Call a native DOM method on the target with the same name as the event.\n\t\t\t\t// Don't do default actions on window, that's where global variables be (#6170)\n\t\t\t\tif ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) {\n\n\t\t\t\t\t// Don't re-trigger an onFOO event when we call its FOO() method\n\t\t\t\t\ttmp = elem[ ontype ];\n\n\t\t\t\t\tif ( tmp ) {\n\t\t\t\t\t\telem[ ontype ] = null;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Prevent re-triggering of the same event, since we already bubbled it above\n\t\t\t\t\tjQuery.event.triggered = type;\n\n\t\t\t\t\tif ( event.isPropagationStopped() ) {\n\t\t\t\t\t\tlastElement.addEventListener( type, stopPropagationCallback );\n\t\t\t\t\t}\n\n\t\t\t\t\telem[ type ]();\n\n\t\t\t\t\tif ( event.isPropagationStopped() ) {\n\t\t\t\t\t\tlastElement.removeEventListener( type, stopPropagationCallback );\n\t\t\t\t\t}\n\n\t\t\t\t\tjQuery.event.triggered = undefined;\n\n\t\t\t\t\tif ( tmp ) {\n\t\t\t\t\t\telem[ ontype ] = tmp;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn event.result;\n\t},\n\n\t// Piggyback on a donor event to simulate a different one\n\t// Used only for `focus(in | out)` events\n\tsimulate: function( type, elem, event ) {\n\t\tvar e = jQuery.extend(\n\t\t\tnew jQuery.Event(),\n\t\t\tevent,\n\t\t\t{\n\t\t\t\ttype: type,\n\t\t\t\tisSimulated: true\n\t\t\t}\n\t\t);\n\n\t\tjQuery.event.trigger( e, null, elem );\n\t}\n\n} );\n\njQuery.fn.extend( {\n\n\ttrigger: function( type, data ) {\n\t\treturn this.each( function() {\n\t\t\tjQuery.event.trigger( type, data, this );\n\t\t} );\n\t},\n\ttriggerHandler: function( type, data ) {\n\t\tvar elem = this[ 0 ];\n\t\tif ( elem ) {\n\t\t\treturn jQuery.event.trigger( type, data, elem, true );\n\t\t}\n\t}\n} );\n\n\n// Support: Firefox <=44\n// Firefox doesn't have focus(in | out) events\n// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787\n//\n// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1\n// focus(in | out) events fire after focus & blur events,\n// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order\n// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857\nif ( !support.focusin ) {\n\tjQuery.each( { focus: \"focusin\", blur: \"focusout\" }, function( orig, fix ) {\n\n\t\t// Attach a single capturing handler on the document while someone wants focusin/focusout\n\t\tvar handler = function( event ) {\n\t\t\tjQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) );\n\t\t};\n\n\t\tjQuery.event.special[ fix ] = {\n\t\t\tsetup: function() {\n\n\t\t\t\t// Handle: regular nodes (via `this.ownerDocument`), window\n\t\t\t\t// (via `this.document`) & document (via `this`).\n\t\t\t\tvar doc = this.ownerDocument || this.document || this,\n\t\t\t\t\tattaches = dataPriv.access( doc, fix );\n\n\t\t\t\tif ( !attaches ) {\n\t\t\t\t\tdoc.addEventListener( orig, handler, true );\n\t\t\t\t}\n\t\t\t\tdataPriv.access( doc, fix, ( attaches || 0 ) + 1 );\n\t\t\t},\n\t\t\tteardown: function() {\n\t\t\t\tvar doc = this.ownerDocument || this.document || this,\n\t\t\t\t\tattaches = dataPriv.access( doc, fix ) - 1;\n\n\t\t\t\tif ( !attaches ) {\n\t\t\t\t\tdoc.removeEventListener( orig, handler, true );\n\t\t\t\t\tdataPriv.remove( doc, fix );\n\n\t\t\t\t} else {\n\t\t\t\t\tdataPriv.access( doc, fix, attaches );\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t} );\n}\nvar location = window.location;\n\nvar nonce = { guid: Date.now() };\n\nvar rquery = ( /\\?/ );\n\n\n\n// Cross-browser xml parsing\njQuery.parseXML = function( data ) {\n\tvar xml;\n\tif ( !data || typeof data !== \"string\" ) {\n\t\treturn null;\n\t}\n\n\t// Support: IE 9 - 11 only\n\t// IE throws on parseFromString with invalid input.\n\ttry {\n\t\txml = ( new window.DOMParser() ).parseFromString( data, \"text/xml\" );\n\t} catch ( e ) {\n\t\txml = undefined;\n\t}\n\n\tif ( !xml || xml.getElementsByTagName( \"parsererror\" ).length ) {\n\t\tjQuery.error( \"Invalid XML: \" + data );\n\t}\n\treturn xml;\n};\n\n\nvar\n\trbracket = /\\[\\]$/,\n\trCRLF = /\\r?\\n/g,\n\trsubmitterTypes = /^(?:submit|button|image|reset|file)$/i,\n\trsubmittable = /^(?:input|select|textarea|keygen)/i;\n\nfunction buildParams( prefix, obj, traditional, add ) {\n\tvar name;\n\n\tif ( Array.isArray( obj ) ) {\n\n\t\t// Serialize array item.\n\t\tjQuery.each( obj, function( i, v ) {\n\t\t\tif ( traditional || rbracket.test( prefix ) ) {\n\n\t\t\t\t// Treat each array item as a scalar.\n\t\t\t\tadd( prefix, v );\n\n\t\t\t} else {\n\n\t\t\t\t// Item is non-scalar (array or object), encode its numeric index.\n\t\t\t\tbuildParams(\n\t\t\t\t\tprefix + \"[\" + ( typeof v === \"object\" && v != null ? i : \"\" ) + \"]\",\n\t\t\t\t\tv,\n\t\t\t\t\ttraditional,\n\t\t\t\t\tadd\n\t\t\t\t);\n\t\t\t}\n\t\t} );\n\n\t} else if ( !traditional && toType( obj ) === \"object\" ) {\n\n\t\t// Serialize object item.\n\t\tfor ( name in obj ) {\n\t\t\tbuildParams( prefix + \"[\" + name + \"]\", obj[ name ], traditional, add );\n\t\t}\n\n\t} else {\n\n\t\t// Serialize scalar item.\n\t\tadd( prefix, obj );\n\t}\n}\n\n// Serialize an array of form elements or a set of\n// key/values into a query string\njQuery.param = function( a, traditional ) {\n\tvar prefix,\n\t\ts = [],\n\t\tadd = function( key, valueOrFunction ) {\n\n\t\t\t// If value is a function, invoke it and use its return value\n\t\t\tvar value = isFunction( valueOrFunction ) ?\n\t\t\t\tvalueOrFunction() :\n\t\t\t\tvalueOrFunction;\n\n\t\t\ts[ s.length ] = encodeURIComponent( key ) + \"=\" +\n\t\t\t\tencodeURIComponent( value == null ? \"\" : value );\n\t\t};\n\n\tif ( a == null ) {\n\t\treturn \"\";\n\t}\n\n\t// If an array was passed in, assume that it is an array of form elements.\n\tif ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {\n\n\t\t// Serialize the form elements\n\t\tjQuery.each( a, function() {\n\t\t\tadd( this.name, this.value );\n\t\t} );\n\n\t} else {\n\n\t\t// If traditional, encode the \"old\" way (the way 1.3.2 or older\n\t\t// did it), otherwise encode params recursively.\n\t\tfor ( prefix in a ) {\n\t\t\tbuildParams( prefix, a[ prefix ], traditional, add );\n\t\t}\n\t}\n\n\t// Return the resulting serialization\n\treturn s.join( \"&\" );\n};\n\njQuery.fn.extend( {\n\tserialize: function() {\n\t\treturn jQuery.param( this.serializeArray() );\n\t},\n\tserializeArray: function() {\n\t\treturn this.map( function() {\n\n\t\t\t// Can add propHook for \"elements\" to filter or add form elements\n\t\t\tvar elements = jQuery.prop( this, \"elements\" );\n\t\t\treturn elements ? jQuery.makeArray( elements ) : this;\n\t\t} )\n\t\t.filter( function() {\n\t\t\tvar type = this.type;\n\n\t\t\t// Use .is( \":disabled\" ) so that fieldset[disabled] works\n\t\t\treturn this.name && !jQuery( this ).is( \":disabled\" ) &&\n\t\t\t\trsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) &&\n\t\t\t\t( this.checked || !rcheckableType.test( type ) );\n\t\t} )\n\t\t.map( function( _i, elem ) {\n\t\t\tvar val = jQuery( this ).val();\n\n\t\t\tif ( val == null ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tif ( Array.isArray( val ) ) {\n\t\t\t\treturn jQuery.map( val, function( val ) {\n\t\t\t\t\treturn { name: elem.name, value: val.replace( rCRLF, \"\\r\\n\" ) };\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\treturn { name: elem.name, value: val.replace( rCRLF, \"\\r\\n\" ) };\n\t\t} ).get();\n\t}\n} );\n\n\nvar\n\tr20 = /%20/g,\n\trhash = /#.*$/,\n\trantiCache = /([?&])_=[^&]*/,\n\trheaders = /^(.*?):[ \\t]*([^\\r\\n]*)$/mg,\n\n\t// #7653, #8125, #8152: local protocol detection\n\trlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,\n\trnoContent = /^(?:GET|HEAD)$/,\n\trprotocol = /^\\/\\//,\n\n\t/* Prefilters\n\t * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)\n\t * 2) These are called:\n\t * - BEFORE asking for a transport\n\t * - AFTER param serialization (s.data is a string if s.processData is true)\n\t * 3) key is the dataType\n\t * 4) the catchall symbol \"*\" can be used\n\t * 5) execution will start with transport dataType and THEN continue down to \"*\" if needed\n\t */\n\tprefilters = {},\n\n\t/* Transports bindings\n\t * 1) key is the dataType\n\t * 2) the catchall symbol \"*\" can be used\n\t * 3) selection will start with transport dataType and THEN go to \"*\" if needed\n\t */\n\ttransports = {},\n\n\t// Avoid comment-prolog char sequence (#10098); must appease lint and evade compression\n\tallTypes = \"*/\".concat( \"*\" ),\n\n\t// Anchor tag for parsing the document origin\n\toriginAnchor = document.createElement( \"a\" );\n\toriginAnchor.href = location.href;\n\n// Base \"constructor\" for jQuery.ajaxPrefilter and jQuery.ajaxTransport\nfunction addToPrefiltersOrTransports( structure ) {\n\n\t// dataTypeExpression is optional and defaults to \"*\"\n\treturn function( dataTypeExpression, func ) {\n\n\t\tif ( typeof dataTypeExpression !== \"string\" ) {\n\t\t\tfunc = dataTypeExpression;\n\t\t\tdataTypeExpression = \"*\";\n\t\t}\n\n\t\tvar dataType,\n\t\t\ti = 0,\n\t\t\tdataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || [];\n\n\t\tif ( isFunction( func ) ) {\n\n\t\t\t// For each dataType in the dataTypeExpression\n\t\t\twhile ( ( dataType = dataTypes[ i++ ] ) ) {\n\n\t\t\t\t// Prepend if requested\n\t\t\t\tif ( dataType[ 0 ] === \"+\" ) {\n\t\t\t\t\tdataType = dataType.slice( 1 ) || \"*\";\n\t\t\t\t\t( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func );\n\n\t\t\t\t// Otherwise append\n\t\t\t\t} else {\n\t\t\t\t\t( structure[ dataType ] = structure[ dataType ] || [] ).push( func );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n}\n\n// Base inspection function for prefilters and transports\nfunction inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) {\n\n\tvar inspected = {},\n\t\tseekingTransport = ( structure === transports );\n\n\tfunction inspect( dataType ) {\n\t\tvar selected;\n\t\tinspected[ dataType ] = true;\n\t\tjQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) {\n\t\t\tvar dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR );\n\t\t\tif ( typeof dataTypeOrTransport === \"string\" &&\n\t\t\t\t!seekingTransport && !inspected[ dataTypeOrTransport ] ) {\n\n\t\t\t\toptions.dataTypes.unshift( dataTypeOrTransport );\n\t\t\t\tinspect( dataTypeOrTransport );\n\t\t\t\treturn false;\n\t\t\t} else if ( seekingTransport ) {\n\t\t\t\treturn !( selected = dataTypeOrTransport );\n\t\t\t}\n\t\t} );\n\t\treturn selected;\n\t}\n\n\treturn inspect( options.dataTypes[ 0 ] ) || !inspected[ \"*\" ] && inspect( \"*\" );\n}\n\n// A special extend for ajax options\n// that takes \"flat\" options (not to be deep extended)\n// Fixes #9887\nfunction ajaxExtend( target, src ) {\n\tvar key, deep,\n\t\tflatOptions = jQuery.ajaxSettings.flatOptions || {};\n\n\tfor ( key in src ) {\n\t\tif ( src[ key ] !== undefined ) {\n\t\t\t( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ];\n\t\t}\n\t}\n\tif ( deep ) {\n\t\tjQuery.extend( true, target, deep );\n\t}\n\n\treturn target;\n}\n\n/* Handles responses to an ajax request:\n * - finds the right dataType (mediates between content-type and expected dataType)\n * - returns the corresponding response\n */\nfunction ajaxHandleResponses( s, jqXHR, responses ) {\n\n\tvar ct, type, finalDataType, firstDataType,\n\t\tcontents = s.contents,\n\t\tdataTypes = s.dataTypes;\n\n\t// Remove auto dataType and get content-type in the process\n\twhile ( dataTypes[ 0 ] === \"*\" ) {\n\t\tdataTypes.shift();\n\t\tif ( ct === undefined ) {\n\t\t\tct = s.mimeType || jqXHR.getResponseHeader( \"Content-Type\" );\n\t\t}\n\t}\n\n\t// Check if we're dealing with a known content-type\n\tif ( ct ) {\n\t\tfor ( type in contents ) {\n\t\t\tif ( contents[ type ] && contents[ type ].test( ct ) ) {\n\t\t\t\tdataTypes.unshift( type );\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Check to see if we have a response for the expected dataType\n\tif ( dataTypes[ 0 ] in responses ) {\n\t\tfinalDataType = dataTypes[ 0 ];\n\t} else {\n\n\t\t// Try convertible dataTypes\n\t\tfor ( type in responses ) {\n\t\t\tif ( !dataTypes[ 0 ] || s.converters[ type + \" \" + dataTypes[ 0 ] ] ) {\n\t\t\t\tfinalDataType = type;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif ( !firstDataType ) {\n\t\t\t\tfirstDataType = type;\n\t\t\t}\n\t\t}\n\n\t\t// Or just use first one\n\t\tfinalDataType = finalDataType || firstDataType;\n\t}\n\n\t// If we found a dataType\n\t// We add the dataType to the list if needed\n\t// and return the corresponding response\n\tif ( finalDataType ) {\n\t\tif ( finalDataType !== dataTypes[ 0 ] ) {\n\t\t\tdataTypes.unshift( finalDataType );\n\t\t}\n\t\treturn responses[ finalDataType ];\n\t}\n}\n\n/* Chain conversions given the request and the original response\n * Also sets the responseXXX fields on the jqXHR instance\n */\nfunction ajaxConvert( s, response, jqXHR, isSuccess ) {\n\tvar conv2, current, conv, tmp, prev,\n\t\tconverters = {},\n\n\t\t// Work with a copy of dataTypes in case we need to modify it for conversion\n\t\tdataTypes = s.dataTypes.slice();\n\n\t// Create converters map with lowercased keys\n\tif ( dataTypes[ 1 ] ) {\n\t\tfor ( conv in s.converters ) {\n\t\t\tconverters[ conv.toLowerCase() ] = s.converters[ conv ];\n\t\t}\n\t}\n\n\tcurrent = dataTypes.shift();\n\n\t// Convert to each sequential dataType\n\twhile ( current ) {\n\n\t\tif ( s.responseFields[ current ] ) {\n\t\t\tjqXHR[ s.responseFields[ current ] ] = response;\n\t\t}\n\n\t\t// Apply the dataFilter if provided\n\t\tif ( !prev && isSuccess && s.dataFilter ) {\n\t\t\tresponse = s.dataFilter( response, s.dataType );\n\t\t}\n\n\t\tprev = current;\n\t\tcurrent = dataTypes.shift();\n\n\t\tif ( current ) {\n\n\t\t\t// There's only work to do if current dataType is non-auto\n\t\t\tif ( current === \"*\" ) {\n\n\t\t\t\tcurrent = prev;\n\n\t\t\t// Convert response if prev dataType is non-auto and differs from current\n\t\t\t} else if ( prev !== \"*\" && prev !== current ) {\n\n\t\t\t\t// Seek a direct converter\n\t\t\t\tconv = converters[ prev + \" \" + current ] || converters[ \"* \" + current ];\n\n\t\t\t\t// If none found, seek a pair\n\t\t\t\tif ( !conv ) {\n\t\t\t\t\tfor ( conv2 in converters ) {\n\n\t\t\t\t\t\t// If conv2 outputs current\n\t\t\t\t\t\ttmp = conv2.split( \" \" );\n\t\t\t\t\t\tif ( tmp[ 1 ] === current ) {\n\n\t\t\t\t\t\t\t// If prev can be converted to accepted input\n\t\t\t\t\t\t\tconv = converters[ prev + \" \" + tmp[ 0 ] ] ||\n\t\t\t\t\t\t\t\tconverters[ \"* \" + tmp[ 0 ] ];\n\t\t\t\t\t\t\tif ( conv ) {\n\n\t\t\t\t\t\t\t\t// Condense equivalence converters\n\t\t\t\t\t\t\t\tif ( conv === true ) {\n\t\t\t\t\t\t\t\t\tconv = converters[ conv2 ];\n\n\t\t\t\t\t\t\t\t// Otherwise, insert the intermediate dataType\n\t\t\t\t\t\t\t\t} else if ( converters[ conv2 ] !== true ) {\n\t\t\t\t\t\t\t\t\tcurrent = tmp[ 0 ];\n\t\t\t\t\t\t\t\t\tdataTypes.unshift( tmp[ 1 ] );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Apply converter (if not an equivalence)\n\t\t\t\tif ( conv !== true ) {\n\n\t\t\t\t\t// Unless errors are allowed to bubble, catch and return them\n\t\t\t\t\tif ( conv && s.throws ) {\n\t\t\t\t\t\tresponse = conv( response );\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tresponse = conv( response );\n\t\t\t\t\t\t} catch ( e ) {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tstate: \"parsererror\",\n\t\t\t\t\t\t\t\terror: conv ? e : \"No conversion from \" + prev + \" to \" + current\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn { state: \"success\", data: response };\n}\n\njQuery.extend( {\n\n\t// Counter for holding the number of active queries\n\tactive: 0,\n\n\t// Last-Modified header cache for next request\n\tlastModified: {},\n\tetag: {},\n\n\tajaxSettings: {\n\t\turl: location.href,\n\t\ttype: \"GET\",\n\t\tisLocal: rlocalProtocol.test( location.protocol ),\n\t\tglobal: true,\n\t\tprocessData: true,\n\t\tasync: true,\n\t\tcontentType: \"application/x-www-form-urlencoded; charset=UTF-8\",\n\n\t\t/*\n\t\ttimeout: 0,\n\t\tdata: null,\n\t\tdataType: null,\n\t\tusername: null,\n\t\tpassword: null,\n\t\tcache: null,\n\t\tthrows: false,\n\t\ttraditional: false,\n\t\theaders: {},\n\t\t*/\n\n\t\taccepts: {\n\t\t\t\"*\": allTypes,\n\t\t\ttext: \"text/plain\",\n\t\t\thtml: \"text/html\",\n\t\t\txml: \"application/xml, text/xml\",\n\t\t\tjson: \"application/json, text/javascript\"\n\t\t},\n\n\t\tcontents: {\n\t\t\txml: /\\bxml\\b/,\n\t\t\thtml: /\\bhtml/,\n\t\t\tjson: /\\bjson\\b/\n\t\t},\n\n\t\tresponseFields: {\n\t\t\txml: \"responseXML\",\n\t\t\ttext: \"responseText\",\n\t\t\tjson: \"responseJSON\"\n\t\t},\n\n\t\t// Data converters\n\t\t// Keys separate source (or catchall \"*\") and destination types with a single space\n\t\tconverters: {\n\n\t\t\t// Convert anything to text\n\t\t\t\"* text\": String,\n\n\t\t\t// Text to html (true = no transformation)\n\t\t\t\"text html\": true,\n\n\t\t\t// Evaluate text as a json expression\n\t\t\t\"text json\": JSON.parse,\n\n\t\t\t// Parse text as xml\n\t\t\t\"text xml\": jQuery.parseXML\n\t\t},\n\n\t\t// For options that shouldn't be deep extended:\n\t\t// you can add your own custom options here if\n\t\t// and when you create one that shouldn't be\n\t\t// deep extended (see ajaxExtend)\n\t\tflatOptions: {\n\t\t\turl: true,\n\t\t\tcontext: true\n\t\t}\n\t},\n\n\t// Creates a full fledged settings object into target\n\t// with both ajaxSettings and settings fields.\n\t// If target is omitted, writes into ajaxSettings.\n\tajaxSetup: function( target, settings ) {\n\t\treturn settings ?\n\n\t\t\t// Building a settings object\n\t\t\tajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) :\n\n\t\t\t// Extending ajaxSettings\n\t\t\tajaxExtend( jQuery.ajaxSettings, target );\n\t},\n\n\tajaxPrefilter: addToPrefiltersOrTransports( prefilters ),\n\tajaxTransport: addToPrefiltersOrTransports( transports ),\n\n\t// Main method\n\tajax: function( url, options ) {\n\n\t\t// If url is an object, simulate pre-1.5 signature\n\t\tif ( typeof url === \"object\" ) {\n\t\t\toptions = url;\n\t\t\turl = undefined;\n\t\t}\n\n\t\t// Force options to be an object\n\t\toptions = options || {};\n\n\t\tvar transport,\n\n\t\t\t// URL without anti-cache param\n\t\t\tcacheURL,\n\n\t\t\t// Response headers\n\t\t\tresponseHeadersString,\n\t\t\tresponseHeaders,\n\n\t\t\t// timeout handle\n\t\t\ttimeoutTimer,\n\n\t\t\t// Url cleanup var\n\t\t\turlAnchor,\n\n\t\t\t// Request state (becomes false upon send and true upon completion)\n\t\t\tcompleted,\n\n\t\t\t// To know if global events are to be dispatched\n\t\t\tfireGlobals,\n\n\t\t\t// Loop variable\n\t\t\ti,\n\n\t\t\t// uncached part of the url\n\t\t\tuncached,\n\n\t\t\t// Create the final options object\n\t\t\ts = jQuery.ajaxSetup( {}, options ),\n\n\t\t\t// Callbacks context\n\t\t\tcallbackContext = s.context || s,\n\n\t\t\t// Context for global events is callbackContext if it is a DOM node or jQuery collection\n\t\t\tglobalEventContext = s.context &&\n\t\t\t\t( callbackContext.nodeType || callbackContext.jquery ) ?\n\t\t\t\t\tjQuery( callbackContext ) :\n\t\t\t\t\tjQuery.event,\n\n\t\t\t// Deferreds\n\t\t\tdeferred = jQuery.Deferred(),\n\t\t\tcompleteDeferred = jQuery.Callbacks( \"once memory\" ),\n\n\t\t\t// Status-dependent callbacks\n\t\t\tstatusCode = s.statusCode || {},\n\n\t\t\t// Headers (they are sent all at once)\n\t\t\trequestHeaders = {},\n\t\t\trequestHeadersNames = {},\n\n\t\t\t// Default abort message\n\t\t\tstrAbort = \"canceled\",\n\n\t\t\t// Fake xhr\n\t\t\tjqXHR = {\n\t\t\t\treadyState: 0,\n\n\t\t\t\t// Builds headers hashtable if needed\n\t\t\t\tgetResponseHeader: function( key ) {\n\t\t\t\t\tvar match;\n\t\t\t\t\tif ( completed ) {\n\t\t\t\t\t\tif ( !responseHeaders ) {\n\t\t\t\t\t\t\tresponseHeaders = {};\n\t\t\t\t\t\t\twhile ( ( match = rheaders.exec( responseHeadersString ) ) ) {\n\t\t\t\t\t\t\t\tresponseHeaders[ match[ 1 ].toLowerCase() + \" \" ] =\n\t\t\t\t\t\t\t\t\t( responseHeaders[ match[ 1 ].toLowerCase() + \" \" ] || [] )\n\t\t\t\t\t\t\t\t\t\t.concat( match[ 2 ] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmatch = responseHeaders[ key.toLowerCase() + \" \" ];\n\t\t\t\t\t}\n\t\t\t\t\treturn match == null ? null : match.join( \", \" );\n\t\t\t\t},\n\n\t\t\t\t// Raw string\n\t\t\t\tgetAllResponseHeaders: function() {\n\t\t\t\t\treturn completed ? responseHeadersString : null;\n\t\t\t\t},\n\n\t\t\t\t// Caches the header\n\t\t\t\tsetRequestHeader: function( name, value ) {\n\t\t\t\t\tif ( completed == null ) {\n\t\t\t\t\t\tname = requestHeadersNames[ name.toLowerCase() ] =\n\t\t\t\t\t\t\trequestHeadersNames[ name.toLowerCase() ] || name;\n\t\t\t\t\t\trequestHeaders[ name ] = value;\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\n\t\t\t\t// Overrides response content-type header\n\t\t\t\toverrideMimeType: function( type ) {\n\t\t\t\t\tif ( completed == null ) {\n\t\t\t\t\t\ts.mimeType = type;\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\n\t\t\t\t// Status-dependent callbacks\n\t\t\t\tstatusCode: function( map ) {\n\t\t\t\t\tvar code;\n\t\t\t\t\tif ( map ) {\n\t\t\t\t\t\tif ( completed ) {\n\n\t\t\t\t\t\t\t// Execute the appropriate callbacks\n\t\t\t\t\t\t\tjqXHR.always( map[ jqXHR.status ] );\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t// Lazy-add the new callbacks in a way that preserves old ones\n\t\t\t\t\t\t\tfor ( code in map ) {\n\t\t\t\t\t\t\t\tstatusCode[ code ] = [ statusCode[ code ], map[ code ] ];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\n\t\t\t\t// Cancel the request\n\t\t\t\tabort: function( statusText ) {\n\t\t\t\t\tvar finalText = statusText || strAbort;\n\t\t\t\t\tif ( transport ) {\n\t\t\t\t\t\ttransport.abort( finalText );\n\t\t\t\t\t}\n\t\t\t\t\tdone( 0, finalText );\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\t\t\t};\n\n\t\t// Attach deferreds\n\t\tdeferred.promise( jqXHR );\n\n\t\t// Add protocol if not provided (prefilters might expect it)\n\t\t// Handle falsy url in the settings object (#10093: consistency with old signature)\n\t\t// We also use the url parameter if available\n\t\ts.url = ( ( url || s.url || location.href ) + \"\" )\n\t\t\t.replace( rprotocol, location.protocol + \"//\" );\n\n\t\t// Alias method option to type as per ticket #12004\n\t\ts.type = options.method || options.type || s.method || s.type;\n\n\t\t// Extract dataTypes list\n\t\ts.dataTypes = ( s.dataType || \"*\" ).toLowerCase().match( rnothtmlwhite ) || [ \"\" ];\n\n\t\t// A cross-domain request is in order when the origin doesn't match the current origin.\n\t\tif ( s.crossDomain == null ) {\n\t\t\turlAnchor = document.createElement( \"a\" );\n\n\t\t\t// Support: IE <=8 - 11, Edge 12 - 15\n\t\t\t// IE throws exception on accessing the href property if url is malformed,\n\t\t\t// e.g. http://example.com:80x/\n\t\t\ttry {\n\t\t\t\turlAnchor.href = s.url;\n\n\t\t\t\t// Support: IE <=8 - 11 only\n\t\t\t\t// Anchor's host property isn't correctly set when s.url is relative\n\t\t\t\turlAnchor.href = urlAnchor.href;\n\t\t\t\ts.crossDomain = originAnchor.protocol + \"//\" + originAnchor.host !==\n\t\t\t\t\turlAnchor.protocol + \"//\" + urlAnchor.host;\n\t\t\t} catch ( e ) {\n\n\t\t\t\t// If there is an error parsing the URL, assume it is crossDomain,\n\t\t\t\t// it can be rejected by the transport if it is invalid\n\t\t\t\ts.crossDomain = true;\n\t\t\t}\n\t\t}\n\n\t\t// Convert data if not already a string\n\t\tif ( s.data && s.processData && typeof s.data !== \"string\" ) {\n\t\t\ts.data = jQuery.param( s.data, s.traditional );\n\t\t}\n\n\t\t// Apply prefilters\n\t\tinspectPrefiltersOrTransports( prefilters, s, options, jqXHR );\n\n\t\t// If request was aborted inside a prefilter, stop there\n\t\tif ( completed ) {\n\t\t\treturn jqXHR;\n\t\t}\n\n\t\t// We can fire global events as of now if asked to\n\t\t// Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118)\n\t\tfireGlobals = jQuery.event && s.global;\n\n\t\t// Watch for a new set of requests\n\t\tif ( fireGlobals && jQuery.active++ === 0 ) {\n\t\t\tjQuery.event.trigger( \"ajaxStart\" );\n\t\t}\n\n\t\t// Uppercase the type\n\t\ts.type = s.type.toUpperCase();\n\n\t\t// Determine if request has content\n\t\ts.hasContent = !rnoContent.test( s.type );\n\n\t\t// Save the URL in case we're toying with the If-Modified-Since\n\t\t// and/or If-None-Match header later on\n\t\t// Remove hash to simplify url manipulation\n\t\tcacheURL = s.url.replace( rhash, \"\" );\n\n\t\t// More options handling for requests with no content\n\t\tif ( !s.hasContent ) {\n\n\t\t\t// Remember the hash so we can put it back\n\t\t\tuncached = s.url.slice( cacheURL.length );\n\n\t\t\t// If data is available and should be processed, append data to url\n\t\t\tif ( s.data && ( s.processData || typeof s.data === \"string\" ) ) {\n\t\t\t\tcacheURL += ( rquery.test( cacheURL ) ? \"&\" : \"?\" ) + s.data;\n\n\t\t\t\t// #9682: remove data so that it's not used in an eventual retry\n\t\t\t\tdelete s.data;\n\t\t\t}\n\n\t\t\t// Add or update anti-cache param if needed\n\t\t\tif ( s.cache === false ) {\n\t\t\t\tcacheURL = cacheURL.replace( rantiCache, \"$1\" );\n\t\t\t\tuncached = ( rquery.test( cacheURL ) ? \"&\" : \"?\" ) + \"_=\" + ( nonce.guid++ ) +\n\t\t\t\t\tuncached;\n\t\t\t}\n\n\t\t\t// Put hash and anti-cache on the URL that will be requested (gh-1732)\n\t\t\ts.url = cacheURL + uncached;\n\n\t\t// Change '%20' to '+' if this is encoded form body content (gh-2658)\n\t\t} else if ( s.data && s.processData &&\n\t\t\t( s.contentType || \"\" ).indexOf( \"application/x-www-form-urlencoded\" ) === 0 ) {\n\t\t\ts.data = s.data.replace( r20, \"+\" );\n\t\t}\n\n\t\t// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.\n\t\tif ( s.ifModified ) {\n\t\t\tif ( jQuery.lastModified[ cacheURL ] ) {\n\t\t\t\tjqXHR.setRequestHeader( \"If-Modified-Since\", jQuery.lastModified[ cacheURL ] );\n\t\t\t}\n\t\t\tif ( jQuery.etag[ cacheURL ] ) {\n\t\t\t\tjqXHR.setRequestHeader( \"If-None-Match\", jQuery.etag[ cacheURL ] );\n\t\t\t}\n\t\t}\n\n\t\t// Set the correct header, if data is being sent\n\t\tif ( s.data && s.hasContent && s.contentType !== false || options.contentType ) {\n\t\t\tjqXHR.setRequestHeader( \"Content-Type\", s.contentType );\n\t\t}\n\n\t\t// Set the Accepts header for the server, depending on the dataType\n\t\tjqXHR.setRequestHeader(\n\t\t\t\"Accept\",\n\t\t\ts.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ?\n\t\t\t\ts.accepts[ s.dataTypes[ 0 ] ] +\n\t\t\t\t\t( s.dataTypes[ 0 ] !== \"*\" ? \", \" + allTypes + \"; q=0.01\" : \"\" ) :\n\t\t\t\ts.accepts[ \"*\" ]\n\t\t);\n\n\t\t// Check for headers option\n\t\tfor ( i in s.headers ) {\n\t\t\tjqXHR.setRequestHeader( i, s.headers[ i ] );\n\t\t}\n\n\t\t// Allow custom headers/mimetypes and early abort\n\t\tif ( s.beforeSend &&\n\t\t\t( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) {\n\n\t\t\t// Abort if not done already and return\n\t\t\treturn jqXHR.abort();\n\t\t}\n\n\t\t// Aborting is no longer a cancellation\n\t\tstrAbort = \"abort\";\n\n\t\t// Install callbacks on deferreds\n\t\tcompleteDeferred.add( s.complete );\n\t\tjqXHR.done( s.success );\n\t\tjqXHR.fail( s.error );\n\n\t\t// Get transport\n\t\ttransport = inspectPrefiltersOrTransports( transports, s, options, jqXHR );\n\n\t\t// If no transport, we auto-abort\n\t\tif ( !transport ) {\n\t\t\tdone( -1, \"No Transport\" );\n\t\t} else {\n\t\t\tjqXHR.readyState = 1;\n\n\t\t\t// Send global event\n\t\t\tif ( fireGlobals ) {\n\t\t\t\tglobalEventContext.trigger( \"ajaxSend\", [ jqXHR, s ] );\n\t\t\t}\n\n\t\t\t// If request was aborted inside ajaxSend, stop there\n\t\t\tif ( completed ) {\n\t\t\t\treturn jqXHR;\n\t\t\t}\n\n\t\t\t// Timeout\n\t\t\tif ( s.async && s.timeout > 0 ) {\n\t\t\t\ttimeoutTimer = window.setTimeout( function() {\n\t\t\t\t\tjqXHR.abort( \"timeout\" );\n\t\t\t\t}, s.timeout );\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tcompleted = false;\n\t\t\t\ttransport.send( requestHeaders, done );\n\t\t\t} catch ( e ) {\n\n\t\t\t\t// Rethrow post-completion exceptions\n\t\t\t\tif ( completed ) {\n\t\t\t\t\tthrow e;\n\t\t\t\t}\n\n\t\t\t\t// Propagate others as results\n\t\t\t\tdone( -1, e );\n\t\t\t}\n\t\t}\n\n\t\t// Callback for when everything is done\n\t\tfunction done( status, nativeStatusText, responses, headers ) {\n\t\t\tvar isSuccess, success, error, response, modified,\n\t\t\t\tstatusText = nativeStatusText;\n\n\t\t\t// Ignore repeat invocations\n\t\t\tif ( completed ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tcompleted = true;\n\n\t\t\t// Clear timeout if it exists\n\t\t\tif ( timeoutTimer ) {\n\t\t\t\twindow.clearTimeout( timeoutTimer );\n\t\t\t}\n\n\t\t\t// Dereference transport for early garbage collection\n\t\t\t// (no matter how long the jqXHR object will be used)\n\t\t\ttransport = undefined;\n\n\t\t\t// Cache response headers\n\t\t\tresponseHeadersString = headers || \"\";\n\n\t\t\t// Set readyState\n\t\t\tjqXHR.readyState = status > 0 ? 4 : 0;\n\n\t\t\t// Determine if successful\n\t\t\tisSuccess = status >= 200 && status < 300 || status === 304;\n\n\t\t\t// Get response data\n\t\t\tif ( responses ) {\n\t\t\t\tresponse = ajaxHandleResponses( s, jqXHR, responses );\n\t\t\t}\n\n\t\t\t// Use a noop converter for missing script\n\t\t\tif ( !isSuccess && jQuery.inArray( \"script\", s.dataTypes ) > -1 ) {\n\t\t\t\ts.converters[ \"text script\" ] = function() {};\n\t\t\t}\n\n\t\t\t// Convert no matter what (that way responseXXX fields are always set)\n\t\t\tresponse = ajaxConvert( s, response, jqXHR, isSuccess );\n\n\t\t\t// If successful, handle type chaining\n\t\t\tif ( isSuccess ) {\n\n\t\t\t\t// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.\n\t\t\t\tif ( s.ifModified ) {\n\t\t\t\t\tmodified = jqXHR.getResponseHeader( \"Last-Modified\" );\n\t\t\t\t\tif ( modified ) {\n\t\t\t\t\t\tjQuery.lastModified[ cacheURL ] = modified;\n\t\t\t\t\t}\n\t\t\t\t\tmodified = jqXHR.getResponseHeader( \"etag\" );\n\t\t\t\t\tif ( modified ) {\n\t\t\t\t\t\tjQuery.etag[ cacheURL ] = modified;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// if no content\n\t\t\t\tif ( status === 204 || s.type === \"HEAD\" ) {\n\t\t\t\t\tstatusText = \"nocontent\";\n\n\t\t\t\t// if not modified\n\t\t\t\t} else if ( status === 304 ) {\n\t\t\t\t\tstatusText = \"notmodified\";\n\n\t\t\t\t// If we have data, let's convert it\n\t\t\t\t} else {\n\t\t\t\t\tstatusText = response.state;\n\t\t\t\t\tsuccess = response.data;\n\t\t\t\t\terror = response.error;\n\t\t\t\t\tisSuccess = !error;\n\t\t\t\t}\n\t\t\t} else {\n\n\t\t\t\t// Extract error from statusText and normalize for non-aborts\n\t\t\t\terror = statusText;\n\t\t\t\tif ( status || !statusText ) {\n\t\t\t\t\tstatusText = \"error\";\n\t\t\t\t\tif ( status < 0 ) {\n\t\t\t\t\t\tstatus = 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Set data for the fake xhr object\n\t\t\tjqXHR.status = status;\n\t\t\tjqXHR.statusText = ( nativeStatusText || statusText ) + \"\";\n\n\t\t\t// Success/Error\n\t\t\tif ( isSuccess ) {\n\t\t\t\tdeferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] );\n\t\t\t} else {\n\t\t\t\tdeferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] );\n\t\t\t}\n\n\t\t\t// Status-dependent callbacks\n\t\t\tjqXHR.statusCode( statusCode );\n\t\t\tstatusCode = undefined;\n\n\t\t\tif ( fireGlobals ) {\n\t\t\t\tglobalEventContext.trigger( isSuccess ? \"ajaxSuccess\" : \"ajaxError\",\n\t\t\t\t\t[ jqXHR, s, isSuccess ? success : error ] );\n\t\t\t}\n\n\t\t\t// Complete\n\t\t\tcompleteDeferred.fireWith( callbackContext, [ jqXHR, statusText ] );\n\n\t\t\tif ( fireGlobals ) {\n\t\t\t\tglobalEventContext.trigger( \"ajaxComplete\", [ jqXHR, s ] );\n\n\t\t\t\t// Handle the global AJAX counter\n\t\t\t\tif ( !( --jQuery.active ) ) {\n\t\t\t\t\tjQuery.event.trigger( \"ajaxStop\" );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn jqXHR;\n\t},\n\n\tgetJSON: function( url, data, callback ) {\n\t\treturn jQuery.get( url, data, callback, \"json\" );\n\t},\n\n\tgetScript: function( url, callback ) {\n\t\treturn jQuery.get( url, undefined, callback, \"script\" );\n\t}\n} );\n\njQuery.each( [ \"get\", \"post\" ], function( _i, method ) {\n\tjQuery[ method ] = function( url, data, callback, type ) {\n\n\t\t// Shift arguments if data argument was omitted\n\t\tif ( isFunction( data ) ) {\n\t\t\ttype = type || callback;\n\t\t\tcallback = data;\n\t\t\tdata = undefined;\n\t\t}\n\n\t\t// The url can be an options object (which then must have .url)\n\t\treturn jQuery.ajax( jQuery.extend( {\n\t\t\turl: url,\n\t\t\ttype: method,\n\t\t\tdataType: type,\n\t\t\tdata: data,\n\t\t\tsuccess: callback\n\t\t}, jQuery.isPlainObject( url ) && url ) );\n\t};\n} );\n\njQuery.ajaxPrefilter( function( s ) {\n\tvar i;\n\tfor ( i in s.headers ) {\n\t\tif ( i.toLowerCase() === \"content-type\" ) {\n\t\t\ts.contentType = s.headers[ i ] || \"\";\n\t\t}\n\t}\n} );\n\n\njQuery._evalUrl = function( url, options, doc ) {\n\treturn jQuery.ajax( {\n\t\turl: url,\n\n\t\t// Make this explicit, since user can override this through ajaxSetup (#11264)\n\t\ttype: \"GET\",\n\t\tdataType: \"script\",\n\t\tcache: true,\n\t\tasync: false,\n\t\tglobal: false,\n\n\t\t// Only evaluate the response if it is successful (gh-4126)\n\t\t// dataFilter is not invoked for failure responses, so using it instead\n\t\t// of the default converter is kludgy but it works.\n\t\tconverters: {\n\t\t\t\"text script\": function() {}\n\t\t},\n\t\tdataFilter: function( response ) {\n\t\t\tjQuery.globalEval( response, options, doc );\n\t\t}\n\t} );\n};\n\n\njQuery.fn.extend( {\n\twrapAll: function( html ) {\n\t\tvar wrap;\n\n\t\tif ( this[ 0 ] ) {\n\t\t\tif ( isFunction( html ) ) {\n\t\t\t\thtml = html.call( this[ 0 ] );\n\t\t\t}\n\n\t\t\t// The elements to wrap the target around\n\t\t\twrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true );\n\n\t\t\tif ( this[ 0 ].parentNode ) {\n\t\t\t\twrap.insertBefore( this[ 0 ] );\n\t\t\t}\n\n\t\t\twrap.map( function() {\n\t\t\t\tvar elem = this;\n\n\t\t\t\twhile ( elem.firstElementChild ) {\n\t\t\t\t\telem = elem.firstElementChild;\n\t\t\t\t}\n\n\t\t\t\treturn elem;\n\t\t\t} ).append( this );\n\t\t}\n\n\t\treturn this;\n\t},\n\n\twrapInner: function( html ) {\n\t\tif ( isFunction( html ) ) {\n\t\t\treturn this.each( function( i ) {\n\t\t\t\tjQuery( this ).wrapInner( html.call( this, i ) );\n\t\t\t} );\n\t\t}\n\n\t\treturn this.each( function() {\n\t\t\tvar self = jQuery( this ),\n\t\t\t\tcontents = self.contents();\n\n\t\t\tif ( contents.length ) {\n\t\t\t\tcontents.wrapAll( html );\n\n\t\t\t} else {\n\t\t\t\tself.append( html );\n\t\t\t}\n\t\t} );\n\t},\n\n\twrap: function( html ) {\n\t\tvar htmlIsFunction = isFunction( html );\n\n\t\treturn this.each( function( i ) {\n\t\t\tjQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html );\n\t\t} );\n\t},\n\n\tunwrap: function( selector ) {\n\t\tthis.parent( selector ).not( \"body\" ).each( function() {\n\t\t\tjQuery( this ).replaceWith( this.childNodes );\n\t\t} );\n\t\treturn this;\n\t}\n} );\n\n\njQuery.expr.pseudos.hidden = function( elem ) {\n\treturn !jQuery.expr.pseudos.visible( elem );\n};\njQuery.expr.pseudos.visible = function( elem ) {\n\treturn !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length );\n};\n\n\n\n\njQuery.ajaxSettings.xhr = function() {\n\ttry {\n\t\treturn new window.XMLHttpRequest();\n\t} catch ( e ) {}\n};\n\nvar xhrSuccessStatus = {\n\n\t\t// File protocol always yields status code 0, assume 200\n\t\t0: 200,\n\n\t\t// Support: IE <=9 only\n\t\t// #1450: sometimes IE returns 1223 when it should be 204\n\t\t1223: 204\n\t},\n\txhrSupported = jQuery.ajaxSettings.xhr();\n\nsupport.cors = !!xhrSupported && ( \"withCredentials\" in xhrSupported );\nsupport.ajax = xhrSupported = !!xhrSupported;\n\njQuery.ajaxTransport( function( options ) {\n\tvar callback, errorCallback;\n\n\t// Cross domain only allowed if supported through XMLHttpRequest\n\tif ( support.cors || xhrSupported && !options.crossDomain ) {\n\t\treturn {\n\t\t\tsend: function( headers, complete ) {\n\t\t\t\tvar i,\n\t\t\t\t\txhr = options.xhr();\n\n\t\t\t\txhr.open(\n\t\t\t\t\toptions.type,\n\t\t\t\t\toptions.url,\n\t\t\t\t\toptions.async,\n\t\t\t\t\toptions.username,\n\t\t\t\t\toptions.password\n\t\t\t\t);\n\n\t\t\t\t// Apply custom fields if provided\n\t\t\t\tif ( options.xhrFields ) {\n\t\t\t\t\tfor ( i in options.xhrFields ) {\n\t\t\t\t\t\txhr[ i ] = options.xhrFields[ i ];\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Override mime type if needed\n\t\t\t\tif ( options.mimeType && xhr.overrideMimeType ) {\n\t\t\t\t\txhr.overrideMimeType( options.mimeType );\n\t\t\t\t}\n\n\t\t\t\t// X-Requested-With header\n\t\t\t\t// For cross-domain requests, seeing as conditions for a preflight are\n\t\t\t\t// akin to a jigsaw puzzle, we simply never set it to be sure.\n\t\t\t\t// (it can always be set on a per-request basis or even using ajaxSetup)\n\t\t\t\t// For same-domain requests, won't change header if already provided.\n\t\t\t\tif ( !options.crossDomain && !headers[ \"X-Requested-With\" ] ) {\n\t\t\t\t\theaders[ \"X-Requested-With\" ] = \"XMLHttpRequest\";\n\t\t\t\t}\n\n\t\t\t\t// Set headers\n\t\t\t\tfor ( i in headers ) {\n\t\t\t\t\txhr.setRequestHeader( i, headers[ i ] );\n\t\t\t\t}\n\n\t\t\t\t// Callback\n\t\t\t\tcallback = function( type ) {\n\t\t\t\t\treturn function() {\n\t\t\t\t\t\tif ( callback ) {\n\t\t\t\t\t\t\tcallback = errorCallback = xhr.onload =\n\t\t\t\t\t\t\t\txhr.onerror = xhr.onabort = xhr.ontimeout =\n\t\t\t\t\t\t\t\t\txhr.onreadystatechange = null;\n\n\t\t\t\t\t\t\tif ( type === \"abort\" ) {\n\t\t\t\t\t\t\t\txhr.abort();\n\t\t\t\t\t\t\t} else if ( type === \"error\" ) {\n\n\t\t\t\t\t\t\t\t// Support: IE <=9 only\n\t\t\t\t\t\t\t\t// On a manual native abort, IE9 throws\n\t\t\t\t\t\t\t\t// errors on any property access that is not readyState\n\t\t\t\t\t\t\t\tif ( typeof xhr.status !== \"number\" ) {\n\t\t\t\t\t\t\t\t\tcomplete( 0, \"error\" );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tcomplete(\n\n\t\t\t\t\t\t\t\t\t\t// File: protocol always yields status 0; see #8605, #14207\n\t\t\t\t\t\t\t\t\t\txhr.status,\n\t\t\t\t\t\t\t\t\t\txhr.statusText\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tcomplete(\n\t\t\t\t\t\t\t\t\txhrSuccessStatus[ xhr.status ] || xhr.status,\n\t\t\t\t\t\t\t\t\txhr.statusText,\n\n\t\t\t\t\t\t\t\t\t// Support: IE <=9 only\n\t\t\t\t\t\t\t\t\t// IE9 has no XHR2 but throws on binary (trac-11426)\n\t\t\t\t\t\t\t\t\t// For XHR2 non-text, let the caller handle it (gh-2498)\n\t\t\t\t\t\t\t\t\t( xhr.responseType || \"text\" ) !== \"text\" ||\n\t\t\t\t\t\t\t\t\ttypeof xhr.responseText !== \"string\" ?\n\t\t\t\t\t\t\t\t\t\t{ binary: xhr.response } :\n\t\t\t\t\t\t\t\t\t\t{ text: xhr.responseText },\n\t\t\t\t\t\t\t\t\txhr.getAllResponseHeaders()\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t};\n\n\t\t\t\t// Listen to events\n\t\t\t\txhr.onload = callback();\n\t\t\t\terrorCallback = xhr.onerror = xhr.ontimeout = callback( \"error\" );\n\n\t\t\t\t// Support: IE 9 only\n\t\t\t\t// Use onreadystatechange to replace onabort\n\t\t\t\t// to handle uncaught aborts\n\t\t\t\tif ( xhr.onabort !== undefined ) {\n\t\t\t\t\txhr.onabort = errorCallback;\n\t\t\t\t} else {\n\t\t\t\t\txhr.onreadystatechange = function() {\n\n\t\t\t\t\t\t// Check readyState before timeout as it changes\n\t\t\t\t\t\tif ( xhr.readyState === 4 ) {\n\n\t\t\t\t\t\t\t// Allow onerror to be called first,\n\t\t\t\t\t\t\t// but that will not handle a native abort\n\t\t\t\t\t\t\t// Also, save errorCallback to a variable\n\t\t\t\t\t\t\t// as xhr.onerror cannot be accessed\n\t\t\t\t\t\t\twindow.setTimeout( function() {\n\t\t\t\t\t\t\t\tif ( callback ) {\n\t\t\t\t\t\t\t\t\terrorCallback();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\t// Create the abort callback\n\t\t\t\tcallback = callback( \"abort\" );\n\n\t\t\t\ttry {\n\n\t\t\t\t\t// Do send the request (this may raise an exception)\n\t\t\t\t\txhr.send( options.hasContent && options.data || null );\n\t\t\t\t} catch ( e ) {\n\n\t\t\t\t\t// #14683: Only rethrow if this hasn't been notified as an error yet\n\t\t\t\t\tif ( callback ) {\n\t\t\t\t\t\tthrow e;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tabort: function() {\n\t\t\t\tif ( callback ) {\n\t\t\t\t\tcallback();\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}\n} );\n\n\n\n\n// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432)\njQuery.ajaxPrefilter( function( s ) {\n\tif ( s.crossDomain ) {\n\t\ts.contents.script = false;\n\t}\n} );\n\n// Install script dataType\njQuery.ajaxSetup( {\n\taccepts: {\n\t\tscript: \"text/javascript, application/javascript, \" +\n\t\t\t\"application/ecmascript, application/x-ecmascript\"\n\t},\n\tcontents: {\n\t\tscript: /\\b(?:java|ecma)script\\b/\n\t},\n\tconverters: {\n\t\t\"text script\": function( text ) {\n\t\t\tjQuery.globalEval( text );\n\t\t\treturn text;\n\t\t}\n\t}\n} );\n\n// Handle cache's special case and crossDomain\njQuery.ajaxPrefilter( \"script\", function( s ) {\n\tif ( s.cache === undefined ) {\n\t\ts.cache = false;\n\t}\n\tif ( s.crossDomain ) {\n\t\ts.type = \"GET\";\n\t}\n} );\n\n// Bind script tag hack transport\njQuery.ajaxTransport( \"script\", function( s ) {\n\n\t// This transport only deals with cross domain or forced-by-attrs requests\n\tif ( s.crossDomain || s.scriptAttrs ) {\n\t\tvar script, callback;\n\t\treturn {\n\t\t\tsend: function( _, complete ) {\n\t\t\t\tscript = jQuery( \"