@openmrs/esm-app-shell 8.0.1-pre.3600 → 8.0.1-pre.3603

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.
Files changed (124) hide show
  1. package/.turbo/turbo-build.log +8 -8
  2. package/dist/{23855a172d2754a0.js.map → 85f5e2798da8f5b0.js.map} +1 -1
  3. package/dist/index.html +1 -1
  4. package/dist/{openmrs.18937e4537da55d9.js → openmrs.0cb61ea3ffc33ff4.js} +1 -1
  5. package/dist/{openmrs.18937e4537da55d9.js.map → openmrs.0cb61ea3ffc33ff4.js.map} +1 -1
  6. package/dist/service-worker.js +1 -1
  7. package/lib/{c32d51c438a3bfbb.js → 90345dd746a06288.js} +1 -1
  8. package/lib/{feb3e479e9074b99.js → 9982ec8c530a6a15.js} +1 -1
  9. package/lib/{cbde66d3dd17897a.js → a87b78e1b2a3f765.js} +1 -1
  10. package/lib/esm-devtools-app/main.js +1 -1
  11. package/lib/esm-devtools-app/openmrs-esm-devtools-app.js +1 -1
  12. package/lib/esm-devtools-app/openmrs-esm-devtools-app.js.buildmanifest.json +5 -5
  13. package/lib/esm-devtools-app/routes.json +1 -1
  14. package/lib/esm-help-menu-app/main.js +1 -1
  15. package/lib/esm-help-menu-app/openmrs-esm-help-menu-app.js +1 -1
  16. package/lib/esm-help-menu-app/openmrs-esm-help-menu-app.js.buildmanifest.json +5 -5
  17. package/lib/esm-help-menu-app/routes.json +1 -1
  18. package/lib/esm-implementer-tools-app/main.js +1 -1
  19. package/lib/esm-implementer-tools-app/openmrs-esm-implementer-tools-app.js +1 -1
  20. package/lib/esm-implementer-tools-app/openmrs-esm-implementer-tools-app.js.buildmanifest.json +5 -5
  21. package/lib/esm-implementer-tools-app/routes.json +1 -1
  22. package/lib/esm-login-app/main.js +1 -1
  23. package/lib/esm-login-app/main.js.map +1 -1
  24. package/lib/esm-login-app/openmrs-esm-login-app.js +1 -1
  25. package/lib/esm-login-app/openmrs-esm-login-app.js.buildmanifest.json +5 -5
  26. package/lib/esm-login-app/openmrs-esm-login-app.js.map +1 -1
  27. package/lib/esm-login-app/routes.json +1 -1
  28. package/lib/esm-offline-tools-app/main.js +1 -1
  29. package/lib/esm-offline-tools-app/openmrs-esm-offline-tools-app.js +1 -1
  30. package/lib/esm-offline-tools-app/openmrs-esm-offline-tools-app.js.buildmanifest.json +5 -5
  31. package/lib/esm-offline-tools-app/routes.json +1 -1
  32. package/lib/index.html +2 -2
  33. package/lib/openmrs.js +11 -11
  34. package/lib/service-worker.js +1 -1
  35. package/package.json +3 -3
  36. package/lib/esm-primary-navigation-app/1119.js +0 -1
  37. package/lib/esm-primary-navigation-app/1197.js +0 -1
  38. package/lib/esm-primary-navigation-app/1296.js +0 -1
  39. package/lib/esm-primary-navigation-app/1296.js.map +0 -1
  40. package/lib/esm-primary-navigation-app/2106.js +0 -1
  41. package/lib/esm-primary-navigation-app/2106.js.map +0 -1
  42. package/lib/esm-primary-navigation-app/2146.js +0 -1
  43. package/lib/esm-primary-navigation-app/2267.js +0 -1
  44. package/lib/esm-primary-navigation-app/2267.js.map +0 -1
  45. package/lib/esm-primary-navigation-app/2690.js +0 -1
  46. package/lib/esm-primary-navigation-app/2727.js +0 -2
  47. package/lib/esm-primary-navigation-app/2727.js.LICENSE.txt +0 -5
  48. package/lib/esm-primary-navigation-app/2727.js.map +0 -1
  49. package/lib/esm-primary-navigation-app/3099.js +0 -1
  50. package/lib/esm-primary-navigation-app/3584.js +0 -1
  51. package/lib/esm-primary-navigation-app/4055.js +0 -1
  52. package/lib/esm-primary-navigation-app/4132.js +0 -1
  53. package/lib/esm-primary-navigation-app/4300.js +0 -1
  54. package/lib/esm-primary-navigation-app/4335.js +0 -1
  55. package/lib/esm-primary-navigation-app/439.js +0 -1
  56. package/lib/esm-primary-navigation-app/4618.js +0 -1
  57. package/lib/esm-primary-navigation-app/4652.js +0 -1
  58. package/lib/esm-primary-navigation-app/4716.js +0 -1
  59. package/lib/esm-primary-navigation-app/4716.js.map +0 -1
  60. package/lib/esm-primary-navigation-app/4740.js +0 -2
  61. package/lib/esm-primary-navigation-app/4740.js.LICENSE.txt +0 -5
  62. package/lib/esm-primary-navigation-app/4740.js.map +0 -1
  63. package/lib/esm-primary-navigation-app/4944.js +0 -1
  64. package/lib/esm-primary-navigation-app/5173.js +0 -1
  65. package/lib/esm-primary-navigation-app/523.js +0 -2
  66. package/lib/esm-primary-navigation-app/523.js.LICENSE.txt +0 -39
  67. package/lib/esm-primary-navigation-app/523.js.map +0 -1
  68. package/lib/esm-primary-navigation-app/5241.js +0 -1
  69. package/lib/esm-primary-navigation-app/5442.js +0 -1
  70. package/lib/esm-primary-navigation-app/5623.js +0 -2
  71. package/lib/esm-primary-navigation-app/5623.js.LICENSE.txt +0 -19
  72. package/lib/esm-primary-navigation-app/5623.js.map +0 -1
  73. package/lib/esm-primary-navigation-app/5661.js +0 -1
  74. package/lib/esm-primary-navigation-app/5770.js +0 -2
  75. package/lib/esm-primary-navigation-app/5770.js.LICENSE.txt +0 -14
  76. package/lib/esm-primary-navigation-app/5770.js.map +0 -1
  77. package/lib/esm-primary-navigation-app/6022.js +0 -1
  78. package/lib/esm-primary-navigation-app/6326.js +0 -2
  79. package/lib/esm-primary-navigation-app/6326.js.LICENSE.txt +0 -9
  80. package/lib/esm-primary-navigation-app/6326.js.map +0 -1
  81. package/lib/esm-primary-navigation-app/6408.js +0 -2
  82. package/lib/esm-primary-navigation-app/6408.js.LICENSE.txt +0 -32
  83. package/lib/esm-primary-navigation-app/6408.js.map +0 -1
  84. package/lib/esm-primary-navigation-app/6468.js +0 -1
  85. package/lib/esm-primary-navigation-app/6537.js +0 -2
  86. package/lib/esm-primary-navigation-app/6537.js.LICENSE.txt +0 -5
  87. package/lib/esm-primary-navigation-app/6537.js.map +0 -1
  88. package/lib/esm-primary-navigation-app/6589.js +0 -1
  89. package/lib/esm-primary-navigation-app/6679.js +0 -1
  90. package/lib/esm-primary-navigation-app/6840.js +0 -1
  91. package/lib/esm-primary-navigation-app/6859.js +0 -1
  92. package/lib/esm-primary-navigation-app/7097.js +0 -1
  93. package/lib/esm-primary-navigation-app/7159.js +0 -1
  94. package/lib/esm-primary-navigation-app/723.js +0 -1
  95. package/lib/esm-primary-navigation-app/7617.js +0 -1
  96. package/lib/esm-primary-navigation-app/7798.js +0 -2
  97. package/lib/esm-primary-navigation-app/7798.js.LICENSE.txt +0 -24
  98. package/lib/esm-primary-navigation-app/7798.js.map +0 -1
  99. package/lib/esm-primary-navigation-app/795.js +0 -1
  100. package/lib/esm-primary-navigation-app/8163.js +0 -1
  101. package/lib/esm-primary-navigation-app/8349.js +0 -1
  102. package/lib/esm-primary-navigation-app/8371.js +0 -1
  103. package/lib/esm-primary-navigation-app/8412.js +0 -1
  104. package/lib/esm-primary-navigation-app/8412.js.map +0 -1
  105. package/lib/esm-primary-navigation-app/8618.js +0 -1
  106. package/lib/esm-primary-navigation-app/890.js +0 -1
  107. package/lib/esm-primary-navigation-app/9214.js +0 -1
  108. package/lib/esm-primary-navigation-app/939.js +0 -1
  109. package/lib/esm-primary-navigation-app/939.js.map +0 -1
  110. package/lib/esm-primary-navigation-app/9538.js +0 -1
  111. package/lib/esm-primary-navigation-app/9569.js +0 -1
  112. package/lib/esm-primary-navigation-app/986.js +0 -1
  113. package/lib/esm-primary-navigation-app/9879.js +0 -1
  114. package/lib/esm-primary-navigation-app/9895.js +0 -1
  115. package/lib/esm-primary-navigation-app/9900.js +0 -1
  116. package/lib/esm-primary-navigation-app/9913.js +0 -1
  117. package/lib/esm-primary-navigation-app/main.js +0 -2
  118. package/lib/esm-primary-navigation-app/main.js.LICENSE.txt +0 -5
  119. package/lib/esm-primary-navigation-app/main.js.map +0 -1
  120. package/lib/esm-primary-navigation-app/openmrs-esm-primary-navigation-app.js +0 -1
  121. package/lib/esm-primary-navigation-app/openmrs-esm-primary-navigation-app.js.buildmanifest.json +0 -1431
  122. package/lib/esm-primary-navigation-app/openmrs-esm-primary-navigation-app.js.map +0 -1
  123. package/lib/esm-primary-navigation-app/routes.json +0 -1
  124. /package/dist/{23855a172d2754a0.js → 85f5e2798da8f5b0.js} +0 -0
@@ -244,7 +244,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
244
244
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
245
245
 
246
246
  "use strict";
