UNPKG

matrix-react-sdk

Version:
115 lines (112 loc) 19.3 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.DialogOpener = void 0; var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _classnames = _interopRequireDefault(require("classnames")); var _dispatcher = _interopRequireDefault(require("../dispatcher/dispatcher")); var _Modal = _interopRequireDefault(require("../Modal")); var _RoomSettingsDialog = _interopRequireDefault(require("../components/views/dialogs/RoomSettingsDialog")); var _ForwardDialog = _interopRequireDefault(require("../components/views/dialogs/ForwardDialog")); var _actions = require("../dispatcher/actions"); var _ReportEventDialog = _interopRequireDefault(require("../components/views/dialogs/ReportEventDialog")); var _SpacePreferencesDialog = _interopRequireDefault(require("../components/views/dialogs/SpacePreferencesDialog")); var _SpaceSettingsDialog = _interopRequireDefault(require("../components/views/dialogs/SpaceSettingsDialog")); var _InviteDialog = _interopRequireDefault(require("../components/views/dialogs/InviteDialog")); var _AddExistingToSpaceDialog = _interopRequireDefault(require("../components/views/dialogs/AddExistingToSpaceDialog")); var _PosthogTrackers = _interopRequireDefault(require("../PosthogTrackers")); var _space = require("./space"); var _SDKContext = require("../contexts/SDKContext"); var _DialogOpener; /* Copyright 2024 New Vector Ltd. Copyright 2022 The Matrix.org Foundation C.I.C. SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only Please see LICENSE files in the repository root for full details. */ /** * Auxiliary class to listen for dialog opening over the dispatcher and * open the required dialogs. Not all dialogs run through here, but the * ones which cause import cycles are good candidates. */ class DialogOpener { constructor() { (0, _defineProperty2.default)(this, "isRegistered", false); (0, _defineProperty2.default)(this, "matrixClient", void 0); (0, _defineProperty2.default)(this, "onDispatch", payload => { if (!this.matrixClient) return; switch (payload.action) { case "open_room_settings": _Modal.default.createDialog(_RoomSettingsDialog.default, { roomId: payload.room_id || _SDKContext.SdkContextClass.instance.roomViewStore.getRoomId(), initialTabId: payload.initial_tab_id }, /*className=*/undefined, /*isPriority=*/false, /*isStatic=*/true); break; case _actions.Action.OpenForwardDialog: _Modal.default.createDialog(_ForwardDialog.default, { matrixClient: this.matrixClient, event: payload.event, permalinkCreator: payload.permalinkCreator }); break; case _actions.Action.OpenReportEventDialog: _Modal.default.createDialog(_ReportEventDialog.default, { mxEvent: payload.event }, "mx_Dialog_reportEvent"); break; case _actions.Action.OpenSpacePreferences: _Modal.default.createDialog(_SpacePreferencesDialog.default, { space: payload.space }, undefined, false, true); break; case _actions.Action.OpenSpaceSettings: _Modal.default.createDialog(_SpaceSettingsDialog.default, { matrixClient: payload.space.client, space: payload.space }, /*className=*/undefined, /*isPriority=*/false, /*isStatic=*/true); break; case _actions.Action.OpenInviteDialog: _Modal.default.createDialog(_InviteDialog.default, { kind: payload.kind, call: payload.call, roomId: payload.roomId }, (0, _classnames.default)("mx_InviteDialog_flexWrapper", payload.className), false, true).finished.then(results => { payload.onFinishedCallback?.(results); }); break; case _actions.Action.OpenAddToExistingSpaceDialog: { const space = payload.space; _Modal.default.createDialog(_AddExistingToSpaceDialog.default, { onCreateRoomClick: ev => { (0, _space.showCreateNewRoom)(space); _PosthogTrackers.default.trackInteraction("WebAddExistingToSpaceDialogCreateRoomButton", ev); }, onAddSubspaceClick: () => (0, _space.showAddExistingSubspace)(space), space, onFinished: added => { if (added && _SDKContext.SdkContextClass.instance.roomViewStore.getRoomId() === space.roomId) { _dispatcher.default.fire(_actions.Action.UpdateSpaceHierarchy); } } }, "mx_AddExistingToSpaceDialog_wrapper"); break; } } }); } // We could do this in the constructor, but then we wouldn't have // a function to call from Lifecycle to capture the class. prepare(matrixClient) { this.matrixClient = matrixClient; if (this.isRegistered) return; _dispatcher.default.register(this.onDispatch); this.isRegistered = true; } } exports.DialogOpener = DialogOpener; _DialogOpener = DialogOpener; (0, _defineProperty2.default)(DialogOpener, "instance", new _DialogOpener()); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2Rpc3BhdGNoZXIiLCJfTW9kYWwiLCJfUm9vbVNldHRpbmdzRGlhbG9nIiwiX0ZvcndhcmREaWFsb2ciLCJfYWN0aW9ucyIsIl9SZXBvcnRFdmVudERpYWxvZyIsIl9TcGFjZVByZWZlcmVuY2VzRGlhbG9nIiwiX1NwYWNlU2V0dGluZ3NEaWFsb2ciLCJfSW52aXRlRGlhbG9nIiwiX0FkZEV4aXN0aW5nVG9TcGFjZURpYWxvZyIsIl9Qb3N0aG9nVHJhY2tlcnMiLCJfc3BhY2UiLCJfU0RLQ29udGV4dCIsIl9EaWFsb2dPcGVuZXIiLCJEaWFsb2dPcGVuZXIiLCJjb25zdHJ1Y3RvciIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJkZWZhdWx0IiwicGF5bG9hZCIsIm1hdHJpeENsaWVudCIsImFjdGlvbiIsIk1vZGFsIiwiY3JlYXRlRGlhbG9nIiwiUm9vbVNldHRpbmdzRGlhbG9nIiwicm9vbUlkIiwicm9vbV9pZCIsIlNka0NvbnRleHRDbGFzcyIsImluc3RhbmNlIiwicm9vbVZpZXdTdG9yZSIsImdldFJvb21JZCIsImluaXRpYWxUYWJJZCIsImluaXRpYWxfdGFiX2lkIiwidW5kZWZpbmVkIiwiQWN0aW9uIiwiT3BlbkZvcndhcmREaWFsb2ciLCJGb3J3YXJkRGlhbG9nIiwiZXZlbnQiLCJwZXJtYWxpbmtDcmVhdG9yIiwiT3BlblJlcG9ydEV2ZW50RGlhbG9nIiwiUmVwb3J0RXZlbnREaWFsb2ciLCJteEV2ZW50IiwiT3BlblNwYWNlUHJlZmVyZW5jZXMiLCJTcGFjZVByZWZlcmVuY2VzRGlhbG9nIiwic3BhY2UiLCJPcGVuU3BhY2VTZXR0aW5ncyIsIlNwYWNlU2V0dGluZ3NEaWFsb2ciLCJjbGllbnQiLCJPcGVuSW52aXRlRGlhbG9nIiwiSW52aXRlRGlhbG9nIiwia2luZCIsImNhbGwiLCJjbGFzc25hbWVzIiwiY2xhc3NOYW1lIiwiZmluaXNoZWQiLCJ0aGVuIiwicmVzdWx0cyIsIm9uRmluaXNoZWRDYWxsYmFjayIsIk9wZW5BZGRUb0V4aXN0aW5nU3BhY2VEaWFsb2ciLCJBZGRFeGlzdGluZ1RvU3BhY2VEaWFsb2ciLCJvbkNyZWF0ZVJvb21DbGljayIsImV2Iiwic2hvd0NyZWF0ZU5ld1Jvb20iLCJQb3N0aG9nVHJhY2tlcnMiLCJ0cmFja0ludGVyYWN0aW9uIiwib25BZGRTdWJzcGFjZUNsaWNrIiwic2hvd0FkZEV4aXN0aW5nU3Vic3BhY2UiLCJvbkZpbmlzaGVkIiwiYWRkZWQiLCJkZWZhdWx0RGlzcGF0Y2hlciIsImZpcmUiLCJVcGRhdGVTcGFjZUhpZXJhcmNoeSIsInByZXBhcmUiLCJpc1JlZ2lzdGVyZWQiLCJyZWdpc3RlciIsIm9uRGlzcGF0Y2giLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL0RpYWxvZ09wZW5lci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHlcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tIFwiY2xhc3NuYW1lc1wiO1xuaW1wb3J0IHsgQ29tcG9uZW50UHJvcHMgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IE1hdHJpeENsaWVudCB9IGZyb20gXCJtYXRyaXgtanMtc2RrL3NyYy9tYXRyaXhcIjtcblxuaW1wb3J0IGRlZmF1bHREaXNwYXRjaGVyIGZyb20gXCIuLi9kaXNwYXRjaGVyL2Rpc3BhdGNoZXJcIjtcbmltcG9ydCB7IEFjdGlvblBheWxvYWQgfSBmcm9tIFwiLi4vZGlzcGF0Y2hlci9wYXlsb2Fkc1wiO1xuaW1wb3J0IE1vZGFsIGZyb20gXCIuLi9Nb2RhbFwiO1xuaW1wb3J0IFJvb21TZXR0aW5nc0RpYWxvZyBmcm9tIFwiLi4vY29tcG9uZW50cy92aWV3cy9kaWFsb2dzL1Jvb21TZXR0aW5nc0RpYWxvZ1wiO1xuaW1wb3J0IEZvcndhcmREaWFsb2cgZnJvbSBcIi4uL2NvbXBvbmVudHMvdmlld3MvZGlhbG9ncy9Gb3J3YXJkRGlhbG9nXCI7XG5pbXBvcnQgeyBBY3Rpb24gfSBmcm9tIFwiLi4vZGlzcGF0Y2hlci9hY3Rpb25zXCI7XG5pbXBvcnQgUmVwb3J0RXZlbnREaWFsb2cgZnJvbSBcIi4uL2NvbXBvbmVudHMvdmlld3MvZGlhbG9ncy9SZXBvcnRFdmVudERpYWxvZ1wiO1xuaW1wb3J0IFNwYWNlUHJlZmVyZW5jZXNEaWFsb2cgZnJvbSBcIi4uL2NvbXBvbmVudHMvdmlld3MvZGlhbG9ncy9TcGFjZVByZWZlcmVuY2VzRGlhbG9nXCI7XG5pbXBvcnQgU3BhY2VTZXR0aW5nc0RpYWxvZyBmcm9tIFwiLi4vY29tcG9uZW50cy92aWV3cy9kaWFsb2dzL1NwYWNlU2V0dGluZ3NEaWFsb2dcIjtcbmltcG9ydCBJbnZpdGVEaWFsb2cgZnJvbSBcIi4uL2NvbXBvbmVudHMvdmlld3MvZGlhbG9ncy9JbnZpdGVEaWFsb2dcIjtcbmltcG9ydCBBZGRFeGlzdGluZ1RvU3BhY2VEaWFsb2cgZnJvbSBcIi4uL2NvbXBvbmVudHMvdmlld3MvZGlhbG9ncy9BZGRFeGlzdGluZ1RvU3BhY2VEaWFsb2dcIjtcbmltcG9ydCB7IEJ1dHRvbkV2ZW50IH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvdmlld3MvZWxlbWVudHMvQWNjZXNzaWJsZUJ1dHRvblwiO1xuaW1wb3J0IFBvc3Rob2dUcmFja2VycyBmcm9tIFwiLi4vUG9zdGhvZ1RyYWNrZXJzXCI7XG5pbXBvcnQgeyBzaG93QWRkRXhpc3RpbmdTdWJzcGFjZSwgc2hvd0NyZWF0ZU5ld1Jvb20gfSBmcm9tIFwiLi9zcGFjZVwiO1xuaW1wb3J0IHsgU2RrQ29udGV4dENsYXNzIH0gZnJvbSBcIi4uL2NvbnRleHRzL1NES0NvbnRleHRcIjtcblxuLyoqXG4gKiBBdXhpbGlhcnkgY2xhc3MgdG8gbGlzdGVuIGZvciBkaWFsb2cgb3BlbmluZyBvdmVyIHRoZSBkaXNwYXRjaGVyIGFuZFxuICogb3BlbiB0aGUgcmVxdWlyZWQgZGlhbG9ncy4gTm90IGFsbCBkaWFsb2dzIHJ1biB0aHJvdWdoIGhlcmUsIGJ1dCB0aGVcbiAqIG9uZXMgd2hpY2ggY2F1c2UgaW1wb3J0IGN5Y2xlcyBhcmUgZ29vZCBjYW5kaWRhdGVzLlxuICovXG5leHBvcnQgY2xhc3MgRGlhbG9nT3BlbmVyIHtcbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGluc3RhbmNlID0gbmV3IERpYWxvZ09wZW5lcigpO1xuXG4gICAgcHJpdmF0ZSBpc1JlZ2lzdGVyZWQgPSBmYWxzZTtcbiAgICBwcml2YXRlIG1hdHJpeENsaWVudD86IE1hdHJpeENsaWVudDtcblxuICAgIHByaXZhdGUgY29uc3RydWN0b3IoKSB7fVxuXG4gICAgLy8gV2UgY291bGQgZG8gdGhpcyBpbiB0aGUgY29uc3RydWN0b3IsIGJ1dCB0aGVuIHdlIHdvdWxkbid0IGhhdmVcbiAgICAvLyBhIGZ1bmN0aW9uIHRvIGNhbGwgZnJvbSBMaWZlY3ljbGUgdG8gY2FwdHVyZSB0aGUgY2xhc3MuXG4gICAgcHVibGljIHByZXBhcmUobWF0cml4Q2xpZW50OiBNYXRyaXhDbGllbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tYXRyaXhDbGllbnQgPSBtYXRyaXhDbGllbnQ7XG4gICAgICAgIGlmICh0aGlzLmlzUmVnaXN0ZXJlZCkgcmV0dXJuO1xuICAgICAgICBkZWZhdWx0RGlzcGF0Y2hlci5yZWdpc3Rlcih0aGlzLm9uRGlzcGF0Y2gpO1xuICAgICAgICB0aGlzLmlzUmVnaXN0ZXJlZCA9IHRydWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvbkRpc3BhdGNoID0gKHBheWxvYWQ6IEFjdGlvblBheWxvYWQpOiB2b2lkID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLm1hdHJpeENsaWVudCkgcmV0dXJuO1xuICAgICAgICBzd2l0Y2ggKHBheWxvYWQuYWN0aW9uKSB7XG4gICAgICAgICAgICBjYXNlIFwib3Blbl9yb29tX3NldHRpbmdzXCI6XG4gICAgICAgICAgICAgICAgTW9kYWwuY3JlYXRlRGlhbG9nKFxuICAgICAgICAgICAgICAgICAgICBSb29tU2V0dGluZ3NEaWFsb2csXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvb21JZDogcGF5bG9hZC5yb29tX2lkIHx8IFNka0NvbnRleHRDbGFzcy5pbnN0YW5jZS5yb29tVmlld1N0b3JlLmdldFJvb21JZCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgaW5pdGlhbFRhYklkOiBwYXlsb2FkLmluaXRpYWxfdGFiX2lkLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAvKmNsYXNzTmFtZT0qLyB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgIC8qaXNQcmlvcml0eT0qLyBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgLyppc1N0YXRpYz0qLyB0cnVlLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIEFjdGlvbi5PcGVuRm9yd2FyZERpYWxvZzpcbiAgICAgICAgICAgICAgICBNb2RhbC5jcmVhdGVEaWFsb2coRm9yd2FyZERpYWxvZywge1xuICAgICAgICAgICAgICAgICAgICBtYXRyaXhDbGllbnQ6IHRoaXMubWF0cml4Q2xpZW50LFxuICAgICAgICAgICAgICAgICAgICBldmVudDogcGF5bG9hZC5ldmVudCxcbiAgICAgICAgICAgICAgICAgICAgcGVybWFsaW5rQ3JlYXRvcjogcGF5bG9hZC5wZXJtYWxpbmtDcmVhdG9yLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBBY3Rpb24uT3BlblJlcG9ydEV2ZW50RGlhbG9nOlxuICAgICAgICAgICAgICAgIE1vZGFsLmNyZWF0ZURpYWxvZyhcbiAgICAgICAgICAgICAgICAgICAgUmVwb3J0RXZlbnREaWFsb2csXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG14RXZlbnQ6IHBheWxvYWQuZXZlbnQsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIFwibXhfRGlhbG9nX3JlcG9ydEV2ZW50XCIsXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgQWN0aW9uLk9wZW5TcGFjZVByZWZlcmVuY2VzOlxuICAgICAgICAgICAgICAgIE1vZGFsLmNyZWF0ZURpYWxvZyhcbiAgICAgICAgICAgICAgICAgICAgU3BhY2VQcmVmZXJlbmNlc0RpYWxvZyxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgc3BhY2U6IHBheWxvYWQuc3BhY2UsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIHRydWUsXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgQWN0aW9uLk9wZW5TcGFjZVNldHRpbmdzOlxuICAgICAgICAgICAgICAgIE1vZGFsLmNyZWF0ZURpYWxvZyhcbiAgICAgICAgICAgICAgICAgICAgU3BhY2VTZXR0aW5nc0RpYWxvZyxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWF0cml4Q2xpZW50OiBwYXlsb2FkLnNwYWNlLmNsaWVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNwYWNlOiBwYXlsb2FkLnNwYWNlLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAvKmNsYXNzTmFtZT0qLyB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgIC8qaXNQcmlvcml0eT0qLyBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgLyppc1N0YXRpYz0qLyB0cnVlLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIEFjdGlvbi5PcGVuSW52aXRlRGlhbG9nOlxuICAgICAgICAgICAgICAgIE1vZGFsLmNyZWF0ZURpYWxvZyhcbiAgICAgICAgICAgICAgICAgICAgSW52aXRlRGlhbG9nLFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBraW5kOiBwYXlsb2FkLmtpbmQsXG4gICAgICAgICAgICAgICAgICAgICAgICBjYWxsOiBwYXlsb2FkLmNhbGwsXG4gICAgICAgICAgICAgICAgICAgICAgICByb29tSWQ6IHBheWxvYWQucm9vbUlkLFxuICAgICAgICAgICAgICAgICAgICB9IGFzIE9taXQ8Q29tcG9uZW50UHJvcHM8dHlwZW9mIEludml0ZURpYWxvZz4sIFwib25GaW5pc2hlZFwiPixcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NuYW1lcyhcIm14X0ludml0ZURpYWxvZ19mbGV4V3JhcHBlclwiLCBwYXlsb2FkLmNsYXNzTmFtZSksXG4gICAgICAgICAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICB0cnVlLFxuICAgICAgICAgICAgICAgICkuZmluaXNoZWQudGhlbigocmVzdWx0cykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBwYXlsb2FkLm9uRmluaXNoZWRDYWxsYmFjaz8uKHJlc3VsdHMpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBBY3Rpb24uT3BlbkFkZFRvRXhpc3RpbmdTcGFjZURpYWxvZzoge1xuICAgICAgICAgICAgICAgIGNvbnN0IHNwYWNlID0gcGF5bG9hZC5zcGFjZTtcbiAgICAgICAgICAgICAgICBNb2RhbC5jcmVhdGVEaWFsb2coXG4gICAgICAgICAgICAgICAgICAgIEFkZEV4aXN0aW5nVG9TcGFjZURpYWxvZyxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgb25DcmVhdGVSb29tQ2xpY2s6IChldjogQnV0dG9uRXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93Q3JlYXRlTmV3Um9vbShzcGFjZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgUG9zdGhvZ1RyYWNrZXJzLnRyYWNrSW50ZXJhY3Rpb24oXCJXZWJBZGRFeGlzdGluZ1RvU3BhY2VEaWFsb2dDcmVhdGVSb29tQnV0dG9uXCIsIGV2KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBvbkFkZFN1YnNwYWNlQ2xpY2s6ICgpID0+IHNob3dBZGRFeGlzdGluZ1N1YnNwYWNlKHNwYWNlKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNwYWNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgb25GaW5pc2hlZDogKGFkZGVkOiBib29sZWFuKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGFkZGVkICYmIFNka0NvbnRleHRDbGFzcy5pbnN0YW5jZS5yb29tVmlld1N0b3JlLmdldFJvb21JZCgpID09PSBzcGFjZS5yb29tSWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdERpc3BhdGNoZXIuZmlyZShBY3Rpb24uVXBkYXRlU3BhY2VIaWVyYXJjaHkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIFwibXhfQWRkRXhpc3RpbmdUb1NwYWNlRGlhbG9nX3dyYXBwZXJcIixcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFRQSxJQUFBQSxXQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFJQSxJQUFBQyxXQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBRSxNQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRyxtQkFBQSxHQUFBSixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUksY0FBQSxHQUFBTCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUssUUFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sa0JBQUEsR0FBQVAsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFPLHVCQUFBLEdBQUFSLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBUSxvQkFBQSxHQUFBVCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQVMsYUFBQSxHQUFBVixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQVUseUJBQUEsR0FBQVgsc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFXLGdCQUFBLEdBQUFaLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBWSxNQUFBLEdBQUFaLE9BQUE7QUFDQSxJQUFBYSxXQUFBLEdBQUFiLE9BQUE7QUFBeUQsSUFBQWMsYUFBQTtBQTFCekQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFzQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPLE1BQU1DLFlBQVksQ0FBQztFQU1kQyxXQUFXQSxDQUFBLEVBQUc7SUFBQSxJQUFBQyxnQkFBQSxDQUFBQyxPQUFBLHdCQUhDLEtBQUs7SUFBQSxJQUFBRCxnQkFBQSxDQUFBQyxPQUFBO0lBQUEsSUFBQUQsZ0JBQUEsQ0FBQUMsT0FBQSxzQkFjTkMsT0FBc0IsSUFBVztNQUNuRCxJ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