@openmrs/esm-app-shell 5.2.1-pre.1069 → 5.2.1-pre.1081
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +98 -100
- package/dist/6738bea79c65fe1d.js +1 -0
- package/dist/6738bea79c65fe1d.js.map +1 -0
- package/dist/74758f432e4bb251.js +1 -0
- package/dist/74758f432e4bb251.js.map +1 -0
- package/dist/index.html +1 -1
- package/dist/openmrs.0daa84ea627ccfc0.js +2 -0
- package/dist/openmrs.0daa84ea627ccfc0.js.map +1 -0
- package/dist/service-worker.js +1 -1
- package/dist/service-worker.js.map +1 -1
- package/lib/910837678b95bca5.js +582 -0
- package/lib/{87bd7ee12eef542b.js → a3f8c9535d9deb27.js} +2 -16
- package/lib/esm-devtools-app/main.js +1 -1
- package/lib/esm-devtools-app/openmrs-esm-devtools-app.js +1 -1
- package/lib/esm-devtools-app/openmrs-esm-devtools-app.js.buildmanifest.json +2 -2
- package/lib/esm-devtools-app/routes.json +1 -1
- package/lib/esm-login-app/111.js +1 -1
- package/lib/esm-login-app/111.js.map +1 -1
- package/lib/esm-login-app/126.js +1 -1
- package/lib/esm-login-app/126.js.map +1 -1
- package/lib/esm-login-app/173.js +1 -1
- package/lib/esm-login-app/173.js.map +1 -1
- package/lib/esm-login-app/337.js +1 -1
- package/lib/esm-login-app/342.js +1 -1
- package/lib/esm-login-app/main.js +1 -1
- package/lib/esm-login-app/main.js.map +1 -1
- package/lib/esm-login-app/openmrs-esm-login-app.js +1 -1
- package/lib/esm-login-app/openmrs-esm-login-app.js.buildmanifest.json +32 -32
- package/lib/esm-login-app/openmrs-esm-login-app.js.map +1 -1
- package/lib/esm-login-app/routes.json +1 -1
- package/lib/esm-offline-tools-app/202.js +1 -1
- package/lib/esm-offline-tools-app/202.js.map +1 -1
- package/lib/esm-offline-tools-app/224.js +1 -1
- package/lib/esm-offline-tools-app/224.js.map +1 -1
- package/lib/esm-offline-tools-app/319.js +1 -1
- package/lib/esm-offline-tools-app/47.js +1 -1
- package/lib/esm-offline-tools-app/47.js.map +1 -1
- package/lib/esm-offline-tools-app/501.js +1 -1
- package/lib/esm-offline-tools-app/501.js.map +1 -1
- package/lib/esm-offline-tools-app/526.js +1 -1
- package/lib/esm-offline-tools-app/526.js.map +1 -1
- package/lib/esm-offline-tools-app/574.js +1 -1
- package/lib/esm-offline-tools-app/757.js +1 -1
- package/lib/esm-offline-tools-app/807.js +1 -1
- package/lib/esm-offline-tools-app/937.js +1 -1
- package/lib/esm-offline-tools-app/937.js.map +1 -1
- package/lib/esm-offline-tools-app/main.js +1 -1
- package/lib/esm-offline-tools-app/main.js.map +1 -1
- package/lib/esm-offline-tools-app/openmrs-esm-offline-tools-app.js +1 -1
- package/lib/esm-offline-tools-app/openmrs-esm-offline-tools-app.js.buildmanifest.json +51 -51
- package/lib/esm-offline-tools-app/openmrs-esm-offline-tools-app.js.map +1 -1
- package/lib/esm-offline-tools-app/routes.json +1 -1
- package/lib/esm-primary-navigation-app/main.js +1 -1
- package/lib/esm-primary-navigation-app/openmrs-esm-primary-navigation-app.js +1 -1
- package/lib/esm-primary-navigation-app/openmrs-esm-primary-navigation-app.js.buildmanifest.json +2 -2
- package/lib/esm-primary-navigation-app/routes.json +1 -1
- package/lib/index.html +1 -1
- package/lib/openmrs.js +39 -28
- package/lib/service-worker.js +73 -18
- package/package.json +8 -8
- package/dist/e861b352d93d75e6.js +0 -1
- package/dist/e861b352d93d75e6.js.map +0 -1
- package/dist/f587be8fbac73856.js +0 -1
- package/dist/f587be8fbac73856.js.map +0 -1
- package/dist/openmrs.4112ceaba2c91dab.js +0 -2
- package/dist/openmrs.4112ceaba2c91dab.js.map +0 -1
- package/lib/c342c7c5bc2b4691.js +0 -505
- /package/dist/{openmrs.4112ceaba2c91dab.js.LICENSE.txt → openmrs.0daa84ea627ccfc0.js.LICENSE.txt} +0 -0
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/*
|
|
2
3
|
* ATTENTION: An "eval-source-map" devtool has been used.
|
|
3
4
|
* This devtool is neither made for production nor for readable output files.
|
|
@@ -14,7 +15,6 @@
|
|
|
14
15
|
\*********************/
|
|
15
16
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
16
17
|
|
|
17
|
-
"use strict";
|
|
18
18
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ finishRegisteringAllApps: () => (/* binding */ finishRegisteringAllApps),\n/* harmony export */ registerApp: () => (/* binding */ registerApp),\n/* harmony export */ tryRegisterExtension: () => (/* binding */ tryRegisterExtension),\n/* harmony export */ tryRegisterPage: () => (/* binding */ tryRegisterPage)\n/* harmony export */ });\n/* harmony import */ var _openmrs_esm_framework__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @openmrs/esm-framework */ \"webpack/sharing/consume/default/@openmrs/esm-framework/@openmrs/esm-framework\");\n/* harmony import */ var _openmrs_esm_framework__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_openmrs_esm_framework__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var single_spa__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! single-spa */ \"webpack/sharing/consume/default/single-spa/single-spa\");\n/* harmony import */ var single_spa__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(single_spa__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./helpers */ \"./src/helpers.ts\");\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nfunction _async_to_generator(fn) {\n return function() {\n var self = this, args = arguments;\n return new Promise(function(resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _instanceof(left, right) {\n if (right != null && typeof Symbol !== \"undefined\" && right[Symbol.hasInstance]) {\n return !!right[Symbol.hasInstance](left);\n } else {\n return left instanceof right;\n }\n}\nfunction _object_spread(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === \"function\") {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function(key) {\n _define_property(target, key, source[key]);\n });\n }\n return target;\n}\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) {\n symbols = symbols.filter(function(sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _object_spread_props(target, source) {\n source = source != null ? source : {};\n if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function(key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nfunction _ts_generator(thisArg, body) {\n var f, y, t, g, _ = {\n label: 0,\n sent: function() {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n };\n return g = {\n next: verb(0),\n \"throw\": verb(1),\n \"return\": verb(2)\n }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() {\n return this;\n }), g;\n function verb(n) {\n return function(v) {\n return step([\n n,\n v\n ]);\n };\n }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while(_)try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [\n op[0] & 2,\n t.value\n ];\n switch(op[0]){\n case 0:\n case 1:\n t = op;\n break;\n case 4:\n _.label++;\n return {\n value: op[1],\n done: false\n };\n case 5:\n _.label++;\n y = op[1];\n op = [\n 0\n ];\n continue;\n case 7:\n op = _.ops.pop();\n _.trys.pop();\n continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n _.label = op[1];\n break;\n }\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n if (t && _.label < t[2]) {\n _.label = t[2];\n _.ops.push(op);\n break;\n }\n if (t[2]) _.ops.pop();\n _.trys.pop();\n continue;\n }\n op = body.call(thisArg, _);\n } catch (e) {\n op = [\n 6,\n e\n ];\n y = 0;\n } finally{\n f = t = 0;\n }\n if (op[0] & 5) throw op[1];\n return {\n value: op[0] ? op[1] : void 0,\n done: true\n };\n }\n}\n\n\n\nvar pages = [];\n/**\n * This takes a page's route definitions and returns a single-spa\n * activityFn which returns true when the page matches the current\n * route and false if it does not.\n *\n * @param route A string or regexp that matches the location when the\n * page should be displayed, a boolean constant, or an array of such\n * strings, regexps, and booleans\n * @returns An activityFn suitable to use for a single-spa application\n */ function getActivityFn(route) {\n if (Array.isArray(route)) {\n var activators = route.map(getActivityFn);\n return function(location) {\n return activators.some(function(activator) {\n return activator(location);\n });\n };\n } else if (typeof route === \"string\") {\n return (0,single_spa__WEBPACK_IMPORTED_MODULE_1__.pathToActiveWhen)(window.getOpenmrsSpaBase() + route);\n } else if (_instanceof(route, RegExp)) {\n return function(location) {\n return (0,_helpers__WEBPACK_IMPORTED_MODULE_2__.routeRegex)(route, location);\n };\n } else {\n return function() {\n return route;\n };\n }\n}\n/**\n * For pages, we also support the activityFn taking into account the online / offline\n * status. This wraps an existing single-spa activityFn and only allows the page to\n * be rendered in the appropriate mode.\n *\n * By default, we assume that all pages should be rendered when online, but only rendered\n * offline if specifically configured to do so.\n *\n * @param activityFn A standard single-spa activityFn such as that returned by {@link getActivityFn()}\n * @param pageDefinition The RegisteredPageDefinition object for this page\n * @returns An activityFn suitable to use for a single-spa application\n */ function wrapPageActivityFn(activityFn, param) {\n var online = param.online, offline = param.offline;\n return function(location) {\n // basically, if the page should only work online and we're offline or if the\n // page should only work offline and we're online, defaulting to always rendering\n // the page\n if (!(navigator.onLine && (online !== null && online !== void 0 ? online : true) || !navigator.onLine && (offline !== null && offline !== void 0 ? offline : false))) {\n return false;\n }\n return activityFn(location);\n };\n}\nvar STARTUP_FUNCTION = \"startupApp\";\n/**\n * @internal\n *\n * Used internally to track which apps have had their `startupApp()` initializer called\n *\n * Values are promises to support asynchronous loading of the same app multiple times\n */ var initializedApps = new Map();\n/**\n * This function creates a loader function suitable for use in either a single-spa\n * application or parcel.\n *\n * The returned function is lazy and ensures that the appropriate module is loaded,\n * that the module's `startupApp()` is called before the component is loaded. It\n * then calls the component function, which should return either a single-spa\n * {@link LifeCycles} object or a {@link Promise} that will resolve to such an object.\n *\n * React-based pages or extensions should generally use the framework's\n * `getAsyncLifecycle()` or `getSyncLifecycle()` functions.\n */ function getLoader(appName, component) {\n return /*#__PURE__*/ _async_to_generator(function() {\n var module;\n return _ts_generator(this, function(_state) {\n switch(_state.label){\n case 0:\n return [\n 4,\n (0,_openmrs_esm_framework__WEBPACK_IMPORTED_MODULE_0__.importDynamic)(appName)\n ];\n case 1:\n module = _state.sent();\n if (!(module && Object.hasOwn(module, component) && typeof module[component] === \"function\")) return [\n 3,\n 6\n ];\n if (!!(appName in initializedApps)) return [\n 3,\n 3\n ];\n return [\n 4,\n initializedApps[appName] = new Promise(function(resolve, reject) {\n if (Object.hasOwn(module, STARTUP_FUNCTION)) {\n var startup = module[STARTUP_FUNCTION];\n if (typeof startup === \"function\") {\n return Promise.resolve(startup()).then(resolve).catch(reject);\n }\n }\n resolve(null);\n })\n ];\n case 2:\n _state.sent();\n return [\n 3,\n 5\n ];\n case 3:\n return [\n 4,\n initializedApps[appName]\n ];\n case 4:\n _state.sent();\n _state.label = 5;\n case 5:\n return [\n 2,\n Promise.resolve(module[component]())\n ];\n case 6:\n if (module && Object.hasOwn(module, component)) {\n console.warn(\"The export \".concat(component, \" of the app \").concat(appName, \" is not a function\"));\n } else {\n console.warn(\"The app \".concat(appName, \" does not define a component called \").concat(component, \", this cannot be loaded\"));\n }\n _state.label = 7;\n case 7:\n return [\n 2,\n _helpers__WEBPACK_IMPORTED_MODULE_2__.emptyLifecycle\n ];\n }\n });\n });\n}\n/**\n * This is the main entry-point for registering an app with the app shell.\n * Each app has a name and should have a `routes.json` file that defines it's\n * associated routes.\n *\n * @param appName The name of the application, e.g. `@openmrs/esm-my-app`\n * @param routes A Javascript object that corresponds to the app's routes.json`\n * definition.\n */ function registerApp(appName, routes) {\n if (appName && routes && typeof routes === \"object\") {\n var _routes_pages;\n (0,_openmrs_esm_framework__WEBPACK_IMPORTED_MODULE_0__.defineConfigSchema)(appName, {});\n var _routes_extensions;\n var availableExtensions = (_routes_extensions = routes.extensions) !== null && _routes_extensions !== void 0 ? _routes_extensions : [];\n (_routes_pages = routes.pages) === null || _routes_pages === void 0 ? void 0 : _routes_pages.forEach(function(p) {\n var _p_order;\n pages.push(_object_spread_props(_object_spread({}, p), {\n order: (_p_order = p.order) !== null && _p_order !== void 0 ? _p_order : Number.MAX_SAFE_INTEGER,\n appName: appName\n }));\n });\n availableExtensions.forEach(function(ext) {\n tryRegisterExtension(appName, ext);\n });\n }\n}\n/**\n * This is called by the app shell once all route entries have been processed.\n * This actually registers the pages with the application. This function is\n * necessary to ensure that pages are rendered in the DOM according to their\n * order definition, especially because certain pages _must_ be first in the DOM.\n *\n * Each page is rendered into a div with an appropriate name.\n */ function finishRegisteringAllApps() {\n pages.sort(function(a, b) {\n var sort = a.order - b.order;\n if (sort != 0) {\n return sort;\n }\n return a.appName.localeCompare(b.appName, \"en\");\n });\n // Create a div for each page. This ensures their DOM order.\n // If we don't do this, Single-SPA 5 will create the DOM element only once\n // the page becomes active, which makes it impossible to guarantee order.\n var appIndices = new Map();\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;\n try {\n for(var _iterator = pages[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){\n var page = _step.value;\n if (!appIndices.has(page.appName)) {\n appIndices.set(page.appName, 0);\n } else {\n appIndices.set(page.appName, appIndices.get(page.appName) + 1);\n }\n var index = appIndices.get(page.appName);\n var name = \"\".concat(page.appName, \"-page-\").concat(index);\n var div = document.createElement(\"div\");\n div.id = \"single-spa-application:\".concat(name);\n document.body.appendChild(div);\n tryRegisterPage(name, page);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally{\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally{\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n}\n/**\n * This function actually converts each page definition into a single-spa application\n * if that's possible. After this point, pages are rendered using single-spa's\n * routing logic.\n *\n * @param appName The name of the app containing this page\n * @param page A Javascript object that describes the page defintion, derived from `routes.json`\n */ function tryRegisterPage(appName, page) {\n var route = typeof page.route !== \"undefined\" ? page.route : typeof page.routeRegex !== \"undefined\" ? new RegExp(page.routeRegex) : false;\n if (route === false) {\n console.warn('A registered page definition is missing a route and thus cannot be registered.\\nTo fix this, ensure that you define the \"route\" (or alternatively the \"routeRegex\") field inside the extension definition.', appName);\n return;\n }\n if (!page.component) {\n console.warn('A registered page definition is missing a component and thus cannot be registered.\\nTo fix this, ensure that you define the \"component\" field inside the page definition.', appName);\n return;\n }\n var activityFn = wrapPageActivityFn(getActivityFn(route), page);\n var loader = getLoader(page.appName, page.component);\n (0,single_spa__WEBPACK_IMPORTED_MODULE_1__.registerApplication)(appName, loader, activityFn);\n}\n/**\n * This function actually registers an extension definition with the framework and will\n * attach the extension to any configured slots.\n *\n * @param appName The name of the app containing this page\n * @param extension A Javascript object that describes the extension defintion, derived from `routes.json`\n */ function tryRegisterExtension(appName, extension) {\n var name = extension.name;\n if (!name) {\n console.error(\"An extension definition in \".concat(appName, ' is missing an name and thus cannot be\\nregistered. To fix this, ensure that you define the \"name\" field inside the\\nextension definition.'), extension);\n return;\n }\n if (extension.slots && extension.slot) {\n console.warn(\"The extension \".concat(name, \" from \").concat(appName, \" declares both a 'slots' property and \\na 'slot' property. Only the 'slots' property will be honored.\"));\n }\n var slots = extension.slots ? extension.slots : extension.slot ? [\n extension.slot\n ] : [];\n if (!extension.component && !extension.load) {\n console.error(\"The extension \".concat(name, \" from \").concat(appName, \" is missing a 'component' entry and thus cannot be registered.\\nTo fix this, ensure that you define a 'component' field inside the extension definition.\"), extension);\n return;\n }\n var loader;\n if (extension.component) {\n loader = getLoader(appName, extension.component);\n } else if (extension.load) {\n if (typeof extension.load !== \"function\") {\n console.error(\"The extension \".concat(name, \" from \").concat(appName, \" declares a 'load' property that is not a function. This is not\\nsupported, so the extension will not be loaded.\"));\n return;\n }\n loader = extension.load;\n }\n var _extension_online, _extension_offline;\n (0,_openmrs_esm_framework__WEBPACK_IMPORTED_MODULE_0__.registerExtension)({\n name: name,\n load: loader,\n meta: extension.meta || {},\n order: extension.order,\n moduleName: appName,\n privileges: extension.privileges,\n online: (_extension_online = extension.online) !== null && _extension_online !== void 0 ? _extension_online : true,\n offline: (_extension_offline = extension.offline) !== null && _extension_offline !== void 0 ? _extension_offline : false,\n featureFlag: extension.featureFlag\n });\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;\n try {\n for(var _iterator = slots[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){\n var slot = _step.value;\n (0,_openmrs_esm_framework__WEBPACK_IMPORTED_MODULE_0__.attach)(slot, name);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally{\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally{\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUFRO1lBR3hDO1FBQ0YsQ0FBQztRQUNENEMsU0FBU0MsVUFBVUksSUFBSTtJQUN6QixDQUFDO1FBU1NKLG1CQUNDQTtJQVJYM0UseUVBQWlCQSxDQUFDO1FBQ2hCa0UsTUFBQUE7UUFDQWEsTUFBTUw7UUFDTk0sTUFBTUwsVUFBVUssSUFBSSxJQUFJLENBQUM7UUFDekI5QixPQUFPeUIsVUFBVXpCLEtBQUs7UUFDdEIrQixZQUFZbkQ7UUFDWm9ELFlBQVlQLFVBQVVPLFVBQVU7UUFDaEM1RCxRQUFRcUQsQ0FBQUEsb0JBQUFBLFVBQVVyRCxNQUFNLGNBQWhCcUQsK0JBQUFBLG9CQUFvQixJQUFJO1FBQ2hDcEQsU0FBU29ELENBQUFBLHFCQUFBQSxVQUFVcEQsT0FBTyxjQUFqQm9ELGdDQUFBQSxxQkFBcUIsS0FBSztRQUNuQ1EsYUFBYVIsVUFBVVEsV0FBVztJQUNwQztRQUVLOztRQUFMLFFBQUssWUFBY04sMEJBQWQsd0dBQXFCO1lBQXJCLElBQU1DLE9BQU47WUFDSC9FLDhEQUFNQSxDQUFDK0UsTUFBTVo7UUFDZjs7UUFGSztRQUFBOzs7aUJBQUE7Z0JBQUE7OztnQkFBQTtzQkFBQTs7OztBQUdQLENBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4vc3JjL2FwcHMudHM/NTEyMyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBhdHRhY2gsXG4gIHJlZ2lzdGVyRXh0ZW5zaW9uLFxuICBkZWZpbmVDb25maWdTY2hlbWEsXG4gIGltcG9ydER5bmFtaWMsXG4gIFJlZ2lzdGVyZWRQYWdlRGVmaW5pdGlvbixcbiAgRXh0ZW5zaW9uRGVmaW5pdGlvbixcbiAgT3Blbm1yc0FwcFJvdXRlcyxcbiAgUm91dGVEZWZpbml0aW9uLFxufSBmcm9tIFwiQG9wZW5tcnMvZXNtLWZyYW1ld29ya1wiO1xuaW1wb3J0IHtcbiAgQWN0aXZpdHlGbixcbiAgTGlmZUN5Y2xlcyxcbiAgcGF0aFRvQWN0aXZlV2hlbixcbiAgcmVnaXN0ZXJBcHBsaWNhdGlvbixcbn0gZnJvbSBcInNpbmdsZS1zcGFcIjtcbmltcG9ydCB7IGVtcHR5TGlmZWN5Y2xlLCByb3V0ZVJlZ2V4IH0gZnJvbSBcIi4vaGVscGVyc1wiO1xuXG5jb25zdCBwYWdlczogQXJyYXk8UmVnaXN0ZXJlZFBhZ2VEZWZpbml0aW9uPiA9IFtdO1xuXG4vKipcbiAqIFRoaXMgdGFrZXMgYSBwYWdlJ3Mgcm91dGUgZGVmaW5pdGlvbnMgYW5kIHJldHVybnMgYSBzaW5nbGUtc3BhXG4gKiBhY3Rpdml0eUZuIHdoaWNoIHJldHVybnMgdHJ1ZSB3aGVuIHRoZSBwYWdlIG1hdGNoZXMgdGhlIGN1cnJlbnRcbiAqIHJvdXRlIGFuZCBmYWxzZSBpZiBpdCBkb2VzIG5vdC5cbiAqXG4gKiBAcGFyYW0gcm91dGUgQSBzdHJpbmcgb3IgcmVnZXhwIHRoYXQgbWF0Y2hlcyB0aGUgbG9jYXRpb24gd2hlbiB0aGVcbiAqIHBhZ2Ugc2hvdWxkIGJlIGRpc3BsYXllZCwgYSBib29sZWFuIGNvbnN0YW50LCBvciBhbiBhcnJheSBvZiBzdWNoXG4gKiBzdHJpbmdzLCByZWdleHBzLCBhbmQgYm9vbGVhbnNcbiAqIEByZXR1cm5zIEFuIGFjdGl2aXR5Rm4gc3VpdGFibGUgdG8gdXNlIGZvciBhIHNpbmdsZS1zcGEgYXBwbGljYXRpb25cbiAqL1xuZnVuY3Rpb24gZ2V0QWN0aXZpdHlGbihcbiAgcm91dGU6IFJvdXRlRGVmaW5pdGlvbiB8IEFycmF5PFJvdXRlRGVmaW5pdGlvbj5cbik6IEFjdGl2aXR5Rm4ge1xuICBpZiAoQXJyYXkuaXNBcnJheShyb3V0ZSkpIHtcbiAgICBjb25zdCBhY3RpdmF0b3JzID0gcm91dGUubWFwKGdldEFjdGl2aXR5Rm4pO1xuICAgIHJldHVybiAobG9jYXRpb24pID0+IGFjdGl2YXRvcnMuc29tZSgoYWN0aXZhdG9yKSA9PiBhY3RpdmF0b3IobG9jYXRpb24pKTtcbiAgfSBlbHNlIGlmICh0eXBlb2Ygcm91dGUgPT09IFwic3RyaW5nXCIpIHtcbiAgICByZXR1cm4gcGF0aFRvQWN0aXZlV2hlbih3aW5kb3cuZ2V0T3Blbm1yc1NwYUJhc2UoKSArIHJvdXRlKTtcbiAgfSBlbHNlIGlmIChyb3V0ZSBpbnN0YW5jZW9mIFJlZ0V4cCkge1xuICAgIHJldHVybiAobG9jYXRpb24pID0+IHJvdXRlUmVnZXgocm91dGUsIGxvY2F0aW9uKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gKCkgPT4gcm91dGU7XG4gIH1cbn1cblxuLyoqXG4gKiBGb3IgcGFnZXMsIHdlIGFsc28gc3VwcG9ydCB0aGUgYWN0aXZpdHlGbiB0YWtpbmcgaW50byBhY2NvdW50IHRoZSBvbmxpbmUgLyBvZmZsaW5lXG4gKiBzdGF0dXMuIFRoaXMgd3JhcHMgYW4gZXhpc3Rpbmcgc2luZ2xlLXNwYSBhY3Rpdml0eUZuIGFuZCBvbmx5IGFsbG93cyB0aGUgcGFnZSB0b1xuICogYmUgcmVuZGVyZWQgaW4gdGhlIGFwcHJvcHJpYXRlIG1vZGUuXG4gKlxuICogQnkgZGVmYXVsdCwgd2UgYXNzdW1lIHRoYXQgYWxsIHBhZ2VzIHNob3VsZCBiZSByZW5kZXJlZCB3aGVuIG9ubGluZSwgYnV0IG9ubHkgcmVuZGVyZWRcbiAqIG9mZmxpbmUgaWYgc3BlY2lmaWNhbGx5IGNvbmZpZ3VyZWQgdG8gZG8gc28uXG4gKlxuICogQHBhcmFtIGFjdGl2aXR5Rm4gQSBzdGFuZGFyZCBzaW5nbGUtc3BhIGFjdGl2aXR5Rm4gc3VjaCBhcyB0aGF0IHJldHVybmVkIGJ5IHtAbGluayBnZXRBY3Rpdml0eUZuKCl9XG4gKiBAcGFyYW0gcGFnZURlZmluaXRpb24gVGhlIFJlZ2lzdGVyZWRQYWdlRGVmaW5pdGlvbiBvYmplY3QgZm9yIHRoaXMgcGFnZVxuICogQHJldHVybnMgQW4gYWN0aXZpdHlGbiBzdWl0YWJsZSB0byB1c2UgZm9yIGEgc2luZ2xlLXNwYSBhcHBsaWNhdGlvblxuICovXG5mdW5jdGlvbiB3cmFwUGFnZUFjdGl2aXR5Rm4oXG4gIGFjdGl2aXR5Rm46IEFjdGl2aXR5Rm4sXG4gIHsgb25saW5lLCBvZmZsaW5lIH06IFJlZ2lzdGVyZWRQYWdlRGVmaW5pdGlvblxuKSB7XG4gIHJldHVybiAobG9jYXRpb246IExvY2F0aW9uKSA9PiB7XG4gICAgLy8gYmFzaWNhbGx5LCBpZiB0aGUgcGFnZSBzaG91bGQgb25seSB3b3JrIG9ubGluZSBhbmQgd2UncmUgb2ZmbGluZSBvciBpZiB0aGVcbiAgICAvLyBwYWdlIHNob3VsZCBvbmx5IHdvcmsgb2ZmbGluZSBhbmQgd2UncmUgb25saW5lLCBkZWZhdWx0aW5nIHRvIGFsd2F5cyByZW5kZXJpbmdcbiAgICAvLyB0aGUgcGFnZVxuICAgIGlmIChcbiAgICAgICEoXG4gICAgICAgIChuYXZpZ2F0b3Iub25MaW5lICYmIChvbmxpbmUgPz8gdHJ1ZSkpIHx8XG4gICAgICAgICghbmF2aWdhdG9yLm9uTGluZSAmJiAob2ZmbGluZSA/PyBmYWxzZSkpXG4gICAgICApXG4gICAgKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIGFjdGl2aXR5Rm4obG9jYXRpb24pO1xuICB9O1xufVxuXG5jb25zdCBTVEFSVFVQX0ZVTkNUSU9OID0gXCJzdGFydHVwQXBwXCI7XG4vKipcbiAqIEBpbnRlcm5hbFxuICpcbiAqIFVzZWQgaW50ZXJuYWxseSB0byB0cmFjayB3aGljaCBhcHBzIGhhdmUgaGFkIHRoZWlyIGBzdGFydHVwQXBwKClgIGluaXRpYWxpemVyIGNhbGxlZFxuICpcbiAqIFZhbHVlcyBhcmUgcHJvbWlzZXMgdG8gc3VwcG9ydCBhc3luY2hyb25vdXMgbG9hZGluZyBvZiB0aGUgc2FtZSBhcHAgbXVsdGlwbGUgdGltZXNcbiAqL1xuY29uc3QgaW5pdGlhbGl6ZWRBcHBzID0gbmV3IE1hcDxzdHJpbmcsIFByb21pc2U8dW5rbm93bj4+KCk7XG5cbi8qKlxuICogVGhpcyBmdW5jdGlvbiBjcmVhdGVzIGEgbG9hZGVyIGZ1bmN0aW9uIHN1aXRhYmxlIGZvciB1c2UgaW4gZWl0aGVyIGEgc2luZ2xlLXNwYVxuICogYXBwbGljYXRpb24gb3IgcGFyY2VsLlxuICpcbiAqIFRoZSByZXR1cm5lZCBmdW5jdGlvbiBpcyBsYXp5IGFuZCBlbnN1cmVzIHRoYXQgdGhlIGFwcHJvcHJpYXRlIG1vZHVsZSBpcyBsb2FkZWQsXG4gKiB0aGF0IHRoZSBtb2R1bGUncyBgc3RhcnR1cEFwcCgpYCBpcyBjYWxsZWQgYmVmb3JlIHRoZSBjb21wb25lbnQgaXMgbG9hZGVkLiBJdFxuICogdGhlbiBjYWxscyB0aGUgY29tcG9uZW50IGZ1bmN0aW9uLCB3aGljaCBzaG91bGQgcmV0dXJuIGVpdGhlciBhIHNpbmdsZS1zcGFcbiAqIHtAbGluayBMaWZlQ3ljbGVzfSBvYmplY3Qgb3IgYSB7QGxpbmsgUHJvbWlzZX0gdGhhdCB3aWxsIHJlc29sdmUgdG8gc3VjaCBhbiBvYmplY3QuXG4gKlxuICogUmVhY3QtYmFzZWQgcGFnZXMgb3IgZXh0ZW5zaW9ucyBzaG91bGQgZ2VuZXJhbGx5IHVzZSB0aGUgZnJhbWV3b3JrJ3NcbiAqIGBnZXRBc3luY0xpZmVjeWNsZSgpYCBvciBgZ2V0U3luY0xpZmVjeWNsZSgpYCBmdW5jdGlvbnMuXG4gKi9cbmZ1bmN0aW9uIGdldExvYWRlcihcbiAgYXBwTmFtZTogc3RyaW5nLFxuICBjb21wb25lbnQ6IHN0cmluZ1xuKTogKCkgPT4gUHJvbWlzZTxMaWZlQ3ljbGVzPiB7XG4gIHJldHVybiBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgbW9kdWxlID0gYXdhaXQgaW1wb3J0RHluYW1pYzxcbiAgICAgIFJlY29yZDxcbiAgICAgICAgRXhjbHVkZTxzdHJpbmcsIFwic3RhcnR1cEFwcFwiPixcbiAgICAgICAgKCkgPT4gTGlmZUN5Y2xlcyB8IFByb21pc2U8TGlmZUN5Y2xlcz5cbiAgICAgID4gJiB7IHN0YXJ0dXBBcHA/OiAoKSA9PiB1bmtub3duIH1cbiAgICA+KGFwcE5hbWUpO1xuXG4gICAgaWYgKFxuICAgICAgbW9kdWxlICYmXG4gICAgICBPYmplY3QuaGFzT3duKG1vZHVsZSwgY29tcG9uZW50KSAmJlxuICAgICAgdHlwZW9mIG1vZHVsZVtjb21wb25lbnRdID09PSBcImZ1bmN0aW9uXCJcbiAgICApIHtcbiAgICAgIGlmICghKGFwcE5hbWUgaW4gaW5pdGlhbGl6ZWRBcHBzKSkge1xuICAgICAgICBhd2FpdCAoaW5pdGlhbGl6ZWRBcHBzW2FwcE5hbWVdID0gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgIGlmIChPYmplY3QuaGFzT3duKG1vZHVsZSwgU1RBUlRVUF9GVU5DVElPTikpIHtcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0dXAgPSBtb2R1bGVbU1RBUlRVUF9GVU5DVElPTl07XG4gICAgICAgICAgICBpZiAodHlwZW9mIHN0YXJ0dXAgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHN0YXJ0dXAoKSkudGhlbihyZXNvbHZlKS5jYXRjaChyZWplY3QpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJlc29sdmUobnVsbCk7XG4gICAgICAgIH0pKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGF3YWl0IGluaXRpYWxpemVkQXBwc1thcHBOYW1lXTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShtb2R1bGVbY29tcG9uZW50XSgpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKG1vZHVsZSAmJiBPYmplY3QuaGFzT3duKG1vZHVsZSwgY29tcG9uZW50KSkge1xuICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgYFRoZSBleHBvcnQgJHtjb21wb25lbnR9IG9mIHRoZSBhcHAgJHthcHBOYW1lfSBpcyBub3QgYSBmdW5jdGlvbmBcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICBgVGhlIGFwcCAke2FwcE5hbWV9IGRvZXMgbm90IGRlZmluZSBhIGNvbXBvbmVudCBjYWxsZWQgJHtjb21wb25lbnR9LCB0aGlzIGNhbm5vdCBiZSBsb2FkZWRgXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGVtcHR5TGlmZWN5Y2xlO1xuICB9O1xufVxuXG4vKipcbiAqIFRoaXMgaXMgdGhlIG1haW4gZW50cnktcG9pbnQgZm9yIHJlZ2lzdGVyaW5nIGFuIGFwcCB3aXRoIHRoZSBhcHAgc2hlbGwuXG4gKiBFYWNoIGFwcCBoYXMgYSBuYW1lIGFuZCBzaG91bGQgaGF2ZSBhIGByb3V0ZXMuanNvbmAgZmlsZSB0aGF0IGRlZmluZXMgaXQnc1xuICogYXNzb2NpYXRlZCByb3V0ZXMuXG4gKlxuICogQHBhcmFtIGFwcE5hbWUgVGhlIG5hbWUgb2YgdGhlIGFwcGxpY2F0aW9uLCBlLmcuIGBAb3Blbm1ycy9lc20tbXktYXBwYFxuICogQHBhcmFtIHJvdXRlcyBBIEphdmFzY3JpcHQgb2JqZWN0IHRoYXQgY29ycmVzcG9uZHMgdG8gdGhlIGFwcCdzICByb3V0ZXMuanNvbmBcbiAqIGRlZmluaXRpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZWdpc3RlckFwcChhcHBOYW1lOiBzdHJpbmcsIHJvdXRlczogT3Blbm1yc0FwcFJvdXRlcykge1xuICBpZiAoYXBwTmFtZSAmJiByb3V0ZXMgJiYgdHlwZW9mIHJvdXRlcyA9PT0gXCJvYmplY3RcIikge1xuICAgIGRlZmluZUNvbmZpZ1NjaGVtYShhcHBOYW1lLCB7fSk7XG5cbiAgICBjb25zdCBhdmFpbGFibGVFeHRlbnNpb25zOiBBcnJheTxFeHRlbnNpb25EZWZpbml0aW9uPiA9XG4gICAgICByb3V0ZXMuZXh0ZW5zaW9ucyA/PyBbXTtcblxuICAgIHJvdXRlcy5wYWdlcz8uZm9yRWFjaCgocCkgPT4ge1xuICAgICAgcGFnZXMucHVzaCh7IC4uLnAsIG9yZGVyOiBwLm9yZGVyID8/IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSLCBhcHBOYW1lIH0pO1xuICAgIH0pO1xuXG4gICAgYXZhaWxhYmxlRXh0ZW5zaW9ucy5mb3JFYWNoKChleHQpID0+IHtcbiAgICAgIHRyeVJlZ2lzdGVyRXh0ZW5zaW9uKGFwcE5hbWUsIGV4dCk7XG4gICAgfSk7XG4gIH1cbn1cblxuLyoqXG4gKiBUaGlzIGlzIGNhbGxlZCBieSB0aGUgYXBwIHNoZWxsIG9uY2UgYWxsIHJvdXRlIGVudHJpZXMgaGF2ZSBiZWVuIHByb2Nlc3NlZC5cbiAqIFRoaXMgYWN0dWFsbHkgcmVnaXN0ZXJzIHRoZSBwYWdlcyB3aXRoIHRoZSBhcHBsaWNhdGlvbi4gVGhpcyBmdW5jdGlvbiBpc1xuICogbmVjZXNzYXJ5IHRvIGVuc3VyZSB0aGF0IHBhZ2VzIGFyZSByZW5kZXJlZCBpbiB0aGUgRE9NIGFjY29yZGluZyB0byB0aGVpclxuICogb3JkZXIgZGVmaW5pdGlvbiwgZXNwZWNpYWxseSBiZWNhdXNlIGNlcnRhaW4gcGFnZXMgX211c3RfIGJlIGZpcnN0IGluIHRoZSBET00uXG4gKlxuICogRWFjaCBwYWdlIGlzIHJlbmRlcmVkIGludG8gYSBkaXYgd2l0aCBhbiBhcHByb3ByaWF0ZSBuYW1lLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZmluaXNoUmVnaXN0ZXJpbmdBbGxBcHBzKCkge1xuICBwYWdlcy5zb3J0KChhLCBiKSA9PiB7XG4gICAgbGV0IHNvcnQgPSBhLm9yZGVyIC0gYi5vcmRlcjtcbiAgICBpZiAoc29ydCAhPSAwKSB7XG4gICAgICByZXR1cm4gc29ydDtcbiAgICB9XG4gICAgcmV0dXJuIGEuYXBwTmFtZS5sb2NhbGVDb21wYXJlKGIuYXBwTmFtZSwgXCJlblwiKTtcbiAgfSk7XG5cbiAgLy8gQ3JlYXRlIGEgZGl2IGZvciBlYWNoIHBhZ2UuIFRoaXMgZW5zdXJlcyB0aGVpciBET00gb3JkZXIuXG4gIC8vIElmIHdlIGRvbid0IGRvIHRoaXMsIFNpbmdsZS1TUEEgNSB3aWxsIGNyZWF0ZSB0aGUgRE9NIGVsZW1lbnQgb25seSBvbmNlXG4gIC8vIHRoZSBwYWdlIGJlY29tZXMgYWN0aXZlLCB3aGljaCBtYWtlcyBpdCBpbXBvc3NpYmxlIHRvIGd1YXJhbnRlZSBvcmRlci5cbiAgbGV0IGFwcEluZGljZXMgPSBuZXcgTWFwKCk7XG4gIGZvciAobGV0IHBhZ2Ugb2YgcGFnZXMpIHtcbiAgICBpZiAoIWFwcEluZGljZXMuaGFzKHBhZ2UuYXBwTmFtZSkpIHtcbiAgICAgIGFwcEluZGljZXMuc2V0KHBhZ2UuYXBwTmFtZSwgMCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGFwcEluZGljZXMuc2V0KHBhZ2UuYXBwTmFtZSwgYXBwSW5kaWNlcy5nZXQocGFnZS5hcHBOYW1lKSArIDEpO1xuICAgIH1cbiAgICBjb25zdCBpbmRleCA9IGFwcEluZGljZXMuZ2V0KHBhZ2UuYXBwTmFtZSk7XG5cbiAgICBjb25zdCBuYW1lID0gYCR7cGFnZS5hcHBOYW1lfS1wYWdlLSR7aW5kZXh9YDtcbiAgICBjb25zdCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xuICAgIGRpdi5pZCA9IGBzaW5nbGUtc3BhLWFwcGxpY2F0aW9uOiR7bmFtZX1gO1xuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGl2KTtcbiAgICB0cnlSZWdpc3RlclBhZ2UobmFtZSwgcGFnZSk7XG4gIH1cbn1cblxuLyoqXG4gKiBUaGlzIGZ1bmN0aW9uIGFjdHVhbGx5IGNvbnZlcnRzIGVhY2ggcGFnZSBkZWZpbml0aW9uIGludG8gYSBzaW5nbGUtc3BhIGFwcGxpY2F0aW9uXG4gKiBpZiB0aGF0J3MgcG9zc2libGUuIEFmdGVyIHRoaXMgcG9pbnQsIHBhZ2VzIGFyZSByZW5kZXJlZCB1c2luZyBzaW5nbGUtc3BhJ3NcbiAqIHJvdXRpbmcgbG9naWMuXG4gKlxuICogQHBhcmFtIGFwcE5hbWUgVGhlIG5hbWUgb2YgdGhlIGFwcCBjb250YWluaW5nIHRoaXMgcGFnZVxuICogQHBhcmFtIHBhZ2UgQSBKYXZhc2NyaXB0IG9iamVjdCB0aGF0IGRlc2NyaWJlcyB0aGUgcGFnZSBkZWZpbnRpb24sIGRlcml2ZWQgZnJvbSBgcm91dGVzLmpzb25gXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0cnlSZWdpc3RlclBhZ2UoXG4gIGFwcE5hbWU6IHN0cmluZyxcbiAgcGFnZTogUmVnaXN0ZXJlZFBhZ2VEZWZpbml0aW9uXG4pIHtcbiAgY29uc3Qgcm91dGUgPVxuICAgIHR5cGVvZiBwYWdlLnJvdXRlICE9PSBcInVuZGVmaW5lZFwiXG4gICAgICA/IHBhZ2Uucm91dGVcbiAgICAgIDogdHlwZW9mIHBhZ2Uucm91dGVSZWdleCAhPT0gXCJ1bmRlZmluZWRcIlxuICAgICAgPyBuZXcgUmVnRXhwKHBhZ2Uucm91dGVSZWdleClcbiAgICAgIDogZmFsc2U7XG5cbiAgaWYgKHJvdXRlID09PSBmYWxzZSkge1xuICAgIGNvbnNvbGUud2FybihcbiAgICAgIGBBIHJlZ2lzdGVyZWQgcGFnZSBkZWZpbml0aW9uIGlzIG1pc3NpbmcgYSByb3V0ZSBhbmQgdGh1cyBjYW5ub3QgYmUgcmVnaXN0ZXJlZC5cblRvIGZpeCB0aGlzLCBlbnN1cmUgdGhhdCB5b3UgZGVmaW5lIHRoZSBcInJvdXRlXCIgKG9yIGFsdGVybmF0aXZlbHkgdGhlIFwicm91dGVSZWdleFwiKSBmaWVsZCBpbnNpZGUgdGhlIGV4dGVuc2lvbiBkZWZpbml0aW9uLmAsXG4gICAgICBhcHBOYW1lXG4gICAgKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAoIXBhZ2UuY29tcG9uZW50KSB7XG4gICAgY29uc29sZS53YXJuKFxuICAgICAgYEEgcmVnaXN0ZXJlZCBwYWdlIGRlZmluaXRpb24gaXMgbWlzc2luZyBhIGNvbXBvbmVudCBhbmQgdGh1cyBjYW5ub3QgYmUgcmVnaXN0ZXJlZC5cblRvIGZpeCB0aGlzLCBlbnN1cmUgdGhhdCB5b3UgZGVmaW5lIHRoZSBcImNvbXBvbmVudFwiIGZpZWxkIGluc2lkZSB0aGUgcGFnZSBkZWZpbml0aW9uLmAsXG4gICAgICBhcHBOYW1lXG4gICAgKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBhY3Rpdml0eUZuID0gd3JhcFBhZ2VBY3Rpdml0eUZuKGdldEFjdGl2aXR5Rm4ocm91dGUpLCBwYWdlKTtcbiAgY29uc3QgbG9hZGVyID0gZ2V0TG9hZGVyKHBhZ2UuYXBwTmFtZSwgcGFnZS5jb21wb25lbnQpO1xuICByZWdpc3RlckFwcGxpY2F0aW9uKGFwcE5hbWUsIGxvYWRlciwgYWN0aXZpdHlGbik7XG59XG5cbi8qKlxuICogVGhpcyBmdW5jdGlvbiBhY3R1YWxseSByZWdpc3RlcnMgYW4gZXh0ZW5zaW9uIGRlZmluaXRpb24gd2l0aCB0aGUgZnJhbWV3b3JrIGFuZCB3aWxsXG4gKiBhdHRhY2ggdGhlIGV4dGVuc2lvbiB0byBhbnkgY29uZmlndXJlZCBzbG90cy5cbiAqXG4gKiBAcGFyYW0gYXBwTmFtZSBUaGUgbmFtZSBvZiB0aGUgYXBwIGNvbnRhaW5pbmcgdGhpcyBwYWdlXG4gKiBAcGFyYW0gZXh0ZW5zaW9uIEEgSmF2YXNjcmlwdCBvYmplY3QgdGhhdCBkZXNjcmliZXMgdGhlIGV4dGVuc2lvbiBkZWZpbnRpb24sIGRlcml2ZWQgZnJvbSBgcm91dGVzLmpzb25gXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0cnlSZWdpc3RlckV4dGVuc2lvbihcbiAgYXBwTmFtZTogc3RyaW5nLFxuICBleHRlbnNpb246IEV4dGVuc2lvbkRlZmluaXRpb25cbikge1xuICBjb25zdCBuYW1lID0gZXh0ZW5zaW9uLm5hbWU7XG4gIGlmICghbmFtZSkge1xuICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICBgQW4gZXh0ZW5zaW9uIGRlZmluaXRpb24gaW4gJHthcHBOYW1lfSBpcyBtaXNzaW5nIGFuIG5hbWUgYW5kIHRodXMgY2Fubm90IGJlXG5yZWdpc3RlcmVkLiBUbyBmaXggdGhpcywgZW5zdXJlIHRoYXQgeW91IGRlZmluZSB0aGUgXCJuYW1lXCIgZmllbGQgaW5zaWRlIHRoZVxuZXh0ZW5zaW9uIGRlZmluaXRpb24uYCxcbiAgICAgIGV4dGVuc2lvblxuICAgICk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgaWYgKGV4dGVuc2lvbi5zbG90cyAmJiBleHRlbnNpb24uc2xvdCkge1xuICAgIGNvbnNvbGUud2FybihcbiAgICAgIGBUaGUgZXh0ZW5zaW9uICR7bmFtZX0gZnJvbSAke2FwcE5hbWV9IGRlY2xhcmVzIGJvdGggYSAnc2xvdHMnIHByb3BlcnR5IGFuZCBcbmEgJ3Nsb3QnIHByb3BlcnR5LiBPbmx5IHRoZSAnc2xvdHMnIHByb3BlcnR5IHdpbGwgYmUgaG9ub3JlZC5gXG4gICAgKTtcbiAgfVxuICBjb25zdCBzbG90cyA9IGV4dGVuc2lvbi5zbG90c1xuICAgID8gZXh0ZW5zaW9uLnNsb3RzXG4gICAgOiBleHRlbnNpb24uc2xvdFxuICAgID8gW2V4dGVuc2lvbi5zbG90XVxuICAgIDogW107XG5cbiAgaWYgKCFleHRlbnNpb24uY29tcG9uZW50ICYmICFleHRlbnNpb24ubG9hZCkge1xuICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICBgVGhlIGV4dGVuc2lvbiAke25hbWV9IGZyb20gJHthcHBOYW1lfSBpcyBtaXNzaW5nIGEgJ2NvbXBvbmVudCcgZW50cnkgYW5kIHRodXMgY2Fubm90IGJlIHJlZ2lzdGVyZWQuXG5UbyBmaXggdGhpcywgZW5zdXJlIHRoYXQgeW91IGRlZmluZSBhICdjb21wb25lbnQnIGZpZWxkIGluc2lkZSB0aGUgZXh0ZW5zaW9uIGRlZmluaXRpb24uYCxcbiAgICAgIGV4dGVuc2lvblxuICAgICk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgbGV0IGxvYWRlcjtcbiAgaWYgKGV4dGVuc2lvbi5jb21wb25lbnQpIHtcbiAgICBsb2FkZXIgPSBnZXRMb2FkZXIoYXBwTmFtZSwgZXh0ZW5zaW9uLmNvbXBvbmVudCk7XG4gIH0gZWxzZSBpZiAoZXh0ZW5zaW9uLmxvYWQpIHtcbiAgICBpZiAodHlwZW9mIGV4dGVuc2lvbi5sb2FkICE9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgIGBUaGUgZXh0ZW5zaW9uICR7bmFtZX0gZnJvbSAke2FwcE5hbWV9IGRlY2xhcmVzIGEgJ2xvYWQnIHByb3BlcnR5IHRoYXQgaXMgbm90IGEgZnVuY3Rpb24uIFRoaXMgaXMgbm90XG5zdXBwb3J0ZWQsIHNvIHRoZSBleHRlbnNpb24gd2lsbCBub3QgYmUgbG9hZGVkLmBcbiAgICAgICk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGxvYWRlciA9IGV4dGVuc2lvbi5sb2FkO1xuICB9XG5cbiAgcmVnaXN0ZXJFeHRlbnNpb24oe1xuICAgIG5hbWUsXG4gICAgbG9hZDogbG9hZGVyLFxuICAgIG1ldGE6IGV4dGVuc2lvbi5tZXRhIHx8IHt9LFxuICAgIG9yZGVyOiBleHRlbnNpb24ub3JkZXIsXG4gICAgbW9kdWxlTmFtZTogYXBwTmFtZSxcbiAgICBwcml2aWxlZ2VzOiBleHRlbnNpb24ucHJpdmlsZWdlcyxcbiAgICBvbmxpbmU6IGV4dGVuc2lvbi5vbmxpbmUgPz8gdHJ1ZSxcbiAgICBvZmZsaW5lOiBleHRlbnNpb24ub2ZmbGluZSA/PyBmYWxzZSxcbiAgICBmZWF0dXJlRmxhZzogZXh0ZW5zaW9uLmZlYXR1cmVGbGFnLFxuICB9KTtcblxuICBmb3IgKGNvbnN0IHNsb3Qgb2Ygc2xvdHMpIHtcbiAgICBhdHRhY2goc2xvdCwgbmFtZSk7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJhdHRhY2giLCJyZWdpc3RlckV4dGVuc2lvbiIsImRlZmluZUNvbmZpZ1NjaGVtYSIsImltcG9ydER5bmFtaWMiLCJwYXRoVG9BY3RpdmVXaGVuIiwicmVnaXN0ZXJBcHBsaWNhdGlvbiIsImVtcHR5TGlmZWN5Y2xlIiwicm91dGVSZWdleCIsInBhZ2VzIiwiZ2V0QWN0aXZpdHlGbiIsInJvdXRlIiwiQXJyYXkiLCJpc0FycmF5IiwiYWN0aXZhdG9ycyIsIm1hcCIsImxvY2F0aW9uIiwic29tZSIsImFjdGl2YXRvciIsIndpbmRvdyIsImdldE9wZW5tcnNTcGFCYXNlIiwiUmVnRXhwIiwid3JhcFBhZ2VBY3Rpdml0eUZuIiwiYWN0aXZpdHlGbiIsIm9ubGluZSIsIm9mZmxpbmUiLCJuYXZpZ2F0b3IiLCJvbkxpbmUiLCJTVEFSVFVQX0ZVTkNUSU9OIiwiaW5pdGlhbGl6ZWRBcHBzIiwiTWFwIiwiZ2V0TG9hZGVyIiwiYXBwTmFtZSIsImNvbXBvbmVudCIsIm1vZHVsZSIsIk9iamVjdCIsImhhc093biIsIlByb21pc2UiLCJyZXNvbHZlIiwicmVqZWN0Iiwic3RhcnR1cCIsInRoZW4iLCJjYXRjaCIsImNvbnNvbGUiLCJ3YXJuIiwicmVnaXN0ZXJBcHAiLCJyb3V0ZXMiLCJhdmFpbGFibGVFeHRlbnNpb25zIiwiZXh0ZW5zaW9ucyIsImZvckVhY2giLCJwIiwicHVzaCIsIm9yZGVyIiwiTnVtYmVyIiwiTUFYX1NBRkVfSU5URUdFUiIsImV4dCIsInRyeVJlZ2lzdGVyRXh0ZW5zaW9uIiwiZmluaXNoUmVnaXN0ZXJpbmdBbGxBcHBzIiwic29ydCIsImEiLCJiIiwibG9jYWxlQ29tcGFyZSIsImFwcEluZGljZXMiLCJwYWdlIiwiaGFzIiwic2V0IiwiZ2V0IiwiaW5kZXgiLCJuYW1lIiwiZGl2IiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwiaWQiLCJib2R5IiwiYXBwZW5kQ2hpbGQiLCJ0cnlSZWdpc3RlclBhZ2UiLCJsb2FkZXIiLCJleHRlbnNpb24iLCJlcnJvciIsInNsb3RzIiwic2xvdCIsImxvYWQiLCJtZXRhIiwibW9kdWxlTmFtZSIsInByaXZpbGVnZXMiLCJmZWF0dXJlRmxhZyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/apps.ts\n");
|
|
19
19
|
|
|
20
20
|
/***/ }),
|
|
@@ -25,7 +25,6 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
25
25
|
\************************/
|
|
26
26
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
27
27
|
|
|
28
|
-
"use strict";
|
|
29
28
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ emptyLifecycle: () => (/* binding */ emptyLifecycle),\n/* harmony export */ routeRegex: () => (/* binding */ routeRegex)\n/* harmony export */ });\nvar emptyLifecycle = {\n bootstrap: function bootstrap() {\n return Promise.resolve();\n },\n mount: function mount() {\n return Promise.resolve();\n },\n unmount: function unmount() {\n return Promise.resolve();\n }\n};\nfunction routeRegex(regex, location) {\n var result = regex.test(location.pathname.replace(window.getOpenmrsSpaBase(), \"\"));\n return result;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvaGVscGVycy50cyIsIm1hcHBpbmdzIjoiOzs7OztBQUVPLElBQU1BLGlCQUFvQztJQUMvQ0MsV0FBQUEsU0FBQUEsWUFBWTtRQUNWLE9BQU9DLFFBQVFDLE9BQU87SUFDeEI7SUFDQUMsT0FBQUEsU0FBQUEsUUFBUTtRQUNOLE9BQU9GLFFBQVFDLE9BQU87SUFDeEI7SUFDQUUsU0FBQUEsU0FBQUEsVUFBVTtRQUNSLE9BQU9ILFFBQVFDLE9BQU87SUFDeEI7QUFDRixFQUFFO0FBRUssU0FBU0csV0FBV0MsS0FBYSxFQUFFQyxRQUFrQixFQUFFO0lBQzVELElBQU1DLFNBQVNGLE1BQU1HLElBQUksQ0FDdkJGLFNBQVNHLFFBQVEsQ0FBQ0MsT0FBTyxDQUFDQyxPQUFPQyxpQkFBaUIsSUFBSTtJQUV4RCxPQUFPTDtBQUNULENBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4vc3JjL2hlbHBlcnMudHM/MWVkYyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMaWZlQ3ljbGVzIH0gZnJvbSBcInNpbmdsZS1zcGFcIjtcblxuZXhwb3J0IGNvbnN0IGVtcHR5TGlmZWN5Y2xlOiBMaWZlQ3ljbGVzPG5ldmVyPiA9IHtcbiAgYm9vdHN0cmFwKCkge1xuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgfSxcbiAgbW91bnQoKSB7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICB9LFxuICB1bm1vdW50KCkge1xuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgfSxcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiByb3V0ZVJlZ2V4KHJlZ2V4OiBSZWdFeHAsIGxvY2F0aW9uOiBMb2NhdGlvbikge1xuICBjb25zdCByZXN1bHQgPSByZWdleC50ZXN0KFxuICAgIGxvY2F0aW9uLnBhdGhuYW1lLnJlcGxhY2Uod2luZG93LmdldE9wZW5tcnNTcGFCYXNlKCksIFwiXCIpXG4gICk7XG4gIHJldHVybiByZXN1bHQ7XG59XG4iXSwibmFtZXMiOlsiZW1wdHlMaWZlY3ljbGUiLCJib290c3RyYXAiLCJQcm9taXNlIiwicmVzb2x2ZSIsIm1vdW50IiwidW5tb3VudCIsInJvdXRlUmVnZXgiLCJyZWdleCIsImxvY2F0aW9uIiwicmVzdWx0IiwidGVzdCIsInBhdGhuYW1lIiwicmVwbGFjZSIsIndpbmRvdyIsImdldE9wZW5tcnNTcGFCYXNlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/helpers.ts\n");
|
|
30
29
|
|
|
31
30
|
/***/ }),
|
|
@@ -36,8 +35,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
36
35
|
\***********************/
|
|
37
36
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
38
37
|
|
|
39
|
-
"use strict";
|
|
40
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ setupI18n: () => (/* binding */ setupI18n)\n/* harmony export */ });\n/* harmony import */ var i18next__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! i18next */ \"webpack/sharing/consume/default/i18next/i18next\");\n/* harmony import */ var i18next__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(i18next__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var i18next_icu__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! i18next-icu */ \"../../../node_modules/i18next-icu/index.js\");\n/* harmony import */ var i18next_icu__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(i18next_icu__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var i18next_browser_languagedetector__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! i18next-browser-languagedetector */ \"../../../node_modules/i18next-browser-languagedetector/dist/esm/i18nextBrowserLanguageDetector.js\");\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-i18next */ \"webpack/sharing/consume/default/react-i18next/react-i18next\");\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_i18next__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var lodash_es_merge__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! lodash-es/merge */ \"../../../node_modules/lodash-es/merge.js\");\n/* harmony import */ var _openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @openmrs/esm-framework/src/internal */ \"webpack/sharing/consume/default/@openmrs/esm-framework/src/internal/@openmrs/esm-framework/src/internal\");\n/* harmony import */ var _openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_4__);\nfunction _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_with_holes(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction _instanceof(left, right) {\n if (right != null && typeof Symbol !== \"undefined\" && right[Symbol.hasInstance]) {\n return !!right[Symbol.hasInstance](left);\n } else {\n return left instanceof right;\n }\n}\nfunction _iterable_to_array_limit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally{\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally{\n if (_d) throw _e;\n }\n }\n return _arr;\n}\nfunction _non_iterable_rest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _sliced_to_array(arr, i) {\n return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\n\n\n\n\n\n\nfunction setupI18n() {\n window.i18next = (i18next__WEBPACK_IMPORTED_MODULE_0___default()) || i18next__WEBPACK_IMPORTED_MODULE_0__;\n var languageChangeObserver = new MutationObserver(function() {\n var reDetect = undefined;\n window.i18next.changeLanguage(reDetect).catch(function(e) {\n return console.error(\"i18next failed to re-detect language\", e);\n });\n });\n languageChangeObserver.observe(document.documentElement, {\n attributeFilter: [\n \"lang\"\n ],\n attributes: true\n });\n window.i18next.on(\"languageChanged\", function() {\n document.documentElement.setAttribute(\"dir\", window.i18next.dir());\n });\n return window.i18next.use(i18next_browser_languagedetector__WEBPACK_IMPORTED_MODULE_2__[\"default\"]).use({\n type: \"backend\",\n init: function init() {},\n read: function read(language, namespace, callback) {\n if (namespace === \"translation\") {\n callback(Error(\"can't handle translation namespace\"), null);\n } else if (namespace === undefined || language === undefined) {\n callback(Error(), null);\n } else if (namespace === \"@openmrs/esm-app-shell\") {\n // currently, we don't have translations in the app shell\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_4__.getConfigInternal)(namespace).then(function(config) {\n var translations = {};\n if (config && \"Translation overrides\" in config) {\n var overrides = config[\"Translation overrides\"];\n if (language in overrides) {\n translations = overrides[language];\n }\n }\n callback(null, translations);\n }).catch(function(err) {\n callback(err, null);\n });\n } else {\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_4__.importDynamic)(namespace).then(function(module) {\n return Promise.all([\n getImportPromise(module, namespace, language),\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_4__.getConfigInternal)(namespace)\n ]);\n }).then(function(param) {\n var _param = _sliced_to_array(param, 2), json = _param[0], config = _param[1];\n var translations = json !== null && json !== void 0 ? json : {};\n if (config && \"Translation overrides\" in config) {\n var overrides = config[\"Translation overrides\"];\n if (language in overrides) {\n translations = (0,lodash_es_merge__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(translations, overrides[language]);\n }\n }\n callback(null, translations);\n }).catch(function(err) {\n callback(err, null);\n });\n }\n }\n }).use(react_i18next__WEBPACK_IMPORTED_MODULE_3__.initReactI18next).use((i18next_icu__WEBPACK_IMPORTED_MODULE_1___default())).init({\n detection: {\n order: [\n \"querystring\",\n \"htmlTag\",\n \"localStorage\",\n \"navigator\"\n ],\n lookupQuerystring: \"lang\"\n },\n fallbackLng: \"en\"\n });\n}\nfunction getImportPromise(module, namespace, language) {\n if (typeof module.importTranslation !== \"function\") {\n throw Error(\"Module \".concat(namespace, \" does not export an importTranslation function\"));\n }\n var importPromise = module.importTranslation(\"./\".concat(language, \".json\"));\n if (!_instanceof(importPromise, Promise)) {\n throw Error(\"Module \".concat(namespace, \" exports an importTranslation function that does not return a promise. Did you forget to set require.context mode to 'lazy'?\"));\n }\n return importPromise;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QWU7Z0JBQVc7Z0JBQWdCO2FBQVk7WUFDOURDLG1CQUFtQjtRQUNyQjtRQUNBQyxhQUFhO0lBQ2Y7QUFDSixDQUFDO0FBRUQsU0FBU0wsaUJBQ1BILE1BRUMsRUFDRFIsU0FBaUIsRUFDakJELFFBQWdCLEVBQ2hCO0lBQ0EsSUFBSSxPQUFPUyxPQUFPUyxpQkFBaUIsS0FBSyxZQUFZO1FBQ2xELE1BQU1mLE1BQ0osVUFBb0IsT0FBVkYsV0FBVSxtREFDcEI7SUFDSixDQUFDO0lBRUQsSUFBTWtCLGdCQUFnQlYsT0FBT1MsaUJBQWlCLENBQUMsS0FBYyxPQUFUbEIsVUFBUztJQUU3RCxJQUFJLENBQUVtQixZQUFBQSxlQUF5QlQsVUFBVTtRQUN2QyxNQUFNUCxNQUNKLFVBQW9CLE9BQVZGLFdBQVUsaUlBQ3BCO0lBQ0osQ0FBQztJQUVELE9BQU9rQjtBQUNUIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uL3NyYy9sb2NhbGUudHM/NWMxYyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBpMThuZXh0IGZyb20gXCJpMThuZXh0XCI7XG5pbXBvcnQgSUNVIGZyb20gXCJpMThuZXh0LWljdVwiO1xuaW1wb3J0IExhbmd1YWdlRGV0ZWN0b3IgZnJvbSBcImkxOG5leHQtYnJvd3Nlci1sYW5ndWFnZWRldGVjdG9yXCI7XG5pbXBvcnQgeyBpbml0UmVhY3RJMThuZXh0IH0gZnJvbSBcInJlYWN0LWkxOG5leHRcIjtcbmltcG9ydCBtZXJnZSBmcm9tIFwibG9kYXNoLWVzL21lcmdlXCI7XG5pbXBvcnQge1xuICBnZXRDb25maWdJbnRlcm5hbCxcbiAgaW1wb3J0RHluYW1pYyxcbn0gZnJvbSBcIkBvcGVubXJzL2VzbS1mcmFtZXdvcmsvc3JjL2ludGVybmFsXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXR1cEkxOG4oKSB7XG4gIHdpbmRvdy5pMThuZXh0ID0gaTE4bmV4dC5kZWZhdWx0IHx8IGkxOG5leHQ7XG5cbiAgY29uc3QgbGFuZ3VhZ2VDaGFuZ2VPYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKCgpID0+IHtcbiAgICBjb25zdCByZURldGVjdDogYW55ID0gdW5kZWZpbmVkO1xuICAgIHdpbmRvdy5pMThuZXh0XG4gICAgICAuY2hhbmdlTGFuZ3VhZ2UocmVEZXRlY3QpXG4gICAgICAuY2F0Y2goKGUpID0+IGNvbnNvbGUuZXJyb3IoXCJpMThuZXh0IGZhaWxlZCB0byByZS1kZXRlY3QgbGFuZ3VhZ2VcIiwgZSkpO1xuICB9KTtcblxuICBsYW5ndWFnZUNoYW5nZU9ic2VydmVyLm9ic2VydmUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LCB7XG4gICAgYXR0cmlidXRlRmlsdGVyOiBbXCJsYW5nXCJdLFxuICAgIGF0dHJpYnV0ZXM6IHRydWUsXG4gIH0pO1xuXG4gIHdpbmRvdy5pMThuZXh0Lm9uKFwibGFuZ3VhZ2VDaGFuZ2VkXCIsICgpID0+IHtcbiAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2V0QXR0cmlidXRlKFwiZGlyXCIsIHdpbmRvdy5pMThuZXh0LmRpcigpKTtcbiAgfSk7XG5cbiAgcmV0dXJuIHdpbmRvdy5pMThuZXh0XG4gICAgLnVzZShMYW5ndWFnZURldGVjdG9yKVxuICAgIC51c2U8aTE4bmV4dC5CYWNrZW5kTW9kdWxlPih7XG4gICAgICB0eXBlOiBcImJhY2tlbmRcIixcbiAgICAgIGluaXQoKSB7fSxcbiAgICAgIHJlYWQobGFuZ3VhZ2UsIG5hbWVzcGFjZSwgY2FsbGJhY2spIHtcbiAgICAgICAgaWYgKG5hbWVzcGFjZSA9PT0gXCJ0cmFuc2xhdGlvblwiKSB7XG4gICAgICAgICAgY2FsbGJhY2soRXJyb3IoXCJjYW4ndCBoYW5kbGUgdHJhbnNsYXRpb24gbmFtZXNwYWNlXCIpLCBudWxsKTtcbiAgICAgICAgfSBlbHNlIGlmIChuYW1lc3BhY2UgPT09IHVuZGVmaW5lZCB8fCBsYW5ndWFnZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgY2FsbGJhY2soRXJyb3IoKSwgbnVsbCk7XG4gICAgICAgIH0gZWxzZSBpZiAobmFtZXNwYWNlID09PSBcIkBvcGVubXJzL2VzbS1hcHAtc2hlbGxcIikge1xuICAgICAgICAgIC8vIGN1cnJlbnRseSwgd2UgZG9uJ3QgaGF2ZSB0cmFuc2xhdGlvbnMgaW4gdGhlIGFwcCBzaGVsbFxuICAgICAgICAgIGdldENvbmZpZ0ludGVybmFsKG5hbWVzcGFjZSlcbiAgICAgICAgICAgIC50aGVuKChjb25maWcpID0+IHtcbiAgICAgICAgICAgICAgbGV0IHRyYW5zbGF0aW9ucyA9IHt9O1xuICAgICAgICAgICAgICBpZiAoY29uZmlnICYmIFwiVHJhbnNsYXRpb24gb3ZlcnJpZGVzXCIgaW4gY29uZmlnKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb3ZlcnJpZGVzID0gY29uZmlnW1wiVHJhbnNsYXRpb24gb3ZlcnJpZGVzXCJdO1xuICAgICAgICAgICAgICAgIGlmIChsYW5ndWFnZSBpbiBvdmVycmlkZXMpIHtcbiAgICAgICAgICAgICAgICAgIHRyYW5zbGF0aW9ucyA9IG92ZXJyaWRlc1tsYW5ndWFnZV07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgY2FsbGJhY2sobnVsbCwgdHJhbnNsYXRpb25zKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuY2F0Y2goKGVycjogRXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgY2FsbGJhY2soZXJyLCBudWxsKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGltcG9ydER5bmFtaWMobmFtZXNwYWNlKVxuICAgICAgICAgICAgLnRoZW4oKG1vZHVsZSkgPT5cbiAgICAgICAgICAgICAgUHJvbWlzZS5hbGwoW1xuICAgICAgICAgICAgICAgIGdldEltcG9ydFByb21pc2UobW9kdWxlLCBuYW1lc3BhY2UsIGxhbmd1YWdlKSxcbiAgICAgICAgICAgICAgICBnZXRDb25maWdJbnRlcm5hbChuYW1lc3BhY2UpLFxuICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnRoZW4oKFtqc29uLCBjb25maWddKSA9PiB7XG4gICAgICAgICAgICAgIGxldCB0cmFuc2xhdGlvbnMgPSBqc29uID8/IHt9O1xuXG4gICAgICAgICAgICAgIGlmIChjb25maWcgJiYgXCJUcmFuc2xhdGlvbiBvdmVycmlkZXNcIiBpbiBjb25maWcpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBvdmVycmlkZXMgPSBjb25maWdbXCJUcmFuc2xhdGlvbiBvdmVycmlkZXNcIl07XG4gICAgICAgICAgICAgICAgaWYgKGxhbmd1YWdlIGluIG92ZXJyaWRlcykge1xuICAgICAgICAgICAgICAgICAgdHJhbnNsYXRpb25zID0gbWVyZ2UodHJhbnNsYXRpb25zLCBvdmVycmlkZXNbbGFuZ3VhZ2VdKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBjYWxsYmFjayhudWxsLCB0cmFuc2xhdGlvbnMpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5jYXRjaCgoZXJyOiBFcnJvcikgPT4ge1xuICAgICAgICAgICAgICBjYWxsYmFjayhlcnIsIG51bGwpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfSlcbiAgICAudXNlKGluaXRSZWFjdEkxOG5leHQpXG4gICAgLnVzZShJQ1UpXG4gICAgLmluaXQoe1xuICAgICAgZGV0ZWN0aW9uOiB7XG4gICAgICAgIG9yZGVyOiBbXCJxdWVyeXN0cmluZ1wiLCBcImh0bWxUYWdcIiwgXCJsb2NhbFN0b3JhZ2VcIiwgXCJuYXZpZ2F0b3JcIl0sXG4gICAgICAgIGxvb2t1cFF1ZXJ5c3RyaW5nOiBcImxhbmdcIixcbiAgICAgIH0sXG4gICAgICBmYWxsYmFja0xuZzogXCJlblwiLFxuICAgIH0pO1xufVxuXG5mdW5jdGlvbiBnZXRJbXBvcnRQcm9taXNlKFxuICBtb2R1bGU6IHtcbiAgICBpbXBvcnRUcmFuc2xhdGlvbjogKGxhbmd1YWdlOiBzdHJpbmcpID0+IFByb21pc2U8UmVjb3JkPHN0cmluZywgc3RyaW5nPj47XG4gIH0sXG4gIG5hbWVzcGFjZTogc3RyaW5nLFxuICBsYW5ndWFnZTogc3RyaW5nXG4pIHtcbiAgaWYgKHR5cGVvZiBtb2R1bGUuaW1wb3J0VHJhbnNsYXRpb24gIT09IFwiZnVuY3Rpb25cIikge1xuICAgIHRocm93IEVycm9yKFxuICAgICAgYE1vZHVsZSAke25hbWVzcGFjZX0gZG9lcyBub3QgZXhwb3J0IGFuIGltcG9ydFRyYW5zbGF0aW9uIGZ1bmN0aW9uYFxuICAgICk7XG4gIH1cblxuICBjb25zdCBpbXBvcnRQcm9taXNlID0gbW9kdWxlLmltcG9ydFRyYW5zbGF0aW9uKGAuLyR7bGFuZ3VhZ2V9Lmpzb25gKTtcblxuICBpZiAoIShpbXBvcnRQcm9taXNlIGluc3RhbmNlb2YgUHJvbWlzZSkpIHtcbiAgICB0aHJvdyBFcnJvcihcbiAgICAgIGBNb2R1bGUgJHtuYW1lc3BhY2V9IGV4cG9ydHMgYW4gaW1wb3J0VHJhbnNsYXRpb24gZnVuY3Rpb24gdGhhdCBkb2VzIG5vdCByZXR1cm4gYSBwcm9taXNlLiBEaWQgeW91IGZvcmdldCB0byBzZXQgcmVxdWlyZS5jb250ZXh0IG1vZGUgdG8gJ2xhenknP2BcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIGltcG9ydFByb21pc2U7XG59XG4iXSwibmFtZXMiOlsiaTE4bmV4dCIsIklDVSIsIkxhbmd1YWdlRGV0ZWN0b3IiLCJpbml0UmVhY3RJMThuZXh0IiwibWVyZ2UiLCJnZXRDb25maWdJbnRlcm5hbCIsImltcG9ydER5bmFtaWMiLCJzZXR1cEkxOG4iLCJ3aW5kb3ciLCJkZWZhdWx0IiwibGFuZ3VhZ2VDaGFuZ2VPYnNlcnZlciIsIk11dGF0aW9uT2JzZXJ2ZXIiLCJyZURldGVjdCIsInVuZGVmaW5lZCIsImNoYW5nZUxhbmd1YWdlIiwiY2F0Y2giLCJlIiwiY29uc29sZSIsImVycm9yIiwib2JzZXJ2ZSIsImRvY3VtZW50IiwiZG9jdW1lbnRFbGVtZW50IiwiYXR0cmlidXRlRmlsdGVyIiwiYXR0cmlidXRlcyIsIm9uIiwic2V0QXR0cmlidXRlIiwiZGlyIiwidXNlIiwidHlwZSIsImluaXQiLCJyZWFkIiwibGFuZ3VhZ2UiLCJuYW1lc3BhY2UiLCJjYWxsYmFjayIsIkVycm9yIiwidGhlbiIsImNvbmZpZyIsInRyYW5zbGF0aW9ucyIsIm92ZXJyaWRlcyIsImVyciIsIm1vZHVsZSIsIlByb21pc2UiLCJhbGwiLCJnZXRJbXBvcnRQcm9taXNlIiwianNvbiIsImRldGVjdGlvbiIsIm9yZGVyIiwibG9va3VwUXVlcnlzdHJpbmciLCJmYWxsYmFja0xuZyIsImltcG9ydFRyYW5zbGF0aW9uIiwiaW1wb3J0UHJvbWlzZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/locale.ts\n");
|
|
38
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ setupI18n: () => (/* binding */ setupI18n)\n/* harmony export */ });\n/* harmony import */ var i18next__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! i18next */ \"webpack/sharing/consume/default/i18next/i18next\");\n/* harmony import */ var i18next__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(i18next__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var i18next_icu__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! i18next-icu */ \"../../../node_modules/i18next-icu/dist/es/index.js\");\n/* harmony import */ var i18next_browser_languagedetector__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! i18next-browser-languagedetector */ \"../../../node_modules/i18next-browser-languagedetector/dist/esm/i18nextBrowserLanguageDetector.js\");\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-i18next */ \"webpack/sharing/consume/default/react-i18next/react-i18next\");\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_i18next__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var lodash_es_merge__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! lodash-es/merge */ \"../../../node_modules/lodash-es/merge.js\");\n/* harmony import */ var _openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @openmrs/esm-framework/src/internal */ \"webpack/sharing/consume/default/@openmrs/esm-framework/src/internal/@openmrs/esm-framework/src/internal\");\n/* harmony import */ var _openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_4__);\nfunction _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_with_holes(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction _instanceof(left, right) {\n if (right != null && typeof Symbol !== \"undefined\" && right[Symbol.hasInstance]) {\n return !!right[Symbol.hasInstance](left);\n } else {\n return left instanceof right;\n }\n}\nfunction _iterable_to_array_limit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally{\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally{\n if (_d) throw _e;\n }\n }\n return _arr;\n}\nfunction _non_iterable_rest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _sliced_to_array(arr, i) {\n return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\n\n\n\n\n\n\nfunction setupI18n() {\n window.i18next = (i18next__WEBPACK_IMPORTED_MODULE_0___default()) || i18next__WEBPACK_IMPORTED_MODULE_0__;\n var languageChangeObserver = new MutationObserver(function() {\n var reDetect = undefined;\n window.i18next.changeLanguage(reDetect).catch(function(e) {\n return console.error(\"i18next failed to re-detect language\", e);\n });\n });\n languageChangeObserver.observe(document.documentElement, {\n attributeFilter: [\n \"lang\"\n ],\n attributes: true\n });\n window.i18next.on(\"languageChanged\", function() {\n document.documentElement.setAttribute(\"dir\", window.i18next.dir());\n });\n return window.i18next.use(i18next_browser_languagedetector__WEBPACK_IMPORTED_MODULE_2__[\"default\"]).use({\n type: \"backend\",\n init: function init() {},\n read: function read(language, namespace, callback) {\n if (namespace === \"translation\") {\n callback(Error(\"can't handle translation namespace\"), null);\n } else if (namespace === undefined || language === undefined) {\n callback(Error(), null);\n } else if (namespace === \"@openmrs/esm-app-shell\") {\n // currently, we don't have translations in the app shell\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_4__.getConfigInternal)(namespace).then(function(config) {\n var translations = {};\n if (config && \"Translation overrides\" in config) {\n var overrides = config[\"Translation overrides\"];\n if (language in overrides) {\n translations = overrides[language];\n }\n }\n callback(null, translations);\n }).catch(function(err) {\n callback(err, null);\n });\n } else {\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_4__.importDynamic)(namespace).then(function(module) {\n return Promise.all([\n getImportPromise(module, namespace, language),\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_4__.getConfigInternal)(namespace)\n ]);\n }).then(function(param) {\n var _param = _sliced_to_array(param, 2), json = _param[0], config = _param[1];\n var translations = json !== null && json !== void 0 ? json : {};\n if (config && \"Translation overrides\" in config) {\n var overrides = config[\"Translation overrides\"];\n if (language in overrides) {\n translations = (0,lodash_es_merge__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(translations, overrides[language]);\n }\n }\n callback(null, translations);\n }).catch(function(err) {\n callback(err, null);\n });\n }\n }\n }).use(react_i18next__WEBPACK_IMPORTED_MODULE_3__.initReactI18next).use(i18next_icu__WEBPACK_IMPORTED_MODULE_1__[\"default\"]).init({\n detection: {\n order: [\n \"querystring\",\n \"htmlTag\",\n \"localStorage\",\n \"navigator\"\n ],\n lookupQuerystring: \"lang\"\n },\n fallbackLng: \"en\"\n });\n}\nfunction getImportPromise(module, namespace, language) {\n if (typeof module.importTranslation !== \"function\") {\n throw Error(\"Module \".concat(namespace, \" does not export an importTranslation function\"));\n }\n var importPromise = module.importTranslation(\"./\".concat(language, \".json\"));\n if (!_instanceof(importPromise, Promise)) {\n throw Error(\"Module \".concat(namespace, \" exports an importTranslation function that does not return a promise. Did you forget to set require.context mode to 'lazy'?\"));\n }\n return importPromise;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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ZTtnQkFBVztnQkFBZ0I7YUFBWTtZQUM5REMsbUJBQW1CO1FBQ3JCO1FBQ0FDLGFBQWE7SUFDZjtBQUNKLENBQUM7QUFFRCxTQUFTTCxpQkFDUEgsTUFFQyxFQUNEUixTQUFpQixFQUNqQkQsUUFBZ0IsRUFDaEI7SUFDQSxJQUFJLE9BQU9TLE9BQU9TLGlCQUFpQixLQUFLLFlBQVk7UUFDbEQsTUFBTWYsTUFDSixVQUFvQixPQUFWRixXQUFVLG1EQUNwQjtJQUNKLENBQUM7SUFFRCxJQUFNa0IsZ0JBQWdCVixPQUFPUyxpQkFBaUIsQ0FBQyxLQUFjLE9BQVRsQixVQUFTO0lBRTdELElBQUksQ0FBRW1CLFlBQUFBLGVBQXlCVCxVQUFVO1FBQ3ZDLE1BQU1QLE1BQ0osVUFBb0IsT0FBVkYsV0FBVSxpSUFDcEI7SUFDSixDQUFDO0lBRUQsT0FBT2tCO0FBQ1QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4vc3JjL2xvY2FsZS50cz81YzFjIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGkxOG5leHQgZnJvbSBcImkxOG5leHRcIjtcbmltcG9ydCBJQ1UgZnJvbSBcImkxOG5leHQtaWN1XCI7XG5pbXBvcnQgTGFuZ3VhZ2VEZXRlY3RvciBmcm9tIFwiaTE4bmV4dC1icm93c2VyLWxhbmd1YWdlZGV0ZWN0b3JcIjtcbmltcG9ydCB7IGluaXRSZWFjdEkxOG5leHQgfSBmcm9tIFwicmVhY3QtaTE4bmV4dFwiO1xuaW1wb3J0IG1lcmdlIGZyb20gXCJsb2Rhc2gtZXMvbWVyZ2VcIjtcbmltcG9ydCB7XG4gIGdldENvbmZpZ0ludGVybmFsLFxuICBpbXBvcnREeW5hbWljLFxufSBmcm9tIFwiQG9wZW5tcnMvZXNtLWZyYW1ld29yay9zcmMvaW50ZXJuYWxcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHNldHVwSTE4bigpIHtcbiAgd2luZG93LmkxOG5leHQgPSBpMThuZXh0LmRlZmF1bHQgfHwgaTE4bmV4dDtcblxuICBjb25zdCBsYW5ndWFnZUNoYW5nZU9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKCkgPT4ge1xuICAgIGNvbnN0IHJlRGV0ZWN0OiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgd2luZG93LmkxOG5leHRcbiAgICAgIC5jaGFuZ2VMYW5ndWFnZShyZURldGVjdClcbiAgICAgIC5jYXRjaCgoZSkgPT4gY29uc29sZS5lcnJvcihcImkxOG5leHQgZmFpbGVkIHRvIHJlLWRldGVjdCBsYW5ndWFnZVwiLCBlKSk7XG4gIH0pO1xuXG4gIGxhbmd1YWdlQ2hhbmdlT2JzZXJ2ZXIub2JzZXJ2ZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsIHtcbiAgICBhdHRyaWJ1dGVGaWx0ZXI6IFtcImxhbmdcIl0sXG4gICAgYXR0cmlidXRlczogdHJ1ZSxcbiAgfSk7XG5cbiAgd2luZG93LmkxOG5leHQub24oXCJsYW5ndWFnZUNoYW5nZWRcIiwgKCkgPT4ge1xuICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJkaXJcIiwgd2luZG93LmkxOG5leHQuZGlyKCkpO1xuICB9KTtcblxuICByZXR1cm4gd2luZG93LmkxOG5leHRcbiAgICAudXNlKExhbmd1YWdlRGV0ZWN0b3IpXG4gICAgLnVzZTxpMThuZXh0LkJhY2tlbmRNb2R1bGU+KHtcbiAgICAgIHR5cGU6IFwiYmFja2VuZFwiLFxuICAgICAgaW5pdCgpIHt9LFxuICAgICAgcmVhZChsYW5ndWFnZSwgbmFtZXNwYWNlLCBjYWxsYmFjaykge1xuICAgICAgICBpZiAobmFtZXNwYWNlID09PSBcInRyYW5zbGF0aW9uXCIpIHtcbiAgICAgICAgICBjYWxsYmFjayhFcnJvcihcImNhbid0IGhhbmRsZSB0cmFuc2xhdGlvbiBuYW1lc3BhY2VcIiksIG51bGwpO1xuICAgICAgICB9IGVsc2UgaWYgKG5hbWVzcGFjZSA9PT0gdW5kZWZpbmVkIHx8IGxhbmd1YWdlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBjYWxsYmFjayhFcnJvcigpLCBudWxsKTtcbiAgICAgICAgfSBlbHNlIGlmIChuYW1lc3BhY2UgPT09IFwiQG9wZW5tcnMvZXNtLWFwcC1zaGVsbFwiKSB7XG4gICAgICAgICAgLy8gY3VycmVudGx5LCB3ZSBkb24ndCBoYXZlIHRyYW5zbGF0aW9ucyBpbiB0aGUgYXBwIHNoZWxsXG4gICAgICAgICAgZ2V0Q29uZmlnSW50ZXJuYWwobmFtZXNwYWNlKVxuICAgICAgICAgICAgLnRoZW4oKGNvbmZpZykgPT4ge1xuICAgICAgICAgICAgICBsZXQgdHJhbnNsYXRpb25zID0ge307XG4gICAgICAgICAgICAgIGlmIChjb25maWcgJiYgXCJUcmFuc2xhdGlvbiBvdmVycmlkZXNcIiBpbiBjb25maWcpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBvdmVycmlkZXMgPSBjb25maWdbXCJUcmFuc2xhdGlvbiBvdmVycmlkZXNcIl07XG4gICAgICAgICAgICAgICAgaWYgKGxhbmd1YWdlIGluIG92ZXJyaWRlcykge1xuICAgICAgICAgICAgICAgICAgdHJhbnNsYXRpb25zID0gb3ZlcnJpZGVzW2xhbmd1YWdlXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBjYWxsYmFjayhudWxsLCB0cmFuc2xhdGlvbnMpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5jYXRjaCgoZXJyOiBFcnJvcikgPT4ge1xuICAgICAgICAgICAgICBjYWxsYmFjayhlcnIsIG51bGwpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaW1wb3J0RHluYW1pYyhuYW1lc3BhY2UpXG4gICAgICAgICAgICAudGhlbigobW9kdWxlKSA9PlxuICAgICAgICAgICAgICBQcm9taXNlLmFsbChbXG4gICAgICAgICAgICAgICAgZ2V0SW1wb3J0UHJvbWlzZShtb2R1bGUsIG5hbWVzcGFjZSwgbGFuZ3VhZ2UpLFxuICAgICAgICAgICAgICAgIGdldENvbmZpZ0ludGVybmFsKG5hbWVzcGFjZSksXG4gICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAudGhlbigoW2pzb24sIGNvbmZpZ10pID0+IHtcbiAgICAgICAgICAgICAgbGV0IHRyYW5zbGF0aW9ucyA9IGpzb24gPz8ge307XG5cbiAgICAgICAgICAgICAgaWYgKGNvbmZpZyAmJiBcIlRyYW5zbGF0aW9uIG92ZXJyaWRlc1wiIGluIGNvbmZpZykge1xuICAgICAgICAgICAgICAgIGNvbnN0IG92ZXJyaWRlcyA9IGNvbmZpZ1tcIlRyYW5zbGF0aW9uIG92ZXJyaWRlc1wiXTtcbiAgICAgICAgICAgICAgICBpZiAobGFuZ3VhZ2UgaW4gb3ZlcnJpZGVzKSB7XG4gICAgICAgICAgICAgICAgICB0cmFuc2xhdGlvbnMgPSBtZXJnZSh0cmFuc2xhdGlvbnMsIG92ZXJyaWRlc1tsYW5ndWFnZV0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGNhbGxiYWNrKG51bGwsIHRyYW5zbGF0aW9ucyk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmNhdGNoKChlcnI6IEVycm9yKSA9PiB7XG4gICAgICAgICAgICAgIGNhbGxiYWNrKGVyciwgbnVsbCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9KVxuICAgIC51c2UoaW5pdFJlYWN0STE4bmV4dClcbiAgICAudXNlKElDVSlcbiAgICAuaW5pdCh7XG4gICAgICBkZXRlY3Rpb246IHtcbiAgICAgICAgb3JkZXI6IFtcInF1ZXJ5c3RyaW5nXCIsIFwiaHRtbFRhZ1wiLCBcImxvY2FsU3RvcmFnZVwiLCBcIm5hdmlnYXRvclwiXSxcbiAgICAgICAgbG9va3VwUXVlcnlzdHJpbmc6IFwibGFuZ1wiLFxuICAgICAgfSxcbiAgICAgIGZhbGxiYWNrTG5nOiBcImVuXCIsXG4gICAgfSk7XG59XG5cbmZ1bmN0aW9uIGdldEltcG9ydFByb21pc2UoXG4gIG1vZHVsZToge1xuICAgIGltcG9ydFRyYW5zbGF0aW9uOiAobGFuZ3VhZ2U6IHN0cmluZykgPT4gUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PjtcbiAgfSxcbiAgbmFtZXNwYWNlOiBzdHJpbmcsXG4gIGxhbmd1YWdlOiBzdHJpbmdcbikge1xuICBpZiAodHlwZW9mIG1vZHVsZS5pbXBvcnRUcmFuc2xhdGlvbiAhPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgdGhyb3cgRXJyb3IoXG4gICAgICBgTW9kdWxlICR7bmFtZXNwYWNlfSBkb2VzIG5vdCBleHBvcnQgYW4gaW1wb3J0VHJhbnNsYXRpb24gZnVuY3Rpb25gXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IGltcG9ydFByb21pc2UgPSBtb2R1bGUuaW1wb3J0VHJhbnNsYXRpb24oYC4vJHtsYW5ndWFnZX0uanNvbmApO1xuXG4gIGlmICghKGltcG9ydFByb21pc2UgaW5zdGFuY2VvZiBQcm9taXNlKSkge1xuICAgIHRocm93IEVycm9yKFxuICAgICAgYE1vZHVsZSAke25hbWVzcGFjZX0gZXhwb3J0cyBhbiBpbXBvcnRUcmFuc2xhdGlvbiBmdW5jdGlvbiB0aGF0IGRvZXMgbm90IHJldHVybiBhIHByb21pc2UuIERpZCB5b3UgZm9yZ2V0IHRvIHNldCByZXF1aXJlLmNvbnRleHQgbW9kZSB0byAnbGF6eSc/YFxuICAgICk7XG4gIH1cblxuICByZXR1cm4gaW1wb3J0UHJvbWlzZTtcbn1cbiJdLCJuYW1lcyI6WyJpMThuZXh0IiwiSUNVIiwiTGFuZ3VhZ2VEZXRlY3RvciIsImluaXRSZWFjdEkxOG5leHQiLCJtZXJnZSIsImdldENvbmZpZ0ludGVybmFsIiwiaW1wb3J0RHluYW1pYyIsInNldHVwSTE4biIsIndpbmRvdyIsImRlZmF1bHQiLCJsYW5ndWFnZUNoYW5nZU9ic2VydmVyIiwiTXV0YXRpb25PYnNlcnZlciIsInJlRGV0ZWN0IiwidW5kZWZpbmVkIiwiY2hhbmdlTGFuZ3VhZ2UiLCJjYXRjaCIsImUiLCJjb25zb2xlIiwiZXJyb3IiLCJvYnNlcnZlIiwiZG9jdW1lbnQiLCJkb2N1bWVudEVsZW1lbnQiLCJhdHRyaWJ1dGVGaWx0ZXIiLCJhdHRyaWJ1dGVzIiwib24iLCJzZXRBdHRyaWJ1dGUiLCJkaXIiLCJ1c2UiLCJ0eXBlIiwiaW5pdCIsInJlYWQiLCJsYW5ndWFnZSIsIm5hbWVzcGFjZSIsImNhbGxiYWNrIiwiRXJyb3IiLCJ0aGVuIiwiY29uZmlnIiwidHJhbnNsYXRpb25zIiwib3ZlcnJpZGVzIiwiZXJyIiwibW9kdWxlIiwiUHJvbWlzZSIsImFsbCIsImdldEltcG9ydFByb21pc2UiLCJqc29uIiwiZGV0ZWN0aW9uIiwib3JkZXIiLCJsb29rdXBRdWVyeXN0cmluZyIsImZhbGxiYWNrTG5nIiwiaW1wb3J0VHJhbnNsYXRpb24iLCJpbXBvcnRQcm9taXNlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/locale.ts\n");
|
|
41
39
|
|
|
42
40
|
/***/ }),
|
|
43
41
|
|
|
@@ -47,7 +45,6 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
47
45
|
\********************/
|
|
48
46
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
49
47
|
|
|
50
|
-
"use strict";
|
|
51
48
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ run: () => (/* binding */ run)\n/* harmony export */ });\n/* harmony import */ var single_spa__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! single-spa */ \"webpack/sharing/consume/default/single-spa/single-spa\");\n/* harmony import */ var single_spa__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(single_spa__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @openmrs/esm-framework/src/internal */ \"webpack/sharing/consume/default/@openmrs/esm-framework/src/internal/@openmrs/esm-framework/src/internal\");\n/* harmony import */ var _openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _apps__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./apps */ \"./src/apps.ts\");\n/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./locale */ \"./src/locale.ts\");\n/* harmony import */ var _ui__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ui */ \"./src/ui/index.ts\");\nfunction _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_with_holes(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nfunction _async_to_generator(fn) {\n return function() {\n var self = this, args = arguments;\n return new Promise(function(resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _iterable_to_array_limit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally{\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally{\n if (_d) throw _e;\n }\n }\n return _arr;\n}\nfunction _non_iterable_rest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _object_spread(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === \"function\") {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function(key) {\n _define_property(target, key, source[key]);\n });\n }\n return target;\n}\nfunction _sliced_to_array(arr, i) {\n return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\nfunction _ts_generator(thisArg, body) {\n var f, y, t, g, _ = {\n label: 0,\n sent: function() {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n };\n return(g = {\n next: verb(0),\n \"throw\": verb(1),\n \"return\": verb(2)\n }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() {\n return this;\n }), g);\n function verb(n) {\n return function(v) {\n return step([\n n,\n v\n ]);\n };\n }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while(_)try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [\n op[0] & 2,\n t.value\n ];\n switch(op[0]){\n case 0:\n case 1:\n t = op;\n break;\n case 4:\n _.label++;\n return {\n value: op[1],\n done: false\n };\n case 5:\n _.label++;\n y = op[1];\n op = [\n 0\n ];\n continue;\n case 7:\n op = _.ops.pop();\n _.trys.pop();\n continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n _.label = op[1];\n break;\n }\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n if (t && _.label < t[2]) {\n _.label = t[2];\n _.ops.push(op);\n break;\n }\n if (t[2]) _.ops.pop();\n _.trys.pop();\n continue;\n }\n op = body.call(thisArg, _);\n } catch (e) {\n op = [\n 6,\n e\n ];\n y = 0;\n } finally{\n f = t = 0;\n }\n if (op[0] & 5) throw op[1];\n return {\n value: op[0] ? op[1] : void 0,\n done: true\n };\n }\n}\n\n\n\n\n\n// @internal\n// used to track when the window.installedModules global is finalised\n// so we can pre-load all modules\nvar REGISTRATION_PROMISES = Symbol(\"openmrs_registration_promises\");\nfunction setupApps() {\n return _setupApps.apply(this, arguments);\n}\nfunction _setupApps() {\n _setupApps = /**\n * Sets up the frontend modules (apps). Uses the defined export\n * from the root modules of the apps. This is done by reading the\n * list of apps from the routes.registry.json file, which serves\n * as the registry of all apps in the application.\n */ _async_to_generator(function() {\n var scriptTags, promises, i, routes, modules, registrationPromises;\n return _ts_generator(this, function(_state) {\n switch(_state.label){\n case 0:\n scriptTags = document.querySelectorAll(\"script[type='openmrs-routes']\");\n promises = [];\n for(i = 0; i < scriptTags.length; i++){\n promises.push((function() {\n var _ref = _async_to_generator(function(scriptTag) {\n var routes, e, _scriptTag_src;\n return _ts_generator(this, function(_state) {\n switch(_state.label){\n case 0:\n routes = undefined;\n _state.label = 1;\n case 1:\n _state.trys.push([\n 1,\n 5,\n ,\n 6\n ]);\n if (!scriptTag.textContent) return [\n 3,\n 2\n ];\n routes = JSON.parse(scriptTag.textContent);\n return [\n 3,\n 4\n ];\n case 2:\n if (!scriptTag.src) return [\n 3,\n 4\n ];\n return [\n 4,\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.openmrsFetch)(scriptTag.src)\n ];\n case 3:\n routes = _state.sent().data;\n _state.label = 4;\n case 4:\n return [\n 3,\n 6\n ];\n case 5:\n e = _state.sent();\n console.error(\"Caught error while loading routes from \".concat((_scriptTag_src = scriptTag.src) !== null && _scriptTag_src !== void 0 ? _scriptTag_src : \"JSON script tag content\"), e);\n return [\n 2,\n {}\n ];\n case 6:\n return [\n 2,\n Promise.resolve(routes !== null && routes !== void 0 ? routes : {})\n ];\n }\n });\n });\n return function(scriptTag) {\n return _ref.apply(this, arguments);\n };\n })()(scriptTags.item(i)));\n }\n return [\n 4,\n Promise.all(promises)\n ];\n case 1:\n routes = _state.sent().reduce(function(accumulatedRoutes, routes) {\n return _object_spread({}, accumulatedRoutes, routes);\n }, {});\n modules = [];\n registrationPromises = Object.entries(routes).map(function() {\n var _ref = _async_to_generator(function(param) {\n var _param, module, routes;\n return _ts_generator(this, function(_state) {\n _param = _sliced_to_array(param, 2), module = _param[0], routes = _param[1];\n modules.push([\n module,\n routes\n ]);\n (0,_apps__WEBPACK_IMPORTED_MODULE_2__.registerApp)(module, routes);\n return [\n 2\n ];\n });\n });\n return function(_) {\n return _ref.apply(this, arguments);\n };\n }());\n window[REGISTRATION_PROMISES] = Promise.all(registrationPromises);\n window.installedModules = modules;\n return [\n 2\n ];\n }\n });\n });\n return _setupApps.apply(this, arguments);\n}\nfunction loadConfigs(configs) {\n return _loadConfigs.apply(this, arguments);\n}\nfunction _loadConfigs() {\n _loadConfigs = /**\n * Loads the provided configurations and sets them in the system.\n */ _async_to_generator(function(configs) {\n var _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, config;\n return _ts_generator(this, function(_state) {\n _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;\n try {\n for(_iterator = configs[Symbol.iterator](); !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){\n config = _step.value;\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.provide)(config.value, config.name);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally{\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally{\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return [\n 2\n ];\n });\n });\n return _loadConfigs.apply(this, arguments);\n}\n/**\n * Invoked when the connectivity is changed.\n */ function connectivityChanged() {\n var online = navigator.onLine;\n // NB We do not wait for this to be done; it is simply scheduled\n (0,single_spa__WEBPACK_IMPORTED_MODULE_0__.triggerAppChange)();\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.dispatchConnectivityChanged)(online);\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.showToast)({\n critical: true,\n description: \"Connection: \".concat(online ? \"online\" : \"offline\"),\n title: \"App\",\n kind: online ? \"success\" : \"warning\"\n });\n}\n/**\n * Runs the shell by importing the translations and starting single SPA.\n */ function runShell() {\n window.addEventListener(\"offline\", connectivityChanged);\n window.addEventListener(\"online\", connectivityChanged);\n return (0,_locale__WEBPACK_IMPORTED_MODULE_3__.setupI18n)().catch(function(err) {\n return console.error(\"Failed to initialize translations\", err);\n }).then(function() {\n return (0,single_spa__WEBPACK_IMPORTED_MODULE_0__.start)();\n });\n}\nfunction preloadScripts() {\n return _preloadScripts.apply(this, arguments);\n}\nfunction _preloadScripts() {\n _preloadScripts = _async_to_generator(function() {\n var _ref, importMap;\n return _ts_generator(this, function(_state) {\n switch(_state.label){\n case 0:\n return [\n 4,\n Promise.all([\n window[REGISTRATION_PROMISES],\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.getCurrentImportMap)()\n ])\n ];\n case 1:\n _ref = _sliced_to_array.apply(void 0, [\n _state.sent(),\n 2\n ]), importMap = _ref[1];\n window.installedModules.map(function() {\n var _ref = _async_to_generator(function(param) {\n var _param, module;\n return _ts_generator(this, function(_state) {\n _param = _sliced_to_array(param, 1), module = _param[0];\n // we simply swallow the error here since this is only a preload\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.importDynamic)(module, undefined, {\n importMap: importMap\n }).catch();\n return [\n 2\n ];\n });\n });\n return function(_) {\n return _ref.apply(this, arguments);\n };\n }());\n return [\n 2\n ];\n }\n });\n });\n return _preloadScripts.apply(this, arguments);\n}\nfunction handleInitFailure(e) {\n console.error(e);\n renderFatalErrorPage(e);\n}\nfunction renderFatalErrorPage(e) {\n var template = document.querySelector(\"#app-error\");\n if (template) {\n var fragment = template.content.cloneNode(true);\n var messageContainer = fragment.querySelector('[data-var=\"message\"]');\n if (messageContainer) {\n messageContainer.textContent = (e === null || e === void 0 ? void 0 : e.message) || \"No additional information available.\";\n }\n if (localStorage.getItem(\"openmrs:devtools\") && Object.keys(localStorage).some(function(k) {\n return k.startsWith(\"import-map-override:\");\n })) {\n var appErrorActionButtons = fragment === null || fragment === void 0 ? void 0 : fragment.querySelector(\"#buttons\");\n if (appErrorActionButtons) {\n var clearDevOverridesButton = document.createElement(\"button\");\n clearDevOverridesButton.className = \"cds--btn\";\n clearDevOverridesButton.innerHTML = \"Clear dev overrides\";\n clearDevOverridesButton.onclick = clearDevOverrides;\n appErrorActionButtons.appendChild(clearDevOverridesButton);\n }\n }\n document.body.appendChild(fragment);\n }\n}\nfunction clearDevOverrides() {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;\n try {\n for(var _iterator = Object.keys(localStorage)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){\n var key = _step.value;\n if (key.startsWith(\"import-map-override:\") && ![\n \"import-map-override:react\",\n \"import-map-override:react-dom\"\n ].includes(key)) {\n localStorage.removeItem(key);\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally{\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally{\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n location.reload();\n}\nfunction createConfigLoader(configUrls) {\n var loadingConfigs = Promise.all(configUrls.map(function(configUrl) {\n var interpolatedUrl = (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.interpolateUrl)(configUrl);\n return fetch(interpolatedUrl).then(function(res) {\n return res.json();\n }).then(function(config) {\n return {\n name: configUrl,\n value: config\n };\n }).catch(function(err) {\n console.error('Loading the config from \"'.concat(configUrl, '\" failed.'), err);\n return {\n name: configUrl,\n value: {}\n };\n });\n }));\n return function() {\n return loadingConfigs.then(loadConfigs);\n };\n}\nfunction showNotifications() {\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.renderInlineNotifications)(document.querySelector(\".omrs-inline-notifications-container\"));\n return;\n}\nfunction showActionableNotifications() {\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.renderActionableNotifications)(document.querySelector(\".omrs-actionable-notifications-container\"));\n}\nfunction showToasts() {\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.renderToasts)(document.querySelector(\".omrs-toasts-container\"));\n}\nfunction showModals() {\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.renderModals)(document.querySelector(\".omrs-modals-container\"));\n}\nfunction showLoadingSpinner() {\n return (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.renderLoadingSpinner)(document.body);\n}\n/**\n * Registers the extensions coming from the app shell itself.\n */ function registerCoreExtensions() {\n var extensions = (0,_ui__WEBPACK_IMPORTED_MODULE_4__.getCoreExtensions)();\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;\n try {\n for(var _iterator = extensions[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){\n var extension = _step.value;\n (0,_apps__WEBPACK_IMPORTED_MODULE_2__.tryRegisterExtension)(_ui__WEBPACK_IMPORTED_MODULE_4__.appName, extension);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally{\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally{\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n}\nfunction setupOffline() {\n return _setupOffline.apply(this, arguments);\n}\nfunction _setupOffline() {\n _setupOffline = _async_to_generator(function() {\n var error;\n return _ts_generator(this, function(_state) {\n switch(_state.label){\n case 0:\n _state.trys.push([\n 0,\n 3,\n ,\n 4\n ]);\n return [\n 4,\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.registerOmrsServiceWorker)(\"\".concat(window.getOpenmrsSpaBase(), \"service-worker.js\"))\n ];\n case 1:\n _state.sent();\n return [\n 4,\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.activateOfflineCapability)()\n ];\n case 2:\n _state.sent();\n setupOfflineStaticDependencyPrecaching();\n return [\n 3,\n 4\n ];\n case 3:\n error = _state.sent();\n console.error(\"Error while setting up offline mode.\", error);\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.showNotification)({\n kind: \"error\",\n title: \"Offline Setup Error\",\n description: error.message\n });\n return [\n 3,\n 4\n ];\n case 4:\n return [\n 2\n ];\n }\n });\n });\n return _setupOffline.apply(this, arguments);\n}\nfunction setupOfflineStaticDependencyPrecaching() {\n var precacheDelay = 1000 * 60 * 5;\n var lastPrecache = null;\n subscribeOnlineAndLoginChange(function(online, hasLoggedInUser) {\n var hasExceededPrecacheDelay = !lastPrecache || new Date().getTime() - lastPrecache.getTime() > precacheDelay;\n if (hasLoggedInUser && online && hasExceededPrecacheDelay) {\n lastPrecache = new Date();\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.dispatchPrecacheStaticDependencies)();\n }\n });\n}\nfunction subscribeOnlineAndLoginChange(cb) {\n var isOnline = false;\n var hasLoggedInUser = false;\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.getCurrentUser)({\n includeAuthStatus: false\n }).subscribe(function(user) {\n hasLoggedInUser = !!user;\n cb(isOnline, hasLoggedInUser);\n });\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.subscribeConnectivity)(function(param) {\n var online = param.online;\n isOnline = online;\n cb(online, hasLoggedInUser);\n });\n}\nfunction precacheGlobalStaticDependencies() {\n return _precacheGlobalStaticDependencies.apply(this, arguments);\n}\nfunction _precacheGlobalStaticDependencies() {\n _precacheGlobalStaticDependencies = _async_to_generator(function() {\n var sessionPathUrl;\n return _ts_generator(this, function(_state) {\n switch(_state.label){\n case 0:\n return [\n 4,\n precacheImportMap()\n ];\n case 1:\n _state.sent();\n sessionPathUrl = new URL(\"\".concat(window.openmrsBase, \"/ws/rest/v1/session\"), window.location.origin).href;\n return [\n 4,\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.messageOmrsServiceWorker)({\n type: \"registerDynamicRoute\",\n url: sessionPathUrl,\n strategy: \"network-first\"\n })\n ];\n case 2:\n _state.sent();\n return [\n 4,\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.openmrsFetch)(\"/ws/rest/v1/session\").catch(function(e) {\n return console.warn(\"Failed to precache the user session data from the app shell. MFs depending on this data may run into problems while offline.\", e);\n })\n ];\n case 3:\n _state.sent();\n return [\n 2\n ];\n }\n });\n });\n return _precacheGlobalStaticDependencies.apply(this, arguments);\n}\nfunction precacheImportMap() {\n return _precacheImportMap.apply(this, arguments);\n}\nfunction _precacheImportMap() {\n _precacheImportMap = _async_to_generator(function() {\n var importMap;\n return _ts_generator(this, function(_state) {\n switch(_state.label){\n case 0:\n return [\n 4,\n window.importMapOverrides.getCurrentPageMap()\n ];\n case 1:\n importMap = _state.sent();\n return [\n 4,\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.messageOmrsServiceWorker)({\n type: \"onImportMapChanged\",\n importMap: importMap\n })\n ];\n case 2:\n _state.sent();\n return [\n 2\n ];\n }\n });\n });\n return _precacheImportMap.apply(this, arguments);\n}\nfunction setupOfflineCssClasses() {\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.subscribeConnectivity)(function(param) {\n var online = param.online;\n var body = document.querySelector(\"body\");\n if (online) {\n body.classList.remove(\"omrs-offline\");\n } else {\n body.classList.add(\"omrs-offline\");\n }\n });\n}\nfunction run(configUrls, offline) {\n var closeLoading = showLoadingSpinner();\n var provideConfigs = createConfigLoader(configUrls);\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.integrateBreakpoints)();\n showToasts();\n showModals();\n showNotifications();\n showActionableNotifications();\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.subscribeNotificationShown)(_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.showNotification);\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.subscribeActionableNotificationShown)(_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.showActionableNotification);\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.subscribeToastShown)(_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.showToast);\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.subscribePrecacheStaticDependencies)(precacheGlobalStaticDependencies);\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.setupApiModule)();\n registerCoreExtensions();\n return setupApps().then(_apps__WEBPACK_IMPORTED_MODULE_2__.finishRegisteringAllApps).then(setupOfflineCssClasses).then(provideConfigs).then(runShell).catch(handleInitFailure).then(closeLoading).then(offline ? setupOffline : undefined).then(preloadScripts);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUFTQTtJQUM3QmdCLHdHQUFtQ0EsQ0FBQzhIO0lBQ3BDbkosbUZBQWNBO0lBQ2RpSTtJQUVBLE9BQU8vRixZQUNKa0QsSUFBSSxDQUFDMUQsMkRBQXdCQSxFQUM3QjBELElBQUksQ0FBQzRFLHdCQUNMNUUsSUFBSSxDQUFDbUYsZ0JBQ0xuRixJQUFJLENBQUNKLFVBQ0xFLEtBQUssQ0FBQ0ssbUJBQ05ILElBQUksQ0FBQ2tGLGNBQ0xsRixJQUFJLENBQUNpRixVQUFVakMsZUFBZXJGLFNBQVMsRUFDdkNxQyxJQUFJLENBQUNDO0FBQ1YsQ0FBQyIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi9zcmMvcnVuLnRzP2JjMjYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc3RhcnQsIHRyaWdnZXJBcHBDaGFuZ2UgfSBmcm9tIFwic2luZ2xlLXNwYVwiO1xuaW1wb3J0IHtcbiAgc2V0dXBBcGlNb2R1bGUsXG4gIHJlbmRlckxvYWRpbmdTcGlubmVyLFxuICBDb25maWcsXG4gIHByb3ZpZGUsXG4gIHNob3dOb3RpZmljYXRpb24sXG4gIHNob3dBY3Rpb25hYmxlTm90aWZpY2F0aW9uLFxuICBzaG93VG9hc3QsXG4gIHJlbmRlcklubGluZU5vdGlmaWNhdGlvbnMsXG4gIHJlbmRlckFjdGlvbmFibGVOb3RpZmljYXRpb25zLFxuICByZW5kZXJUb2FzdHMsXG4gIGludGVncmF0ZUJyZWFrcG9pbnRzLFxuICBkaXNwYXRjaENvbm5lY3Rpdml0eUNoYW5nZWQsXG4gIHN1YnNjcmliZU5vdGlmaWNhdGlvblNob3duLFxuICBzdWJzY3JpYmVBY3Rpb25hYmxlTm90aWZpY2F0aW9uU2hvd24sXG4gIHN1YnNjcmliZVRvYXN0U2hvd24sXG4gIHJlZ2lzdGVyT21yc1NlcnZpY2VXb3JrZXIsXG4gIG1lc3NhZ2VPbXJzU2VydmljZVdvcmtlcixcbiAgc3Vic2NyaWJlQ29ubmVjdGl2aXR5LFxuICBnZXRDdXJyZW50VXNlcixcbiAgcmVuZGVyTW9kYWxzLFxuICBkaXNwYXRjaFByZWNhY2hlU3RhdGljRGVwZW5kZW5jaWVzLFxuICBhY3RpdmF0ZU9mZmxpbmVDYXBhYmlsaXR5LFxuICBzdWJzY3JpYmVQcmVjYWNoZVN0YXRpY0RlcGVuZGVuY2llcyxcbiAgb3Blbm1yc0ZldGNoLFxuICBpbnRlcnBvbGF0ZVVybCxcbiAgT3Blbm1yc1JvdXRlcyxcbiAgZ2V0Q3VycmVudEltcG9ydE1hcCxcbiAgaW1wb3J0RHluYW1pYyxcbn0gZnJvbSBcIkBvcGVubXJzL2VzbS1mcmFtZXdvcmsvc3JjL2ludGVybmFsXCI7XG5pbXBvcnQge1xuICBmaW5pc2hSZWdpc3RlcmluZ0FsbEFwcHMsXG4gIHJlZ2lzdGVyQXBwLFxuICB0cnlSZWdpc3RlckV4dGVuc2lvbixcbn0gZnJvbSBcIi4vYXBwc1wiO1xuaW1wb3J0IHsgc2V0dXBJMThuIH0gZnJvbSBcIi4vbG9jYWxlXCI7XG5pbXBvcnQgeyBhcHBOYW1lLCBnZXRDb3JlRXh0ZW5zaW9ucyB9IGZyb20gXCIuL3VpXCI7XG5cbi8vIEBpbnRlcm5hbFxuLy8gdXNlZCB0byB0cmFjayB3aGVuIHRoZSB3aW5kb3cuaW5zdGFsbGVkTW9kdWxlcyBnbG9iYWwgaXMgZmluYWxpc2VkXG4vLyBzbyB3ZSBjYW4gcHJlLWxvYWQgYWxsIG1vZHVsZXNcbmNvbnN0IFJFR0lTVFJBVElPTl9QUk9NSVNFUyA9IFN5bWJvbChcIm9wZW5tcnNfcmVnaXN0cmF0aW9uX3Byb21pc2VzXCIpO1xuXG4vKipcbiAqIFNldHMgdXAgdGhlIGZyb250ZW5kIG1vZHVsZXMgKGFwcHMpLiBVc2VzIHRoZSBkZWZpbmVkIGV4cG9ydFxuICogZnJvbSB0aGUgcm9vdCBtb2R1bGVzIG9mIHRoZSBhcHBzLiBUaGlzIGlzIGRvbmUgYnkgcmVhZGluZyB0aGVcbiAqIGxpc3Qgb2YgYXBwcyBmcm9tIHRoZSByb3V0ZXMucmVnaXN0cnkuanNvbiBmaWxlLCB3aGljaCBzZXJ2ZXNcbiAqIGFzIHRoZSByZWdpc3RyeSBvZiBhbGwgYXBwcyBpbiB0aGUgYXBwbGljYXRpb24uXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIHNldHVwQXBwcygpIHtcbiAgY29uc3Qgc2NyaXB0VGFncyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGw8SFRNTFNjcmlwdEVsZW1lbnQ+KFxuICAgIFwic2NyaXB0W3R5cGU9J29wZW5tcnMtcm91dGVzJ11cIlxuICApO1xuXG4gIGNvbnN0IHByb21pc2VzOiBBcnJheTxQcm9taXNlPE9wZW5tcnNSb3V0ZXM+PiA9IFtdO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHNjcmlwdFRhZ3MubGVuZ3RoOyBpKyspIHtcbiAgICBwcm9taXNlcy5wdXNoKFxuICAgICAgKGFzeW5jIChzY3JpcHRUYWcpID0+IHtcbiAgICAgICAgbGV0IHJvdXRlczogT3Blbm1yc1JvdXRlcyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBpZiAoc2NyaXB0VGFnLnRleHRDb250ZW50KSB7XG4gICAgICAgICAgICByb3V0ZXMgPSBKU09OLnBhcnNlKHNjcmlwdFRhZy50ZXh0Q29udGVudCkgYXMgT3Blbm1yc1JvdXRlcztcbiAgICAgICAgICB9IGVsc2UgaWYgKHNjcmlwdFRhZy5zcmMpIHtcbiAgICAgICAgICAgIHJvdXRlcyA9IChhd2FpdCBvcGVubXJzRmV0Y2g8T3Blbm1yc1JvdXRlcz4oc2NyaXB0VGFnLnNyYykpLmRhdGE7XG4gICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgICAgIGBDYXVnaHQgZXJyb3Igd2hpbGUgbG9hZGluZyByb3V0ZXMgZnJvbSAke1xuICAgICAgICAgICAgICBzY3JpcHRUYWcuc3JjID8/IFwiSlNPTiBzY3JpcHQgdGFnIGNvbnRlbnRcIlxuICAgICAgICAgICAgfWAsXG4gICAgICAgICAgICBlXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIHJldHVybiB7fTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUocm91dGVzID8/IHt9KTtcbiAgICAgIH0pKHNjcmlwdFRhZ3MuaXRlbShpKSlcbiAgICApO1xuICB9XG5cbiAgY29uc3Qgcm91dGVzID0gKGF3YWl0IFByb21pc2UuYWxsKHByb21pc2VzKSkucmVkdWNlKFxuICAgIChhY2N1bXVsYXRlZFJvdXRlcywgcm91dGVzKSA9PiAoeyAuLi5hY2N1bXVsYXRlZFJvdXRlcywgLi4ucm91dGVzIH0pLFxuICAgIHt9XG4gICk7XG5cbiAgY29uc3QgbW9kdWxlczogdHlwZW9mIHdpbmRvdy5pbnN0YWxsZWRNb2R1bGVzID0gW107XG4gIGNvbnN0IHJlZ2lzdHJhdGlvblByb21pc2VzID0gT2JqZWN0LmVudHJpZXMocm91dGVzKS5tYXAoXG4gICAgYXN5bmMgKFttb2R1bGUsIHJvdXRlc10pID0+IHtcbiAgICAgIG1vZHVsZXMucHVzaChbbW9kdWxlLCByb3V0ZXNdKTtcbiAgICAgIHJlZ2lzdGVyQXBwKG1vZHVsZSwgcm91dGVzKTtcbiAgICB9XG4gICk7XG5cbiAgd2luZG93W1JFR0lTVFJBVElPTl9QUk9NSVNFU10gPSBQcm9taXNlLmFsbChyZWdpc3RyYXRpb25Qcm9taXNlcyk7XG4gIHdpbmRvdy5pbnN0YWxsZWRNb2R1bGVzID0gbW9kdWxlcztcbn1cblxuLyoqXG4gKiBMb2FkcyB0aGUgcHJvdmlkZWQgY29uZmlndXJhdGlvbnMgYW5kIHNldHMgdGhlbSBpbiB0aGUgc3lzdGVtLlxuICovXG5hc3luYyBmdW5jdGlvbiBsb2FkQ29uZmlncyhjb25maWdzOiBBcnJheTx7IG5hbWU6IHN0cmluZzsgdmFsdWU6IENvbmZpZyB9Pikge1xuICBmb3IgKGNvbnN0IGNvbmZpZyBvZiBjb25maWdzKSB7XG4gICAgcHJvdmlkZShjb25maWcudmFsdWUsIGNvbmZpZy5uYW1lKTtcbiAgfVxufVxuXG4vKipcbiAqIEludm9rZWQgd2hlbiB0aGUgY29ubmVjdGl2aXR5IGlzIGNoYW5nZWQuXG4gKi9cbmZ1bmN0aW9uIGNvbm5lY3Rpdml0eUNoYW5nZWQoKSB7XG4gIGNvbnN0IG9ubGluZSA9IG5hdmlnYXRvci5vbkxpbmU7XG4gIC8vIE5CIFdlIGRvIG5vdCB3YWl0IGZvciB0aGlzIHRvIGJlIGRvbmU7IGl0IGlzIHNpbXBseSBzY2hlZHVsZWRcbiAgdHJpZ2dlckFwcENoYW5nZSgpO1xuXG4gIGRpc3BhdGNoQ29ubmVjdGl2aXR5Q2hhbmdlZChvbmxpbmUpO1xuICBzaG93VG9hc3Qoe1xuICAgIGNyaXRpY2FsOiB0cnVlLFxuICAgIGRlc2NyaXB0aW9uOiBgQ29ubmVjdGlvbjogJHtvbmxpbmUgPyBcIm9ubGluZVwiIDogXCJvZmZsaW5lXCJ9YCxcbiAgICB0aXRsZTogXCJBcHBcIixcbiAgICBraW5kOiBvbmxpbmUgPyBcInN1Y2Nlc3NcIiA6IFwid2FybmluZ1wiLFxuICB9KTtcbn1cblxuLyoqXG4gKiBSdW5zIHRoZSBzaGVsbCBieSBpbXBvcnRpbmcgdGhlIHRyYW5zbGF0aW9ucyBhbmQgc3RhcnRpbmcgc2luZ2xlIFNQQS5cbiAqL1xuZnVuY3Rpb24gcnVuU2hlbGwoKSB7XG4gIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwib2ZmbGluZVwiLCBjb25uZWN0aXZpdHlDaGFuZ2VkKTtcbiAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJvbmxpbmVcIiwgY29ubmVjdGl2aXR5Q2hhbmdlZCk7XG4gIHJldHVybiBzZXR1cEkxOG4oKVxuICAgIC5jYXRjaCgoZXJyKSA9PiBjb25zb2xlLmVycm9yKGBGYWlsZWQgdG8gaW5pdGlhbGl6ZSB0cmFuc2xhdGlvbnNgLCBlcnIpKVxuICAgIC50aGVuKCgpID0+IHN0YXJ0KCkpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBwcmVsb2FkU2NyaXB0cygpIHtcbiAgY29uc3QgWywgaW1wb3J0TWFwXSA9IGF3YWl0IFByb21pc2UuYWxsKFtcbiAgICB3aW5kb3dbUkVHSVNUUkFUSU9OX1BST01JU0VTXSxcbiAgICBnZXRDdXJyZW50SW1wb3J0TWFwKCksXG4gIF0pO1xuXG4gIHdpbmRvdy5pbnN0YWxsZWRNb2R1bGVzLm1hcChhc3luYyAoW21vZHVsZV0pID0+IHtcbiAgICAvLyB3ZSBzaW1wbHkgc3dhbGxvdyB0aGUgZXJyb3IgaGVyZSBzaW5jZSB0aGlzIGlzIG9ubHkgYSBwcmVsb2FkXG4gICAgaW1wb3J0RHluYW1pYyhtb2R1bGUsIHVuZGVmaW5lZCwgeyBpbXBvcnRNYXAgfSkuY2F0Y2goKTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGhhbmRsZUluaXRGYWlsdXJlKGU6IEVycm9yKSB7XG4gIGNvbnNvbGUuZXJyb3IoZSk7XG4gIHJlbmRlckZhdGFsRXJyb3JQYWdlKGUpO1xufVxuXG5mdW5jdGlvbiByZW5kZXJGYXRhbEVycm9yUGFnZShlPzogRXJyb3IpIHtcbiAgY29uc3QgdGVtcGxhdGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yPEhUTUxUZW1wbGF0ZUVsZW1lbnQ+KFwiI2FwcC1lcnJvclwiKTtcblxuICBpZiAodGVtcGxhdGUpIHtcbiAgICBjb25zdCBmcmFnbWVudCA9IHRlbXBsYXRlLmNvbnRlbnQuY2xvbmVOb2RlKHRydWUpIGFzIERvY3VtZW50RnJhZ21lbnQ7XG4gICAgY29uc3QgbWVzc2FnZUNvbnRhaW5lciA9IGZyYWdtZW50LnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLXZhcj1cIm1lc3NhZ2VcIl0nKTtcblxuICAgIGlmIChtZXNzYWdlQ29udGFpbmVyKSB7XG4gICAgICBtZXNzYWdlQ29udGFpbmVyLnRleHRDb250ZW50ID1cbiAgICAgICAgZT8ubWVzc2FnZSB8fCBcIk5vIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gYXZhaWxhYmxlLlwiO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwib3Blbm1yczpkZXZ0b29sc1wiKSAmJlxuICAgICAgT2JqZWN0LmtleXMobG9jYWxTdG9yYWdlKS5zb21lKChrKSA9PlxuICAgICAgICBrLnN0YXJ0c1dpdGgoXCJpbXBvcnQtbWFwLW92ZXJyaWRlOlwiKVxuICAgICAgKVxuICAgICkge1xuICAgICAgY29uc3QgYXBwRXJyb3JBY3Rpb25CdXR0b25zID0gZnJhZ21lbnQ/LnF1ZXJ5U2VsZWN0b3IoXCIjYnV0dG9uc1wiKTtcbiAgICAgIGlmIChhcHBFcnJvckFjdGlvbkJ1dHRvbnMpIHtcbiAgICAgICAgY29uc3QgY2xlYXJEZXZPdmVycmlkZXNCdXR0b24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiYnV0dG9uXCIpO1xuICAgICAgICBjbGVhckRldk92ZXJyaWRlc0J1dHRvbi5jbGFzc05hbWUgPSBcImNkcy0tYnRuXCI7XG4gICAgICAgIGNsZWFyRGV2T3ZlcnJpZGVzQnV0dG9uLmlubmVySFRNTCA9IFwiQ2xlYXIgZGV2IG92ZXJyaWRlc1wiO1xuICAgICAgICBjbGVhckRldk92ZXJyaWRlc0J1dHRvbi5vbmNsaWNrID0gY2xlYXJEZXZPdmVycmlkZXM7XG4gICAgICAgIGFwcEVycm9yQWN0aW9uQnV0dG9ucy5hcHBlbmRDaGlsZChjbGVhckRldk92ZXJyaWRlc0J1dHRvbik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChmcmFnbWVudCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gY2xlYXJEZXZPdmVycmlkZXMoKSB7XG4gIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKGxvY2FsU3RvcmFnZSkpIHtcbiAgICBpZiAoXG4gICAgICBrZXkuc3RhcnRzV2l0aChcImltcG9ydC1tYXAtb3ZlcnJpZGU6XCIpICYmXG4gICAgICAhW1wiaW1wb3J0LW1hcC1vdmVycmlkZTpyZWFjdFwiLCBcImltcG9ydC1tYXAtb3ZlcnJpZGU6cmVhY3QtZG9tXCJdLmluY2x1ZGVzKFxuICAgICAgICBrZXlcbiAgICAgIClcbiAgICApIHtcbiAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGtleSk7XG4gICAgfVxuICB9XG4gIGxvY2F0aW9uLnJlbG9hZCgpO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVDb25maWdMb2FkZXIoY29uZmlnVXJsczogQXJyYXk8c3RyaW5nPikge1xuICBjb25zdCBsb2FkaW5nQ29uZmlncyA9IFByb21pc2UuYWxsKFxuICAgIGNvbmZpZ1VybHMubWFwKChjb25maWdVcmwpID0+IHtcbiAgICAgIGNvbnN0IGludGVycG9sYXRlZFVybCA9IGludGVycG9sYXRlVXJsKGNvbmZpZ1VybCk7XG4gICAgICByZXR1cm4gZmV0Y2goaW50ZXJwb2xhdGVkVXJsKVxuICAgICAgICAudGhlbigocmVzKSA9PiByZXMuanNvbigpKVxuICAgICAgICAudGhlbigoY29uZmlnKSA9PiAoe1xuICAgICAgICAgIG5hbWU6IGNvbmZpZ1VybCxcbiAgICAgICAgICB2YWx1ZTogY29uZmlnLFxuICAgICAgICB9KSlcbiAgICAgICAgLmNhdGNoKChlcnIpID0+IHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGBMb2FkaW5nIHRoZSBjb25maWcgZnJvbSBcIiR7Y29uZmlnVXJsfVwiIGZhaWxlZC5gLCBlcnIpO1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBuYW1lOiBjb25maWdVcmwsXG4gICAgICAgICAgICB2YWx1ZToge30sXG4gICAgICAgICAgfTtcbiAgICAgICAgfSk7XG4gICAgfSlcbiAgKTtcbiAgcmV0dXJuICgpID0+IGxvYWRpbmdDb25maWdzLnRoZW4obG9hZENvbmZpZ3MpO1xufVxuXG5mdW5jdGlvbiBzaG93Tm90aWZpY2F0aW9ucygpIHtcbiAgcmVuZGVySW5saW5lTm90aWZpY2F0aW9ucyhcbiAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLm9tcnMtaW5saW5lLW5vdGlmaWNhdGlvbnMtY29udGFpbmVyXCIpXG4gICk7XG4gIHJldHVybjtcbn1cblxuZnVuY3Rpb24gc2hvd0FjdGlvbmFibGVOb3RpZmljYXRpb25zKCkge1xuICByZW5kZXJBY3Rpb25hYmxlTm90aWZpY2F0aW9ucyhcbiAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLm9tcnMtYWN0aW9uYWJsZS1ub3RpZmljYXRpb25zLWNvbnRhaW5lclwiKVxuICApO1xufVxuXG5mdW5jdGlvbiBzaG93VG9hc3RzKCkge1xuICByZW5kZXJUb2FzdHMoZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIi5vbXJzLXRvYXN0cy1jb250YWluZXJcIikpO1xufVxuXG5mdW5jdGlvbiBzaG93TW9kYWxzKCkge1xuICByZW5kZXJNb2RhbHMoZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIi5vbXJzLW1vZGFscy1jb250YWluZXJcIikpO1xufVxuXG5mdW5jdGlvbiBzaG93TG9hZGluZ1NwaW5uZXIoKSB7XG4gIHJldHVybiByZW5kZXJMb2FkaW5nU3Bpbm5lcihkb2N1bWVudC5ib2R5KTtcbn1cblxuLyoqXG4gKiBSZWdpc3RlcnMgdGhlIGV4dGVuc2lvbnMgY29taW5nIGZyb20gdGhlIGFwcCBzaGVsbCBpdHNlbGYuXG4gKi9cbmZ1bmN0aW9uIHJlZ2lzdGVyQ29yZUV4dGVuc2lvbnMoKSB7XG4gIGNvbnN0IGV4dGVuc2lvbnMgPSBnZXRDb3JlRXh0ZW5zaW9ucygpO1xuICBmb3IgKGNvbnN0IGV4dGVuc2lvbiBvZiBleHRlbnNpb25zKSB7XG4gICAgdHJ5UmVnaXN0ZXJFeHRlbnNpb24oYXBwTmFtZSwgZXh0ZW5zaW9uKTtcbiAgfVxufVxuXG5hc3luYyBmdW5jdGlvbiBzZXR1cE9mZmxpbmUoKSB7XG4gIHRyeSB7XG4gICAgYXdhaXQgcmVnaXN0ZXJPbXJzU2VydmljZVdvcmtlcihcbiAgICAgIGAke3dpbmRvdy5nZXRPcGVubXJzU3BhQmFzZSgpfXNlcnZpY2Utd29ya2VyLmpzYFxuICAgICk7XG4gICAgYXdhaXQgYWN0aXZhdGVPZmZsaW5lQ2FwYWJpbGl0eSgpO1xuICAgIHNldHVwT2ZmbGluZVN0YXRpY0RlcGVuZGVuY3lQcmVjYWNoaW5nKCk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgY29uc29sZS5lcnJvcihcIkVycm9yIHdoaWxlIHNldHRpbmcgdXAgb2ZmbGluZSBtb2RlLlwiLCBlcnJvcik7XG4gICAgc2hvd05vdGlmaWNhdGlvbih7XG4gICAgICBraW5kOiBcImVycm9yXCIsXG4gICAgICB0aXRsZTogXCJPZmZsaW5lIFNldHVwIEVycm9yXCIsXG4gICAgICBkZXNjcmlwdGlvbjogZXJyb3IubWVzc2FnZSxcbiAgICB9KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBzZXR1cE9mZmxpbmVTdGF0aWNEZXBlbmRlbmN5UHJlY2FjaGluZygpIHtcbiAgY29uc3QgcHJlY2FjaGVEZWxheSA9IDEwMDAgKiA2MCAqIDU7XG4gIGxldCBsYXN0UHJlY2FjaGU6IERhdGUgfCBudWxsID0gbnVsbDtcblxuICBzdWJzY3JpYmVPbmxpbmVBbmRMb2dpbkNoYW5nZSgob25saW5lLCBoYXNMb2dnZWRJblVzZXIpID0+IHtcbiAgICBjb25zdCBoYXNFeGNlZWRlZFByZWNhY2hlRGVsYXkgPVxuICAgICAgIWxhc3RQcmVjYWNoZSB8fFxuICAgICAgbmV3IERhdGUoKS5nZXRUaW1lKCkgLSBsYXN0UHJlY2FjaGUuZ2V0VGltZSgpID4gcHJlY2FjaGVEZWxheTtcblxuICAgIGlmIChoYXNMb2dnZWRJblVzZXIgJiYgb25saW5lICYmIGhhc0V4Y2VlZGVkUHJlY2FjaGVEZWxheSkge1xuICAgICAgbGFzdFByZWNhY2hlID0gbmV3IERhdGUoKTtcbiAgICAgIGRpc3BhdGNoUHJlY2FjaGVTdGF0aWNEZXBlbmRlbmNpZXMoKTtcbiAgICB9XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBzdWJzY3JpYmVPbmxpbmVBbmRMb2dpbkNoYW5nZShcbiAgY2I6IChvbmxpbmU6IGJvb2xlYW4sIGhhc0xvZ2dlZEluVXNlcjogYm9vbGVhbikgPT4gdm9pZFxuKSB7XG4gIGxldCBpc09ubGluZSA9IGZhbHNlO1xuICBsZXQgaGFzTG9nZ2VkSW5Vc2VyID0gZmFsc2U7XG5cbiAgZ2V0Q3VycmVudFVzZXIoeyBpbmNsdWRlQXV0aFN0YXR1czogZmFsc2UgfSkuc3Vic2NyaWJlKCh1c2VyKSA9PiB7XG4gICAgaGFzTG9nZ2VkSW5Vc2VyID0gISF1c2VyO1xuICAgIGNiKGlzT25saW5lLCBoYXNMb2dnZWRJblVzZXIpO1xuICB9KTtcblxuICBzdWJzY3JpYmVDb25uZWN0aXZpdHkoKHsgb25saW5lIH0pID0+IHtcbiAgICBpc09ubGluZSA9IG9ubGluZTtcbiAgICBjYihvbmxpbmUsIGhhc0xvZ2dlZEluVXNlcik7XG4gIH0pO1xufVxuXG5hc3luYyBmdW5jdGlvbiBwcmVjYWNoZUdsb2JhbFN0YXRpY0RlcGVuZGVuY2llcygpIHtcbiAgYXdhaXQgcHJlY2FjaGVJbXBvcnRNYXAoKTtcblxuICAvLyBCeSBkZWZhdWx0LCBjYWNoZSB0aGUgc2Vzc2lvbiBlbmRwb2ludC5cbiAgLy8gVGhpcyBlbnN1cmVzIHRoYXQgYSBsb3Qgb2YgdXNlci9zZXNzaW9uIHJlbGF0ZWQgZnVuY3Rpb25zIGFsc28gd29yayBvZmZsaW5lLlxuICBjb25zdCBzZXNzaW9uUGF0aFVybCA9IG5ldyBVUkwoXG4gICAgYCR7d2luZG93Lm9wZW5tcnNCYXNlfS93cy9yZXN0L3YxL3Nlc3Npb25gLFxuICAgIHdpbmRvdy5sb2NhdGlvbi5vcmlnaW5cbiAgKS5ocmVmO1xuXG4gIGF3YWl0IG1lc3NhZ2VPbXJzU2VydmljZVdvcmtlcih7XG4gICAgdHlwZTogXCJyZWdpc3RlckR5bmFtaWNSb3V0ZVwiLFxuICAgIHVybDogc2Vzc2lvblBhdGhVcmwsXG4gICAgc3RyYXRlZ3k6IFwibmV0d29yay1maXJzdFwiLFxuICB9KTtcblxuICBhd2FpdCBvcGVubXJzRmV0Y2goXCIvd3MvcmVzdC92MS9zZXNzaW9uXCIpLmNhdGNoKChlKSA9PlxuICAgIGNvbnNvbGUud2FybihcbiAgICAgIFwiRmFpbGVkIHRvIHByZWNhY2hlIHRoZSB1c2VyIHNlc3Npb24gZGF0YSBmcm9tIHRoZSBhcHAgc2hlbGwuIE1GcyBkZXBlbmRpbmcgb24gdGhpcyBkYXRhIG1heSBydW4gaW50byBwcm9ibGVtcyB3aGlsZSBvZmZsaW5lLlwiLFxuICAgICAgZVxuICAgIClcbiAgKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gcHJlY2FjaGVJbXBvcnRNYXAoKSB7XG4gIGNvbnN0IGltcG9ydE1hcCA9IGF3YWl0IHdpbmRvdy5pbXBvcnRNYXBPdmVycmlkZXMuZ2V0Q3VycmVudFBhZ2VNYXAoKTtcbiAgYXdhaXQgbWVzc2FnZU9tcnNTZXJ2aWNlV29ya2VyKHtcbiAgICB0eXBlOiBcIm9uSW1wb3J0TWFwQ2hhbmdlZFwiLFxuICAgIGltcG9ydE1hcCxcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIHNldHVwT2ZmbGluZUNzc0NsYXNzZXMoKSB7XG4gIHN1YnNjcmliZUNvbm5lY3Rpdml0eSgoeyBvbmxpbmUgfSkgPT4ge1xuICAgIGNvbnN0IGJvZHkgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiYm9keVwiKSE7XG4gICAgaWYgKG9ubGluZSkge1xuICAgICAgYm9keS5jbGFzc0xpc3QucmVtb3ZlKFwib21ycy1vZmZsaW5lXCIpO1xuICAgIH0gZWxzZSB7XG4gICAgICBib2R5LmNsYXNzTGlzdC5hZGQoXCJvbXJzLW9mZmxpbmVcIik7XG4gICAgfVxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJ1bihjb25maWdVcmxzOiBBcnJheTxzdHJpbmc+LCBvZmZsaW5lOiBib29sZWFuKSB7XG4gIGNvbnN0IGNsb3NlTG9hZGluZyA9IHNob3dMb2FkaW5nU3Bpbm5lcigpO1xuICBjb25zdCBwcm92aWRlQ29uZmlncyA9IGNyZWF0ZUNvbmZpZ0xvYWRlcihjb25maWdVcmxzKTtcblxuICBpbnRlZ3JhdGVCcmVha3BvaW50cygpO1xuICBzaG93VG9hc3RzKCk7XG4gIHNob3dNb2RhbHMoKTtcbiAgc2hvd05vdGlmaWNhdGlvbnMoKTtcbiAgc2hvd0FjdGlvbmFibGVOb3RpZmljYXRpb25zKCk7XG4gIHN1YnNjcmliZU5vdGlmaWNhdGlvblNob3duKHNob3dOb3RpZmljYXRpb24pO1xuICBzdWJzY3JpYmVBY3Rpb25hYmxlTm90aWZpY2F0aW9uU2hvd24oc2hvd0FjdGlvbmFibGVOb3RpZmljYXRpb24pO1xuICBzdWJzY3JpYmVUb2FzdFNob3duKHNob3dUb2FzdCk7XG4gIHN1YnNjcmliZVByZWNhY2hlU3RhdGljRGVwZW5kZW5jaWVzKHByZWNhY2hlR2xvYmFsU3RhdGljRGVwZW5kZW5jaWVzKTtcbiAgc2V0dXBBcGlNb2R1bGUoKTtcbiAgcmVnaXN0ZXJDb3JlRXh0ZW5zaW9ucygpO1xuXG4gIHJldHVybiBzZXR1cEFwcHMoKVxuICAgIC50aGVuKGZpbmlzaFJlZ2lzdGVyaW5nQWxsQXBwcylcbiAgICAudGhlbihzZXR1cE9mZmxpbmVDc3NDbGFzc2VzKVxuICAgIC50aGVuKHByb3ZpZGVDb25maWdzKVxuICAgIC50aGVuKHJ1blNoZWxsKVxuICAgIC5jYXRjaChoYW5kbGVJbml0RmFpbHVyZSlcbiAgICAudGhlbihjbG9zZUxvYWRpbmcpXG4gICAgLnRoZW4ob2ZmbGluZSA/IHNldHVwT2ZmbGluZSA6IHVuZGVmaW5lZClcbiAgICAudGhlbihwcmVsb2FkU2NyaXB0cyk7XG59XG4iXSwibmFtZXMiOlsic3RhcnQiLCJ0cmlnZ2VyQXBwQ2hhbmdlIiwic2V0dXBBcGlNb2R1bGUiLCJyZW5kZXJMb2FkaW5nU3Bpbm5lciIsInByb3ZpZGUiLCJzaG93Tm90aWZpY2F0aW9uIiwic2hvd0FjdGlvbmFibGVOb3RpZmljYXRpb24iLCJzaG93VG9hc3QiLCJyZW5kZXJJbmxpbmVOb3RpZmljYXRpb25zIiwicmVuZGVyQWN0aW9uYWJsZU5vdGlmaWNhdGlvbnMiLCJyZW5kZXJUb2FzdHMiLCJpbnRlZ3JhdGVCcmVha3BvaW50cyIsImRpc3BhdGNoQ29ubmVjdGl2aXR5Q2hhbmdlZCIsInN1YnNjcmliZU5vdGlmaWNhdGlvblNob3duIiwic3Vic2NyaWJlQWN0aW9uYWJsZU5vdGlmaWNhdGlvblNob3duIiwic3Vic2NyaWJlVG9hc3RTaG93biIsInJlZ2lzdGVyT21yc1NlcnZpY2VXb3JrZXIiLCJtZXNzYWdlT21yc1NlcnZpY2VXb3JrZXIiLCJzdWJzY3JpYmVDb25uZWN0aXZpdHkiLCJnZXRDdXJyZW50VXNlciIsInJlbmRlck1vZGFscyIsImRpc3BhdGNoUHJlY2FjaGVTdGF0aWNEZXBlbmRlbmNpZXMiLCJhY3RpdmF0ZU9mZmxpbmVDYXBhYmlsaXR5Iiwic3Vic2NyaWJlUHJlY2FjaGVTdGF0aWNEZXBlbmRlbmNpZXMiLCJvcGVubXJzRmV0Y2giLCJpbnRlcnBvbGF0ZVVybCIsImdldEN1cnJlbnRJbXBvcnRNYXAiLCJpbXBvcnREeW5hbWljIiwiZmluaXNoUmVnaXN0ZXJpbmdBbGxBcHBzIiwicmVnaXN0ZXJBcHAiLCJ0cnlSZWdpc3RlckV4dGVuc2lvbiIsInNldHVwSTE4biIsImFwcE5hbWUiLCJnZXRDb3JlRXh0ZW5zaW9ucyIsIlJFR0lTVFJBVElPTl9QUk9NSVNFUyIsIlN5bWJvbCIsInNldHVwQXBwcyIsInNjcmlwdFRhZ3MiLCJwcm9taXNlcyIsImkiLCJyb3V0ZXMiLCJtb2R1bGVzIiwicmVnaXN0cmF0aW9uUHJvbWlzZXMiLCJkb2N1bWVudCIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJsZW5ndGgiLCJwdXNoIiwic2NyaXB0VGFnIiwiZSIsInVuZGVmaW5lZCIsInRleHRDb250ZW50IiwiSlNPTiIsInBhcnNlIiwic3JjIiwiZGF0YSIsImNvbnNvbGUiLCJlcnJvciIsIlByb21pc2UiLCJyZXNvbHZlIiwiaXRlbSIsImFsbCIsInJlZHVjZSIsImFjY3VtdWxhdGVkUm91dGVzIiwiT2JqZWN0IiwiZW50cmllcyIsIm1hcCIsIm1vZHVsZSIsIndpbmRvdyIsImluc3RhbGxlZE1vZHVsZXMiLCJsb2FkQ29uZmlncyIsImNvbmZpZ3MiLCJjb25maWciLCJ2YWx1ZSIsIm5hbWUiLCJjb25uZWN0aXZpdHlDaGFuZ2VkIiwib25saW5lIiwibmF2aWdhdG9yIiwib25MaW5lIiwiY3JpdGljYWwiLCJkZXNjcmlwdGlvbiIsInRpdGxlIiwia2luZCIsInJ1blNoZWxsIiwiYWRkRXZlbnRMaXN0ZW5lciIsImNhdGNoIiwiZXJyIiwidGhlbiIsInByZWxvYWRTY3JpcHRzIiwiaW1wb3J0TWFwIiwiaGFuZGxlSW5pdEZhaWx1cmUiLCJyZW5kZXJGYXRhbEVycm9yUGFnZSIsInRlbXBsYXRlIiwicXVlcnlTZWxlY3RvciIsImZyYWdtZW50IiwiY29udGVudCIsImNsb25lTm9kZSIsIm1lc3NhZ2VDb250YWluZXIiLCJtZXNzYWdlIiwibG9jYWxTdG9yYWdlIiwiZ2V0SXRlbSIsImtleXMiLCJzb21lIiwiayIsInN0YXJ0c1dpdGgiLCJhcHBFcnJvckFjdGlvbkJ1dHRvbnMiLCJjbGVhckRldk92ZXJyaWRlc0J1dHRvbiIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJpbm5lckhUTUwiLCJvbmNsaWNrIiwiY2xlYXJEZXZPdmVycmlkZXMiLCJhcHBlbmRDaGlsZCIsImJvZHkiLCJrZXkiLCJpbmNsdWRlcyIsInJlbW92ZUl0ZW0iLCJsb2NhdGlvbiIsInJlbG9hZCIsImNyZWF0ZUNvbmZpZ0xvYWRlciIsImNvbmZpZ1VybHMiLCJsb2FkaW5nQ29uZmlncyIsImNvbmZpZ1VybCIsImludGVycG9sYXRlZFVybCIsImZldGNoIiwicmVzIiwianNvbiIsInNob3dOb3RpZmljYXRpb25zIiwic2hvd0FjdGlvbmFibGVOb3RpZmljYXRpb25zIiwic2hvd1RvYXN0cyIsInNob3dNb2RhbHMiLCJzaG93TG9hZGluZ1NwaW5uZXIiLCJyZWdpc3RlckNvcmVFeHRlbnNpb25zIiwiZXh0ZW5zaW9ucyIsImV4dGVuc2lvbiIsInNldHVwT2ZmbGluZSIsImdldE9wZW5tcnNTcGFCYXNlIiwic2V0dXBPZmZsaW5lU3RhdGljRGVwZW5kZW5jeVByZWNhY2hpbmciLCJwcmVjYWNoZURlbGF5IiwibGFzdFByZWNhY2hlIiwic3Vic2NyaWJlT25saW5lQW5kTG9naW5DaGFuZ2UiLCJoYXNMb2dnZWRJblVzZXIiLCJoYXNFeGNlZWRlZFByZWNhY2hlRGVsYXkiLCJEYXRlIiwiZ2V0VGltZSIsImNiIiwiaXNPbmxpbmUiLCJpbmNsdWRlQXV0aFN0YXR1cyIsInN1YnNjcmliZSIsInVzZXIiLCJwcmVjYWNoZUdsb2JhbFN0YXRpY0RlcGVuZGVuY2llcyIsInNlc3Npb25QYXRoVXJsIiwicHJlY2FjaGVJbXBvcnRNYXAiLCJVUkwiLCJvcGVubXJzQmFzZSIsIm9yaWdpbiIsImhyZWYiLCJ0eXBlIiwidXJsIiwic3RyYXRlZ3kiLCJ3YXJuIiwiaW1wb3J0TWFwT3ZlcnJpZGVzIiwiZ2V0Q3VycmVudFBhZ2VNYXAiLCJzZXR1cE9mZmxpbmVDc3NDbGFzc2VzIiwiY2xhc3NMaXN0IiwicmVtb3ZlIiwiYWRkIiwicnVuIiwib2ZmbGluZSIsImNsb3NlTG9hZGluZyIsInByb3ZpZGVDb25maWdzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/run.ts\n");
|
|
52
49
|
|
|
53
50
|
/***/ }),
|
|
@@ -58,19 +55,8 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
58
55
|
\*************************/
|
|
59
56
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
60
57
|
|
|
61
|
-
"use strict";
|
|
62
58
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ appName: () => (/* binding */ appName),\n/* harmony export */ getCoreExtensions: () => (/* binding */ getCoreExtensions)\n/* harmony export */ });\n/* harmony import */ var _openmrs_esm_framework__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @openmrs/esm-framework */ \"webpack/sharing/consume/default/@openmrs/esm-framework/@openmrs/esm-framework\");\n/* harmony import */ var _openmrs_esm_framework__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_openmrs_esm_framework__WEBPACK_IMPORTED_MODULE_0__);\n\nvar appName = \"@openmrs/esm-app-shell\";\nfunction getCoreExtensions() {\n var options = {\n featureName: \"app-shell\",\n moduleName: appName\n };\n return [\n {\n name: \"breadcrumbs-widget\",\n slot: \"breadcrumbs-slot\",\n load: (0,_openmrs_esm_framework__WEBPACK_IMPORTED_MODULE_0__.getAsyncLifecycle)(function() {\n return __webpack_require__.e(/*! import() */ \"src_ui_breadcrumbs_tsx\").then(__webpack_require__.bind(__webpack_require__, /*! ./breadcrumbs */ \"./src/ui/breadcrumbs.tsx\"));\n }, options),\n online: true,\n offline: true\n }\n ];\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvdWkvaW5kZXgudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUEyRDtBQUVwRCxJQUFNQyxVQUFVLHlCQUF5QjtBQUV6QyxTQUFTQyxvQkFBb0I7SUFDbEMsSUFBTUMsVUFBVTtRQUNkQyxhQUFhO1FBQ2JDLFlBQVlKO0lBQ2Q7SUFFQSxPQUFPO1FBQ0w7WUFDRUssTUFBTTtZQUNOQyxNQUFNO1lBQ05DLE1BQU1SLHlFQUFpQkEsQ0FBQzt1QkFBTSxvS0FBdUI7ZUFBRUc7WUFDdkRNLFFBQVEsSUFBSTtZQUNaQyxTQUFTLElBQUk7UUFDZjtLQUNEO0FBQ0gsQ0FBQyIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi9zcmMvdWkvaW5kZXgudHM/OWJiYSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXRBc3luY0xpZmVjeWNsZSB9IGZyb20gXCJAb3Blbm1ycy9lc20tZnJhbWV3b3JrXCI7XG5cbmV4cG9ydCBjb25zdCBhcHBOYW1lID0gXCJAb3Blbm1ycy9lc20tYXBwLXNoZWxsXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb3JlRXh0ZW5zaW9ucygpIHtcbiAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICBmZWF0dXJlTmFtZTogXCJhcHAtc2hlbGxcIixcbiAgICBtb2R1bGVOYW1lOiBhcHBOYW1lLFxuICB9O1xuXG4gIHJldHVybiBbXG4gICAge1xuICAgICAgbmFtZTogXCJicmVhZGNydW1icy13aWRnZXRcIixcbiAgICAgIHNsb3Q6IFwiYnJlYWRjcnVtYnMtc2xvdFwiLFxuICAgICAgbG9hZDogZ2V0QXN5bmNMaWZlY3ljbGUoKCkgPT4gaW1wb3J0KFwiLi9icmVhZGNydW1ic1wiKSwgb3B0aW9ucyksXG4gICAgICBvbmxpbmU6IHRydWUsXG4gICAgICBvZmZsaW5lOiB0cnVlLFxuICAgIH0sXG4gIF07XG59XG4iXSwibmFtZXMiOlsiZ2V0QXN5bmNMaWZlY3ljbGUiLCJhcHBOYW1lIiwiZ2V0Q29yZUV4dGVuc2lvbnMiLCJvcHRpb25zIiwiZmVhdHVyZU5hbWUiLCJtb2R1bGVOYW1lIiwibmFtZSIsInNsb3QiLCJsb2FkIiwib25saW5lIiwib2ZmbGluZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/ui/index.ts\n");
|
|
63
59
|
|
|
64
|
-
/***/ }),
|
|
65
|
-
|
|
66
|
-
/***/ "?d643":
|
|
67
|
-
/*!*******************************!*\
|
|
68
|
-
!*** ./lib/locales (ignored) ***!
|
|
69
|
-
\*******************************/
|
|
70
|
-
/***/ (() => {
|
|
71
|
-
|
|
72
|
-
/* (ignored) */
|
|
73
|
-
|
|
74
60
|
/***/ })
|
|
75
61
|
|
|
76
62
|
}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{"use strict";var e,r,t={988:(e,r,t)=>{(0,t(610).getAsyncLifecycle)((function(){return Promise.all([t.e(776),t.e(68)]).then(t.bind(t,68))}),{featureName:"devtools",moduleName:"@openmrs/esm-devtools-app"})}},o={};function n(e){var r=o[e];if(void 0!==r)return r.exports;var a=o[e]={id:e,loaded:!1,exports:{}};return t[e](a,a.exports,n),a.loaded=!0,a.exports}n.m=t,n.c=o,n.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return n.d(r,{a:r}),r},n.d=(e,r)=>{for(var t in r)n.o(r,t)&&!n.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((r,t)=>(n.f[t](e,r),r)),[])),n.u=e=>e+".js",n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},r="@openmrs/esm-devtools-app:",n.l=(t,o,a,i)=>{if(e[t])e[t].push(o);else{var l,u;if(void 0!==a)for(var s=document.getElementsByTagName("script"),p=0;p<s.length;p++){var f=s[p];if(f.getAttribute("src")==t||f.getAttribute("data-webpack")==r+a){l=f;break}}l||(u=!0,(l=document.createElement("script")).charset="utf-8",l.timeout=120,n.nc&&l.setAttribute("nonce",n.nc),l.setAttribute("data-webpack",r+a),l.src=t),e[t]=[o];var d=(r,o)=>{l.onerror=l.onload=null,clearTimeout(c);var n=e[t];if(delete e[t],l.parentNode&&l.parentNode.removeChild(l),n&&n.forEach((e=>e(o))),r)return r(o)},c=setTimeout(d.bind(null,void 0,{type:"timeout",target:l}),12e4);l.onerror=d.bind(null,l.onerror),l.onload=d.bind(null,l.onload),u&&document.head.appendChild(l)}},n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{n.S={};var e={},r={};n.I=(t,o)=>{o||(o=[]);var a=r[t];if(a||(a=r[t]={}),!(o.indexOf(a)>=0)){if(o.push(a),e[t])return e[t];n.o(n.S,t)||(n.S[t]={});var i=n.S[t],l="@openmrs/esm-devtools-app",u=(e,r,t,o)=>{var n=i[e]=i[e]||{},a=n[r];(!a||!a.loaded&&(!o!=!a.eager?o:l>a.from))&&(n[r]={get:t,from:l,eager:!!o})},s=[];return"default"===t&&(u("@openmrs/esm-framework","5.2.1-pre.
|
|
1
|
+
(()=>{"use strict";var e,r,t={988:(e,r,t)=>{(0,t(610).getAsyncLifecycle)((function(){return Promise.all([t.e(776),t.e(68)]).then(t.bind(t,68))}),{featureName:"devtools",moduleName:"@openmrs/esm-devtools-app"})}},o={};function n(e){var r=o[e];if(void 0!==r)return r.exports;var a=o[e]={id:e,loaded:!1,exports:{}};return t[e](a,a.exports,n),a.loaded=!0,a.exports}n.m=t,n.c=o,n.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return n.d(r,{a:r}),r},n.d=(e,r)=>{for(var t in r)n.o(r,t)&&!n.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((r,t)=>(n.f[t](e,r),r)),[])),n.u=e=>e+".js",n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},r="@openmrs/esm-devtools-app:",n.l=(t,o,a,i)=>{if(e[t])e[t].push(o);else{var l,u;if(void 0!==a)for(var s=document.getElementsByTagName("script"),p=0;p<s.length;p++){var f=s[p];if(f.getAttribute("src")==t||f.getAttribute("data-webpack")==r+a){l=f;break}}l||(u=!0,(l=document.createElement("script")).charset="utf-8",l.timeout=120,n.nc&&l.setAttribute("nonce",n.nc),l.setAttribute("data-webpack",r+a),l.src=t),e[t]=[o];var d=(r,o)=>{l.onerror=l.onload=null,clearTimeout(c);var n=e[t];if(delete e[t],l.parentNode&&l.parentNode.removeChild(l),n&&n.forEach((e=>e(o))),r)return r(o)},c=setTimeout(d.bind(null,void 0,{type:"timeout",target:l}),12e4);l.onerror=d.bind(null,l.onerror),l.onload=d.bind(null,l.onload),u&&document.head.appendChild(l)}},n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{n.S={};var e={},r={};n.I=(t,o)=>{o||(o=[]);var a=r[t];if(a||(a=r[t]={}),!(o.indexOf(a)>=0)){if(o.push(a),e[t])return e[t];n.o(n.S,t)||(n.S[t]={});var i=n.S[t],l="@openmrs/esm-devtools-app",u=(e,r,t,o)=>{var n=i[e]=i[e]||{},a=n[r];(!a||!a.loaded&&(!o!=!a.eager?o:l>a.from))&&(n[r]={get:t,from:l,eager:!!o})},s=[];return"default"===t&&(u("@openmrs/esm-framework","5.2.1-pre.1081",(()=>Promise.all([n.e(776),n.e(889)]).then((()=>()=>n(889))))),u("react","18.2.0",(()=>n.e(735).then((()=>()=>n(735)))))),e[t]=s.length?Promise.all(s).then((()=>e[t]=1)):1}}})(),(()=>{var e;n.g.importScripts&&(e=n.g.location+"");var r=n.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName("script");if(t.length)for(var o=t.length-1;o>-1&&!e;)e=t[o--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),n.p=e})(),(()=>{var e=e=>{var r=e=>e.split(".").map((e=>+e==e?+e:e)),t=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(e),o=t[1]?r(t[1]):[];return t[2]&&(o.length++,o.push.apply(o,r(t[2]))),t[3]&&(o.push([]),o.push.apply(o,r(t[3]))),o},r=e=>{var t=e[0],o="";if(1===e.length)return"*";if(t+.5){o+=0==t?">=":-1==t?"<":1==t?"^":2==t?"~":t>0?"=":"!=";for(var n=1,a=1;a<e.length;a++)n--,o+="u"==(typeof(l=e[a]))[0]?"-":(n>0?".":"")+(n=2,l);return o}var i=[];for(a=1;a<e.length;a++){var l=e[a];i.push(0===l?"not("+u()+")":1===l?"("+u()+" || "+u()+")":2===l?i.pop()+" "+i.pop():r(l))}return u();function u(){return i.pop().replace(/^\((.+)\)$/,"$1")}},t=(r,o)=>{if(0 in r){o=e(o);var n=r[0],a=n<0;a&&(n=-n-1);for(var i=0,l=1,u=!0;;l++,i++){var s,p,f=l<r.length?(typeof r[l])[0]:"";if(i>=o.length||"o"==(p=(typeof(s=o[i]))[0]))return!u||("u"==f?l>n&&!a:""==f!=a);if("u"==p){if(!u||"u"!=f)return!1}else if(u)if(f==p)if(l<=n){if(s!=r[l])return!1}else{if(a?s>r[l]:s<r[l])return!1;s!=r[l]&&(u=!1)}else if("s"!=f&&"n"!=f){if(a||l<=n)return!1;u=!1,l--}else{if(l<=n||p<f!=a)return!1;u=!1}else"s"!=f&&"n"!=f&&(u=!1,l--)}}var d=[],c=d.pop.bind(d);for(i=1;i<r.length;i++){var h=r[i];d.push(1==h?c()|c():2==h?c()&c():h?t(h,o):!c())}return!!c()},o=(r,t)=>{var o=r[t];return Object.keys(o).reduce(((r,t)=>!r||!o[r].loaded&&((r,t)=>{r=e(r),t=e(t);for(var o=0;;){if(o>=r.length)return o<t.length&&"u"!=(typeof t[o])[0];var n=r[o],a=(typeof n)[0];if(o>=t.length)return"u"==a;var i=t[o],l=(typeof i)[0];if(a!=l)return"o"==a&&"n"==l||"s"==l||"u"==a;if("o"!=a&&"u"!=a&&n!=i)return n<i;o++}})(r,t)?t:r),0)},a=(e,n,a,u)=>{var s=o(e,a);return t(u,s)||i(((e,t,o,n)=>"Unsatisfied version "+o+" from "+(o&&e[t][o].from)+" of shared singleton module "+t+" (required "+r(n)+")")(e,a,s,u)),l(e[a][s])},i=e=>{"undefined"!=typeof console&&console.warn&&console.warn(e)},l=e=>(e.loaded=1,e.get()),u=(e=>function(r,t,o,a){var i=n.I(r);return i&&i.then?i.then(e.bind(e,r,n.S[r],t,o,a)):e(r,n.S[r],t,o,a)})(((e,r,t,o,i)=>r&&n.o(r,t)?a(r,0,t,o):i())),s={},p={776:()=>u("default","react",[1,18],(()=>n.e(735).then((()=>()=>n(735))))),610:()=>u("default","@openmrs/esm-framework",[0],(()=>Promise.all([n.e(776),n.e(889)]).then((()=>()=>n(889)))))};[610].forEach((e=>{n.m[e]=r=>{s[e]=0,delete n.c[e];var t=p[e]();if("function"!=typeof t)throw new Error("Shared module is not available for eager consumption: "+e);r.exports=t()}}));var f={776:[776]};n.f.consumes=(e,r)=>{n.o(f,e)&&f[e].forEach((e=>{if(n.o(s,e))return r.push(s[e]);var t=r=>{s[e]=0,n.m[e]=t=>{delete n.c[e],t.exports=r()}},o=r=>{delete s[e],n.m[e]=t=>{throw delete n.c[e],r}};try{var a=p[e]();a.then?r.push(s[e]=a.then(t).catch(o)):t(a)}catch(e){o(e)}}))}})(),(()=>{var e={179:0,988:0};n.f.j=(r,t)=>{var o=n.o(e,r)?e[r]:void 0;if(0!==o)if(o)t.push(o[2]);else if(776!=r){var a=new Promise(((t,n)=>o=e[r]=[t,n]));t.push(o[2]=a);var i=n.p+n.u(r),l=new Error;n.l(i,(t=>{if(n.o(e,r)&&(0!==(o=e[r])&&(e[r]=void 0),o)){var a=t&&("load"===t.type?"missing":t.type),i=t&&t.target&&t.target.src;l.message="Loading chunk "+r+" failed.\n("+a+": "+i+")",l.name="ChunkLoadError",l.type=a,l.request=i,o[1](l)}}),"chunk-"+r,r)}else e[r]=0};var r=(r,t)=>{var o,a,[i,l,u]=t,s=0;if(i.some((r=>0!==e[r]))){for(o in l)n.o(l,o)&&(n.m[o]=l[o]);u&&u(n)}for(r&&r(t);s<i.length;s++)a=i[s],n.o(e,a)&&e[a]&&e[a][0](),e[a]=0},t=globalThis.webpackChunk_openmrs_esm_devtools_app=globalThis.webpackChunk_openmrs_esm_devtools_app||[];t.forEach(r.bind(null,0)),t.push=r.bind(null,t.push.bind(t))})(),n.nc=void 0,n(988)})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var _openmrs_esm_devtools_app;(()=>{"use strict";var e,r,t,o,n,a,i,l,s,u,p,f,d,c,h,v={466:(e,r,t)=>{var o={"./start":()=>t.e(988).then((()=>()=>t(988)))},n=(e,r)=>(t.R=r,r=t.o(o,e)?o[e]():Promise.resolve().then((()=>{throw new Error('Module "'+e+'" does not exist in container.')})),t.R=void 0,r),a=(e,r)=>{if(t.S){var o="default",n=t.S[o];if(n&&n!==e)throw new Error("Container initialization failed as it has already been initialized with a different share scope");return t.S[o]=e,t.I(o,r)}};t.d(r,{get:()=>n,init:()=>a})}},m={};function g(e){var r=m[e];if(void 0!==r)return r.exports;var t=m[e]={id:e,loaded:!1,exports:{}};return v[e](t,t.exports,g),t.loaded=!0,t.exports}g.m=v,g.c=m,g.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return g.d(r,{a:r}),r},g.d=(e,r)=>{for(var t in r)g.o(r,t)&&!g.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},g.f={},g.e=e=>Promise.all(Object.keys(g.f).reduce(((r,t)=>(g.f[t](e,r),r)),[])),g.u=e=>e+".js",g.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),g.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},r="@openmrs/esm-devtools-app:",g.l=(t,o,n,a)=>{if(e[t])e[t].push(o);else{var i,l;if(void 0!==n)for(var s=document.getElementsByTagName("script"),u=0;u<s.length;u++){var p=s[u];if(p.getAttribute("src")==t||p.getAttribute("data-webpack")==r+n){i=p;break}}i||(l=!0,(i=document.createElement("script")).charset="utf-8",i.timeout=120,g.nc&&i.setAttribute("nonce",g.nc),i.setAttribute("data-webpack",r+n),i.src=t),e[t]=[o];var f=(r,o)=>{i.onerror=i.onload=null,clearTimeout(d);var n=e[t];if(delete e[t],i.parentNode&&i.parentNode.removeChild(i),n&&n.forEach((e=>e(o))),r)return r(o)},d=setTimeout(f.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=f.bind(null,i.onerror),i.onload=f.bind(null,i.onload),l&&document.head.appendChild(i)}},g.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},g.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{g.S={};var e={},r={};g.I=(t,o)=>{o||(o=[]);var n=r[t];if(n||(n=r[t]={}),!(o.indexOf(n)>=0)){if(o.push(n),e[t])return e[t];g.o(g.S,t)||(g.S[t]={});var a=g.S[t],i="@openmrs/esm-devtools-app",l=(e,r,t,o)=>{var n=a[e]=a[e]||{},l=n[r];(!l||!l.loaded&&(!o!=!l.eager?o:i>l.from))&&(n[r]={get:t,from:i,eager:!!o})},s=[];return"default"===t&&(l("@openmrs/esm-framework","5.2.1-pre.
|
|
1
|
+
var _openmrs_esm_devtools_app;(()=>{"use strict";var e,r,t,o,n,a,i,l,s,u,p,f,d,c,h,v={466:(e,r,t)=>{var o={"./start":()=>t.e(988).then((()=>()=>t(988)))},n=(e,r)=>(t.R=r,r=t.o(o,e)?o[e]():Promise.resolve().then((()=>{throw new Error('Module "'+e+'" does not exist in container.')})),t.R=void 0,r),a=(e,r)=>{if(t.S){var o="default",n=t.S[o];if(n&&n!==e)throw new Error("Container initialization failed as it has already been initialized with a different share scope");return t.S[o]=e,t.I(o,r)}};t.d(r,{get:()=>n,init:()=>a})}},m={};function g(e){var r=m[e];if(void 0!==r)return r.exports;var t=m[e]={id:e,loaded:!1,exports:{}};return v[e](t,t.exports,g),t.loaded=!0,t.exports}g.m=v,g.c=m,g.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return g.d(r,{a:r}),r},g.d=(e,r)=>{for(var t in r)g.o(r,t)&&!g.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},g.f={},g.e=e=>Promise.all(Object.keys(g.f).reduce(((r,t)=>(g.f[t](e,r),r)),[])),g.u=e=>e+".js",g.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),g.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},r="@openmrs/esm-devtools-app:",g.l=(t,o,n,a)=>{if(e[t])e[t].push(o);else{var i,l;if(void 0!==n)for(var s=document.getElementsByTagName("script"),u=0;u<s.length;u++){var p=s[u];if(p.getAttribute("src")==t||p.getAttribute("data-webpack")==r+n){i=p;break}}i||(l=!0,(i=document.createElement("script")).charset="utf-8",i.timeout=120,g.nc&&i.setAttribute("nonce",g.nc),i.setAttribute("data-webpack",r+n),i.src=t),e[t]=[o];var f=(r,o)=>{i.onerror=i.onload=null,clearTimeout(d);var n=e[t];if(delete e[t],i.parentNode&&i.parentNode.removeChild(i),n&&n.forEach((e=>e(o))),r)return r(o)},d=setTimeout(f.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=f.bind(null,i.onerror),i.onload=f.bind(null,i.onload),l&&document.head.appendChild(i)}},g.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},g.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{g.S={};var e={},r={};g.I=(t,o)=>{o||(o=[]);var n=r[t];if(n||(n=r[t]={}),!(o.indexOf(n)>=0)){if(o.push(n),e[t])return e[t];g.o(g.S,t)||(g.S[t]={});var a=g.S[t],i="@openmrs/esm-devtools-app",l=(e,r,t,o)=>{var n=a[e]=a[e]||{},l=n[r];(!l||!l.loaded&&(!o!=!l.eager?o:i>l.from))&&(n[r]={get:t,from:i,eager:!!o})},s=[];return"default"===t&&(l("@openmrs/esm-framework","5.2.1-pre.1081",(()=>Promise.all([g.e(776),g.e(889)]).then((()=>()=>g(889))))),l("react","18.2.0",(()=>g.e(735).then((()=>()=>g(735)))))),e[t]=s.length?Promise.all(s).then((()=>e[t]=1)):1}}})(),(()=>{var e;g.g.importScripts&&(e=g.g.location+"");var r=g.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName("script");if(t.length)for(var o=t.length-1;o>-1&&!e;)e=t[o--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),g.p=e})(),t=e=>{var r=e=>e.split(".").map((e=>+e==e?+e:e)),t=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(e),o=t[1]?r(t[1]):[];return t[2]&&(o.length++,o.push.apply(o,r(t[2]))),t[3]&&(o.push([]),o.push.apply(o,r(t[3]))),o},o=(e,r)=>{e=t(e),r=t(r);for(var o=0;;){if(o>=e.length)return o<r.length&&"u"!=(typeof r[o])[0];var n=e[o],a=(typeof n)[0];if(o>=r.length)return"u"==a;var i=r[o],l=(typeof i)[0];if(a!=l)return"o"==a&&"n"==l||"s"==l||"u"==a;if("o"!=a&&"u"!=a&&n!=i)return n<i;o++}},n=e=>{var r=e[0],t="";if(1===e.length)return"*";if(r+.5){t+=0==r?">=":-1==r?"<":1==r?"^":2==r?"~":r>0?"=":"!=";for(var o=1,a=1;a<e.length;a++)o--,t+="u"==(typeof(l=e[a]))[0]?"-":(o>0?".":"")+(o=2,l);return t}var i=[];for(a=1;a<e.length;a++){var l=e[a];i.push(0===l?"not("+s()+")":1===l?"("+s()+" || "+s()+")":2===l?i.pop()+" "+i.pop():n(l))}return s();function s(){return i.pop().replace(/^\((.+)\)$/,"$1")}},a=(e,r)=>{if(0 in e){r=t(r);var o=e[0],n=o<0;n&&(o=-o-1);for(var i=0,l=1,s=!0;;l++,i++){var u,p,f=l<e.length?(typeof e[l])[0]:"";if(i>=r.length||"o"==(p=(typeof(u=r[i]))[0]))return!s||("u"==f?l>o&&!n:""==f!=n);if("u"==p){if(!s||"u"!=f)return!1}else if(s)if(f==p)if(l<=o){if(u!=e[l])return!1}else{if(n?u>e[l]:u<e[l])return!1;u!=e[l]&&(s=!1)}else if("s"!=f&&"n"!=f){if(n||l<=o)return!1;s=!1,l--}else{if(l<=o||p<f!=n)return!1;s=!1}else"s"!=f&&"n"!=f&&(s=!1,l--)}}var d=[],c=d.pop.bind(d);for(i=1;i<e.length;i++){var h=e[i];d.push(1==h?c()|c():2==h?c()&c():h?a(h,r):!c())}return!!c()},i=(e,r)=>{var t=e[r];return Object.keys(t).reduce(((e,r)=>!e||!t[e].loaded&&o(e,r)?r:e),0)},l=(e,r,t,o)=>"Unsatisfied version "+t+" from "+(t&&e[r][t].from)+" of shared singleton module "+r+" (required "+n(o)+")",s=(e,r,t,o)=>{var n=i(e,t);return a(o,n)||u(l(e,t,n,o)),p(e[t][n])},u=e=>{"undefined"!=typeof console&&console.warn&&console.warn(e)},p=e=>(e.loaded=1,e.get()),f=(e=>function(r,t,o,n){var a=g.I(r);return a&&a.then?a.then(e.bind(e,r,g.S[r],t,o,n)):e(0,g.S[r],t,o,n)})(((e,r,t,o,n)=>r&&g.o(r,t)?s(r,0,t,o):n())),d={},c={776:()=>f("default","react",[1,18],(()=>g.e(735).then((()=>()=>g(735))))),610:()=>f("default","@openmrs/esm-framework",[0],(()=>Promise.all([g.e(776),g.e(889)]).then((()=>()=>g(889)))))},h={776:[776],988:[610]},g.f.consumes=(e,r)=>{g.o(h,e)&&h[e].forEach((e=>{if(g.o(d,e))return r.push(d[e]);var t=r=>{d[e]=0,g.m[e]=t=>{delete g.c[e],t.exports=r()}},o=r=>{delete d[e],g.m[e]=t=>{throw delete g.c[e],r}};try{var n=c[e]();n.then?r.push(d[e]=n.then(t).catch(o)):t(n)}catch(e){o(e)}}))},(()=>{var e={64:0};g.f.j=(r,t)=>{var o=g.o(e,r)?e[r]:void 0;if(0!==o)if(o)t.push(o[2]);else if(776!=r){var n=new Promise(((t,n)=>o=e[r]=[t,n]));t.push(o[2]=n);var a=g.p+g.u(r),i=new Error;g.l(a,(t=>{if(g.o(e,r)&&(0!==(o=e[r])&&(e[r]=void 0),o)){var n=t&&("load"===t.type?"missing":t.type),a=t&&t.target&&t.target.src;i.message="Loading chunk "+r+" failed.\n("+n+": "+a+")",i.name="ChunkLoadError",i.type=n,i.request=a,o[1](i)}}),"chunk-"+r,r)}else e[r]=0};var r=(r,t)=>{var o,n,[a,i,l]=t,s=0;if(a.some((r=>0!==e[r]))){for(o in i)g.o(i,o)&&(g.m[o]=i[o]);l&&l(g)}for(r&&r(t);s<a.length;s++)n=a[s],g.o(e,n)&&e[n]&&e[n][0](),e[n]=0},t=globalThis.webpackChunk_openmrs_esm_devtools_app=globalThis.webpackChunk_openmrs_esm_devtools_app||[];t.forEach(r.bind(null,0)),t.push=r.bind(null,t.push.bind(t))})(),g.nc=void 0;var b=g(466);_openmrs_esm_devtools_app=b})();
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"auxiliaryFiles": [
|
|
25
25
|
"openmrs-esm-devtools-app.js.map"
|
|
26
26
|
],
|
|
27
|
-
"hash": "
|
|
27
|
+
"hash": "eb7ee7479fc65440",
|
|
28
28
|
"childrenByOrder": {}
|
|
29
29
|
},
|
|
30
30
|
{
|
|
@@ -76,7 +76,7 @@
|
|
|
76
76
|
"auxiliaryFiles": [
|
|
77
77
|
"main.js.map"
|
|
78
78
|
],
|
|
79
|
-
"hash": "
|
|
79
|
+
"hash": "2e7266f5614aabee",
|
|
80
80
|
"childrenByOrder": {}
|
|
81
81
|
},
|
|
82
82
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"$schema":"https://json.openmrs.org/routes.schema.json","pages":[{"component":"devtools","route":true,"online":true,"offline":true}],"version":"5.2.1-pre.
|
|
1
|
+
{"$schema":"https://json.openmrs.org/routes.schema.json","pages":[{"component":"devtools","route":true,"online":true,"offline":true}],"version":"5.2.1-pre.1081"}
|
package/lib/esm-login-app/111.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(globalThis.webpackChunk_openmrs_esm_login_app=globalThis.webpackChunk_openmrs_esm_login_app||[]).push([[111,173],{9111:(e,t,a)=>{a.r(t),a.d(t,{default:()=>d,infinite:()=>o,unstable_serialize:()=>c});var r=a(5776),n=a(4126),i=a(
|
|
1
|
+
"use strict";(globalThis.webpackChunk_openmrs_esm_login_app=globalThis.webpackChunk_openmrs_esm_login_app||[]).push([[111,173],{9111:(e,t,a)=>{a.r(t),a.d(t,{default:()=>d,infinite:()=>o,unstable_serialize:()=>c});var r=a(5776),n=a(4126),i=a(9133),l=a(1374);const s=e=>(0,i.serialize)(e?e(0,null):null)[0],c=e=>i.INFINITE_PREFIX+s(e),u=Promise.resolve(),o=e=>(t,a,n)=>{const c=(0,r.useRef)(!1),{cache:o,initialSize:d=1,revalidateAll:f=!1,persistSize:p=!1,revalidateFirstPage:_=!0,revalidateOnMount:h=!1,parallel:b=!1}=n,[,,,g]=i.SWRGlobalState.get(i.cache);let m;try{m=s(t),m&&(m=i.INFINITE_PREFIX+m)}catch(e){}const[C,k,I]=(0,i.createCacheHelper)(o,m),E=(0,r.useCallback)((()=>(0,i.isUndefined)(C()._l)?d:C()._l),[o,m,d]);(0,l.useSyncExternalStore)((0,r.useCallback)((e=>m?I(m,(()=>{e()})):()=>{}),[o,m]),E,E);const U=(0,r.useCallback)((()=>{const e=C()._l;return(0,i.isUndefined)(e)?d:e}),[m,d]),v=(0,r.useRef)(U());(0,i.useIsomorphicLayoutEffect)((()=>{c.current?m&&k({_l:p?v.current:U()}):c.current=!0}),[m,o]);const w=h&&!c.current,y=e(m,(async e=>{const r=C()._i,l=[],s=U(),[c]=(0,i.createCacheHelper)(o,e),u=c().data,d=[];let p=null;for(let e=0;e<s;++e){const[s,c]=(0,i.serialize)(t(e,b?null:p));if(!s)break;const[h,m]=(0,i.createCacheHelper)(o,s);let C=h().data;const k=f||r||(0,i.isUndefined)(C)||_&&!e&&!(0,i.isUndefined)(u)||w||u&&!(0,i.isUndefined)(u[e])&&!n.compare(u[e],C);if(a&&k){const t=async()=>{if(s in g){const e=g[s];delete g[s],C=await e}else C=await a(c);m({data:C,_k:c}),l[e]=C};b?d.push(t):await t()}else l[e]=C;b||(p=C)}return b&&await Promise.all(d.map((e=>e()))),k({_i:i.UNDEFINED}),l}),n),z=(0,r.useCallback)((function(e,t){const a="boolean"==typeof t?{revalidate:t}:t||{},r=!1!==a.revalidate;return m?(r&&((0,i.isUndefined)(e)?k({_i:!0}):k({_i:!1})),arguments.length?y.mutate(e,{...a,revalidate:r}):y.mutate()):u}),[m,o]),F=(0,r.useCallback)((e=>{if(!m)return u;const[,a]=(0,i.createCacheHelper)(o,m);let r;if((0,i.isFunction)(e)?r=e(U()):"number"==typeof e&&(r=e),"number"!=typeof r)return u;a({_l:r}),v.current=r;const n=[],[l]=(0,i.createCacheHelper)(o,m);let s=null;for(let e=0;e<r;++e){const[a]=(0,i.serialize)(t(e,s)),[r]=(0,i.createCacheHelper)(o,a),c=a?r().data:i.UNDEFINED;if((0,i.isUndefined)(c))return z(l().data);n.push(c),s=c}return z(n)}),[m,o,z,U]);return{size:U(),setSize:F,mutate:z,get data(){return y.data},get error(){return y.error},get isValidating(){return y.isValidating},get isLoading(){return y.isLoading}}},d=(0,i.withMiddleware)(n.ZP,o)}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"111.js","mappings":"
|
|
1
|
+
{"version":3,"file":"111.js","mappings":"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","sources":["webpack://@openmrs/esm-login-app/../../../node_modules/swr/infinite/dist/index.mjs"],"names":["getFirstPageKey","getKey","serialize","unstable_serialize","INFINITE_PREFIX","EMPTY_PROMISE","Promise","resolve","infinite","useSWRNext","fn","config","didMountRef","useRef","cache","cache$1","initialSize","revalidateAll","persistSize","revalidateFirstPage","revalidateOnMount","parallel","PRELOAD","SWRGlobalState","get","infiniteKey","err","set","subscribeCache","createCacheHelper","getSnapshot","useCallback","isUndefined","_l","useSyncExternalStore","callback","resolvePageSize","cachedPageSize","lastPageSizeRef","useIsomorphicLayoutEffect","current","shouldRevalidateOnMount","swr","async","key","forceRevalidateAll","_i","data","pageSize","getCache","cacheData","revalidators","previousPageData","i","pageKey","pageArg","getSWRCache","setSWRCache","pageData","shouldFetchPage","compare","revalidate","req","_k","push","all","map","r","UNDEFINED","mutate","opts","options","shouldRevalidate","arguments","length","setSize","arg","changeSize","size","isFunction","getInfiniteCache","error","isValidating","isLoading","useSWRInfinite","withMiddleware"],"sourceRoot":""}
|
package/lib/esm-login-app/126.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/*! For license information please see 126.js.LICENSE.txt */
|
|
2
|
-
"use strict";(globalThis.webpackChunk_openmrs_esm_login_app=globalThis.webpackChunk_openmrs_esm_login_app||[]).push([[126],{2173:(e,n,t)=>{var r=t(5776),i="function"==typeof Object.is?Object.is:function(e,n){return e===n&&(0!==e||1/e==1/n)||e!=e&&n!=n},s=r.useState,a=r.useEffect,u=r.useLayoutEffect,d=r.useDebugValue;function o(e){var n=e.getSnapshot;e=e.value;try{var t=n();return!i(e,t)}catch(e){return!0}}var c="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,n){return n()}:function(e,n){var t=n(),r=s({inst:{value:t,getSnapshot:n}}),i=r[0].inst,c=r[1];return u((function(){i.value=t,i.getSnapshot=n,o(i)&&c({inst:i})}),[e,t,n]),a((function(){return o(i)&&c({inst:i}),e((function(){o(i)&&c({inst:i})}))}),[e]),d(t),t};n.useSyncExternalStore=void 0!==r.useSyncExternalStore?r.useSyncExternalStore:c},1374:(e,n,t)=>{e.exports=t(2173)},4126:(e,n,t)=>{t.d(n,{JG:()=>s.mutate,ZP:()=>d});var r=t(5776),i=t(1374),s=t(
|
|
2
|
+
"use strict";(globalThis.webpackChunk_openmrs_esm_login_app=globalThis.webpackChunk_openmrs_esm_login_app||[]).push([[126],{2173:(e,n,t)=>{var r=t(5776),i="function"==typeof Object.is?Object.is:function(e,n){return e===n&&(0!==e||1/e==1/n)||e!=e&&n!=n},s=r.useState,a=r.useEffect,u=r.useLayoutEffect,d=r.useDebugValue;function o(e){var n=e.getSnapshot;e=e.value;try{var t=n();return!i(e,t)}catch(e){return!0}}var c="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,n){return n()}:function(e,n){var t=n(),r=s({inst:{value:t,getSnapshot:n}}),i=r[0].inst,c=r[1];return u((function(){i.value=t,i.getSnapshot=n,o(i)&&c({inst:i})}),[e,t,n]),a((function(){return o(i)&&c({inst:i}),e((function(){o(i)&&c({inst:i})}))}),[e]),d(t),t};n.useSyncExternalStore=void 0!==r.useSyncExternalStore?r.useSyncExternalStore:c},1374:(e,n,t)=>{e.exports=t(2173)},4126:(e,n,t)=>{t.d(n,{JG:()=>s.mutate,ZP:()=>d});var r=t(5776),i=t(1374),s=t(9133);const a=r.use||(e=>{if("pending"===e.status)throw e;if("fulfilled"===e.status)return e.value;throw"rejected"===e.status?e.reason:(e.status="pending",e.then((n=>{e.status="fulfilled",e.value=n}),(n=>{e.status="rejected",e.reason=n})),e)}),u={dedupe:!0},d=(s.OBJECT.defineProperty(s.SWRConfig,"defaultValue",{value:s.defaultConfig}),(0,s.withArgs)(((e,n,t)=>{const{cache:d,compare:o,suspense:c,fallbackData:l,revalidateOnMount:f,revalidateIfStale:E,refreshInterval:g,refreshWhenHidden:v,refreshWhenOffline:h,keepPreviousData:p}=t,[R,S,U,m]=s.SWRGlobalState.get(d),[T,V]=(0,s.serialize)(e),_=(0,r.useRef)(!1),b=(0,r.useRef)(!1),C=(0,r.useRef)(T),w=(0,r.useRef)(n),y=(0,r.useRef)(t),L=()=>y.current,I=()=>L().isVisible()&&L().isOnline(),[O,k,D,A]=(0,s.createCacheHelper)(d,T),N=(0,r.useRef)({}).current,F=(0,s.isUndefined)(l)?t.fallback[T]:l,P=(e,n)=>{for(const t in N){const r=t;if("data"===r){if(!o(e[r],n[r])){if(!(0,s.isUndefined)(e[r]))return!1;if(!o(q,n[r]))return!1}}else if(n[r]!==e[r])return!1}return!0},j=(0,r.useMemo)((()=>{const e=!!T&&!!n&&((0,s.isUndefined)(f)?!L().isPaused()&&!c&&(!!(0,s.isUndefined)(E)||E):f),t=n=>{const t=(0,s.mergeObjects)(n);return delete t._k,e?{isValidating:!0,isLoading:!0,...t}:t},r=O(),i=A(),a=t(r),u=r===i?a:t(i);let d=a;return[()=>{const e=t(O());return P(e,d)?(d.data=e.data,d.isLoading=e.isLoading,d.isValidating=e.isValidating,d.error=e.error,d):(d=e,e)},()=>u]}),[d,T]),x=(0,i.useSyncExternalStore)((0,r.useCallback)((e=>D(T,((n,t)=>{P(t,n)||e()}))),[d,T]),j[0],j[1]),G=!_.current,M=R[T]&&R[T].length>0,W=x.data,H=(0,s.isUndefined)(W)?F:W,J=x.error,Y=(0,r.useRef)(H),q=p?(0,s.isUndefined)(W)?Y.current:W:H,z=!(M&&!(0,s.isUndefined)(J))&&(G&&!(0,s.isUndefined)(f)?f:!L().isPaused()&&(c?!(0,s.isUndefined)(H)&&E:(0,s.isUndefined)(H)||E)),B=!!(T&&n&&G&&z),Z=(0,s.isUndefined)(x.isValidating)?B:x.isValidating,K=(0,s.isUndefined)(x.isLoading)?B:x.isLoading,Q=(0,r.useCallback)((async e=>{const n=w.current;if(!T||!n||b.current||L().isPaused())return!1;let r,i,a=!0;const u=e||{},d=!U[T]||!u.dedupe,c=()=>s.IS_REACT_LEGACY?!b.current&&T===C.current&&_.current:T===C.current,l={isValidating:!1,isLoading:!1},f=()=>{k(l)},E=()=>{const e=U[T];e&&e[1]===i&&delete U[T]},g={isValidating:!0};(0,s.isUndefined)(O().data)&&(g.isLoading=!0);try{if(d&&(k(g),t.loadingTimeout&&(0,s.isUndefined)(O().data)&&setTimeout((()=>{a&&c()&&L().onLoadingSlow(T,t)}),t.loadingTimeout),U[T]=[n(V),(0,s.getTimestamp)()]),[r,i]=U[T],r=await r,d&&setTimeout(E,t.dedupingInterval),!U[T]||U[T][1]!==i)return d&&c()&&L().onDiscarded(T),!1;l.error=s.UNDEFINED;const e=S[T];if(!(0,s.isUndefined)(e)&&(i<=e[0]||i<=e[1]||0===e[1]))return f(),d&&c()&&L().onDiscarded(T),!1;const u=O().data;l.data=o(u,r)?u:r,d&&c()&&L().onSuccess(r,T,t)}catch(e){E();const n=L(),{shouldRetryOnError:t}=n;n.isPaused()||(l.error=e,d&&c()&&(n.onError(e,T,n),(!0===t||(0,s.isFunction)(t)&&t(e))&&I()&&n.onErrorRetry(e,T,n,(e=>{const n=R[T];n&&n[0]&&n[0](s.revalidateEvents.ERROR_REVALIDATE_EVENT,e)}),{retryCount:(u.retryCount||0)+1,dedupe:!0})))}return a=!1,f(),!0}),[T,d]),X=(0,r.useCallback)(((...e)=>(0,s.internalMutate)(d,C.current,...e)),[]);if((0,s.useIsomorphicLayoutEffect)((()=>{w.current=n,y.current=t,(0,s.isUndefined)(W)||(Y.current=W)})),(0,s.useIsomorphicLayoutEffect)((()=>{if(!T)return;const e=Q.bind(s.UNDEFINED,u);let n=0;const t=(0,s.subscribeCallback)(T,R,((t,r={})=>{if(t==s.revalidateEvents.FOCUS_EVENT){const t=Date.now();L().revalidateOnFocus&&t>n&&I()&&(n=t+L().focusThrottleInterval,e())}else if(t==s.revalidateEvents.RECONNECT_EVENT)L().revalidateOnReconnect&&I()&&e();else{if(t==s.revalidateEvents.MUTATE_EVENT)return Q();if(t==s.revalidateEvents.ERROR_REVALIDATE_EVENT)return Q(r)}}));return b.current=!1,C.current=T,_.current=!0,k({_k:V}),z&&((0,s.isUndefined)(H)||s.IS_SERVER?e():(0,s.rAF)(e)),()=>{b.current=!0,t()}}),[T]),(0,s.useIsomorphicLayoutEffect)((()=>{let e;function n(){const n=(0,s.isFunction)(g)?g(O().data):g;n&&-1!==e&&(e=setTimeout(t,n))}function t(){O().error||!v&&!L().isVisible()||!h&&!L().isOnline()?n():Q(u).then(n)}return n(),()=>{e&&(clearTimeout(e),e=-1)}}),[g,v,h,T]),(0,r.useDebugValue)(q),c&&(0,s.isUndefined)(H)&&T){if(!s.IS_REACT_LEGACY&&s.IS_SERVER)throw new Error("Fallback data is required when using suspense in SSR.");w.current=n,y.current=t,b.current=!1;const e=m[T];if(!(0,s.isUndefined)(e)){const n=X(e);a(n)}if(!(0,s.isUndefined)(J))throw J;{const e=Q(u);(0,s.isUndefined)(q)||(e.status="fulfilled",e.value=!0),a(e)}}return{mutate:X,get data(){return N.data=!0,q},get error(){return N.error=!0,J},get isValidating(){return N.isValidating=!0,Z},get isLoading(){return N.isLoading=!0,K}}})))}}]);
|