matrix-react-sdk
Version:
SDK for matrix.org using React
133 lines (131 loc) • 22.2 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useUserOnboardingTasks = useUserOnboardingTasks;
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _react = require("react");
var _AppDownloadDialog = require("../components/views/dialogs/AppDownloadDialog");
var _UserTab = require("../components/views/dialogs/UserTab");
var _actions = require("../dispatcher/actions");
var _dispatcher = _interopRequireDefault(require("../dispatcher/dispatcher"));
var _languageHandler = require("../languageHandler");
var _Modal = _interopRequireDefault(require("../Modal"));
var _Notifier = require("../Notifier");
var _PosthogTrackers = _interopRequireDefault(require("../PosthogTrackers"));
var _SdkConfig = _interopRequireDefault(require("../SdkConfig"));
var _UseCase = require("../settings/enums/UseCase");
var _useSettings = require("./useSettings");
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } /*
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.
*/
const onClickStartDm = ev => {
_PosthogTrackers.default.trackInteraction("WebUserOnboardingTaskSendDm", ev);
_dispatcher.default.dispatch({
action: "view_create_chat"
});
};
const tasks = [{
id: "create-account",
title: (0, _languageHandler._t)("auth|create_account_title"),
description: (0, _languageHandler._t)("onboarding|you_made_it"),
completed: () => true
}, {
id: "find-friends",
title: (0, _languageHandler._t)("onboarding|find_friends"),
description: (0, _languageHandler._t)("onboarding|find_friends_description"),
completed: ctx => ctx.hasDmRooms,
relevant: [_UseCase.UseCase.PersonalMessaging, _UseCase.UseCase.Skip],
action: {
label: (0, _languageHandler._t)("onboarding|find_friends_action"),
onClick: onClickStartDm
}
}, {
id: "find-coworkers",
title: (0, _languageHandler._t)("onboarding|find_coworkers"),
description: (0, _languageHandler._t)("onboarding|get_stuff_done"),
completed: ctx => ctx.hasDmRooms,
relevant: [_UseCase.UseCase.WorkMessaging],
action: {
label: (0, _languageHandler._t)("onboarding|find_people"),
onClick: onClickStartDm
}
}, {
id: "find-community-members",
title: (0, _languageHandler._t)("onboarding|find_community_members"),
description: (0, _languageHandler._t)("onboarding|get_stuff_done"),
completed: ctx => ctx.hasDmRooms,
relevant: [_UseCase.UseCase.CommunityMessaging],
action: {
label: (0, _languageHandler._t)("onboarding|find_people"),
onClick: onClickStartDm
}
}, {
id: "download-apps",
title: () => (0, _languageHandler._t)("onboarding|download_app", {
brand: _SdkConfig.default.get("brand")
}),
description: () => (0, _languageHandler._t)("onboarding|download_app_description", {
brand: _SdkConfig.default.get("brand")
}),
completed: ctx => ctx.hasDevices,
action: {
label: (0, _languageHandler._t)("onboarding|download_app_action"),
onClick: ev => {
_PosthogTrackers.default.trackInteraction("WebUserOnboardingTaskDownloadApps", ev);
_Modal.default.createDialog(_AppDownloadDialog.AppDownloadDialog, {}, "mx_AppDownloadDialog_wrapper", false, true);
}
},
disabled() {
return !(0, _AppDownloadDialog.showAppDownloadDialogPrompt)();
}
}, {
id: "setup-profile",
title: (0, _languageHandler._t)("onboarding|set_up_profile"),
description: (0, _languageHandler._t)("onboarding|set_up_profile_description"),
completed: ctx => ctx.hasAvatar,
action: {
label: (0, _languageHandler._t)("onboarding|set_up_profile_action"),
onClick: ev => {
_PosthogTrackers.default.trackInteraction("WebUserOnboardingTaskSetupProfile", ev);
_dispatcher.default.dispatch({
action: _actions.Action.ViewUserSettings,
initialTabId: _UserTab.UserTab.Account
});
}
}
}, {
id: "permission-notifications",
title: (0, _languageHandler._t)("onboarding|enable_notifications"),
description: (0, _languageHandler._t)("onboarding|enable_notifications_description"),
completed: ctx => !ctx.showNotificationsPrompt,
action: {
label: (0, _languageHandler._t)("onboarding|enable_notifications_action"),
onClick: ev => {
_PosthogTrackers.default.trackInteraction("WebUserOnboardingTaskEnableNotifications", ev);
_dispatcher.default.dispatch({
action: _actions.Action.ViewUserSettings,
initialTabId: _UserTab.UserTab.Notifications
});
_Notifier.Notifier.setPromptHidden(true);
},
hideOnComplete: !_Notifier.Notifier.isPossible()
}
}];
function useUserOnboardingTasks(context) {
const useCase = (0, _useSettings.useSettingValue)("FTUE.useCaseSelection") ?? _UseCase.UseCase.Skip;
return (0, _react.useMemo)(() => {
return tasks.filter(task => {
if (task.disabled?.()) return false;
return !task.relevant || task.relevant.includes(useCase);
}).map(task => _objectSpread(_objectSpread({}, task), {}, {
completed: task.completed(context)
}));
}, [context, useCase]);
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX0FwcERvd25sb2FkRGlhbG9nIiwiX1VzZXJUYWIiLCJfYWN0aW9ucyIsIl9kaXNwYXRjaGVyIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9sYW5ndWFnZUhhbmRsZXIiLCJfTW9kYWwiLCJfTm90aWZpZXIiLCJfUG9zdGhvZ1RyYWNrZXJzIiwiX1Nka0NvbmZpZyIsIl9Vc2VDYXNlIiwiX3VzZVNldHRpbmdzIiwib3duS2V5cyIsImUiLCJyIiwidCIsIk9iamVjdCIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImRlZmF1bHQiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImRlZmluZVByb3BlcnR5Iiwib25DbGlja1N0YXJ0RG0iLCJldiIsIlBvc3Rob2dUcmFja2VycyIsInRyYWNrSW50ZXJhY3Rpb24iLCJkZWZhdWx0RGlzcGF0Y2hlciIsImRpc3BhdGNoIiwiYWN0aW9uIiwidGFza3MiLCJpZCIsInRpdGxlIiwiX3QiLCJkZXNjcmlwdGlvbiIsImNvbXBsZXRlZCIsImN0eCIsImhhc0RtUm9vbXMiLCJyZWxldmFudCIsIlVzZUNhc2UiLCJQZXJzb25hbE1lc3NhZ2luZyIsIlNraXAiLCJsYWJlbCIsIm9uQ2xpY2siLCJXb3JrTWVzc2FnaW5nIiwiQ29tbXVuaXR5TWVzc2FnaW5nIiwiYnJhbmQiLCJTZGtDb25maWciLCJnZXQiLCJoYXNEZXZpY2VzIiwiTW9kYWwiLCJjcmVhdGVEaWFsb2ciLCJBcHBEb3dubG9hZERpYWxvZyIsImRpc2FibGVkIiwic2hvd0FwcERvd25sb2FkRGlhbG9nUHJvbXB0IiwiaGFzQXZhdGFyIiwiQWN0aW9uIiwiVmlld1VzZXJTZXR0aW5ncyIsImluaXRpYWxUYWJJZCIsIlVzZXJUYWIiLCJBY2NvdW50Iiwic2hvd05vdGlmaWNhdGlvbnNQcm9tcHQiLCJOb3RpZmljYXRpb25zIiwiTm90aWZpZXIiLCJzZXRQcm9tcHRIaWRkZW4iLCJoaWRlT25Db21wbGV0ZSIsImlzUG9zc2libGUiLCJ1c2VVc2VyT25ib2FyZGluZ1Rhc2tzIiwiY29udGV4dCIsInVzZUNhc2UiLCJ1c2VTZXR0aW5nVmFsdWUiLCJ1c2VNZW1vIiwidGFzayIsImluY2x1ZGVzIiwibWFwIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3VzZVVzZXJPbmJvYXJkaW5nVGFza3MudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5XG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuaW1wb3J0IHsgdXNlTWVtbyB9IGZyb20gXCJyZWFjdFwiO1xuXG5pbXBvcnQgeyBBcHBEb3dubG9hZERpYWxvZywgc2hvd0FwcERvd25sb2FkRGlhbG9nUHJvbXB0IH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvdmlld3MvZGlhbG9ncy9BcHBEb3dubG9hZERpYWxvZ1wiO1xuaW1wb3J0IHsgVXNlclRhYiB9IGZyb20gXCIuLi9jb21wb25lbnRzL3ZpZXdzL2RpYWxvZ3MvVXNlclRhYlwiO1xuaW1wb3J0IHsgQnV0dG9uRXZlbnQgfSBmcm9tIFwiLi4vY29tcG9uZW50cy92aWV3cy9lbGVtZW50cy9BY2Nlc3NpYmxlQnV0dG9uXCI7XG5pbXBvcnQgeyBBY3Rpb24gfSBmcm9tIFwiLi4vZGlzcGF0Y2hlci9hY3Rpb25zXCI7XG5pbXBvcnQgZGVmYXVsdERpc3BhdGNoZXIgZnJvbSBcIi4uL2Rpc3BhdGNoZXIvZGlzcGF0Y2hlclwiO1xuaW1wb3J0IHsgX3QgfSBmcm9tIFwiLi4vbGFuZ3VhZ2VIYW5kbGVyXCI7XG5pbXBvcnQgTW9kYWwgZnJvbSBcIi4uL01vZGFsXCI7XG5pbXBvcnQgeyBOb3RpZmllciB9IGZyb20gXCIuLi9Ob3RpZmllclwiO1xuaW1wb3J0IFBvc3Rob2dUcmFja2VycyBmcm9tIFwiLi4vUG9zdGhvZ1RyYWNrZXJzXCI7XG5pbXBvcnQgU2RrQ29uZmlnIGZyb20gXCIuLi9TZGtDb25maWdcIjtcbmltcG9ydCB7IFVzZUNhc2UgfSBmcm9tIFwiLi4vc2V0dGluZ3MvZW51bXMvVXNlQ2FzZVwiO1xuaW1wb3J0IHsgdXNlU2V0dGluZ1ZhbHVlIH0gZnJvbSBcIi4vdXNlU2V0dGluZ3NcIjtcbmltcG9ydCB7IFVzZXJPbmJvYXJkaW5nQ29udGV4dCB9IGZyb20gXCIuL3VzZVVzZXJPbmJvYXJkaW5nQ29udGV4dFwiO1xuXG5pbnRlcmZhY2UgVXNlck9uYm9hcmRpbmdUYXNrIHtcbiAgICBpZDogc3RyaW5nO1xuICAgIHRpdGxlOiBzdHJpbmcgfCAoKCkgPT4gc3RyaW5nKTtcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nIHwgKCgpID0+IHN0cmluZyk7XG4gICAgcmVsZXZhbnQ/OiBVc2VDYXNlW107XG4gICAgYWN0aW9uPzoge1xuICAgICAgICBsYWJlbDogc3RyaW5nO1xuICAgICAgICBvbkNsaWNrPzogKGV2OiBCdXR0b25FdmVudCkgPT4gdm9pZDtcbiAgICAgICAgaHJlZj86IHN0cmluZztcbiAgICAgICAgaGlkZU9uQ29tcGxldGU/OiBib29sZWFuO1xuICAgIH07XG4gICAgY29tcGxldGVkOiAoY3R4OiBVc2VyT25ib2FyZGluZ0NvbnRleHQpID0+IGJvb2xlYW47XG4gICAgZGlzYWJsZWQ/KCk6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlck9uYm9hcmRpbmdUYXNrV2l0aFJlc29sdmVkQ29tcGxldGlvbiBleHRlbmRzIE9taXQ8VXNlck9uYm9hcmRpbmdUYXNrLCBcImNvbXBsZXRlZFwiPiB7XG4gICAgY29tcGxldGVkOiBib29sZWFuO1xufVxuXG5jb25zdCBvbkNsaWNrU3RhcnREbSA9IChldjogQnV0dG9uRXZlbnQpOiB2b2lkID0+IHtcbiAgICBQb3N0aG9nVHJhY2tlcnMudHJhY2tJbnRlcmFjdGlvbihcIldlYlVzZXJPbmJvYXJkaW5nVGFza1NlbmREbVwiLCBldik7XG4gICAgZGVmYXVsdERpc3BhdGNoZXIuZGlzcGF0Y2goeyBhY3Rpb246IFwidmlld19jcmVhdGVfY2hhdFwiIH0pO1xufTtcblxuY29uc3QgdGFza3M6IFVzZXJPbmJvYXJkaW5nVGFza1tdID0gW1xuICAgIHtcbiAgICAgICAgaWQ6IFwiY3JlYXRlLWFjY291bnRcIixcbiAgICAgICAgdGl0bGU6IF90KFwiYXV0aHxjcmVhdGVfYWNjb3VudF90aXRsZVwiKSxcbiAgICAgICAgZGVzY3JpcHRpb246IF90KFwib25ib2FyZGluZ3x5b3VfbWFkZV9pdFwiKSxcbiAgICAgICAgY29tcGxldGVkOiAoKSA9PiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgICBpZDogXCJmaW5kLWZyaWVuZHNcIixcbiAgICAgICAgdGl0bGU6IF90KFwib25ib2FyZGluZ3xmaW5kX2ZyaWVuZHNcIiksXG4gICAgICAgIGRlc2NyaXB0aW9uOiBfdChcIm9uYm9hcmRpbmd8ZmluZF9mcmllbmRzX2Rlc2NyaXB0aW9uXCIpLFxuICAgICAgICBjb21wbGV0ZWQ6IChjdHg6IFVzZXJPbmJvYXJkaW5nQ29udGV4dCkgPT4gY3R4Lmhhc0RtUm9vbXMsXG4gICAgICAgIHJlbGV2YW50OiBbVXNlQ2FzZS5QZXJzb25hbE1lc3NhZ2luZywgVXNlQ2FzZS5Ta2lwXSxcbiAgICAgICAgYWN0aW9uOiB7XG4gICAgICAgICAgICBsYWJlbDogX3QoXCJvbmJvYXJkaW5nfGZpbmRfZnJpZW5kc19hY3Rpb25cIiksXG4gICAgICAgICAgICBvbkNsaWNrOiBvbkNsaWNrU3RhcnREbSxcbiAgICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgICAgaWQ6IFwiZmluZC1jb3dvcmtlcnNcIixcbiAgICAgICAgdGl0bGU6IF90KFwib25ib2FyZGluZ3xmaW5kX2Nvd29ya2Vyc1wiKSxcbiAgICAgICAgZGVzY3JpcHRpb246IF90KFwib25ib2FyZGluZ3xnZXRfc3R1ZmZfZG9uZVwiKSxcbiAgICAgICAgY29tcGxldGVkOiAoY3R4OiBVc2VyT25ib2FyZGluZ0NvbnRleHQpID0+IGN0eC5oYXNEbVJvb21zLFxuICAgICAgICByZWxldmFudDogW1VzZUNhc2UuV29ya01lc3NhZ2luZ10sXG4gICAgICAgIGFjdGlvbjoge1xuICAgICAgICAgICAgbGFiZWw6IF90KFwib25ib2FyZGluZ3xmaW5kX3Blb3BsZVwiKSxcbiAgICAgICAgICAgIG9uQ2xpY2s6IG9uQ2xpY2tTdGFydERtLFxuICAgICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgICBpZDogXCJmaW5kLWNvbW11bml0eS1tZW1iZXJzXCIsXG4gICAgICAgIHRpdGxlOiBfdChcIm9uYm9hcmRpbmd8ZmluZF9jb21tdW5pdHlfbWVtYmVyc1wiKSxcbiAgICAgICAgZGVzY3JpcHRpb246IF90KFwib25ib2FyZGluZ3xnZXRfc3R1ZmZfZG9uZVwiKSxcbiAgICAgICAgY29tcGxldGVkOiAoY3R4OiBVc2VyT25ib2FyZGluZ0NvbnRleHQpID0+IGN0eC5oYXNEbVJvb21zLFxuICAgICAgICByZWxldmFudDogW1VzZUNhc2UuQ29tbXVuaXR5TWVzc2FnaW5nXSxcbiAgICAgICAgYWN0aW9uOiB7XG4gICAgICAgICAgICBsYWJlbDogX3QoXCJvbmJvYXJkaW5nfGZpbmRfcGVvcGxlXCIpLFxuICAgICAgICAgICAgb25DbGljazogb25DbGlja1N0YXJ0RG0sXG4gICAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICAgIGlkOiBcImRvd25sb2FkLWFwcHNcIixcbiAgICAgICAgdGl0bGU6ICgpID0+XG4gICAgICAgICAgICBfdChcIm9uYm9hcmRpbmd8ZG93bmxvYWRfYXBwXCIsIHtcbiAgICAgICAgICAgICAgICBicmFuZDogU2RrQ29uZmlnLmdldChcImJyYW5kXCIpLFxuICAgICAgICAgICAgfSksXG4gICAgICAgIGRlc2NyaXB0aW9uOiAoKSA9PlxuICAgICAgICAgICAgX3QoXCJvbmJvYXJkaW5nfGRvd25sb2FkX2FwcF9kZXNjcmlwdGlvblwiLCB7XG4gICAgICAgICAgICAgICAgYnJhbmQ6IFNka0NvbmZpZy5nZXQoXCJicmFuZFwiKSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICBjb21wbGV0ZWQ6IChjdHg6IFVzZXJPbmJvYXJkaW5nQ29udGV4dCkgPT4gY3R4Lmhhc0RldmljZXMsXG4gICAgICAgIGFjdGlvbjoge1xuICAgICAgICAgICAgbGFiZWw6IF90KFwib25ib2FyZGluZ3xkb3dubG9hZF9hcHBfYWN0aW9uXCIpLFxuICAgICAgICAgICAgb25DbGljazogKGV2OiBCdXR0b25FdmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIFBvc3Rob2dUcmFja2Vycy50cmFja0ludGVyYWN0aW9uKFwiV2ViVXNlck9uYm9hcmRpbmdUYXNrRG93bmxvYWRBcHBzXCIsIGV2KTtcbiAgICAgICAgICAgICAgICBNb2RhbC5jcmVhdGVEaWFsb2coQXBwRG93bmxvYWREaWFsb2csIHt9LCBcIm14X0FwcERvd25sb2FkRGlhbG9nX3dyYXBwZXJcIiwgZmFsc2UsIHRydWUpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgICAgICByZXR1cm4gIXNob3dBcHBEb3dubG9hZERpYWxvZ1Byb21wdCgpO1xuICAgICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgICBpZDogXCJzZXR1cC1wcm9maWxlXCIsXG4gICAgICAgIHRpdGxlOiBfdChcIm9uYm9hcmRpbmd8c2V0X3VwX3Byb2ZpbGVcIiksXG4gICAgICAgIGRlc2NyaXB0aW9uOiBfdChcIm9uYm9hcmRpbmd8c2V0X3VwX3Byb2ZpbGVfZGVzY3JpcHRpb25cIiksXG4gICAgICAgIGNvbXBsZXRlZDogKGN0eDogVXNlck9uYm9hcmRpbmdDb250ZXh0KSA9PiBjdHguaGFzQXZhdGFyLFxuICAgICAgICBhY3Rpb246IHtcbiAgICAgICAgICAgIGxhYmVsOiBfdChcIm9uYm9hcmRpbmd8c2V0X3VwX3Byb2ZpbGVfYWN0aW9uXCIpLFxuICAgICAgICAgICAgb25DbGljazogKGV2OiBCdXR0b25FdmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIFBvc3Rob2dUcmFja2Vycy50cmFja0ludGVyYWN0aW9uKFwiV2ViVXNlck9uYm9hcmRpbmdUYXNrU2V0dXBQcm9maWxlXCIsIGV2KTtcbiAgICAgICAgICAgICAgICBkZWZhdWx0RGlzcGF0Y2hlci5kaXNwYXRjaCh7XG4gICAgICAgICAgICAgICAgICAgIGFjdGlvbjogQWN0aW9uLlZpZXdVc2VyU2V0dGluZ3MsXG4gICAgICAgICAgICAgICAgICAgIGluaXRpYWxUYWJJZDogVXNlclRhYi5BY2NvdW50LFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgICAgaWQ6IFwicGVybWlzc2lvbi1ub3RpZmljYXRpb25zXCIsXG4gICAgICAgIHRpdGxlOiBfdChcIm9uYm9hcmRpbmd8ZW5hYmxlX25vdGlmaWNhdGlvbnNcIiksXG4gICAgICAgIGRlc2NyaXB0aW9uOiBfdChcIm9uYm9hcmRpbmd8ZW5hYmxlX25vdGlmaWNhdGlvbnNfZGVzY3JpcHRpb25cIiksXG4gICAgICAgIGNvbXBsZXRlZDogKGN0eDogVXNlck9uYm9hcmRpbmdDb250ZXh0KSA9PiAhY3R4LnNob3dOb3RpZmljYXRpb25zUHJvbXB0LFxuICAgICAgICBhY3Rpb246IHtcbiAgICAgICAgICAgIGxhYmVsOiBfdChcIm9uYm9hcmRpbmd8ZW5hYmxlX25vdGlmaWNhdGlvbnNfYWN0aW9uXCIpLFxuICAgICAgICAgICAgb25DbGljazogKGV2OiBCdXR0b25FdmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIFBvc3Rob2dUcmFja2Vycy50cmFja0ludGVyYWN0aW9uKFwiV2ViVXNlck9uYm9hcmRpbmdUYXNrRW5hYmxlTm90aWZpY2F0aW9uc1wiLCBldik7XG4gICAgICAgICAgICAgICAgZGVmYXVsdERpc3BhdGNoZXIuZGlzcGF0Y2goe1xuICAgICAgICAgICAgICAgICAgICBhY3Rpb246IEFjdGlvbi5WaWV3VXNlclNldHRpbmdzLFxuICAgICAgICAgICAgICAgICAgICBpbml0aWFsVGFiSWQ6IFVzZXJUYWIuTm90aWZpY2F0aW9ucyxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBOb3RpZmllci5zZXRQcm9tcHRIaWRkZW4odHJ1ZSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgaGlkZU9uQ29tcGxldGU6ICFOb3RpZmllci5pc1Bvc3NpYmxlKCksXG4gICAgICAgIH0sXG4gICAgfSxcbl07XG5cbmV4cG9ydCBmdW5jdGlvbiB1c2VVc2VyT25ib2FyZGluZ1Rhc2tzKGNvbnRleHQ6IFVzZXJPbmJvYXJkaW5nQ29udGV4dCk6IFVzZXJPbmJvYXJkaW5nVGFza1dpdGhSZXNvbHZlZENvbXBsZXRpb25bXSB7XG4gICAgY29uc3QgdXNlQ2FzZSA9IHVzZVNldHRpbmdWYWx1ZTxVc2VDYXNlIHwgbnVsbD4oXCJGVFVFLnVzZUNhc2VTZWxlY3Rpb25cIikgPz8gVXNlQ2FzZS5Ta2lwO1xuXG4gICAgcmV0dXJuIHVzZU1lbW88VXNlck9uYm9hcmRpbmdUYXNrV2l0aFJlc29sdmVkQ29tcGxldGlvbltdPigoKSA9PiB7XG4gICAgICAgIHJldHVybiB0YXNrc1xuICAgICAgICAgICAgLmZpbHRlcigodGFzaykgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0YXNrLmRpc2FibGVkPy4oKSkgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgIHJldHVybiAhdGFzay5yZWxldmFudCB8fCB0YXNrLnJlbGV2YW50LmluY2x1ZGVzKHVzZUNhc2UpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5tYXAoKHRhc2spID0+ICh7XG4gICAgICAgICAgICAgICAgLi4udGFzayxcbiAgICAgICAgICAgICAgICBjb21wbGV0ZWQ6IHRhc2suY29tcGxldGVkKGNvbnRleHQpLFxuICAgICAgICAgICAgfSkpO1xuICAgIH0sIFtjb250ZXh0LCB1c2VDYXNlXSk7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBUUEsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBRUEsSUFBQUMsa0JBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFFBQUEsR0FBQUYsT0FBQTtBQUVBLElBQUFHLFFBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFdBQUEsR0FBQUMsc0JBQUEsQ0FBQUwsT0FBQTtBQUNBLElBQUFNLGdCQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxNQUFBLEdBQUFGLHNCQUFBLENBQUFMLE9BQUE7QUFDQSxJQUFBUSxTQUFBLEdBQUFSLE9BQUE7QUFDQSxJQUFBUyxnQkFBQSxHQUFBSixzQkFBQSxDQUFBTCxPQUFBO0FBQ0EsSUFBQVUsVUFBQSxHQUFBTCxzQkFBQSxDQUFBTCxPQUFBO0FBQ0EsSUFBQVcsUUFBQSxHQUFBWCxPQUFBO0FBQ0EsSUFBQVksWUFBQSxHQUFBWixPQUFBO0FBQWdELFNBQUFhLFFBQUFDLENBQUEsRUFBQUMsQ0FBQSxRQUFBQyxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsSUFBQSxDQUFBSixDQUFBLE9BQUFHLE1BQUEsQ0FBQUUscUJBQUEsUUFBQUMsQ0FBQSxHQUFBSCxNQUFBLENBQUFFLHFCQUFBLENBQUFMLENBQUEsR0FBQUMsQ0FBQSxLQUFBSyxDQUFBLEdBQUFBLENBQUEsQ0FBQUMsTUFBQSxXQUFBTixDQUFBLFdBQUFFLE1BQUEsQ0FBQUssd0JBQUEsQ0FBQVIsQ0FBQSxFQUFBQyxDQUFBLEVBQUFRLFVBQUEsT0FBQVAsQ0FBQSxDQUFBUSxJQUFBLENBQUFD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