247
- 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 _locale__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./locale */ \"./src/locale.ts\");\n/* harmony import */ var _optionaldeps__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./optionaldeps */ \"./src/optionaldeps.ts\");\n/* harmony import */ var _ui__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ui */ \"./src/ui/index.ts\");\n/* harmony import */ var _core_config__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./core-config */ \"./src/core-config.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, _ = {\n label: 0,\n sent: function() {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n }, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), 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(g && (g = 0, op[0] && (_ = 0)), _)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\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');\n/**\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 */ function setupApps() {\n return _async_to_generator(function() {\n var scriptTags, promises, i, _loop, localStorage1, i1, 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(scriptTag) {\n return _async_to_generator(function() {\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 }(scriptTags.item(i)));\n }\n if ((0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.canAccessStorage)()) {\n _loop = function(i1) {\n var key = localStorage1.key(i1);\n if (key === null || key === void 0 ? void 0 : key.startsWith(_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.localStorageRoutesPrefix)) {\n var localOverride = localStorage1.getItem(key);\n if (localOverride) {\n try {\n var maybeOpenmrsRoutes = JSON.parse(localOverride);\n if ((0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.isOpenmrsAppRoutes)(maybeOpenmrsRoutes)) {\n promises.push(Promise.resolve(_define_property({}, key.slice(_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.localStorageRoutesPrefix.length), maybeOpenmrsRoutes)));\n } else if (typeof maybeOpenmrsRoutes === 'string' && maybeOpenmrsRoutes.startsWith('http')) {\n promises.push((0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.openmrsFetch)(maybeOpenmrsRoutes).then(function(response) {\n if ((0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.isOpenmrsAppRoutes)(response.data)) {\n return Promise.resolve(_define_property({}, key.slice(_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.localStorageRoutesPrefix.length), response.data));\n }\n return Promise.reject(\"\".concat(maybeOpenmrsRoutes, \" did not resolve to a valid OpenmrsAppRoutes JSON object\"));\n }).catch(function(reason) {\n console.warn(\"Failed to fetch route overrides for \".concat(key.slice(_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.localStorageRoutesPrefix.length)), reason);\n // still fail the promise\n throw reason;\n }));\n } else {\n console.warn(\"Route override for \".concat(key.slice(_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.localStorageRoutesPrefix.length), \" could not be handled as it was neither a JSON object nor a URL string\"), localOverride);\n }\n } catch (e) {\n console.error(\"Error parsing local route override for \".concat(key), e);\n }\n }\n }\n };\n // load routes overrides from localStorage if any\n localStorage1 = window.localStorage;\n for(i1 = 0; i1 < localStorage1.length; i1++)_loop(i1);\n }\n return [\n 4,\n Promise.allSettled(promises)\n ];\n case 1:\n routes = _state.sent().filter(function(p) {\n return p.status === 'fulfilled';\n }).map(function(p) {\n return p.value;\n }).filter(_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.isOpenmrsRoutes).reduce(function(accumulatedRoutes, routes) {\n return _object_spread({}, accumulatedRoutes, routes);\n }, {});\n modules = [];\n registrationPromises = Object.entries(routes).map(function(param) {\n var _param = _sliced_to_array(param, 2), module = _param[0], routes = _param[1];\n return _async_to_generator(function() {\n return _ts_generator(this, function(_state) {\n modules.push([\n module,\n routes\n ]);\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.registerApp)(module, routes);\n return [\n 2\n ];\n });\n })();\n });\n window[REGISTRATION_PROMISES] = Promise.all(registrationPromises);\n window.installedModules = modules;\n return [\n 2\n ];\n }\n });\n })();\n}\n/**\n * Loads the provided configurations and sets them in the system.\n */ function loadConfigs(configs) {\n return _async_to_generator(function() {\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}\n/**\n * Invoked when the connectivity is changed.\n */ function connectivityChanged() {\n if (!window.offlineEnabled) {\n return;\n }\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 return _async_to_generator(function() {\n return _ts_generator(this, function(_state) {\n return [\n 2,\n (0,_locale__WEBPACK_IMPORTED_MODULE_2__.setupI18n)().catch(function(err) {\n return console.error(\"Failed to initialize translations\", err);\n }).then(function() {\n return _async_to_generator(function() {\n var preferredCalendar, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, entry;\n return _ts_generator(this, function(_state) {\n switch(_state.label){\n case 0:\n return [\n 4,\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.getConfig)('@openmrs/esm-styleguide')\n ];\n case 1:\n preferredCalendar = _state.sent().preferredCalendar;\n _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;\n try {\n for(_iterator = Object.entries(preferredCalendar)[Symbol.iterator](); !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){\n entry = _step.value;\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.registerDefaultCalendar)(entry[0], entry[1]);\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 })();\n }).then(function() {\n return (0,single_spa__WEBPACK_IMPORTED_MODULE_0__.start)();\n })\n ];\n });\n })();\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 showWorkspacesAndActionMenu() {\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.renderWorkspaceWindowsAndMenu)(document.querySelector('#omrs-workspaces-container'));\n}\nfunction showSnackbars() {\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.renderSnackbars)(document.querySelector('.omrs-snackbars-container'));\n}\nfunction showModals() {\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.setupModals)(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,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.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 _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}\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 _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 // By default, cache the session endpoint.\n // This ensures that a lot of user/session related functions also work offline.\n sessionPathUrl = new URL(\"\".concat(window.openmrsBase).concat(_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.restBaseUrl, \"/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)(\"\".concat(_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.restBaseUrl, \"/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}\nfunction precacheImportMap() {\n return _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}\nfunction registerOfflineHandlers() {\n window.addEventListener('offline', connectivityChanged);\n window.addEventListener('online', connectivityChanged);\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) {\n var offlineEnabled = window.offlineEnabled;\n var closeLoading = showLoadingSpinner();\n var provideConfigs = createConfigLoader(configUrls);\n return Promise.all(/*! import() */[__webpack_require__.e(\"vendors-node_modules_dayjs_plugin_isToday_js-node_modules_path-to-regexp_dist_es2015_index_js-c97e30\"), __webpack_require__.e(\"webpack_sharing_consume_default_react_react\"), __webpack_require__.e(\"webpack_sharing_consume_default_react-dom_react-dom\"), __webpack_require__.e(\"webpack_sharing_consume_default_carbon_react_carbon_react\"), __webpack_require__.e(\"webpack_sharing_consume_default_swr__internal_swr__internal-framework_esm-react-utils_dist_Ex-f1e01a\"), __webpack_require__.e(\"framework_esm-styleguide_src_index_ts\")]).then(__webpack_require__.bind(__webpack_require__, /*! @openmrs/esm-styleguide/src/index */ \"../../framework/esm-styleguide/src/index.ts\")).then(function() {\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.integrateBreakpoints)();\n showToasts();\n showModals();\n showNotifications();\n showActionableNotifications();\n showSnackbars();\n showWorkspacesAndActionMenu();\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__.subscribeSnackbarShown)(_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.showSnackbar);\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 (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.setupHistory)();\n registerCoreExtensions();\n (0,_core_config__WEBPACK_IMPORTED_MODULE_5__.setupCoreConfig)();\n return setupApps().then(_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.finishRegisteringAllApps).then(offlineEnabled ? setupOfflineCssClasses : undefined).then(offlineEnabled ? registerOfflineHandlers : undefined).then(provideConfigs).then(runShell).catch(handleInitFailure).then(closeLoading).then(offlineEnabled ? setupOffline : undefined).then(_optionaldeps__WEBPACK_IMPORTED_MODULE_3__.registerOptionalDependencyHandler).then(_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.cleanupObsoleteFeatureFlags);\n });\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QkFBbUJDO0lBRTFDLE9BQU8sOHNCQUEyQyxDQUFDL0QsSUFBSSxDQUFDO1FBQ3REdEUseUZBQW9CQTtRQUNwQjhJO1FBQ0FHO1FBQ0FMO1FBQ0FDO1FBQ0FHO1FBQ0FEO1FBQ0FwSCwrRkFBMEJBLENBQUNMLGlGQUFnQkE7UUFDM0NHLHlHQUFvQ0EsQ0FBQ0osMkZBQTBCQTtRQUMvRFMsd0ZBQW1CQSxDQUFDTiwwRUFBU0E7UUFDN0JLLDJGQUFzQkEsQ0FBQ04sNkVBQVlBO1FBQ25DSyx3R0FBbUNBLENBQUN5STtRQUNwQ25KLG1GQUFjQTtRQUNkQyxpRkFBWUE7UUFDWmdJO1FBQ0EvRyw2REFBZUE7UUFFZixPQUFPRyxZQUNKK0IsSUFBSSxDQUFDekUseUZBQXdCQSxFQUM3QnlFLElBQUksQ0FBQ3lCLGlCQUFpQnFGLHlCQUF5Qi9ILFdBQy9DaUIsSUFBSSxDQUFDeUIsaUJBQWlCbUYsMEJBQTBCN0gsV0FDaERpQixJQUFJLENBQUNvSCxnQkFDTHBILElBQUksQ0FBQ2lDLFVBQ0w5QixLQUFLLENBQUNrQyxtQkFDTnJDLElBQUksQ0FBQ21ILGNBQ0xuSCxJQUFJLENBQUN5QixpQkFBaUJ1RCxlQUFlakcsV0FDckNpQixJQUFJLENBQUNyQyw0RUFBaUNBLEVBQ3RDcUMsSUFBSSxDQUFDNUUsNEZBQTJCQTtJQUNyQztBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uL3NyYy9ydW4udHM/YmMyNiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzdGFydCwgdHJpZ2dlckFwcENoYW5nZSB9IGZyb20gJ3NpbmdsZS1zcGEnO1xuaW1wb3J0IHsgdHlwZSBDYWxlbmRhcklkZW50aWZpZXIgfSBmcm9tICdAaW50ZXJuYXRpb25hbGl6ZWQvZGF0ZSc7XG5pbXBvcnQge1xuICBhY3RpdmF0ZU9mZmxpbmVDYXBhYmlsaXR5LFxuICBjYW5BY2Nlc3NTdG9yYWdlLFxuICBjbGVhbnVwT2Jzb2xldGVGZWF0dXJlRmxhZ3MsXG4gIGRpc3BhdGNoQ29ubmVjdGl2aXR5Q2hhbmdlZCxcbiAgZGlzcGF0Y2hQcmVjYWNoZVN0YXRpY0RlcGVuZGVuY2llcyxcbiAgZmluaXNoUmVnaXN0ZXJpbmdBbGxBcHBzLFxuICBnZXRDb25maWcsXG4gIGdldEN1cnJlbnRVc2VyLFxuICBpbnRlZ3JhdGVCcmVha3BvaW50cyxcbiAgaW50ZXJwb2xhdGVVcmwsXG4gIGlzT3Blbm1yc0FwcFJvdXRlcyxcbiAgaXNPcGVubXJzUm91dGVzLFxuICBsb2NhbFN0b3JhZ2VSb3V0ZXNQcmVmaXgsXG4gIG1lc3NhZ2VPbXJzU2VydmljZVdvcmtlcixcbiAgb3Blbm1yc0ZldGNoLFxuICBwcm92aWRlLFxuICByZWdpc3RlckFwcCxcbiAgcmVnaXN0ZXJEZWZhdWx0Q2FsZW5kYXIsXG4gIHJlZ2lzdGVyT21yc1NlcnZpY2VXb3JrZXIsXG4gIHJlbmRlckFjdGlvbmFibGVOb3RpZmljYXRpb25zLFxuICByZW5kZXJJbmxpbmVOb3RpZmljYXRpb25zLFxuICByZW5kZXJMb2FkaW5nU3Bpbm5lcixcbiAgcmVuZGVyU25hY2tiYXJzLFxuICByZW5kZXJUb2FzdHMsXG4gIHJlbmRlcldvcmtzcGFjZVdpbmRvd3NBbmRNZW51LFxuICByZXN0QmFzZVVybCxcbiAgc2V0dXBBcGlNb2R1bGUsXG4gIHNldHVwSGlzdG9yeSxcbiAgc2V0dXBNb2RhbHMsXG4gIHNob3dBY3Rpb25hYmxlTm90aWZpY2F0aW9uLFxuICBzaG93Tm90aWZpY2F0aW9uLFxuICBzaG93U25hY2tiYXIsXG4gIHNob3dUb2FzdCxcbiAgc3Vic2NyaWJlQWN0aW9uYWJsZU5vdGlmaWNhdGlvblNob3duLFxuICBzdWJzY3JpYmVDb25uZWN0aXZpdHksXG4gIHN1YnNjcmliZU5vdGlmaWNhdGlvblNob3duLFxuICBzdWJzY3JpYmVQcmVjYWNoZVN0YXRpY0RlcGVuZGVuY2llcyxcbiAgc3Vic2NyaWJlU25hY2tiYXJTaG93bixcbiAgc3Vic2NyaWJlVG9hc3RTaG93bixcbiAgdHJ5UmVnaXN0ZXJFeHRlbnNpb24sXG4gIHR5cGUgQ29uZmlnLFxuICB0eXBlIE9wZW5tcnNBcHBSb3V0ZXMsXG4gIHR5cGUgT3Blbm1yc1JvdXRlcyxcbiAgdHlwZSBTdHlsZWd1aWRlQ29uZmlnT2JqZWN0LFxufSBmcm9tICdAb3Blbm1ycy9lc20tZnJhbWV3b3JrL3NyYy9pbnRlcm5hbCc7XG5pbXBvcnQgeyBzZXR1cEkxOG4gfSBmcm9tICcuL2xvY2FsZSc7XG5pbXBvcnQgeyByZWdpc3Rlck9wdGlvbmFsRGVwZW5kZW5jeUhhbmRsZXIgfSBmcm9tICcuL29wdGlvbmFsZGVwcyc7XG5pbXBvcnQgeyBhcHBOYW1lLCBnZXRDb3JlRXh0ZW5zaW9ucyB9IGZyb20gJy4vdWknO1xuaW1wb3J0IHsgc2V0dXBDb3JlQ29uZmlnIH0gZnJvbSAnLi9jb3JlLWNvbmZpZyc7XG5cbi8vIEBpbnRlcm5hbFxuLy8gdXNlZCB0byB0cmFjayB3aGVuIHRoZSB3aW5kb3cuaW5zdGFsbGVkTW9kdWxlcyBnbG9iYWwgaXMgZmluYWxpc2VkXG4vLyBzbyB3ZSBjYW4gcHJlLWxvYWQgYWxsIG1vZHVsZXNcbmNvbnN0IFJFR0lTVFJBVElPTl9QUk9NSVNFUyA9IFN5bWJvbCgnb3Blbm1yc19yZWdpc3RyYXRpb25fcHJvbWlzZXMnKTtcblxuLyoqXG4gKiBTZXRzIHVwIHRoZSBmcm9udGVuZCBtb2R1bGVzIChhcHBzKS4gVXNlcyB0aGUgZGVmaW5lZCBleHBvcnRcbiAqIGZyb20gdGhlIHJvb3QgbW9kdWxlcyBvZiB0aGUgYXBwcy4gVGhpcyBpcyBkb25lIGJ5IHJlYWRpbmcgdGhlXG4gKiBsaXN0IG9mIGFwcHMgZnJvbSB0aGUgcm91dGVzLnJlZ2lzdHJ5Lmpzb24gZmlsZSwgd2hpY2ggc2VydmVzXG4gKiBhcyB0aGUgcmVnaXN0cnkgb2YgYWxsIGFwcHMgaW4gdGhlIGFwcGxpY2F0aW9uLlxuICovXG5hc3luYyBmdW5jdGlvbiBzZXR1cEFwcHMoKSB7XG4gIGNvbnN0IHNjcmlwdFRhZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsPEhUTUxTY3JpcHRFbGVtZW50PihcInNjcmlwdFt0eXBlPSdvcGVubXJzLXJvdXRlcyddXCIpO1xuXG4gIGNvbnN0IHByb21pc2VzOiBBcnJheTxQcm9taXNlPE9wZW5tcnNSb3V0ZXM+PiA9IFtdO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHNjcmlwdFRhZ3MubGVuZ3RoOyBpKyspIHtcbiAgICBwcm9taXNlcy5wdXNoKFxuICAgICAgKGFzeW5jIChzY3JpcHRUYWcpID0+IHtcbiAgICAgICAgbGV0IHJvdXRlczogT3Blbm1yc1JvdXRlcyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBpZiAoc2NyaXB0VGFnLnRleHRDb250ZW50KSB7XG4gICAgICAgICAgICByb3V0ZXMgPSBKU09OLnBhcnNlKHNjcmlwdFRhZy50ZXh0Q29udGVudCkgYXMgT3Blbm1yc1JvdXRlcztcbiAgICAgICAgICB9IGVsc2UgaWYgKHNjcmlwdFRhZy5zcmMpIHtcbiAgICAgICAgICAgIHJvdXRlcyA9IChhd2FpdCBvcGVubXJzRmV0Y2g8T3Blbm1yc1JvdXRlcz4oc2NyaXB0VGFnLnNyYykpLmRhdGE7XG4gICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihgQ2F1Z2h0IGVycm9yIHdoaWxlIGxvYWRpbmcgcm91dGVzIGZyb20gJHtzY3JpcHRUYWcuc3JjID8/ICdKU09OIHNjcmlwdCB0YWcgY29udGVudCd9YCwgZSk7XG5cbiAgICAgICAgICByZXR1cm4ge307XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHJvdXRlcyA/PyB7fSk7XG4gICAgICB9KShzY3JpcHRUYWdzLml0ZW0oaSkpLFxuICAgICk7XG4gIH1cblxuICBpZiAoY2FuQWNjZXNzU3RvcmFnZSgpKSB7XG4gICAgLy8gbG9hZCByb3V0ZXMgb3ZlcnJpZGVzIGZyb20gbG9jYWxTdG9yYWdlIGlmIGFueVxuICAgIGNvbnN0IGxvY2FsU3RvcmFnZSA9IHdpbmRvdy5sb2NhbFN0b3JhZ2U7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsb2NhbFN0b3JhZ2UubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IGtleSA9IGxvY2FsU3RvcmFnZS5rZXkoaSk7XG4gICAgICBpZiAoa2V5Py5zdGFydHNXaXRoKGxvY2FsU3RvcmFnZVJvdXRlc1ByZWZpeCkpIHtcbiAgICAgICAgY29uc3QgbG9jYWxPdmVycmlkZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKGtleSk7XG4gICAgICAgIGlmIChsb2NhbE92ZXJyaWRlKSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IG1heWJlT3Blbm1yc1JvdXRlcyA9IEpTT04ucGFyc2UobG9jYWxPdmVycmlkZSk7XG4gICAgICAgICAgICBpZiAoaXNPcGVubXJzQXBwUm91dGVzKG1heWJlT3Blbm1yc1JvdXRlcykpIHtcbiAgICAgICAgICAgICAgcHJvbWlzZXMucHVzaChcbiAgICAgICAgICAgICAgICBQcm9taXNlLnJlc29sdmU8T3Blbm1yc1JvdXRlcz4oe1xuICAgICAgICAgICAgICAgICAgW2tleS5zbGljZShsb2NhbFN0b3JhZ2VSb3V0ZXNQcmVmaXgubGVuZ3RoKV06IG1heWJlT3Blbm1yc1JvdXRlcyxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIG1heWJlT3Blbm1yc1JvdXRlcyA9PT0gJ3N0cmluZycgJiYgbWF5YmVPcGVubXJzUm91dGVzLnN0YXJ0c1dpdGgoJ2h0dHAnKSkge1xuICAgICAgICAgICAgICBwcm9taXNlcy5wdXNoKFxuICAgICAgICAgICAgICAgIG9wZW5tcnNGZXRjaDxPcGVubXJzQXBwUm91dGVzPihtYXliZU9wZW5tcnNSb3V0ZXMpXG4gICAgICAgICAgICAgICAgICAudGhlbigocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzT3Blbm1yc0FwcFJvdXRlcyhyZXNwb25zZS5kYXRhKSkge1xuICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoe1xuICAgICAgICAgICAgICAgICAgICAgICAgW2tleS5zbGljZShsb2NhbFN0b3JhZ2VSb3V0ZXNQcmVmaXgubGVuZ3RoKV06IHJlc3BvbnNlLmRhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoXG4gICAgICAgICAgICAgICAgICAgICAgYCR7bWF5YmVPcGVubXJzUm91dGVzfSBkaWQgbm90IHJlc29sdmUgdG8gYSB2YWxpZCBPcGVubXJzQXBwUm91dGVzIEpTT04gb2JqZWN0YCxcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAuY2F0Y2goKHJlYXNvbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgICAgICAgICAgICAgYEZhaWxlZCB0byBmZXRjaCByb3V0ZSBvdmVycmlkZXMgZm9yICR7a2V5LnNsaWNlKGxvY2FsU3RvcmFnZVJvdXRlc1ByZWZpeC5sZW5ndGgpfWAsXG4gICAgICAgICAgICAgICAgICAgICAgcmVhc29uLFxuICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIHN0aWxsIGZhaWwgdGhlIHByb21pc2VcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVhc29uO1xuICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgICAgICAgYFJvdXRlIG92ZXJyaWRlIGZvciAke2tleS5zbGljZShcbiAgICAgICAgICAgICAgICAgIGxvY2FsU3RvcmFnZVJvdXRlc1ByZWZpeC5sZW5ndGgsXG4gICAgICAgICAgICAgICAgKX0gY291bGQgbm90IGJlIGhhbmRsZWQgYXMgaXQgd2FzIG5laXRoZXIgYSBKU09OIG9iamVjdCBub3IgYSBVUkwgc3RyaW5nYCxcbiAgICAgICAgICAgICAgICBsb2NhbE92ZXJyaWRlLFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYEVycm9yIHBhcnNpbmcgbG9jYWwgcm91dGUgb3ZlcnJpZGUgZm9yICR7a2V5fWAsIGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHJvdXRlczogT3Blbm1yc1JvdXRlcyA9IChhd2FpdCBQcm9taXNlLmFsbFNldHRsZWQocHJvbWlzZXMpKVxuICAgIC5maWx0ZXIoKHApID0+IHAuc3RhdHVzID09PSAnZnVsZmlsbGVkJylcbiAgICAubWFwKChwKSA9PiAocCBhcyBQcm9taXNlRnVsZmlsbGVkUmVzdWx0PE9wZW5tcnNSb3V0ZXM+KS52YWx1ZSlcbiAgICAuZmlsdGVyKGlzT3Blbm1yc1JvdXRlcylcbiAgICAucmVkdWNlKFxuICAgICAgKGFjY3VtdWxhdGVkUm91dGVzLCByb3V0ZXMpID0+ICh7XG4gICAgICAgIC4uLmFjY3VtdWxhdGVkUm91dGVzLFxuICAgICAgICAuLi5yb3V0ZXMsXG4gICAgICB9KSxcbiAgICAgIHt9LFxuICAgICk7XG5cbiAgY29uc3QgbW9kdWxlczogdHlwZW9mIHdpbmRvdy5pbnN0YWxsZWRNb2R1bGVzID0gW107XG4gIGNvbnN0IHJlZ2lzdHJhdGlvblByb21pc2VzID0gT2JqZWN0LmVudHJpZXMocm91dGVzKS5tYXAoYXN5bmMgKFttb2R1bGUsIHJvdXRlc10pID0+IHtcbiAgICBtb2R1bGVzLnB1c2goW21vZHVsZSwgcm91dGVzXSk7XG4gICAgcmVnaXN0ZXJBcHAobW9kdWxlLCByb3V0ZXMpO1xuICB9KTtcblxuICB3aW5kb3dbUkVHSVNUUkFUSU9OX1BST01JU0VTXSA9IFByb21pc2UuYWxsKHJlZ2lzdHJhdGlvblByb21pc2VzKTtcbiAgd2luZG93Lmluc3RhbGxlZE1vZHVsZXMgPSBtb2R1bGVzO1xufVxuXG4vKipcbiAqIExvYWRzIHRoZSBwcm92aWRlZCBjb25maWd1cmF0aW9ucyBhbmQgc2V0cyB0aGVtIGluIHRoZSBzeXN0ZW0uXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGxvYWRDb25maWdzKGNvbmZpZ3M6IEFycmF5PHsgbmFtZTogc3RyaW5nOyB2YWx1ZTogQ29uZmlnIH0+KSB7XG4gIGZvciAoY29uc3QgY29uZmlnIG9mIGNvbmZpZ3MpIHtcbiAgICBwcm92aWRlKGNvbmZpZy52YWx1ZSwgY29uZmlnLm5hbWUpO1xuICB9XG59XG5cbi8qKlxuICogSW52b2tlZCB3aGVuIHRoZSBjb25uZWN0aXZpdHkgaXMgY2hhbmdlZC5cbiAqL1xuZnVuY3Rpb24gY29ubmVjdGl2aXR5Q2hhbmdlZCgpIHtcbiAgaWYgKCF3aW5kb3cub2ZmbGluZUVuYWJsZWQpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBvbmxpbmUgPSBuYXZpZ2F0b3Iub25MaW5lO1xuICAvLyBOQiBXZSBkbyBub3Qgd2FpdCBmb3IgdGhpcyB0byBiZSBkb25lOyBpdCBpcyBzaW1wbHkgc2NoZWR1bGVkXG4gIHRyaWdnZXJBcHBDaGFuZ2UoKTtcblxuICBkaXNwYXRjaENvbm5lY3Rpdml0eUNoYW5nZWQob25saW5lKTtcbiAgc2hvd1RvYXN0KHtcbiAgICBjcml0aWNhbDogdHJ1ZSxcbiAgICBkZXNjcmlwdGlvbjogYENvbm5lY3Rpb246ICR7b25saW5lID8gJ29ubGluZScgOiAnb2ZmbGluZSd9YCxcbiAgICB0aXRsZTogJ0FwcCcsXG4gICAga2luZDogb25saW5lID8gJ3N1Y2Nlc3MnIDogJ3dhcm5pbmcnLFxuICB9KTtcbn1cblxuLyoqXG4gKiBSdW5zIHRoZSBzaGVsbCBieSBpbXBvcnRpbmcgdGhlIHRyYW5zbGF0aW9ucyBhbmQgc3RhcnRpbmcgc2luZ2xlIFNQQS5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gcnVuU2hlbGwoKSB7XG4gIHJldHVybiBzZXR1cEkxOG4oKVxuICAgIC5jYXRjaCgoZXJyKSA9PiBjb25zb2xlLmVycm9yKGBGYWlsZWQgdG8gaW5pdGlhbGl6ZSB0cmFuc2xhdGlvbnNgLCBlcnIpKVxuICAgIC50aGVuKGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHsgcHJlZmVycmVkQ2FsZW5kYXIgfSA9IGF3YWl0IGdldENvbmZpZzxTdHlsZWd1aWRlQ29uZmlnT2JqZWN0PignQG9wZW5tcnMvZXNtLXN0eWxlZ3VpZGUnKTtcblxuICAgICAgZm9yIChjb25zdCBlbnRyeSBvZiBPYmplY3QuZW50cmllcyhwcmVmZXJyZWRDYWxlbmRhcikpIHtcbiAgICAgICAgcmVnaXN0ZXJEZWZhdWx0Q2FsZW5kYXIoZW50cnlbMF0sIGVudHJ5WzFdIGFzIENhbGVuZGFySWRlbnRpZmllcik7XG4gICAgICB9XG4gICAgfSlcbiAgICAudGhlbigoKSA9PiBzdGFydCgpKTtcbn1cblxuZnVuY3Rpb24gaGFuZGxlSW5pdEZhaWx1cmUoZTogRXJyb3IpIHtcbiAgY29uc29sZS5lcnJvcihlKTtcbiAgcmVuZGVyRmF0YWxFcnJvclBhZ2UoZSk7XG59XG5cbmZ1bmN0aW9uIHJlbmRlckZhdGFsRXJyb3JQYWdlKGU/OiBFcnJvcikge1xuICBjb25zdCB0ZW1wbGF0ZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3I8SFRNTFRlbXBsYXRlRWxlbWVudD4oJyNhcHAtZXJyb3InKTtcblxuICBpZiAodGVtcGxhdGUpIHtcbiAgICBjb25zdCBmcmFnbWVudCA9IHRlbXBsYXRlLmNvbnRlbnQuY2xvbmVOb2RlKHRydWUpIGFzIERvY3VtZW50RnJhZ21lbnQ7XG4gICAgY29uc3QgbWVzc2FnZUNvbnRhaW5lciA9IGZyYWdtZW50LnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLXZhcj1cIm1lc3NhZ2VcIl0nKTtcblxuICAgIGlmIChtZXNzYWdlQ29udGFpbmVyKSB7XG4gICAgICBtZXNzYWdlQ29udGFpbmVyLnRleHRDb250ZW50ID0gZT8ubWVzc2FnZSB8fCAnTm8gYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBhdmFpbGFibGUuJztcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnb3Blbm1yczpkZXZ0b29scycpICYmXG4gICAgICBPYmplY3Qua2V5cyhsb2NhbFN0b3JhZ2UpLnNvbWUoKGspID0+IGsuc3RhcnRzV2l0aCgnaW1wb3J0LW1hcC1vdmVycmlkZTonKSlcbiAgICApIHtcbiAgICAgIGNvbnN0IGFwcEVycm9yQWN0aW9uQnV0dG9ucyA9IGZyYWdtZW50Py5xdWVyeVNlbGVjdG9yKCcjYnV0dG9ucycpO1xuICAgICAgaWYgKGFwcEVycm9yQWN0aW9uQnV0dG9ucykge1xuICAgICAgICBjb25zdCBjbGVhckRldk92ZXJyaWRlc0J1dHRvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpO1xuICAgICAgICBjbGVhckRldk92ZXJyaWRlc0J1dHRvbi5jbGFzc05hbWUgPSAnY2RzLS1idG4nO1xuICAgICAgICBjbGVhckRldk92ZXJyaWRlc0J1dHRvbi5pbm5lckhUTUwgPSAnQ2xlYXIgZGV2IG92ZXJyaWRlcyc7XG4gICAgICAgIGNsZWFyRGV2T3ZlcnJpZGVzQnV0dG9uLm9uY2xpY2sgPSBjbGVhckRldk92ZXJyaWRlcztcbiAgICAgICAgYXBwRXJyb3JBY3Rpb25CdXR0b25zLmFwcGVuZENoaWxkKGNsZWFyRGV2T3ZlcnJpZGVzQnV0dG9uKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGZyYWdtZW50KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBjbGVhckRldk92ZXJyaWRlcygpIHtcbiAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMobG9jYWxTdG9yYWdlKSkge1xuICAgIGlmIChcbiAgICAgIGtleS5zdGFydHNXaXRoKCdpbXBvcnQtbWFwLW92ZXJyaWRlOicpICYmXG4gICAgICAhWydpbXBvcnQtbWFwLW92ZXJyaWRlOnJlYWN0JywgJ2ltcG9ydC1tYXAtb3ZlcnJpZGU6cmVhY3QtZG9tJ10uaW5jbHVkZXMoa2V5KVxuICAgICkge1xuICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oa2V5KTtcbiAgICB9XG4gIH1cbiAgbG9jYXRpb24ucmVsb2FkKCk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUNvbmZpZ0xvYWRlcihjb25maWdVcmxzOiBBcnJheTxzdHJpbmc+KSB7XG4gIGNvbnN0IGxvYWRpbmdDb25maWdzID0gUHJvbWlzZS5hbGwoXG4gICAgY29uZmlnVXJscy5tYXAoKGNvbmZpZ1VybCkgPT4ge1xuICAgICAgY29uc3QgaW50ZXJwb2xhdGVkVXJsID0gaW50ZXJwb2xhdGVVcmwoY29uZmlnVXJsKTtcbiAgICAgIHJldHVybiBmZXRjaChpbnRlcnBvbGF0ZWRVcmwpXG4gICAgICAgIC50aGVuKChyZXMpID0+IHJlcy5qc29uKCkpXG4gICAgICAgIC50aGVuKChjb25maWcpID0+ICh7XG4gICAgICAgICAgbmFtZTogY29uZmlnVXJsLFxuICAgICAgICAgIHZhbHVlOiBjb25maWcsXG4gICAgICAgIH0pKVxuICAgICAgICAuY2F0Y2goKGVycikgPT4ge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYExvYWRpbmcgdGhlIGNvbmZpZyBmcm9tIFwiJHtjb25maWdVcmx9XCIgZmFpbGVkLmAsIGVycik7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5hbWU6IGNvbmZpZ1VybCxcbiAgICAgICAgICAgIHZhbHVlOiB7fSxcbiAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICB9KSxcbiAgKTtcbiAgcmV0dXJuICgpID0+IGxvYWRpbmdDb25maWdzLnRoZW4obG9hZENvbmZpZ3MpO1xufVxuXG5mdW5jdGlvbiBzaG93Tm90aWZpY2F0aW9ucygpIHtcbiAgcmVuZGVySW5saW5lTm90aWZpY2F0aW9ucyhkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcub21ycy1pbmxpbmUtbm90aWZpY2F0aW9ucy1jb250YWluZXInKSk7XG4gIHJldHVybjtcbn1cblxuZnVuY3Rpb24gc2hvd0FjdGlvbmFibGVOb3RpZmljYXRpb25zKCkge1xuICByZW5kZXJBY3Rpb25hYmxlTm90aWZpY2F0aW9ucyhkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcub21ycy1hY3Rpb25hYmxlLW5vdGlmaWNhdGlvbnMtY29udGFpbmVyJykpO1xufVxuXG5mdW5jdGlvbiBzaG93VG9hc3RzKCkge1xuICByZW5kZXJUb2FzdHMoZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLm9tcnMtdG9hc3RzLWNvbnRhaW5lcicpKTtcbn1cblxuZnVuY3Rpb24gc2hvd1dvcmtzcGFjZXNBbmRBY3Rpb25NZW51KCkge1xuICByZW5kZXJXb3Jrc3BhY2VXaW5kb3dzQW5kTWVudShkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjb21ycy13b3Jrc3BhY2VzLWNvbnRhaW5lcicpKTtcbn1cblxuZnVuY3Rpb24gc2hvd1NuYWNrYmFycygpIHtcbiAgcmVuZGVyU25hY2tiYXJzKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5vbXJzLXNuYWNrYmFycy1jb250YWluZXInKSk7XG59XG5cbmZ1bmN0aW9uIHNob3dNb2RhbHMoKSB7XG4gIHNldHVwTW9kYWxzKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5vbXJzLW1vZGFscy1jb250YWluZXInKSk7XG59XG5cbmZ1bmN0aW9uIHNob3dMb2FkaW5nU3Bpbm5lcigpIHtcbiAgcmV0dXJuIHJlbmRlckxvYWRpbmdTcGlubmVyKGRvY3VtZW50LmJvZHkpO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyB0aGUgZXh0ZW5zaW9ucyBjb21pbmcgZnJvbSB0aGUgYXBwIHNoZWxsIGl0c2VsZi5cbiAqL1xuZnVuY3Rpb24gcmVnaXN0ZXJDb3JlRXh0ZW5zaW9ucygpIHtcbiAgY29uc3QgZXh0ZW5zaW9ucyA9IGdldENvcmVFeHRlbnNpb25zKCk7XG4gIGZvciAoY29uc3QgZXh0ZW5zaW9uIG9mIGV4dGVuc2lvbnMpIHtcbiAgICB0cnlSZWdpc3RlckV4dGVuc2lvbihhcHBOYW1lLCBleHRlbnNpb24pO1xuICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHNldHVwT2ZmbGluZSgpIHtcbiAgdHJ5IHtcbiAgICBhd2FpdCByZWdpc3Rlck9tcnNTZXJ2aWNlV29ya2VyKGAke3dpbmRvdy5nZXRPcGVubXJzU3BhQmFzZSgpfXNlcnZpY2Utd29ya2VyLmpzYCk7XG4gICAgYXdhaXQgYWN0aXZhdGVPZmZsaW5lQ2FwYWJpbGl0eSgpO1xuICAgIHNldHVwT2ZmbGluZVN0YXRpY0RlcGVuZGVuY3lQcmVjYWNoaW5nKCk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgY29uc29sZS5lcnJvcignRXJyb3Igd2hpbGUgc2V0dGluZyB1cCBvZmZsaW5lIG1vZGUuJywgZXJyb3IpO1xuICAgIHNob3dOb3RpZmljYXRpb24oe1xuICAgICAga2luZDogJ2Vycm9yJyxcbiAgICAgIHRpdGxlOiAnT2ZmbGluZSBTZXR1cCBFcnJvcicsXG4gICAgICBkZXNjcmlwdGlvbjogZXJyb3IubWVzc2FnZSxcbiAgICB9KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBzZXR1cE9mZmxpbmVTdGF0aWNEZXBlbmRlbmN5UHJlY2FjaGluZygpIHtcbiAgY29uc3QgcHJlY2FjaGVEZWxheSA9IDEwMDAgKiA2MCAqIDU7XG4gIGxldCBsYXN0UHJlY2FjaGU6IERhdGUgfCBudWxsID0gbnVsbDtcblxuICBzdWJzY3JpYmVPbmxpbmVBbmRMb2dpbkNoYW5nZSgob25saW5lLCBoYXNMb2dnZWRJblVzZXIpID0+IHtcbiAgICBjb25zdCBoYXNFeGNlZWRlZFByZWNhY2hlRGVsYXkgPSAhbGFzdFByZWNhY2hlIHx8IG5ldyBEYXRlKCkuZ2V0VGltZSgpIC0gbGFzdFByZWNhY2hlLmdldFRpbWUoKSA+IHByZWNhY2hlRGVsYXk7XG5cbiAgICBpZiAoaGFzTG9nZ2VkSW5Vc2VyICYmIG9ubGluZSAmJiBoYXNFeGNlZWRlZFByZWNhY2hlRGVsYXkpIHtcbiAgICAgIGxhc3RQcmVjYWNoZSA9IG5ldyBEYXRlKCk7XG4gICAgICBkaXNwYXRjaFByZWNhY2hlU3RhdGljRGVwZW5kZW5jaWVzKCk7XG4gICAgfVxuICB9KTtcbn1cblxuZnVuY3Rpb24gc3Vic2NyaWJlT25saW5lQW5kTG9naW5DaGFuZ2UoY2I6IChvbmxpbmU6IGJvb2xlYW4sIGhhc0xvZ2dlZEluVXNlcjogYm9vbGVhbikgPT4gdm9pZCkge1xuICBsZXQgaXNPbmxpbmUgPSBmYWxzZTtcbiAgbGV0IGhhc0xvZ2dlZEluVXNlciA9IGZhbHNlO1xuXG4gIGdldEN1cnJlbnRVc2VyKHsgaW5jbHVkZUF1dGhTdGF0dXM6IGZhbHNlIH0pLnN1YnNjcmliZSgodXNlcikgPT4ge1xuICAgIGhhc0xvZ2dlZEluVXNlciA9ICEhdXNlcjtcbiAgICBjYihpc09ubGluZSwgaGFzTG9nZ2VkSW5Vc2VyKTtcbiAgfSk7XG5cbiAgc3Vic2NyaWJlQ29ubmVjdGl2aXR5KCh7IG9ubGluZSB9KSA9PiB7XG4gICAgaXNPbmxpbmUgPSBvbmxpbmU7XG4gICAgY2Iob25saW5lLCBoYXNMb2dnZWRJblVzZXIpO1xuICB9KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gcHJlY2FjaGVHbG9iYWxTdGF0aWNEZXBlbmRlbmNpZXMoKSB7XG4gIGF3YWl0IHByZWNhY2hlSW1wb3J0TWFwKCk7XG5cbiAgLy8gQnkgZGVmYXVsdCwgY2FjaGUgdGhlIHNlc3Npb24gZW5kcG9pbnQuXG4gIC8vIFRoaXMgZW5zdXJlcyB0aGF0IGEgbG90IG9mIHVzZXIvc2Vzc2lvbiByZWxhdGVkIGZ1bmN0aW9ucyBhbHNvIHdvcmsgb2ZmbGluZS5cbiAgY29uc3Qgc2Vzc2lvblBhdGhVcmwgPSBuZXcgVVJMKGAke3dpbmRvdy5vcGVubXJzQmFzZX0ke3Jlc3RCYXNlVXJsfS9zZXNzaW9uYCwgd2luZG93LmxvY2F0aW9uLm9yaWdpbikuaHJlZjtcblxuICBhd2FpdCBtZXNzYWdlT21yc1NlcnZpY2VXb3JrZXIoe1xuICAgIHR5cGU6ICdyZWdpc3RlckR5bmFtaWNSb3V0ZScsXG4gICAgdXJsOiBzZXNzaW9uUGF0aFVybCxcbiAgICBzdHJhdGVneTogJ25ldHdvcmstZmlyc3QnLFxuICB9KTtcblxuICBhd2FpdCBvcGVubXJzRmV0Y2goYCR7cmVzdEJhc2VVcmx9L3Nlc3Npb25gKS5jYXRjaCgoZSkgPT5cbiAgICBjb25zb2xlLndhcm4oXG4gICAgICAnRmFpbGVkIHRvIHByZWNhY2hlIHRoZSB1c2VyIHNlc3Npb24gZGF0YSBmcm9tIHRoZSBhcHAgc2hlbGwuIE1GcyBkZXBlbmRpbmcgb24gdGhpcyBkYXRhIG1heSBydW4gaW50byBwcm9ibGVtcyB3aGlsZSBvZmZsaW5lLicsXG4gICAgICBlLFxuICAgICksXG4gICk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHByZWNhY2hlSW1wb3J0TWFwKCkge1xuICBjb25zdCBpbXBvcnRNYXAgPSBhd2FpdCB3aW5kb3cuaW1wb3J0TWFwT3ZlcnJpZGVzLmdldEN1cnJlbnRQYWdlTWFwKCk7XG4gIGF3YWl0IG1lc3NhZ2VPbXJzU2VydmljZVdvcmtlcih7XG4gICAgdHlwZTogJ29uSW1wb3J0TWFwQ2hhbmdlZCcsXG4gICAgaW1wb3J0TWFwLFxuICB9KTtcbn1cblxuZnVuY3Rpb24gcmVnaXN0ZXJPZmZsaW5lSGFuZGxlcnMoKSB7XG4gIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdvZmZsaW5lJywgY29ubmVjdGl2aXR5Q2hhbmdlZCk7XG4gIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdvbmxpbmUnLCBjb25uZWN0aXZpdHlDaGFuZ2VkKTtcbn1cblxuZnVuY3Rpb24gc2V0dXBPZmZsaW5lQ3NzQ2xhc3NlcygpIHtcbiAgc3Vic2NyaWJlQ29ubmVjdGl2aXR5KCh7IG9ubGluZSB9KSA9PiB7XG4gICAgY29uc3QgYm9keSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2JvZHknKSE7XG4gICAgaWYgKG9ubGluZSkge1xuICAgICAgYm9keS5jbGFzc0xpc3QucmVtb3ZlKCdvbXJzLW9mZmxpbmUnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYm9keS5jbGFzc0xpc3QuYWRkKCdvbXJzLW9mZmxpbmUnKTtcbiAgICB9XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcnVuKGNvbmZpZ1VybHM6IEFycmF5PHN0cmluZz4pIHtcbiAgY29uc3Qgb2ZmbGluZUVuYWJsZWQgPSB3aW5kb3cub2ZmbGluZUVuYWJsZWQ7XG4gIGNvbnN0IGNsb3NlTG9hZGluZyA9IHNob3dMb2FkaW5nU3Bpbm5lcigpO1xuICBjb25zdCBwcm92aWRlQ29uZmlncyA9IGNyZWF0ZUNvbmZpZ0xvYWRlcihjb25maWdVcmxzKTtcblxuICByZXR1cm4gaW1wb3J0KCdAb3Blbm1ycy9lc20tc3R5bGVndWlkZS9zcmMvaW5kZXgnKS50aGVuKCgpID0+IHtcbiAgICBpbnRlZ3JhdGVCcmVha3BvaW50cygpO1xuICAgIHNob3dUb2FzdHMoKTtcbiAgICBzaG93TW9kYWxzKCk7XG4gICAgc2hvd05vdGlmaWNhdGlvbnMoKTtcbiAgICBzaG93QWN0aW9uYWJsZU5vdGlmaWNhdGlvbnMoKTtcbiAgICBzaG93U25hY2tiYXJzKCk7XG4gICAgc2hvd1dvcmtzcGFjZXNBbmRBY3Rpb25NZW51KCk7XG4gICAgc3Vic2NyaWJlTm90aWZpY2F0aW9uU2hvd24oc2hvd05vdGlmaWNhdGlvbik7XG4gICAgc3Vic2NyaWJlQWN0aW9uYWJsZU5vdGlmaWNhdGlvblNob3duKHNob3dBY3Rpb25hYmxlTm90aWZpY2F0aW9uKTtcbiAgICBzdWJzY3JpYmVUb2FzdFNob3duKHNob3dUb2FzdCk7XG4gICAgc3Vic2NyaWJlU25hY2tiYXJTaG93bihzaG93U25hY2tiYXIpO1xuICAgIHN1YnNjcmliZVByZWNhY2hlU3RhdGljRGVwZW5kZW5jaWVzKHByZWNhY2hlR2xvYmFsU3RhdGljRGVwZW5kZW5jaWVzKTtcbiAgICBzZXR1cEFwaU1vZHVsZSgpO1xuICAgIHNldHVwSGlzdG9yeSgpO1xuICAgIHJlZ2lzdGVyQ29yZUV4dGVuc2lvbnMoKTtcbiAgICBzZXR1cENvcmVDb25maWcoKTtcblxuICAgIHJldHVybiBzZXR1cEFwcHMoKVxuICAgICAgLnRoZW4oZmluaXNoUmVnaXN0ZXJpbmdBbGxBcHBzKVxuICAgICAgLnRoZW4ob2ZmbGluZUVuYWJsZWQgPyBzZXR1cE9mZmxpbmVDc3NDbGFzc2VzIDogdW5kZWZpbmVkKVxuICAgICAgLnRoZW4ob2ZmbGluZUVuYWJsZWQgPyByZWdpc3Rlck9mZmxpbmVIYW5kbGVycyA6IHVuZGVmaW5lZClcbiAgICAgIC50aGVuKHByb3ZpZGVDb25maWdzKVxuICAgICAgLnRoZW4ocnVuU2hlbGwpXG4gICAgICAuY2F0Y2goaGFuZGxlSW5pdEZhaWx1cmUpXG4gICAgICAudGhlbihjbG9zZUxvYWRpbmcpXG4gICAgICAudGhlbihvZmZsaW5lRW5hYmxlZCA/IHNldHVwT2ZmbGluZSA6IHVuZGVmaW5lZClcbiAgICAgIC50aGVuKHJlZ2lzdGVyT3B0aW9uYWxEZXBlbmRlbmN5SGFuZGxlcilcbiAgICAgIC50aGVuKGNsZWFudXBPYnNvbGV0ZUZlYXR1cmVGbGFncyk7XG4gIH0pO1xufVxuIl0sIm5hbWVzIjpbInN0YXJ0IiwidHJpZ2dlckFwcENoYW5nZSIsImFjdGl2YXRlT2ZmbGluZUNhcGFiaWxpdHkiLCJjYW5BY2Nlc3NTdG9yYWdlIiwiY2xlYW51cE9ic29sZXRlRmVhdHVyZUZsYWdzIiwiZGlzcGF0Y2hDb25uZWN0aXZpdHlDaGFuZ2VkIiwiZGlzcGF0Y2hQcmVjYWNoZVN0YXRpY0RlcGVuZGVuY2llcyIsImZpbmlzaFJlZ2lzdGVyaW5nQWxsQXBwcyIsImdldENvbmZpZyIsImdldEN1cnJlbnRVc2VyIiwiaW50ZWdyYXRlQnJlYWtwb2ludHMiLCJpbnRlcnBvbGF0ZVVybCIsImlzT3Blbm1yc0FwcFJvdXRlcyIsImlzT3Blbm1yc1JvdXRlcyIsImxvY2FsU3RvcmFnZVJvdXRlc1ByZWZpeCIsIm1lc3NhZ2VPbXJzU2VydmljZVdvcmtlciIsIm9wZW5tcnNGZXRjaCIsInByb3ZpZGUiLCJyZWdpc3RlckFwcCIsInJlZ2lzdGVyRGVmYXVsdENhbGVuZGFyIiwicmVnaXN0ZXJPbXJzU2VydmljZVdvcmtlciIsInJlbmRlckFjdGlvbmFibGVOb3RpZmljYXRpb25zIiwicmVuZGVySW5saW5lTm90aWZpY2F0aW9ucyIsInJlbmRlckxvYWRpbmdTcGlubmVyIiwicmVuZGVyU25hY2tiYXJzIiwicmVuZGVyVG9hc3RzIiwicmVuZGVyV29ya3NwYWNlV2luZG93c0FuZE1lbnUiLCJyZXN0QmFzZVVybCIsInNldHVwQXBpTW9kdWxlIiwic2V0dXBIaXN0b3J5Iiwic2V0dXBNb2RhbHMiLCJzaG93QWN0aW9uYWJsZU5vdGlmaWNhdGlvbiIsInNob3dOb3RpZmljYXRpb24iLCJzaG93U25hY2tiYXIiLCJzaG93VG9hc3QiLCJzdWJzY3JpYmVBY3Rpb25hYmxlTm90aWZpY2F0aW9uU2hvd24iLCJzdWJzY3JpYmVDb25uZWN0aXZpdHkiLCJzdWJzY3JpYmVOb3RpZmljYXRpb25TaG93biIsInN1YnNjcmliZVByZWNhY2hlU3RhdGljRGVwZW5kZW5jaWVzIiwic3Vic2NyaWJlU25hY2tiYXJTaG93biIsInN1YnNjcmliZVRvYXN0U2hvd24iLCJ0cnlSZWdpc3RlckV4dGVuc2lvbiIsInNldHVwSTE4biIsInJlZ2lzdGVyT3B0aW9uYWxEZXBlbmRlbmN5SGFuZGxlciIsImFwcE5hbWUiLCJnZXRDb3JlRXh0ZW5zaW9ucyIsInNldHVwQ29yZUNvbmZpZyIsIlJFR0lTVFJBVElPTl9QUk9NSVNFUyIsIlN5bWJvbCIsInNldHVwQXBwcyIsInNjcmlwdFRhZ3MiLCJwcm9taXNlcyIsImkiLCJsb2NhbFN0b3JhZ2UiLCJyb3V0ZXMiLCJtb2R1bGVzIiwicmVnaXN0cmF0aW9uUHJvbWlzZXMiLCJkb2N1bWVudCIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJsZW5ndGgiLCJwdXNoIiwic2NyaXB0VGFnIiwiZSIsInVuZGVmaW5lZCIsInRleHRDb250ZW50IiwiSlNPTiIsInBhcnNlIiwic3JjIiwiZGF0YSIsImNvbnNvbGUiLCJlcnJvciIsIlByb21pc2UiLCJyZXNvbHZlIiwiaXRlbSIsImtleSIsInN0YXJ0c1dpdGgiLCJsb2NhbE92ZXJyaWRlIiwiZ2V0SXRlbSIsIm1heWJlT3Blbm1yc1JvdXRlcyIsInNsaWNlIiwidGhlbiIsInJlc3BvbnNlIiwicmVqZWN0IiwiY2F0Y2giLCJyZWFzb24iLCJ3YXJuIiwid2luZG93IiwiYWxsU2V0dGxlZCIsImZpbHRlciIsInAiLCJzdGF0dXMiLCJtYXAiLCJ2YWx1ZSIsInJlZHVjZSIsImFjY3VtdWxhdGVkUm91dGVzIiwiT2JqZWN0IiwiZW50cmllcyIsIm1vZHVsZSIsImFsbCIsImluc3RhbGxlZE1vZHVsZXMiLCJsb2FkQ29uZmlncyIsImNvbmZpZ3MiLCJjb25maWciLCJuYW1lIiwiY29ubmVjdGl2aXR5Q2hhbmdlZCIsIm9mZmxpbmVFbmFibGVkIiwib25saW5lIiwibmF2aWdhdG9yIiwib25MaW5lIiwiY3JpdGljYWwiLCJkZXNjcmlwdGlvbiIsInRpdGxlIiwia2luZCIsInJ1blNoZWxsIiwiZXJyIiwicHJlZmVycmVkQ2FsZW5kYXIiLCJlbnRyeSIsImhhbmRsZUluaXRGYWlsdXJlIiwicmVuZGVyRmF0YWxFcnJvclBhZ2UiLCJ0ZW1wbGF0ZSIsInF1ZXJ5U2VsZWN0b3IiLCJmcmFnbWVudCIsImNvbnRlbnQiLCJjbG9uZU5vZGUiLCJtZXNzYWdlQ29udGFpbmVyIiwibWVzc2FnZSIsImtleXMiLCJzb21lIiwiayIsImFwcEVycm9yQWN0aW9uQnV0dG9ucyIsImNsZWFyRGV2T3ZlcnJpZGVzQnV0dG9uIiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsImlubmVySFRNTCIsIm9uY2xpY2siLCJjbGVhckRldk92ZXJyaWRlcyIsImFwcGVuZENoaWxkIiwiYm9keSIsImluY2x1ZGVzIiwicmVtb3ZlSXRlbSIsImxvY2F0aW9uIiwicmVsb2FkIiwiY3JlYXRlQ29uZmlnTG9hZGVyIiwiY29uZmlnVXJscyIsImxvYWRpbmdDb25maWdzIiwiY29uZmlnVXJsIiwiaW50ZXJwb2xhdGVkVXJsIiwiZmV0Y2giLCJyZXMiLCJqc29uIiwic2hvd05vdGlmaWNhdGlvbnMiLCJzaG93QWN0aW9uYWJsZU5vdGlmaWNhdGlvbnMiLCJzaG93VG9hc3RzIiwic2hvd1dvcmtzcGFjZXNBbmRBY3Rpb25NZW51Iiwic2hvd1NuYWNrYmFycyIsInNob3dNb2RhbHMiLCJzaG93TG9hZGluZ1NwaW5uZXIiLCJyZWdpc3RlckNvcmVFeHRlbnNpb25zIiwiZXh0ZW5zaW9ucyIsImV4dGVuc2lvbiIsInNldHVwT2ZmbGluZSIsImdldE9wZW5tcnNTcGFCYXNlIiwic2V0dXBPZmZsaW5lU3RhdGljRGVwZW5kZW5jeVByZWNhY2hpbmciLCJwcmVjYWNoZURlbGF5IiwibGFzdFByZWNhY2hlIiwic3Vic2NyaWJlT25saW5lQW5kTG9naW5DaGFuZ2UiLCJoYXNMb2dnZWRJblVzZXIiLCJoYXNFeGNlZWRlZFByZWNhY2hlRGVsYXkiLCJEYXRlIiwiZ2V0VGltZSIsImNiIiwiaXNPbmxpbmUiLCJpbmNsdWRlQXV0aFN0YXR1cyIsInN1YnNjcmliZSIsInVzZXIiLCJwcmVjYWNoZUdsb2JhbFN0YXRpY0RlcGVuZGVuY2llcyIsInNlc3Npb25QYXRoVXJsIiwicHJlY2FjaGVJbXBvcnRNYXAiLCJVUkwiLCJvcGVubXJzQmFzZSIsIm9yaWdpbiIsImhyZWYiLCJ0eXBlIiwidXJsIiwic3RyYXRlZ3kiLCJpbXBvcnRNYXAiLCJpbXBvcnRNYXBPdmVycmlkZXMiLCJnZXRDdXJyZW50UGFnZU1hcCIsInJlZ2lzdGVyT2ZmbGluZUhhbmRsZXJzIiwiYWRkRXZlbnRMaXN0ZW5lciIsInNldHVwT2ZmbGluZUNzc0NsYXNzZXMiLCJjbGFzc0xpc3QiLCJyZW1vdmUiLCJhZGQiLCJydW4iLCJjbG9zZUxvYWRpbmciLCJwcm92aWRlQ29uZmlncyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/run.ts\n");
247
+ 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 _locale__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./locale */ \"./src/locale.ts\");\n/* harmony import */ var _optionaldeps__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./optionaldeps */ \"./src/optionaldeps.ts\");\n/* harmony import */ var _ui__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ui */ \"./src/ui/index.ts\");\n/* harmony import */ var _core_config__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./core-config */ \"./src/core-config.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, _ = {\n label: 0,\n sent: function() {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n }, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), 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(g && (g = 0, op[0] && (_ = 0)), _)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\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');\n/**\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 */ function setupApps() {\n return _async_to_generator(function() {\n var scriptTags, promises, i, _loop, localStorage1, i1, 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(scriptTag) {\n return _async_to_generator(function() {\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 }(scriptTags.item(i)));\n }\n if ((0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.canAccessStorage)()) {\n _loop = function(i1) {\n var key = localStorage1.key(i1);\n if (key === null || key === void 0 ? void 0 : key.startsWith(_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.localStorageRoutesPrefix)) {\n var localOverride = localStorage1.getItem(key);\n if (localOverride) {\n try {\n var maybeOpenmrsRoutes = JSON.parse(localOverride);\n if ((0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.isOpenmrsAppRoutes)(maybeOpenmrsRoutes)) {\n promises.push(Promise.resolve(_define_property({}, key.slice(_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.localStorageRoutesPrefix.length), maybeOpenmrsRoutes)));\n } else if (typeof maybeOpenmrsRoutes === 'string' && maybeOpenmrsRoutes.startsWith('http')) {\n promises.push((0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.openmrsFetch)(maybeOpenmrsRoutes).then(function(response) {\n if ((0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.isOpenmrsAppRoutes)(response.data)) {\n return Promise.resolve(_define_property({}, key.slice(_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.localStorageRoutesPrefix.length), response.data));\n }\n return Promise.reject(\"\".concat(maybeOpenmrsRoutes, \" did not resolve to a valid OpenmrsAppRoutes JSON object\"));\n }).catch(function(reason) {\n console.warn(\"Failed to fetch route overrides for \".concat(key.slice(_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.localStorageRoutesPrefix.length)), reason);\n // still fail the promise\n throw reason;\n }));\n } else {\n console.warn(\"Route override for \".concat(key.slice(_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.localStorageRoutesPrefix.length), \" could not be handled as it was neither a JSON object nor a URL string\"), localOverride);\n }\n } catch (e) {\n console.error(\"Error parsing local route override for \".concat(key), e);\n }\n }\n }\n };\n // load routes overrides from localStorage if any\n localStorage1 = window.localStorage;\n for(i1 = 0; i1 < localStorage1.length; i1++)_loop(i1);\n }\n return [\n 4,\n Promise.allSettled(promises)\n ];\n case 1:\n routes = _state.sent().filter(function(p) {\n return p.status === 'fulfilled';\n }).map(function(p) {\n return p.value;\n }).filter(_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.isOpenmrsRoutes).reduce(function(accumulatedRoutes, routes) {\n return _object_spread({}, accumulatedRoutes, routes);\n }, {});\n modules = [];\n registrationPromises = Object.entries(routes).map(function(param) {\n var _param = _sliced_to_array(param, 2), module = _param[0], routes = _param[1];\n return _async_to_generator(function() {\n return _ts_generator(this, function(_state) {\n modules.push([\n module,\n routes\n ]);\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.registerApp)(module, routes);\n return [\n 2\n ];\n });\n })();\n });\n window[REGISTRATION_PROMISES] = Promise.all(registrationPromises);\n window.installedModules = modules;\n return [\n 2\n ];\n }\n });\n })();\n}\n/**\n * Loads the provided configurations and sets them in the system.\n */ function loadConfigs(configs) {\n return _async_to_generator(function() {\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}\n/**\n * Invoked when the connectivity is changed.\n */ function connectivityChanged() {\n if (!window.offlineEnabled) {\n return;\n }\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 return _async_to_generator(function() {\n return _ts_generator(this, function(_state) {\n return [\n 2,\n (0,_locale__WEBPACK_IMPORTED_MODULE_2__.setupI18n)().catch(function(err) {\n return console.error(\"Failed to initialize translations\", err);\n }).then(function() {\n return _async_to_generator(function() {\n var preferredCalendar, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, entry;\n return _ts_generator(this, function(_state) {\n switch(_state.label){\n case 0:\n return [\n 4,\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.getConfig)('@openmrs/esm-styleguide')\n ];\n case 1:\n preferredCalendar = _state.sent().preferredCalendar;\n _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;\n try {\n for(_iterator = Object.entries(preferredCalendar)[Symbol.iterator](); !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){\n entry = _step.value;\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.registerDefaultCalendar)(entry[0], entry[1]);\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 })();\n }).then(function() {\n return (0,single_spa__WEBPACK_IMPORTED_MODULE_0__.start)();\n })\n ];\n });\n })();\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 showWorkspacesAndActionMenu() {\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.renderWorkspaceWindowsAndMenu)(document.querySelector('#omrs-workspaces-container'));\n}\nfunction showSnackbars() {\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.renderSnackbars)(document.querySelector('.omrs-snackbars-container'));\n}\nfunction showModals() {\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.setupModals)(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,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.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 _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}\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 _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 // By default, cache the session endpoint.\n // This ensures that a lot of user/session related functions also work offline.\n sessionPathUrl = new URL(\"\".concat(window.openmrsBase).concat(_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.restBaseUrl, \"/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)(\"\".concat(_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.restBaseUrl, \"/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}\nfunction precacheImportMap() {\n return _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}\nfunction registerOfflineHandlers() {\n window.addEventListener('offline', connectivityChanged);\n window.addEventListener('online', connectivityChanged);\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) {\n var offlineEnabled = window.offlineEnabled;\n var closeLoading = showLoadingSpinner();\n var provideConfigs = createConfigLoader(configUrls);\n return Promise.all(/*! import() */[__webpack_require__.e(\"vendors-node_modules_dayjs_plugin_isToday_js-node_modules_path-to-regexp_dist_es2015_index_js-c97e30\"), __webpack_require__.e(\"webpack_sharing_consume_default_react_react\"), __webpack_require__.e(\"webpack_sharing_consume_default_react-dom_react-dom\"), __webpack_require__.e(\"webpack_sharing_consume_default_carbon_react_carbon_react\"), __webpack_require__.e(\"webpack_sharing_consume_default_swr__internal_swr__internal-framework_esm-react-utils_dist_index_js\"), __webpack_require__.e(\"framework_esm-styleguide_src_index_ts\")]).then(__webpack_require__.bind(__webpack_require__, /*! @openmrs/esm-styleguide/src/index */ \"../../framework/esm-styleguide/src/index.ts\")).then(function() {\n (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.integrateBreakpoints)();\n showToasts();\n showModals();\n showNotifications();\n showActionableNotifications();\n showSnackbars();\n showWorkspacesAndActionMenu();\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__.subscribeSnackbarShown)(_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.showSnackbar);\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 (0,_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.setupHistory)();\n registerCoreExtensions();\n (0,_core_config__WEBPACK_IMPORTED_MODULE_5__.setupCoreConfig)();\n return setupApps().then(_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.finishRegisteringAllApps).then(offlineEnabled ? setupOfflineCssClasses : undefined).then(offlineEnabled ? registerOfflineHandlers : undefined).then(provideConfigs).then(runShell).catch(handleInitFailure).then(closeLoading).then(offlineEnabled ? setupOffline : undefined).then(_optionaldeps__WEBPACK_IMPORTED_MODULE_3__.registerOptionalDependencyHandler).then(_openmrs_esm_framework_src_internal__WEBPACK_IMPORTED_MODULE_1__.cleanupObsoleteFeatureFlags);\n });\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QkFBbUJDO0lBRTFDLE9BQU8sNnNCQUEyQyxDQUFDL0QsSUFBSSxDQUFDO1FBQ3REdEUseUZBQW9CQTtRQUNwQjhJO1FBQ0FHO1FBQ0FMO1FBQ0FDO1FBQ0FHO1FBQ0FEO1FBQ0FwSCwrRkFBMEJBLENBQUNMLGlGQUFnQkE7UUFDM0NHLHlHQUFvQ0EsQ0FBQ0osMkZBQTBCQTtRQUMvRFMsd0ZBQW1CQSxDQUFDTiwwRUFBU0E7UUFDN0JLLDJGQUFzQkEsQ0FBQ04sNkVBQVlBO1FBQ25DSyx3R0FBbUNBLENBQUN5STtRQUNwQ25KLG1GQUFjQTtRQUNkQyxpRkFBWUE7UUFDWmdJO1FBQ0EvRyw2REFBZUE7UUFFZixPQUFPRyxZQUNKK0IsSUFBSSxDQUFDekUseUZBQXdCQSxFQUM3QnlFLElBQUksQ0FBQ3lCLGlCQUFpQnFGLHlCQUF5Qi9ILFdBQy9DaUIsSUFBSSxDQUFDeUIsaUJBQWlCbUYsMEJBQTBCN0gsV0FDaERpQixJQUFJLENBQUNvSCxnQkFDTHBILElBQUksQ0FBQ2lDLFVBQ0w5QixLQUFLLENBQUNrQyxtQkFDTnJDLElBQUksQ0FBQ21ILGNBQ0xuSCxJQUFJLENBQUN5QixpQkFBaUJ1RCxlQUFlakcsV0FDckNpQixJQUFJLENBQUNyQyw0RUFBaUNBLEVBQ3RDcUMsSUFBSSxDQUFDNUUsNEZBQTJCQTtJQUNyQztBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uL3NyYy9ydW4udHM/YmMyNiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzdGFydCwgdHJpZ2dlckFwcENoYW5nZSB9IGZyb20gJ3NpbmdsZS1zcGEnO1xuaW1wb3J0IHsgdHlwZSBDYWxlbmRhcklkZW50aWZpZXIgfSBmcm9tICdAaW50ZXJuYXRpb25hbGl6ZWQvZGF0ZSc7XG5pbXBvcnQge1xuICBhY3RpdmF0ZU9mZmxpbmVDYXBhYmlsaXR5LFxuICBjYW5BY2Nlc3NTdG9yYWdlLFxuICBjbGVhbnVwT2Jzb2xldGVGZWF0dXJlRmxhZ3MsXG4gIGRpc3BhdGNoQ29ubmVjdGl2aXR5Q2hhbmdlZCxcbiAgZGlzcGF0Y2hQcmVjYWNoZVN0YXRpY0RlcGVuZGVuY2llcyxcbiAgZmluaXNoUmVnaXN0ZXJpbmdBbGxBcHBzLFxuICBnZXRDb25maWcsXG4gIGdldEN1cnJlbnRVc2VyLFxuICBpbnRlZ3JhdGVCcmVha3BvaW50cyxcbiAgaW50ZXJwb2xhdGVVcmwsXG4gIGlzT3Blbm1yc0FwcFJvdXRlcyxcbiAgaXNPcGVubXJzUm91dGVzLFxuICBsb2NhbFN0b3JhZ2VSb3V0ZXNQcmVmaXgsXG4gIG1lc3NhZ2VPbXJzU2VydmljZVdvcmtlcixcbiAgb3Blbm1yc0ZldGNoLFxuICBwcm92aWRlLFxuICByZWdpc3RlckFwcCxcbiAgcmVnaXN0ZXJEZWZhdWx0Q2FsZW5kYXIsXG4gIHJlZ2lzdGVyT21yc1NlcnZpY2VXb3JrZXIsXG4gIHJlbmRlckFjdGlvbmFibGVOb3RpZmljYXRpb25zLFxuICByZW5kZXJJbmxpbmVOb3RpZmljYXRpb25zLFxuICByZW5kZXJMb2FkaW5nU3Bpbm5lcixcbiAgcmVuZGVyU25hY2tiYXJzLFxuICByZW5kZXJUb2FzdHMsXG4gIHJlbmRlcldvcmtzcGFjZVdpbmRvd3NBbmRNZW51LFxuICByZXN0QmFzZVVybCxcbiAgc2V0dXBBcGlNb2R1bGUsXG4gIHNldHVwSGlzdG9yeSxcbiAgc2V0dXBNb2RhbHMsXG4gIHNob3dBY3Rpb25hYmxlTm90aWZpY2F0aW9uLFxuICBzaG93Tm90aWZpY2F0aW9uLFxuICBzaG93U25hY2tiYXIsXG4gIHNob3dUb2FzdCxcbiAgc3Vic2NyaWJlQWN0aW9uYWJsZU5vdGlmaWNhdGlvblNob3duLFxuICBzdWJzY3JpYmVDb25uZWN0aXZpdHksXG4gIHN1YnNjcmliZU5vdGlmaWNhdGlvblNob3duLFxuICBzdWJzY3JpYmVQcmVjYWNoZVN0YXRpY0RlcGVuZGVuY2llcyxcbiAgc3Vic2NyaWJlU25hY2tiYXJTaG93bixcbiAgc3Vic2NyaWJlVG9hc3RTaG93bixcbiAgdHJ5UmVnaXN0ZXJFeHRlbnNpb24sXG4gIHR5cGUgQ29uZmlnLFxuICB0eXBlIE9wZW5tcnNBcHBSb3V0ZXMsXG4gIHR5cGUgT3Blbm1yc1JvdXRlcyxcbiAgdHlwZSBTdHlsZWd1aWRlQ29uZmlnT2JqZWN0LFxufSBmcm9tICdAb3Blbm1ycy9lc20tZnJhbWV3b3JrL3NyYy9pbnRlcm5hbCc7XG5pbXBvcnQgeyBzZXR1cEkxOG4gfSBmcm9tICcuL2xvY2FsZSc7XG5pbXBvcnQgeyByZWdpc3Rlck9wdGlvbmFsRGVwZW5kZW5jeUhhbmRsZXIgfSBmcm9tICcuL29wdGlvbmFsZGVwcyc7XG5pbXBvcnQgeyBhcHBOYW1lLCBnZXRDb3JlRXh0ZW5zaW9ucyB9IGZyb20gJy4vdWknO1xuaW1wb3J0IHsgc2V0dXBDb3JlQ29uZmlnIH0gZnJvbSAnLi9jb3JlLWNvbmZpZyc7XG5cbi8vIEBpbnRlcm5hbFxuLy8gdXNlZCB0byB0cmFjayB3aGVuIHRoZSB3aW5kb3cuaW5zdGFsbGVkTW9kdWxlcyBnbG9iYWwgaXMgZmluYWxpc2VkXG4vLyBzbyB3ZSBjYW4gcHJlLWxvYWQgYWxsIG1vZHVsZXNcbmNvbnN0IFJFR0lTVFJBVElPTl9QUk9NSVNFUyA9IFN5bWJvbCgnb3Blbm1yc19yZWdpc3RyYXRpb25fcHJvbWlzZXMnKTtcblxuLyoqXG4gKiBTZXRzIHVwIHRoZSBmcm9udGVuZCBtb2R1bGVzIChhcHBzKS4gVXNlcyB0aGUgZGVmaW5lZCBleHBvcnRcbiAqIGZyb20gdGhlIHJvb3QgbW9kdWxlcyBvZiB0aGUgYXBwcy4gVGhpcyBpcyBkb25lIGJ5IHJlYWRpbmcgdGhlXG4gKiBsaXN0IG9mIGFwcHMgZnJvbSB0aGUgcm91dGVzLnJlZ2lzdHJ5Lmpzb24gZmlsZSwgd2hpY2ggc2VydmVzXG4gKiBhcyB0aGUgcmVnaXN0cnkgb2YgYWxsIGFwcHMgaW4gdGhlIGFwcGxpY2F0aW9uLlxuICovXG5hc3luYyBmdW5jdGlvbiBzZXR1cEFwcHMoKSB7XG4gIGNvbnN0IHNjcmlwdFRhZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsPEhUTUxTY3JpcHRFbGVtZW50PihcInNjcmlwdFt0eXBlPSdvcGVubXJzLXJvdXRlcyddXCIpO1xuXG4gIGNvbnN0IHByb21pc2VzOiBBcnJheTxQcm9taXNlPE9wZW5tcnNSb3V0ZXM+PiA9IFtdO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHNjcmlwdFRhZ3MubGVuZ3RoOyBpKyspIHtcbiAgICBwcm9taXNlcy5wdXNoKFxuICAgICAgKGFzeW5jIChzY3JpcHRUYWcpID0+IHtcbiAgICAgICAgbGV0IHJvdXRlczogT3Blbm1yc1JvdXRlcyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBpZiAoc2NyaXB0VGFnLnRleHRDb250ZW50KSB7XG4gICAgICAgICAgICByb3V0ZXMgPSBKU09OLnBhcnNlKHNjcmlwdFRhZy50ZXh0Q29udGVudCkgYXMgT3Blbm1yc1JvdXRlcztcbiAgICAgICAgICB9IGVsc2UgaWYgKHNjcmlwdFRhZy5zcmMpIHtcbiAgICAgICAgICAgIHJvdXRlcyA9IChhd2FpdCBvcGVubXJzRmV0Y2g8T3Blbm1yc1JvdXRlcz4oc2NyaXB0VGFnLnNyYykpLmRhdGE7XG4gICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihgQ2F1Z2h0IGVycm9yIHdoaWxlIGxvYWRpbmcgcm91dGVzIGZyb20gJHtzY3JpcHRUYWcuc3JjID8/ICdKU09OIHNjcmlwdCB0YWcgY29udGVudCd9YCwgZSk7XG5cbiAgICAgICAgICByZXR1cm4ge307XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHJvdXRlcyA/PyB7fSk7XG4gICAgICB9KShzY3JpcHRUYWdzLml0ZW0oaSkpLFxuICAgICk7XG4gIH1cblxuICBpZiAoY2FuQWNjZXNzU3RvcmFnZSgpKSB7XG4gICAgLy8gbG9hZCByb3V0ZXMgb3ZlcnJpZGVzIGZyb20gbG9jYWxTdG9yYWdlIGlmIGFueVxuICAgIGNvbnN0IGxvY2FsU3RvcmFnZSA9IHdpbmRvdy5sb2NhbFN0b3JhZ2U7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsb2NhbFN0b3JhZ2UubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IGtleSA9IGxvY2FsU3RvcmFnZS5rZXkoaSk7XG4gICAgICBpZiAoa2V5Py5zdGFydHNXaXRoKGxvY2FsU3RvcmFnZVJvdXRlc1ByZWZpeCkpIHtcbiAgICAgICAgY29uc3QgbG9jYWxPdmVycmlkZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKGtleSk7XG4gICAgICAgIGlmIChsb2NhbE92ZXJyaWRlKSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IG1heWJlT3Blbm1yc1JvdXRlcyA9IEpTT04ucGFyc2UobG9jYWxPdmVycmlkZSk7XG4gICAgICAgICAgICBpZiAoaXNPcGVubXJzQXBwUm91dGVzKG1heWJlT3Blbm1yc1JvdXRlcykpIHtcbiAgICAgICAgICAgICAgcHJvbWlzZXMucHVzaChcbiAgICAgICAgICAgICAgICBQcm9taXNlLnJlc29sdmU8T3Blbm1yc1JvdXRlcz4oe1xuICAgICAgICAgICAgICAgICAgW2tleS5zbGljZShsb2NhbFN0b3JhZ2VSb3V0ZXNQcmVmaXgubGVuZ3RoKV06IG1heWJlT3Blbm1yc1JvdXRlcyxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIG1heWJlT3Blbm1yc1JvdXRlcyA9PT0gJ3N0cmluZycgJiYgbWF5YmVPcGVubXJzUm91dGVzLnN0YXJ0c1dpdGgoJ2h0dHAnKSkge1xuICAgICAgICAgICAgICBwcm9taXNlcy5wdXNoKFxuICAgICAgICAgICAgICAgIG9wZW5tcnNGZXRjaDxPcGVubXJzQXBwUm91dGVzPihtYXliZU9wZW5tcnNSb3V0ZXMpXG4gICAgICAgICAgICAgICAgICAudGhlbigocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzT3Blbm1yc0FwcFJvdXRlcyhyZXNwb25zZS5kYXRhKSkge1xuICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoe1xuICAgICAgICAgICAgICAgICAgICAgICAgW2tleS5zbGljZShsb2NhbFN0b3JhZ2VSb3V0ZXNQcmVmaXgubGVuZ3RoKV06IHJlc3BvbnNlLmRhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoXG4gICAgICAgICAgICAgICAgICAgICAgYCR7bWF5YmVPcGVubXJzUm91dGVzfSBkaWQgbm90IHJlc29sdmUgdG8gYSB2YWxpZCBPcGVubXJzQXBwUm91dGVzIEpTT04gb2JqZWN0YCxcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAuY2F0Y2goKHJlYXNvbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgICAgICAgICAgICAgYEZhaWxlZCB0byBmZXRjaCByb3V0ZSBvdmVycmlkZXMgZm9yICR7a2V5LnNsaWNlKGxvY2FsU3RvcmFnZVJvdXRlc1ByZWZpeC5sZW5ndGgpfWAsXG4gICAgICAgICAgICAgICAgICAgICAgcmVhc29uLFxuICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIHN0aWxsIGZhaWwgdGhlIHByb21pc2VcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVhc29uO1xuICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgICAgICAgYFJvdXRlIG92ZXJyaWRlIGZvciAke2tleS5zbGljZShcbiAgICAgICAgICAgICAgICAgIGxvY2FsU3RvcmFnZVJvdXRlc1ByZWZpeC5sZW5ndGgsXG4gICAgICAgICAgICAgICAgKX0gY291bGQgbm90IGJlIGhhbmRsZWQgYXMgaXQgd2FzIG5laXRoZXIgYSBKU09OIG9iamVjdCBub3IgYSBVUkwgc3RyaW5nYCxcbiAgICAgICAgICAgICAgICBsb2NhbE92ZXJyaWRlLFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYEVycm9yIHBhcnNpbmcgbG9jYWwgcm91dGUgb3ZlcnJpZGUgZm9yICR7a2V5fWAsIGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHJvdXRlczogT3Blbm1yc1JvdXRlcyA9IChhd2FpdCBQcm9taXNlLmFsbFNldHRsZWQocHJvbWlzZXMpKVxuICAgIC5maWx0ZXIoKHApID0+IHAuc3RhdHVzID09PSAnZnVsZmlsbGVkJylcbiAgICAubWFwKChwKSA9PiAocCBhcyBQcm9taXNlRnVsZmlsbGVkUmVzdWx0PE9wZW5tcnNSb3V0ZXM+KS52YWx1ZSlcbiAgICAuZmlsdGVyKGlzT3Blbm1yc1JvdXRlcylcbiAgICAucmVkdWNlKFxuICAgICAgKGFjY3VtdWxhdGVkUm91dGVzLCByb3V0ZXMpID0+ICh7XG4gICAgICAgIC4uLmFjY3VtdWxhdGVkUm91dGVzLFxuICAgICAgICAuLi5yb3V0ZXMsXG4gICAgICB9KSxcbiAgICAgIHt9LFxuICAgICk7XG5cbiAgY29uc3QgbW9kdWxlczogdHlwZW9mIHdpbmRvdy5pbnN0YWxsZWRNb2R1bGVzID0gW107XG4gIGNvbnN0IHJlZ2lzdHJhdGlvblByb21pc2VzID0gT2JqZWN0LmVudHJpZXMocm91dGVzKS5tYXAoYXN5bmMgKFttb2R1bGUsIHJvdXRlc10pID0+IHtcbiAgICBtb2R1bGVzLnB1c2goW21vZHVsZSwgcm91dGVzXSk7XG4gICAgcmVnaXN0ZXJBcHAobW9kdWxlLCByb3V0ZXMpO1xuICB9KTtcblxuICB3aW5kb3dbUkVHSVNUUkFUSU9OX1BST01JU0VTXSA9IFByb21pc2UuYWxsKHJlZ2lzdHJhdGlvblByb21pc2VzKTtcbiAgd2luZG93Lmluc3RhbGxlZE1vZHVsZXMgPSBtb2R1bGVzO1xufVxuXG4vKipcbiAqIExvYWRzIHRoZSBwcm92aWRlZCBjb25maWd1cmF0aW9ucyBhbmQgc2V0cyB0aGVtIGluIHRoZSBzeXN0ZW0uXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGxvYWRDb25maWdzKGNvbmZpZ3M6IEFycmF5PHsgbmFtZTogc3RyaW5nOyB2YWx1ZTogQ29uZmlnIH0+KSB7XG4gIGZvciAoY29uc3QgY29uZmlnIG9mIGNvbmZpZ3MpIHtcbiAgICBwcm92aWRlKGNvbmZpZy52YWx1ZSwgY29uZmlnLm5hbWUpO1xuICB9XG59XG5cbi8qKlxuICogSW52b2tlZCB3aGVuIHRoZSBjb25uZWN0aXZpdHkgaXMgY2hhbmdlZC5cbiAqL1xuZnVuY3Rpb24gY29ubmVjdGl2aXR5Q2hhbmdlZCgpIHtcbiAgaWYgKCF3aW5kb3cub2ZmbGluZUVuYWJsZWQpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBvbmxpbmUgPSBuYXZpZ2F0b3Iub25MaW5lO1xuICAvLyBOQiBXZSBkbyBub3Qgd2FpdCBmb3IgdGhpcyB0byBiZSBkb25lOyBpdCBpcyBzaW1wbHkgc2NoZWR1bGVkXG4gIHRyaWdnZXJBcHBDaGFuZ2UoKTtcblxuICBkaXNwYXRjaENvbm5lY3Rpdml0eUNoYW5nZWQob25saW5lKTtcbiAgc2hvd1RvYXN0KHtcbiAgICBjcml0aWNhbDogdHJ1ZSxcbiAgICBkZXNjcmlwdGlvbjogYENvbm5lY3Rpb246ICR7b25saW5lID8gJ29ubGluZScgOiAnb2ZmbGluZSd9YCxcbiAgICB0aXRsZTogJ0FwcCcsXG4gICAga2luZDogb25saW5lID8gJ3N1Y2Nlc3MnIDogJ3dhcm5pbmcnLFxuICB9KTtcbn1cblxuLyoqXG4gKiBSdW5zIHRoZSBzaGVsbCBieSBpbXBvcnRpbmcgdGhlIHRyYW5zbGF0aW9ucyBhbmQgc3RhcnRpbmcgc2luZ2xlIFNQQS5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gcnVuU2hlbGwoKSB7XG4gIHJldHVybiBzZXR1cEkxOG4oKVxuICAgIC5jYXRjaCgoZXJyKSA9PiBjb25zb2xlLmVycm9yKGBGYWlsZWQgdG8gaW5pdGlhbGl6ZSB0cmFuc2xhdGlvbnNgLCBlcnIpKVxuICAgIC50aGVuKGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHsgcHJlZmVycmVkQ2FsZW5kYXIgfSA9IGF3YWl0IGdldENvbmZpZzxTdHlsZWd1aWRlQ29uZmlnT2JqZWN0PignQG9wZW5tcnMvZXNtLXN0eWxlZ3VpZGUnKTtcblxuICAgICAgZm9yIChjb25zdCBlbnRyeSBvZiBPYmplY3QuZW50cmllcyhwcmVmZXJyZWRDYWxlbmRhcikpIHtcbiAgICAgICAgcmVnaXN0ZXJEZWZhdWx0Q2FsZW5kYXIoZW50cnlbMF0sIGVudHJ5WzFdIGFzIENhbGVuZGFySWRlbnRpZmllcik7XG4gICAgICB9XG4gICAgfSlcbiAgICAudGhlbigoKSA9PiBzdGFydCgpKTtcbn1cblxuZnVuY3Rpb24gaGFuZGxlSW5pdEZhaWx1cmUoZTogRXJyb3IpIHtcbiAgY29uc29sZS5lcnJvcihlKTtcbiAgcmVuZGVyRmF0YWxFcnJvclBhZ2UoZSk7XG59XG5cbmZ1bmN0aW9uIHJlbmRlckZhdGFsRXJyb3JQYWdlKGU/OiBFcnJvcikge1xuICBjb25zdCB0ZW1wbGF0ZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3I8SFRNTFRlbXBsYXRlRWxlbWVudD4oJyNhcHAtZXJyb3InKTtcblxuICBpZiAodGVtcGxhdGUpIHtcbiAgICBjb25zdCBmcmFnbWVudCA9IHRlbXBsYXRlLmNvbnRlbnQuY2xvbmVOb2RlKHRydWUpIGFzIERvY3VtZW50RnJhZ21lbnQ7XG4gICAgY29uc3QgbWVzc2FnZUNvbnRhaW5lciA9IGZyYWdtZW50LnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLXZhcj1cIm1lc3NhZ2VcIl0nKTtcblxuICAgIGlmIChtZXNzYWdlQ29udGFpbmVyKSB7XG4gICAgICBtZXNzYWdlQ29udGFpbmVyLnRleHRDb250ZW50ID0gZT8ubWVzc2FnZSB8fCAnTm8gYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBhdmFpbGFibGUuJztcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnb3Blbm1yczpkZXZ0b29scycpICYmXG4gICAgICBPYmplY3Qua2V5cyhsb2NhbFN0b3JhZ2UpLnNvbWUoKGspID0+IGsuc3RhcnRzV2l0aCgnaW1wb3J0LW1hcC1vdmVycmlkZTonKSlcbiAgICApIHtcbiAgICAgIGNvbnN0IGFwcEVycm9yQWN0aW9uQnV0dG9ucyA9IGZyYWdtZW50Py5xdWVyeVNlbGVjdG9yKCcjYnV0dG9ucycpO1xuICAgICAgaWYgKGFwcEVycm9yQWN0aW9uQnV0dG9ucykge1xuICAgICAgICBjb25zdCBjbGVhckRldk92ZXJyaWRlc0J1dHRvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpO1xuICAgICAgICBjbGVhckRldk92ZXJyaWRlc0J1dHRvbi5jbGFzc05hbWUgPSAnY2RzLS1idG4nO1xuICAgICAgICBjbGVhckRldk92ZXJyaWRlc0J1dHRvbi5pbm5lckhUTUwgPSAnQ2xlYXIgZGV2IG92ZXJyaWRlcyc7XG4gICAgICAgIGNsZWFyRGV2T3ZlcnJpZGVzQnV0dG9uLm9uY2xpY2sgPSBjbGVhckRldk92ZXJyaWRlcztcbiAgICAgICAgYXBwRXJyb3JBY3Rpb25CdXR0b25zLmFwcGVuZENoaWxkKGNsZWFyRGV2T3ZlcnJpZGVzQnV0dG9uKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGZyYWdtZW50KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBjbGVhckRldk92ZXJyaWRlcygpIHtcbiAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMobG9jYWxTdG9yYWdlKSkge1xuICAgIGlmIChcbiAgICAgIGtleS5zdGFydHNXaXRoKCdpbXBvcnQtbWFwLW92ZXJyaWRlOicpICYmXG4gICAgICAhWydpbXBvcnQtbWFwLW92ZXJyaWRlOnJlYWN0JywgJ2ltcG9ydC1tYXAtb3ZlcnJpZGU6cmVhY3QtZG9tJ10uaW5jbHVkZXMoa2V5KVxuICAgICkge1xuICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oa2V5KTtcbiAgICB9XG4gIH1cbiAgbG9jYXRpb24ucmVsb2FkKCk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUNvbmZpZ0xvYWRlcihjb25maWdVcmxzOiBBcnJheTxzdHJpbmc+KSB7XG4gIGNvbnN0IGxvYWRpbmdDb25maWdzID0gUHJvbWlzZS5hbGwoXG4gICAgY29uZmlnVXJscy5tYXAoKGNvbmZpZ1VybCkgPT4ge1xuICAgICAgY29uc3QgaW50ZXJwb2xhdGVkVXJsID0gaW50ZXJwb2xhdGVVcmwoY29uZmlnVXJsKTtcbiAgICAgIHJldHVybiBmZXRjaChpbnRlcnBvbGF0ZWRVcmwpXG4gICAgICAgIC50aGVuKChyZXMpID0+IHJlcy5qc29uKCkpXG4gICAgICAgIC50aGVuKChjb25maWcpID0+ICh7XG4gICAgICAgICAgbmFtZTogY29uZmlnVXJsLFxuICAgICAgICAgIHZhbHVlOiBjb25maWcsXG4gICAgICAgIH0pKVxuICAgICAgICAuY2F0Y2goKGVycikgPT4ge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYExvYWRpbmcgdGhlIGNvbmZpZyBmcm9tIFwiJHtjb25maWdVcmx9XCIgZmFpbGVkLmAsIGVycik7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5hbWU6IGNvbmZpZ1VybCxcbiAgICAgICAgICAgIHZhbHVlOiB7fSxcbiAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICB9KSxcbiAgKTtcbiAgcmV0dXJuICgpID0+IGxvYWRpbmdDb25maWdzLnRoZW4obG9hZENvbmZpZ3MpO1xufVxuXG5mdW5jdGlvbiBzaG93Tm90aWZpY2F0aW9ucygpIHtcbiAgcmVuZGVySW5saW5lTm90aWZpY2F0aW9ucyhkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcub21ycy1pbmxpbmUtbm90aWZpY2F0aW9ucy1jb250YWluZXInKSk7XG4gIHJldHVybjtcbn1cblxuZnVuY3Rpb24gc2hvd0FjdGlvbmFibGVOb3RpZmljYXRpb25zKCkge1xuICByZW5kZXJBY3Rpb25hYmxlTm90aWZpY2F0aW9ucyhkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcub21ycy1hY3Rpb25hYmxlLW5vdGlmaWNhdGlvbnMtY29udGFpbmVyJykpO1xufVxuXG5mdW5jdGlvbiBzaG93VG9hc3RzKCkge1xuICByZW5kZXJUb2FzdHMoZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLm9tcnMtdG9hc3RzLWNvbnRhaW5lcicpKTtcbn1cblxuZnVuY3Rpb24gc2hvd1dvcmtzcGFjZXNBbmRBY3Rpb25NZW51KCkge1xuICByZW5kZXJXb3Jrc3BhY2VXaW5kb3dzQW5kTWVudShkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjb21ycy13b3Jrc3BhY2VzLWNvbnRhaW5lcicpKTtcbn1cblxuZnVuY3Rpb24gc2hvd1NuYWNrYmFycygpIHtcbiAgcmVuZGVyU25hY2tiYXJzKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5vbXJzLXNuYWNrYmFycy1jb250YWluZXInKSk7XG59XG5cbmZ1bmN0aW9uIHNob3dNb2RhbHMoKSB7XG4gIHNldHVwTW9kYWxzKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5vbXJzLW1vZGFscy1jb250YWluZXInKSk7XG59XG5cbmZ1bmN0aW9uIHNob3dMb2FkaW5nU3Bpbm5lcigpIHtcbiAgcmV0dXJuIHJlbmRlckxvYWRpbmdTcGlubmVyKGRvY3VtZW50LmJvZHkpO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyB0aGUgZXh0ZW5zaW9ucyBjb21pbmcgZnJvbSB0aGUgYXBwIHNoZWxsIGl0c2VsZi5cbiAqL1xuZnVuY3Rpb24gcmVnaXN0ZXJDb3JlRXh0ZW5zaW9ucygpIHtcbiAgY29uc3QgZXh0ZW5zaW9ucyA9IGdldENvcmVFeHRlbnNpb25zKCk7XG4gIGZvciAoY29uc3QgZXh0ZW5zaW9uIG9mIGV4dGVuc2lvbnMpIHtcbiAgICB0cnlSZWdpc3RlckV4dGVuc2lvbihhcHBOYW1lLCBleHRlbnNpb24pO1xuICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHNldHVwT2ZmbGluZSgpIHtcbiAgdHJ5IHtcbiAgICBhd2FpdCByZWdpc3Rlck9tcnNTZXJ2aWNlV29ya2VyKGAke3dpbmRvdy5nZXRPcGVubXJzU3BhQmFzZSgpfXNlcnZpY2Utd29ya2VyLmpzYCk7XG4gICAgYXdhaXQgYWN0aXZhdGVPZmZsaW5lQ2FwYWJpbGl0eSgpO1xuICAgIHNldHVwT2ZmbGluZVN0YXRpY0RlcGVuZGVuY3lQcmVjYWNoaW5nKCk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgY29uc29sZS5lcnJvcignRXJyb3Igd2hpbGUgc2V0dGluZyB1cCBvZmZsaW5lIG1vZGUuJywgZXJyb3IpO1xuICAgIHNob3dOb3RpZmljYXRpb24oe1xuICAgICAga2luZDogJ2Vycm9yJyxcbiAgICAgIHRpdGxlOiAnT2ZmbGluZSBTZXR1cCBFcnJvcicsXG4gICAgICBkZXNjcmlwdGlvbjogZXJyb3IubWVzc2FnZSxcbiAgICB9KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBzZXR1cE9mZmxpbmVTdGF0aWNEZXBlbmRlbmN5UHJlY2FjaGluZygpIHtcbiAgY29uc3QgcHJlY2FjaGVEZWxheSA9IDEwMDAgKiA2MCAqIDU7XG4gIGxldCBsYXN0UHJlY2FjaGU6IERhdGUgfCBudWxsID0gbnVsbDtcblxuICBzdWJzY3JpYmVPbmxpbmVBbmRMb2dpbkNoYW5nZSgob25saW5lLCBoYXNMb2dnZWRJblVzZXIpID0+IHtcbiAgICBjb25zdCBoYXNFeGNlZWRlZFByZWNhY2hlRGVsYXkgPSAhbGFzdFByZWNhY2hlIHx8IG5ldyBEYXRlKCkuZ2V0VGltZSgpIC0gbGFzdFByZWNhY2hlLmdldFRpbWUoKSA+IHByZWNhY2hlRGVsYXk7XG5cbiAgICBpZiAoaGFzTG9nZ2VkSW5Vc2VyICYmIG9ubGluZSAmJiBoYXNFeGNlZWRlZFByZWNhY2hlRGVsYXkpIHtcbiAgICAgIGxhc3RQcmVjYWNoZSA9IG5ldyBEYXRlKCk7XG4gICAgICBkaXNwYXRjaFByZWNhY2hlU3RhdGljRGVwZW5kZW5jaWVzKCk7XG4gICAgfVxuICB9KTtcbn1cblxuZnVuY3Rpb24gc3Vic2NyaWJlT25saW5lQW5kTG9naW5DaGFuZ2UoY2I6IChvbmxpbmU6IGJvb2xlYW4sIGhhc0xvZ2dlZEluVXNlcjogYm9vbGVhbikgPT4gdm9pZCkge1xuICBsZXQgaXNPbmxpbmUgPSBmYWxzZTtcbiAgbGV0IGhhc0xvZ2dlZEluVXNlciA9IGZhbHNlO1xuXG4gIGdldEN1cnJlbnRVc2VyKHsgaW5jbHVkZUF1dGhTdGF0dXM6IGZhbHNlIH0pLnN1YnNjcmliZSgodXNlcikgPT4ge1xuICAgIGhhc0xvZ2dlZEluVXNlciA9ICEhdXNlcjtcbiAgICBjYihpc09ubGluZSwgaGFzTG9nZ2VkSW5Vc2VyKTtcbiAgfSk7XG5cbiAgc3Vic2NyaWJlQ29ubmVjdGl2aXR5KCh7IG9ubGluZSB9KSA9PiB7XG4gICAgaXNPbmxpbmUgPSBvbmxpbmU7XG4gICAgY2Iob25saW5lLCBoYXNMb2dnZWRJblVzZXIpO1xuICB9KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gcHJlY2FjaGVHbG9iYWxTdGF0aWNEZXBlbmRlbmNpZXMoKSB7XG4gIGF3YWl0IHByZWNhY2hlSW1wb3J0TWFwKCk7XG5cbiAgLy8gQnkgZGVmYXVsdCwgY2FjaGUgdGhlIHNlc3Npb24gZW5kcG9pbnQuXG4gIC8vIFRoaXMgZW5zdXJlcyB0aGF0IGEgbG90IG9mIHVzZXIvc2Vzc2lvbiByZWxhdGVkIGZ1bmN0aW9ucyBhbHNvIHdvcmsgb2ZmbGluZS5cbiAgY29uc3Qgc2Vzc2lvblBhdGhVcmwgPSBuZXcgVVJMKGAke3dpbmRvdy5vcGVubXJzQmFzZX0ke3Jlc3RCYXNlVXJsfS9zZXNzaW9uYCwgd2luZG93LmxvY2F0aW9uLm9yaWdpbikuaHJlZjtcblxuICBhd2FpdCBtZXNzYWdlT21yc1NlcnZpY2VXb3JrZXIoe1xuICAgIHR5cGU6ICdyZWdpc3RlckR5bmFtaWNSb3V0ZScsXG4gICAgdXJsOiBzZXNzaW9uUGF0aFVybCxcbiAgICBzdHJhdGVneTogJ25ldHdvcmstZmlyc3QnLFxuICB9KTtcblxuICBhd2FpdCBvcGVubXJzRmV0Y2goYCR7cmVzdEJhc2VVcmx9L3Nlc3Npb25gKS5jYXRjaCgoZSkgPT5cbiAgICBjb25zb2xlLndhcm4oXG4gICAgICAnRmFpbGVkIHRvIHByZWNhY2hlIHRoZSB1c2VyIHNlc3Npb24gZGF0YSBmcm9tIHRoZSBhcHAgc2hlbGwuIE1GcyBkZXBlbmRpbmcgb24gdGhpcyBkYXRhIG1heSBydW4gaW50byBwcm9ibGVtcyB3aGlsZSBvZmZsaW5lLicsXG4gICAgICBlLFxuICAgICksXG4gICk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHByZWNhY2hlSW1wb3J0TWFwKCkge1xuICBjb25zdCBpbXBvcnRNYXAgPSBhd2FpdCB3aW5kb3cuaW1wb3J0TWFwT3ZlcnJpZGVzLmdldEN1cnJlbnRQYWdlTWFwKCk7XG4gIGF3YWl0IG1lc3NhZ2VPbXJzU2VydmljZVdvcmtlcih7XG4gICAgdHlwZTogJ29uSW1wb3J0TWFwQ2hhbmdlZCcsXG4gICAgaW1wb3J0TWFwLFxuICB9KTtcbn1cblxuZnVuY3Rpb24gcmVnaXN0ZXJPZmZsaW5lSGFuZGxlcnMoKSB7XG4gIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdvZmZsaW5lJywgY29ubmVjdGl2aXR5Q2hhbmdlZCk7XG4gIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdvbmxpbmUnLCBjb25uZWN0aXZpdHlDaGFuZ2VkKTtcbn1cblxuZnVuY3Rpb24gc2V0dXBPZmZsaW5lQ3NzQ2xhc3NlcygpIHtcbiAgc3Vic2NyaWJlQ29ubmVjdGl2aXR5KCh7IG9ubGluZSB9KSA9PiB7XG4gICAgY29uc3QgYm9keSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2JvZHknKSE7XG4gICAgaWYgKG9ubGluZSkge1xuICAgICAgYm9keS5jbGFzc0xpc3QucmVtb3ZlKCdvbXJzLW9mZmxpbmUnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYm9keS5jbGFzc0xpc3QuYWRkKCdvbXJzLW9mZmxpbmUnKTtcbiAgICB9XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcnVuKGNvbmZpZ1VybHM6IEFycmF5PHN0cmluZz4pIHtcbiAgY29uc3Qgb2ZmbGluZUVuYWJsZWQgPSB3aW5kb3cub2ZmbGluZUVuYWJsZWQ7XG4gIGNvbnN0IGNsb3NlTG9hZGluZyA9IHNob3dMb2FkaW5nU3Bpbm5lcigpO1xuICBjb25zdCBwcm92aWRlQ29uZmlncyA9IGNyZWF0ZUNvbmZpZ0xvYWRlcihjb25maWdVcmxzKTtcblxuICByZXR1cm4gaW1wb3J0KCdAb3Blbm1ycy9lc20tc3R5bGVndWlkZS9zcmMvaW5kZXgnKS50aGVuKCgpID0+IHtcbiAgICBpbnRlZ3JhdGVCcmVha3BvaW50cygpO1xuICAgIHNob3dUb2FzdHMoKTtcbiAgICBzaG93TW9kYWxzKCk7XG4gICAgc2hvd05vdGlmaWNhdGlvbnMoKTtcbiAgICBzaG93QWN0aW9uYWJsZU5vdGlmaWNhdGlvbnMoKTtcbiAgICBzaG93U25hY2tiYXJzKCk7XG4gICAgc2hvd1dvcmtzcGFjZXNBbmRBY3Rpb25NZW51KCk7XG4gICAgc3Vic2NyaWJlTm90aWZpY2F0aW9uU2hvd24oc2hvd05vdGlmaWNhdGlvbik7XG4gICAgc3Vic2NyaWJlQWN0aW9uYWJsZU5vdGlmaWNhdGlvblNob3duKHNob3dBY3Rpb25hYmxlTm90aWZpY2F0aW9uKTtcbiAgICBzdWJzY3JpYmVUb2FzdFNob3duKHNob3dUb2FzdCk7XG4gICAgc3Vic2NyaWJlU25hY2tiYXJTaG93bihzaG93U25hY2tiYXIpO1xuICAgIHN1YnNjcmliZVByZWNhY2hlU3RhdGljRGVwZW5kZW5jaWVzKHByZWNhY2hlR2xvYmFsU3RhdGljRGVwZW5kZW5jaWVzKTtcbiAgICBzZXR1cEFwaU1vZHVsZSgpO1xuICAgIHNldHVwSGlzdG9yeSgpO1xuICAgIHJlZ2lzdGVyQ29yZUV4dGVuc2lvbnMoKTtcbiAgICBzZXR1cENvcmVDb25maWcoKTtcblxuICAgIHJldHVybiBzZXR1cEFwcHMoKVxuICAgICAgLnRoZW4oZmluaXNoUmVnaXN0ZXJpbmdBbGxBcHBzKVxuICAgICAgLnRoZW4ob2ZmbGluZUVuYWJsZWQgPyBzZXR1cE9mZmxpbmVDc3NDbGFzc2VzIDogdW5kZWZpbmVkKVxuICAgICAgLnRoZW4ob2ZmbGluZUVuYWJsZWQgPyByZWdpc3Rlck9mZmxpbmVIYW5kbGVycyA6IHVuZGVmaW5lZClcbiAgICAgIC50aGVuKHByb3ZpZGVDb25maWdzKVxuICAgICAgLnRoZW4ocnVuU2hlbGwpXG4gICAgICAuY2F0Y2goaGFuZGxlSW5pdEZhaWx1cmUpXG4gICAgICAudGhlbihjbG9zZUxvYWRpbmcpXG4gICAgICAudGhlbihvZmZsaW5lRW5hYmxlZCA/IHNldHVwT2ZmbGluZSA6IHVuZGVmaW5lZClcbiAgICAgIC50aGVuKHJlZ2lzdGVyT3B0aW9uYWxEZXBlbmRlbmN5SGFuZGxlcilcbiAgICAgIC50aGVuKGNsZWFudXBPYnNvbGV0ZUZlYXR1cmVGbGFncyk7XG4gIH0pO1xufVxuIl0sIm5hbWVzIjpbInN0YXJ0IiwidHJpZ2dlckFwcENoYW5nZSIsImFjdGl2YXRlT2ZmbGluZUNhcGFiaWxpdHkiLCJjYW5BY2Nlc3NTdG9yYWdlIiwiY2xlYW51cE9ic29sZXRlRmVhdHVyZUZsYWdzIiwiZGlzcGF0Y2hDb25uZWN0aXZpdHlDaGFuZ2VkIiwiZGlzcGF0Y2hQcmVjYWNoZVN0YXRpY0RlcGVuZGVuY2llcyIsImZpbmlzaFJlZ2lzdGVyaW5nQWxsQXBwcyIsImdldENvbmZpZyIsImdldEN1cnJlbnRVc2VyIiwiaW50ZWdyYXRlQnJlYWtwb2ludHMiLCJpbnRlcnBvbGF0ZVVybCIsImlzT3Blbm1yc0FwcFJvdXRlcyIsImlzT3Blbm1yc1JvdXRlcyIsImxvY2FsU3RvcmFnZVJvdXRlc1ByZWZpeCIsIm1lc3NhZ2VPbXJzU2VydmljZVdvcmtlciIsIm9wZW5tcnNGZXRjaCIsInByb3ZpZGUiLCJyZWdpc3RlckFwcCIsInJlZ2lzdGVyRGVmYXVsdENhbGVuZGFyIiwicmVnaXN0ZXJPbXJzU2VydmljZVdvcmtlciIsInJlbmRlckFjdGlvbmFibGVOb3RpZmljYXRpb25zIiwicmVuZGVySW5saW5lTm90aWZpY2F0aW9ucyIsInJlbmRlckxvYWRpbmdTcGlubmVyIiwicmVuZGVyU25hY2tiYXJzIiwicmVuZGVyVG9hc3RzIiwicmVuZGVyV29ya3NwYWNlV2luZG93c0FuZE1lbnUiLCJyZXN0QmFzZVVybCIsInNldHVwQXBpTW9kdWxlIiwic2V0dXBIaXN0b3J5Iiwic2V0dXBNb2RhbHMiLCJzaG93QWN0aW9uYWJsZU5vdGlmaWNhdGlvbiIsInNob3dOb3RpZmljYXRpb24iLCJzaG93U25hY2tiYXIiLCJzaG93VG9hc3QiLCJzdWJzY3JpYmVBY3Rpb25hYmxlTm90aWZpY2F0aW9uU2hvd24iLCJzdWJzY3JpYmVDb25uZWN0aXZpdHkiLCJzdWJzY3JpYmVOb3RpZmljYXRpb25TaG93biIsInN1YnNjcmliZVByZWNhY2hlU3RhdGljRGVwZW5kZW5jaWVzIiwic3Vic2NyaWJlU25hY2tiYXJTaG93biIsInN1YnNjcmliZVRvYXN0U2hvd24iLCJ0cnlSZWdpc3RlckV4dGVuc2lvbiIsInNldHVwSTE4biIsInJlZ2lzdGVyT3B0aW9uYWxEZXBlbmRlbmN5SGFuZGxlciIsImFwcE5hbWUiLCJnZXRDb3JlRXh0ZW5zaW9ucyIsInNldHVwQ29yZUNvbmZpZyIsIlJFR0lTVFJBVElPTl9QUk9NSVNFUyIsIlN5bWJvbCIsInNldHVwQXBwcyIsInNjcmlwdFRhZ3MiLCJwcm9taXNlcyIsImkiLCJsb2NhbFN0b3JhZ2UiLCJyb3V0ZXMiLCJtb2R1bGVzIiwicmVnaXN0cmF0aW9uUHJvbWlzZXMiLCJkb2N1bWVudCIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJsZW5ndGgiLCJwdXNoIiwic2NyaXB0VGFnIiwiZSIsInVuZGVmaW5lZCIsInRleHRDb250ZW50IiwiSlNPTiIsInBhcnNlIiwic3JjIiwiZGF0YSIsImNvbnNvbGUiLCJlcnJvciIsIlByb21pc2UiLCJyZXNvbHZlIiwiaXRlbSIsImtleSIsInN0YXJ0c1dpdGgiLCJsb2NhbE92ZXJyaWRlIiwiZ2V0SXRlbSIsIm1heWJlT3Blbm1yc1JvdXRlcyIsInNsaWNlIiwidGhlbiIsInJlc3BvbnNlIiwicmVqZWN0IiwiY2F0Y2giLCJyZWFzb24iLCJ3YXJuIiwid2luZG93IiwiYWxsU2V0dGxlZCIsImZpbHRlciIsInAiLCJzdGF0dXMiLCJtYXAiLCJ2YWx1ZSIsInJlZHVjZSIsImFjY3VtdWxhdGVkUm91dGVzIiwiT2JqZWN0IiwiZW50cmllcyIsIm1vZHVsZSIsImFsbCIsImluc3RhbGxlZE1vZHVsZXMiLCJsb2FkQ29uZmlncyIsImNvbmZpZ3MiLCJjb25maWciLCJuYW1lIiwiY29ubmVjdGl2aXR5Q2hhbmdlZCIsIm9mZmxpbmVFbmFibGVkIiwib25saW5lIiwibmF2aWdhdG9yIiwib25MaW5lIiwiY3JpdGljYWwiLCJkZXNjcmlwdGlvbiIsInRpdGxlIiwia2luZCIsInJ1blNoZWxsIiwiZXJyIiwicHJlZmVycmVkQ2FsZW5kYXIiLCJlbnRyeSIsImhhbmRsZUluaXRGYWlsdXJlIiwicmVuZGVyRmF0YWxFcnJvclBhZ2UiLCJ0ZW1wbGF0ZSIsInF1ZXJ5U2VsZWN0b3IiLCJmcmFnbWVudCIsImNvbnRlbnQiLCJjbG9uZU5vZGUiLCJtZXNzYWdlQ29udGFpbmVyIiwibWVzc2FnZSIsImtleXMiLCJzb21lIiwiayIsImFwcEVycm9yQWN0aW9uQnV0dG9ucyIsImNsZWFyRGV2T3ZlcnJpZGVzQnV0dG9uIiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsImlubmVySFRNTCIsIm9uY2xpY2siLCJjbGVhckRldk92ZXJyaWRlcyIsImFwcGVuZENoaWxkIiwiYm9keSIsImluY2x1ZGVzIiwicmVtb3ZlSXRlbSIsImxvY2F0aW9uIiwicmVsb2FkIiwiY3JlYXRlQ29uZmlnTG9hZGVyIiwiY29uZmlnVXJscyIsImxvYWRpbmdDb25maWdzIiwiY29uZmlnVXJsIiwiaW50ZXJwb2xhdGVkVXJsIiwiZmV0Y2giLCJyZXMiLCJqc29uIiwic2hvd05vdGlmaWNhdGlvbnMiLCJzaG93QWN0aW9uYWJsZU5vdGlmaWNhdGlvbnMiLCJzaG93VG9hc3RzIiwic2hvd1dvcmtzcGFjZXNBbmRBY3Rpb25NZW51Iiwic2hvd1NuYWNrYmFycyIsInNob3dNb2RhbHMiLCJzaG93TG9hZGluZ1NwaW5uZXIiLCJyZWdpc3RlckNvcmVFeHRlbnNpb25zIiwiZXh0ZW5zaW9ucyIsImV4dGVuc2lvbiIsInNldHVwT2ZmbGluZSIsImdldE9wZW5tcnNTcGFCYXNlIiwic2V0dXBPZmZsaW5lU3RhdGljRGVwZW5kZW5jeVByZWNhY2hpbmciLCJwcmVjYWNoZURlbGF5IiwibGFzdFByZWNhY2hlIiwic3Vic2NyaWJlT25saW5lQW5kTG9naW5DaGFuZ2UiLCJoYXNMb2dnZWRJblVzZXIiLCJoYXNFeGNlZWRlZFByZWNhY2hlRGVsYXkiLCJEYXRlIiwiZ2V0VGltZSIsImNiIiwiaXNPbmxpbmUiLCJpbmNsdWRlQXV0aFN0YXR1cyIsInN1YnNjcmliZSIsInVzZXIiLCJwcmVjYWNoZUdsb2JhbFN0YXRpY0RlcGVuZGVuY2llcyIsInNlc3Npb25QYXRoVXJsIiwicHJlY2FjaGVJbXBvcnRNYXAiLCJVUkwiLCJvcGVubXJzQmFzZSIsIm9yaWdpbiIsImhyZWYiLCJ0eXBlIiwidXJsIiwic3RyYXRlZ3kiLCJpbXBvcnRNYXAiLCJpbXBvcnRNYXBPdmVycmlkZXMiLCJnZXRDdXJyZW50UGFnZU1hcCIsInJlZ2lzdGVyT2ZmbGluZUhhbmRsZXJzIiwiYWRkRXZlbnRMaXN0ZW5lciIsInNldHVwT2ZmbGluZUNzc0NsYXNzZXMiLCJjbGFzc0xpc3QiLCJyZW1vdmUiLCJhZGQiLCJydW4iLCJjbG9zZUxvYWRpbmciLCJwcm92aWRlQ29uZmlncyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/run.ts\n");
248
248
 
249
249
  /***/ }),
250
250
 
@@ -7,7 +7,7 @@
7
7
  * or disable the default devtool with "devtool: false".
8
8
  * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
9
9
  */
10
- (self["webpackChunk_openmrs_esm_app_shell"] = self["webpackChunk_openmrs_esm_app_shell"] || []).push([["webpack_sharing_consume_default_swr__internal_swr__internal-framework_esm-react-utils_dist_Ex-f1e01a"],{
10
+ (self["webpackChunk_openmrs_esm_app_shell"] = self["webpackChunk_openmrs_esm_app_shell"] || []).push([["webpack_sharing_consume_default_swr__internal_swr__internal-framework_esm-react-utils_dist_index_js"],{
11
11
 
12
12
  /***/ "../../framework/esm-api/dist/config-schema.js":
13
13
  /*!*****************************************************!*\
@@ -985,7 +985,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
985
985
  \********************************************************************/
986
986
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
987
987
 
988
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AppointmentsAltPictogram: () => (/* binding */ AppointmentsAltPictogram),\n/* harmony export */ AppointmentsPictogram: () => (/* binding */ AppointmentsPictogram),\n/* harmony export */ Assessment1Pictogram: () => (/* binding */ Assessment1Pictogram),\n/* harmony export */ Assessment2Pictogram: () => (/* binding */ Assessment2Pictogram),\n/* harmony export */ BloodBankPictogram: () => (/* binding */ BloodBankPictogram),\n/* harmony export */ CardiologyPictogram: () => (/* binding */ CardiologyPictogram),\n/* harmony export */ CtScanPictogram: () => (/* binding */ CtScanPictogram),\n/* harmony export */ DentistryPictogram: () => (/* binding */ DentistryPictogram),\n/* harmony export */ EmergencyDepartmentPictogram: () => (/* binding */ EmergencyDepartmentPictogram),\n/* harmony export */ FacilityPictogram: () => (/* binding */ FacilityPictogram),\n/* harmony export */ GeriatricsPictogram: () => (/* binding */ GeriatricsPictogram),\n/* harmony export */ GynaecologyPictogram: () => (/* binding */ GynaecologyPictogram),\n/* harmony export */ HomePictogram: () => (/* binding */ HomePictogram),\n/* harmony export */ InPatientPictogram: () => (/* binding */ InPatientPictogram),\n/* harmony export */ LaboratoryPictogram: () => (/* binding */ LaboratoryPictogram),\n/* harmony export */ Labs2Pictogram: () => (/* binding */ Labs2Pictogram),\n/* harmony export */ MaybePictogram: () => (/* binding */ MaybePictogram),\n/* harmony export */ ObstetricsPictogram: () => (/* binding */ ObstetricsPictogram),\n/* harmony export */ PatientListsPictogram: () => (/* binding */ PatientListsPictogram),\n/* harmony export */ PatientSearchPictogram: () => (/* binding */ PatientSearchPictogram),\n/* harmony export */ PatientsPictogram: () => (/* binding */ PatientsPictogram),\n/* harmony export */ PaymentsDeskPictogram: () => (/* binding */ PaymentsDeskPictogram),\n/* harmony export */ Pharmacy2Pictogram: () => (/* binding */ Pharmacy2Pictogram),\n/* harmony export */ PharmacyPictogram: () => (/* binding */ PharmacyPictogram),\n/* harmony export */ Pictogram: () => (/* binding */ Pictogram),\n/* harmony export */ RegistrationPictogram: () => (/* binding */ RegistrationPictogram),\n/* harmony export */ ServiceQueuesPictogram: () => (/* binding */ ServiceQueuesPictogram),\n/* harmony export */ StockManagementPictogram: () => (/* binding */ StockManagementPictogram),\n/* harmony export */ TransferPictogram: () => (/* binding */ TransferPictogram),\n/* harmony export */ TriagePictogram: () => (/* binding */ TriagePictogram),\n/* harmony export */ XrayPictogram: () => (/* binding */ XrayPictogram),\n/* harmony export */ pictogramIds: () => (/* binding */ pictogramIds)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! classnames */ \"../../../node_modules/classnames/index.js\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _openmrs_esm_react_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @openmrs/esm-react-utils */ \"../../framework/esm-react-utils/dist/index.js\");\n/* harmony import */ var _pictograms_module_scss__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./pictograms.module.scss */ \"../../framework/esm-styleguide/src/pictograms/pictograms.module.scss\");\n/** @category Pictograms */ function _object_without_properties(source, excluded) {\n if (source == null) return {};\n var target = _object_without_properties_loose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for(i = 0; i < sourceSymbolKeys.length; i++){\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}\nfunction _object_without_properties_loose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for(i = 0; i < sourceKeys.length; i++){\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\n\n\n\n\nvar pictogramIds = [\n 'omrs-pict-appointments',\n 'omrs-pict-assessment-1',\n 'omrs-pict-assessment-2',\n 'omrs-pict-blood-bank',\n 'omrs-pict-cardiology',\n 'omrs-pict-ct-scan',\n 'omrs-pict-dentistry',\n 'omrs-pict-emergency-department',\n 'omrs-pict-facility',\n 'omrs-pict-geriatrics',\n 'omrs-pict-gynaecology',\n 'omrs-pict-in-patient',\n 'omrs-pict-laboratory',\n 'omrs-pict-labs-2',\n 'omrs-pict-obstetrics',\n 'omrs-pict-patient-search',\n 'omrs-pict-patients',\n 'omrs-pict-payments-desk',\n 'omrs-pict-pharmacy',\n 'omrs-pict-pharmacy-2',\n 'omrs-pict-registration',\n 'omrs-pict-service-queues',\n 'omrs-pict-stock-management',\n 'omrs-pict-transfer',\n 'omrs-pict-triage',\n 'omrs-pict-x-ray'\n];\nvar AppointmentsPictogram = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.memo)(/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function AppointmentsPictogram(props, ref) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Pictogram, {\n ref: ref,\n pictogram: \"omrs-pict-appointments\",\n pictogramProps: props\n });\n}));\n/**\n * @deprecated use AppointmentsPictogram instead\n */ var AppointmentsAltPictogram = AppointmentsPictogram;\nvar Assessment1Pictogram = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.memo)(/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function Assessment1Pictogram(props, ref) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Pictogram, {\n ref: ref,\n pictogram: \"omrs-pict-assessment-1\",\n pictogramProps: props\n });\n}));\nvar Assessment2Pictogram = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.memo)(/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function Assessment2Pictogram(props, ref) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Pictogram, {\n ref: ref,\n pictogram: \"omrs-pict-assessment-2\",\n pictogramProps: props\n });\n}));\nvar BloodBankPictogram = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.memo)(/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function BloodBankPictogram(props, ref) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Pictogram, {\n ref: ref,\n pictogram: \"omrs-pict-blood-bank\",\n pictogramProps: props\n });\n}));\nvar CardiologyPictogram = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.memo)(/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function CardiologyPictogram(props, ref) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Pictogram, {\n ref: ref,\n pictogram: \"omrs-pict-cardiology\",\n pictogramProps: props\n });\n}));\nvar CtScanPictogram = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.memo)(/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function CtScanPictogram(props, ref) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Pictogram, {\n ref: ref,\n pictogram: \"omrs-pict-ct-scan\",\n pictogramProps: props\n });\n}));\nvar DentistryPictogram = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.memo)(/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function DentistryPictogram(props, ref) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Pictogram, {\n ref: ref,\n pictogram: \"omrs-pict-dentistry\",\n pictogramProps: props\n });\n}));\nvar EmergencyDepartmentPictogram = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.memo)(/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function EmergencyDepartmentPictogram(props, ref) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Pictogram, {\n ref: ref,\n pictogram: \"omrs-pict-emergency-department\",\n pictogramProps: props\n });\n}));\nvar FacilityPictogram = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.memo)(/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function FacilityPictogram(props, ref) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Pictogram, {\n ref: ref,\n pictogram: \"omrs-pict-facility\",\n pictogramProps: props\n });\n}));\nvar GeriatricsPictogram = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.memo)(/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function GeriatricsPictogram(props, ref) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Pictogram, {\n ref: ref,\n pictogram: \"omrs-pict-geriatrics\",\n pictogramProps: props\n });\n}));\nvar GynaecologyPictogram = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.memo)(/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function GynaecologyPictogram(props, ref) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Pictogram, {\n ref: ref,\n pictogram: \"omrs-pict-gynaecology\",\n pictogramProps: props\n });\n}));\nvar InPatientPictogram = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.memo)(/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function InPatientPictogram(props, ref) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Pictogram, {\n ref: ref,\n pictogram: \"omrs-pict-in-patient\",\n pictogramProps: props\n });\n}));\nvar LaboratoryPictogram = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.memo)(/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function LaboratoryPictogram(props, ref) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Pictogram, {\n ref: ref,\n pictogram: \"omrs-pict-laboratory\",\n pictogramProps: props\n });\n}));\nvar Labs2Pictogram = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.memo)(/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function Labs2Pictogram(props, ref) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Pictogram, {\n ref: ref,\n pictogram: \"omrs-pict-labs-2\",\n pictogramProps: props\n });\n}));\nvar ObstetricsPictogram = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.memo)(/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function ObstetricsPictogram(props, ref) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Pictogram, {\n ref: ref,\n pictogram: \"omrs-pict-obstetrics\",\n pictogramProps: props\n });\n}));\nvar PatientSearchPictogram = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.memo)(/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function PatientSearchPictogram(props, ref) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Pictogram, {\n ref: ref,\n pictogram: \"omrs-pict-patient-search\",\n pictogramProps: props\n });\n}));\nvar PatientsPictogram = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.memo)(/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function PatientsPictogram(props, ref) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Pictogram, {\n ref: ref,\n pictogram: \"omrs-pict-patients\",\n pictogramProps: props\n });\n}));\nvar PaymentsDeskPictogram = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.memo)(/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function PaymentsDeskPictogram(props, ref) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Pictogram, {\n ref: ref,\n pictogram: \"omrs-pict-payments-desk\",\n pictogramProps: props\n });\n}));\nvar PharmacyPictogram = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.memo)(/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function PharmacyPictogram(props, ref) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Pictogram, {\n ref: ref,\n pictogram: \"omrs-pict-pharmacy\",\n pictogramProps: props\n });\n}));\nvar Pharmacy2Pictogram = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.memo)(/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function Pharmacy2Pictogram(props, ref) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Pictogram, {\n ref: ref,\n pictogram: \"omrs-pict-pharmacy-2\",\n pictogramProps: props\n });\n}));\nvar RegistrationPictogram = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.memo)(/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function RegistrationPictogram(props, ref) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Pictogram, {\n ref: ref,\n pictogram: \"omrs-pict-registration\",\n pictogramProps: props\n });\n}));\nvar ServiceQueuesPictogram = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.memo)(/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function ServiceQueuesPictogram(props, ref) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Pictogram, {\n ref: ref,\n pictogram: \"omrs-pict-service-queues\",\n pictogramProps: props\n });\n}));\nvar StockManagementPictogram = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.memo)(/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function StockManagementPictogram(props, ref) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Pictogram, {\n ref: ref,\n pictogram: \"omrs-pict-stock-management\",\n pictogramProps: props\n });\n}));\nvar TransferPictogram = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.memo)(/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function TransferPictogram(props, ref) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Pictogram, {\n ref: ref,\n pictogram: \"omrs-pict-transfer\",\n pictogramProps: props\n });\n}));\nvar TriagePictogram = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.memo)(/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function TriagePictogram(props, ref) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Pictogram, {\n ref: ref,\n pictogram: \"omrs-pict-triage\",\n pictogramProps: props\n });\n}));\nvar XrayPictogram = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.memo)(/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function XrayPictogram(props, ref) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Pictogram, {\n ref: ref,\n pictogram: \"omrs-pict-x-ray\",\n pictogramProps: props\n });\n}));\n// Pictogram aliases that are a little more aligned to specific use-cases\n// should all resolve to a defined React icon\nvar HomePictogram = FacilityPictogram;\nvar PatientListsPictogram = PatientsPictogram;\n/**\n * This is a utility component that takes an `pictogram` and render it if the sprite for the pictogram\n * is available. The goal is to make it easier to conditionally render configuration-specified pictograms.\n *\n * @example\n * ```tsx\n * <MaybePictogram pictogram='omrs-icon-baby' className={styles.myPictogramStyles} />\n * ```\n */ var MaybePictogram = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.memo)(/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function MaybeIcon(_param, ref) {\n var pictogram = _param.pictogram, fallback = _param.fallback, pictogramProps = _object_without_properties(_param, [\n \"pictogram\",\n \"fallback\"\n ]);\n var iconRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(document.getElementById(pictogram));\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function() {\n var container = document.getElementById('omrs-svgs-container');\n var callback = function(mutationList) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;\n try {\n for(var _iterator = mutationList[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){\n var mutation = _step.value;\n if (mutation.type === 'childList') {\n iconRef.current = document.getElementById(pictogram);\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 };\n var observer = new MutationObserver(callback);\n if (container) {\n observer.observe(container, {\n childList: true\n });\n }\n return function() {\n return observer.disconnect();\n };\n }, [\n pictogram\n ]);\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_openmrs_esm_react_utils__WEBPACK_IMPORTED_MODULE_2__.RenderIfValueIsTruthy, {\n value: iconRef.current,\n fallback: fallback\n }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Pictogram, {\n ref: ref,\n pictogram: pictogram,\n pictogramProps: pictogramProps\n }));\n}));\n/**\n * This is a utility type for custom pictograms. Please maintain alphabetical order when adding new pictograms for readability.\n */ var Pictogram = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.memo)(/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function Pictogram(param, ref) {\n var pictogram = param.pictogram, pictogramProps = param.pictogramProps;\n var _Object_assign = Object.assign({}, {\n size: 92\n }, pictogramProps), className = _Object_assign.className, size = _Object_assign.size;\n if (size <= 26 || size > 144) {\n console.error(\"Invalid size '\".concat(size, \"' specified for \").concat(pictogram, \". Defaulting to 92.\"));\n size = 92;\n }\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"svg\", {\n ref: ref,\n className: classnames__WEBPACK_IMPORTED_MODULE_1___default()(_pictograms_module_scss__WEBPACK_IMPORTED_MODULE_3__[\"default\"].pictogram, className),\n height: size,\n width: size\n }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"use\", {\n href: \"#\".concat(pictogram)\n }));\n}));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1zdHlsZWd1aWRlL3NyYy9waWN0b2dyYW1zL3BpY3RvZ3JhbXMudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEseUJBQXlCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDMEM7QUFDWjtBQUNVO0FBQ3BCO0FBRXRDLElBQU1RLGVBQWU7SUFDMUI7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtDQUNELENBQVU7QUFTSixJQUFNQyxzQ0FBd0JQLDJDQUFJQSxlQUN2Q0QsaURBQVVBLENBQWdDLFNBQVNRLHNCQUFzQkMsS0FBSyxFQUFFQyxHQUFHO0lBQ2pGLHFCQUFPLDJEQUFDQztRQUFVRCxLQUFLQTtRQUFLRSxXQUFVO1FBQXlCQyxnQkFBZ0JKOztBQUNqRixJQUNBO0FBRUY7O0NBRUMsR0FDTSxJQUFNSywyQkFBMkJOLHNCQUFzQjtBQUV2RCxJQUFNTyxxQ0FBdUJkLDJDQUFJQSxlQUN0Q0QsaURBQVVBLENBQWdDLFNBQVNlLHFCQUFxQk4sS0FBSyxFQUFFQyxHQUFHO0lBQ2hGLHFCQUFPLDJEQUFDQztRQUFVRCxLQUFLQTtRQUFLRSxXQUFVO1FBQXlCQyxnQkFBZ0JKOztBQUNqRixJQUNBO0FBRUssSUFBTU8scUNBQXVCZiwyQ0FBSUEsZUFDdENELGlEQUFVQSxDQUFnQyxTQUFTZ0IscUJBQXFCUCxLQUFLLEVBQUVDLEdBQUc7SUFDaEYscUJBQU8sMkRBQUNDO1FBQVVELEtBQUtBO1FBQUtFLFdBQVU7UUFBeUJDLGdCQUFnQko7O0FBQ2pGLElBQ0E7QUFFSyxJQUFNUSxtQ0FBcUJoQiwyQ0FBSUEsZUFDcENELGlEQUFVQSxDQUFnQyxTQUFTaUIsbUJBQW1CUixLQUFLLEVBQUVD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UUFDaEVrRCxPQUFPO0lBQ1Q7SUFFQSxxQkFDRSwyREFBQ0k7UUFBSXhELEtBQUtBO1FBQUtxRCxXQUFXM0QsaURBQVVBLENBQUNFLCtEQUFLQSxDQUFDTSxTQUFTLEVBQUVtRDtRQUFZSSxRQUFRTDtRQUFNTSxPQUFPTjtxQkFDckYsMkRBQUNPO1FBQUlDLE1BQU0sSUFBYyxPQUFWMUQ7O0FBR3JCLElBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uL2ZyYW1ld29yay9lc20tc3R5bGVndWlkZS9zcmMvcGljdG9ncmFtcy9waWN0b2dyYW1zLnRzeD81MDdiIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBAY2F0ZWdvcnkgUGljdG9ncmFtcyAqL1xuaW1wb3J0IFJlYWN0LCB7IGZvcndhcmRSZWYsIG1lbW8sIHVzZUVmZmVjdCwgdXNlUmVmIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IGNsYXNzTmFtZXMsIHsgdHlwZSBBcmd1bWVudCB9IGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgUmVuZGVySWZWYWx1ZUlzVHJ1dGh5IH0gZnJvbSAnQG9wZW5tcnMvZXNtLXJlYWN0LXV0aWxzJztcbmltcG9ydCBzdHlsZSBmcm9tICcuL3BpY3RvZ3JhbXMubW9kdWxlLnNjc3MnO1xuXG5leHBvcnQgY29uc3QgcGljdG9ncmFtSWRzID0gW1xuICAnb21ycy1waWN0LWFwcG9pbnRtZW50cycsXG4gICdvbXJzLXBpY3QtYXNzZXNzbWVudC0xJyxcbiAgJ29tcnMtcGljdC1hc3Nlc3NtZW50LTInLFxuICAnb21ycy1waWN0LWJsb29kLWJhbmsnLFxuICAnb21ycy1waWN0LWNhcmRpb2xvZ3knLFxuICAnb21ycy1waWN0LWN0LXNjYW4nLFxuICAnb21ycy1waWN0LWRlbnRpc3RyeScsXG4gICdvbXJzLXBpY3QtZW1lcmdlbmN5LWRlcGFydG1lbnQnLFxuICAnb21ycy1waWN0LWZhY2lsaXR5JyxcbiAgJ29tcnMtcGljdC1nZXJpYXRyaWNzJyxcbiAgJ29tcnMtcGljdC1neW5hZWNvbG9neScsXG4gICdvbXJzLXBpY3QtaW4tcGF0aWVudCcsXG4gICdvbXJzLXBpY3QtbGFib3JhdG9yeScsXG4gICdvbXJzLXBpY3QtbGFicy0yJyxcbiAgJ29tcnMtcGljdC1vYnN0ZXRyaWNzJyxcbiAgJ29tcnMtcGljdC1wYXRpZW50LXNlYXJjaCcsXG4gICdvbXJzLXBpY3QtcGF0aWVudHMnLFxuICAnb21ycy1waWN0LXBheW1lbnRzLWRlc2snLFxuICAnb21ycy1waWN0LXBoYXJtYWN5JyxcbiAgJ29tcnMtcGljdC1waGFybWFjeS0yJyxcbiAgJ29tcnMtcGljdC1yZWdpc3RyYXRpb24nLFxuICAnb21ycy1waWN0LXNlcnZpY2UtcXVldWVzJyxcbiAgJ29tcnMtcGljdC1zdG9jay1tYW5hZ2VtZW50JyxcbiAgJ29tcnMtcGljdC10cmFuc2ZlcicsXG4gICdvbXJzLXBpY3QtdHJpYWdlJyxcbiAgJ29tcnMtcGljdC14LXJheScsXG5dIGFzIGNvbnN0O1xuXG5leHBvcnQgdHlwZSBQaWN0b2dyYW1JZCA9ICh0eXBlb2YgcGljdG9ncmFtSWRzKVtudW1iZXJdO1xuXG5leHBvcnQgdHlwZSBQaWN0b2dyYW1Qcm9wcyA9IHtcbiAgY2xhc3NOYW1lPzogQXJndW1lbnQ7XG4gIHNpemU/OiBudW1iZXI7XG59O1xuXG5leHBvcnQgY29uc3QgQXBwb2ludG1lbnRzUGljdG9ncmFtID0gbWVtbyhcbiAgZm9yd2FyZFJlZjxTVkdTVkdFbGVtZW50LCBQaWN0b2dyYW1Qcm9wcz4oZnVuY3Rpb24gQXBwb2ludG1lbnRzUGljdG9ncmFtKHByb3BzLCByZWYpIHtcbiAgICByZXR1cm4gPFBpY3RvZ3JhbSByZWY9e3JlZn0gcGljdG9ncmFtPVwib21ycy1waWN0LWFwcG9pbnRtZW50c1wiIHBpY3RvZ3JhbVByb3BzPXtwcm9wc30gLz47XG4gIH0pLFxuKTtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCB1c2UgQXBwb2ludG1lbnRzUGljdG9ncmFtIGluc3RlYWRcbiAqL1xuZXhwb3J0IGNvbnN0IEFwcG9pbnRtZW50c0FsdFBpY3RvZ3JhbSA9IEFwcG9pbnRtZW50c1BpY3RvZ3JhbTtcblxuZXhwb3J0IGNvbnN0IEFzc2Vzc21lbnQxUGljdG9ncmFtID0gbWVtbyhcbiAgZm9yd2FyZFJlZjxTVkdTVkdFbGVtZW50LCBQaWN0b2dyYW1Qcm9wcz4oZnVuY3Rpb24gQXNzZXNzbWVudDFQaWN0b2dyYW0ocHJvcHMsIHJlZikge1xuICAgIHJldHVybiA8UGljdG9ncmFtIHJlZj17cmVmfSBwaWN0b2dyYW09XCJvbXJzLXBpY3QtYXNzZXNzbWVudC0xXCIgcGljdG9ncmFtUHJvcHM9e3Byb3BzfSAvPjtcbiAgfSksXG4pO1xuXG5leHBvcnQgY29uc3QgQXNzZXNzbWVudDJQaWN0b2dyYW0gPSBtZW1vKFxuICBmb3J3YXJkUmVmPFNWR1NWR0VsZW1lbnQsIFBpY3RvZ3JhbVByb3BzPihmdW5jdGlvbiBBc3Nlc3NtZW50MlBpY3RvZ3JhbShwcm9wcywgcmVmKSB7XG4gICAgcmV0dXJuIDxQaWN0b2dyYW0gcmVmPXtyZWZ9IHBpY3RvZ3JhbT1cIm9tcnMtcGljdC1hc3Nlc3NtZW50LTJcIiBwaWN0b2dyYW1Qcm9wcz17cHJvcHN9IC8+O1xuICB9KSxcbik7XG5cbmV4cG9ydCBjb25zdCBCbG9vZEJhbmtQaWN0b2dyYW0gPSBtZW1vKFxuICBmb3J3YXJkUmVmPFNWR1NWR0VsZW1lbnQsIFBpY3RvZ3JhbVByb3BzPihmdW5jdGlvbiBCbG9vZEJhbmtQaWN0b2dyYW0ocHJvcHMsIHJlZikge1xuICAgIHJldHVybiA8UGljdG9ncmFtIHJlZj17cmVmfSBwaWN0b2dyYW09XCJvbXJzLXBpY3QtYmxvb2QtYmFua1wiIHBpY3RvZ3JhbVByb3BzPXtwcm9wc30gLz47XG4gIH0pLFxuKTtcblxuZXhwb3J0IGNvbnN0IENhcmRpb2xvZ3lQaWN0b2dyYW0gPSBtZW1vKFxuICBmb3J3YXJkUmVmPFNWR1NWR0VsZW1lbnQsIFBpY3RvZ3JhbVByb3BzPihmdW5jdGlvbiBDYXJkaW9sb2d5UGljdG9ncmFtKHByb3BzLCByZWYpIHtcbiAgICByZXR1cm4gPFBpY3RvZ3JhbSByZWY9e3JlZn0gcGljdG9ncmFtPVwib21ycy1waWN0LWNhcmRpb2xvZ3lcIiBwaWN0b2dyYW1Qcm9wcz17cHJvcHN9IC8+O1xuICB9KSxcbik7XG5cbmV4cG9ydCBjb25zdCBDdFNjYW5QaWN0b2dyYW0gPSBtZW1vKFxuICBmb3J3YXJkUmVmPFNWR1NWR0VsZW1lbnQsIFBpY3RvZ3JhbVByb3BzPihmdW5jdGlvbiBDdFNjYW5QaWN0b2dyYW0ocHJvcHMsIHJlZikge1xuICAgIHJldHVybiA8UGljdG9ncmFtIHJlZj17cmVmfSBwaWN0b2dyYW09XCJvbXJzLXBpY3QtY3Qtc2NhblwiIHBpY3RvZ3JhbVByb3BzPXtwcm9wc30gLz47XG4gIH0pLFxuKTtcblxuZXhwb3J0IGNvbnN0IERlbnRpc3RyeVBpY3RvZ3JhbSA9IG1lbW8oXG4gIGZvcndhcmRSZWY8U1ZHU1ZHRWxlbWVudCwgUGljdG9ncmFtUHJvcHM+KGZ1bmN0aW9uIERlbnRpc3RyeVBpY3RvZ3JhbShwcm9wcywgcmVmKSB7XG4gICAgcmV0dXJuIDxQaWN0b2dyYW0gcmVmPXtyZWZ9IHBpY3RvZ3JhbT1cIm9tcnMtcGljdC1kZW50aXN0cnlcIiBwaWN0b2dyYW1Qcm9wcz17cHJvcHN9IC8+O1xuICB9KSxcbik7XG5cbmV4cG9ydCBjb25zdCBFbWVyZ2VuY3lEZXBhcnRtZW50UGljdG9ncmFtID0gbWVtbyhcbiAgZm9yd2FyZFJlZjxTVkdTVkdFbGVtZW50LCBQaWN0b2dyYW1Qcm9wcz4oZnVuY3Rpb24gRW1lcmdlbmN5RGVwYXJ0bWVudFBpY3RvZ3JhbShwcm9wcywgcmVmKSB7XG4gICAgcmV0dXJuIDxQaWN0b2dyYW0gcmVmPXtyZWZ9IHBpY3RvZ3JhbT1cIm9tcnMtcGljdC1lbWVyZ2VuY3ktZGVwYXJ0bWVudFwiIHBpY3RvZ3JhbVByb3BzPXtwcm9wc30gLz47XG4gIH0pLFxuKTtcblxuZXhwb3J0IGNvbnN0IEZhY2lsaXR5UGljdG9ncmFtID0gbWVtbyhcbiAgZm9yd2FyZFJlZjxTVkdTVkdFbGVtZW50LCBQaWN0b2dyYW1Qcm9wcz4oZnVuY3Rpb24gRmFjaWxpdHlQaWN0b2dyYW0ocHJvcHMsIHJlZikge1xuICAgIHJldHVybiA8UGljdG9ncmFtIHJlZj17cmVmfSBwaWN0b2dyYW09XCJvbXJzLXBpY3QtZmFjaWxpdHlcIiBwaWN0b2dyYW1Qcm9wcz17cHJvcHN9IC8+O1xuICB9KSxcbik7XG5cbmV4cG9ydCBjb25zdCBHZXJpYXRyaWNzUGljdG9ncmFtID0gbWVtbyhcbiAgZm9yd2FyZFJlZjxTVkdTVkdFbGVtZW50LCBQaWN0b2dyYW1Qcm9wcz4oZnVuY3Rpb24gR2VyaWF0cmljc1BpY3RvZ3JhbShwcm9wcywgcmVmKSB7XG4gICAgcmV0dXJuIDxQaWN0b2dyYW0gcmVmPXtyZWZ9IHBpY3RvZ3JhbT1cIm9tcnMtcGljdC1nZXJpYXRyaWNzXCIgcGljdG9ncmFtUHJvcHM9e3Byb3BzfSAvPjtcbiAgfSksXG4pO1xuXG5leHBvcnQgY29uc3QgR3luYWVjb2xvZ3lQaWN0b2dyYW0gPSBtZW1vKFxuICBmb3J3YXJkUmVmPFNWR1NWR0VsZW1lbnQsIFBpY3RvZ3JhbVByb3BzPihmdW5jdGlvbiBHeW5hZWNvbG9neVBpY3RvZ3JhbShwcm9wcywgcmVmKSB7XG4gICAgcmV0dXJuIDxQaWN0b2dyYW0gcmVmPXtyZWZ9IHBpY3RvZ3JhbT1cIm9tcnMtcGljdC1neW5hZWNvbG9neVwiIHBpY3RvZ3JhbVByb3BzPXtwcm9wc30gLz47XG4gIH0pLFxuKTtcblxuZXhwb3J0IGNvbnN0IEluUGF0aWVudFBpY3RvZ3JhbSA9IG1lbW8oXG4gIGZvcndhcmRSZWY8U1ZHU1ZHRWxlbWVudCwgUGljdG9ncmFtUHJvcHM+KGZ1bmN0aW9uIEluUGF0aWVudFBpY3RvZ3JhbShwcm9wcywgcmVmKSB7XG4gICAgcmV0dXJuIDxQaWN0b2dyYW0gcmVmPXtyZWZ9IHBpY3RvZ3JhbT1cIm9tcnMtcGljdC1pbi1wYXRpZW50XCIgcGljdG9ncmFtUHJvcHM9e3Byb3BzfSAvPjtcbiAgfSksXG4pO1xuXG5leHBvcnQgY29uc3QgTGFib3JhdG9yeVBpY3RvZ3JhbSA9IG1lbW8oXG4gIGZvcndhcmRSZWY8U1ZHU1ZHRWxlbWVudCwgUGljdG9ncmFtUHJvcHM+KGZ1bmN0aW9uIExhYm9yYXRvcnlQaWN0b2dyYW0ocHJvcHMsIHJlZikge1xuICAgIHJldHVybiA8UGljdG9ncmFtIHJlZj17cmVmfSBwaWN0b2dyYW09XCJvbXJzLXBpY3QtbGFib3JhdG9yeVwiIHBpY3RvZ3JhbVByb3BzPXtwcm9wc30gLz47XG4gIH0pLFxuKTtcblxuZXhwb3J0IGNvbnN0IExhYnMyUGljdG9ncmFtID0gbWVtbyhcbiAgZm9yd2FyZFJlZjxTVkdTVkdFbGVtZW50LCBQaWN0b2dyYW1Qcm9wcz4oZnVuY3Rpb24gTGFiczJQaWN0b2dyYW0ocHJvcHMsIHJlZikge1xuICAgIHJldHVybiA8UGljdG9ncmFtIHJlZj17cmVmfSBwaWN0b2dyYW09XCJvbXJzLXBpY3QtbGFicy0yXCIgcGljdG9ncmFtUHJvcHM9e3Byb3BzfSAvPjtcbiAgfSksXG4pO1xuXG5leHBvcnQgY29uc3QgT2JzdGV0cmljc1BpY3RvZ3JhbSA9IG1lbW8oXG4gIGZvcndhcmRSZWY8U1ZHU1ZHRWxlbWVudCwgUGljdG9ncmFtUHJvcHM+KGZ1bmN0aW9uIE9ic3RldHJpY3NQaWN0b2dyYW0ocHJvcHMsIHJlZikge1xuICAgIHJldHVybiA8UGljdG9ncmFtIHJlZj17cmVmfSBwaWN0b2dyYW09XCJvbXJzLXBpY3Qtb2JzdGV0cmljc1wiIHBpY3RvZ3JhbVByb3BzPXtwcm9wc30gLz47XG4gIH0pLFxuKTtcblxuZXhwb3J0IGNvbnN0IFBhdGllbnRTZWFyY2hQaWN0b2dyYW0gPSBtZW1vKFxuICBmb3J3YXJkUmVmPFNWR1NWR0VsZW1lbnQsIFBpY3RvZ3JhbVByb3BzPihmdW5jdGlvbiBQYXRpZW50U2VhcmNoUGljdG9ncmFtKHByb3BzLCByZWYpIHtcbiAgICByZXR1cm4gPFBpY3RvZ3JhbSByZWY9e3JlZn0gcGljdG9ncmFtPVwib21ycy1waWN0LXBhdGllbnQtc2VhcmNoXCIgcGljdG9ncmFtUHJvcHM9e3Byb3BzfSAvPjtcbiAgfSksXG4pO1xuXG5leHBvcnQgY29uc3QgUGF0aWVudHNQaWN0b2dyYW0gPSBtZW1vKFxuICBmb3J3YXJkUmVmPFNWR1NWR0VsZW1lbnQsIFBpY3RvZ3JhbVByb3BzPihmdW5jdGlvbiBQYXRpZW50c1BpY3RvZ3JhbShwcm9wcywgcmVmKSB7XG4gICAgcmV0dXJuIDxQaWN0b2dyYW0gcmVmPXtyZWZ9IHBpY3RvZ3JhbT1cIm9tcnMtcGljdC1wYXRpZW50c1wiIHBpY3RvZ3JhbVByb3BzPXtwcm9wc30gLz47XG4gIH0pLFxuKTtcblxuZXhwb3J0IGNvbnN0IFBheW1lbnRzRGVza1BpY3RvZ3JhbSA9IG1lbW8oXG4gIGZvcndhcmRSZWY8U1ZHU1ZHRWxlbWVudCwgUGljdG9ncmFtUHJvcHM+KGZ1bmN0aW9uIFBheW1lbnRzRGVza1BpY3RvZ3JhbShwcm9wcywgcmVmKSB7XG4gICAgcmV0dXJuIDxQaWN0b2dyYW0gcmVmPXtyZWZ9IHBpY3RvZ3JhbT1cIm9tcnMtcGljdC1wYXltZW50cy1kZXNrXCIgcGljdG9ncmFtUHJvcHM9e3Byb3BzfSAvPjtcbiAgfSksXG4pO1xuXG5leHBvcnQgY29uc3QgUGhhcm1hY3lQaWN0b2dyYW0gPSBtZW1vKFxuICBmb3J3YXJkUmVmPFNWR1NWR0VsZW1lbnQsIFBpY3RvZ3JhbVByb3BzPihmdW5jdGlvbiBQaGFybWFjeVBpY3RvZ3JhbShwcm9wcywgcmVmKSB7XG4gICAgcmV0dXJuIDxQaWN0b2dyYW0gcmVmPXtyZWZ9IHBpY3RvZ3JhbT1cIm9tcnMtcGljdC1waGFybWFjeVwiIHBpY3RvZ3JhbVByb3BzPXtwcm9wc30gLz47XG4gIH0pLFxuKTtcblxuZXhwb3J0IGNvbnN0IFBoYXJtYWN5MlBpY3RvZ3JhbSA9IG1lbW8oXG4gIGZvcndhcmRSZWY8U1ZHU1ZHRWxlbWVudCwgUGljdG9ncmFtUHJvcHM+KGZ1bmN0aW9uIFBoYXJtYWN5MlBpY3RvZ3JhbShwcm9wcywgcmVmKSB7XG4gICAgcmV0dXJuIDxQaWN0b2dyYW0gcmVmPXtyZWZ9IHBpY3RvZ3JhbT1cIm9tcnMtcGljdC1waGFybWFjeS0yXCIgcGljdG9ncmFtUHJvcHM9e3Byb3BzfSAvPjtcbiAgfSksXG4pO1xuXG5leHBvcnQgY29uc3QgUmVnaXN0cmF0aW9uUGljdG9ncmFtID0gbWVtbyhcbiAgZm9yd2FyZFJlZjxTVkdTVkdFbGVtZW50LCBQaWN0b2dyYW1Qcm9wcz4oZnVuY3Rpb24gUmVnaXN0cmF0aW9uUGljdG9ncmFtKHByb3BzLCByZWYpIHtcbiAgICByZXR1cm4gPFBpY3RvZ3JhbSByZWY9e3JlZn0gcGljdG9ncmFtPVwib21ycy1waWN0LXJlZ2lzdHJhdGlvblwiIHBpY3RvZ3JhbVByb3BzPXtwcm9wc30gLz47XG4gIH0pLFxuKTtcblxuZXhwb3J0IGNvbnN0IFNlcnZpY2VRdWV1ZXNQaWN0b2dyYW0gPSBtZW1vKFxuICBmb3J3YXJkUmVmPFNWR1NWR0VsZW1lbnQsIFBpY3RvZ3JhbVByb3BzPihmdW5jdGlvbiBTZXJ2aWNlUXVldWVzUGljdG9ncmFtKHByb3BzLCByZWYpIHtcbiAgICByZXR1cm4gPFBpY3RvZ3JhbSByZWY9e3JlZn0gcGljdG9ncmFtPVwib21ycy1waWN0LXNlcnZpY2UtcXVldWVzXCIgcGljdG9ncmFtUHJvcHM9e3Byb3BzfSAvPjtcbiAgfSksXG4pO1xuXG5leHBvcnQgY29uc3QgU3RvY2tNYW5hZ2VtZW50UGljdG9ncmFtID0gbWVtbyhcbiAgZm9yd2FyZFJlZjxTVkdTVkdFbGVtZW50LCBQaWN0b2dyYW1Qcm9wcz4oZnVuY3Rpb24gU3RvY2tNYW5hZ2VtZW50UGljdG9ncmFtKHByb3BzLCByZWYpIHtcbiAgICByZXR1cm4gPFBpY3RvZ3JhbSByZWY9e3JlZn0gcGljdG9ncmFtPVwib21ycy1waWN0LXN0b2NrLW1hbmFnZW1lbnRcIiBwaWN0b2dyYW1Qcm9wcz17cHJvcHN9IC8+O1xuICB9KSxcbik7XG5cbmV4cG9ydCBjb25zdCBUcmFuc2ZlclBpY3RvZ3JhbSA9IG1lbW8oXG4gIGZvcndhcmRSZWY8U1ZHU1ZHRWxlbWVudCwgUGljdG9ncmFtUHJvcHM+KGZ1bmN0aW9uIFRyYW5zZmVyUGljdG9ncmFtKHByb3BzLCByZWYpIHtcbiAgICByZXR1cm4gPFBpY3RvZ3JhbSByZWY9e3JlZn0gcGljdG9ncmFtPVwib21ycy1waWN0LXRyYW5zZmVyXCIgcGljdG9ncmFtUHJvcHM9e3Byb3BzfSAvPjtcbiAgfSksXG4pO1xuXG5leHBvcnQgY29uc3QgVHJpYWdlUGljdG9ncmFtID0gbWVtbyhcbiAgZm9yd2FyZFJlZjxTVkdTVkdFbGVtZW50LCBQaWN0b2dyYW1Qcm9wcz4oZnVuY3Rpb24gVHJpYWdlUGljdG9ncmFtKHByb3BzLCByZWYpIHtcbiAgICByZXR1cm4gPFBpY3RvZ3JhbSByZWY9e3JlZn0gcGljdG9ncmFtPVwib21ycy1waWN0LXRyaWFnZVwiIHBpY3RvZ3JhbVByb3BzPXtwcm9wc30gLz47XG4gIH0pLFxuKTtcblxuZXhwb3J0IGNvbnN0IFhyYXlQaWN0b2dyYW0gPSBtZW1vKFxuICBmb3J3YXJkUmVmPFNWR1NWR0VsZW1lbnQsIFBpY3RvZ3JhbVByb3BzPihmdW5jdGlvbiBYcmF5UGljdG9ncmFtKHByb3BzLCByZWYpIHtcbiAgICByZXR1cm4gPFBpY3RvZ3JhbSByZWY9e3JlZn0gcGljdG9ncmFtPVwib21ycy1waWN0LXgtcmF5XCIgcGljdG9ncmFtUHJvcHM9e3Byb3BzfSAvPjtcbiAgfSksXG4pO1xuXG4vLyBQaWN0b2dyYW0gYWxpYXNlcyB0aGF0IGFyZSBhIGxpdHRsZSBtb3JlIGFsaWduZWQgdG8gc3BlY2lmaWMgdXNlLWNhc2VzXG4vLyBzaG91bGQgYWxsIHJlc29sdmUgdG8gYSBkZWZpbmVkIFJlYWN0IGljb25cblxuZXhwb3J0IGNvbnN0IEhvbWVQaWN0b2dyYW0gPSBGYWNpbGl0eVBpY3RvZ3JhbTtcblxuZXhwb3J0IGNvbnN0IFBhdGllbnRMaXN0c1BpY3RvZ3JhbSA9IFBhdGllbnRzUGljdG9ncmFtO1xuXG4vKipcbiAqIFRoaXMgaXMgYSB1dGlsaXR5IGNvbXBvbmVudCB0aGF0IHRha2VzIGFuIGBwaWN0b2dyYW1gIGFuZCByZW5kZXIgaXQgaWYgdGhlIHNwcml0ZSBmb3IgdGhlIHBpY3RvZ3JhbVxuICogaXMgYXZhaWxhYmxlLiBUaGUgZ29hbCBpcyB0byBtYWtlIGl0IGVhc2llciB0byBjb25kaXRpb25hbGx5IHJlbmRlciBjb25maWd1cmF0aW9uLXNwZWNpZmllZCBwaWN0b2dyYW1zLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c3hcbiAqICAgPE1heWJlUGljdG9ncmFtIHBpY3RvZ3JhbT0nb21ycy1pY29uLWJhYnknIGNsYXNzTmFtZT17c3R5bGVzLm15UGljdG9ncmFtU3R5bGVzfSAvPlxuICogYGBgXG4gKi9cbmV4cG9ydCBjb25zdCBNYXliZVBpY3RvZ3JhbSA9IG1lbW8oXG4gIGZvcndhcmRSZWY8U1ZHU1ZHRWxlbWVudCwgeyBwaWN0b2dyYW06IHN0cmluZzsgZmFsbGJhY2s/OiBSZWFjdC5SZWFjdE5vZGUgfSAmIFBpY3RvZ3JhbVByb3BzPihmdW5jdGlvbiBNYXliZUljb24oXG4gICAgeyBwaWN0b2dyYW0sIGZhbGxiYWNrLCAuLi5waWN0b2dyYW1Qcm9wcyB9LFxuICAgIHJlZixcbiAgKSB7XG4gICAgY29uc3QgaWNvblJlZiA9IHVzZVJlZihkb2N1bWVudC5nZXRFbGVtZW50QnlJZChwaWN0b2dyYW0pKTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBjb25zdCBjb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnb21ycy1zdmdzLWNvbnRhaW5lcicpO1xuICAgICAgY29uc3QgY2FsbGJhY2s6IE11dGF0aW9uQ2FsbGJhY2sgPSAobXV0YXRpb25MaXN0KSA9PiB7XG4gICAgICAgIGZvciAoY29uc3QgbXV0YXRpb24gb2YgbXV0YXRpb25MaXN0KSB7XG4gICAgICAgICAgaWYgKG11dGF0aW9uLnR5cGUgPT09ICdjaGlsZExpc3QnKSB7XG4gICAgICAgICAgICBpY29uUmVmLmN1cnJlbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChwaWN0b2dyYW0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfTtcblxuICAgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcihjYWxsYmFjayk7XG4gICAgICBpZiAoY29udGFpbmVyKSB7XG4gICAgICAgIG9ic2VydmVyLm9ic2VydmUoY29udGFpbmVyLCB7IGNoaWxkTGlzdDogdHJ1ZSB9KTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuICgpID0+IG9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICB9LCBbcGljdG9ncmFtXSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFJlbmRlcklmVmFsdWVJc1RydXRoeSB2YWx1ZT17aWNvblJlZi5jdXJyZW50fSBmYWxsYmFjaz17ZmFsbGJhY2t9PlxuICAgICAgICA8UGljdG9ncmFtIHJlZj17cmVmfSBwaWN0b2dyYW09e3BpY3RvZ3JhbSBhcyBQaWN0b2dyYW1JZH0gcGljdG9ncmFtUHJvcHM9e3BpY3RvZ3JhbVByb3BzfSAvPlxuICAgICAgPC9SZW5kZXJJZlZhbHVlSXNUcnV0aHk+XG4gICAgKTtcbiAgfSksXG4pO1xuXG5leHBvcnQgdHlwZSBTdmdQaWN0b2dyYW1Qcm9wcyA9IHtcbiAgLyoqIHRoZSBpZCBvZiB0aGUgcGljdG9ncmFtICAqL1xuICBwaWN0b2dyYW06IFBpY3RvZ3JhbUlkO1xuICAvKiogcHJvcGVydGllcyB3aGVuIHVzaW5nIHRoZSBwaWN0b2dyYW0gICovXG4gIHBpY3RvZ3JhbVByb3BzOiBQaWN0b2dyYW1Qcm9wcztcbn07XG5cbi8qKlxuICogVGhpcyBpcyBhIHV0aWxpdHkgdHlwZSBmb3IgY3VzdG9tIHBpY3RvZ3JhbXMuIFBsZWFzZSBtYWludGFpbiBhbHBoYWJldGljYWwgb3JkZXIgd2hlbiBhZGRpbmcgbmV3IHBpY3RvZ3JhbXMgZm9yIHJlYWRhYmlsaXR5LlxuICovXG5leHBvcnQgY29uc3QgUGljdG9ncmFtID0gbWVtbyhcbiAgZm9yd2FyZFJlZjxTVkdTVkdFbGVtZW50LCBTdmdQaWN0b2dyYW1Qcm9wcz4oZnVuY3Rpb24gUGljdG9ncmFtKHsgcGljdG9ncmFtLCBwaWN0b2dyYW1Qcm9wcyB9LCByZWYpIHtcbiAgICBsZXQgeyBjbGFzc05hbWUsIHNpemUgfSA9IE9iamVjdC5hc3NpZ24oe30sIHsgc2l6ZTogOTIgfSwgcGljdG9ncmFtUHJvcHMpO1xuICAgIGlmIChzaXplIDw9IDI2IHx8IHNpemUgPiAxNDQpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYEludmFsaWQgc2l6ZSAnJHtzaXplfScgc3BlY2lmaWVkIGZvciAke3BpY3RvZ3JhbX0uIERlZmF1bHRpbmcgdG8gOTIuYCk7XG4gICAgICBzaXplID0gOTI7XG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxzdmcgcmVmPXtyZWZ9IGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhzdHlsZS5waWN0b2dyYW0sIGNsYXNzTmFtZSl9IGhlaWdodD17c2l6ZX0gd2lkdGg9e3NpemV9PlxuICAgICAgICA8dXNlIGhyZWY9e2AjJHtwaWN0b2dyYW19YH0gLz5cbiAgICAgIDwvc3ZnPlxuICAgICk7XG4gIH0pLFxuKTtcbiJdLCJuYW1lcyI6WyJSZWFjdCIsImZvcndhcmRSZWYiLCJtZW1vIiwidXNlRWZmZWN0IiwidXNlUmVmIiwiY2xhc3NOYW1lcyIsIlJlbmRlcklmVmFsdWVJc1RydXRoeSIsInN0eWxlIiwicGljdG9ncmFtSWRzIiwiQXBwb2ludG1lbnRzUGljdG9ncmFtIiwicHJvcHMiLCJyZWYiLCJQaWN0b2dyYW0iLCJwaWN0b2dyYW0iLCJwaWN0b2dyYW1Qcm9wcyIsIkFwcG9pbnRtZW50c0FsdFBpY3RvZ3JhbSIsIkFzc2Vzc21lbnQxUGljdG9ncmFtIiwiQXNzZXNzbWVudDJQaWN0b2dyYW0iLCJCbG9vZEJhbmtQaWN0b2dyYW0iLCJDYXJkaW9sb2d5UGljdG9ncmFtIiwiQ3RTY2FuUGljdG9ncmFtIiwiRGVudGlzdHJ5UGljdG9ncmFtIiwiRW1lcmdlbmN5RGVwYXJ0bWVudFBpY3RvZ3JhbSIsIkZhY2lsaXR5UGljdG9ncmFtIiwiR2VyaWF0cmljc1BpY3RvZ3JhbSIsIkd5bmFlY29sb2d5UGljdG9ncmFtIiwiSW5QYXRpZW50UGljdG9ncmFtIiwiTGFib3JhdG9yeVBpY3RvZ3JhbSIsIkxhYnMyUGljdG9ncmFtIiwiT2JzdGV0cmljc1BpY3RvZ3JhbSIsIlBhdGllbnRTZWFyY2hQaWN0b2dyYW0iLCJQYXRpZW50c1BpY3RvZ3JhbSIsIlBheW1lbnRzRGVza1BpY3RvZ3JhbSIsIlBoYXJtYWN5UGljdG9ncmFtIiwiUGhhcm1hY3kyUGljdG9ncmFtIiwiUmVnaXN0cmF0aW9uUGljdG9ncmFtIiwiU2VydmljZVF1ZXVlc1BpY3RvZ3JhbSIsIlN0b2NrTWFuYWdlbWVudFBpY3RvZ3JhbSIsIlRyYW5zZmVyUGljdG9ncmFtIiwiVHJpYWdlUGljdG9ncmFtIiwiWHJheVBpY3RvZ3JhbSIsIkhvbWVQaWN0b2dyYW0iLCJQYXRpZW50TGlzdHNQaWN0b2dyYW0iLCJNYXliZVBpY3RvZ3JhbSIsIk1heWJlSWNvbiIsImZhbGxiYWNrIiwiaWNvblJlZiIsImRvY3VtZW50IiwiZ2V0RWxlbWVudEJ5SWQiLCJjb250YWluZXIiLCJjYWxsYmFjayIsIm11dGF0aW9uTGlzdCIsIm11dGF0aW9uIiwidHlwZSIsImN1cnJlbnQiLCJvYnNlcnZlciIsIk11dGF0aW9uT2JzZXJ2ZXIiLCJvYnNlcnZlIiwiY2hpbGRMaXN0IiwiZGlzY29ubmVjdCIsInZhbHVlIiwiT2JqZWN0IiwiYXNzaWduIiwic2l6ZSIsImNsYXNzTmFtZSIsImNvbnNvbGUiLCJlcnJvciIsInN2ZyIsImhlaWdodCIsIndpZHRoIiwidXNlIiwiaHJlZiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../../framework/esm-styleguide/src/pictograms/pictograms.tsx\n");
988
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AppointmentsAltPictogram: () => (/* binding */ AppointmentsAltPictogram),\n/* harmony export */ AppointmentsPictogram: () => (/* binding */ AppointmentsPictogram),\n/* harmony export */ Assessment1Pictogram: () => (/* binding */ Assessment1Pictogram),\n/* harmony export */ Assessment2Pictogram: () => (/* binding */ Assessment2Pictogram),\n/* harmony export */ BloodBankPictogram: () => (/* binding */ BloodBankPictogram),\n/* harmony export */ CardiologyPictogram: () => (/* binding */ CardiologyPictogram),\n/* harmony export */ CtScanPictogram: () => (/* binding */ CtScanPictogram),\n/* harmony export */ DentistryPictogram: () => (/* binding */ DentistryPictogram),\n/* harmony export */ EmergencyDepartmentPictogram: () => (/* binding */ EmergencyDepartmentPictogram),\n/* harmony export */ FacilityPictogram: () => (/* binding */ FacilityPictogram),\n/* harmony export */ GeriatricsPictogram: () => (/* binding */ GeriatricsPictogram),\n/* harmony export */ GynaecologyPictogram: () => (/* binding */ GynaecologyPictogram),\n/* harmony export */ HomePictogram: () => (/* binding */ HomePictogram),\n/* harmony export */ InPatientPictogram: () => (/* binding */ InPatientPictogram),\n/* harmony export */ LaboratoryPictogram: () => (/* binding */ LaboratoryPictogram),\n/* harmony export */ Labs2Pictogram: () => (/* binding */ Labs2Pictogram),\n/* harmony export */ MaybePictogram: () => (/* binding */ MaybePictogram),\n/* harmony export */ ObstetricsPictogram: () => (/* binding */ ObstetricsPictogram),\n/* harmony export */ PatientListsPictogram: () => (/* binding */ PatientListsPictogram),\n/* harmony export */ PatientSearchPictogram: () => (/* binding */ PatientSearchPictogram),\n/* harmony export */ PatientsPictogram: () => (/* binding */ PatientsPictogram),\n/* harmony export */ PaymentsDeskPictogram: () => (/* binding */ PaymentsDeskPictogram),\n/* harmony export */ Pharmacy2Pictogram: () => (/* binding */ Pharmacy2Pictogram),\n/* harmony export */ PharmacyPictogram: () => (/* binding */ PharmacyPictogram),\n/* harmony export */ Pictogram: () => (/* binding */ Pictogram),\n/* harmony export */ RegistrationPictogram: () => (/* binding */ RegistrationPictogram),\n/* harmony export */ ServiceQueuesPictogram: () => (/* binding */ ServiceQueuesPictogram),\n/* harmony export */ StockManagementPictogram: () => (/* binding */ StockManagementPictogram),\n/* harmony export */ TransferPictogram: () => (/* binding */ TransferPictogram),\n/* harmony export */ TriagePictogram: () => (/* binding */ TriagePictogram),\n/* harmony export */ XrayPictogram: () => (/* binding */ XrayPictogram),\n/* harmony export */ pictogramIds: () => (/* binding */ pictogramIds)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! classnames */ \"../../../node_modules/classnames/index.js\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _openmrs_esm_react_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @openmrs/esm-react-utils */ \"../../framework/esm-react-utils/dist/index.js\");\n/* harmony import */ var _pictograms_module_scss__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./pictograms.module.scss */ \"../../framework/esm-styleguide/src/pictograms/pictograms.module.scss\");\n/** @category Pictograms */ function _object_without_properties(source, excluded) {\n if (source == null) return {};\n var target = _object_without_properties_loose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for(i = 0; i < sourceSymbolKeys.length; i++){\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}\nfunction _object_without_properties_loose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for(i = 0; i < sourceKeys.length; i++){\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\n\n\n\n\nvar pictogramIds = [\n 'omrs-pict-appointments',\n 'omrs-pict-assessment-1',\n 'omrs-pict-assessment-2',\n 'omrs-pict-blood-bank',\n 'omrs-pict-cardiology',\n 'omrs-pict-ct-scan',\n 'omrs-pict-dentistry',\n 'omrs-pict-emergency-department',\n 'omrs-pict-facility',\n 'omrs-pict-geriatrics',\n 'omrs-pict-gynaecology',\n 'omrs-pict-in-patient',\n 'omrs-pict-laboratory',\n 'omrs-pict-labs-2',\n 'omrs-pict-obstetrics',\n 'omrs-pict-patient-search',\n 'omrs-pict-patients',\n 'omrs-pict-payments-desk',\n 'omrs-pict-pharmacy',\n 'omrs-pict-pharmacy-2',\n 'omrs-pict-registration',\n 'omrs-pict-service-queues',\n 'omrs-pict-stock-management',\n 'omrs-pict-transfer',\n 'omrs-pict-triage',\n 'omrs-pict-x-ray'\n];\nvar AppointmentsPictogram = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.memo)(/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function AppointmentsPictogram(props, ref) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Pictogram, {\n ref: ref,\n pictogram: \"omrs-pict-appointments\",\n pictogramProps: props\n });\n}));\n/**\n * @deprecated use AppointmentsPictogram instead\n */ var AppointmentsAltPictogram = AppointmentsPictogram;\nvar Assessment1Pictogram = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.memo)(/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function Assessment1Pictogram(props, ref) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Pictogram, {\n ref: ref,\n pictogram: \"omrs-pict-assessment-1\",\n pictogramProps: props\n });\n}));\nvar Assessment2Pictogram = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.memo)(/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function Assessment2Pictogram(props, ref) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Pictogram, {\n ref: ref,\n pictogram: \"omrs-pict-assessment-2\",\n pictogramProps: props\n });\n}));\nvar BloodBankPictogram = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.memo)(/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function BloodBankPictogram(props, ref) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Pictogram, {\n ref: ref,\n pictogram: \"omrs-pict-blood-bank\",\n pictogramProps: props\n });\n}));\nvar CardiologyPictogram = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.memo)(/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function CardiologyPictogram(props, ref) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Pictogram, {\n ref: ref,\n pictogram: \"omrs-pict-cardiology\",\n pictogramProps: props\n });\n}));\nvar CtScanPictogram = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.memo)(/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function CtScanPictogram(props, ref) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Pictogram, {\n ref: ref,\n pictogram: \"omrs-pict-ct-scan\",\n pictogramProps: props\n });\n}));\nvar DentistryPictogram = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.memo)(/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function DentistryPictogram(props, ref) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Pictogram, {\n ref: ref,\n pictogram: \"omrs-pict-dentistry\",\n pictogramProps: props\n });\n}));\nvar EmergencyDepartmentPictogram = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.memo)(/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function EmergencyDepartmentPictogram(props, ref) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Pictogram, {\n ref: ref,\n pictogram: \"omrs-pict-emergency-department\",\n pictogramProps: props\n });\n}));\nvar FacilityPictogram = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.memo)(/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function FacilityPictogram(props, ref) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Pictogram, {\n ref: ref,\n pictogram: \"omrs-pict-facility\",\n pictogramProps: props\n });\n}));\nvar GeriatricsPictogram = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.memo)(/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function GeriatricsPictogram(props, ref) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Pictogram, {\n ref: ref,\n pictogram: \"omrs-pict-geriatrics\",\n pictogramProps: props\n });\n}));\nvar GynaecologyPictogram = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.memo)(/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function GynaecologyPictogram(props, ref) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Pictogram, {\n ref: ref,\n pictogram: \"omrs-pict-gynaecology\",\n pictogramProps: props\n });\n}));\nvar InPatientPictogram = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.memo)(/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function InPatientPictogram(props, ref) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Pictogram, {\n ref: ref,\n pictogram: \"omrs-pict-in-patient\",\n pictogramProps: props\n });\n}));\nvar LaboratoryPictogram = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.memo)(/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function LaboratoryPictogram(props, ref) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Pictogram, {\n ref: ref,\n pictogram: \"omrs-pict-laboratory\",\n pictogramProps: props\n });\n}));\nvar Labs2Pictogram = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.memo)(/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function Labs2Pictogram(props, ref) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Pictogram, {\n ref: ref,\n pictogram: \"omrs-pict-labs-2\",\n pictogramProps: props\n });\n}));\nvar ObstetricsPictogram = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.memo)(/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function ObstetricsPictogram(props, ref) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Pictogram, {\n ref: ref,\n pictogram: \"omrs-pict-obstetrics\",\n pictogramProps: props\n });\n}));\nvar PatientSearchPictogram = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.memo)(/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function PatientSearchPictogram(props, ref) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Pictogram, {\n ref: ref,\n pictogram: \"omrs-pict-patient-search\",\n pictogramProps: props\n });\n}));\nvar PatientsPictogram = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.memo)(/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function PatientsPictogram(props, ref) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Pictogram, {\n ref: ref,\n pictogram: \"omrs-pict-patients\",\n pictogramProps: props\n });\n}));\nvar PaymentsDeskPictogram = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.memo)(/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function PaymentsDeskPictogram(props, ref) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Pictogram, {\n ref: ref,\n pictogram: \"omrs-pict-payments-desk\",\n pictogramProps: props\n });\n}));\nvar PharmacyPictogram = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.memo)(/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function PharmacyPictogram(props, ref) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Pictogram, {\n ref: ref,\n pictogram: \"omrs-pict-pharmacy\",\n pictogramProps: props\n });\n}));\nvar Pharmacy2Pictogram = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.memo)(/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function Pharmacy2Pictogram(props, ref) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Pictogram, {\n ref: ref,\n pictogram: \"omrs-pict-pharmacy-2\",\n pictogramProps: props\n });\n}));\nvar RegistrationPictogram = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.memo)(/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function RegistrationPictogram(props, ref) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Pictogram, {\n ref: ref,\n pictogram: \"omrs-pict-registration\",\n pictogramProps: props\n });\n}));\nvar ServiceQueuesPictogram = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.memo)(/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function ServiceQueuesPictogram(props, ref) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Pictogram, {\n ref: ref,\n pictogram: \"omrs-pict-service-queues\",\n pictogramProps: props\n });\n}));\nvar StockManagementPictogram = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.memo)(/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function StockManagementPictogram(props, ref) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Pictogram, {\n ref: ref,\n pictogram: \"omrs-pict-stock-management\",\n pictogramProps: props\n });\n}));\nvar TransferPictogram = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.memo)(/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function TransferPictogram(props, ref) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Pictogram, {\n ref: ref,\n pictogram: \"omrs-pict-transfer\",\n pictogramProps: props\n });\n}));\nvar TriagePictogram = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.memo)(/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function TriagePictogram(props, ref) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Pictogram, {\n ref: ref,\n pictogram: \"omrs-pict-triage\",\n pictogramProps: props\n });\n}));\nvar XrayPictogram = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.memo)(/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function XrayPictogram(props, ref) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Pictogram, {\n ref: ref,\n pictogram: \"omrs-pict-x-ray\",\n pictogramProps: props\n });\n}));\n// Pictogram aliases that are a little more aligned to specific use-cases\n// should all resolve to a defined React icon\nvar HomePictogram = FacilityPictogram;\nvar PatientListsPictogram = PatientsPictogram;\n/**\n * This is a utility component that takes an `pictogram` and render it if the sprite for the pictogram\n * is available. The goal is to make it easier to conditionally render configuration-specified pictograms.\n *\n * @example\n * ```tsx\n * <MaybePictogram pictogram='omrs-icon-baby' className={styles.myPictogramStyles} />\n * ```\n */ var MaybePictogram = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.memo)(/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function MaybePictogram(_param, ref) {\n var pictogram = _param.pictogram, fallback = _param.fallback, pictogramProps = _object_without_properties(_param, [\n \"pictogram\",\n \"fallback\"\n ]);\n var iconRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(document.getElementById(pictogram));\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function() {\n var container = document.getElementById('omrs-svgs-container');\n var callback = function(mutationList) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;\n try {\n for(var _iterator = mutationList[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){\n var mutation = _step.value;\n if (mutation.type === 'childList') {\n iconRef.current = document.getElementById(pictogram);\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 };\n var observer = new MutationObserver(callback);\n if (container) {\n observer.observe(container, {\n childList: true\n });\n }\n return function() {\n return observer.disconnect();\n };\n }, [\n pictogram\n ]);\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_openmrs_esm_react_utils__WEBPACK_IMPORTED_MODULE_2__.RenderIfValueIsTruthy, {\n value: iconRef.current,\n fallback: fallback\n }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Pictogram, {\n ref: ref,\n pictogram: pictogram,\n pictogramProps: pictogramProps\n }));\n}));\n/**\n * This is a utility type for custom pictograms. Please maintain alphabetical order when adding new pictograms for readability.\n */ var Pictogram = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.memo)(/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function Pictogram(param, ref) {\n var pictogram = param.pictogram, pictogramProps = param.pictogramProps;\n var _Object_assign = Object.assign({}, {\n size: 92\n }, pictogramProps), className = _Object_assign.className, size = _Object_assign.size;\n if (size <= 26 || size > 144) {\n console.error(\"Invalid size '\".concat(size, \"' specified for \").concat(pictogram, \". Defaulting to 92.\"));\n size = 92;\n }\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"svg\", {\n ref: ref,\n className: classnames__WEBPACK_IMPORTED_MODULE_1___default()(_pictograms_module_scss__WEBPACK_IMPORTED_MODULE_3__[\"default\"].pictogram, className),\n height: size,\n width: size\n }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"use\", {\n href: \"#\".concat(pictogram)\n }));\n}));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1zdHlsZWd1aWRlL3NyYy9waWN0b2dyYW1zL3BpY3RvZ3JhbXMudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEseUJBQXlCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDMEM7QUFDWjtBQUNVO0FBQ3BCO0FBRXRDLElBQU1RLGVBQWU7SUFDMUI7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtDQUNELENBQVU7QUFTSixJQUFNQyxzQ0FBd0JQLDJDQUFJQSxlQUN2Q0QsaURBQVVBLENBQWdDLFNBQVNRLHNCQUFzQkMsS0FBSyxFQUFFQyxHQUFHO0lBQ2pGLHFCQUFPLDJEQUFDQztRQUFVRCxLQUFLQTtRQUFLRSxXQUFVO1FBQXlCQyxnQkFBZ0JKOztBQUNqRixJQUNBO0FBRUY7O0NBRUMsR0FDTSxJQUFNSywyQkFBMkJOLHNCQUFzQjtBQUV2RCxJQUFNTyxxQ0FBdUJkLDJDQUFJQSxlQUN0Q0QsaURBQVVBLENBQWdDLFNBQVNlLHFCQUFxQk4sS0FBSyxFQUFFQyxHQUFHO0lBQ2hGLHFCQUFPLDJEQUFDQztRQUFVRCxLQUFLQTtRQUFLRSxXQUFVO1FBQXlCQyxnQkFBZ0JKOztBQUNqRixJQUNBO0FBRUssSUFBTU8scUNBQXVCZiwyQ0FBSUEsZUFDdENELGlEQUFVQSxDQUFnQyxTQUFTZ0IscUJBQXFCUCxLQUFLLEVBQUVDLEdBQUc7SUFDaEYscUJBQU8sMkRBQUNDO1FBQVVELEtBQUtBO1FBQUtFLFdBQVU7UUFBeUJDLGdCQUFnQko7O0FBQ2pGLElBQ0E7QUFFSyxJQUFNUSxtQ0FBcUJoQiwyQ0FBSUEsZUFDcENELGlEQUFVQSxDQUFnQyxTQUFTaUIsbUJBQW1CUixLQUFLLEVBQUVD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UUFDaEVpRCxPQUFPO0lBQ1Q7SUFFQSxxQkFDRSwyREFBQ0k7UUFBSXZELEtBQUtBO1FBQUtvRCxXQUFXMUQsaURBQVVBLENBQUNFLCtEQUFLQSxDQUFDTSxTQUFTLEVBQUVrRDtRQUFZSSxRQUFRTDtRQUFNTSxPQUFPTjtxQkFDckYsMkRBQUNPO1FBQUlDLE1BQU0sSUFBYyxPQUFWekQ7O0FBR3JCLElBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uL2ZyYW1ld29yay9lc20tc3R5bGVndWlkZS9zcmMvcGljdG9ncmFtcy9waWN0b2dyYW1zLnRzeD81MDdiIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBAY2F0ZWdvcnkgUGljdG9ncmFtcyAqL1xuaW1wb3J0IFJlYWN0LCB7IGZvcndhcmRSZWYsIG1lbW8sIHVzZUVmZmVjdCwgdXNlUmVmIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IGNsYXNzTmFtZXMsIHsgdHlwZSBBcmd1bWVudCB9IGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgUmVuZGVySWZWYWx1ZUlzVHJ1dGh5IH0gZnJvbSAnQG9wZW5tcnMvZXNtLXJlYWN0LXV0aWxzJztcbmltcG9ydCBzdHlsZSBmcm9tICcuL3BpY3RvZ3JhbXMubW9kdWxlLnNjc3MnO1xuXG5leHBvcnQgY29uc3QgcGljdG9ncmFtSWRzID0gW1xuICAnb21ycy1waWN0LWFwcG9pbnRtZW50cycsXG4gICdvbXJzLXBpY3QtYXNzZXNzbWVudC0xJyxcbiAgJ29tcnMtcGljdC1hc3Nlc3NtZW50LTInLFxuICAnb21ycy1waWN0LWJsb29kLWJhbmsnLFxuICAnb21ycy1waWN0LWNhcmRpb2xvZ3knLFxuICAnb21ycy1waWN0LWN0LXNjYW4nLFxuICAnb21ycy1waWN0LWRlbnRpc3RyeScsXG4gICdvbXJzLXBpY3QtZW1lcmdlbmN5LWRlcGFydG1lbnQnLFxuICAnb21ycy1waWN0LWZhY2lsaXR5JyxcbiAgJ29tcnMtcGljdC1nZXJpYXRyaWNzJyxcbiAgJ29tcnMtcGljdC1neW5hZWNvbG9neScsXG4gICdvbXJzLXBpY3QtaW4tcGF0aWVudCcsXG4gICdvbXJzLXBpY3QtbGFib3JhdG9yeScsXG4gICdvbXJzLXBpY3QtbGFicy0yJyxcbiAgJ29tcnMtcGljdC1vYnN0ZXRyaWNzJyxcbiAgJ29tcnMtcGljdC1wYXRpZW50LXNlYXJjaCcsXG4gICdvbXJzLXBpY3QtcGF0aWVudHMnLFxuICAnb21ycy1waWN0LXBheW1lbnRzLWRlc2snLFxuICAnb21ycy1waWN0LXBoYXJtYWN5JyxcbiAgJ29tcnMtcGljdC1waGFybWFjeS0yJyxcbiAgJ29tcnMtcGljdC1yZWdpc3RyYXRpb24nLFxuICAnb21ycy1waWN0LXNlcnZpY2UtcXVldWVzJyxcbiAgJ29tcnMtcGljdC1zdG9jay1tYW5hZ2VtZW50JyxcbiAgJ29tcnMtcGljdC10cmFuc2ZlcicsXG4gICdvbXJzLXBpY3QtdHJpYWdlJyxcbiAgJ29tcnMtcGljdC14LXJheScsXG5dIGFzIGNvbnN0O1xuXG5leHBvcnQgdHlwZSBQaWN0b2dyYW1JZCA9ICh0eXBlb2YgcGljdG9ncmFtSWRzKVtudW1iZXJdO1xuXG5leHBvcnQgdHlwZSBQaWN0b2dyYW1Qcm9wcyA9IHtcbiAgY2xhc3NOYW1lPzogQXJndW1lbnQ7XG4gIHNpemU/OiBudW1iZXI7XG59O1xuXG5leHBvcnQgY29uc3QgQXBwb2ludG1lbnRzUGljdG9ncmFtID0gbWVtbyhcbiAgZm9yd2FyZFJlZjxTVkdTVkdFbGVtZW50LCBQaWN0b2dyYW1Qcm9wcz4oZnVuY3Rpb24gQXBwb2ludG1lbnRzUGljdG9ncmFtKHByb3BzLCByZWYpIHtcbiAgICByZXR1cm4gPFBpY3RvZ3JhbSByZWY9e3JlZn0gcGljdG9ncmFtPVwib21ycy1waWN0LWFwcG9pbnRtZW50c1wiIHBpY3RvZ3JhbVByb3BzPXtwcm9wc30gLz47XG4gIH0pLFxuKTtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCB1c2UgQXBwb2ludG1lbnRzUGljdG9ncmFtIGluc3RlYWRcbiAqL1xuZXhwb3J0IGNvbnN0IEFwcG9pbnRtZW50c0FsdFBpY3RvZ3JhbSA9IEFwcG9pbnRtZW50c1BpY3RvZ3JhbTtcblxuZXhwb3J0IGNvbnN0IEFzc2Vzc21lbnQxUGljdG9ncmFtID0gbWVtbyhcbiAgZm9yd2FyZFJlZjxTVkdTVkdFbGVtZW50LCBQaWN0b2dyYW1Qcm9wcz4oZnVuY3Rpb24gQXNzZXNzbWVudDFQaWN0b2dyYW0ocHJvcHMsIHJlZikge1xuICAgIHJldHVybiA8UGljdG9ncmFtIHJlZj17cmVmfSBwaWN0b2dyYW09XCJvbXJzLXBpY3QtYXNzZXNzbWVudC0xXCIgcGljdG9ncmFtUHJvcHM9e3Byb3BzfSAvPjtcbiAgfSksXG4pO1xuXG5leHBvcnQgY29uc3QgQXNzZXNzbWVudDJQaWN0b2dyYW0gPSBtZW1vKFxuICBmb3J3YXJkUmVmPFNWR1NWR0VsZW1lbnQsIFBpY3RvZ3JhbVByb3BzPihmdW5jdGlvbiBBc3Nlc3NtZW50MlBpY3RvZ3JhbShwcm9wcywgcmVmKSB7XG4gICAgcmV0dXJuIDxQaWN0b2dyYW0gcmVmPXtyZWZ9IHBpY3RvZ3JhbT1cIm9tcnMtcGljdC1hc3Nlc3NtZW50LTJcIiBwaWN0b2dyYW1Qcm9wcz17cHJvcHN9IC8+O1xuICB9KSxcbik7XG5cbmV4cG9ydCBjb25zdCBCbG9vZEJhbmtQaWN0b2dyYW0gPSBtZW1vKFxuICBmb3J3YXJkUmVmPFNWR1NWR0VsZW1lbnQsIFBpY3RvZ3JhbVByb3BzPihmdW5jdGlvbiBCbG9vZEJhbmtQaWN0b2dyYW0ocHJvcHMsIHJlZikge1xuICAgIHJldHVybiA8UGljdG9ncmFtIHJlZj17cmVmfSBwaWN0b2dyYW09XCJvbXJzLXBpY3QtYmxvb2QtYmFua1wiIHBpY3RvZ3JhbVByb3BzPXtwcm9wc30gLz47XG4gIH0pLFxuKTtcblxuZXhwb3J0IGNvbnN0IENhcmRpb2xvZ3lQaWN0b2dyYW0gPSBtZW1vKFxuICBmb3J3YXJkUmVmPFNWR1NWR0VsZW1lbnQsIFBpY3RvZ3JhbVByb3BzPihmdW5jdGlvbiBDYXJkaW9sb2d5UGljdG9ncmFtKHByb3BzLCByZWYpIHtcbiAgICByZXR1cm4gPFBpY3RvZ3JhbSByZWY9e3JlZn0gcGljdG9ncmFtPVwib21ycy1waWN0LWNhcmRpb2xvZ3lcIiBwaWN0b2dyYW1Qcm9wcz17cHJvcHN9IC8+O1xuICB9KSxcbik7XG5cbmV4cG9ydCBjb25zdCBDdFNjYW5QaWN0b2dyYW0gPSBtZW1vKFxuICBmb3J3YXJkUmVmPFNWR1NWR0VsZW1lbnQsIFBpY3RvZ3JhbVByb3BzPihmdW5jdGlvbiBDdFNjYW5QaWN0b2dyYW0ocHJvcHMsIHJlZikge1xuICAgIHJldHVybiA8UGljdG9ncmFtIHJlZj17cmVmfSBwaWN0b2dyYW09XCJvbXJzLXBpY3QtY3Qtc2NhblwiIHBpY3RvZ3JhbVByb3BzPXtwcm9wc30gLz47XG4gIH0pLFxuKTtcblxuZXhwb3J0IGNvbnN0IERlbnRpc3RyeVBpY3RvZ3JhbSA9IG1lbW8oXG4gIGZvcndhcmRSZWY8U1ZHU1ZHRWxlbWVudCwgUGljdG9ncmFtUHJvcHM+KGZ1bmN0aW9uIERlbnRpc3RyeVBpY3RvZ3JhbShwcm9wcywgcmVmKSB7XG4gICAgcmV0dXJuIDxQaWN0b2dyYW0gcmVmPXtyZWZ9IHBpY3RvZ3JhbT1cIm9tcnMtcGljdC1kZW50aXN0cnlcIiBwaWN0b2dyYW1Qcm9wcz17cHJvcHN9IC8+O1xuICB9KSxcbik7XG5cbmV4cG9ydCBjb25zdCBFbWVyZ2VuY3lEZXBhcnRtZW50UGljdG9ncmFtID0gbWVtbyhcbiAgZm9yd2FyZFJlZjxTVkdTVkdFbGVtZW50LCBQaWN0b2dyYW1Qcm9wcz4oZnVuY3Rpb24gRW1lcmdlbmN5RGVwYXJ0bWVudFBpY3RvZ3JhbShwcm9wcywgcmVmKSB7XG4gICAgcmV0dXJuIDxQaWN0b2dyYW0gcmVmPXtyZWZ9IHBpY3RvZ3JhbT1cIm9tcnMtcGljdC1lbWVyZ2VuY3ktZGVwYXJ0bWVudFwiIHBpY3RvZ3JhbVByb3BzPXtwcm9wc30gLz47XG4gIH0pLFxuKTtcblxuZXhwb3J0IGNvbnN0IEZhY2lsaXR5UGljdG9ncmFtID0gbWVtbyhcbiAgZm9yd2FyZFJlZjxTVkdTVkdFbGVtZW50LCBQaWN0b2dyYW1Qcm9wcz4oZnVuY3Rpb24gRmFjaWxpdHlQaWN0b2dyYW0ocHJvcHMsIHJlZikge1xuICAgIHJldHVybiA8UGljdG9ncmFtIHJlZj17cmVmfSBwaWN0b2dyYW09XCJvbXJzLXBpY3QtZmFjaWxpdHlcIiBwaWN0b2dyYW1Qcm9wcz17cHJvcHN9IC8+O1xuICB9KSxcbik7XG5cbmV4cG9ydCBjb25zdCBHZXJpYXRyaWNzUGljdG9ncmFtID0gbWVtbyhcbiAgZm9yd2FyZFJlZjxTVkdTVkdFbGVtZW50LCBQaWN0b2dyYW1Qcm9wcz4oZnVuY3Rpb24gR2VyaWF0cmljc1BpY3RvZ3JhbShwcm9wcywgcmVmKSB7XG4gICAgcmV0dXJuIDxQaWN0b2dyYW0gcmVmPXtyZWZ9IHBpY3RvZ3JhbT1cIm9tcnMtcGljdC1nZXJpYXRyaWNzXCIgcGljdG9ncmFtUHJvcHM9e3Byb3BzfSAvPjtcbiAgfSksXG4pO1xuXG5leHBvcnQgY29uc3QgR3luYWVjb2xvZ3lQaWN0b2dyYW0gPSBtZW1vKFxuICBmb3J3YXJkUmVmPFNWR1NWR0VsZW1lbnQsIFBpY3RvZ3JhbVByb3BzPihmdW5jdGlvbiBHeW5hZWNvbG9neVBpY3RvZ3JhbShwcm9wcywgcmVmKSB7XG4gICAgcmV0dXJuIDxQaWN0b2dyYW0gcmVmPXtyZWZ9IHBpY3RvZ3JhbT1cIm9tcnMtcGljdC1neW5hZWNvbG9neVwiIHBpY3RvZ3JhbVByb3BzPXtwcm9wc30gLz47XG4gIH0pLFxuKTtcblxuZXhwb3J0IGNvbnN0IEluUGF0aWVudFBpY3RvZ3JhbSA9IG1lbW8oXG4gIGZvcndhcmRSZWY8U1ZHU1ZHRWxlbWVudCwgUGljdG9ncmFtUHJvcHM+KGZ1bmN0aW9uIEluUGF0aWVudFBpY3RvZ3JhbShwcm9wcywgcmVmKSB7XG4gICAgcmV0dXJuIDxQaWN0b2dyYW0gcmVmPXtyZWZ9IHBpY3RvZ3JhbT1cIm9tcnMtcGljdC1pbi1wYXRpZW50XCIgcGljdG9ncmFtUHJvcHM9e3Byb3BzfSAvPjtcbiAgfSksXG4pO1xuXG5leHBvcnQgY29uc3QgTGFib3JhdG9yeVBpY3RvZ3JhbSA9IG1lbW8oXG4gIGZvcndhcmRSZWY8U1ZHU1ZHRWxlbWVudCwgUGljdG9ncmFtUHJvcHM+KGZ1bmN0aW9uIExhYm9yYXRvcnlQaWN0b2dyYW0ocHJvcHMsIHJlZikge1xuICAgIHJldHVybiA8UGljdG9ncmFtIHJlZj17cmVmfSBwaWN0b2dyYW09XCJvbXJzLXBpY3QtbGFib3JhdG9yeVwiIHBpY3RvZ3JhbVByb3BzPXtwcm9wc30gLz47XG4gIH0pLFxuKTtcblxuZXhwb3J0IGNvbnN0IExhYnMyUGljdG9ncmFtID0gbWVtbyhcbiAgZm9yd2FyZFJlZjxTVkdTVkdFbGVtZW50LCBQaWN0b2dyYW1Qcm9wcz4oZnVuY3Rpb24gTGFiczJQaWN0b2dyYW0ocHJvcHMsIHJlZikge1xuICAgIHJldHVybiA8UGljdG9ncmFtIHJlZj17cmVmfSBwaWN0b2dyYW09XCJvbXJzLXBpY3QtbGFicy0yXCIgcGljdG9ncmFtUHJvcHM9e3Byb3BzfSAvPjtcbiAgfSksXG4pO1xuXG5leHBvcnQgY29uc3QgT2JzdGV0cmljc1BpY3RvZ3JhbSA9IG1lbW8oXG4gIGZvcndhcmRSZWY8U1ZHU1ZHRWxlbWVudCwgUGljdG9ncmFtUHJvcHM+KGZ1bmN0aW9uIE9ic3RldHJpY3NQaWN0b2dyYW0ocHJvcHMsIHJlZikge1xuICAgIHJldHVybiA8UGljdG9ncmFtIHJlZj17cmVmfSBwaWN0b2dyYW09XCJvbXJzLXBpY3Qtb2JzdGV0cmljc1wiIHBpY3RvZ3JhbVByb3BzPXtwcm9wc30gLz47XG4gIH0pLFxuKTtcblxuZXhwb3J0IGNvbnN0IFBhdGllbnRTZWFyY2hQaWN0b2dyYW0gPSBtZW1vKFxuICBmb3J3YXJkUmVmPFNWR1NWR0VsZW1lbnQsIFBpY3RvZ3JhbVByb3BzPihmdW5jdGlvbiBQYXRpZW50U2VhcmNoUGljdG9ncmFtKHByb3BzLCByZWYpIHtcbiAgICByZXR1cm4gPFBpY3RvZ3JhbSByZWY9e3JlZn0gcGljdG9ncmFtPVwib21ycy1waWN0LXBhdGllbnQtc2VhcmNoXCIgcGljdG9ncmFtUHJvcHM9e3Byb3BzfSAvPjtcbiAgfSksXG4pO1xuXG5leHBvcnQgY29uc3QgUGF0aWVudHNQaWN0b2dyYW0gPSBtZW1vKFxuICBmb3J3YXJkUmVmPFNWR1NWR0VsZW1lbnQsIFBpY3RvZ3JhbVByb3BzPihmdW5jdGlvbiBQYXRpZW50c1BpY3RvZ3JhbShwcm9wcywgcmVmKSB7XG4gICAgcmV0dXJuIDxQaWN0b2dyYW0gcmVmPXtyZWZ9IHBpY3RvZ3JhbT1cIm9tcnMtcGljdC1wYXRpZW50c1wiIHBpY3RvZ3JhbVByb3BzPXtwcm9wc30gLz47XG4gIH0pLFxuKTtcblxuZXhwb3J0IGNvbnN0IFBheW1lbnRzRGVza1BpY3RvZ3JhbSA9IG1lbW8oXG4gIGZvcndhcmRSZWY8U1ZHU1ZHRWxlbWVudCwgUGljdG9ncmFtUHJvcHM+KGZ1bmN0aW9uIFBheW1lbnRzRGVza1BpY3RvZ3JhbShwcm9wcywgcmVmKSB7XG4gICAgcmV0dXJuIDxQaWN0b2dyYW0gcmVmPXtyZWZ9IHBpY3RvZ3JhbT1cIm9tcnMtcGljdC1wYXltZW50cy1kZXNrXCIgcGljdG9ncmFtUHJvcHM9e3Byb3BzfSAvPjtcbiAgfSksXG4pO1xuXG5leHBvcnQgY29uc3QgUGhhcm1hY3lQaWN0b2dyYW0gPSBtZW1vKFxuICBmb3J3YXJkUmVmPFNWR1NWR0VsZW1lbnQsIFBpY3RvZ3JhbVByb3BzPihmdW5jdGlvbiBQaGFybWFjeVBpY3RvZ3JhbShwcm9wcywgcmVmKSB7XG4gICAgcmV0dXJuIDxQaWN0b2dyYW0gcmVmPXtyZWZ9IHBpY3RvZ3JhbT1cIm9tcnMtcGljdC1waGFybWFjeVwiIHBpY3RvZ3JhbVByb3BzPXtwcm9wc30gLz47XG4gIH0pLFxuKTtcblxuZXhwb3J0IGNvbnN0IFBoYXJtYWN5MlBpY3RvZ3JhbSA9IG1lbW8oXG4gIGZvcndhcmRSZWY8U1ZHU1ZHRWxlbWVudCwgUGljdG9ncmFtUHJvcHM+KGZ1bmN0aW9uIFBoYXJtYWN5MlBpY3RvZ3JhbShwcm9wcywgcmVmKSB7XG4gICAgcmV0dXJuIDxQaWN0b2dyYW0gcmVmPXtyZWZ9IHBpY3RvZ3JhbT1cIm9tcnMtcGljdC1waGFybWFjeS0yXCIgcGljdG9ncmFtUHJvcHM9e3Byb3BzfSAvPjtcbiAgfSksXG4pO1xuXG5leHBvcnQgY29uc3QgUmVnaXN0cmF0aW9uUGljdG9ncmFtID0gbWVtbyhcbiAgZm9yd2FyZFJlZjxTVkdTVkdFbGVtZW50LCBQaWN0b2dyYW1Qcm9wcz4oZnVuY3Rpb24gUmVnaXN0cmF0aW9uUGljdG9ncmFtKHByb3BzLCByZWYpIHtcbiAgICByZXR1cm4gPFBpY3RvZ3JhbSByZWY9e3JlZn0gcGljdG9ncmFtPVwib21ycy1waWN0LXJlZ2lzdHJhdGlvblwiIHBpY3RvZ3JhbVByb3BzPXtwcm9wc30gLz47XG4gIH0pLFxuKTtcblxuZXhwb3J0IGNvbnN0IFNlcnZpY2VRdWV1ZXNQaWN0b2dyYW0gPSBtZW1vKFxuICBmb3J3YXJkUmVmPFNWR1NWR0VsZW1lbnQsIFBpY3RvZ3JhbVByb3BzPihmdW5jdGlvbiBTZXJ2aWNlUXVldWVzUGljdG9ncmFtKHByb3BzLCByZWYpIHtcbiAgICByZXR1cm4gPFBpY3RvZ3JhbSByZWY9e3JlZn0gcGljdG9ncmFtPVwib21ycy1waWN0LXNlcnZpY2UtcXVldWVzXCIgcGljdG9ncmFtUHJvcHM9e3Byb3BzfSAvPjtcbiAgfSksXG4pO1xuXG5leHBvcnQgY29uc3QgU3RvY2tNYW5hZ2VtZW50UGljdG9ncmFtID0gbWVtbyhcbiAgZm9yd2FyZFJlZjxTVkdTVkdFbGVtZW50LCBQaWN0b2dyYW1Qcm9wcz4oZnVuY3Rpb24gU3RvY2tNYW5hZ2VtZW50UGljdG9ncmFtKHByb3BzLCByZWYpIHtcbiAgICByZXR1cm4gPFBpY3RvZ3JhbSByZWY9e3JlZn0gcGljdG9ncmFtPVwib21ycy1waWN0LXN0b2NrLW1hbmFnZW1lbnRcIiBwaWN0b2dyYW1Qcm9wcz17cHJvcHN9IC8+O1xuICB9KSxcbik7XG5cbmV4cG9ydCBjb25zdCBUcmFuc2ZlclBpY3RvZ3JhbSA9IG1lbW8oXG4gIGZvcndhcmRSZWY8U1ZHU1ZHRWxlbWVudCwgUGljdG9ncmFtUHJvcHM+KGZ1bmN0aW9uIFRyYW5zZmVyUGljdG9ncmFtKHByb3BzLCByZWYpIHtcbiAgICByZXR1cm4gPFBpY3RvZ3JhbSByZWY9e3JlZn0gcGljdG9ncmFtPVwib21ycy1waWN0LXRyYW5zZmVyXCIgcGljdG9ncmFtUHJvcHM9e3Byb3BzfSAvPjtcbiAgfSksXG4pO1xuXG5leHBvcnQgY29uc3QgVHJpYWdlUGljdG9ncmFtID0gbWVtbyhcbiAgZm9yd2FyZFJlZjxTVkdTVkdFbGVtZW50LCBQaWN0b2dyYW1Qcm9wcz4oZnVuY3Rpb24gVHJpYWdlUGljdG9ncmFtKHByb3BzLCByZWYpIHtcbiAgICByZXR1cm4gPFBpY3RvZ3JhbSByZWY9e3JlZn0gcGljdG9ncmFtPVwib21ycy1waWN0LXRyaWFnZVwiIHBpY3RvZ3JhbVByb3BzPXtwcm9wc30gLz47XG4gIH0pLFxuKTtcblxuZXhwb3J0IGNvbnN0IFhyYXlQaWN0b2dyYW0gPSBtZW1vKFxuICBmb3J3YXJkUmVmPFNWR1NWR0VsZW1lbnQsIFBpY3RvZ3JhbVByb3BzPihmdW5jdGlvbiBYcmF5UGljdG9ncmFtKHByb3BzLCByZWYpIHtcbiAgICByZXR1cm4gPFBpY3RvZ3JhbSByZWY9e3JlZn0gcGljdG9ncmFtPVwib21ycy1waWN0LXgtcmF5XCIgcGljdG9ncmFtUHJvcHM9e3Byb3BzfSAvPjtcbiAgfSksXG4pO1xuXG4vLyBQaWN0b2dyYW0gYWxpYXNlcyB0aGF0IGFyZSBhIGxpdHRsZSBtb3JlIGFsaWduZWQgdG8gc3BlY2lmaWMgdXNlLWNhc2VzXG4vLyBzaG91bGQgYWxsIHJlc29sdmUgdG8gYSBkZWZpbmVkIFJlYWN0IGljb25cblxuZXhwb3J0IGNvbnN0IEhvbWVQaWN0b2dyYW0gPSBGYWNpbGl0eVBpY3RvZ3JhbTtcblxuZXhwb3J0IGNvbnN0IFBhdGllbnRMaXN0c1BpY3RvZ3JhbSA9IFBhdGllbnRzUGljdG9ncmFtO1xuXG4vKipcbiAqIFRoaXMgaXMgYSB1dGlsaXR5IGNvbXBvbmVudCB0aGF0IHRha2VzIGFuIGBwaWN0b2dyYW1gIGFuZCByZW5kZXIgaXQgaWYgdGhlIHNwcml0ZSBmb3IgdGhlIHBpY3RvZ3JhbVxuICogaXMgYXZhaWxhYmxlLiBUaGUgZ29hbCBpcyB0byBtYWtlIGl0IGVhc2llciB0byBjb25kaXRpb25hbGx5IHJlbmRlciBjb25maWd1cmF0aW9uLXNwZWNpZmllZCBwaWN0b2dyYW1zLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c3hcbiAqICAgPE1heWJlUGljdG9ncmFtIHBpY3RvZ3JhbT0nb21ycy1pY29uLWJhYnknIGNsYXNzTmFtZT17c3R5bGVzLm15UGljdG9ncmFtU3R5bGVzfSAvPlxuICogYGBgXG4gKi9cbmV4cG9ydCBjb25zdCBNYXliZVBpY3RvZ3JhbSA9IG1lbW8oXG4gIGZvcndhcmRSZWY8U1ZHU1ZHRWxlbWVudCwgeyBwaWN0b2dyYW06IHN0cmluZzsgZmFsbGJhY2s/OiBSZWFjdC5SZWFjdE5vZGUgfSAmIFBpY3RvZ3JhbVByb3BzPihmdW5jdGlvbiBNYXliZVBpY3RvZ3JhbShcbiAgICB7IHBpY3RvZ3JhbSwgZmFsbGJhY2ssIC4uLnBpY3RvZ3JhbVByb3BzIH0sXG4gICAgcmVmLFxuICApIHtcbiAgICBjb25zdCBpY29uUmVmID0gdXNlUmVmKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHBpY3RvZ3JhbSkpO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGNvbnN0IGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdvbXJzLXN2Z3MtY29udGFpbmVyJyk7XG4gICAgICBjb25zdCBjYWxsYmFjazogTXV0YXRpb25DYWxsYmFjayA9IChtdXRhdGlvbkxpc3QpID0+IHtcbiAgICAgICAgZm9yIChjb25zdCBtdXRhdGlvbiBvZiBtdXRhdGlvbkxpc3QpIHtcbiAgICAgICAgICBpZiAobXV0YXRpb24udHlwZSA9PT0gJ2NoaWxkTGlzdCcpIHtcbiAgICAgICAgICAgIGljb25SZWYuY3VycmVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHBpY3RvZ3JhbSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKGNhbGxiYWNrKTtcbiAgICAgIGlmIChjb250YWluZXIpIHtcbiAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZShjb250YWluZXIsIHsgY2hpbGRMaXN0OiB0cnVlIH0pO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gKCkgPT4gb2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgIH0sIFtwaWN0b2dyYW1dKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8UmVuZGVySWZWYWx1ZUlzVHJ1dGh5IHZhbHVlPXtpY29uUmVmLmN1cnJlbnR9IGZhbGxiYWNrPXtmYWxsYmFja30+XG4gICAgICAgIDxQaWN0b2dyYW0gcmVmPXtyZWZ9IHBpY3RvZ3JhbT17cGljdG9ncmFtIGFzIFBpY3RvZ3JhbUlkfSBwaWN0b2dyYW1Qcm9wcz17cGljdG9ncmFtUHJvcHN9IC8+XG4gICAgICA8L1JlbmRlcklmVmFsdWVJc1RydXRoeT5cbiAgICApO1xuICB9KSxcbik7XG5cbmV4cG9ydCB0eXBlIFN2Z1BpY3RvZ3JhbVByb3BzID0ge1xuICAvKiogdGhlIGlkIG9mIHRoZSBwaWN0b2dyYW0gICovXG4gIHBpY3RvZ3JhbTogUGljdG9ncmFtSWQ7XG4gIC8qKiBwcm9wZXJ0aWVzIHdoZW4gdXNpbmcgdGhlIHBpY3RvZ3JhbSAgKi9cbiAgcGljdG9ncmFtUHJvcHM6IFBpY3RvZ3JhbVByb3BzO1xufTtcblxuLyoqXG4gKiBUaGlzIGlzIGEgdXRpbGl0eSB0eXBlIGZvciBjdXN0b20gcGljdG9ncmFtcy4gUGxlYXNlIG1haW50YWluIGFscGhhYmV0aWNhbCBvcmRlciB3aGVuIGFkZGluZyBuZXcgcGljdG9ncmFtcyBmb3IgcmVhZGFiaWxpdHkuXG4gKi9cbmV4cG9ydCBjb25zdCBQaWN0b2dyYW0gPSBtZW1vKFxuICBmb3J3YXJkUmVmPFNWR1NWR0VsZW1lbnQsIFN2Z1BpY3RvZ3JhbVByb3BzPihmdW5jdGlvbiBQaWN0b2dyYW0oeyBwaWN0b2dyYW0sIHBpY3RvZ3JhbVByb3BzIH0sIHJlZikge1xuICAgIGxldCB7IGNsYXNzTmFtZSwgc2l6ZSB9ID0gT2JqZWN0LmFzc2lnbih7fSwgeyBzaXplOiA5MiB9LCBwaWN0b2dyYW1Qcm9wcyk7XG4gICAgaWYgKHNpemUgPD0gMjYgfHwgc2l6ZSA+IDE0NCkge1xuICAgICAgY29uc29sZS5lcnJvcihgSW52YWxpZCBzaXplICcke3NpemV9JyBzcGVjaWZpZWQgZm9yICR7cGljdG9ncmFtfS4gRGVmYXVsdGluZyB0byA5Mi5gKTtcbiAgICAgIHNpemUgPSA5MjtcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPHN2ZyByZWY9e3JlZn0gY2xhc3NOYW1lPXtjbGFzc05hbWVzKHN0eWxlLnBpY3RvZ3JhbSwgY2xhc3NOYW1lKX0gaGVpZ2h0PXtzaXplfSB3aWR0aD17c2l6ZX0+XG4gICAgICAgIDx1c2UgaHJlZj17YCMke3BpY3RvZ3JhbX1gfSAvPlxuICAgICAgPC9zdmc+XG4gICAgKTtcbiAgfSksXG4pO1xuIl0sIm5hbWVzIjpbIlJlYWN0IiwiZm9yd2FyZFJlZiIsIm1lbW8iLCJ1c2VFZmZlY3QiLCJ1c2VSZWYiLCJjbGFzc05hbWVzIiwiUmVuZGVySWZWYWx1ZUlzVHJ1dGh5Iiwic3R5bGUiLCJwaWN0b2dyYW1JZHMiLCJBcHBvaW50bWVudHNQaWN0b2dyYW0iLCJwcm9wcyIsInJlZiIsIlBpY3RvZ3JhbSIsInBpY3RvZ3JhbSIsInBpY3RvZ3JhbVByb3BzIiwiQXBwb2ludG1lbnRzQWx0UGljdG9ncmFtIiwiQXNzZXNzbWVudDFQaWN0b2dyYW0iLCJBc3Nlc3NtZW50MlBpY3RvZ3JhbSIsIkJsb29kQmFua1BpY3RvZ3JhbSIsIkNhcmRpb2xvZ3lQaWN0b2dyYW0iLCJDdFNjYW5QaWN0b2dyYW0iLCJEZW50aXN0cnlQaWN0b2dyYW0iLCJFbWVyZ2VuY3lEZXBhcnRtZW50UGljdG9ncmFtIiwiRmFjaWxpdHlQaWN0b2dyYW0iLCJHZXJpYXRyaWNzUGljdG9ncmFtIiwiR3luYWVjb2xvZ3lQaWN0b2dyYW0iLCJJblBhdGllbnRQaWN0b2dyYW0iLCJMYWJvcmF0b3J5UGljdG9ncmFtIiwiTGFiczJQaWN0b2dyYW0iLCJPYnN0ZXRyaWNzUGljdG9ncmFtIiwiUGF0aWVudFNlYXJjaFBpY3RvZ3JhbSIsIlBhdGllbnRzUGljdG9ncmFtIiwiUGF5bWVudHNEZXNrUGljdG9ncmFtIiwiUGhhcm1hY3lQaWN0b2dyYW0iLCJQaGFybWFjeTJQaWN0b2dyYW0iLCJSZWdpc3RyYXRpb25QaWN0b2dyYW0iLCJTZXJ2aWNlUXVldWVzUGljdG9ncmFtIiwiU3RvY2tNYW5hZ2VtZW50UGljdG9ncmFtIiwiVHJhbnNmZXJQaWN0b2dyYW0iLCJUcmlhZ2VQaWN0b2dyYW0iLCJYcmF5UGljdG9ncmFtIiwiSG9tZVBpY3RvZ3JhbSIsIlBhdGllbnRMaXN0c1BpY3RvZ3JhbSIsIk1heWJlUGljdG9ncmFtIiwiZmFsbGJhY2siLCJpY29uUmVmIiwiZG9jdW1lbnQiLCJnZXRFbGVtZW50QnlJZCIsImNvbnRhaW5lciIsImNhbGxiYWNrIiwibXV0YXRpb25MaXN0IiwibXV0YXRpb24iLCJ0eXBlIiwiY3VycmVudCIsIm9ic2VydmVyIiwiTXV0YXRpb25PYnNlcnZlciIsIm9ic2VydmUiLCJjaGlsZExpc3QiLCJkaXNjb25uZWN0IiwidmFsdWUiLCJPYmplY3QiLCJhc3NpZ24iLCJzaXplIiwiY2xhc3NOYW1lIiwiY29uc29sZSIsImVycm9yIiwic3ZnIiwiaGVpZ2h0Iiwid2lkdGgiLCJ1c2UiLCJocmVmIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///../../framework/esm-styleguide/src/pictograms/pictograms.tsx\n");
989
989
 
990
990
  /***/ }),
991
991