@commercetools-frontend/application-shell 22.17.0 → 22.17.2

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 (71) hide show
  1. package/dist/commercetools-frontend-application-shell.cjs.dev.js +2 -2
  2. package/dist/commercetools-frontend-application-shell.cjs.prod.js +2 -2
  3. package/dist/commercetools-frontend-application-shell.esm.js +2 -2
  4. package/dist/{custom-view-dev-host-e21e5a32.esm.js → custom-view-dev-host-03a7e8ee.esm.js} +2 -2
  5. package/dist/{custom-view-dev-host-3e6d433e.cjs.dev.js → custom-view-dev-host-5f8c0099.cjs.dev.js} +2 -2
  6. package/dist/{custom-view-dev-host-f29878d8.cjs.prod.js → custom-view-dev-host-a4c2526e.cjs.prod.js} +2 -2
  7. package/dist/declarations/src/components/navbar/main-navbar.styles.d.ts +47 -0
  8. package/dist/declarations/src/components/navbar/menu-items.d.ts +2 -5
  9. package/dist/declarations/src/components/navbar/menu-items.styles.d.ts +52 -0
  10. package/dist/declarations/src/components/navbar/shared.styles.d.ts +18 -0
  11. package/dist/declarations/src/constants.d.ts +15 -3
  12. package/dist/{index-c92d8a48.cjs.dev.js → index-3a78b6af.cjs.dev.js} +29 -29
  13. package/dist/{index-528c3a33.cjs.prod.js → index-3d6cf404.cjs.prod.js} +18 -18
  14. package/dist/{index-fd3ab5c6.esm.js → index-5f138907.esm.js} +30 -30
  15. package/dist/navbar-17317c0f.cjs.dev.js +1334 -0
  16. package/dist/navbar-2af36692.esm.js +1301 -0
  17. package/dist/{navbar-d60f807a.cjs.prod.js → navbar-53abe300.cjs.prod.js} +228 -252
  18. package/dist/{oidc-7c48215c.cjs.dev.js → oidc-63e926e1.cjs.dev.js} +17 -4
  19. package/dist/{oidc-callback-ce1b0eda.cjs.dev.js → oidc-callback-10ec1861.cjs.dev.js} +2 -2
  20. package/dist/{oidc-callback-bfa85a94.esm.js → oidc-callback-137a6058.esm.js} +2 -2
  21. package/dist/{oidc-callback-04085556.cjs.prod.js → oidc-callback-663e13d0.cjs.prod.js} +2 -2
  22. package/dist/{oidc-b070ff6c.cjs.prod.js → oidc-cfa56c46.cjs.prod.js} +17 -4
  23. package/dist/{oidc-da8526e3.esm.js → oidc-ff53dfd3.esm.js} +17 -5
  24. package/dist/{project-container-f1416d28.esm.js → project-container-695b6d00.esm.js} +6 -6
  25. package/dist/{project-container-c515853a.cjs.prod.js → project-container-a7b22509.cjs.prod.js} +6 -6
  26. package/dist/{project-container-a7fa7db0.cjs.dev.js → project-container-c967d69d.cjs.dev.js} +6 -6
  27. package/dist/{project-expired-2f224a15.cjs.prod.js → project-expired-198fe545.cjs.prod.js} +3 -3
  28. package/dist/{project-expired-11b7fd68.esm.js → project-expired-4a84dc5d.esm.js} +3 -3
  29. package/dist/{project-expired-61105fb9.cjs.dev.js → project-expired-fcc5b863.cjs.dev.js} +3 -3
  30. package/dist/{project-not-found-62ebce6e.esm.js → project-not-found-43c7b3d9.esm.js} +3 -3
  31. package/dist/{project-not-found-48cf94a3.cjs.prod.js → project-not-found-aee676f3.cjs.prod.js} +3 -3
  32. package/dist/{project-not-found-a28398bf.cjs.dev.js → project-not-found-bd1ed00d.cjs.dev.js} +3 -3
  33. package/dist/{project-not-initialized-3e294ed5.esm.js → project-not-initialized-3f005d66.esm.js} +3 -3
  34. package/dist/{project-not-initialized-0d42087d.cjs.prod.js → project-not-initialized-855e47a8.cjs.prod.js} +3 -3
  35. package/dist/{project-not-initialized-fd0e86c9.cjs.dev.js → project-not-initialized-ed2395cc.cjs.dev.js} +3 -3
  36. package/dist/{project-suspended-db1068ca.esm.js → project-suspended-030ffee4.esm.js} +3 -3
  37. package/dist/{project-suspended-500dbb1b.cjs.prod.js → project-suspended-3ef95f71.cjs.prod.js} +3 -3
  38. package/dist/{project-suspended-77a01855.cjs.dev.js → project-suspended-4a17383b.cjs.dev.js} +3 -3
  39. package/dist/quick-access-04797c0b.esm.js +1818 -0
  40. package/dist/quick-access-a40b1e0f.cjs.dev.js +1848 -0
  41. package/dist/{quick-access-2c92aa86.cjs.prod.js → quick-access-bd6496a4.cjs.prod.js} +8 -8
  42. package/dist/{redirect-to-login-5e148cff.esm.js → redirect-to-login-5615df08.esm.js} +1 -1
  43. package/dist/{redirect-to-login-d2287ced.cjs.dev.js → redirect-to-login-5e78faae.cjs.dev.js} +1 -1
  44. package/dist/{redirect-to-login-e4f2ca07.cjs.prod.js → redirect-to-login-ad874fb5.cjs.prod.js} +1 -1
  45. package/dist/{redirect-to-logout-f3e5475b.cjs.dev.js → redirect-to-logout-86110e8c.cjs.dev.js} +2 -2
  46. package/dist/{redirect-to-logout-5f9db1ee.esm.js → redirect-to-logout-9b60153e.esm.js} +2 -2
  47. package/dist/{redirect-to-logout-7609e738.cjs.prod.js → redirect-to-logout-9b9b32c5.cjs.prod.js} +2 -2
  48. package/dist/{requests-in-flight-loader-43b3200e.esm.js → requests-in-flight-loader-0f883386.esm.js} +2 -2
  49. package/dist/{requests-in-flight-loader-a54338f5.cjs.dev.js → requests-in-flight-loader-6ab1fa05.cjs.dev.js} +2 -2
  50. package/dist/{requests-in-flight-loader-10022cf4.cjs.prod.js → requests-in-flight-loader-f5ea48c9.cjs.prod.js} +2 -2
  51. package/dist/{service-page-project-switcher-a1408268.esm.js → service-page-project-switcher-1b1fa2df.esm.js} +1 -1
  52. package/dist/{service-page-project-switcher-0bd44b89.cjs.prod.js → service-page-project-switcher-7cddddfb.cjs.prod.js} +1 -1
  53. package/dist/{service-page-project-switcher-ffa91841.cjs.dev.js → service-page-project-switcher-b35c912b.cjs.dev.js} +1 -1
  54. package/dist/{user-settings-menu-4580467a.cjs.prod.js → user-settings-menu-1314b25d.cjs.prod.js} +2 -3
  55. package/dist/user-settings-menu-60dc5e0a.cjs.dev.js +364 -0
  56. package/dist/user-settings-menu-dcbb0bd3.esm.js +338 -0
  57. package/dist/{version-tracker-1bd0b997.cjs.prod.js → version-tracker-15416b7d.cjs.prod.js} +2 -2
  58. package/dist/{version-tracker-83f3dcb4.esm.js → version-tracker-acf36f46.esm.js} +2 -2
  59. package/dist/{version-tracker-9549fe99.cjs.dev.js → version-tracker-f54893c4.cjs.dev.js} +2 -2
  60. package/package.json +30 -33
  61. package/ssr/dist/commercetools-frontend-application-shell-ssr.cjs.dev.js +1 -1
  62. package/ssr/dist/commercetools-frontend-application-shell-ssr.cjs.prod.js +1 -1
  63. package/ssr/dist/commercetools-frontend-application-shell-ssr.esm.js +1 -1
  64. package/dist/declarations/src/components/navbar/compiled/navbar.css.json.d.ts +0 -3
  65. package/dist/declarations/src/components/navbar/navbar.styles.d.ts +0 -7
  66. package/dist/navbar-5a1b9a06.esm.js +0 -1223
  67. package/dist/navbar-a5342082.cjs.dev.js +0 -1256
  68. package/dist/quick-access-6f0f1cda.cjs.dev.js +0 -1848
  69. package/dist/quick-access-ee315928.esm.js +0 -1818
  70. package/dist/user-settings-menu-1ae6c56e.cjs.dev.js +0 -365
  71. package/dist/user-settings-menu-46fe08bf.esm.js +0 -339
@@ -1,1256 +0,0 @@
1
- 'use strict';
2
-
3
- var _defineProperty = require('@babel/runtime-corejs3/helpers/defineProperty');
4
- var _slicedToArray = require('@babel/runtime-corejs3/helpers/slicedToArray');
5
- var _pt = require('prop-types');
6
- var _filterInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/filter');
7
- var _mapInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/map');
8
- var _concatInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/concat');
9
- var _Array$isArray = require('@babel/runtime-corejs3/core-js-stable/array/is-array');
10
- var _Object$keys = require('@babel/runtime-corejs3/core-js-stable/object/keys');
11
- var _Object$getOwnPropertySymbols = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols');
12
- var _Object$getOwnPropertyDescriptor = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor');
13
- var _forEachInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/for-each');
14
- var _Object$getOwnPropertyDescriptors = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors');
15
- var _Object$defineProperties = require('@babel/runtime-corejs3/core-js-stable/object/define-properties');
16
- var _Object$defineProperty = require('@babel/runtime-corejs3/core-js-stable/object/define-property');
17
- var react = require('react');
18
- var react$1 = require('@emotion/react');
19
- var classnames = require('classnames');
20
- var snakeCase = require('lodash/snakeCase');
21
- var reactIntl = require('react-intl');
22
- var reactRouterDom = require('react-router-dom');
23
- var applicationShellConnectors = require('@commercetools-frontend/application-shell-connectors');
24
- var LogoSVG = require('@commercetools-frontend/assets/logos/commercetools_small-logo.svg');
25
- var constants = require('@commercetools-frontend/constants');
26
- var icons = require('@commercetools-uikit/icons');
27
- var Spacings = require('@commercetools-uikit/spacings');
28
- var oidc = require('./oidc-7c48215c.cjs.dev.js');
29
- var _objectWithoutProperties = require('@babel/runtime-corejs3/helpers/objectWithoutProperties');
30
- var _styled = require('@emotion/styled/base');
31
- var _includesInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/includes');
32
- var _everyInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/every');
33
- var _findInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/find');
34
- var _startsWithInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/starts-with');
35
- var reactBroadcast = require('@flopflip/react-broadcast');
36
- var MissingImageSvg = require('@commercetools-frontend/assets/images/diagonal-line.svg');
37
- var permissions = require('@commercetools-frontend/permissions');
38
- var InlineSvg = require('@commercetools-uikit/icons/inline-svg');
39
- var useIsServedByProxy = require('./use-is-served-by-proxy-ed411f45.cjs.dev.js');
40
- var jsxRuntime = require('@emotion/react/jsx-runtime');
41
- var _keysInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/keys');
42
- var designSystem = require('@commercetools-uikit/design-system');
43
- var _sortInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/sort');
44
- var isNil = require('lodash/isNil');
45
- var throttle = require('lodash/throttle');
46
- var sentry = require('@commercetools-frontend/sentry');
47
- var useApplicationsMenu = require('./use-applications-menu-2fe3d465.cjs.dev.js');
48
- require('@apollo/client');
49
- require('@commercetools-frontend/l10n');
50
-
51
- function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
52
-
53
- var _pt__default = /*#__PURE__*/_interopDefault(_pt);
54
- var _filterInstanceProperty__default = /*#__PURE__*/_interopDefault(_filterInstanceProperty);
55
- var _mapInstanceProperty__default = /*#__PURE__*/_interopDefault(_mapInstanceProperty);
56
- var _concatInstanceProperty__default = /*#__PURE__*/_interopDefault(_concatInstanceProperty);
57
- var _Array$isArray__default = /*#__PURE__*/_interopDefault(_Array$isArray);
58
- var _Object$keys__default = /*#__PURE__*/_interopDefault(_Object$keys);
59
- var _Object$getOwnPropertySymbols__default = /*#__PURE__*/_interopDefault(_Object$getOwnPropertySymbols);
60
- var _Object$getOwnPropertyDescriptor__default = /*#__PURE__*/_interopDefault(_Object$getOwnPropertyDescriptor);
61
- var _forEachInstanceProperty__default = /*#__PURE__*/_interopDefault(_forEachInstanceProperty);
62
- var _Object$getOwnPropertyDescriptors__default = /*#__PURE__*/_interopDefault(_Object$getOwnPropertyDescriptors);
63
- var _Object$defineProperties__default = /*#__PURE__*/_interopDefault(_Object$defineProperties);
64
- var _Object$defineProperty__default = /*#__PURE__*/_interopDefault(_Object$defineProperty);
65
- var classnames__default = /*#__PURE__*/_interopDefault(classnames);
66
- var snakeCase__default = /*#__PURE__*/_interopDefault(snakeCase);
67
- var LogoSVG__default = /*#__PURE__*/_interopDefault(LogoSVG);
68
- var Spacings__default = /*#__PURE__*/_interopDefault(Spacings);
69
- var _styled__default = /*#__PURE__*/_interopDefault(_styled);
70
- var _includesInstanceProperty__default = /*#__PURE__*/_interopDefault(_includesInstanceProperty);
71
- var _everyInstanceProperty__default = /*#__PURE__*/_interopDefault(_everyInstanceProperty);
72
- var _findInstanceProperty__default = /*#__PURE__*/_interopDefault(_findInstanceProperty);
73
- var _startsWithInstanceProperty__default = /*#__PURE__*/_interopDefault(_startsWithInstanceProperty);
74
- var MissingImageSvg__default = /*#__PURE__*/_interopDefault(MissingImageSvg);
75
- var InlineSvg__default = /*#__PURE__*/_interopDefault(InlineSvg);
76
- var _keysInstanceProperty__default = /*#__PURE__*/_interopDefault(_keysInstanceProperty);
77
- var _sortInstanceProperty__default = /*#__PURE__*/_interopDefault(_sortInstanceProperty);
78
- var isNil__default = /*#__PURE__*/_interopDefault(isNil);
79
- var throttle__default = /*#__PURE__*/_interopDefault(throttle);
80
-
81
- const _excluded = ["icon"];
82
- function ownKeys$2(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
83
- function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var _context3, _context4; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context3 = ownKeys$2(Object(t), !0)).call(_context3, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context4 = ownKeys$2(Object(t))).call(_context4, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
84
- function _EMOTION_STRINGIFIED_CSS_ERROR__$1() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
85
- const compiledStyles$1 = {
86
- "global": ":root {\n\n /* Left navigation */\n}\n\n@keyframes navbar-mod__visible___AKV1b {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n\n/* Left Nav */\n\n.navbar-mod__left-navigation___n7yUt {\n display: grid;\n width: 80px;\n background: var(--color-primary);\n height: 100%;\n grid-template-rows: 56px 1fr;\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n}\n\n.navbar-mod__navigation-header___Z6fOr {\n background-color: var(--color-accent-10);\n color: var(--color-surface);\n display: flex;\n justify-content: center;\n flex-direction: row;\n align-items: center;\n padding: var(--spacing-30);\n}\n\n.navbar-mod__navigation-header___Z6fOr .navbar-mod__icon-container___w3FtA {\n width: auto;\n display: flex;\n justify-content: center;\n}\n\n.navbar-mod__navigation-header___Z6fOr .navbar-mod__title___eRWUj {\n font-weight: 600;\n margin-left: var(--spacing-20);\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n animation: navbar-mod__visible___AKV1b 150ms cubic-bezier(1, 0, 0.58, 1);\n}\n\n.navbar-mod__navigation-header___Z6fOr .navbar-mod__icon___bLsep {\n width: 24px;\n height: 24px;\n}\n\n.navbar-mod__list___RCV3J {\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n min-height: 0;\n flex: 1 1 0;\n}\n\n.navbar-mod__list-item___MjK6t {\n min-height: 48px;\n background: var(--color-primary);\n margin: 0;\n list-style: none;\n cursor: pointer;\n}\n\n.navbar-mod__item-link___X2Ina {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link);\n width: 48px;\n position: relative;\n display: block;\n}\n\n.body__menu-open .navbar-mod__item-link___X2Ina {\n width: 100%;\n}\n\n.navbar-mod__list-item___MjK6t .navbar-mod__item-icon-text___a-8JY {\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n}\n\n.navbar-mod__list-item___MjK6t .navbar-mod__icon___bLsep {\n width: 24px;\n height: 24px;\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n}\n\n.navbar-mod__list-item___MjK6t:hover .navbar-mod__icon___bLsep,\n.navbar-mod__list-item___MjK6t:focus-within .navbar-mod__icon___bLsep {\n /* 1.16 is roughly the ratio of icon-size-hover to --icon-size */\n transform: scale(1.2);\n}\n\n.navbar-mod__list-item___MjK6t .navbar-mod__icon___bLsep > svg *:not([fill='none']) {\n fill: var(--color-surface);\n}\n\n.navbar-mod__list-item___MjK6t .navbar-mod__title___eRWUj {\n flex: 1;\n font-weight: 600;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n line-height: var(--line-height-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link);\n opacity: 0;\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n text-align: left;\n text-decoration: none;\n z-index: 1;\n}\n\n.navbar-mod__expander___jyAUi {\n display: flex;\n align-items: center;\n justify-content: center;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background: linear-gradient(\n 180deg,\n var(--color-primary) 0%,\n var(--color-primary-25) 100%\n );\n padding: var(--spacing-30) var(--spacing-25);\n}\n\n.navbar-mod__expander___jyAUi:hover,\n.navbar-mod__expander___jyAUi:focus {\n background-color: var(--color-primary-40);\n}\n\n/* divider */\n\n.navbar-mod__expander___jyAUi::before {\n content: '';\n position: absolute;\n top: 56px;\n height: 1px;\n background: rgba(255, 255, 255, 0.5);\n width: calc(100% - 2 * var(--spacing-30));\n}\n\n.navbar-mod__expand-icon___BtmRa {\n height: 40px;\n width: 40px;\n border-radius: var(--border-radius-4);\n padding: var(--spacing-20);\n background: rgba(255, 255, 255, 0.2);\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.navbar-mod__expand-icon___BtmRa:hover,\n.navbar-mod__expand-icon___BtmRa:focus {\n background: rgba(255, 255, 255, 0.3);\n cursor: pointer;\n}\n\n.navbar-mod__item--bottom___eW7nh {\n position: absolute;\n bottom: 50px;\n}\n\n.navbar-mod__list-item___MjK6t:not(.navbar-mod__item_menu__active___5xFRw):hover,\n.navbar-mod__list-item___MjK6t:not(.navbar-mod__item_menu__active___5xFRw):focus-within {\n background-color: var(--color-primary-40);\n border-radius: var(--border-radius-8);\n}\n\n.navbar-mod__item_menu-open___zk0zh {\n height: auto !important;\n}\n\n.navbar-mod__item_menu-collapsed___cluyY .navbar-mod__item-link___X2Ina {\n text-align: center;\n}\n\n.body__menu-open .navbar-mod__left-navigation___n7yUt {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n box-shadow: var(--shadow-for-navbar);\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n}\n\n.body__menu-open .navbar-mod__list-item___MjK6t {\n height: auto;\n min-height: 48px;\n width: 100%;\n}\n\n.body__menu-open .navbar-mod__left-navigation___n7yUt {\n width: 256px;\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n}\n\n.body__menu-open .navbar-mod__list-item___MjK6t .navbar-mod__title___eRWUj {\n opacity: 1;\n margin-left: var(--spacing-25);\n color: var(--color-surface);\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n animation: navbar-mod__visible___AKV1b 150ms cubic-bezier(1, 0, 0.58, 1);\n}\n\n.navbar-mod__list-item___MjK6t:hover .navbar-mod__title___eRWUj,\n.navbar-mod__list-item___MjK6t:focus-within .navbar-mod__title___eRWUj {\n margin-left: calc(var(--spacing-25) + 2px);\n}\n\n.navbar-mod__list-item___MjK6t:not(.navbar-mod__item__active___lo1sr):hover .navbar-mod__icon___bLsep > svg *:not([fill='none']),\n.navbar-mod__list-item___MjK6t:not(.navbar-mod__item__active___lo1sr):focus-within .navbar-mod__icon___bLsep > svg *:not([fill='none']) {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n fill: var(--color-for-navbar-icon-when-active);\n}\n\n.navbar-mod__list-item___MjK6t:not(.navbar-mod__item__active___lo1sr):hover .navbar-mod__title___eRWUj,\n.navbar-mod__list-item___MjK6t:not(.navbar-mod__item__active___lo1sr):focus-within .navbar-mod__title___eRWUj {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link-when-hovered);\n}\n\n.body__menu-open .navbar-mod__item__active___lo1sr {\n max-height: 500px;\n transition: max-height 0.25s ease-in;\n}\n\n/* Second level menu */\n\n.navbar-mod__sublist___os1s7 {\n padding: var(--spacing-30);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background-color: var(--background-color-for-navbar);\n left: 72px;\n z-index: -1;\n list-style: none;\n position: fixed;\n display: none;\n}\n\n/* This pseudo-element is required to enable smooth coursor movement from the main menu item to submenu items with the gap in between */\n\n.navbar-mod__sublist-expanded__active___240JK::before,\n.navbar-mod__sublist-collapsed__active___-9vYh::before,\n.navbar-mod__sublist-collapsed__active__above___BXCeM::before {\n content: '';\n position: absolute;\n display: block;\n width: calc(253px + var(--spacing-20));\n height: 48px;\n left: calc(-1 * var(--spacing-20));\n}\n\n.navbar-mod__sublist__inactive___kJvf- {\n /* empty block */\n}\n\n.navbar-mod__sublist-item___gafkS {\n display: flex;\n align-items: center;\n align-self: stretch;\n}\n\n.navbar-mod__sublist-item__active___QC6pa {\n border-radius: var(--border-radius-4);\n background: var(--color-accent-30);\n}\n\n.navbar-mod__sublist-item___gafkS:not(.navbar-mod__sublist-item__active___QC6pa):hover,\n.navbar-mod__sublist-item___gafkS:not(.navbar-mod__sublist-item__active___QC6pa):focus-within {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link-when-hovered);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link-when-hovered);\n border-radius: var(--border-radius-4);\n background: var(--color-primary-95);\n}\n\n.navbar-mod__text___ccHEu {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n line-height: var(--line-height-for-navbar-link);\n width: 100%;\n height: 100%;\n}\n\n.navbar-mod__text-link___dhtj6 {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link);\n text-decoration: none;\n display: flex;\n padding: var(--spacing-25);\n align-items: center;\n justify-content: center;\n}\n\n.body__menu-open .navbar-mod__text-link___dhtj6 {\n justify-content: start;\n}\n\n.navbar-mod__text-link-sublist-wrapper___1JN4x {\n display: flex;\n flex-direction: column;\n position: relative;\n min-height: 0;\n}\n\n.navbar-mod__text-link-sublist___AoIpU {\n /* stylelint-disable-next-line value-no-vendor-prefix */\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n color: var(--color-solid);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link-when-hovered);\n text-decoration: none;\n flex: 1;\n padding: var(--spacing-25) var(--spacing-25) var(--spacing-25)\n var(--spacing-30);\n transition: padding 150ms ease-out;\n}\n\n.navbar-mod__sublist-item___gafkS:not(.navbar-mod__sublist-item__active___QC6pa):hover .navbar-mod__text-link-sublist___AoIpU,\n.navbar-mod__sublist-item___gafkS:not(.navbar-mod__sublist-item__active___QC6pa):focus-within .navbar-mod__text-link-sublist___AoIpU {\n /* additional left padding on hover and focus */\n padding: var(--spacing-25) var(--spacing-25) var(--spacing-25)\n calc(var(--spacing-30) + var(--spacing-20));\n}\n\n.navbar-mod__navlink-clickable-content___bzddC {\n height: 100%;\n width: 100%;\n}\n\n/* Item active */\n\n.navbar-mod__item__active___lo1sr,\n.navbar-mod__item_menu__active___5xFRw,\n.navbar-mod__item_menu__active___5xFRw:focus-within .navbar-mod__list-item___MjK6t {\n background: var(--color-accent-30);\n border-radius: var(--border-radius-8);\n}\n\n.navbar-mod__list-item___MjK6t.navbar-mod__item__active___lo1sr .navbar-mod__item-icon-text___a-8JY {\n justify-content: flex-start;\n}\n\n.navbar-mod__list-item___MjK6t .navbar-mod__icon-container___w3FtA {\n width: auto;\n display: flex;\n justify-content: center;\n align-self: flex-start;\n}\n\n.navbar-mod__fixed-menu___42tD9 .navbar-mod__list-item___MjK6t .navbar-mod__item-icon-text___a-8JY {\n justify-content: center;\n display: flex;\n width: 100%;\n}\n\n.navbar-mod__support-menu___fi5Ka {\n padding: var(--spacing-10) var(--spacing-30) var(--spacing-20)\n var(--spacing-30);\n height: calc(48px + var(--spacing-20));\n}\n\n.body__menu-open .navbar-mod__list-item___MjK6t.navbar-mod__item__active___lo1sr .navbar-mod__item-icon-text___a-8JY {\n position: relative;\n width: auto;\n}\n\n.body__menu-open .navbar-mod__list-item___MjK6t.navbar-mod__item__active___lo1sr .navbar-mod__item-icon-text___a-8JY {\n margin-left: 0;\n}\n\n.navbar-mod__tooltip-container___iJYyi {\n position: absolute;\n left: 0;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n height: 48px;\n visibility: visible;\n}\n\n.navbar-mod__tooltip___1ID3j {\n padding: var(--spacing-10) calc(var(--spacing-20) + var(--spacing-10));\n /* stylelint-disable-next-line value-no-vendor-prefix */\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n border-radius: var(--border-radius-4);\n background: var(--color-accent-10);\n box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.25);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n line-height: var(--line-height-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link);\n color: var(--color-surface);\n max-height: 48px;\n visibility: inherit;\n}\n\n.navbar-mod__sublist-expanded__active___240JK,\n.navbar-mod__sublist-collapsed__active___-9vYh,\n.navbar-mod__sublist-collapsed__active__above___BXCeM {\n opacity: 1;\n display: none;\n text-align: left;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background-color: var(--background-color-for-navbar-when-active);\n}\n\n.navbar-mod__item-link___X2Ina:hover .navbar-mod__sublist-collapsed__active___-9vYh,\n.navbar-mod__item-link___X2Ina:hover .navbar-mod__sublist-collapsed__active__above___BXCeM,\n.navbar-mod__item-link___X2Ina:hover .navbar-mod__sublist-expanded__active___240JK,\n.navbar-mod__item-link___X2Ina:focus-within .navbar-mod__sublist-collapsed__active___-9vYh,\n.navbar-mod__item-link___X2Ina:focus-within .navbar-mod__sublist-collapsed__active__above___BXCeM,\n.navbar-mod__item-link___X2Ina:focus-within .navbar-mod__sublist-expanded__active___240JK {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background-color: var(--color-surface);\n /* TODO: add design tokens instead hard-coded values */\n min-height: 50px;\n width: 253px;\n border-radius: var(--border-radius-8);\n /* z-index value must be higher than AppBar's z-index */\n z-index: 20001;\n box-shadow: -2px 4px 25px 0 rgba(89, 89, 89, 0.5);\n}\n\n.navbar-mod__item-link___X2Ina:hover .navbar-mod__sublist-collapsed__active___-9vYh.navbar-mod__sublist-collapsed__empty___FBUli,\n.navbar-mod__item-link___X2Ina:hover .navbar-mod__sublist-collapsed__active__above___BXCeM.navbar-mod__sublist-collapsed__empty___FBUli,\n.navbar-mod__item-link___X2Ina:focus-within .navbar-mod__sublist-collapsed__active___-9vYh.navbar-mod__sublist-collapsed__empty___FBUli,\n.navbar-mod__item-link___X2Ina:focus-within\n .navbar-mod__sublist-collapsed__active__above___BXCeM.navbar-mod__sublist-collapsed__empty___FBUli {\n visibility: hidden;\n}\n\n.navbar-mod__item-link___X2Ina:hover .navbar-mod__sublist-expanded__active___240JK,\n.navbar-mod__item-link___X2Ina:focus-within .navbar-mod__sublist-expanded__active___240JK {\n left: 248px;\n}\n\n.navbar-mod__highlighted___oJWkA,\n.navbar-mod__highlighted___oJWkA .navbar-mod__title___eRWUj {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link-when-active) !important;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link-when-active);\n}\n\n.navbar-mod__hidden___TQLSs {\n display: none;\n}\n\n.navbar-mod__divider___TpVzu {\n border-top: 1px solid var(--color-neutral-40);\n}\n\n.navbar-mod__loading-dot-container___G2LVb {\n width: 24px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.navbar-mod__scrollable-menu___64pxJ {\n flex: 1 1 0;\n overflow-x: hidden;\n overflow-y: hidden;\n padding: var(--spacing-30) var(--spacing-30) 48px;\n width: 80px;\n box-sizing: border-box;\n /* For Firefox */\n scrollbar-width: thin;\n scrollbar-color: var(--color-primary-40) transparent;\n}\n\n.body__menu-open .navbar-mod__scrollable-menu___64pxJ {\n width: 256px;\n}\n\n.navbar-mod__scrollable-menu___64pxJ:hover {\n overflow-y: scroll;\n padding-right: 8px;\n}\n\n.navbar-mod__scrollable-menu___64pxJ::-webkit-scrollbar {\n width: 8px;\n}\n\n.navbar-mod__scrollable-menu___64pxJ::-webkit-scrollbar-track {\n background: transparent;\n}\n\n.navbar-mod__scrollable-menu___64pxJ::-webkit-scrollbar-thumb {\n background-color: var(--color-primary-40);\n border-radius: var(--border-radius-8);\n}\n\n.navbar-mod__fixed-menu___42tD9 {\n position: relative;\n width: 80px;\n}\n\n.body__menu-open .navbar-mod__fixed-menu___42tD9 {\n width: 256px;\n}\n",
87
- "jsonMap": {
88
- "left-navigation": "navbar-mod__left-navigation___n7yUt",
89
- "navigation-header": "navbar-mod__navigation-header___Z6fOr",
90
- "icon-container": "navbar-mod__icon-container___w3FtA",
91
- "title": "navbar-mod__title___eRWUj",
92
- "visible": "navbar-mod__visible___AKV1b",
93
- "icon": "navbar-mod__icon___bLsep",
94
- "list": "navbar-mod__list___RCV3J",
95
- "list-item": "navbar-mod__list-item___MjK6t",
96
- "item-link": "navbar-mod__item-link___X2Ina",
97
- "item-icon-text": "navbar-mod__item-icon-text___a-8JY",
98
- "expander": "navbar-mod__expander___jyAUi",
99
- "expand-icon": "navbar-mod__expand-icon___BtmRa",
100
- "item--bottom": "navbar-mod__item--bottom___eW7nh",
101
- "item_menu__active": "navbar-mod__item_menu__active___5xFRw",
102
- "item_menu-open": "navbar-mod__item_menu-open___zk0zh",
103
- "item_menu-collapsed": "navbar-mod__item_menu-collapsed___cluyY",
104
- "item__active": "navbar-mod__item__active___lo1sr",
105
- "sublist": "navbar-mod__sublist___os1s7",
106
- "sublist-expanded__active": "navbar-mod__sublist-expanded__active___240JK",
107
- "sublist-collapsed__active": "navbar-mod__sublist-collapsed__active___-9vYh",
108
- "sublist-collapsed__active__above": "navbar-mod__sublist-collapsed__active__above___BXCeM",
109
- "sublist__inactive": "navbar-mod__sublist__inactive___kJvf-",
110
- "sublist-item": "navbar-mod__sublist-item___gafkS",
111
- "sublist-item__active": "navbar-mod__sublist-item__active___QC6pa",
112
- "text": "navbar-mod__text___ccHEu",
113
- "text-link": "navbar-mod__text-link___dhtj6",
114
- "text-link-sublist-wrapper": "navbar-mod__text-link-sublist-wrapper___1JN4x",
115
- "text-link-sublist": "navbar-mod__text-link-sublist___AoIpU",
116
- "navlink-clickable-content": "navbar-mod__navlink-clickable-content___bzddC",
117
- "fixed-menu": "navbar-mod__fixed-menu___42tD9",
118
- "support-menu": "navbar-mod__support-menu___fi5Ka",
119
- "tooltip-container": "navbar-mod__tooltip-container___iJYyi",
120
- "tooltip": "navbar-mod__tooltip___1ID3j",
121
- "sublist-collapsed__empty": "navbar-mod__sublist-collapsed__empty___FBUli",
122
- "highlighted": "navbar-mod__highlighted___oJWkA",
123
- "hidden": "navbar-mod__hidden___TQLSs",
124
- "divider": "navbar-mod__divider___TpVzu",
125
- "loading-dot-container": "navbar-mod__loading-dot-container___G2LVb",
126
- "scrollable-menu": "navbar-mod__scrollable-menu___64pxJ"
127
- }
128
- };
129
- const styles$1 = compiledStyles$1.jsonMap;
130
- const HeartIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./heart-e49dd92a.cjs.dev.js'); }));
131
- const PaperclipIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./paperclip-005ec544.cjs.dev.js'); }));
132
- const PluginIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./plugin-feb22442.cjs.dev.js'); }));
133
- const RocketIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./rocket-3372731a.cjs.dev.js'); }));
134
- const StarIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./star-6b9a91d2.cjs.dev.js'); }));
135
- const ConnectedSquareIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./connected-square-a2fea344.cjs.dev.js'); }));
136
- const WorldIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./world-500baeb2.cjs.dev.js'); }));
137
- const TreeStructureIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./tree-structure-96ab0b7e.cjs.dev.js'); }));
138
- const UserFilledIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./user-filled-34aeebcc.cjs.dev.js'); }));
139
- const SpeedometerIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./speedometer-c1ec5a1d.cjs.dev.js'); }));
140
- const TagMultiIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./tag-multi-abef3e15.cjs.dev.js'); }));
141
- const CartIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./cart-b0044279.cjs.dev.js'); }));
142
- const BoxIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./box-4857aa65.cjs.dev.js'); }));
143
- const GearIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./gear-f2668579.cjs.dev.js'); }));
144
- const ListWithSearchIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./list-with-search-027ab8eb.cjs.dev.js'); }));
145
- // The icon is expected to be the `svg` document as a string.
146
- // For backwards compatibility purposes, we still support the legacy "icon name",
147
- // which we then map to one of the pre-defined icons.
148
- // Eventually, we want to get rid of this "switch" logic.
149
- const IconSwitcher = _ref4 => {
150
- let icon = _ref4.icon,
151
- iconProps = _objectWithoutProperties(_ref4, _excluded);
152
- if (_includesInstanceProperty__default["default"](icon).call(icon, '<svg')) {
153
- return jsxRuntime.jsx(InlineSvg__default["default"], _objectSpread$2({
154
- data: icon
155
- }, iconProps));
156
- }
157
- // Backwards compatibility for apps using the "icon name".
158
- switch (icon) {
159
- // Legacy application icons
160
- // TODO: To be removed once MC applications icons updates are published
161
- case 'TreeStructureIcon':
162
- return jsxRuntime.jsx(TreeStructureIcon, _objectSpread$2({}, iconProps));
163
- case 'UserFilledIcon':
164
- return jsxRuntime.jsx(UserFilledIcon, _objectSpread$2({}, iconProps));
165
- case 'SpeedometerIcon':
166
- return jsxRuntime.jsx(SpeedometerIcon, _objectSpread$2({}, iconProps));
167
- case 'TagMultiIcon':
168
- return jsxRuntime.jsx(TagMultiIcon, _objectSpread$2({}, iconProps));
169
- case 'CartIcon':
170
- return jsxRuntime.jsx(CartIcon, _objectSpread$2({}, iconProps));
171
- case 'BoxIcon':
172
- return jsxRuntime.jsx(BoxIcon, _objectSpread$2({}, iconProps));
173
- case 'GearIcon':
174
- return jsxRuntime.jsx(GearIcon, _objectSpread$2({}, iconProps));
175
- case 'ListWithSearchIcon':
176
- return jsxRuntime.jsx(ListWithSearchIcon, _objectSpread$2({}, iconProps));
177
-
178
- // Custom application icons set
179
- case 'HeartIcon':
180
- return jsxRuntime.jsx(HeartIcon, _objectSpread$2({}, iconProps));
181
- case 'PaperclipIcon':
182
- return jsxRuntime.jsx(PaperclipIcon, _objectSpread$2({}, iconProps));
183
- case 'PluginIcon':
184
- return jsxRuntime.jsx(PluginIcon, _objectSpread$2({}, iconProps));
185
- case 'RocketIcon':
186
- return jsxRuntime.jsx(RocketIcon, _objectSpread$2({}, iconProps));
187
- case 'StarIcon':
188
- return jsxRuntime.jsx(StarIcon, _objectSpread$2({}, iconProps));
189
- case 'ConnectedSquareIcon':
190
- return jsxRuntime.jsx(ConnectedSquareIcon, _objectSpread$2({}, iconProps));
191
- // For backwards compatibility
192
- case 'WorldIcon':
193
- return jsxRuntime.jsx(WorldIcon, _objectSpread$2({}, iconProps));
194
- default:
195
- return jsxRuntime.jsx("img", {
196
- src: MissingImageSvg__default["default"],
197
- alt: "missing icon"
198
- });
199
- }
200
- };
201
- IconSwitcher.propTypes = process.env.NODE_ENV !== "production" ? {
202
- icon: _pt__default["default"].string.isRequired
203
- } : {};
204
- IconSwitcher.displayName = 'IconSwitcher';
205
- const getIcon = _ref5 => {
206
- let isMenuOpen = _ref5.isMenuOpen;
207
- const Icon = isMenuOpen ? icons.SidebarCollapseIcon : icons.SidebarExpandIcon;
208
- return jsxRuntime.jsx(Icon, {
209
- color: "surface",
210
- size: "big"
211
- });
212
- };
213
- const MenuExpander = props => {
214
- return jsxRuntime.jsx("li", {
215
- className: classnames__default["default"](styles$1.expander, {
216
- [styles$1.hidden]: !props.isVisible
217
- }),
218
- children: jsxRuntime.jsx("div", {
219
- onClick: props.onClick,
220
- onKeyDown: e => {
221
- if (e.key === 'Enter') {
222
- props.onClick(e);
223
- }
224
- },
225
- tabIndex: 0,
226
- className: styles$1['expand-icon'],
227
- "data-testid": "menu-expander",
228
- children: getIcon(props)
229
- })
230
- }, "expander");
231
- };
232
- MenuExpander.propTypes = process.env.NODE_ENV !== "production" ? {
233
- isVisible: _pt__default["default"].bool.isRequired,
234
- onClick: _pt__default["default"].func.isRequired,
235
- isMenuOpen: _pt__default["default"].bool.isRequired
236
- } : {};
237
- MenuExpander.displayName = 'MenuExpander';
238
- const Faded = /*#__PURE__*/_styled__default["default"]("div", process.env.NODE_ENV === "production" ? {
239
- target: "ekdrmmp0"
240
- } : {
241
- target: "ekdrmmp0",
242
- label: "Faded"
243
- })(process.env.NODE_ENV === "production" ? {
244
- name: "16qr508",
245
- styles: "position:absolute;top:-32px;height:32px;width:100%;background:linear-gradient(180deg, rgba(0, 153, 135, 0) 0%, #00b39e 100%);z-index:1"
246
- } : {
247
- name: "16qr508",
248
- styles: "position:absolute;top:-32px;height:32px;width:100%;background:linear-gradient(180deg, rgba(0, 153, 135, 0) 0%, #00b39e 100%);z-index:1",
249
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1lbnUtaXRlbXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlLd0IiLCJmaWxlIjoibWVudS1pdGVtcy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBmb3J3YXJkUmVmLFxuICBsYXp5LFxuICB0eXBlIE1vdXNlRXZlbnRIYW5kbGVyLFxuICB0eXBlIEZvY3VzRXZlbnRIYW5kbGVyLFxuICB0eXBlIE1vdXNlRXZlbnQsXG4gIHR5cGUgS2V5Ym9hcmRFdmVudCxcbiAgdHlwZSBSZWFjdE5vZGUsXG4gIHR5cGUgU3ludGhldGljRXZlbnQsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEdsb2JhbCwgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgdXNlRmxhZ1ZhcmlhdGlvbiB9IGZyb20gJ0BmbG9wZmxpcC9yZWFjdC1icm9hZGNhc3QnO1xuaW1wb3J0IHR5cGUgeyBURmxhZ1ZhcmlhdGlvbiB9IGZyb20gJ0BmbG9wZmxpcC90eXBlcyc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCB7IE5hdkxpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB0eXBlIHtcbiAgVE5vcm1hbGl6ZWRNZW51VmlzaWJpbGl0aWVzLFxuICBUTm9ybWFsaXplZFBlcm1pc3Npb25zLFxuICBUTm9ybWFsaXplZEFjdGlvblJpZ2h0cyxcbiAgVE5vcm1hbGl6ZWREYXRhRmVuY2VzLFxufSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hcHBsaWNhdGlvbi1zaGVsbC1jb25uZWN0b3JzJztcbmltcG9ydCBNaXNzaW5nSW1hZ2VTdmcgZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXNzZXRzL2ltYWdlcy9kaWFnb25hbC1saW5lLnN2Zyc7XG5pbXBvcnQgeyBOT19WQUxVRV9GQUxMQkFDSyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBSZXN0cmljdGVkQnlQZXJtaXNzaW9ucyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL3Blcm1pc3Npb25zJztcbmltcG9ydCB7XG4gIEJhY2tJY29uLFxuICBTaWRlYmFyRXhwYW5kSWNvbixcbiAgU2lkZWJhckNvbGxhcHNlSWNvbixcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaWNvbnMnO1xuaW1wb3J0IElubGluZVN2ZyBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucy9pbmxpbmUtc3ZnJztcbmltcG9ydCB7IERJTUVOU0lPTlMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHR5cGUge1xuICBURGF0YUZlbmNlLFxuICBUQWN0aW9uUmlnaHQsXG4gIFRMb2NhbGl6ZWRGaWVsZCxcbn0gZnJvbSAnLi4vLi4vdHlwZXMvZ2VuZXJhdGVkL3Byb3h5JztcbmltcG9ydCB7IGxvY2F0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbHMvbG9jYXRpb24nO1xuLy8gaHR0cHM6Ly9iYWJlbGpzLmlvL2Jsb2cvMjAxNy8wOS8xMS96ZXJvLWNvbmZpZy13aXRoLWJhYmVsLW1hY3Jvc1xuaW1wb3J0IGNvbXBpbGVkU3R5bGVzIGZyb20gLyogcHJldmFsICovICcuL25hdmJhci5zdHlsZXMnO1xuXG5jb25zdCBzdHlsZXMgPSBjb21waWxlZFN0eWxlcy5qc29uTWFwO1xuXG50eXBlIFRQcm9qZWN0UGVybWlzc2lvbnMgPSB7XG4gIHBlcm1pc3Npb25zOiBUTm9ybWFsaXplZFBlcm1pc3Npb25zIHwgbnVsbDtcbiAgYWN0aW9uUmlnaHRzOiBUTm9ybWFsaXplZEFjdGlvblJpZ2h0cyB8IG51bGw7XG4gIGRhdGFGZW5jZXM6IFROb3JtYWxpemVkRGF0YUZlbmNlcyB8IG51bGw7XG59O1xuXG5jb25zdCBIZWFydEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi9sZWdhY3ktaWNvbnMvaGVhcnQnKSk7XG5jb25zdCBQYXBlcmNsaXBJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3BhcGVyY2xpcCcpKTtcbmNvbnN0IFBsdWdpbkljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi9sZWdhY3ktaWNvbnMvcGx1Z2luJykpO1xuY29uc3QgUm9ja2V0SWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9yb2NrZXQnKSk7XG5jb25zdCBTdGFySWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9zdGFyJykpO1xuY29uc3QgQ29ubmVjdGVkU3F1YXJlSWNvbiA9IGxhenkoXG4gICgpID0+IGltcG9ydCgnLi9sZWdhY3ktaWNvbnMvY29ubmVjdGVkLXNxdWFyZScpXG4pO1xuY29uc3QgV29ybGRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3dvcmxkJykpO1xuY29uc3QgVHJlZVN0cnVjdHVyZUljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi9sZWdhY3ktaWNvbnMvdHJlZS1zdHJ1Y3R1cmUnKSk7XG5jb25zdCBVc2VyRmlsbGVkSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy91c2VyLWZpbGxlZCcpKTtcbmNvbnN0IFNwZWVkb21ldGVySWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9zcGVlZG9tZXRlcicpKTtcbmNvbnN0IFRhZ011bHRpSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy90YWctbXVsdGknKSk7XG5jb25zdCBDYXJ0SWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9jYXJ0JykpO1xuY29uc3QgQm94SWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9ib3gnKSk7XG5jb25zdCBHZWFySWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9nZWFyJykpO1xuY29uc3QgTGlzdFdpdGhTZWFyY2hJY29uID0gbGF6eShcbiAgKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9saXN0LXdpdGgtc2VhcmNoJylcbik7XG5cbnR5cGUgSWNvblByb3BzID0gUGFyYW1ldGVyczx0eXBlb2YgQmFja0ljb24+WzBdO1xudHlwZSBJY29uU3dpdGNoZXJQcm9wcyA9IHsgaWNvbjogc3RyaW5nIH0gJiBJY29uUHJvcHM7XG4vLyBUaGUgaWNvbiBpcyBleHBlY3RlZCB0byBiZSB0aGUgYHN2Z2AgZG9jdW1lbnQgYXMgYSBzdHJpbmcuXG4vLyBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgcHVycG9zZXMsIHdlIHN0aWxsIHN1cHBvcnQgdGhlIGxlZ2FjeSBcImljb24gbmFtZVwiLFxuLy8gd2hpY2ggd2UgdGhlbiBtYXAgdG8gb25lIG9mIHRoZSBwcmUtZGVmaW5lZCBpY29ucy5cbi8vIEV2ZW50dWFsbHksIHdlIHdhbnQgdG8gZ2V0IHJpZCBvZiB0aGlzIFwic3dpdGNoXCIgbG9naWMuXG5jb25zdCBJY29uU3dpdGNoZXIgPSAoeyBpY29uLCAuLi5pY29uUHJvcHMgfTogSWNvblN3aXRjaGVyUHJvcHMpID0+IHtcbiAgaWYgKGljb24uaW5jbHVkZXMoJzxzdmcnKSkge1xuICAgIHJldHVybiA8SW5saW5lU3ZnIGRhdGE9e2ljb259IHsuLi5pY29uUHJvcHN9IC8+O1xuICB9XG4gIC8vIEJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IGZvciBhcHBzIHVzaW5nIHRoZSBcImljb24gbmFtZVwiLlxuICBzd2l0Y2ggKGljb24pIHtcbiAgICAvLyBMZWdhY3kgYXBwbGljYXRpb24gaWNvbnNcbiAgICAvLyBUT0RPOiBUbyBiZSByZW1vdmVkIG9uY2UgTUMgYXBwbGljYXRpb25zIGljb25zIHVwZGF0ZXMgYXJlIHB1Ymxpc2hlZFxuICAgIGNhc2UgJ1RyZWVTdHJ1Y3R1cmVJY29uJzpcbiAgICAgIHJldHVybiA8VHJlZVN0cnVjdHVyZUljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnVXNlckZpbGxlZEljb24nOlxuICAgICAgcmV0dXJuIDxVc2VyRmlsbGVkSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdTcGVlZG9tZXRlckljb24nOlxuICAgICAgcmV0dXJuIDxTcGVlZG9tZXRlckljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnVGFnTXVsdGlJY29uJzpcbiAgICAgIHJldHVybiA8VGFnTXVsdGlJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ0NhcnRJY29uJzpcbiAgICAgIHJldHVybiA8Q2FydEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnQm94SWNvbic6XG4gICAgICByZXR1cm4gPEJveEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnR2Vhckljb24nOlxuICAgICAgcmV0dXJuIDxHZWFySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdMaXN0V2l0aFNlYXJjaEljb24nOlxuICAgICAgcmV0dXJuIDxMaXN0V2l0aFNlYXJjaEljb24gey4uLmljb25Qcm9wc30gLz47XG5cbiAgICAvLyBDdXN0b20gYXBwbGljYXRpb24gaWNvbnMgc2V0XG4gICAgY2FzZSAnSGVhcnRJY29uJzpcbiAgICAgIHJldHVybiA8SGVhcnRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1BhcGVyY2xpcEljb24nOlxuICAgICAgcmV0dXJuIDxQYXBlcmNsaXBJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1BsdWdpbkljb24nOlxuICAgICAgcmV0dXJuIDxQbHVnaW5JY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1JvY2tldEljb24nOlxuICAgICAgcmV0dXJuIDxSb2NrZXRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1N0YXJJY29uJzpcbiAgICAgIHJldHVybiA8U3Rhckljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnQ29ubmVjdGVkU3F1YXJlSWNvbic6XG4gICAgICByZXR1cm4gPENvbm5lY3RlZFNxdWFyZUljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgLy8gRm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG4gICAgY2FzZSAnV29ybGRJY29uJzpcbiAgICAgIHJldHVybiA8V29ybGRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gPGltZyBzcmM9e01pc3NpbmdJbWFnZVN2Z30gYWx0PVwibWlzc2luZyBpY29uXCIgLz47XG4gIH1cbn07XG5JY29uU3dpdGNoZXIuZGlzcGxheU5hbWUgPSAnSWNvblN3aXRjaGVyJztcblxudHlwZSBNZW51RXhwYW5kZXJQcm9wcyA9IHtcbiAgaXNWaXNpYmxlOiBib29sZWFuO1xuICBvbkNsaWNrOiAoXG4gICAgZTogTW91c2VFdmVudDxIVE1MRGl2RWxlbWVudD4gfCBLZXlib2FyZEV2ZW50PEhUTUxEaXZFbGVtZW50PlxuICApID0+IHZvaWQ7XG4gIGlzTWVudU9wZW46IGJvb2xlYW47XG59O1xuXG5jb25zdCBnZXRJY29uID0gKHsgaXNNZW51T3BlbiB9OiBNZW51RXhwYW5kZXJQcm9wcykgPT4ge1xuICBjb25zdCBJY29uID0gaXNNZW51T3BlbiA/IFNpZGViYXJDb2xsYXBzZUljb24gOiBTaWRlYmFyRXhwYW5kSWNvbjtcbiAgcmV0dXJuIDxJY29uIGNvbG9yPVwic3VyZmFjZVwiIHNpemU9XCJiaWdcIiAvPjtcbn07XG5cbmNvbnN0IE1lbnVFeHBhbmRlciA9IChwcm9wczogTWVudUV4cGFuZGVyUHJvcHMpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8bGlcbiAgICAgIGtleT1cImV4cGFuZGVyXCJcbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcyhzdHlsZXMuZXhwYW5kZXIsIHtcbiAgICAgICAgW3N0eWxlcy5oaWRkZW5dOiAhcHJvcHMuaXNWaXNpYmxlLFxuICAgICAgfSl9XG4gICAgPlxuICAgICAgPGRpdlxuICAgICAgICBvbkNsaWNrPXtwcm9wcy5vbkNsaWNrfVxuICAgICAgICBvbktleURvd249eyhlKSA9PiB7XG4gICAgICAgICAgaWYgKGUua2V5ID09PSAnRW50ZXInKSB7XG4gICAgICAgICAgICBwcm9wcy5vbkNsaWNrKGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfX1cbiAgICAgICAgdGFiSW5kZXg9ezB9XG4gICAgICAgIGNsYXNzTmFtZT17c3R5bGVzWydleHBhbmQtaWNvbiddfVxuICAgICAgICBkYXRhLXRlc3RpZD1cIm1lbnUtZXhwYW5kZXJcIlxuICAgICAgPlxuICAgICAgICB7Z2V0SWNvbihwcm9wcyl9XG4gICAgICA8L2Rpdj5cbiAgICA8L2xpPlxuICApO1xufTtcbk1lbnVFeHBhbmRlci5kaXNwbGF5TmFtZSA9ICdNZW51RXhwYW5kZXInO1xuXG5jb25zdCBGYWRlZCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgwLCAxNTMsIDEzNSwgMCkgMCUsICMwMGIzOWUgMTAwJSk7XG4gIHotaW5kZXg6IDE7XG5gO1xuXG50eXBlIE1lbnVHcm91cFByb3BzID0ge1xuICBpZDogc3RyaW5nO1xuICBsZXZlbDogMSB8IDI7XG4gIGlzQWN0aXZlPzogYm9vbGVhbjtcbiAgaXNFeHBhbmRlZD86IGJvb2xlYW47XG4gIGhhc1N1Ym1lbnU/OiBib29sZWFuO1xuICBjaGlsZHJlbj86IFJlYWN0Tm9kZTtcbiAgc3VibWVudVZlcnRpY2FsUG9zaXRpb24/OiBudW1iZXI7XG4gIGlzU3VibWVudUFib3ZlTWVudUl0ZW0/OiBib29sZWFuO1xufTtcblxuY29uc3QgZ2V0U3VibWVudVBvc2l0aW9uQmFzZWRPbk1lbnVJdGVtUG9zaXRpb24gPSAoXG4gIGlzU3VibWVudUFib3ZlTWVudUl0ZW0/OiBib29sZWFuLFxuICBzdWJtZW51VmVydGljYWxQb3NpdGlvbj86IG51bWJlclxuKSA9PiBjc3NgXG4gICR7aXNTdWJtZW51QWJvdmVNZW51SXRlbSA/ICdib3R0b20nIDogJ3RvcCd9OiAke3N1Ym1lbnVWZXJ0aWNhbFBvc2l0aW9ufXB4XG5gO1xuXG5jb25zdCBnZXRDb250YWluZXJQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uID0gKFxuICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtPzogYm9vbGVhbixcbiAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZD86IGJvb2xlYW4sXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkPzogYm9vbGVhblxuKSA9PiBbXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmXG4gICAgY3NzYFxuICAgICAgJHtpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtXG4gICAgICAgID8gJ2JvdHRvbSdcbiAgICAgICAgOiAndG9wJ306IC0ke0RJTUVOU0lPTlMubmF2TWVudUl0ZW1IZWlnaHR9O1xuICAgIGAsXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgJiZcbiAgICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtICYmXG4gICAgY3NzYFxuICAgICAgYm90dG9tOiAwO1xuICAgIGAsXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgJiZcbiAgICAhaXNTdWJtZW51QWJvdmVNZW51SXRlbSAmJlxuICAgIGNzc2BcbiAgICAgIHRvcDogMDtcbiAgICBgLFxuXTtcblxuY29uc3QgTWVudUdyb3VwID0gZm9yd2FyZFJlZjxIVE1MVUxpc3RFbGVtZW50LCBNZW51R3JvdXBQcm9wcz4oKHByb3BzLCByZWYpID0+IHtcbiAgaWYgKFxuICAgIHByb3BzLmlzRXhwYW5kZWQgJiZcbiAgICAoKHByb3BzLmxldmVsID09PSAyICYmICFwcm9wcy5oYXNTdWJtZW51KSB8fFxuICAgICAgKHByb3BzLmxldmVsID09PSAyICYmICFwcm9wcy5pc0FjdGl2ZSkpXG4gICkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGNvbnN0IGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgPVxuICAgIHByb3BzLmxldmVsID09PSAyICYmIHByb3BzLmlzQWN0aXZlICYmIHByb3BzLmlzRXhwYW5kZWQ7XG4gIGNvbnN0IGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkID1cbiAgICBwcm9wcy5sZXZlbCA9PT0gMiAmJiBwcm9wcy5pc0FjdGl2ZSAmJiAhcHJvcHMuaXNFeHBhbmRlZDtcbiAgcmV0dXJuIChcbiAgICA8dWxcbiAgICAgIHJlZj17cmVmICYmIHByb3BzLmxldmVsID09PSAyID8gcmVmIDogbnVsbH1cbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICAke2dldFN1Ym1lbnVQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uKFxuICAgICAgICAgIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgICAgcHJvcHMuc3VibWVudVZlcnRpY2FsUG9zaXRpb25cbiAgICAgICAgKX07XG4gICAgICBcbiAgICAgIC8vIHByZXZlbnQgZ2xpdGNoeSBiZWhhdmlvciBkdXJpbmcgdGhlIGluaXRpYWwgcmVuZGVyIHdoZW4gdGhlIHN1Ym1lbnUncyB2ZXJ0aWNhbCBwb3NpdGlvbiBpcyBldmFsdWF0ZWQgYXMgMFxuICAgICAgJHtcbiAgICAgICAgcHJvcHMuc3VibWVudVZlcnRpY2FsUG9zaXRpb24gPT09IDAgJiZcbiAgICAgICAgY3NzYFxuICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgYFxuICAgICAgfVxuXG4gICAgICAgIC8vIGFkZGl0aW9uYWwgc3R5bGluZyBvZiB0aGUgcHNldWRvLWVsZW1lbnQgZW5hYmxpbmcgc21vb3RoIGNvdXJzb3IgbW92ZW1lbnRcbiAgICAgICAgOjpiZWZvcmUge1xuICAgICAgICAgICR7Z2V0Q29udGFpbmVyUG9zaXRpb25CYXNlZE9uTWVudUl0ZW1Qb3NpdGlvbihcbiAgICAgICAgICAgIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkLFxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWRcbiAgICAgICAgICApfVxuICAgICAgYH1cbiAgICAgIGlkPXtgZ3JvdXAtJHtwcm9wcy5pZH1gfVxuICAgICAgZGF0YS10ZXN0aWQ9e2Bncm91cC0ke3Byb3BzLmlkfWB9XG4gICAgICByb2xlPVwibWVudVwiXG4gICAgICBhcmlhLWV4cGFuZGVkPXtcbiAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCB8fFxuICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZFxuICAgICAgfVxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKFxuICAgICAgICB7IFtzdHlsZXMubGlzdF06IHByb3BzLmxldmVsID09PSAxIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0J11dOiBwcm9wcy5sZXZlbCA9PT0gMixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtZXhwYW5kZWRfX2FjdGl2ZSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0LWNvbGxhcHNlZF9fZW1wdHknXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCAmJiAhcHJvcHMuaGFzU3VibWVudSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtY29sbGFwc2VkX19hY3RpdmUnXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCAmJlxuICAgICAgICAgICAgIXByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0LWNvbGxhcHNlZF9fYWN0aXZlX19hYm92ZSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzLnN1Ymxpc3RfX2luYWN0aXZlXTogIWlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkLFxuICAgICAgICB9XG4gICAgICApfVxuICAgID5cbiAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICA8L3VsPlxuICApO1xufSk7XG5NZW51R3JvdXAuZGlzcGxheU5hbWUgPSAnTWVudUdyb3VwJztcblxudHlwZSBNZW51SXRlbVByb3BzID0ge1xuICBoYXNTdWJtZW51OiBib29sZWFuO1xuICBpc0FjdGl2ZTogYm9vbGVhbjtcbiAgaXNNYWluTWVudVJvdXRlQWN0aXZlPzogYm9vbGVhbjtcbiAgaXNNZW51T3BlbjogYm9vbGVhbjtcbiAgb25DbGljazogTW91c2VFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+O1xuICBvbk1vdXNlRW50ZXI/OlxuICAgIHwgTW91c2VFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+XG4gICAgfCBGb2N1c0V2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD47XG4gIG9uTW91c2VMZWF2ZT86XG4gICAgfCBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD5cbiAgICB8IEZvY3VzRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50PjtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgaWRlbnRpZmllcj86IHN0cmluZztcbn07XG5jb25zdCBNZW51SXRlbSA9IChwcm9wczogTWVudUl0ZW1Qcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxsaVxuICAgICAgcm9sZT1cIm1lbnVpdGVtXCJcbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcyhzdHlsZXNbJ2xpc3QtaXRlbSddLCB7XG4gICAgICAgIFtzdHlsZXMuaXRlbV9fYWN0aXZlXTogcHJvcHMuaXNBY3RpdmUsXG4gICAgICAgIFtzdHlsZXNbJ2l0ZW1fbWVudV9fYWN0aXZlJ11dOiBwcm9wcy5pc01haW5NZW51Um91dGVBY3RpdmUgPz8gZmFsc2UsXG4gICAgICAgIFtzdHlsZXNbJ2l0ZW1fbWVudS1jb2xsYXBzZWQnXV06ICFwcm9wcy5pc01lbnVPcGVuLFxuICAgICAgfSl9XG4gICAgICBvbkNsaWNrPXtwcm9wcy5vbkNsaWNrfVxuICAgICAgb25Nb3VzZUVudGVyPXtwcm9wcy5vbk1vdXNlRW50ZXIgYXMgTW91c2VFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+fVxuICAgICAgb25Nb3VzZUxlYXZlPXtwcm9wcy5vbk1vdXNlTGVhdmUgYXMgTW91c2VFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+fVxuICAgICAgb25Gb2N1cz17cHJvcHMub25Nb3VzZUVudGVyIGFzIEZvY3VzRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50Pn1cbiAgICAgIG9uQmx1cj17cHJvcHMub25Nb3VzZUxlYXZlIGFzIEZvY3VzRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50Pn1cbiAgICAgIGRhdGEtbWVudWl0ZW09e3Byb3BzLmlkZW50aWZpZXJ9XG4gICAgPlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaXRlbS1saW5rJ119Pntwcm9wcy5jaGlsZHJlbn08L2Rpdj5cbiAgICA8L2xpPlxuICApO1xufTtcblxuTWVudUl0ZW0uZGlzcGxheU5hbWUgPSAnTWVudUl0ZW0nO1xuXG5leHBvcnQgdHlwZSBNZW51SXRlbUxpbmtQcm9wcyA9IHtcbiAgbGlua1RvPzogc3RyaW5nO1xuICBleGFjdE1hdGNoOiBib29sZWFuO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBvbkNsaWNrPzogKGV2ZW50OiBTeW50aGV0aWNFdmVudDxIVE1MQW5jaG9yRWxlbWVudD4pID0+IHZvaWQ7XG4gIHVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rcz86IGJvb2xlYW47XG4gIGlzU3VibWVudUxpbms/OiBib29sZWFuO1xufTtcbmNvbnN0IG1lbnVJdGVtTGlua0RlZmF1bHRQcm9wczogUGljazxNZW51SXRlbUxpbmtQcm9wcywgJ2V4YWN0TWF0Y2gnPiA9IHtcbiAgZXhhY3RNYXRjaDogZmFsc2UsXG59O1xuY29uc3QgTmF2TGlua1dyYXBwZXIgPSAocHJvcHM6IE1lbnVJdGVtTGlua1Byb3BzKSA9PiB7XG4gIGlmIChwcm9wcy5pc1N1Ym1lbnVMaW5rKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ3RleHQtbGluay1zdWJsaXN0LXdyYXBwZXInXX0+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5jb25zdCBOYXZMaW5rQ2xpY2thYmxlQ29udGVudFdyYXBwZXIgPSAocHJvcHM6IE1lbnVJdGVtTGlua1Byb3BzKSA9PiB7XG4gIGlmIChwcm9wcy5pc1N1Ym1lbnVMaW5rKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ25hdmxpbmstY2xpY2thYmxlLWNvbnRlbnQnXX0+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5cbmNvbnN0IE1lbnVJdGVtTGluayA9IChwcm9wczogTWVudUl0ZW1MaW5rUHJvcHMpID0+IHtcbiAgY29uc3QgcmVkaXJlY3RUbyA9ICh0YXJnZXRVcmw6IHN0cmluZykgPT4gbG9jYXRpb24ucmVwbGFjZSh0YXJnZXRVcmwpO1xuICBpZiAocHJvcHMubGlua1RvKSB7XG4gICAgY29uc3QgbGlua0xldmVsID0gcHJvcHMuaXNTdWJtZW51TGluayA/ICd0ZXh0LWxpbmstc3VibGlzdCcgOiAndGV4dC1saW5rJztcbiAgICByZXR1cm4gKFxuICAgICAgPE5hdkxpbmtXcmFwcGVyIHsuLi5wcm9wc30+XG4gICAgICAgIDxOYXZMaW5rXG4gICAgICAgICAgdG89e3Byb3BzLmxpbmtUb31cbiAgICAgICAgICBleGFjdD17cHJvcHMuZXhhY3RNYXRjaH1cbiAgICAgICAgICBhY3RpdmVDbGFzc05hbWU9e3N0eWxlcy5oaWdobGlnaHRlZH1cbiAgICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1tsaW5rTGV2ZWxdfVxuICAgICAgICAgIGRhdGEtbGluay1sZXZlbD17bGlua0xldmVsfVxuICAgICAgICAgIG9uQ2xpY2s9eyhldmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKHByb3BzLmxpbmtUbyAmJiBwcm9wcy51c2VGdWxsUmVkaXJlY3RzRm9yTGlua3MpIHtcbiAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgcmVkaXJlY3RUbyhwcm9wcy5saW5rVG8pO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChwcm9wcy5vbkNsaWNrKSB7XG4gICAgICAgICAgICAgIGV2ZW50LnBlcnNpc3QoKTtcbiAgICAgICAgICAgICAgcHJvcHMub25DbGljayhldmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxOYXZMaW5rQ2xpY2thYmxlQ29udGVudFdyYXBwZXIgey4uLnByb3BzfT5cbiAgICAgICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgICAgICA8L05hdkxpbmtDbGlja2FibGVDb250ZW50V3JhcHBlcj5cbiAgICAgICAgPC9OYXZMaW5rPlxuICAgICAgPC9OYXZMaW5rV3JhcHBlcj5cbiAgICApO1xuICB9XG4gIHJldHVybiA8Pntwcm9wcy5jaGlsZHJlbn08Lz47XG59O1xuTWVudUl0ZW1MaW5rLmRpc3BsYXlOYW1lID0gJ01lbnVJdGVtTGluayc7XG5NZW51SXRlbUxpbmsuZGVmYXVsdFByb3BzID0gbWVudUl0ZW1MaW5rRGVmYXVsdFByb3BzO1xuXG5jb25zdCBpc0V2ZXJ5TWVudVZpc2liaWxpdHlTZXRUb0hpZGRlbiA9IChcbiAgbWVudVZpc2liaWxpdGllcz86IFROb3JtYWxpemVkTWVudVZpc2liaWxpdGllcyB8IG51bGwsXG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPzogc3RyaW5nW11cbikgPT5cbiAgQXJyYXkuaXNBcnJheShuYW1lc09mTWVudVZpc2liaWxpdGllcykgJiZcbiAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXMubGVuZ3RoID4gMCAmJlxuICBuYW1lc09mTWVudVZpc2liaWxpdGllcy5ldmVyeShcbiAgICAobmFtZU9mTWVudVZpc2liaWxpdHkpID0+XG4gICAgICBtZW51VmlzaWJpbGl0aWVzICYmIG1lbnVWaXNpYmlsaXRpZXNbbmFtZU9mTWVudVZpc2liaWxpdHldID09PSB0cnVlXG4gICk7XG5cbnR5cGUgUmVzdHJpY3RlZE1lbnVJdGVtUHJvcHMgPSB7XG4gIGZlYXR1cmVUb2dnbGU/OiBzdHJpbmc7XG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPzogc3RyaW5nW107XG4gIHByb2plY3RQZXJtaXNzaW9uczogVFByb2plY3RQZXJtaXNzaW9ucztcbiAgbWVudVZpc2liaWxpdGllczogVE5vcm1hbGl6ZWRNZW51VmlzaWJpbGl0aWVzIHwgbnVsbDtcbiAga2V5T2ZNZW51SXRlbTogc3RyaW5nO1xuICBwZXJtaXNzaW9uczogc3RyaW5nW107XG4gIGFjdGlvblJpZ2h0cz86IFRBY3Rpb25SaWdodFtdO1xuICBkYXRhRmVuY2VzPzogVERhdGFGZW5jZVtdO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xufTtcbnR5cGUgVExvbmdMaXZlZEZsYWcgPSB7XG4gIHZhbHVlOiBib29sZWFuO1xuICByZWFzb24/OiBzdHJpbmc7XG59O1xuY29uc3QgcmVzdHJpY3RlZE1lbnVJdGVtRGVmYXVsdFByb3BzOiBQaWNrPFxuICBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcyxcbiAgJ3Blcm1pc3Npb25zJ1xuPiA9IHtcbiAgcGVybWlzc2lvbnM6IFtdLFxufTtcbmZ1bmN0aW9uIGlzTG9uZ0xpdmVkRmxhZyhcbiAgZmxhZzogVEZsYWdWYXJpYXRpb24gfCBUTG9uZ0xpdmVkRmxhZ1xuKTogZmxhZyBpcyBUTG9uZ0xpdmVkRmxhZyB7XG4gIHJldHVybiB0eXBlb2YgKGZsYWcgYXMgVExvbmdMaXZlZEZsYWcpPy52YWx1ZSA9PT0gJ2Jvb2xlYW4nO1xufVxuY29uc3QgUmVzdHJpY3RlZE1lbnVJdGVtID0gKHByb3BzOiBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcykgPT4ge1xuICAvLyBOT1RFOiBDdXN0b20gYXBwbGljYXRpb24gYXJlIGFjdGl2YXRlZC9kZWFjdGl2YXRlZCB3aGlsZSB0aGVpclxuICAvLyB2aXNpYmlsaXR5IGlzIG5vdCBjb250cm9sbGVkIHZpYSBhIHZpc2liaWlsaXR5IG92ZXJ3cml0ZS5cbiAgY29uc3QgZmxhZ1ZhcmlhdGlvbiA9IHVzZUZsYWdWYXJpYXRpb24ocHJvcHMuZmVhdHVyZVRvZ2dsZSk7XG4gIGlmIChcbiAgICBpc0V2ZXJ5TWVudVZpc2liaWxpdHlTZXRUb0hpZGRlbihcbiAgICAgIHByb3BzLm1lbnVWaXNpYmlsaXRpZXMsXG4gICAgICBwcm9wcy5uYW1lc09mTWVudVZpc2liaWxpdGllc1xuICAgIClcbiAgKVxuICAgIHJldHVybiBudWxsO1xuXG4gIGNvbnN0IHBlcm1pc3Npb25zV3JhcHBlciA9XG4gICAgKEFycmF5LmlzQXJyYXkocHJvcHMucGVybWlzc2lvbnMpICYmIHByb3BzLnBlcm1pc3Npb25zLmxlbmd0aCA+IDApIHx8XG4gICAgKEFycmF5LmlzQXJyYXkocHJvcHMuZGF0YUZlbmNlcykgJiYgcHJvcHMuZGF0YUZlbmNlcy5sZW5ndGggPiAwKSA/IChcbiAgICAgIDxSZXN0cmljdGVkQnlQZXJtaXNzaW9uc1xuICAgICAgICBwZXJtaXNzaW9ucz17cHJvcHMucGVybWlzc2lvbnN9XG4gICAgICAgIGFjdGlvblJpZ2h0cz17cHJvcHMuYWN0aW9uUmlnaHRzfVxuICAgICAgICBkYXRhRmVuY2VzPXtwcm9wcy5kYXRhRmVuY2VzfVxuICAgICAgICBzZWxlY3REYXRhRmVuY2VEYXRhPXsoZGVtYW5kZWREYXRhRmVuY2UpID0+IHtcbiAgICAgICAgICBzd2l0Y2ggKGRlbWFuZGVkRGF0YUZlbmNlLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ3N0b3JlJzpcbiAgICAgICAgICAgICAgcmV0dXJuIGRlbWFuZGVkRGF0YUZlbmNlLmFjdHVhbERhdGFGZW5jZVZhbHVlcztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfX1cbiAgICAgICAgLy8gQWx3YXlzIGNoZWNrIHRoYXQgc29tZSBvZiB0aGUgZ2l2ZW4gcGVybWlzc2lvbnMgbWF0Y2guXG4gICAgICAgIHNob3VsZE1hdGNoU29tZVBlcm1pc3Npb25zPXt0cnVlfVxuICAgICAgICBwcm9qZWN0UGVybWlzc2lvbnM9e3Byb3BzLnByb2plY3RQZXJtaXNzaW9uc31cbiAgICAgID5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9SZXN0cmljdGVkQnlQZXJtaXNzaW9ucz5cbiAgICApIDogKFxuICAgICAgPD57cHJvcHMuY2hpbGRyZW59PC8+XG4gICAgKTtcblxuICBpZiAocHJvcHMuZmVhdHVyZVRvZ2dsZSkge1xuICAgIC8vIEEgcmVndWxhciBzaG9ydC1saXZlZCBmZWF0dXJlIHRvZ2dsZVxuICAgIGlmIChmbGFnVmFyaWF0aW9uID09PSB0cnVlKSByZXR1cm4gcGVybWlzc2lvbnNXcmFwcGVyO1xuICAgIC8vIEEgbG9uZy1saXZlZCBmZWF0dXJlIHRvZ2dsZSB3aXRoIGB7IHZhbHVlOiBib29sZWFuLCBzdHJpbmc6IHJlYXNvbiB9YFxuICAgIGlmIChpc0xvbmdMaXZlZEZsYWcoZmxhZ1ZhcmlhdGlvbikgJiYgZmxhZ1ZhcmlhdGlvbi52YWx1ZSA9PT0gdHJ1ZSlcbiAgICAgIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG59O1xuUmVzdHJpY3RlZE1lbnVJdGVtLmRpc3BsYXlOYW1lID0gJ1Jlc3RyaWN0ZWRNZW51SXRlbSc7XG5SZXN0cmljdGVkTWVudUl0ZW0uZGVmYXVsdFByb3BzID0gcmVzdHJpY3RlZE1lbnVJdGVtRGVmYXVsdFByb3BzO1xuXG50eXBlIE1lbnVMYWJlbFByb3BzID0ge1xuICBsYWJlbEFsbExvY2FsZXM6IFRMb2NhbGl6ZWRGaWVsZFtdO1xuICBkZWZhdWx0TGFiZWw/OiBzdHJpbmc7XG4gIGFwcGxpY2F0aW9uTG9jYWxlOiBzdHJpbmc7XG59O1xuY29uc3QgTWVudUxhYmVsID0gKHByb3BzOiBNZW51TGFiZWxQcm9wcykgPT4ge1xuICBjb25zdCBsb2NhbGl6ZWRMYWJlbCA9IHByb3BzLmxhYmVsQWxsTG9jYWxlcy5maW5kKChsb2MpID0+XG4gICAgcHJvcHMuYXBwbGljYXRpb25Mb2NhbGUuc3RhcnRzV2l0aChsb2MubG9jYWxlKVxuICApO1xuICBpZiAobG9jYWxpemVkTGFiZWwpIHJldHVybiA8Pntsb2NhbGl6ZWRMYWJlbC52YWx1ZX08Lz47XG4gIGlmIChwcm9wcy5kZWZhdWx0TGFiZWwpIHJldHVybiA8Pntwcm9wcy5kZWZhdWx0TGFiZWx9PC8+O1xuICByZXR1cm4gPD57Tk9fVkFMVUVfRkFMTEJBQ0t9PC8+O1xufTtcblxudHlwZSBUTmF2QmFyTGF5b3V0UHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59O1xuY29uc3QgTmF2QmFyTGF5b3V0ID0gZm9yd2FyZFJlZjxIVE1MRWxlbWVudCwgVE5hdkJhckxheW91dFByb3BzPihcbiAgKHByb3BzLCByZWYpID0+IChcbiAgICA8PlxuICAgICAgPEdsb2JhbFxuICAgICAgICBzdHlsZXM9e2Nzc2BcbiAgICAgICAgICAke2NvbXBpbGVkU3R5bGVzLmdsb2JhbH1cbiAgICAgICAgYH1cbiAgICAgIC8+XG4gICAgICA8bmF2XG4gICAgICAgIHJlZj17cmVmfVxuICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1snbGVmdC1uYXZpZ2F0aW9uJ119XG4gICAgICAgIGRhdGEtdGVzdD1cImxlZnQtbmF2aWdhdGlvblwiXG4gICAgICAgIGRhdGEtdGVzdGlkPVwibGVmdC1uYXZpZ2F0aW9uXCJcbiAgICAgID5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9uYXY+XG4gICAgPC8+XG4gIClcbik7XG5OYXZCYXJMYXlvdXQuZGlzcGxheU5hbWUgPSAnTmF2QmFyTGF5b3V0JztcblxudHlwZSBJdGVtQ29udGFpbmVyUHJvcHMgPSB7XG4gIGxhYmVsQWxsTG9jYWxlczogVExvY2FsaXplZEZpZWxkW107XG4gIGRlZmF1bHRMYWJlbD86IHN0cmluZztcbiAgYXBwbGljYXRpb25Mb2NhbGU6IHN0cmluZztcbiAgaWNvbjogc3RyaW5nO1xuICBpc01lbnVPcGVuPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IEl0ZW1Db250YWluZXIgPSAocHJvcHM6IEl0ZW1Db250YWluZXJQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2l0ZW0taWNvbi10ZXh0J119PlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaWNvbi1jb250YWluZXInXX0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMuaWNvbn0+XG4gICAgICAgICAgPEljb25Td2l0Y2hlciBpY29uPXtwcm9wcy5pY29ufSBzaXplPVwic2NhbGVcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAge3Byb3BzLmlzTWVudU9wZW4gPyAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMudGl0bGV9PlxuICAgICAgICAgIDxNZW51TGFiZWxcbiAgICAgICAgICAgIGxhYmVsQWxsTG9jYWxlcz17cHJvcHMubGFiZWxBbGxMb2NhbGVzfVxuICAgICAgICAgICAgZGVmYXVsdExhYmVsPXtwcm9wcy5kZWZhdWx0TGFiZWx9XG4gICAgICAgICAgICBhcHBsaWNhdGlvbkxvY2FsZT17cHJvcHMuYXBwbGljYXRpb25Mb2NhbGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApIDogbnVsbH1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbkl0ZW1Db250YWluZXIuZGlzcGxheU5hbWUgPSAnSXRlbUNvbnRhaW5lcic7XG5cbmV4cG9ydCB7XG4gIFJlc3RyaWN0ZWRNZW51SXRlbSxcbiAgTWVudUl0ZW0sXG4gIE1lbnVJdGVtTGluayxcbiAgSWNvblN3aXRjaGVyLFxuICBNZW51R3JvdXAsXG4gIE1lbnVMYWJlbCxcbiAgTWVudUV4cGFuZGVyLFxuICBGYWRlZCxcbiAgTmF2QmFyTGF5b3V0LFxuICBJdGVtQ29udGFpbmVyLFxufTtcbiJdfQ== */",
250
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__$1
251
- });
252
- const getSubmenuPositionBasedOnMenuItemPosition = (isSubmenuAboveMenuItem, submenuVerticalPosition) => /*#__PURE__*/react$1.css(isSubmenuAboveMenuItem ? 'bottom' : 'top', ":", submenuVerticalPosition, "px;" + (process.env.NODE_ENV === "production" ? "" : ";label:getSubmenuPositionBasedOnMenuItemPosition;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1lbnUtaXRlbXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXdMUSIsImZpbGUiOiJtZW51LWl0ZW1zLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGZvcndhcmRSZWYsXG4gIGxhenksXG4gIHR5cGUgTW91c2VFdmVudEhhbmRsZXIsXG4gIHR5cGUgRm9jdXNFdmVudEhhbmRsZXIsXG4gIHR5cGUgTW91c2VFdmVudCxcbiAgdHlwZSBLZXlib2FyZEV2ZW50LFxuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdHlwZSBTeW50aGV0aWNFdmVudCxcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgR2xvYmFsLCBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3JlYWN0LWJyb2FkY2FzdCc7XG5pbXBvcnQgdHlwZSB7IFRGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3R5cGVzJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgTmF2TGluayB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHR5cGUge1xuICBUTm9ybWFsaXplZE1lbnVWaXNpYmlsaXRpZXMsXG4gIFROb3JtYWxpemVkUGVybWlzc2lvbnMsXG4gIFROb3JtYWxpemVkQWN0aW9uUmlnaHRzLFxuICBUTm9ybWFsaXplZERhdGFGZW5jZXMsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnO1xuaW1wb3J0IE1pc3NpbmdJbWFnZVN2ZyBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hc3NldHMvaW1hZ2VzL2RpYWdvbmFsLWxpbmUuc3ZnJztcbmltcG9ydCB7IE5PX1ZBTFVFX0ZBTExCQUNLIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvY29uc3RhbnRzJztcbmltcG9ydCB7IFJlc3RyaWN0ZWRCeVBlcm1pc3Npb25zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvcGVybWlzc2lvbnMnO1xuaW1wb3J0IHtcbiAgQmFja0ljb24sXG4gIFNpZGViYXJFeHBhbmRJY29uLFxuICBTaWRlYmFyQ29sbGFwc2VJY29uLFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucyc7XG5pbXBvcnQgSW5saW5lU3ZnIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ljb25zL2lubGluZS1zdmcnO1xuaW1wb3J0IHsgRElNRU5TSU9OUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgdHlwZSB7XG4gIFREYXRhRmVuY2UsXG4gIFRBY3Rpb25SaWdodCxcbiAgVExvY2FsaXplZEZpZWxkLFxufSBmcm9tICcuLi8uLi90eXBlcy9nZW5lcmF0ZWQvcHJveHknO1xuaW1wb3J0IHsgbG9jYXRpb24gfSBmcm9tICcuLi8uLi91dGlscy9sb2NhdGlvbic7XG4vLyBodHRwczovL2JhYmVsanMuaW8vYmxvZy8yMDE3LzA5LzExL3plcm8tY29uZmlnLXdpdGgtYmFiZWwtbWFjcm9zXG5pbXBvcnQgY29tcGlsZWRTdHlsZXMgZnJvbSAvKiBwcmV2YWwgKi8gJy4vbmF2YmFyLnN0eWxlcyc7XG5cbmNvbnN0IHN0eWxlcyA9IGNvbXBpbGVkU3R5bGVzLmpzb25NYXA7XG5cbnR5cGUgVFByb2plY3RQZXJtaXNzaW9ucyA9IHtcbiAgcGVybWlzc2lvbnM6IFROb3JtYWxpemVkUGVybWlzc2lvbnMgfCBudWxsO1xuICBhY3Rpb25SaWdodHM6IFROb3JtYWxpemVkQWN0aW9uUmlnaHRzIHwgbnVsbDtcbiAgZGF0YUZlbmNlczogVE5vcm1hbGl6ZWREYXRhRmVuY2VzIHwgbnVsbDtcbn07XG5cbmNvbnN0IEhlYXJ0SWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9oZWFydCcpKTtcbmNvbnN0IFBhcGVyY2xpcEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi9sZWdhY3ktaWNvbnMvcGFwZXJjbGlwJykpO1xuY29uc3QgUGx1Z2luSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9wbHVnaW4nKSk7XG5jb25zdCBSb2NrZXRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3JvY2tldCcpKTtcbmNvbnN0IFN0YXJJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3N0YXInKSk7XG5jb25zdCBDb25uZWN0ZWRTcXVhcmVJY29uID0gbGF6eShcbiAgKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9jb25uZWN0ZWQtc3F1YXJlJylcbik7XG5jb25zdCBXb3JsZEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi9sZWdhY3ktaWNvbnMvd29ybGQnKSk7XG5jb25zdCBUcmVlU3RydWN0dXJlSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy90cmVlLXN0cnVjdHVyZScpKTtcbmNvbnN0IFVzZXJGaWxsZWRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3VzZXItZmlsbGVkJykpO1xuY29uc3QgU3BlZWRvbWV0ZXJJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3NwZWVkb21ldGVyJykpO1xuY29uc3QgVGFnTXVsdGlJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3RhZy1tdWx0aScpKTtcbmNvbnN0IENhcnRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL2NhcnQnKSk7XG5jb25zdCBCb3hJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL2JveCcpKTtcbmNvbnN0IEdlYXJJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL2dlYXInKSk7XG5jb25zdCBMaXN0V2l0aFNlYXJjaEljb24gPSBsYXp5KFxuICAoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL2xpc3Qtd2l0aC1zZWFyY2gnKVxuKTtcblxudHlwZSBJY29uUHJvcHMgPSBQYXJhbWV0ZXJzPHR5cGVvZiBCYWNrSWNvbj5bMF07XG50eXBlIEljb25Td2l0Y2hlclByb3BzID0geyBpY29uOiBzdHJpbmcgfSAmIEljb25Qcm9wcztcbi8vIFRoZSBpY29uIGlzIGV4cGVjdGVkIHRvIGJlIHRoZSBgc3ZnYCBkb2N1bWVudCBhcyBhIHN0cmluZy5cbi8vIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBwdXJwb3Nlcywgd2Ugc3RpbGwgc3VwcG9ydCB0aGUgbGVnYWN5IFwiaWNvbiBuYW1lXCIsXG4vLyB3aGljaCB3ZSB0aGVuIG1hcCB0byBvbmUgb2YgdGhlIHByZS1kZWZpbmVkIGljb25zLlxuLy8gRXZlbnR1YWxseSwgd2Ugd2FudCB0byBnZXQgcmlkIG9mIHRoaXMgXCJzd2l0Y2hcIiBsb2dpYy5cbmNvbnN0IEljb25Td2l0Y2hlciA9ICh7IGljb24sIC4uLmljb25Qcm9wcyB9OiBJY29uU3dpdGNoZXJQcm9wcykgPT4ge1xuICBpZiAoaWNvbi5pbmNsdWRlcygnPHN2ZycpKSB7XG4gICAgcmV0dXJuIDxJbmxpbmVTdmcgZGF0YT17aWNvbn0gey4uLmljb25Qcm9wc30gLz47XG4gIH1cbiAgLy8gQmFja3dhcmRzIGNvbXBhdGliaWxpdHkgZm9yIGFwcHMgdXNpbmcgdGhlIFwiaWNvbiBuYW1lXCIuXG4gIHN3aXRjaCAoaWNvbikge1xuICAgIC8vIExlZ2FjeSBhcHBsaWNhdGlvbiBpY29uc1xuICAgIC8vIFRPRE86IFRvIGJlIHJlbW92ZWQgb25jZSBNQyBhcHBsaWNhdGlvbnMgaWNvbnMgdXBkYXRlcyBhcmUgcHVibGlzaGVkXG4gICAgY2FzZSAnVHJlZVN0cnVjdHVyZUljb24nOlxuICAgICAgcmV0dXJuIDxUcmVlU3RydWN0dXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdVc2VyRmlsbGVkSWNvbic6XG4gICAgICByZXR1cm4gPFVzZXJGaWxsZWRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1NwZWVkb21ldGVySWNvbic6XG4gICAgICByZXR1cm4gPFNwZWVkb21ldGVySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdUYWdNdWx0aUljb24nOlxuICAgICAgcmV0dXJuIDxUYWdNdWx0aUljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnQ2FydEljb24nOlxuICAgICAgcmV0dXJuIDxDYXJ0SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdCb3hJY29uJzpcbiAgICAgIHJldHVybiA8Qm94SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdHZWFySWNvbic6XG4gICAgICByZXR1cm4gPEdlYXJJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ0xpc3RXaXRoU2VhcmNoSWNvbic6XG4gICAgICByZXR1cm4gPExpc3RXaXRoU2VhcmNoSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcblxuICAgIC8vIEN1c3RvbSBhcHBsaWNhdGlvbiBpY29ucyBzZXRcbiAgICBjYXNlICdIZWFydEljb24nOlxuICAgICAgcmV0dXJuIDxIZWFydEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUGFwZXJjbGlwSWNvbic6XG4gICAgICByZXR1cm4gPFBhcGVyY2xpcEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUGx1Z2luSWNvbic6XG4gICAgICByZXR1cm4gPFBsdWdpbkljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUm9ja2V0SWNvbic6XG4gICAgICByZXR1cm4gPFJvY2tldEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnU3Rhckljb24nOlxuICAgICAgcmV0dXJuIDxTdGFySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdDb25uZWN0ZWRTcXVhcmVJY29uJzpcbiAgICAgIHJldHVybiA8Q29ubmVjdGVkU3F1YXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICAvLyBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcbiAgICBjYXNlICdXb3JsZEljb24nOlxuICAgICAgcmV0dXJuIDxXb3JsZEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiA8aW1nIHNyYz17TWlzc2luZ0ltYWdlU3ZnfSBhbHQ9XCJtaXNzaW5nIGljb25cIiAvPjtcbiAgfVxufTtcbkljb25Td2l0Y2hlci5kaXNwbGF5TmFtZSA9ICdJY29uU3dpdGNoZXInO1xuXG50eXBlIE1lbnVFeHBhbmRlclByb3BzID0ge1xuICBpc1Zpc2libGU6IGJvb2xlYW47XG4gIG9uQ2xpY2s6IChcbiAgICBlOiBNb3VzZUV2ZW50PEhUTUxEaXZFbGVtZW50PiB8IEtleWJvYXJkRXZlbnQ8SFRNTERpdkVsZW1lbnQ+XG4gICkgPT4gdm9pZDtcbiAgaXNNZW51T3BlbjogYm9vbGVhbjtcbn07XG5cbmNvbnN0IGdldEljb24gPSAoeyBpc01lbnVPcGVuIH06IE1lbnVFeHBhbmRlclByb3BzKSA9PiB7XG4gIGNvbnN0IEljb24gPSBpc01lbnVPcGVuID8gU2lkZWJhckNvbGxhcHNlSWNvbiA6IFNpZGViYXJFeHBhbmRJY29uO1xuICByZXR1cm4gPEljb24gY29sb3I9XCJzdXJmYWNlXCIgc2l6ZT1cImJpZ1wiIC8+O1xufTtcblxuY29uc3QgTWVudUV4cGFuZGVyID0gKHByb3BzOiBNZW51RXhwYW5kZXJQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxsaVxuICAgICAga2V5PVwiZXhwYW5kZXJcIlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKHN0eWxlcy5leHBhbmRlciwge1xuICAgICAgICBbc3R5bGVzLmhpZGRlbl06ICFwcm9wcy5pc1Zpc2libGUsXG4gICAgICB9KX1cbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIG9uQ2xpY2s9e3Byb3BzLm9uQ2xpY2t9XG4gICAgICAgIG9uS2V5RG93bj17KGUpID0+IHtcbiAgICAgICAgICBpZiAoZS5rZXkgPT09ICdFbnRlcicpIHtcbiAgICAgICAgICAgIHByb3BzLm9uQ2xpY2soZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9fVxuICAgICAgICB0YWJJbmRleD17MH1cbiAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXNbJ2V4cGFuZC1pY29uJ119XG4gICAgICAgIGRhdGEtdGVzdGlkPVwibWVudS1leHBhbmRlclwiXG4gICAgICA+XG4gICAgICAgIHtnZXRJY29uKHByb3BzKX1cbiAgICAgIDwvZGl2PlxuICAgIDwvbGk+XG4gICk7XG59O1xuTWVudUV4cGFuZGVyLmRpc3BsYXlOYW1lID0gJ01lbnVFeHBhbmRlcic7XG5cbmNvbnN0IEZhZGVkID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0zMnB4O1xuICBoZWlnaHQ6IDMycHg7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDAsIDE1MywgMTM1LCAwKSAwJSwgIzAwYjM5ZSAxMDAlKTtcbiAgei1pbmRleDogMTtcbmA7XG5cbnR5cGUgTWVudUdyb3VwUHJvcHMgPSB7XG4gIGlkOiBzdHJpbmc7XG4gIGxldmVsOiAxIHwgMjtcbiAgaXNBY3RpdmU/OiBib29sZWFuO1xuICBpc0V4cGFuZGVkPzogYm9vbGVhbjtcbiAgaGFzU3VibWVudT86IGJvb2xlYW47XG4gIGNoaWxkcmVuPzogUmVhY3ROb2RlO1xuICBzdWJtZW51VmVydGljYWxQb3NpdGlvbj86IG51bWJlcjtcbiAgaXNTdWJtZW51QWJvdmVNZW51SXRlbT86IGJvb2xlYW47XG59O1xuXG5jb25zdCBnZXRTdWJtZW51UG9zaXRpb25CYXNlZE9uTWVudUl0ZW1Qb3NpdGlvbiA9IChcbiAgaXNTdWJtZW51QWJvdmVNZW51SXRlbT86IGJvb2xlYW4sXG4gIHN1Ym1lbnVWZXJ0aWNhbFBvc2l0aW9uPzogbnVtYmVyXG4pID0+IGNzc2BcbiAgJHtpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtID8gJ2JvdHRvbScgOiAndG9wJ306ICR7c3VibWVudVZlcnRpY2FsUG9zaXRpb259cHhcbmA7XG5cbmNvbnN0IGdldENvbnRhaW5lclBvc2l0aW9uQmFzZWRPbk1lbnVJdGVtUG9zaXRpb24gPSAoXG4gIGlzU3VibWVudUFib3ZlTWVudUl0ZW0/OiBib29sZWFuLFxuICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkPzogYm9vbGVhbixcbiAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQ/OiBib29sZWFuXG4pID0+IFtcbiAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQgJiZcbiAgICBjc3NgXG4gICAgICAke2lzU3VibWVudUFib3ZlTWVudUl0ZW1cbiAgICAgICAgPyAnYm90dG9tJ1xuICAgICAgICA6ICd0b3AnfTogLSR7RElNRU5TSU9OUy5uYXZNZW51SXRlbUhlaWdodH07XG4gICAgYCxcbiAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCAmJlxuICAgIGlzU3VibWVudUFib3ZlTWVudUl0ZW0gJiZcbiAgICBjc3NgXG4gICAgICBib3R0b206IDA7XG4gICAgYCxcbiAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCAmJlxuICAgICFpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtICYmXG4gICAgY3NzYFxuICAgICAgdG9wOiAwO1xuICAgIGAsXG5dO1xuXG5jb25zdCBNZW51R3JvdXAgPSBmb3J3YXJkUmVmPEhUTUxVTGlzdEVsZW1lbnQsIE1lbnVHcm91cFByb3BzPigocHJvcHMsIHJlZikgPT4ge1xuICBpZiAoXG4gICAgcHJvcHMuaXNFeHBhbmRlZCAmJlxuICAgICgocHJvcHMubGV2ZWwgPT09IDIgJiYgIXByb3BzLmhhc1N1Ym1lbnUpIHx8XG4gICAgICAocHJvcHMubGV2ZWwgPT09IDIgJiYgIXByb3BzLmlzQWN0aXZlKSlcbiAgKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgY29uc3QgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCA9XG4gICAgcHJvcHMubGV2ZWwgPT09IDIgJiYgcHJvcHMuaXNBY3RpdmUgJiYgcHJvcHMuaXNFeHBhbmRlZDtcbiAgY29uc3QgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQgPVxuICAgIHByb3BzLmxldmVsID09PSAyICYmIHByb3BzLmlzQWN0aXZlICYmICFwcm9wcy5pc0V4cGFuZGVkO1xuICByZXR1cm4gKFxuICAgIDx1bFxuICAgICAgcmVmPXtyZWYgJiYgcHJvcHMubGV2ZWwgPT09IDIgPyByZWYgOiBudWxsfVxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgICR7Z2V0U3VibWVudVBvc2l0aW9uQmFzZWRPbk1lbnVJdGVtUG9zaXRpb24oXG4gICAgICAgICAgcHJvcHMuaXNTdWJtZW51QWJvdmVNZW51SXRlbSxcbiAgICAgICAgICBwcm9wcy5zdWJtZW51VmVydGljYWxQb3NpdGlvblxuICAgICAgICApfTtcbiAgICAgIFxuICAgICAgLy8gcHJldmVudCBnbGl0Y2h5IGJlaGF2aW9yIGR1cmluZyB0aGUgaW5pdGlhbCByZW5kZXIgd2hlbiB0aGUgc3VibWVudSdzIHZlcnRpY2FsIHBvc2l0aW9uIGlzIGV2YWx1YXRlZCBhcyAwXG4gICAgICAke1xuICAgICAgICBwcm9wcy5zdWJtZW51VmVydGljYWxQb3NpdGlvbiA9PT0gMCAmJlxuICAgICAgICBjc3NgXG4gICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICBgXG4gICAgICB9XG5cbiAgICAgICAgLy8gYWRkaXRpb25hbCBzdHlsaW5nIG9mIHRoZSBwc2V1ZG8tZWxlbWVudCBlbmFibGluZyBzbW9vdGggY291cnNvciBtb3ZlbWVudFxuICAgICAgICA6OmJlZm9yZSB7XG4gICAgICAgICAgJHtnZXRDb250YWluZXJQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uKFxuICAgICAgICAgICAgcHJvcHMuaXNTdWJtZW51QWJvdmVNZW51SXRlbSxcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQsXG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZFxuICAgICAgICAgICl9XG4gICAgICBgfVxuICAgICAgaWQ9e2Bncm91cC0ke3Byb3BzLmlkfWB9XG4gICAgICBkYXRhLXRlc3RpZD17YGdyb3VwLSR7cHJvcHMuaWR9YH1cbiAgICAgIHJvbGU9XCJtZW51XCJcbiAgICAgIGFyaWEtZXhwYW5kZWQ9e1xuICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkIHx8XG4gICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkXG4gICAgICB9XG4gICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoXG4gICAgICAgIHsgW3N0eWxlcy5saXN0XTogcHJvcHMubGV2ZWwgPT09IDEgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QnXV06IHByb3BzLmxldmVsID09PSAyLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlc1snc3VibGlzdC1leHBhbmRlZF9fYWN0aXZlJ11dOlxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtY29sbGFwc2VkX19lbXB0eSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmICFwcm9wcy5oYXNTdWJtZW51LFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlc1snc3VibGlzdC1jb2xsYXBzZWRfX2FjdGl2ZSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmXG4gICAgICAgICAgICAhcHJvcHMuaXNTdWJtZW51QWJvdmVNZW51SXRlbSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtY29sbGFwc2VkX19hY3RpdmVfX2Fib3ZlJ11dOlxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQgJiYgcHJvcHMuaXNTdWJtZW51QWJvdmVNZW51SXRlbSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXMuc3VibGlzdF9faW5hY3RpdmVdOiAhaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQsXG4gICAgICAgIH1cbiAgICAgICl9XG4gICAgPlxuICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgIDwvdWw+XG4gICk7XG59KTtcbk1lbnVHcm91cC5kaXNwbGF5TmFtZSA9ICdNZW51R3JvdXAnO1xuXG50eXBlIE1lbnVJdGVtUHJvcHMgPSB7XG4gIGhhc1N1Ym1lbnU6IGJvb2xlYW47XG4gIGlzQWN0aXZlOiBib29sZWFuO1xuICBpc01haW5NZW51Um91dGVBY3RpdmU/OiBib29sZWFuO1xuICBpc01lbnVPcGVuOiBib29sZWFuO1xuICBvbkNsaWNrOiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD47XG4gIG9uTW91c2VFbnRlcj86XG4gICAgfCBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD5cbiAgICB8IEZvY3VzRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50PjtcbiAgb25Nb3VzZUxlYXZlPzpcbiAgICB8IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50PlxuICAgIHwgRm9jdXNFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+O1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBpZGVudGlmaWVyPzogc3RyaW5nO1xufTtcbmNvbnN0IE1lbnVJdGVtID0gKHByb3BzOiBNZW51SXRlbVByb3BzKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGxpXG4gICAgICByb2xlPVwibWVudWl0ZW1cIlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKHN0eWxlc1snbGlzdC1pdGVtJ10sIHtcbiAgICAgICAgW3N0eWxlcy5pdGVtX19hY3RpdmVdOiBwcm9wcy5pc0FjdGl2ZSxcbiAgICAgICAgW3N0eWxlc1snaXRlbV9tZW51X19hY3RpdmUnXV06IHByb3BzLmlzTWFpbk1lbnVSb3V0ZUFjdGl2ZSA/PyBmYWxzZSxcbiAgICAgICAgW3N0eWxlc1snaXRlbV9tZW51LWNvbGxhcHNlZCddXTogIXByb3BzLmlzTWVudU9wZW4sXG4gICAgICB9KX1cbiAgICAgIG9uQ2xpY2s9e3Byb3BzLm9uQ2xpY2t9XG4gICAgICBvbk1vdXNlRW50ZXI9e3Byb3BzLm9uTW91c2VFbnRlciBhcyBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD59XG4gICAgICBvbk1vdXNlTGVhdmU9e3Byb3BzLm9uTW91c2VMZWF2ZSBhcyBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD59XG4gICAgICBvbkZvY3VzPXtwcm9wcy5vbk1vdXNlRW50ZXIgYXMgRm9jdXNFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+fVxuICAgICAgb25CbHVyPXtwcm9wcy5vbk1vdXNlTGVhdmUgYXMgRm9jdXNFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+fVxuICAgICAgZGF0YS1tZW51aXRlbT17cHJvcHMuaWRlbnRpZmllcn1cbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydpdGVtLWxpbmsnXX0+e3Byb3BzLmNoaWxkcmVufTwvZGl2PlxuICAgIDwvbGk+XG4gICk7XG59O1xuXG5NZW51SXRlbS5kaXNwbGF5TmFtZSA9ICdNZW51SXRlbSc7XG5cbmV4cG9ydCB0eXBlIE1lbnVJdGVtTGlua1Byb3BzID0ge1xuICBsaW5rVG8/OiBzdHJpbmc7XG4gIGV4YWN0TWF0Y2g6IGJvb2xlYW47XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIG9uQ2xpY2s/OiAoZXZlbnQ6IFN5bnRoZXRpY0V2ZW50PEhUTUxBbmNob3JFbGVtZW50PikgPT4gdm9pZDtcbiAgdXNlRnVsbFJlZGlyZWN0c0ZvckxpbmtzPzogYm9vbGVhbjtcbiAgaXNTdWJtZW51TGluaz86IGJvb2xlYW47XG59O1xuY29uc3QgbWVudUl0ZW1MaW5rRGVmYXVsdFByb3BzOiBQaWNrPE1lbnVJdGVtTGlua1Byb3BzLCAnZXhhY3RNYXRjaCc+ID0ge1xuICBleGFjdE1hdGNoOiBmYWxzZSxcbn07XG5jb25zdCBOYXZMaW5rV3JhcHBlciA9IChwcm9wczogTWVudUl0ZW1MaW5rUHJvcHMpID0+IHtcbiAgaWYgKHByb3BzLmlzU3VibWVudUxpbmspIHtcbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1sndGV4dC1saW5rLXN1Ymxpc3Qtd3JhcHBlciddfT5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxuICByZXR1cm4gPD57cHJvcHMuY2hpbGRyZW59PC8+O1xufTtcbmNvbnN0IE5hdkxpbmtDbGlja2FibGVDb250ZW50V3JhcHBlciA9IChwcm9wczogTWVudUl0ZW1MaW5rUHJvcHMpID0+IHtcbiAgaWYgKHByb3BzLmlzU3VibWVudUxpbmspIHtcbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snbmF2bGluay1jbGlja2FibGUtY29udGVudCddfT5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxuICByZXR1cm4gPD57cHJvcHMuY2hpbGRyZW59PC8+O1xufTtcblxuY29uc3QgTWVudUl0ZW1MaW5rID0gKHByb3BzOiBNZW51SXRlbUxpbmtQcm9wcykgPT4ge1xuICBjb25zdCByZWRpcmVjdFRvID0gKHRhcmdldFVybDogc3RyaW5nKSA9PiBsb2NhdGlvbi5yZXBsYWNlKHRhcmdldFVybCk7XG4gIGlmIChwcm9wcy5saW5rVG8pIHtcbiAgICBjb25zdCBsaW5rTGV2ZWwgPSBwcm9wcy5pc1N1Ym1lbnVMaW5rID8gJ3RleHQtbGluay1zdWJsaXN0JyA6ICd0ZXh0LWxpbmsnO1xuICAgIHJldHVybiAoXG4gICAgICA8TmF2TGlua1dyYXBwZXIgey4uLnByb3BzfT5cbiAgICAgICAgPE5hdkxpbmtcbiAgICAgICAgICB0bz17cHJvcHMubGlua1RvfVxuICAgICAgICAgIGV4YWN0PXtwcm9wcy5leGFjdE1hdGNofVxuICAgICAgICAgIGFjdGl2ZUNsYXNzTmFtZT17c3R5bGVzLmhpZ2hsaWdodGVkfVxuICAgICAgICAgIGNsYXNzTmFtZT17c3R5bGVzW2xpbmtMZXZlbF19XG4gICAgICAgICAgZGF0YS1saW5rLWxldmVsPXtsaW5rTGV2ZWx9XG4gICAgICAgICAgb25DbGljaz17KGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBpZiAocHJvcHMubGlua1RvICYmIHByb3BzLnVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rcykge1xuICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICByZWRpcmVjdFRvKHByb3BzLmxpbmtUbyk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHByb3BzLm9uQ2xpY2spIHtcbiAgICAgICAgICAgICAgZXZlbnQucGVyc2lzdCgpO1xuICAgICAgICAgICAgICBwcm9wcy5vbkNsaWNrKGV2ZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAgPE5hdkxpbmtDbGlja2FibGVDb250ZW50V3JhcHBlciB7Li4ucHJvcHN9PlxuICAgICAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgICAgIDwvTmF2TGlua0NsaWNrYWJsZUNvbnRlbnRXcmFwcGVyPlxuICAgICAgICA8L05hdkxpbms+XG4gICAgICA8L05hdkxpbmtXcmFwcGVyPlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5NZW51SXRlbUxpbmsuZGlzcGxheU5hbWUgPSAnTWVudUl0ZW1MaW5rJztcbk1lbnVJdGVtTGluay5kZWZhdWx0UHJvcHMgPSBtZW51SXRlbUxpbmtEZWZhdWx0UHJvcHM7XG5cbmNvbnN0IGlzRXZlcnlNZW51VmlzaWJpbGl0eVNldFRvSGlkZGVuID0gKFxuICBtZW51VmlzaWJpbGl0aWVzPzogVE5vcm1hbGl6ZWRNZW51VmlzaWJpbGl0aWVzIHwgbnVsbCxcbiAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXM/OiBzdHJpbmdbXVxuKSA9PlxuICBBcnJheS5pc0FycmF5KG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzKSAmJlxuICBuYW1lc09mTWVudVZpc2liaWxpdGllcy5sZW5ndGggPiAwICYmXG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzLmV2ZXJ5KFxuICAgIChuYW1lT2ZNZW51VmlzaWJpbGl0eSkgPT5cbiAgICAgIG1lbnVWaXNpYmlsaXRpZXMgJiYgbWVudVZpc2liaWxpdGllc1tuYW1lT2ZNZW51VmlzaWJpbGl0eV0gPT09IHRydWVcbiAgKTtcblxudHlwZSBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcyA9IHtcbiAgZmVhdHVyZVRvZ2dsZT86IHN0cmluZztcbiAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXM/OiBzdHJpbmdbXTtcbiAgcHJvamVjdFBlcm1pc3Npb25zOiBUUHJvamVjdFBlcm1pc3Npb25zO1xuICBtZW51VmlzaWJpbGl0aWVzOiBUTm9ybWFsaXplZE1lbnVWaXNpYmlsaXRpZXMgfCBudWxsO1xuICBrZXlPZk1lbnVJdGVtOiBzdHJpbmc7XG4gIHBlcm1pc3Npb25zOiBzdHJpbmdbXTtcbiAgYWN0aW9uUmlnaHRzPzogVEFjdGlvblJpZ2h0W107XG4gIGRhdGFGZW5jZXM/OiBURGF0YUZlbmNlW107XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59O1xudHlwZSBUTG9uZ0xpdmVkRmxhZyA9IHtcbiAgdmFsdWU6IGJvb2xlYW47XG4gIHJlYXNvbj86IHN0cmluZztcbn07XG5jb25zdCByZXN0cmljdGVkTWVudUl0ZW1EZWZhdWx0UHJvcHM6IFBpY2s8XG4gIFJlc3RyaWN0ZWRNZW51SXRlbVByb3BzLFxuICAncGVybWlzc2lvbnMnXG4+ID0ge1xuICBwZXJtaXNzaW9uczogW10sXG59O1xuZnVuY3Rpb24gaXNMb25nTGl2ZWRGbGFnKFxuICBmbGFnOiBURmxhZ1ZhcmlhdGlvbiB8IFRMb25nTGl2ZWRGbGFnXG4pOiBmbGFnIGlzIFRMb25nTGl2ZWRGbGFnIHtcbiAgcmV0dXJuIHR5cGVvZiAoZmxhZyBhcyBUTG9uZ0xpdmVkRmxhZyk/LnZhbHVlID09PSAnYm9vbGVhbic7XG59XG5jb25zdCBSZXN0cmljdGVkTWVudUl0ZW0gPSAocHJvcHM6IFJlc3RyaWN0ZWRNZW51SXRlbVByb3BzKSA9PiB7XG4gIC8vIE5PVEU6IEN1c3RvbSBhcHBsaWNhdGlvbiBhcmUgYWN0aXZhdGVkL2RlYWN0aXZhdGVkIHdoaWxlIHRoZWlyXG4gIC8vIHZpc2liaWxpdHkgaXMgbm90IGNvbnRyb2xsZWQgdmlhIGEgdmlzaWJpaWxpdHkgb3ZlcndyaXRlLlxuICBjb25zdCBmbGFnVmFyaWF0aW9uID0gdXNlRmxhZ1ZhcmlhdGlvbihwcm9wcy5mZWF0dXJlVG9nZ2xlKTtcbiAgaWYgKFxuICAgIGlzRXZlcnlNZW51VmlzaWJpbGl0eVNldFRvSGlkZGVuKFxuICAgICAgcHJvcHMubWVudVZpc2liaWxpdGllcyxcbiAgICAgIHByb3BzLm5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzXG4gICAgKVxuICApXG4gICAgcmV0dXJuIG51bGw7XG5cbiAgY29uc3QgcGVybWlzc2lvbnNXcmFwcGVyID1cbiAgICAoQXJyYXkuaXNBcnJheShwcm9wcy5wZXJtaXNzaW9ucykgJiYgcHJvcHMucGVybWlzc2lvbnMubGVuZ3RoID4gMCkgfHxcbiAgICAoQXJyYXkuaXNBcnJheShwcm9wcy5kYXRhRmVuY2VzKSAmJiBwcm9wcy5kYXRhRmVuY2VzLmxlbmd0aCA+IDApID8gKFxuICAgICAgPFJlc3RyaWN0ZWRCeVBlcm1pc3Npb25zXG4gICAgICAgIHBlcm1pc3Npb25zPXtwcm9wcy5wZXJtaXNzaW9uc31cbiAgICAgICAgYWN0aW9uUmlnaHRzPXtwcm9wcy5hY3Rpb25SaWdodHN9XG4gICAgICAgIGRhdGFGZW5jZXM9e3Byb3BzLmRhdGFGZW5jZXN9XG4gICAgICAgIHNlbGVjdERhdGFGZW5jZURhdGE9eyhkZW1hbmRlZERhdGFGZW5jZSkgPT4ge1xuICAgICAgICAgIHN3aXRjaCAoZGVtYW5kZWREYXRhRmVuY2UudHlwZSkge1xuICAgICAgICAgICAgY2FzZSAnc3RvcmUnOlxuICAgICAgICAgICAgICByZXR1cm4gZGVtYW5kZWREYXRhRmVuY2UuYWN0dWFsRGF0YUZlbmNlVmFsdWVzO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9fVxuICAgICAgICAvLyBBbHdheXMgY2hlY2sgdGhhdCBzb21lIG9mIHRoZSBnaXZlbiBwZXJtaXNzaW9ucyBtYXRjaC5cbiAgICAgICAgc2hvdWxkTWF0Y2hTb21lUGVybWlzc2lvbnM9e3RydWV9XG4gICAgICAgIHByb2plY3RQZXJtaXNzaW9ucz17cHJvcHMucHJvamVjdFBlcm1pc3Npb25zfVxuICAgICAgPlxuICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICA8L1Jlc3RyaWN0ZWRCeVBlcm1pc3Npb25zPlxuICAgICkgOiAoXG4gICAgICA8Pntwcm9wcy5jaGlsZHJlbn08Lz5cbiAgICApO1xuXG4gIGlmIChwcm9wcy5mZWF0dXJlVG9nZ2xlKSB7XG4gICAgLy8gQSByZWd1bGFyIHNob3J0LWxpdmVkIGZlYXR1cmUgdG9nZ2xlXG4gICAgaWYgKGZsYWdWYXJpYXRpb24gPT09IHRydWUpIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG4gICAgLy8gQSBsb25nLWxpdmVkIGZlYXR1cmUgdG9nZ2xlIHdpdGggYHsgdmFsdWU6IGJvb2xlYW4sIHN0cmluZzogcmVhc29uIH1gXG4gICAgaWYgKGlzTG9uZ0xpdmVkRmxhZyhmbGFnVmFyaWF0aW9uKSAmJiBmbGFnVmFyaWF0aW9uLnZhbHVlID09PSB0cnVlKVxuICAgICAgcmV0dXJuIHBlcm1pc3Npb25zV3JhcHBlcjtcblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIHBlcm1pc3Npb25zV3JhcHBlcjtcbn07XG5SZXN0cmljdGVkTWVudUl0ZW0uZGlzcGxheU5hbWUgPSAnUmVzdHJpY3RlZE1lbnVJdGVtJztcblJlc3RyaWN0ZWRNZW51SXRlbS5kZWZhdWx0UHJvcHMgPSByZXN0cmljdGVkTWVudUl0ZW1EZWZhdWx0UHJvcHM7XG5cbnR5cGUgTWVudUxhYmVsUHJvcHMgPSB7XG4gIGxhYmVsQWxsTG9jYWxlczogVExvY2FsaXplZEZpZWxkW107XG4gIGRlZmF1bHRMYWJlbD86IHN0cmluZztcbiAgYXBwbGljYXRpb25Mb2NhbGU6IHN0cmluZztcbn07XG5jb25zdCBNZW51TGFiZWwgPSAocHJvcHM6IE1lbnVMYWJlbFByb3BzKSA9PiB7XG4gIGNvbnN0IGxvY2FsaXplZExhYmVsID0gcHJvcHMubGFiZWxBbGxMb2NhbGVzLmZpbmQoKGxvYykgPT5cbiAgICBwcm9wcy5hcHBsaWNhdGlvbkxvY2FsZS5zdGFydHNXaXRoKGxvYy5sb2NhbGUpXG4gICk7XG4gIGlmIChsb2NhbGl6ZWRMYWJlbCkgcmV0dXJuIDw+e2xvY2FsaXplZExhYmVsLnZhbHVlfTwvPjtcbiAgaWYgKHByb3BzLmRlZmF1bHRMYWJlbCkgcmV0dXJuIDw+e3Byb3BzLmRlZmF1bHRMYWJlbH08Lz47XG4gIHJldHVybiA8PntOT19WQUxVRV9GQUxMQkFDS308Lz47XG59O1xuXG50eXBlIFROYXZCYXJMYXlvdXRQcm9wcyA9IHtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbn07XG5jb25zdCBOYXZCYXJMYXlvdXQgPSBmb3J3YXJkUmVmPEhUTUxFbGVtZW50LCBUTmF2QmFyTGF5b3V0UHJvcHM+KFxuICAocHJvcHMsIHJlZikgPT4gKFxuICAgIDw+XG4gICAgICA8R2xvYmFsXG4gICAgICAgIHN0eWxlcz17Y3NzYFxuICAgICAgICAgICR7Y29tcGlsZWRTdHlsZXMuZ2xvYmFsfVxuICAgICAgICBgfVxuICAgICAgLz5cbiAgICAgIDxuYXZcbiAgICAgICAgcmVmPXtyZWZ9XG4gICAgICAgIGNsYXNzTmFtZT17c3R5bGVzWydsZWZ0LW5hdmlnYXRpb24nXX1cbiAgICAgICAgZGF0YS10ZXN0PVwibGVmdC1uYXZpZ2F0aW9uXCJcbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJsZWZ0LW5hdmlnYXRpb25cIlxuICAgICAgPlxuICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICA8L25hdj5cbiAgICA8Lz5cbiAgKVxuKTtcbk5hdkJhckxheW91dC5kaXNwbGF5TmFtZSA9ICdOYXZCYXJMYXlvdXQnO1xuXG50eXBlIEl0ZW1Db250YWluZXJQcm9wcyA9IHtcbiAgbGFiZWxBbGxMb2NhbGVzOiBUTG9jYWxpemVkRmllbGRbXTtcbiAgZGVmYXVsdExhYmVsPzogc3RyaW5nO1xuICBhcHBsaWNhdGlvbkxvY2FsZTogc3RyaW5nO1xuICBpY29uOiBzdHJpbmc7XG4gIGlzTWVudU9wZW4/OiBib29sZWFuO1xufTtcblxuY29uc3QgSXRlbUNvbnRhaW5lciA9IChwcm9wczogSXRlbUNvbnRhaW5lclByb3BzKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaXRlbS1pY29uLXRleHQnXX0+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydpY29uLWNvbnRhaW5lciddfT5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlcy5pY29ufT5cbiAgICAgICAgICA8SWNvblN3aXRjaGVyIGljb249e3Byb3BzLmljb259IHNpemU9XCJzY2FsZVwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICB7cHJvcHMuaXNNZW51T3BlbiA/IChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlcy50aXRsZX0+XG4gICAgICAgICAgPE1lbnVMYWJlbFxuICAgICAgICAgICAgbGFiZWxBbGxMb2NhbGVzPXtwcm9wcy5sYWJlbEFsbExvY2FsZXN9XG4gICAgICAgICAgICBkZWZhdWx0TGFiZWw9e3Byb3BzLmRlZmF1bHRMYWJlbH1cbiAgICAgICAgICAgIGFwcGxpY2F0aW9uTG9jYWxlPXtwcm9wcy5hcHBsaWNhdGlvbkxvY2FsZX1cbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICkgOiBudWxsfVxuICAgIDwvZGl2PlxuICApO1xufTtcblxuSXRlbUNvbnRhaW5lci5kaXNwbGF5TmFtZSA9ICdJdGVtQ29udGFpbmVyJztcblxuZXhwb3J0IHtcbiAgUmVzdHJpY3RlZE1lbnVJdGVtLFxuICBNZW51SXRlbSxcbiAgTWVudUl0ZW1MaW5rLFxuICBJY29uU3dpdGNoZXIsXG4gIE1lbnVHcm91cCxcbiAgTWVudUxhYmVsLFxuICBNZW51RXhwYW5kZXIsXG4gIEZhZGVkLFxuICBOYXZCYXJMYXlvdXQsXG4gIEl0ZW1Db250YWluZXIsXG59O1xuIl19 */");
253
- var _ref2 = process.env.NODE_ENV === "production" ? {
254
- name: "abcix4",
255
- styles: "top:0"
256
- } : {
257
- name: "4uw94j-getContainerPositionBasedOnMenuItemPosition",
258
- styles: "top:0;label:getContainerPositionBasedOnMenuItemPosition;",
259
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1lbnUtaXRlbXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQThNTyIsImZpbGUiOiJtZW51LWl0ZW1zLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGZvcndhcmRSZWYsXG4gIGxhenksXG4gIHR5cGUgTW91c2VFdmVudEhhbmRsZXIsXG4gIHR5cGUgRm9jdXNFdmVudEhhbmRsZXIsXG4gIHR5cGUgTW91c2VFdmVudCxcbiAgdHlwZSBLZXlib2FyZEV2ZW50LFxuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdHlwZSBTeW50aGV0aWNFdmVudCxcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgR2xvYmFsLCBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3JlYWN0LWJyb2FkY2FzdCc7XG5pbXBvcnQgdHlwZSB7IFRGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3R5cGVzJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgTmF2TGluayB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHR5cGUge1xuICBUTm9ybWFsaXplZE1lbnVWaXNpYmlsaXRpZXMsXG4gIFROb3JtYWxpemVkUGVybWlzc2lvbnMsXG4gIFROb3JtYWxpemVkQWN0aW9uUmlnaHRzLFxuICBUTm9ybWFsaXplZERhdGFGZW5jZXMsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnO1xuaW1wb3J0IE1pc3NpbmdJbWFnZVN2ZyBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hc3NldHMvaW1hZ2VzL2RpYWdvbmFsLWxpbmUuc3ZnJztcbmltcG9ydCB7IE5PX1ZBTFVFX0ZBTExCQUNLIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvY29uc3RhbnRzJztcbmltcG9ydCB7IFJlc3RyaWN0ZWRCeVBlcm1pc3Npb25zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvcGVybWlzc2lvbnMnO1xuaW1wb3J0IHtcbiAgQmFja0ljb24sXG4gIFNpZGViYXJFeHBhbmRJY29uLFxuICBTaWRlYmFyQ29sbGFwc2VJY29uLFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucyc7XG5pbXBvcnQgSW5saW5lU3ZnIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ljb25zL2lubGluZS1zdmcnO1xuaW1wb3J0IHsgRElNRU5TSU9OUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgdHlwZSB7XG4gIFREYXRhRmVuY2UsXG4gIFRBY3Rpb25SaWdodCxcbiAgVExvY2FsaXplZEZpZWxkLFxufSBmcm9tICcuLi8uLi90eXBlcy9nZW5lcmF0ZWQvcHJveHknO1xuaW1wb3J0IHsgbG9jYXRpb24gfSBmcm9tICcuLi8uLi91dGlscy9sb2NhdGlvbic7XG4vLyBodHRwczovL2JhYmVsanMuaW8vYmxvZy8yMDE3LzA5LzExL3plcm8tY29uZmlnLXdpdGgtYmFiZWwtbWFjcm9zXG5pbXBvcnQgY29tcGlsZWRTdHlsZXMgZnJvbSAvKiBwcmV2YWwgKi8gJy4vbmF2YmFyLnN0eWxlcyc7XG5cbmNvbnN0IHN0eWxlcyA9IGNvbXBpbGVkU3R5bGVzLmpzb25NYXA7XG5cbnR5cGUgVFByb2plY3RQZXJtaXNzaW9ucyA9IHtcbiAgcGVybWlzc2lvbnM6IFROb3JtYWxpemVkUGVybWlzc2lvbnMgfCBudWxsO1xuICBhY3Rpb25SaWdodHM6IFROb3JtYWxpemVkQWN0aW9uUmlnaHRzIHwgbnVsbDtcbiAgZGF0YUZlbmNlczogVE5vcm1hbGl6ZWREYXRhRmVuY2VzIHwgbnVsbDtcbn07XG5cbmNvbnN0IEhlYXJ0SWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9oZWFydCcpKTtcbmNvbnN0IFBhcGVyY2xpcEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi9sZWdhY3ktaWNvbnMvcGFwZXJjbGlwJykpO1xuY29uc3QgUGx1Z2luSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9wbHVnaW4nKSk7XG5jb25zdCBSb2NrZXRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3JvY2tldCcpKTtcbmNvbnN0IFN0YXJJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3N0YXInKSk7XG5jb25zdCBDb25uZWN0ZWRTcXVhcmVJY29uID0gbGF6eShcbiAgKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9jb25uZWN0ZWQtc3F1YXJlJylcbik7XG5jb25zdCBXb3JsZEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi9sZWdhY3ktaWNvbnMvd29ybGQnKSk7XG5jb25zdCBUcmVlU3RydWN0dXJlSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy90cmVlLXN0cnVjdHVyZScpKTtcbmNvbnN0IFVzZXJGaWxsZWRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3VzZXItZmlsbGVkJykpO1xuY29uc3QgU3BlZWRvbWV0ZXJJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3NwZWVkb21ldGVyJykpO1xuY29uc3QgVGFnTXVsdGlJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3RhZy1tdWx0aScpKTtcbmNvbnN0IENhcnRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL2NhcnQnKSk7XG5jb25zdCBCb3hJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL2JveCcpKTtcbmNvbnN0IEdlYXJJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL2dlYXInKSk7XG5jb25zdCBMaXN0V2l0aFNlYXJjaEljb24gPSBsYXp5KFxuICAoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL2xpc3Qtd2l0aC1zZWFyY2gnKVxuKTtcblxudHlwZSBJY29uUHJvcHMgPSBQYXJhbWV0ZXJzPHR5cGVvZiBCYWNrSWNvbj5bMF07XG50eXBlIEljb25Td2l0Y2hlclByb3BzID0geyBpY29uOiBzdHJpbmcgfSAmIEljb25Qcm9wcztcbi8vIFRoZSBpY29uIGlzIGV4cGVjdGVkIHRvIGJlIHRoZSBgc3ZnYCBkb2N1bWVudCBhcyBhIHN0cmluZy5cbi8vIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBwdXJwb3Nlcywgd2Ugc3RpbGwgc3VwcG9ydCB0aGUgbGVnYWN5IFwiaWNvbiBuYW1lXCIsXG4vLyB3aGljaCB3ZSB0aGVuIG1hcCB0byBvbmUgb2YgdGhlIHByZS1kZWZpbmVkIGljb25zLlxuLy8gRXZlbnR1YWxseSwgd2Ugd2FudCB0byBnZXQgcmlkIG9mIHRoaXMgXCJzd2l0Y2hcIiBsb2dpYy5cbmNvbnN0IEljb25Td2l0Y2hlciA9ICh7IGljb24sIC4uLmljb25Qcm9wcyB9OiBJY29uU3dpdGNoZXJQcm9wcykgPT4ge1xuICBpZiAoaWNvbi5pbmNsdWRlcygnPHN2ZycpKSB7XG4gICAgcmV0dXJuIDxJbmxpbmVTdmcgZGF0YT17aWNvbn0gey4uLmljb25Qcm9wc30gLz47XG4gIH1cbiAgLy8gQmFja3dhcmRzIGNvbXBhdGliaWxpdHkgZm9yIGFwcHMgdXNpbmcgdGhlIFwiaWNvbiBuYW1lXCIuXG4gIHN3aXRjaCAoaWNvbikge1xuICAgIC8vIExlZ2FjeSBhcHBsaWNhdGlvbiBpY29uc1xuICAgIC8vIFRPRE86IFRvIGJlIHJlbW92ZWQgb25jZSBNQyBhcHBsaWNhdGlvbnMgaWNvbnMgdXBkYXRlcyBhcmUgcHVibGlzaGVkXG4gICAgY2FzZSAnVHJlZVN0cnVjdHVyZUljb24nOlxuICAgICAgcmV0dXJuIDxUcmVlU3RydWN0dXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdVc2VyRmlsbGVkSWNvbic6XG4gICAgICByZXR1cm4gPFVzZXJGaWxsZWRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1NwZWVkb21ldGVySWNvbic6XG4gICAgICByZXR1cm4gPFNwZWVkb21ldGVySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdUYWdNdWx0aUljb24nOlxuICAgICAgcmV0dXJuIDxUYWdNdWx0aUljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnQ2FydEljb24nOlxuICAgICAgcmV0dXJuIDxDYXJ0SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdCb3hJY29uJzpcbiAgICAgIHJldHVybiA8Qm94SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdHZWFySWNvbic6XG4gICAgICByZXR1cm4gPEdlYXJJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ0xpc3RXaXRoU2VhcmNoSWNvbic6XG4gICAgICByZXR1cm4gPExpc3RXaXRoU2VhcmNoSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcblxuICAgIC8vIEN1c3RvbSBhcHBsaWNhdGlvbiBpY29ucyBzZXRcbiAgICBjYXNlICdIZWFydEljb24nOlxuICAgICAgcmV0dXJuIDxIZWFydEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUGFwZXJjbGlwSWNvbic6XG4gICAgICByZXR1cm4gPFBhcGVyY2xpcEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUGx1Z2luSWNvbic6XG4gICAgICByZXR1cm4gPFBsdWdpbkljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUm9ja2V0SWNvbic6XG4gICAgICByZXR1cm4gPFJvY2tldEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnU3Rhckljb24nOlxuICAgICAgcmV0dXJuIDxTdGFySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdDb25uZWN0ZWRTcXVhcmVJY29uJzpcbiAgICAgIHJldHVybiA8Q29ubmVjdGVkU3F1YXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICAvLyBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcbiAgICBjYXNlICdXb3JsZEljb24nOlxuICAgICAgcmV0dXJuIDxXb3JsZEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiA8aW1nIHNyYz17TWlzc2luZ0ltYWdlU3ZnfSBhbHQ9XCJtaXNzaW5nIGljb25cIiAvPjtcbiAgfVxufTtcbkljb25Td2l0Y2hlci5kaXNwbGF5TmFtZSA9ICdJY29uU3dpdGNoZXInO1xuXG50eXBlIE1lbnVFeHBhbmRlclByb3BzID0ge1xuICBpc1Zpc2libGU6IGJvb2xlYW47XG4gIG9uQ2xpY2s6IChcbiAgICBlOiBNb3VzZUV2ZW50PEhUTUxEaXZFbGVtZW50PiB8IEtleWJvYXJkRXZlbnQ8SFRNTERpdkVsZW1lbnQ+XG4gICkgPT4gdm9pZDtcbiAgaXNNZW51T3BlbjogYm9vbGVhbjtcbn07XG5cbmNvbnN0IGdldEljb24gPSAoeyBpc01lbnVPcGVuIH06IE1lbnVFeHBhbmRlclByb3BzKSA9PiB7XG4gIGNvbnN0IEljb24gPSBpc01lbnVPcGVuID8gU2lkZWJhckNvbGxhcHNlSWNvbiA6IFNpZGViYXJFeHBhbmRJY29uO1xuICByZXR1cm4gPEljb24gY29sb3I9XCJzdXJmYWNlXCIgc2l6ZT1cImJpZ1wiIC8+O1xufTtcblxuY29uc3QgTWVudUV4cGFuZGVyID0gKHByb3BzOiBNZW51RXhwYW5kZXJQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxsaVxuICAgICAga2V5PVwiZXhwYW5kZXJcIlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKHN0eWxlcy5leHBhbmRlciwge1xuICAgICAgICBbc3R5bGVzLmhpZGRlbl06ICFwcm9wcy5pc1Zpc2libGUsXG4gICAgICB9KX1cbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIG9uQ2xpY2s9e3Byb3BzLm9uQ2xpY2t9XG4gICAgICAgIG9uS2V5RG93bj17KGUpID0+IHtcbiAgICAgICAgICBpZiAoZS5rZXkgPT09ICdFbnRlcicpIHtcbiAgICAgICAgICAgIHByb3BzLm9uQ2xpY2soZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9fVxuICAgICAgICB0YWJJbmRleD17MH1cbiAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXNbJ2V4cGFuZC1pY29uJ119XG4gICAgICAgIGRhdGEtdGVzdGlkPVwibWVudS1leHBhbmRlclwiXG4gICAgICA+XG4gICAgICAgIHtnZXRJY29uKHByb3BzKX1cbiAgICAgIDwvZGl2PlxuICAgIDwvbGk+XG4gICk7XG59O1xuTWVudUV4cGFuZGVyLmRpc3BsYXlOYW1lID0gJ01lbnVFeHBhbmRlcic7XG5cbmNvbnN0IEZhZGVkID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0zMnB4O1xuICBoZWlnaHQ6IDMycHg7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDAsIDE1MywgMTM1LCAwKSAwJSwgIzAwYjM5ZSAxMDAlKTtcbiAgei1pbmRleDogMTtcbmA7XG5cbnR5cGUgTWVudUdyb3VwUHJvcHMgPSB7XG4gIGlkOiBzdHJpbmc7XG4gIGxldmVsOiAxIHwgMjtcbiAgaXNBY3RpdmU/OiBib29sZWFuO1xuICBpc0V4cGFuZGVkPzogYm9vbGVhbjtcbiAgaGFzU3VibWVudT86IGJvb2xlYW47XG4gIGNoaWxkcmVuPzogUmVhY3ROb2RlO1xuICBzdWJtZW51VmVydGljYWxQb3NpdGlvbj86IG51bWJlcjtcbiAgaXNTdWJtZW51QWJvdmVNZW51SXRlbT86IGJvb2xlYW47XG59O1xuXG5jb25zdCBnZXRTdWJtZW51UG9zaXRpb25CYXNlZE9uTWVudUl0ZW1Qb3NpdGlvbiA9IChcbiAgaXNTdWJtZW51QWJvdmVNZW51SXRlbT86IGJvb2xlYW4sXG4gIHN1Ym1lbnVWZXJ0aWNhbFBvc2l0aW9uPzogbnVtYmVyXG4pID0+IGNzc2BcbiAgJHtpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtID8gJ2JvdHRvbScgOiAndG9wJ306ICR7c3VibWVudVZlcnRpY2FsUG9zaXRpb259cHhcbmA7XG5cbmNvbnN0IGdldENvbnRhaW5lclBvc2l0aW9uQmFzZWRPbk1lbnVJdGVtUG9zaXRpb24gPSAoXG4gIGlzU3VibWVudUFib3ZlTWVudUl0ZW0/OiBib29sZWFuLFxuICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkPzogYm9vbGVhbixcbiAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQ/OiBib29sZWFuXG4pID0+IFtcbiAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQgJiZcbiAgICBjc3NgXG4gICAgICAke2lzU3VibWVudUFib3ZlTWVudUl0ZW1cbiAgICAgICAgPyAnYm90dG9tJ1xuICAgICAgICA6ICd0b3AnfTogLSR7RElNRU5TSU9OUy5uYXZNZW51SXRlbUhlaWdodH07XG4gICAgYCxcbiAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCAmJlxuICAgIGlzU3VibWVudUFib3ZlTWVudUl0ZW0gJiZcbiAgICBjc3NgXG4gICAgICBib3R0b206IDA7XG4gICAgYCxcbiAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCAmJlxuICAgICFpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtICYmXG4gICAgY3NzYFxuICAgICAgdG9wOiAwO1xuICAgIGAsXG5dO1xuXG5jb25zdCBNZW51R3JvdXAgPSBmb3J3YXJkUmVmPEhUTUxVTGlzdEVsZW1lbnQsIE1lbnVHcm91cFByb3BzPigocHJvcHMsIHJlZikgPT4ge1xuICBpZiAoXG4gICAgcHJvcHMuaXNFeHBhbmRlZCAmJlxuICAgICgocHJvcHMubGV2ZWwgPT09IDIgJiYgIXByb3BzLmhhc1N1Ym1lbnUpIHx8XG4gICAgICAocHJvcHMubGV2ZWwgPT09IDIgJiYgIXByb3BzLmlzQWN0aXZlKSlcbiAgKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgY29uc3QgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCA9XG4gICAgcHJvcHMubGV2ZWwgPT09IDIgJiYgcHJvcHMuaXNBY3RpdmUgJiYgcHJvcHMuaXNFeHBhbmRlZDtcbiAgY29uc3QgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQgPVxuICAgIHByb3BzLmxldmVsID09PSAyICYmIHByb3BzLmlzQWN0aXZlICYmICFwcm9wcy5pc0V4cGFuZGVkO1xuICByZXR1cm4gKFxuICAgIDx1bFxuICAgICAgcmVmPXtyZWYgJiYgcHJvcHMubGV2ZWwgPT09IDIgPyByZWYgOiBudWxsfVxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgICR7Z2V0U3VibWVudVBvc2l0aW9uQmFzZWRPbk1lbnVJdGVtUG9zaXRpb24oXG4gICAgICAgICAgcHJvcHMuaXNTdWJtZW51QWJvdmVNZW51SXRlbSxcbiAgICAgICAgICBwcm9wcy5zdWJtZW51VmVydGljYWxQb3NpdGlvblxuICAgICAgICApfTtcbiAgICAgIFxuICAgICAgLy8gcHJldmVudCBnbGl0Y2h5IGJlaGF2aW9yIGR1cmluZyB0aGUgaW5pdGlhbCByZW5kZXIgd2hlbiB0aGUgc3VibWVudSdzIHZlcnRpY2FsIHBvc2l0aW9uIGlzIGV2YWx1YXRlZCBhcyAwXG4gICAgICAke1xuICAgICAgICBwcm9wcy5zdWJtZW51VmVydGljYWxQb3NpdGlvbiA9PT0gMCAmJlxuICAgICAgICBjc3NgXG4gICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICBgXG4gICAgICB9XG5cbiAgICAgICAgLy8gYWRkaXRpb25hbCBzdHlsaW5nIG9mIHRoZSBwc2V1ZG8tZWxlbWVudCBlbmFibGluZyBzbW9vdGggY291cnNvciBtb3ZlbWVudFxuICAgICAgICA6OmJlZm9yZSB7XG4gICAgICAgICAgJHtnZXRDb250YWluZXJQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uKFxuICAgICAgICAgICAgcHJvcHMuaXNTdWJtZW51QWJvdmVNZW51SXRlbSxcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQsXG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZFxuICAgICAgICAgICl9XG4gICAgICBgfVxuICAgICAgaWQ9e2Bncm91cC0ke3Byb3BzLmlkfWB9XG4gICAgICBkYXRhLXRlc3RpZD17YGdyb3VwLSR7cHJvcHMuaWR9YH1cbiAgICAgIHJvbGU9XCJtZW51XCJcbiAgICAgIGFyaWEtZXhwYW5kZWQ9e1xuICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkIHx8XG4gICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkXG4gICAgICB9XG4gICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoXG4gICAgICAgIHsgW3N0eWxlcy5saXN0XTogcHJvcHMubGV2ZWwgPT09IDEgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QnXV06IHByb3BzLmxldmVsID09PSAyLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlc1snc3VibGlzdC1leHBhbmRlZF9fYWN0aXZlJ11dOlxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtY29sbGFwc2VkX19lbXB0eSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmICFwcm9wcy5oYXNTdWJtZW51LFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlc1snc3VibGlzdC1jb2xsYXBzZWRfX2FjdGl2ZSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmXG4gICAgICAgICAgICAhcHJvcHMuaXNTdWJtZW51QWJvdmVNZW51SXRlbSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtY29sbGFwc2VkX19hY3RpdmVfX2Fib3ZlJ11dOlxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQgJiYgcHJvcHMuaXNTdWJtZW51QWJvdmVNZW51SXRlbSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXMuc3VibGlzdF9faW5hY3RpdmVdOiAhaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQsXG4gICAgICAgIH1cbiAgICAgICl9XG4gICAgPlxuICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgIDwvdWw+XG4gICk7XG59KTtcbk1lbnVHcm91cC5kaXNwbGF5TmFtZSA9ICdNZW51R3JvdXAnO1xuXG50eXBlIE1lbnVJdGVtUHJvcHMgPSB7XG4gIGhhc1N1Ym1lbnU6IGJvb2xlYW47XG4gIGlzQWN0aXZlOiBib29sZWFuO1xuICBpc01haW5NZW51Um91dGVBY3RpdmU/OiBib29sZWFuO1xuICBpc01lbnVPcGVuOiBib29sZWFuO1xuICBvbkNsaWNrOiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD47XG4gIG9uTW91c2VFbnRlcj86XG4gICAgfCBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD5cbiAgICB8IEZvY3VzRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50PjtcbiAgb25Nb3VzZUxlYXZlPzpcbiAgICB8IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50PlxuICAgIHwgRm9jdXNFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+O1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBpZGVudGlmaWVyPzogc3RyaW5nO1xufTtcbmNvbnN0IE1lbnVJdGVtID0gKHByb3BzOiBNZW51SXRlbVByb3BzKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGxpXG4gICAgICByb2xlPVwibWVudWl0ZW1cIlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKHN0eWxlc1snbGlzdC1pdGVtJ10sIHtcbiAgICAgICAgW3N0eWxlcy5pdGVtX19hY3RpdmVdOiBwcm9wcy5pc0FjdGl2ZSxcbiAgICAgICAgW3N0eWxlc1snaXRlbV9tZW51X19hY3RpdmUnXV06IHByb3BzLmlzTWFpbk1lbnVSb3V0ZUFjdGl2ZSA/PyBmYWxzZSxcbiAgICAgICAgW3N0eWxlc1snaXRlbV9tZW51LWNvbGxhcHNlZCddXTogIXByb3BzLmlzTWVudU9wZW4sXG4gICAgICB9KX1cbiAgICAgIG9uQ2xpY2s9e3Byb3BzLm9uQ2xpY2t9XG4gICAgICBvbk1vdXNlRW50ZXI9e3Byb3BzLm9uTW91c2VFbnRlciBhcyBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD59XG4gICAgICBvbk1vdXNlTGVhdmU9e3Byb3BzLm9uTW91c2VMZWF2ZSBhcyBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD59XG4gICAgICBvbkZvY3VzPXtwcm9wcy5vbk1vdXNlRW50ZXIgYXMgRm9jdXNFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+fVxuICAgICAgb25CbHVyPXtwcm9wcy5vbk1vdXNlTGVhdmUgYXMgRm9jdXNFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+fVxuICAgICAgZGF0YS1tZW51aXRlbT17cHJvcHMuaWRlbnRpZmllcn1cbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydpdGVtLWxpbmsnXX0+e3Byb3BzLmNoaWxkcmVufTwvZGl2PlxuICAgIDwvbGk+XG4gICk7XG59O1xuXG5NZW51SXRlbS5kaXNwbGF5TmFtZSA9ICdNZW51SXRlbSc7XG5cbmV4cG9ydCB0eXBlIE1lbnVJdGVtTGlua1Byb3BzID0ge1xuICBsaW5rVG8/OiBzdHJpbmc7XG4gIGV4YWN0TWF0Y2g6IGJvb2xlYW47XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIG9uQ2xpY2s/OiAoZXZlbnQ6IFN5bnRoZXRpY0V2ZW50PEhUTUxBbmNob3JFbGVtZW50PikgPT4gdm9pZDtcbiAgdXNlRnVsbFJlZGlyZWN0c0ZvckxpbmtzPzogYm9vbGVhbjtcbiAgaXNTdWJtZW51TGluaz86IGJvb2xlYW47XG59O1xuY29uc3QgbWVudUl0ZW1MaW5rRGVmYXVsdFByb3BzOiBQaWNrPE1lbnVJdGVtTGlua1Byb3BzLCAnZXhhY3RNYXRjaCc+ID0ge1xuICBleGFjdE1hdGNoOiBmYWxzZSxcbn07XG5jb25zdCBOYXZMaW5rV3JhcHBlciA9IChwcm9wczogTWVudUl0ZW1MaW5rUHJvcHMpID0+IHtcbiAgaWYgKHByb3BzLmlzU3VibWVudUxpbmspIHtcbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1sndGV4dC1saW5rLXN1Ymxpc3Qtd3JhcHBlciddfT5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxuICByZXR1cm4gPD57cHJvcHMuY2hpbGRyZW59PC8+O1xufTtcbmNvbnN0IE5hdkxpbmtDbGlja2FibGVDb250ZW50V3JhcHBlciA9IChwcm9wczogTWVudUl0ZW1MaW5rUHJvcHMpID0+IHtcbiAgaWYgKHByb3BzLmlzU3VibWVudUxpbmspIHtcbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snbmF2bGluay1jbGlja2FibGUtY29udGVudCddfT5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxuICByZXR1cm4gPD57cHJvcHMuY2hpbGRyZW59PC8+O1xufTtcblxuY29uc3QgTWVudUl0ZW1MaW5rID0gKHByb3BzOiBNZW51SXRlbUxpbmtQcm9wcykgPT4ge1xuICBjb25zdCByZWRpcmVjdFRvID0gKHRhcmdldFVybDogc3RyaW5nKSA9PiBsb2NhdGlvbi5yZXBsYWNlKHRhcmdldFVybCk7XG4gIGlmIChwcm9wcy5saW5rVG8pIHtcbiAgICBjb25zdCBsaW5rTGV2ZWwgPSBwcm9wcy5pc1N1Ym1lbnVMaW5rID8gJ3RleHQtbGluay1zdWJsaXN0JyA6ICd0ZXh0LWxpbmsnO1xuICAgIHJldHVybiAoXG4gICAgICA8TmF2TGlua1dyYXBwZXIgey4uLnByb3BzfT5cbiAgICAgICAgPE5hdkxpbmtcbiAgICAgICAgICB0bz17cHJvcHMubGlua1RvfVxuICAgICAgICAgIGV4YWN0PXtwcm9wcy5leGFjdE1hdGNofVxuICAgICAgICAgIGFjdGl2ZUNsYXNzTmFtZT17c3R5bGVzLmhpZ2hsaWdodGVkfVxuICAgICAgICAgIGNsYXNzTmFtZT17c3R5bGVzW2xpbmtMZXZlbF19XG4gICAgICAgICAgZGF0YS1saW5rLWxldmVsPXtsaW5rTGV2ZWx9XG4gICAgICAgICAgb25DbGljaz17KGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBpZiAocHJvcHMubGlua1RvICYmIHByb3BzLnVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rcykge1xuICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICByZWRpcmVjdFRvKHByb3BzLmxpbmtUbyk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHByb3BzLm9uQ2xpY2spIHtcbiAgICAgICAgICAgICAgZXZlbnQucGVyc2lzdCgpO1xuICAgICAgICAgICAgICBwcm9wcy5vbkNsaWNrKGV2ZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAgPE5hdkxpbmtDbGlja2FibGVDb250ZW50V3JhcHBlciB7Li4ucHJvcHN9PlxuICAgICAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgICAgIDwvTmF2TGlua0NsaWNrYWJsZUNvbnRlbnRXcmFwcGVyPlxuICAgICAgICA8L05hdkxpbms+XG4gICAgICA8L05hdkxpbmtXcmFwcGVyPlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5NZW51SXRlbUxpbmsuZGlzcGxheU5hbWUgPSAnTWVudUl0ZW1MaW5rJztcbk1lbnVJdGVtTGluay5kZWZhdWx0UHJvcHMgPSBtZW51SXRlbUxpbmtEZWZhdWx0UHJvcHM7XG5cbmNvbnN0IGlzRXZlcnlNZW51VmlzaWJpbGl0eVNldFRvSGlkZGVuID0gKFxuICBtZW51VmlzaWJpbGl0aWVzPzogVE5vcm1hbGl6ZWRNZW51VmlzaWJpbGl0aWVzIHwgbnVsbCxcbiAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXM/OiBzdHJpbmdbXVxuKSA9PlxuICBBcnJheS5pc0FycmF5KG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzKSAmJlxuICBuYW1lc09mTWVudVZpc2liaWxpdGllcy5sZW5ndGggPiAwICYmXG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzLmV2ZXJ5KFxuICAgIChuYW1lT2ZNZW51VmlzaWJpbGl0eSkgPT5cbiAgICAgIG1lbnVWaXNpYmlsaXRpZXMgJiYgbWVudVZpc2liaWxpdGllc1tuYW1lT2ZNZW51VmlzaWJpbGl0eV0gPT09IHRydWVcbiAgKTtcblxudHlwZSBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcyA9IHtcbiAgZmVhdHVyZVRvZ2dsZT86IHN0cmluZztcbiAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXM/OiBzdHJpbmdbXTtcbiAgcHJvamVjdFBlcm1pc3Npb25zOiBUUHJvamVjdFBlcm1pc3Npb25zO1xuICBtZW51VmlzaWJpbGl0aWVzOiBUTm9ybWFsaXplZE1lbnVWaXNpYmlsaXRpZXMgfCBudWxsO1xuICBrZXlPZk1lbnVJdGVtOiBzdHJpbmc7XG4gIHBlcm1pc3Npb25zOiBzdHJpbmdbXTtcbiAgYWN0aW9uUmlnaHRzPzogVEFjdGlvblJpZ2h0W107XG4gIGRhdGFGZW5jZXM/OiBURGF0YUZlbmNlW107XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59O1xudHlwZSBUTG9uZ0xpdmVkRmxhZyA9IHtcbiAgdmFsdWU6IGJvb2xlYW47XG4gIHJlYXNvbj86IHN0cmluZztcbn07XG5jb25zdCByZXN0cmljdGVkTWVudUl0ZW1EZWZhdWx0UHJvcHM6IFBpY2s8XG4gIFJlc3RyaWN0ZWRNZW51SXRlbVByb3BzLFxuICAncGVybWlzc2lvbnMnXG4+ID0ge1xuICBwZXJtaXNzaW9uczogW10sXG59O1xuZnVuY3Rpb24gaXNMb25nTGl2ZWRGbGFnKFxuICBmbGFnOiBURmxhZ1ZhcmlhdGlvbiB8IFRMb25nTGl2ZWRGbGFnXG4pOiBmbGFnIGlzIFRMb25nTGl2ZWRGbGFnIHtcbiAgcmV0dXJuIHR5cGVvZiAoZmxhZyBhcyBUTG9uZ0xpdmVkRmxhZyk/LnZhbHVlID09PSAnYm9vbGVhbic7XG59XG5jb25zdCBSZXN0cmljdGVkTWVudUl0ZW0gPSAocHJvcHM6IFJlc3RyaWN0ZWRNZW51SXRlbVByb3BzKSA9PiB7XG4gIC8vIE5PVEU6IEN1c3RvbSBhcHBsaWNhdGlvbiBhcmUgYWN0aXZhdGVkL2RlYWN0aXZhdGVkIHdoaWxlIHRoZWlyXG4gIC8vIHZpc2liaWxpdHkgaXMgbm90IGNvbnRyb2xsZWQgdmlhIGEgdmlzaWJpaWxpdHkgb3ZlcndyaXRlLlxuICBjb25zdCBmbGFnVmFyaWF0aW9uID0gdXNlRmxhZ1ZhcmlhdGlvbihwcm9wcy5mZWF0dXJlVG9nZ2xlKTtcbiAgaWYgKFxuICAgIGlzRXZlcnlNZW51VmlzaWJpbGl0eVNldFRvSGlkZGVuKFxuICAgICAgcHJvcHMubWVudVZpc2liaWxpdGllcyxcbiAgICAgIHByb3BzLm5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzXG4gICAgKVxuICApXG4gICAgcmV0dXJuIG51bGw7XG5cbiAgY29uc3QgcGVybWlzc2lvbnNXcmFwcGVyID1cbiAgICAoQXJyYXkuaXNBcnJheShwcm9wcy5wZXJtaXNzaW9ucykgJiYgcHJvcHMucGVybWlzc2lvbnMubGVuZ3RoID4gMCkgfHxcbiAgICAoQXJyYXkuaXNBcnJheShwcm9wcy5kYXRhRmVuY2VzKSAmJiBwcm9wcy5kYXRhRmVuY2VzLmxlbmd0aCA+IDApID8gKFxuICAgICAgPFJlc3RyaWN0ZWRCeVBlcm1pc3Npb25zXG4gICAgICAgIHBlcm1pc3Npb25zPXtwcm9wcy5wZXJtaXNzaW9uc31cbiAgICAgICAgYWN0aW9uUmlnaHRzPXtwcm9wcy5hY3Rpb25SaWdodHN9XG4gICAgICAgIGRhdGFGZW5jZXM9e3Byb3BzLmRhdGFGZW5jZXN9XG4gICAgICAgIHNlbGVjdERhdGFGZW5jZURhdGE9eyhkZW1hbmRlZERhdGFGZW5jZSkgPT4ge1xuICAgICAgICAgIHN3aXRjaCAoZGVtYW5kZWREYXRhRmVuY2UudHlwZSkge1xuICAgICAgICAgICAgY2FzZSAnc3RvcmUnOlxuICAgICAgICAgICAgICByZXR1cm4gZGVtYW5kZWREYXRhRmVuY2UuYWN0dWFsRGF0YUZlbmNlVmFsdWVzO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9fVxuICAgICAgICAvLyBBbHdheXMgY2hlY2sgdGhhdCBzb21lIG9mIHRoZSBnaXZlbiBwZXJtaXNzaW9ucyBtYXRjaC5cbiAgICAgICAgc2hvdWxkTWF0Y2hTb21lUGVybWlzc2lvbnM9e3RydWV9XG4gICAgICAgIHByb2plY3RQZXJtaXNzaW9ucz17cHJvcHMucHJvamVjdFBlcm1pc3Npb25zfVxuICAgICAgPlxuICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICA8L1Jlc3RyaWN0ZWRCeVBlcm1pc3Npb25zPlxuICAgICkgOiAoXG4gICAgICA8Pntwcm9wcy5jaGlsZHJlbn08Lz5cbiAgICApO1xuXG4gIGlmIChwcm9wcy5mZWF0dXJlVG9nZ2xlKSB7XG4gICAgLy8gQSByZWd1bGFyIHNob3J0LWxpdmVkIGZlYXR1cmUgdG9nZ2xlXG4gICAgaWYgKGZsYWdWYXJpYXRpb24gPT09IHRydWUpIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG4gICAgLy8gQSBsb25nLWxpdmVkIGZlYXR1cmUgdG9nZ2xlIHdpdGggYHsgdmFsdWU6IGJvb2xlYW4sIHN0cmluZzogcmVhc29uIH1gXG4gICAgaWYgKGlzTG9uZ0xpdmVkRmxhZyhmbGFnVmFyaWF0aW9uKSAmJiBmbGFnVmFyaWF0aW9uLnZhbHVlID09PSB0cnVlKVxuICAgICAgcmV0dXJuIHBlcm1pc3Npb25zV3JhcHBlcjtcblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIHBlcm1pc3Npb25zV3JhcHBlcjtcbn07XG5SZXN0cmljdGVkTWVudUl0ZW0uZGlzcGxheU5hbWUgPSAnUmVzdHJpY3RlZE1lbnVJdGVtJztcblJlc3RyaWN0ZWRNZW51SXRlbS5kZWZhdWx0UHJvcHMgPSByZXN0cmljdGVkTWVudUl0ZW1EZWZhdWx0UHJvcHM7XG5cbnR5cGUgTWVudUxhYmVsUHJvcHMgPSB7XG4gIGxhYmVsQWxsTG9jYWxlczogVExvY2FsaXplZEZpZWxkW107XG4gIGRlZmF1bHRMYWJlbD86IHN0cmluZztcbiAgYXBwbGljYXRpb25Mb2NhbGU6IHN0cmluZztcbn07XG5jb25zdCBNZW51TGFiZWwgPSAocHJvcHM6IE1lbnVMYWJlbFByb3BzKSA9PiB7XG4gIGNvbnN0IGxvY2FsaXplZExhYmVsID0gcHJvcHMubGFiZWxBbGxMb2NhbGVzLmZpbmQoKGxvYykgPT5cbiAgICBwcm9wcy5hcHBsaWNhdGlvbkxvY2FsZS5zdGFydHNXaXRoKGxvYy5sb2NhbGUpXG4gICk7XG4gIGlmIChsb2NhbGl6ZWRMYWJlbCkgcmV0dXJuIDw+e2xvY2FsaXplZExhYmVsLnZhbHVlfTwvPjtcbiAgaWYgKHByb3BzLmRlZmF1bHRMYWJlbCkgcmV0dXJuIDw+e3Byb3BzLmRlZmF1bHRMYWJlbH08Lz47XG4gIHJldHVybiA8PntOT19WQUxVRV9GQUxMQkFDS308Lz47XG59O1xuXG50eXBlIFROYXZCYXJMYXlvdXRQcm9wcyA9IHtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbn07XG5jb25zdCBOYXZCYXJMYXlvdXQgPSBmb3J3YXJkUmVmPEhUTUxFbGVtZW50LCBUTmF2QmFyTGF5b3V0UHJvcHM+KFxuICAocHJvcHMsIHJlZikgPT4gKFxuICAgIDw+XG4gICAgICA8R2xvYmFsXG4gICAgICAgIHN0eWxlcz17Y3NzYFxuICAgICAgICAgICR7Y29tcGlsZWRTdHlsZXMuZ2xvYmFsfVxuICAgICAgICBgfVxuICAgICAgLz5cbiAgICAgIDxuYXZcbiAgICAgICAgcmVmPXtyZWZ9XG4gICAgICAgIGNsYXNzTmFtZT17c3R5bGVzWydsZWZ0LW5hdmlnYXRpb24nXX1cbiAgICAgICAgZGF0YS10ZXN0PVwibGVmdC1uYXZpZ2F0aW9uXCJcbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJsZWZ0LW5hdmlnYXRpb25cIlxuICAgICAgPlxuICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICA8L25hdj5cbiAgICA8Lz5cbiAgKVxuKTtcbk5hdkJhckxheW91dC5kaXNwbGF5TmFtZSA9ICdOYXZCYXJMYXlvdXQnO1xuXG50eXBlIEl0ZW1Db250YWluZXJQcm9wcyA9IHtcbiAgbGFiZWxBbGxMb2NhbGVzOiBUTG9jYWxpemVkRmllbGRbXTtcbiAgZGVmYXVsdExhYmVsPzogc3RyaW5nO1xuICBhcHBsaWNhdGlvbkxvY2FsZTogc3RyaW5nO1xuICBpY29uOiBzdHJpbmc7XG4gIGlzTWVudU9wZW4/OiBib29sZWFuO1xufTtcblxuY29uc3QgSXRlbUNvbnRhaW5lciA9IChwcm9wczogSXRlbUNvbnRhaW5lclByb3BzKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaXRlbS1pY29uLXRleHQnXX0+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydpY29uLWNvbnRhaW5lciddfT5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlcy5pY29ufT5cbiAgICAgICAgICA8SWNvblN3aXRjaGVyIGljb249e3Byb3BzLmljb259IHNpemU9XCJzY2FsZVwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICB7cHJvcHMuaXNNZW51T3BlbiA/IChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlcy50aXRsZX0+XG4gICAgICAgICAgPE1lbnVMYWJlbFxuICAgICAgICAgICAgbGFiZWxBbGxMb2NhbGVzPXtwcm9wcy5sYWJlbEFsbExvY2FsZXN9XG4gICAgICAgICAgICBkZWZhdWx0TGFiZWw9e3Byb3BzLmRlZmF1bHRMYWJlbH1cbiAgICAgICAgICAgIGFwcGxpY2F0aW9uTG9jYWxlPXtwcm9wcy5hcHBsaWNhdGlvbkxvY2FsZX1cbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICkgOiBudWxsfVxuICAgIDwvZGl2PlxuICApO1xufTtcblxuSXRlbUNvbnRhaW5lci5kaXNwbGF5TmFtZSA9ICdJdGVtQ29udGFpbmVyJztcblxuZXhwb3J0IHtcbiAgUmVzdHJpY3RlZE1lbnVJdGVtLFxuICBNZW51SXRlbSxcbiAgTWVudUl0ZW1MaW5rLFxuICBJY29uU3dpdGNoZXIsXG4gIE1lbnVHcm91cCxcbiAgTWVudUxhYmVsLFxuICBNZW51RXhwYW5kZXIsXG4gIEZhZGVkLFxuICBOYXZCYXJMYXlvdXQsXG4gIEl0ZW1Db250YWluZXIsXG59O1xuIl19 */",
260
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__$1
261
- };
262
- var _ref3 = process.env.NODE_ENV === "production" ? {
263
- name: "8tapst",
264
- styles: "bottom:0"
265
- } : {
266
- name: "11ucmnx-getContainerPositionBasedOnMenuItemPosition",
267
- styles: "bottom:0;label:getContainerPositionBasedOnMenuItemPosition;",
268
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1lbnUtaXRlbXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlNTyIsImZpbGUiOiJtZW51LWl0ZW1zLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGZvcndhcmRSZWYsXG4gIGxhenksXG4gIHR5cGUgTW91c2VFdmVudEhhbmRsZXIsXG4gIHR5cGUgRm9jdXNFdmVudEhhbmRsZXIsXG4gIHR5cGUgTW91c2VFdmVudCxcbiAgdHlwZSBLZXlib2FyZEV2ZW50LFxuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdHlwZSBTeW50aGV0aWNFdmVudCxcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgR2xvYmFsLCBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3JlYWN0LWJyb2FkY2FzdCc7XG5pbXBvcnQgdHlwZSB7IFRGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3R5cGVzJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgTmF2TGluayB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHR5cGUge1xuICBUTm9ybWFsaXplZE1lbnVWaXNpYmlsaXRpZXMsXG4gIFROb3JtYWxpemVkUGVybWlzc2lvbnMsXG4gIFROb3JtYWxpemVkQWN0aW9uUmlnaHRzLFxuICBUTm9ybWFsaXplZERhdGFGZW5jZXMsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnO1xuaW1wb3J0IE1pc3NpbmdJbWFnZVN2ZyBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hc3NldHMvaW1hZ2VzL2RpYWdvbmFsLWxpbmUuc3ZnJztcbmltcG9ydCB7IE5PX1ZBTFVFX0ZBTExCQUNLIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvY29uc3RhbnRzJztcbmltcG9ydCB7IFJlc3RyaWN0ZWRCeVBlcm1pc3Npb25zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvcGVybWlzc2lvbnMnO1xuaW1wb3J0IHtcbiAgQmFja0ljb24sXG4gIFNpZGViYXJFeHBhbmRJY29uLFxuICBTaWRlYmFyQ29sbGFwc2VJY29uLFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucyc7XG5pbXBvcnQgSW5saW5lU3ZnIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ljb25zL2lubGluZS1zdmcnO1xuaW1wb3J0IHsgRElNRU5TSU9OUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgdHlwZSB7XG4gIFREYXRhRmVuY2UsXG4gIFRBY3Rpb25SaWdodCxcbiAgVExvY2FsaXplZEZpZWxkLFxufSBmcm9tICcuLi8uLi90eXBlcy9nZW5lcmF0ZWQvcHJveHknO1xuaW1wb3J0IHsgbG9jYXRpb24gfSBmcm9tICcuLi8uLi91dGlscy9sb2NhdGlvbic7XG4vLyBodHRwczovL2JhYmVsanMuaW8vYmxvZy8yMDE3LzA5LzExL3plcm8tY29uZmlnLXdpdGgtYmFiZWwtbWFjcm9zXG5pbXBvcnQgY29tcGlsZWRTdHlsZXMgZnJvbSAvKiBwcmV2YWwgKi8gJy4vbmF2YmFyLnN0eWxlcyc7XG5cbmNvbnN0IHN0eWxlcyA9IGNvbXBpbGVkU3R5bGVzLmpzb25NYXA7XG5cbnR5cGUgVFByb2plY3RQZXJtaXNzaW9ucyA9IHtcbiAgcGVybWlzc2lvbnM6IFROb3JtYWxpemVkUGVybWlzc2lvbnMgfCBudWxsO1xuICBhY3Rpb25SaWdodHM6IFROb3JtYWxpemVkQWN0aW9uUmlnaHRzIHwgbnVsbDtcbiAgZGF0YUZlbmNlczogVE5vcm1hbGl6ZWREYXRhRmVuY2VzIHwgbnVsbDtcbn07XG5cbmNvbnN0IEhlYXJ0SWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9oZWFydCcpKTtcbmNvbnN0IFBhcGVyY2xpcEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi9sZWdhY3ktaWNvbnMvcGFwZXJjbGlwJykpO1xuY29uc3QgUGx1Z2luSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9wbHVnaW4nKSk7XG5jb25zdCBSb2NrZXRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3JvY2tldCcpKTtcbmNvbnN0IFN0YXJJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3N0YXInKSk7XG5jb25zdCBDb25uZWN0ZWRTcXVhcmVJY29uID0gbGF6eShcbiAgKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9jb25uZWN0ZWQtc3F1YXJlJylcbik7XG5jb25zdCBXb3JsZEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi9sZWdhY3ktaWNvbnMvd29ybGQnKSk7XG5jb25zdCBUcmVlU3RydWN0dXJlSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy90cmVlLXN0cnVjdHVyZScpKTtcbmNvbnN0IFVzZXJGaWxsZWRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3VzZXItZmlsbGVkJykpO1xuY29uc3QgU3BlZWRvbWV0ZXJJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3NwZWVkb21ldGVyJykpO1xuY29uc3QgVGFnTXVsdGlJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3RhZy1tdWx0aScpKTtcbmNvbnN0IENhcnRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL2NhcnQnKSk7XG5jb25zdCBCb3hJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL2JveCcpKTtcbmNvbnN0IEdlYXJJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL2dlYXInKSk7XG5jb25zdCBMaXN0V2l0aFNlYXJjaEljb24gPSBsYXp5KFxuICAoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL2xpc3Qtd2l0aC1zZWFyY2gnKVxuKTtcblxudHlwZSBJY29uUHJvcHMgPSBQYXJhbWV0ZXJzPHR5cGVvZiBCYWNrSWNvbj5bMF07XG50eXBlIEljb25Td2l0Y2hlclByb3BzID0geyBpY29uOiBzdHJpbmcgfSAmIEljb25Qcm9wcztcbi8vIFRoZSBpY29uIGlzIGV4cGVjdGVkIHRvIGJlIHRoZSBgc3ZnYCBkb2N1bWVudCBhcyBhIHN0cmluZy5cbi8vIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBwdXJwb3Nlcywgd2Ugc3RpbGwgc3VwcG9ydCB0aGUgbGVnYWN5IFwiaWNvbiBuYW1lXCIsXG4vLyB3aGljaCB3ZSB0aGVuIG1hcCB0byBvbmUgb2YgdGhlIHByZS1kZWZpbmVkIGljb25zLlxuLy8gRXZlbnR1YWxseSwgd2Ugd2FudCB0byBnZXQgcmlkIG9mIHRoaXMgXCJzd2l0Y2hcIiBsb2dpYy5cbmNvbnN0IEljb25Td2l0Y2hlciA9ICh7IGljb24sIC4uLmljb25Qcm9wcyB9OiBJY29uU3dpdGNoZXJQcm9wcykgPT4ge1xuICBpZiAoaWNvbi5pbmNsdWRlcygnPHN2ZycpKSB7XG4gICAgcmV0dXJuIDxJbmxpbmVTdmcgZGF0YT17aWNvbn0gey4uLmljb25Qcm9wc30gLz47XG4gIH1cbiAgLy8gQmFja3dhcmRzIGNvbXBhdGliaWxpdHkgZm9yIGFwcHMgdXNpbmcgdGhlIFwiaWNvbiBuYW1lXCIuXG4gIHN3aXRjaCAoaWNvbikge1xuICAgIC8vIExlZ2FjeSBhcHBsaWNhdGlvbiBpY29uc1xuICAgIC8vIFRPRE86IFRvIGJlIHJlbW92ZWQgb25jZSBNQyBhcHBsaWNhdGlvbnMgaWNvbnMgdXBkYXRlcyBhcmUgcHVibGlzaGVkXG4gICAgY2FzZSAnVHJlZVN0cnVjdHVyZUljb24nOlxuICAgICAgcmV0dXJuIDxUcmVlU3RydWN0dXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdVc2VyRmlsbGVkSWNvbic6XG4gICAgICByZXR1cm4gPFVzZXJGaWxsZWRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1NwZWVkb21ldGVySWNvbic6XG4gICAgICByZXR1cm4gPFNwZWVkb21ldGVySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdUYWdNdWx0aUljb24nOlxuICAgICAgcmV0dXJuIDxUYWdNdWx0aUljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnQ2FydEljb24nOlxuICAgICAgcmV0dXJuIDxDYXJ0SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdCb3hJY29uJzpcbiAgICAgIHJldHVybiA8Qm94SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdHZWFySWNvbic6XG4gICAgICByZXR1cm4gPEdlYXJJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ0xpc3RXaXRoU2VhcmNoSWNvbic6XG4gICAgICByZXR1cm4gPExpc3RXaXRoU2VhcmNoSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcblxuICAgIC8vIEN1c3RvbSBhcHBsaWNhdGlvbiBpY29ucyBzZXRcbiAgICBjYXNlICdIZWFydEljb24nOlxuICAgICAgcmV0dXJuIDxIZWFydEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUGFwZXJjbGlwSWNvbic6XG4gICAgICByZXR1cm4gPFBhcGVyY2xpcEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUGx1Z2luSWNvbic6XG4gICAgICByZXR1cm4gPFBsdWdpbkljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUm9ja2V0SWNvbic6XG4gICAgICByZXR1cm4gPFJvY2tldEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnU3Rhckljb24nOlxuICAgICAgcmV0dXJuIDxTdGFySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdDb25uZWN0ZWRTcXVhcmVJY29uJzpcbiAgICAgIHJldHVybiA8Q29ubmVjdGVkU3F1YXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICAvLyBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcbiAgICBjYXNlICdXb3JsZEljb24nOlxuICAgICAgcmV0dXJuIDxXb3JsZEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiA8aW1nIHNyYz17TWlzc2luZ0ltYWdlU3ZnfSBhbHQ9XCJtaXNzaW5nIGljb25cIiAvPjtcbiAgfVxufTtcbkljb25Td2l0Y2hlci5kaXNwbGF5TmFtZSA9ICdJY29uU3dpdGNoZXInO1xuXG50eXBlIE1lbnVFeHBhbmRlclByb3BzID0ge1xuICBpc1Zpc2libGU6IGJvb2xlYW47XG4gIG9uQ2xpY2s6IChcbiAgICBlOiBNb3VzZUV2ZW50PEhUTUxEaXZFbGVtZW50PiB8IEtleWJvYXJkRXZlbnQ8SFRNTERpdkVsZW1lbnQ+XG4gICkgPT4gdm9pZDtcbiAgaXNNZW51T3BlbjogYm9vbGVhbjtcbn07XG5cbmNvbnN0IGdldEljb24gPSAoeyBpc01lbnVPcGVuIH06IE1lbnVFeHBhbmRlclByb3BzKSA9PiB7XG4gIGNvbnN0IEljb24gPSBpc01lbnVPcGVuID8gU2lkZWJhckNvbGxhcHNlSWNvbiA6IFNpZGViYXJFeHBhbmRJY29uO1xuICByZXR1cm4gPEljb24gY29sb3I9XCJzdXJmYWNlXCIgc2l6ZT1cImJpZ1wiIC8+O1xufTtcblxuY29uc3QgTWVudUV4cGFuZGVyID0gKHByb3BzOiBNZW51RXhwYW5kZXJQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxsaVxuICAgICAga2V5PVwiZXhwYW5kZXJcIlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKHN0eWxlcy5leHBhbmRlciwge1xuICAgICAgICBbc3R5bGVzLmhpZGRlbl06ICFwcm9wcy5pc1Zpc2libGUsXG4gICAgICB9KX1cbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIG9uQ2xpY2s9e3Byb3BzLm9uQ2xpY2t9XG4gICAgICAgIG9uS2V5RG93bj17KGUpID0+IHtcbiAgICAgICAgICBpZiAoZS5rZXkgPT09ICdFbnRlcicpIHtcbiAgICAgICAgICAgIHByb3BzLm9uQ2xpY2soZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9fVxuICAgICAgICB0YWJJbmRleD17MH1cbiAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXNbJ2V4cGFuZC1pY29uJ119XG4gICAgICAgIGRhdGEtdGVzdGlkPVwibWVudS1leHBhbmRlclwiXG4gICAgICA+XG4gICAgICAgIHtnZXRJY29uKHByb3BzKX1cbiAgICAgIDwvZGl2PlxuICAgIDwvbGk+XG4gICk7XG59O1xuTWVudUV4cGFuZGVyLmRpc3BsYXlOYW1lID0gJ01lbnVFeHBhbmRlcic7XG5cbmNvbnN0IEZhZGVkID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0zMnB4O1xuICBoZWlnaHQ6IDMycHg7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDAsIDE1MywgMTM1LCAwKSAwJSwgIzAwYjM5ZSAxMDAlKTtcbiAgei1pbmRleDogMTtcbmA7XG5cbnR5cGUgTWVudUdyb3VwUHJvcHMgPSB7XG4gIGlkOiBzdHJpbmc7XG4gIGxldmVsOiAxIHwgMjtcbiAgaXNBY3RpdmU/OiBib29sZWFuO1xuICBpc0V4cGFuZGVkPzogYm9vbGVhbjtcbiAgaGFzU3VibWVudT86IGJvb2xlYW47XG4gIGNoaWxkcmVuPzogUmVhY3ROb2RlO1xuICBzdWJtZW51VmVydGljYWxQb3NpdGlvbj86IG51bWJlcjtcbiAgaXNTdWJtZW51QWJvdmVNZW51SXRlbT86IGJvb2xlYW47XG59O1xuXG5jb25zdCBnZXRTdWJtZW51UG9zaXRpb25CYXNlZE9uTWVudUl0ZW1Qb3NpdGlvbiA9IChcbiAgaXNTdWJtZW51QWJvdmVNZW51SXRlbT86IGJvb2xlYW4sXG4gIHN1Ym1lbnVWZXJ0aWNhbFBvc2l0aW9uPzogbnVtYmVyXG4pID0+IGNzc2BcbiAgJHtpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtID8gJ2JvdHRvbScgOiAndG9wJ306ICR7c3VibWVudVZlcnRpY2FsUG9zaXRpb259cHhcbmA7XG5cbmNvbnN0IGdldENvbnRhaW5lclBvc2l0aW9uQmFzZWRPbk1lbnVJdGVtUG9zaXRpb24gPSAoXG4gIGlzU3VibWVudUFib3ZlTWVudUl0ZW0/OiBib29sZWFuLFxuICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkPzogYm9vbGVhbixcbiAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQ/OiBib29sZWFuXG4pID0+IFtcbiAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQgJiZcbiAgICBjc3NgXG4gICAgICAke2lzU3VibWVudUFib3ZlTWVudUl0ZW1cbiAgICAgICAgPyAnYm90dG9tJ1xuICAgICAgICA6ICd0b3AnfTogLSR7RElNRU5TSU9OUy5uYXZNZW51SXRlbUhlaWdodH07XG4gICAgYCxcbiAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCAmJlxuICAgIGlzU3VibWVudUFib3ZlTWVudUl0ZW0gJiZcbiAgICBjc3NgXG4gICAgICBib3R0b206IDA7XG4gICAgYCxcbiAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCAmJlxuICAgICFpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtICYmXG4gICAgY3NzYFxuICAgICAgdG9wOiAwO1xuICAgIGAsXG5dO1xuXG5jb25zdCBNZW51R3JvdXAgPSBmb3J3YXJkUmVmPEhUTUxVTGlzdEVsZW1lbnQsIE1lbnVHcm91cFByb3BzPigocHJvcHMsIHJlZikgPT4ge1xuICBpZiAoXG4gICAgcHJvcHMuaXNFeHBhbmRlZCAmJlxuICAgICgocHJvcHMubGV2ZWwgPT09IDIgJiYgIXByb3BzLmhhc1N1Ym1lbnUpIHx8XG4gICAgICAocHJvcHMubGV2ZWwgPT09IDIgJiYgIXByb3BzLmlzQWN0aXZlKSlcbiAgKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgY29uc3QgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCA9XG4gICAgcHJvcHMubGV2ZWwgPT09IDIgJiYgcHJvcHMuaXNBY3RpdmUgJiYgcHJvcHMuaXNFeHBhbmRlZDtcbiAgY29uc3QgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQgPVxuICAgIHByb3BzLmxldmVsID09PSAyICYmIHByb3BzLmlzQWN0aXZlICYmICFwcm9wcy5pc0V4cGFuZGVkO1xuICByZXR1cm4gKFxuICAgIDx1bFxuICAgICAgcmVmPXtyZWYgJiYgcHJvcHMubGV2ZWwgPT09IDIgPyByZWYgOiBudWxsfVxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgICR7Z2V0U3VibWVudVBvc2l0aW9uQmFzZWRPbk1lbnVJdGVtUG9zaXRpb24oXG4gICAgICAgICAgcHJvcHMuaXNTdWJtZW51QWJvdmVNZW51SXRlbSxcbiAgICAgICAgICBwcm9wcy5zdWJtZW51VmVydGljYWxQb3NpdGlvblxuICAgICAgICApfTtcbiAgICAgIFxuICAgICAgLy8gcHJldmVudCBnbGl0Y2h5IGJlaGF2aW9yIGR1cmluZyB0aGUgaW5pdGlhbCByZW5kZXIgd2hlbiB0aGUgc3VibWVudSdzIHZlcnRpY2FsIHBvc2l0aW9uIGlzIGV2YWx1YXRlZCBhcyAwXG4gICAgICAke1xuICAgICAgICBwcm9wcy5zdWJtZW51VmVydGljYWxQb3NpdGlvbiA9PT0gMCAmJlxuICAgICAgICBjc3NgXG4gICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICBgXG4gICAgICB9XG5cbiAgICAgICAgLy8gYWRkaXRpb25hbCBzdHlsaW5nIG9mIHRoZSBwc2V1ZG8tZWxlbWVudCBlbmFibGluZyBzbW9vdGggY291cnNvciBtb3ZlbWVudFxuICAgICAgICA6OmJlZm9yZSB7XG4gICAgICAgICAgJHtnZXRDb250YWluZXJQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uKFxuICAgICAgICAgICAgcHJvcHMuaXNTdWJtZW51QWJvdmVNZW51SXRlbSxcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQsXG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZFxuICAgICAgICAgICl9XG4gICAgICBgfVxuICAgICAgaWQ9e2Bncm91cC0ke3Byb3BzLmlkfWB9XG4gICAgICBkYXRhLXRlc3RpZD17YGdyb3VwLSR7cHJvcHMuaWR9YH1cbiAgICAgIHJvbGU9XCJtZW51XCJcbiAgICAgIGFyaWEtZXhwYW5kZWQ9e1xuICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkIHx8XG4gICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkXG4gICAgICB9XG4gICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoXG4gICAgICAgIHsgW3N0eWxlcy5saXN0XTogcHJvcHMubGV2ZWwgPT09IDEgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QnXV06IHByb3BzLmxldmVsID09PSAyLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlc1snc3VibGlzdC1leHBhbmRlZF9fYWN0aXZlJ11dOlxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtY29sbGFwc2VkX19lbXB0eSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmICFwcm9wcy5oYXNTdWJtZW51LFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlc1snc3VibGlzdC1jb2xsYXBzZWRfX2FjdGl2ZSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmXG4gICAgICAgICAgICAhcHJvcHMuaXNTdWJtZW51QWJvdmVNZW51SXRlbSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtY29sbGFwc2VkX19hY3RpdmVfX2Fib3ZlJ11dOlxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQgJiYgcHJvcHMuaXNTdWJtZW51QWJvdmVNZW51SXRlbSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXMuc3VibGlzdF9faW5hY3RpdmVdOiAhaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQsXG4gICAgICAgIH1cbiAgICAgICl9XG4gICAgPlxuICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgIDwvdWw+XG4gICk7XG59KTtcbk1lbnVHcm91cC5kaXNwbGF5TmFtZSA9ICdNZW51R3JvdXAnO1xuXG50eXBlIE1lbnVJdGVtUHJvcHMgPSB7XG4gIGhhc1N1Ym1lbnU6IGJvb2xlYW47XG4gIGlzQWN0aXZlOiBib29sZWFuO1xuICBpc01haW5NZW51Um91dGVBY3RpdmU/OiBib29sZWFuO1xuICBpc01lbnVPcGVuOiBib29sZWFuO1xuICBvbkNsaWNrOiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD47XG4gIG9uTW91c2VFbnRlcj86XG4gICAgfCBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD5cbiAgICB8IEZvY3VzRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50PjtcbiAgb25Nb3VzZUxlYXZlPzpcbiAgICB8IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50PlxuICAgIHwgRm9jdXNFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+O1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBpZGVudGlmaWVyPzogc3RyaW5nO1xufTtcbmNvbnN0IE1lbnVJdGVtID0gKHByb3BzOiBNZW51SXRlbVByb3BzKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGxpXG4gICAgICByb2xlPVwibWVudWl0ZW1cIlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKHN0eWxlc1snbGlzdC1pdGVtJ10sIHtcbiAgICAgICAgW3N0eWxlcy5pdGVtX19hY3RpdmVdOiBwcm9wcy5pc0FjdGl2ZSxcbiAgICAgICAgW3N0eWxlc1snaXRlbV9tZW51X19hY3RpdmUnXV06IHByb3BzLmlzTWFpbk1lbnVSb3V0ZUFjdGl2ZSA/PyBmYWxzZSxcbiAgICAgICAgW3N0eWxlc1snaXRlbV9tZW51LWNvbGxhcHNlZCddXTogIXByb3BzLmlzTWVudU9wZW4sXG4gICAgICB9KX1cbiAgICAgIG9uQ2xpY2s9e3Byb3BzLm9uQ2xpY2t9XG4gICAgICBvbk1vdXNlRW50ZXI9e3Byb3BzLm9uTW91c2VFbnRlciBhcyBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD59XG4gICAgICBvbk1vdXNlTGVhdmU9e3Byb3BzLm9uTW91c2VMZWF2ZSBhcyBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD59XG4gICAgICBvbkZvY3VzPXtwcm9wcy5vbk1vdXNlRW50ZXIgYXMgRm9jdXNFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+fVxuICAgICAgb25CbHVyPXtwcm9wcy5vbk1vdXNlTGVhdmUgYXMgRm9jdXNFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+fVxuICAgICAgZGF0YS1tZW51aXRlbT17cHJvcHMuaWRlbnRpZmllcn1cbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydpdGVtLWxpbmsnXX0+e3Byb3BzLmNoaWxkcmVufTwvZGl2PlxuICAgIDwvbGk+XG4gICk7XG59O1xuXG5NZW51SXRlbS5kaXNwbGF5TmFtZSA9ICdNZW51SXRlbSc7XG5cbmV4cG9ydCB0eXBlIE1lbnVJdGVtTGlua1Byb3BzID0ge1xuICBsaW5rVG8/OiBzdHJpbmc7XG4gIGV4YWN0TWF0Y2g6IGJvb2xlYW47XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIG9uQ2xpY2s/OiAoZXZlbnQ6IFN5bnRoZXRpY0V2ZW50PEhUTUxBbmNob3JFbGVtZW50PikgPT4gdm9pZDtcbiAgdXNlRnVsbFJlZGlyZWN0c0ZvckxpbmtzPzogYm9vbGVhbjtcbiAgaXNTdWJtZW51TGluaz86IGJvb2xlYW47XG59O1xuY29uc3QgbWVudUl0ZW1MaW5rRGVmYXVsdFByb3BzOiBQaWNrPE1lbnVJdGVtTGlua1Byb3BzLCAnZXhhY3RNYXRjaCc+ID0ge1xuICBleGFjdE1hdGNoOiBmYWxzZSxcbn07XG5jb25zdCBOYXZMaW5rV3JhcHBlciA9IChwcm9wczogTWVudUl0ZW1MaW5rUHJvcHMpID0+IHtcbiAgaWYgKHByb3BzLmlzU3VibWVudUxpbmspIHtcbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1sndGV4dC1saW5rLXN1Ymxpc3Qtd3JhcHBlciddfT5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxuICByZXR1cm4gPD57cHJvcHMuY2hpbGRyZW59PC8+O1xufTtcbmNvbnN0IE5hdkxpbmtDbGlja2FibGVDb250ZW50V3JhcHBlciA9IChwcm9wczogTWVudUl0ZW1MaW5rUHJvcHMpID0+IHtcbiAgaWYgKHByb3BzLmlzU3VibWVudUxpbmspIHtcbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snbmF2bGluay1jbGlja2FibGUtY29udGVudCddfT5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxuICByZXR1cm4gPD57cHJvcHMuY2hpbGRyZW59PC8+O1xufTtcblxuY29uc3QgTWVudUl0ZW1MaW5rID0gKHByb3BzOiBNZW51SXRlbUxpbmtQcm9wcykgPT4ge1xuICBjb25zdCByZWRpcmVjdFRvID0gKHRhcmdldFVybDogc3RyaW5nKSA9PiBsb2NhdGlvbi5yZXBsYWNlKHRhcmdldFVybCk7XG4gIGlmIChwcm9wcy5saW5rVG8pIHtcbiAgICBjb25zdCBsaW5rTGV2ZWwgPSBwcm9wcy5pc1N1Ym1lbnVMaW5rID8gJ3RleHQtbGluay1zdWJsaXN0JyA6ICd0ZXh0LWxpbmsnO1xuICAgIHJldHVybiAoXG4gICAgICA8TmF2TGlua1dyYXBwZXIgey4uLnByb3BzfT5cbiAgICAgICAgPE5hdkxpbmtcbiAgICAgICAgICB0bz17cHJvcHMubGlua1RvfVxuICAgICAgICAgIGV4YWN0PXtwcm9wcy5leGFjdE1hdGNofVxuICAgICAgICAgIGFjdGl2ZUNsYXNzTmFtZT17c3R5bGVzLmhpZ2hsaWdodGVkfVxuICAgICAgICAgIGNsYXNzTmFtZT17c3R5bGVzW2xpbmtMZXZlbF19XG4gICAgICAgICAgZGF0YS1saW5rLWxldmVsPXtsaW5rTGV2ZWx9XG4gICAgICAgICAgb25DbGljaz17KGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBpZiAocHJvcHMubGlua1RvICYmIHByb3BzLnVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rcykge1xuICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICByZWRpcmVjdFRvKHByb3BzLmxpbmtUbyk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHByb3BzLm9uQ2xpY2spIHtcbiAgICAgICAgICAgICAgZXZlbnQucGVyc2lzdCgpO1xuICAgICAgICAgICAgICBwcm9wcy5vbkNsaWNrKGV2ZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAgPE5hdkxpbmtDbGlja2FibGVDb250ZW50V3JhcHBlciB7Li4ucHJvcHN9PlxuICAgICAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgICAgIDwvTmF2TGlua0NsaWNrYWJsZUNvbnRlbnRXcmFwcGVyPlxuICAgICAgICA8L05hdkxpbms+XG4gICAgICA8L05hdkxpbmtXcmFwcGVyPlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5NZW51SXRlbUxpbmsuZGlzcGxheU5hbWUgPSAnTWVudUl0ZW1MaW5rJztcbk1lbnVJdGVtTGluay5kZWZhdWx0UHJvcHMgPSBtZW51SXRlbUxpbmtEZWZhdWx0UHJvcHM7XG5cbmNvbnN0IGlzRXZlcnlNZW51VmlzaWJpbGl0eVNldFRvSGlkZGVuID0gKFxuICBtZW51VmlzaWJpbGl0aWVzPzogVE5vcm1hbGl6ZWRNZW51VmlzaWJpbGl0aWVzIHwgbnVsbCxcbiAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXM/OiBzdHJpbmdbXVxuKSA9PlxuICBBcnJheS5pc0FycmF5KG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzKSAmJlxuICBuYW1lc09mTWVudVZpc2liaWxpdGllcy5sZW5ndGggPiAwICYmXG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzLmV2ZXJ5KFxuICAgIChuYW1lT2ZNZW51VmlzaWJpbGl0eSkgPT5cbiAgICAgIG1lbnVWaXNpYmlsaXRpZXMgJiYgbWVudVZpc2liaWxpdGllc1tuYW1lT2ZNZW51VmlzaWJpbGl0eV0gPT09IHRydWVcbiAgKTtcblxudHlwZSBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcyA9IHtcbiAgZmVhdHVyZVRvZ2dsZT86IHN0cmluZztcbiAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXM/OiBzdHJpbmdbXTtcbiAgcHJvamVjdFBlcm1pc3Npb25zOiBUUHJvamVjdFBlcm1pc3Npb25zO1xuICBtZW51VmlzaWJpbGl0aWVzOiBUTm9ybWFsaXplZE1lbnVWaXNpYmlsaXRpZXMgfCBudWxsO1xuICBrZXlPZk1lbnVJdGVtOiBzdHJpbmc7XG4gIHBlcm1pc3Npb25zOiBzdHJpbmdbXTtcbiAgYWN0aW9uUmlnaHRzPzogVEFjdGlvblJpZ2h0W107XG4gIGRhdGFGZW5jZXM/OiBURGF0YUZlbmNlW107XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59O1xudHlwZSBUTG9uZ0xpdmVkRmxhZyA9IHtcbiAgdmFsdWU6IGJvb2xlYW47XG4gIHJlYXNvbj86IHN0cmluZztcbn07XG5jb25zdCByZXN0cmljdGVkTWVudUl0ZW1EZWZhdWx0UHJvcHM6IFBpY2s8XG4gIFJlc3RyaWN0ZWRNZW51SXRlbVByb3BzLFxuICAncGVybWlzc2lvbnMnXG4+ID0ge1xuICBwZXJtaXNzaW9uczogW10sXG59O1xuZnVuY3Rpb24gaXNMb25nTGl2ZWRGbGFnKFxuICBmbGFnOiBURmxhZ1ZhcmlhdGlvbiB8IFRMb25nTGl2ZWRGbGFnXG4pOiBmbGFnIGlzIFRMb25nTGl2ZWRGbGFnIHtcbiAgcmV0dXJuIHR5cGVvZiAoZmxhZyBhcyBUTG9uZ0xpdmVkRmxhZyk/LnZhbHVlID09PSAnYm9vbGVhbic7XG59XG5jb25zdCBSZXN0cmljdGVkTWVudUl0ZW0gPSAocHJvcHM6IFJlc3RyaWN0ZWRNZW51SXRlbVByb3BzKSA9PiB7XG4gIC8vIE5PVEU6IEN1c3RvbSBhcHBsaWNhdGlvbiBhcmUgYWN0aXZhdGVkL2RlYWN0aXZhdGVkIHdoaWxlIHRoZWlyXG4gIC8vIHZpc2liaWxpdHkgaXMgbm90IGNvbnRyb2xsZWQgdmlhIGEgdmlzaWJpaWxpdHkgb3ZlcndyaXRlLlxuICBjb25zdCBmbGFnVmFyaWF0aW9uID0gdXNlRmxhZ1ZhcmlhdGlvbihwcm9wcy5mZWF0dXJlVG9nZ2xlKTtcbiAgaWYgKFxuICAgIGlzRXZlcnlNZW51VmlzaWJpbGl0eVNldFRvSGlkZGVuKFxuICAgICAgcHJvcHMubWVudVZpc2liaWxpdGllcyxcbiAgICAgIHByb3BzLm5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzXG4gICAgKVxuICApXG4gICAgcmV0dXJuIG51bGw7XG5cbiAgY29uc3QgcGVybWlzc2lvbnNXcmFwcGVyID1cbiAgICAoQXJyYXkuaXNBcnJheShwcm9wcy5wZXJtaXNzaW9ucykgJiYgcHJvcHMucGVybWlzc2lvbnMubGVuZ3RoID4gMCkgfHxcbiAgICAoQXJyYXkuaXNBcnJheShwcm9wcy5kYXRhRmVuY2VzKSAmJiBwcm9wcy5kYXRhRmVuY2VzLmxlbmd0aCA+IDApID8gKFxuICAgICAgPFJlc3RyaWN0ZWRCeVBlcm1pc3Npb25zXG4gICAgICAgIHBlcm1pc3Npb25zPXtwcm9wcy5wZXJtaXNzaW9uc31cbiAgICAgICAgYWN0aW9uUmlnaHRzPXtwcm9wcy5hY3Rpb25SaWdodHN9XG4gICAgICAgIGRhdGFGZW5jZXM9e3Byb3BzLmRhdGFGZW5jZXN9XG4gICAgICAgIHNlbGVjdERhdGFGZW5jZURhdGE9eyhkZW1hbmRlZERhdGFGZW5jZSkgPT4ge1xuICAgICAgICAgIHN3aXRjaCAoZGVtYW5kZWREYXRhRmVuY2UudHlwZSkge1xuICAgICAgICAgICAgY2FzZSAnc3RvcmUnOlxuICAgICAgICAgICAgICByZXR1cm4gZGVtYW5kZWREYXRhRmVuY2UuYWN0dWFsRGF0YUZlbmNlVmFsdWVzO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9fVxuICAgICAgICAvLyBBbHdheXMgY2hlY2sgdGhhdCBzb21lIG9mIHRoZSBnaXZlbiBwZXJtaXNzaW9ucyBtYXRjaC5cbiAgICAgICAgc2hvdWxkTWF0Y2hTb21lUGVybWlzc2lvbnM9e3RydWV9XG4gICAgICAgIHByb2plY3RQZXJtaXNzaW9ucz17cHJvcHMucHJvamVjdFBlcm1pc3Npb25zfVxuICAgICAgPlxuICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICA8L1Jlc3RyaWN0ZWRCeVBlcm1pc3Npb25zPlxuICAgICkgOiAoXG4gICAgICA8Pntwcm9wcy5jaGlsZHJlbn08Lz5cbiAgICApO1xuXG4gIGlmIChwcm9wcy5mZWF0dXJlVG9nZ2xlKSB7XG4gICAgLy8gQSByZWd1bGFyIHNob3J0LWxpdmVkIGZlYXR1cmUgdG9nZ2xlXG4gICAgaWYgKGZsYWdWYXJpYXRpb24gPT09IHRydWUpIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG4gICAgLy8gQSBsb25nLWxpdmVkIGZlYXR1cmUgdG9nZ2xlIHdpdGggYHsgdmFsdWU6IGJvb2xlYW4sIHN0cmluZzogcmVhc29uIH1gXG4gICAgaWYgKGlzTG9uZ0xpdmVkRmxhZyhmbGFnVmFyaWF0aW9uKSAmJiBmbGFnVmFyaWF0aW9uLnZhbHVlID09PSB0cnVlKVxuICAgICAgcmV0dXJuIHBlcm1pc3Npb25zV3JhcHBlcjtcblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIHBlcm1pc3Npb25zV3JhcHBlcjtcbn07XG5SZXN0cmljdGVkTWVudUl0ZW0uZGlzcGxheU5hbWUgPSAnUmVzdHJpY3RlZE1lbnVJdGVtJztcblJlc3RyaWN0ZWRNZW51SXRlbS5kZWZhdWx0UHJvcHMgPSByZXN0cmljdGVkTWVudUl0ZW1EZWZhdWx0UHJvcHM7XG5cbnR5cGUgTWVudUxhYmVsUHJvcHMgPSB7XG4gIGxhYmVsQWxsTG9jYWxlczogVExvY2FsaXplZEZpZWxkW107XG4gIGRlZmF1bHRMYWJlbD86IHN0cmluZztcbiAgYXBwbGljYXRpb25Mb2NhbGU6IHN0cmluZztcbn07XG5jb25zdCBNZW51TGFiZWwgPSAocHJvcHM6IE1lbnVMYWJlbFByb3BzKSA9PiB7XG4gIGNvbnN0IGxvY2FsaXplZExhYmVsID0gcHJvcHMubGFiZWxBbGxMb2NhbGVzLmZpbmQoKGxvYykgPT5cbiAgICBwcm9wcy5hcHBsaWNhdGlvbkxvY2FsZS5zdGFydHNXaXRoKGxvYy5sb2NhbGUpXG4gICk7XG4gIGlmIChsb2NhbGl6ZWRMYWJlbCkgcmV0dXJuIDw+e2xvY2FsaXplZExhYmVsLnZhbHVlfTwvPjtcbiAgaWYgKHByb3BzLmRlZmF1bHRMYWJlbCkgcmV0dXJuIDw+e3Byb3BzLmRlZmF1bHRMYWJlbH08Lz47XG4gIHJldHVybiA8PntOT19WQUxVRV9GQUxMQkFDS308Lz47XG59O1xuXG50eXBlIFROYXZCYXJMYXlvdXRQcm9wcyA9IHtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbn07XG5jb25zdCBOYXZCYXJMYXlvdXQgPSBmb3J3YXJkUmVmPEhUTUxFbGVtZW50LCBUTmF2QmFyTGF5b3V0UHJvcHM+KFxuICAocHJvcHMsIHJlZikgPT4gKFxuICAgIDw+XG4gICAgICA8R2xvYmFsXG4gICAgICAgIHN0eWxlcz17Y3NzYFxuICAgICAgICAgICR7Y29tcGlsZWRTdHlsZXMuZ2xvYmFsfVxuICAgICAgICBgfVxuICAgICAgLz5cbiAgICAgIDxuYXZcbiAgICAgICAgcmVmPXtyZWZ9XG4gICAgICAgIGNsYXNzTmFtZT17c3R5bGVzWydsZWZ0LW5hdmlnYXRpb24nXX1cbiAgICAgICAgZGF0YS10ZXN0PVwibGVmdC1uYXZpZ2F0aW9uXCJcbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJsZWZ0LW5hdmlnYXRpb25cIlxuICAgICAgPlxuICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICA8L25hdj5cbiAgICA8Lz5cbiAgKVxuKTtcbk5hdkJhckxheW91dC5kaXNwbGF5TmFtZSA9ICdOYXZCYXJMYXlvdXQnO1xuXG50eXBlIEl0ZW1Db250YWluZXJQcm9wcyA9IHtcbiAgbGFiZWxBbGxMb2NhbGVzOiBUTG9jYWxpemVkRmllbGRbXTtcbiAgZGVmYXVsdExhYmVsPzogc3RyaW5nO1xuICBhcHBsaWNhdGlvbkxvY2FsZTogc3RyaW5nO1xuICBpY29uOiBzdHJpbmc7XG4gIGlzTWVudU9wZW4/OiBib29sZWFuO1xufTtcblxuY29uc3QgSXRlbUNvbnRhaW5lciA9IChwcm9wczogSXRlbUNvbnRhaW5lclByb3BzKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaXRlbS1pY29uLXRleHQnXX0+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydpY29uLWNvbnRhaW5lciddfT5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlcy5pY29ufT5cbiAgICAgICAgICA8SWNvblN3aXRjaGVyIGljb249e3Byb3BzLmljb259IHNpemU9XCJzY2FsZVwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICB7cHJvcHMuaXNNZW51T3BlbiA/IChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlcy50aXRsZX0+XG4gICAgICAgICAgPE1lbnVMYWJlbFxuICAgICAgICAgICAgbGFiZWxBbGxMb2NhbGVzPXtwcm9wcy5sYWJlbEFsbExvY2FsZXN9XG4gICAgICAgICAgICBkZWZhdWx0TGFiZWw9e3Byb3BzLmRlZmF1bHRMYWJlbH1cbiAgICAgICAgICAgIGFwcGxpY2F0aW9uTG9jYWxlPXtwcm9wcy5hcHBsaWNhdGlvbkxvY2FsZX1cbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICkgOiBudWxsfVxuICAgIDwvZGl2PlxuICApO1xufTtcblxuSXRlbUNvbnRhaW5lci5kaXNwbGF5TmFtZSA9ICdJdGVtQ29udGFpbmVyJztcblxuZXhwb3J0IHtcbiAgUmVzdHJpY3RlZE1lbnVJdGVtLFxuICBNZW51SXRlbSxcbiAgTWVudUl0ZW1MaW5rLFxuICBJY29uU3dpdGNoZXIsXG4gIE1lbnVHcm91cCxcbiAgTWVudUxhYmVsLFxuICBNZW51RXhwYW5kZXIsXG4gIEZhZGVkLFxuICBOYXZCYXJMYXlvdXQsXG4gIEl0ZW1Db250YWluZXIsXG59O1xuIl19 */",
269
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__$1
270
- };
271
- const getContainerPositionBasedOnMenuItemPosition = (isSubmenuAboveMenuItem, isSublistActiveWhileIsMenuExpanded, isSublistActiveWhileIsMenuCollapsed) => [isSublistActiveWhileIsMenuCollapsed && /*#__PURE__*/react$1.css(isSubmenuAboveMenuItem ? 'bottom' : 'top', ":-", oidc.DIMENSIONS.navMenuItemHeight, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:getContainerPositionBasedOnMenuItemPosition;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1lbnUtaXRlbXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtNTyIsImZpbGUiOiJtZW51LWl0ZW1zLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGZvcndhcmRSZWYsXG4gIGxhenksXG4gIHR5cGUgTW91c2VFdmVudEhhbmRsZXIsXG4gIHR5cGUgRm9jdXNFdmVudEhhbmRsZXIsXG4gIHR5cGUgTW91c2VFdmVudCxcbiAgdHlwZSBLZXlib2FyZEV2ZW50LFxuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdHlwZSBTeW50aGV0aWNFdmVudCxcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgR2xvYmFsLCBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3JlYWN0LWJyb2FkY2FzdCc7XG5pbXBvcnQgdHlwZSB7IFRGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3R5cGVzJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgTmF2TGluayB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHR5cGUge1xuICBUTm9ybWFsaXplZE1lbnVWaXNpYmlsaXRpZXMsXG4gIFROb3JtYWxpemVkUGVybWlzc2lvbnMsXG4gIFROb3JtYWxpemVkQWN0aW9uUmlnaHRzLFxuICBUTm9ybWFsaXplZERhdGFGZW5jZXMsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnO1xuaW1wb3J0IE1pc3NpbmdJbWFnZVN2ZyBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hc3NldHMvaW1hZ2VzL2RpYWdvbmFsLWxpbmUuc3ZnJztcbmltcG9ydCB7IE5PX1ZBTFVFX0ZBTExCQUNLIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvY29uc3RhbnRzJztcbmltcG9ydCB7IFJlc3RyaWN0ZWRCeVBlcm1pc3Npb25zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvcGVybWlzc2lvbnMnO1xuaW1wb3J0IHtcbiAgQmFja0ljb24sXG4gIFNpZGViYXJFeHBhbmRJY29uLFxuICBTaWRlYmFyQ29sbGFwc2VJY29uLFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucyc7XG5pbXBvcnQgSW5saW5lU3ZnIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ljb25zL2lubGluZS1zdmcnO1xuaW1wb3J0IHsgRElNRU5TSU9OUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgdHlwZSB7XG4gIFREYXRhRmVuY2UsXG4gIFRBY3Rpb25SaWdodCxcbiAgVExvY2FsaXplZEZpZWxkLFxufSBmcm9tICcuLi8uLi90eXBlcy9nZW5lcmF0ZWQvcHJveHknO1xuaW1wb3J0IHsgbG9jYXRpb24gfSBmcm9tICcuLi8uLi91dGlscy9sb2NhdGlvbic7XG4vLyBodHRwczovL2JhYmVsanMuaW8vYmxvZy8yMDE3LzA5LzExL3plcm8tY29uZmlnLXdpdGgtYmFiZWwtbWFjcm9zXG5pbXBvcnQgY29tcGlsZWRTdHlsZXMgZnJvbSAvKiBwcmV2YWwgKi8gJy4vbmF2YmFyLnN0eWxlcyc7XG5cbmNvbnN0IHN0eWxlcyA9IGNvbXBpbGVkU3R5bGVzLmpzb25NYXA7XG5cbnR5cGUgVFByb2plY3RQZXJtaXNzaW9ucyA9IHtcbiAgcGVybWlzc2lvbnM6IFROb3JtYWxpemVkUGVybWlzc2lvbnMgfCBudWxsO1xuICBhY3Rpb25SaWdodHM6IFROb3JtYWxpemVkQWN0aW9uUmlnaHRzIHwgbnVsbDtcbiAgZGF0YUZlbmNlczogVE5vcm1hbGl6ZWREYXRhRmVuY2VzIHwgbnVsbDtcbn07XG5cbmNvbnN0IEhlYXJ0SWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9oZWFydCcpKTtcbmNvbnN0IFBhcGVyY2xpcEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi9sZWdhY3ktaWNvbnMvcGFwZXJjbGlwJykpO1xuY29uc3QgUGx1Z2luSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9wbHVnaW4nKSk7XG5jb25zdCBSb2NrZXRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3JvY2tldCcpKTtcbmNvbnN0IFN0YXJJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3N0YXInKSk7XG5jb25zdCBDb25uZWN0ZWRTcXVhcmVJY29uID0gbGF6eShcbiAgKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9jb25uZWN0ZWQtc3F1YXJlJylcbik7XG5jb25zdCBXb3JsZEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi9sZWdhY3ktaWNvbnMvd29ybGQnKSk7XG5jb25zdCBUcmVlU3RydWN0dXJlSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy90cmVlLXN0cnVjdHVyZScpKTtcbmNvbnN0IFVzZXJGaWxsZWRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3VzZXItZmlsbGVkJykpO1xuY29uc3QgU3BlZWRvbWV0ZXJJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3NwZWVkb21ldGVyJykpO1xuY29uc3QgVGFnTXVsdGlJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3RhZy1tdWx0aScpKTtcbmNvbnN0IENhcnRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL2NhcnQnKSk7XG5jb25zdCBCb3hJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL2JveCcpKTtcbmNvbnN0IEdlYXJJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL2dlYXInKSk7XG5jb25zdCBMaXN0V2l0aFNlYXJjaEljb24gPSBsYXp5KFxuICAoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL2xpc3Qtd2l0aC1zZWFyY2gnKVxuKTtcblxudHlwZSBJY29uUHJvcHMgPSBQYXJhbWV0ZXJzPHR5cGVvZiBCYWNrSWNvbj5bMF07XG50eXBlIEljb25Td2l0Y2hlclByb3BzID0geyBpY29uOiBzdHJpbmcgfSAmIEljb25Qcm9wcztcbi8vIFRoZSBpY29uIGlzIGV4cGVjdGVkIHRvIGJlIHRoZSBgc3ZnYCBkb2N1bWVudCBhcyBhIHN0cmluZy5cbi8vIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBwdXJwb3Nlcywgd2Ugc3RpbGwgc3VwcG9ydCB0aGUgbGVnYWN5IFwiaWNvbiBuYW1lXCIsXG4vLyB3aGljaCB3ZSB0aGVuIG1hcCB0byBvbmUgb2YgdGhlIHByZS1kZWZpbmVkIGljb25zLlxuLy8gRXZlbnR1YWxseSwgd2Ugd2FudCB0byBnZXQgcmlkIG9mIHRoaXMgXCJzd2l0Y2hcIiBsb2dpYy5cbmNvbnN0IEljb25Td2l0Y2hlciA9ICh7IGljb24sIC4uLmljb25Qcm9wcyB9OiBJY29uU3dpdGNoZXJQcm9wcykgPT4ge1xuICBpZiAoaWNvbi5pbmNsdWRlcygnPHN2ZycpKSB7XG4gICAgcmV0dXJuIDxJbmxpbmVTdmcgZGF0YT17aWNvbn0gey4uLmljb25Qcm9wc30gLz47XG4gIH1cbiAgLy8gQmFja3dhcmRzIGNvbXBhdGliaWxpdHkgZm9yIGFwcHMgdXNpbmcgdGhlIFwiaWNvbiBuYW1lXCIuXG4gIHN3aXRjaCAoaWNvbikge1xuICAgIC8vIExlZ2FjeSBhcHBsaWNhdGlvbiBpY29uc1xuICAgIC8vIFRPRE86IFRvIGJlIHJlbW92ZWQgb25jZSBNQyBhcHBsaWNhdGlvbnMgaWNvbnMgdXBkYXRlcyBhcmUgcHVibGlzaGVkXG4gICAgY2FzZSAnVHJlZVN0cnVjdHVyZUljb24nOlxuICAgICAgcmV0dXJuIDxUcmVlU3RydWN0dXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdVc2VyRmlsbGVkSWNvbic6XG4gICAgICByZXR1cm4gPFVzZXJGaWxsZWRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1NwZWVkb21ldGVySWNvbic6XG4gICAgICByZXR1cm4gPFNwZWVkb21ldGVySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdUYWdNdWx0aUljb24nOlxuICAgICAgcmV0dXJuIDxUYWdNdWx0aUljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnQ2FydEljb24nOlxuICAgICAgcmV0dXJuIDxDYXJ0SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdCb3hJY29uJzpcbiAgICAgIHJldHVybiA8Qm94SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdHZWFySWNvbic6XG4gICAgICByZXR1cm4gPEdlYXJJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ0xpc3RXaXRoU2VhcmNoSWNvbic6XG4gICAgICByZXR1cm4gPExpc3RXaXRoU2VhcmNoSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcblxuICAgIC8vIEN1c3RvbSBhcHBsaWNhdGlvbiBpY29ucyBzZXRcbiAgICBjYXNlICdIZWFydEljb24nOlxuICAgICAgcmV0dXJuIDxIZWFydEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUGFwZXJjbGlwSWNvbic6XG4gICAgICByZXR1cm4gPFBhcGVyY2xpcEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUGx1Z2luSWNvbic6XG4gICAgICByZXR1cm4gPFBsdWdpbkljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUm9ja2V0SWNvbic6XG4gICAgICByZXR1cm4gPFJvY2tldEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnU3Rhckljb24nOlxuICAgICAgcmV0dXJuIDxTdGFySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdDb25uZWN0ZWRTcXVhcmVJY29uJzpcbiAgICAgIHJldHVybiA8Q29ubmVjdGVkU3F1YXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICAvLyBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcbiAgICBjYXNlICdXb3JsZEljb24nOlxuICAgICAgcmV0dXJuIDxXb3JsZEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiA8aW1nIHNyYz17TWlzc2luZ0ltYWdlU3ZnfSBhbHQ9XCJtaXNzaW5nIGljb25cIiAvPjtcbiAgfVxufTtcbkljb25Td2l0Y2hlci5kaXNwbGF5TmFtZSA9ICdJY29uU3dpdGNoZXInO1xuXG50eXBlIE1lbnVFeHBhbmRlclByb3BzID0ge1xuICBpc1Zpc2libGU6IGJvb2xlYW47XG4gIG9uQ2xpY2s6IChcbiAgICBlOiBNb3VzZUV2ZW50PEhUTUxEaXZFbGVtZW50PiB8IEtleWJvYXJkRXZlbnQ8SFRNTERpdkVsZW1lbnQ+XG4gICkgPT4gdm9pZDtcbiAgaXNNZW51T3BlbjogYm9vbGVhbjtcbn07XG5cbmNvbnN0IGdldEljb24gPSAoeyBpc01lbnVPcGVuIH06IE1lbnVFeHBhbmRlclByb3BzKSA9PiB7XG4gIGNvbnN0IEljb24gPSBpc01lbnVPcGVuID8gU2lkZWJhckNvbGxhcHNlSWNvbiA6IFNpZGViYXJFeHBhbmRJY29uO1xuICByZXR1cm4gPEljb24gY29sb3I9XCJzdXJmYWNlXCIgc2l6ZT1cImJpZ1wiIC8+O1xufTtcblxuY29uc3QgTWVudUV4cGFuZGVyID0gKHByb3BzOiBNZW51RXhwYW5kZXJQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxsaVxuICAgICAga2V5PVwiZXhwYW5kZXJcIlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKHN0eWxlcy5leHBhbmRlciwge1xuICAgICAgICBbc3R5bGVzLmhpZGRlbl06ICFwcm9wcy5pc1Zpc2libGUsXG4gICAgICB9KX1cbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIG9uQ2xpY2s9e3Byb3BzLm9uQ2xpY2t9XG4gICAgICAgIG9uS2V5RG93bj17KGUpID0+IHtcbiAgICAgICAgICBpZiAoZS5rZXkgPT09ICdFbnRlcicpIHtcbiAgICAgICAgICAgIHByb3BzLm9uQ2xpY2soZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9fVxuICAgICAgICB0YWJJbmRleD17MH1cbiAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXNbJ2V4cGFuZC1pY29uJ119XG4gICAgICAgIGRhdGEtdGVzdGlkPVwibWVudS1leHBhbmRlclwiXG4gICAgICA+XG4gICAgICAgIHtnZXRJY29uKHByb3BzKX1cbiAgICAgIDwvZGl2PlxuICAgIDwvbGk+XG4gICk7XG59O1xuTWVudUV4cGFuZGVyLmRpc3BsYXlOYW1lID0gJ01lbnVFeHBhbmRlcic7XG5cbmNvbnN0IEZhZGVkID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0zMnB4O1xuICBoZWlnaHQ6IDMycHg7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDAsIDE1MywgMTM1LCAwKSAwJSwgIzAwYjM5ZSAxMDAlKTtcbiAgei1pbmRleDogMTtcbmA7XG5cbnR5cGUgTWVudUdyb3VwUHJvcHMgPSB7XG4gIGlkOiBzdHJpbmc7XG4gIGxldmVsOiAxIHwgMjtcbiAgaXNBY3RpdmU/OiBib29sZWFuO1xuICBpc0V4cGFuZGVkPzogYm9vbGVhbjtcbiAgaGFzU3VibWVudT86IGJvb2xlYW47XG4gIGNoaWxkcmVuPzogUmVhY3ROb2RlO1xuICBzdWJtZW51VmVydGljYWxQb3NpdGlvbj86IG51bWJlcjtcbiAgaXNTdWJtZW51QWJvdmVNZW51SXRlbT86IGJvb2xlYW47XG59O1xuXG5jb25zdCBnZXRTdWJtZW51UG9zaXRpb25CYXNlZE9uTWVudUl0ZW1Qb3NpdGlvbiA9IChcbiAgaXNTdWJtZW51QWJvdmVNZW51SXRlbT86IGJvb2xlYW4sXG4gIHN1Ym1lbnVWZXJ0aWNhbFBvc2l0aW9uPzogbnVtYmVyXG4pID0+IGNzc2BcbiAgJHtpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtID8gJ2JvdHRvbScgOiAndG9wJ306ICR7c3VibWVudVZlcnRpY2FsUG9zaXRpb259cHhcbmA7XG5cbmNvbnN0IGdldENvbnRhaW5lclBvc2l0aW9uQmFzZWRPbk1lbnVJdGVtUG9zaXRpb24gPSAoXG4gIGlzU3VibWVudUFib3ZlTWVudUl0ZW0/OiBib29sZWFuLFxuICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkPzogYm9vbGVhbixcbiAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQ/OiBib29sZWFuXG4pID0+IFtcbiAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQgJiZcbiAgICBjc3NgXG4gICAgICAke2lzU3VibWVudUFib3ZlTWVudUl0ZW1cbiAgICAgICAgPyAnYm90dG9tJ1xuICAgICAgICA6ICd0b3AnfTogLSR7RElNRU5TSU9OUy5uYXZNZW51SXRlbUhlaWdodH07XG4gICAgYCxcbiAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCAmJlxuICAgIGlzU3VibWVudUFib3ZlTWVudUl0ZW0gJiZcbiAgICBjc3NgXG4gICAgICBib3R0b206IDA7XG4gICAgYCxcbiAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCAmJlxuICAgICFpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtICYmXG4gICAgY3NzYFxuICAgICAgdG9wOiAwO1xuICAgIGAsXG5dO1xuXG5jb25zdCBNZW51R3JvdXAgPSBmb3J3YXJkUmVmPEhUTUxVTGlzdEVsZW1lbnQsIE1lbnVHcm91cFByb3BzPigocHJvcHMsIHJlZikgPT4ge1xuICBpZiAoXG4gICAgcHJvcHMuaXNFeHBhbmRlZCAmJlxuICAgICgocHJvcHMubGV2ZWwgPT09IDIgJiYgIXByb3BzLmhhc1N1Ym1lbnUpIHx8XG4gICAgICAocHJvcHMubGV2ZWwgPT09IDIgJiYgIXByb3BzLmlzQWN0aXZlKSlcbiAgKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgY29uc3QgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCA9XG4gICAgcHJvcHMubGV2ZWwgPT09IDIgJiYgcHJvcHMuaXNBY3RpdmUgJiYgcHJvcHMuaXNFeHBhbmRlZDtcbiAgY29uc3QgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQgPVxuICAgIHByb3BzLmxldmVsID09PSAyICYmIHByb3BzLmlzQWN0aXZlICYmICFwcm9wcy5pc0V4cGFuZGVkO1xuICByZXR1cm4gKFxuICAgIDx1bFxuICAgICAgcmVmPXtyZWYgJiYgcHJvcHMubGV2ZWwgPT09IDIgPyByZWYgOiBudWxsfVxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgICR7Z2V0U3VibWVudVBvc2l0aW9uQmFzZWRPbk1lbnVJdGVtUG9zaXRpb24oXG4gICAgICAgICAgcHJvcHMuaXNTdWJtZW51QWJvdmVNZW51SXRlbSxcbiAgICAgICAgICBwcm9wcy5zdWJtZW51VmVydGljYWxQb3NpdGlvblxuICAgICAgICApfTtcbiAgICAgIFxuICAgICAgLy8gcHJldmVudCBnbGl0Y2h5IGJlaGF2aW9yIGR1cmluZyB0aGUgaW5pdGlhbCByZW5kZXIgd2hlbiB0aGUgc3VibWVudSdzIHZlcnRpY2FsIHBvc2l0aW9uIGlzIGV2YWx1YXRlZCBhcyAwXG4gICAgICAke1xuICAgICAgICBwcm9wcy5zdWJtZW51VmVydGljYWxQb3NpdGlvbiA9PT0gMCAmJlxuICAgICAgICBjc3NgXG4gICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICBgXG4gICAgICB9XG5cbiAgICAgICAgLy8gYWRkaXRpb25hbCBzdHlsaW5nIG9mIHRoZSBwc2V1ZG8tZWxlbWVudCBlbmFibGluZyBzbW9vdGggY291cnNvciBtb3ZlbWVudFxuICAgICAgICA6OmJlZm9yZSB7XG4gICAgICAgICAgJHtnZXRDb250YWluZXJQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uKFxuICAgICAgICAgICAgcHJvcHMuaXNTdWJtZW51QWJvdmVNZW51SXRlbSxcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQsXG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZFxuICAgICAgICAgICl9XG4gICAgICBgfVxuICAgICAgaWQ9e2Bncm91cC0ke3Byb3BzLmlkfWB9XG4gICAgICBkYXRhLXRlc3RpZD17YGdyb3VwLSR7cHJvcHMuaWR9YH1cbiAgICAgIHJvbGU9XCJtZW51XCJcbiAgICAgIGFyaWEtZXhwYW5kZWQ9e1xuICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkIHx8XG4gICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkXG4gICAgICB9XG4gICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoXG4gICAgICAgIHsgW3N0eWxlcy5saXN0XTogcHJvcHMubGV2ZWwgPT09IDEgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QnXV06IHByb3BzLmxldmVsID09PSAyLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlc1snc3VibGlzdC1leHBhbmRlZF9fYWN0aXZlJ11dOlxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtY29sbGFwc2VkX19lbXB0eSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmICFwcm9wcy5oYXNTdWJtZW51LFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlc1snc3VibGlzdC1jb2xsYXBzZWRfX2FjdGl2ZSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmXG4gICAgICAgICAgICAhcHJvcHMuaXNTdWJtZW51QWJvdmVNZW51SXRlbSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtY29sbGFwc2VkX19hY3RpdmVfX2Fib3ZlJ11dOlxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQgJiYgcHJvcHMuaXNTdWJtZW51QWJvdmVNZW51SXRlbSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXMuc3VibGlzdF9faW5hY3RpdmVdOiAhaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQsXG4gICAgICAgIH1cbiAgICAgICl9XG4gICAgPlxuICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgIDwvdWw+XG4gICk7XG59KTtcbk1lbnVHcm91cC5kaXNwbGF5TmFtZSA9ICdNZW51R3JvdXAnO1xuXG50eXBlIE1lbnVJdGVtUHJvcHMgPSB7XG4gIGhhc1N1Ym1lbnU6IGJvb2xlYW47XG4gIGlzQWN0aXZlOiBib29sZWFuO1xuICBpc01haW5NZW51Um91dGVBY3RpdmU/OiBib29sZWFuO1xuICBpc01lbnVPcGVuOiBib29sZWFuO1xuICBvbkNsaWNrOiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD47XG4gIG9uTW91c2VFbnRlcj86XG4gICAgfCBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD5cbiAgICB8IEZvY3VzRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50PjtcbiAgb25Nb3VzZUxlYXZlPzpcbiAgICB8IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50PlxuICAgIHwgRm9jdXNFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+O1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBpZGVudGlmaWVyPzogc3RyaW5nO1xufTtcbmNvbnN0IE1lbnVJdGVtID0gKHByb3BzOiBNZW51SXRlbVByb3BzKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGxpXG4gICAgICByb2xlPVwibWVudWl0ZW1cIlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKHN0eWxlc1snbGlzdC1pdGVtJ10sIHtcbiAgICAgICAgW3N0eWxlcy5pdGVtX19hY3RpdmVdOiBwcm9wcy5pc0FjdGl2ZSxcbiAgICAgICAgW3N0eWxlc1snaXRlbV9tZW51X19hY3RpdmUnXV06IHByb3BzLmlzTWFpbk1lbnVSb3V0ZUFjdGl2ZSA/PyBmYWxzZSxcbiAgICAgICAgW3N0eWxlc1snaXRlbV9tZW51LWNvbGxhcHNlZCddXTogIXByb3BzLmlzTWVudU9wZW4sXG4gICAgICB9KX1cbiAgICAgIG9uQ2xpY2s9e3Byb3BzLm9uQ2xpY2t9XG4gICAgICBvbk1vdXNlRW50ZXI9e3Byb3BzLm9uTW91c2VFbnRlciBhcyBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD59XG4gICAgICBvbk1vdXNlTGVhdmU9e3Byb3BzLm9uTW91c2VMZWF2ZSBhcyBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD59XG4gICAgICBvbkZvY3VzPXtwcm9wcy5vbk1vdXNlRW50ZXIgYXMgRm9jdXNFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+fVxuICAgICAgb25CbHVyPXtwcm9wcy5vbk1vdXNlTGVhdmUgYXMgRm9jdXNFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+fVxuICAgICAgZGF0YS1tZW51aXRlbT17cHJvcHMuaWRlbnRpZmllcn1cbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydpdGVtLWxpbmsnXX0+e3Byb3BzLmNoaWxkcmVufTwvZGl2PlxuICAgIDwvbGk+XG4gICk7XG59O1xuXG5NZW51SXRlbS5kaXNwbGF5TmFtZSA9ICdNZW51SXRlbSc7XG5cbmV4cG9ydCB0eXBlIE1lbnVJdGVtTGlua1Byb3BzID0ge1xuICBsaW5rVG8/OiBzdHJpbmc7XG4gIGV4YWN0TWF0Y2g6IGJvb2xlYW47XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIG9uQ2xpY2s/OiAoZXZlbnQ6IFN5bnRoZXRpY0V2ZW50PEhUTUxBbmNob3JFbGVtZW50PikgPT4gdm9pZDtcbiAgdXNlRnVsbFJlZGlyZWN0c0ZvckxpbmtzPzogYm9vbGVhbjtcbiAgaXNTdWJtZW51TGluaz86IGJvb2xlYW47XG59O1xuY29uc3QgbWVudUl0ZW1MaW5rRGVmYXVsdFByb3BzOiBQaWNrPE1lbnVJdGVtTGlua1Byb3BzLCAnZXhhY3RNYXRjaCc+ID0ge1xuICBleGFjdE1hdGNoOiBmYWxzZSxcbn07XG5jb25zdCBOYXZMaW5rV3JhcHBlciA9IChwcm9wczogTWVudUl0ZW1MaW5rUHJvcHMpID0+IHtcbiAgaWYgKHByb3BzLmlzU3VibWVudUxpbmspIHtcbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1sndGV4dC1saW5rLXN1Ymxpc3Qtd3JhcHBlciddfT5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxuICByZXR1cm4gPD57cHJvcHMuY2hpbGRyZW59PC8+O1xufTtcbmNvbnN0IE5hdkxpbmtDbGlja2FibGVDb250ZW50V3JhcHBlciA9IChwcm9wczogTWVudUl0ZW1MaW5rUHJvcHMpID0+IHtcbiAgaWYgKHByb3BzLmlzU3VibWVudUxpbmspIHtcbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snbmF2bGluay1jbGlja2FibGUtY29udGVudCddfT5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxuICByZXR1cm4gPD57cHJvcHMuY2hpbGRyZW59PC8+O1xufTtcblxuY29uc3QgTWVudUl0ZW1MaW5rID0gKHByb3BzOiBNZW51SXRlbUxpbmtQcm9wcykgPT4ge1xuICBjb25zdCByZWRpcmVjdFRvID0gKHRhcmdldFVybDogc3RyaW5nKSA9PiBsb2NhdGlvbi5yZXBsYWNlKHRhcmdldFVybCk7XG4gIGlmIChwcm9wcy5saW5rVG8pIHtcbiAgICBjb25zdCBsaW5rTGV2ZWwgPSBwcm9wcy5pc1N1Ym1lbnVMaW5rID8gJ3RleHQtbGluay1zdWJsaXN0JyA6ICd0ZXh0LWxpbmsnO1xuICAgIHJldHVybiAoXG4gICAgICA8TmF2TGlua1dyYXBwZXIgey4uLnByb3BzfT5cbiAgICAgICAgPE5hdkxpbmtcbiAgICAgICAgICB0bz17cHJvcHMubGlua1RvfVxuICAgICAgICAgIGV4YWN0PXtwcm9wcy5leGFjdE1hdGNofVxuICAgICAgICAgIGFjdGl2ZUNsYXNzTmFtZT17c3R5bGVzLmhpZ2hsaWdodGVkfVxuICAgICAgICAgIGNsYXNzTmFtZT17c3R5bGVzW2xpbmtMZXZlbF19XG4gICAgICAgICAgZGF0YS1saW5rLWxldmVsPXtsaW5rTGV2ZWx9XG4gICAgICAgICAgb25DbGljaz17KGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBpZiAocHJvcHMubGlua1RvICYmIHByb3BzLnVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rcykge1xuICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICByZWRpcmVjdFRvKHByb3BzLmxpbmtUbyk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHByb3BzLm9uQ2xpY2spIHtcbiAgICAgICAgICAgICAgZXZlbnQucGVyc2lzdCgpO1xuICAgICAgICAgICAgICBwcm9wcy5vbkNsaWNrKGV2ZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAgPE5hdkxpbmtDbGlja2FibGVDb250ZW50V3JhcHBlciB7Li4ucHJvcHN9PlxuICAgICAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgICAgIDwvTmF2TGlua0NsaWNrYWJsZUNvbnRlbnRXcmFwcGVyPlxuICAgICAgICA8L05hdkxpbms+XG4gICAgICA8L05hdkxpbmtXcmFwcGVyPlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5NZW51SXRlbUxpbmsuZGlzcGxheU5hbWUgPSAnTWVudUl0ZW1MaW5rJztcbk1lbnVJdGVtTGluay5kZWZhdWx0UHJvcHMgPSBtZW51SXRlbUxpbmtEZWZhdWx0UHJvcHM7XG5cbmNvbnN0IGlzRXZlcnlNZW51VmlzaWJpbGl0eVNldFRvSGlkZGVuID0gKFxuICBtZW51VmlzaWJpbGl0aWVzPzogVE5vcm1hbGl6ZWRNZW51VmlzaWJpbGl0aWVzIHwgbnVsbCxcbiAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXM/OiBzdHJpbmdbXVxuKSA9PlxuICBBcnJheS5pc0FycmF5KG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzKSAmJlxuICBuYW1lc09mTWVudVZpc2liaWxpdGllcy5sZW5ndGggPiAwICYmXG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzLmV2ZXJ5KFxuICAgIChuYW1lT2ZNZW51VmlzaWJpbGl0eSkgPT5cbiAgICAgIG1lbnVWaXNpYmlsaXRpZXMgJiYgbWVudVZpc2liaWxpdGllc1tuYW1lT2ZNZW51VmlzaWJpbGl0eV0gPT09IHRydWVcbiAgKTtcblxudHlwZSBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcyA9IHtcbiAgZmVhdHVyZVRvZ2dsZT86IHN0cmluZztcbiAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXM/OiBzdHJpbmdbXTtcbiAgcHJvamVjdFBlcm1pc3Npb25zOiBUUHJvamVjdFBlcm1pc3Npb25zO1xuICBtZW51VmlzaWJpbGl0aWVzOiBUTm9ybWFsaXplZE1lbnVWaXNpYmlsaXRpZXMgfCBudWxsO1xuICBrZXlPZk1lbnVJdGVtOiBzdHJpbmc7XG4gIHBlcm1pc3Npb25zOiBzdHJpbmdbXTtcbiAgYWN0aW9uUmlnaHRzPzogVEFjdGlvblJpZ2h0W107XG4gIGRhdGFGZW5jZXM/OiBURGF0YUZlbmNlW107XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59O1xudHlwZSBUTG9uZ0xpdmVkRmxhZyA9IHtcbiAgdmFsdWU6IGJvb2xlYW47XG4gIHJlYXNvbj86IHN0cmluZztcbn07XG5jb25zdCByZXN0cmljdGVkTWVudUl0ZW1EZWZhdWx0UHJvcHM6IFBpY2s8XG4gIFJlc3RyaWN0ZWRNZW51SXRlbVByb3BzLFxuICAncGVybWlzc2lvbnMnXG4+ID0ge1xuICBwZXJtaXNzaW9uczogW10sXG59O1xuZnVuY3Rpb24gaXNMb25nTGl2ZWRGbGFnKFxuICBmbGFnOiBURmxhZ1ZhcmlhdGlvbiB8IFRMb25nTGl2ZWRGbGFnXG4pOiBmbGFnIGlzIFRMb25nTGl2ZWRGbGFnIHtcbiAgcmV0dXJuIHR5cGVvZiAoZmxhZyBhcyBUTG9uZ0xpdmVkRmxhZyk/LnZhbHVlID09PSAnYm9vbGVhbic7XG59XG5jb25zdCBSZXN0cmljdGVkTWVudUl0ZW0gPSAocHJvcHM6IFJlc3RyaWN0ZWRNZW51SXRlbVByb3BzKSA9PiB7XG4gIC8vIE5PVEU6IEN1c3RvbSBhcHBsaWNhdGlvbiBhcmUgYWN0aXZhdGVkL2RlYWN0aXZhdGVkIHdoaWxlIHRoZWlyXG4gIC8vIHZpc2liaWxpdHkgaXMgbm90IGNvbnRyb2xsZWQgdmlhIGEgdmlzaWJpaWxpdHkgb3ZlcndyaXRlLlxuICBjb25zdCBmbGFnVmFyaWF0aW9uID0gdXNlRmxhZ1ZhcmlhdGlvbihwcm9wcy5mZWF0dXJlVG9nZ2xlKTtcbiAgaWYgKFxuICAgIGlzRXZlcnlNZW51VmlzaWJpbGl0eVNldFRvSGlkZGVuKFxuICAgICAgcHJvcHMubWVudVZpc2liaWxpdGllcyxcbiAgICAgIHByb3BzLm5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzXG4gICAgKVxuICApXG4gICAgcmV0dXJuIG51bGw7XG5cbiAgY29uc3QgcGVybWlzc2lvbnNXcmFwcGVyID1cbiAgICAoQXJyYXkuaXNBcnJheShwcm9wcy5wZXJtaXNzaW9ucykgJiYgcHJvcHMucGVybWlzc2lvbnMubGVuZ3RoID4gMCkgfHxcbiAgICAoQXJyYXkuaXNBcnJheShwcm9wcy5kYXRhRmVuY2VzKSAmJiBwcm9wcy5kYXRhRmVuY2VzLmxlbmd0aCA+IDApID8gKFxuICAgICAgPFJlc3RyaWN0ZWRCeVBlcm1pc3Npb25zXG4gICAgICAgIHBlcm1pc3Npb25zPXtwcm9wcy5wZXJtaXNzaW9uc31cbiAgICAgICAgYWN0aW9uUmlnaHRzPXtwcm9wcy5hY3Rpb25SaWdodHN9XG4gICAgICAgIGRhdGFGZW5jZXM9e3Byb3BzLmRhdGFGZW5jZXN9XG4gICAgICAgIHNlbGVjdERhdGFGZW5jZURhdGE9eyhkZW1hbmRlZERhdGFGZW5jZSkgPT4ge1xuICAgICAgICAgIHN3aXRjaCAoZGVtYW5kZWREYXRhRmVuY2UudHlwZSkge1xuICAgICAgICAgICAgY2FzZSAnc3RvcmUnOlxuICAgICAgICAgICAgICByZXR1cm4gZGVtYW5kZWREYXRhRmVuY2UuYWN0dWFsRGF0YUZlbmNlVmFsdWVzO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9fVxuICAgICAgICAvLyBBbHdheXMgY2hlY2sgdGhhdCBzb21lIG9mIHRoZSBnaXZlbiBwZXJtaXNzaW9ucyBtYXRjaC5cbiAgICAgICAgc2hvdWxkTWF0Y2hTb21lUGVybWlzc2lvbnM9e3RydWV9XG4gICAgICAgIHByb2plY3RQZXJtaXNzaW9ucz17cHJvcHMucHJvamVjdFBlcm1pc3Npb25zfVxuICAgICAgPlxuICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICA8L1Jlc3RyaWN0ZWRCeVBlcm1pc3Npb25zPlxuICAgICkgOiAoXG4gICAgICA8Pntwcm9wcy5jaGlsZHJlbn08Lz5cbiAgICApO1xuXG4gIGlmIChwcm9wcy5mZWF0dXJlVG9nZ2xlKSB7XG4gICAgLy8gQSByZWd1bGFyIHNob3J0LWxpdmVkIGZlYXR1cmUgdG9nZ2xlXG4gICAgaWYgKGZsYWdWYXJpYXRpb24gPT09IHRydWUpIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG4gICAgLy8gQSBsb25nLWxpdmVkIGZlYXR1cmUgdG9nZ2xlIHdpdGggYHsgdmFsdWU6IGJvb2xlYW4sIHN0cmluZzogcmVhc29uIH1gXG4gICAgaWYgKGlzTG9uZ0xpdmVkRmxhZyhmbGFnVmFyaWF0aW9uKSAmJiBmbGFnVmFyaWF0aW9uLnZhbHVlID09PSB0cnVlKVxuICAgICAgcmV0dXJuIHBlcm1pc3Npb25zV3JhcHBlcjtcblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIHBlcm1pc3Npb25zV3JhcHBlcjtcbn07XG5SZXN0cmljdGVkTWVudUl0ZW0uZGlzcGxheU5hbWUgPSAnUmVzdHJpY3RlZE1lbnVJdGVtJztcblJlc3RyaWN0ZWRNZW51SXRlbS5kZWZhdWx0UHJvcHMgPSByZXN0cmljdGVkTWVudUl0ZW1EZWZhdWx0UHJvcHM7XG5cbnR5cGUgTWVudUxhYmVsUHJvcHMgPSB7XG4gIGxhYmVsQWxsTG9jYWxlczogVExvY2FsaXplZEZpZWxkW107XG4gIGRlZmF1bHRMYWJlbD86IHN0cmluZztcbiAgYXBwbGljYXRpb25Mb2NhbGU6IHN0cmluZztcbn07XG5jb25zdCBNZW51TGFiZWwgPSAocHJvcHM6IE1lbnVMYWJlbFByb3BzKSA9PiB7XG4gIGNvbnN0IGxvY2FsaXplZExhYmVsID0gcHJvcHMubGFiZWxBbGxMb2NhbGVzLmZpbmQoKGxvYykgPT5cbiAgICBwcm9wcy5hcHBsaWNhdGlvbkxvY2FsZS5zdGFydHNXaXRoKGxvYy5sb2NhbGUpXG4gICk7XG4gIGlmIChsb2NhbGl6ZWRMYWJlbCkgcmV0dXJuIDw+e2xvY2FsaXplZExhYmVsLnZhbHVlfTwvPjtcbiAgaWYgKHByb3BzLmRlZmF1bHRMYWJlbCkgcmV0dXJuIDw+e3Byb3BzLmRlZmF1bHRMYWJlbH08Lz47XG4gIHJldHVybiA8PntOT19WQUxVRV9GQUxMQkFDS308Lz47XG59O1xuXG50eXBlIFROYXZCYXJMYXlvdXRQcm9wcyA9IHtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbn07XG5jb25zdCBOYXZCYXJMYXlvdXQgPSBmb3J3YXJkUmVmPEhUTUxFbGVtZW50LCBUTmF2QmFyTGF5b3V0UHJvcHM+KFxuICAocHJvcHMsIHJlZikgPT4gKFxuICAgIDw+XG4gICAgICA8R2xvYmFsXG4gICAgICAgIHN0eWxlcz17Y3NzYFxuICAgICAgICAgICR7Y29tcGlsZWRTdHlsZXMuZ2xvYmFsfVxuICAgICAgICBgfVxuICAgICAgLz5cbiAgICAgIDxuYXZcbiAgICAgICAgcmVmPXtyZWZ9XG4gICAgICAgIGNsYXNzTmFtZT17c3R5bGVzWydsZWZ0LW5hdmlnYXRpb24nXX1cbiAgICAgICAgZGF0YS10ZXN0PVwibGVmdC1uYXZpZ2F0aW9uXCJcbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJsZWZ0LW5hdmlnYXRpb25cIlxuICAgICAgPlxuICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICA8L25hdj5cbiAgICA8Lz5cbiAgKVxuKTtcbk5hdkJhckxheW91dC5kaXNwbGF5TmFtZSA9ICdOYXZCYXJMYXlvdXQnO1xuXG50eXBlIEl0ZW1Db250YWluZXJQcm9wcyA9IHtcbiAgbGFiZWxBbGxMb2NhbGVzOiBUTG9jYWxpemVkRmllbGRbXTtcbiAgZGVmYXVsdExhYmVsPzogc3RyaW5nO1xuICBhcHBsaWNhdGlvbkxvY2FsZTogc3RyaW5nO1xuICBpY29uOiBzdHJpbmc7XG4gIGlzTWVudU9wZW4/OiBib29sZWFuO1xufTtcblxuY29uc3QgSXRlbUNvbnRhaW5lciA9IChwcm9wczogSXRlbUNvbnRhaW5lclByb3BzKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaXRlbS1pY29uLXRleHQnXX0+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydpY29uLWNvbnRhaW5lciddfT5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlcy5pY29ufT5cbiAgICAgICAgICA8SWNvblN3aXRjaGVyIGljb249e3Byb3BzLmljb259IHNpemU9XCJzY2FsZVwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICB7cHJvcHMuaXNNZW51T3BlbiA/IChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlcy50aXRsZX0+XG4gICAgICAgICAgPE1lbnVMYWJlbFxuICAgICAgICAgICAgbGFiZWxBbGxMb2NhbGVzPXtwcm9wcy5sYWJlbEFsbExvY2FsZXN9XG4gICAgICAgICAgICBkZWZhdWx0TGFiZWw9e3Byb3BzLmRlZmF1bHRMYWJlbH1cbiAgICAgICAgICAgIGFwcGxpY2F0aW9uTG9jYWxlPXtwcm9wcy5hcHBsaWNhdGlvbkxvY2FsZX1cbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICkgOiBudWxsfVxuICAgIDwvZGl2PlxuICApO1xufTtcblxuSXRlbUNvbnRhaW5lci5kaXNwbGF5TmFtZSA9ICdJdGVtQ29udGFpbmVyJztcblxuZXhwb3J0IHtcbiAgUmVzdHJpY3RlZE1lbnVJdGVtLFxuICBNZW51SXRlbSxcbiAgTWVudUl0ZW1MaW5rLFxuICBJY29uU3dpdGNoZXIsXG4gIE1lbnVHcm91cCxcbiAgTWVudUxhYmVsLFxuICBNZW51RXhwYW5kZXIsXG4gIEZhZGVkLFxuICBOYXZCYXJMYXlvdXQsXG4gIEl0ZW1Db250YWluZXIsXG59O1xuIl19 */"), isSublistActiveWhileIsMenuExpanded && isSubmenuAboveMenuItem && _ref3, isSublistActiveWhileIsMenuExpanded && !isSubmenuAboveMenuItem && _ref2];
272
- var _ref = process.env.NODE_ENV === "production" ? {
273
- name: "6dhm9o",
274
- styles: "visibility:hidden"
275
- } : {
276
- name: "1nk9wny-MenuGroup",
277
- styles: "visibility:hidden;label:MenuGroup;",
278
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1lbnUtaXRlbXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTJPVyIsImZpbGUiOiJtZW51LWl0ZW1zLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGZvcndhcmRSZWYsXG4gIGxhenksXG4gIHR5cGUgTW91c2VFdmVudEhhbmRsZXIsXG4gIHR5cGUgRm9jdXNFdmVudEhhbmRsZXIsXG4gIHR5cGUgTW91c2VFdmVudCxcbiAgdHlwZSBLZXlib2FyZEV2ZW50LFxuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdHlwZSBTeW50aGV0aWNFdmVudCxcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgR2xvYmFsLCBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3JlYWN0LWJyb2FkY2FzdCc7XG5pbXBvcnQgdHlwZSB7IFRGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3R5cGVzJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgTmF2TGluayB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHR5cGUge1xuICBUTm9ybWFsaXplZE1lbnVWaXNpYmlsaXRpZXMsXG4gIFROb3JtYWxpemVkUGVybWlzc2lvbnMsXG4gIFROb3JtYWxpemVkQWN0aW9uUmlnaHRzLFxuICBUTm9ybWFsaXplZERhdGFGZW5jZXMsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnO1xuaW1wb3J0IE1pc3NpbmdJbWFnZVN2ZyBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hc3NldHMvaW1hZ2VzL2RpYWdvbmFsLWxpbmUuc3ZnJztcbmltcG9ydCB7IE5PX1ZBTFVFX0ZBTExCQUNLIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvY29uc3RhbnRzJztcbmltcG9ydCB7IFJlc3RyaWN0ZWRCeVBlcm1pc3Npb25zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvcGVybWlzc2lvbnMnO1xuaW1wb3J0IHtcbiAgQmFja0ljb24sXG4gIFNpZGViYXJFeHBhbmRJY29uLFxuICBTaWRlYmFyQ29sbGFwc2VJY29uLFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucyc7XG5pbXBvcnQgSW5saW5lU3ZnIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ljb25zL2lubGluZS1zdmcnO1xuaW1wb3J0IHsgRElNRU5TSU9OUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgdHlwZSB7XG4gIFREYXRhRmVuY2UsXG4gIFRBY3Rpb25SaWdodCxcbiAgVExvY2FsaXplZEZpZWxkLFxufSBmcm9tICcuLi8uLi90eXBlcy9nZW5lcmF0ZWQvcHJveHknO1xuaW1wb3J0IHsgbG9jYXRpb24gfSBmcm9tICcuLi8uLi91dGlscy9sb2NhdGlvbic7XG4vLyBodHRwczovL2JhYmVsanMuaW8vYmxvZy8yMDE3LzA5LzExL3plcm8tY29uZmlnLXdpdGgtYmFiZWwtbWFjcm9zXG5pbXBvcnQgY29tcGlsZWRTdHlsZXMgZnJvbSAvKiBwcmV2YWwgKi8gJy4vbmF2YmFyLnN0eWxlcyc7XG5cbmNvbnN0IHN0eWxlcyA9IGNvbXBpbGVkU3R5bGVzLmpzb25NYXA7XG5cbnR5cGUgVFByb2plY3RQZXJtaXNzaW9ucyA9IHtcbiAgcGVybWlzc2lvbnM6IFROb3JtYWxpemVkUGVybWlzc2lvbnMgfCBudWxsO1xuICBhY3Rpb25SaWdodHM6IFROb3JtYWxpemVkQWN0aW9uUmlnaHRzIHwgbnVsbDtcbiAgZGF0YUZlbmNlczogVE5vcm1hbGl6ZWREYXRhRmVuY2VzIHwgbnVsbDtcbn07XG5cbmNvbnN0IEhlYXJ0SWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9oZWFydCcpKTtcbmNvbnN0IFBhcGVyY2xpcEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi9sZWdhY3ktaWNvbnMvcGFwZXJjbGlwJykpO1xuY29uc3QgUGx1Z2luSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9wbHVnaW4nKSk7XG5jb25zdCBSb2NrZXRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3JvY2tldCcpKTtcbmNvbnN0IFN0YXJJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3N0YXInKSk7XG5jb25zdCBDb25uZWN0ZWRTcXVhcmVJY29uID0gbGF6eShcbiAgKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9jb25uZWN0ZWQtc3F1YXJlJylcbik7XG5jb25zdCBXb3JsZEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi9sZWdhY3ktaWNvbnMvd29ybGQnKSk7XG5jb25zdCBUcmVlU3RydWN0dXJlSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy90cmVlLXN0cnVjdHVyZScpKTtcbmNvbnN0IFVzZXJGaWxsZWRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3VzZXItZmlsbGVkJykpO1xuY29uc3QgU3BlZWRvbWV0ZXJJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3NwZWVkb21ldGVyJykpO1xuY29uc3QgVGFnTXVsdGlJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3RhZy1tdWx0aScpKTtcbmNvbnN0IENhcnRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL2NhcnQnKSk7XG5jb25zdCBCb3hJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL2JveCcpKTtcbmNvbnN0IEdlYXJJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL2dlYXInKSk7XG5jb25zdCBMaXN0V2l0aFNlYXJjaEljb24gPSBsYXp5KFxuICAoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL2xpc3Qtd2l0aC1zZWFyY2gnKVxuKTtcblxudHlwZSBJY29uUHJvcHMgPSBQYXJhbWV0ZXJzPHR5cGVvZiBCYWNrSWNvbj5bMF07XG50eXBlIEljb25Td2l0Y2hlclByb3BzID0geyBpY29uOiBzdHJpbmcgfSAmIEljb25Qcm9wcztcbi8vIFRoZSBpY29uIGlzIGV4cGVjdGVkIHRvIGJlIHRoZSBgc3ZnYCBkb2N1bWVudCBhcyBhIHN0cmluZy5cbi8vIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBwdXJwb3Nlcywgd2Ugc3RpbGwgc3VwcG9ydCB0aGUgbGVnYWN5IFwiaWNvbiBuYW1lXCIsXG4vLyB3aGljaCB3ZSB0aGVuIG1hcCB0byBvbmUgb2YgdGhlIHByZS1kZWZpbmVkIGljb25zLlxuLy8gRXZlbnR1YWxseSwgd2Ugd2FudCB0byBnZXQgcmlkIG9mIHRoaXMgXCJzd2l0Y2hcIiBsb2dpYy5cbmNvbnN0IEljb25Td2l0Y2hlciA9ICh7IGljb24sIC4uLmljb25Qcm9wcyB9OiBJY29uU3dpdGNoZXJQcm9wcykgPT4ge1xuICBpZiAoaWNvbi5pbmNsdWRlcygnPHN2ZycpKSB7XG4gICAgcmV0dXJuIDxJbmxpbmVTdmcgZGF0YT17aWNvbn0gey4uLmljb25Qcm9wc30gLz47XG4gIH1cbiAgLy8gQmFja3dhcmRzIGNvbXBhdGliaWxpdHkgZm9yIGFwcHMgdXNpbmcgdGhlIFwiaWNvbiBuYW1lXCIuXG4gIHN3aXRjaCAoaWNvbikge1xuICAgIC8vIExlZ2FjeSBhcHBsaWNhdGlvbiBpY29uc1xuICAgIC8vIFRPRE86IFRvIGJlIHJlbW92ZWQgb25jZSBNQyBhcHBsaWNhdGlvbnMgaWNvbnMgdXBkYXRlcyBhcmUgcHVibGlzaGVkXG4gICAgY2FzZSAnVHJlZVN0cnVjdHVyZUljb24nOlxuICAgICAgcmV0dXJuIDxUcmVlU3RydWN0dXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdVc2VyRmlsbGVkSWNvbic6XG4gICAgICByZXR1cm4gPFVzZXJGaWxsZWRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1NwZWVkb21ldGVySWNvbic6XG4gICAgICByZXR1cm4gPFNwZWVkb21ldGVySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdUYWdNdWx0aUljb24nOlxuICAgICAgcmV0dXJuIDxUYWdNdWx0aUljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnQ2FydEljb24nOlxuICAgICAgcmV0dXJuIDxDYXJ0SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdCb3hJY29uJzpcbiAgICAgIHJldHVybiA8Qm94SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdHZWFySWNvbic6XG4gICAgICByZXR1cm4gPEdlYXJJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ0xpc3RXaXRoU2VhcmNoSWNvbic6XG4gICAgICByZXR1cm4gPExpc3RXaXRoU2VhcmNoSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcblxuICAgIC8vIEN1c3RvbSBhcHBsaWNhdGlvbiBpY29ucyBzZXRcbiAgICBjYXNlICdIZWFydEljb24nOlxuICAgICAgcmV0dXJuIDxIZWFydEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUGFwZXJjbGlwSWNvbic6XG4gICAgICByZXR1cm4gPFBhcGVyY2xpcEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUGx1Z2luSWNvbic6XG4gICAgICByZXR1cm4gPFBsdWdpbkljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUm9ja2V0SWNvbic6XG4gICAgICByZXR1cm4gPFJvY2tldEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnU3Rhckljb24nOlxuICAgICAgcmV0dXJuIDxTdGFySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdDb25uZWN0ZWRTcXVhcmVJY29uJzpcbiAgICAgIHJldHVybiA8Q29ubmVjdGVkU3F1YXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICAvLyBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcbiAgICBjYXNlICdXb3JsZEljb24nOlxuICAgICAgcmV0dXJuIDxXb3JsZEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiA8aW1nIHNyYz17TWlzc2luZ0ltYWdlU3ZnfSBhbHQ9XCJtaXNzaW5nIGljb25cIiAvPjtcbiAgfVxufTtcbkljb25Td2l0Y2hlci5kaXNwbGF5TmFtZSA9ICdJY29uU3dpdGNoZXInO1xuXG50eXBlIE1lbnVFeHBhbmRlclByb3BzID0ge1xuICBpc1Zpc2libGU6IGJvb2xlYW47XG4gIG9uQ2xpY2s6IChcbiAgICBlOiBNb3VzZUV2ZW50PEhUTUxEaXZFbGVtZW50PiB8IEtleWJvYXJkRXZlbnQ8SFRNTERpdkVsZW1lbnQ+XG4gICkgPT4gdm9pZDtcbiAgaXNNZW51T3BlbjogYm9vbGVhbjtcbn07XG5cbmNvbnN0IGdldEljb24gPSAoeyBpc01lbnVPcGVuIH06IE1lbnVFeHBhbmRlclByb3BzKSA9PiB7XG4gIGNvbnN0IEljb24gPSBpc01lbnVPcGVuID8gU2lkZWJhckNvbGxhcHNlSWNvbiA6IFNpZGViYXJFeHBhbmRJY29uO1xuICByZXR1cm4gPEljb24gY29sb3I9XCJzdXJmYWNlXCIgc2l6ZT1cImJpZ1wiIC8+O1xufTtcblxuY29uc3QgTWVudUV4cGFuZGVyID0gKHByb3BzOiBNZW51RXhwYW5kZXJQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxsaVxuICAgICAga2V5PVwiZXhwYW5kZXJcIlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKHN0eWxlcy5leHBhbmRlciwge1xuICAgICAgICBbc3R5bGVzLmhpZGRlbl06ICFwcm9wcy5pc1Zpc2libGUsXG4gICAgICB9KX1cbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIG9uQ2xpY2s9e3Byb3BzLm9uQ2xpY2t9XG4gICAgICAgIG9uS2V5RG93bj17KGUpID0+IHtcbiAgICAgICAgICBpZiAoZS5rZXkgPT09ICdFbnRlcicpIHtcbiAgICAgICAgICAgIHByb3BzLm9uQ2xpY2soZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9fVxuICAgICAgICB0YWJJbmRleD17MH1cbiAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXNbJ2V4cGFuZC1pY29uJ119XG4gICAgICAgIGRhdGEtdGVzdGlkPVwibWVudS1leHBhbmRlclwiXG4gICAgICA+XG4gICAgICAgIHtnZXRJY29uKHByb3BzKX1cbiAgICAgIDwvZGl2PlxuICAgIDwvbGk+XG4gICk7XG59O1xuTWVudUV4cGFuZGVyLmRpc3BsYXlOYW1lID0gJ01lbnVFeHBhbmRlcic7XG5cbmNvbnN0IEZhZGVkID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0zMnB4O1xuICBoZWlnaHQ6IDMycHg7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDAsIDE1MywgMTM1LCAwKSAwJSwgIzAwYjM5ZSAxMDAlKTtcbiAgei1pbmRleDogMTtcbmA7XG5cbnR5cGUgTWVudUdyb3VwUHJvcHMgPSB7XG4gIGlkOiBzdHJpbmc7XG4gIGxldmVsOiAxIHwgMjtcbiAgaXNBY3RpdmU/OiBib29sZWFuO1xuICBpc0V4cGFuZGVkPzogYm9vbGVhbjtcbiAgaGFzU3VibWVudT86IGJvb2xlYW47XG4gIGNoaWxkcmVuPzogUmVhY3ROb2RlO1xuICBzdWJtZW51VmVydGljYWxQb3NpdGlvbj86IG51bWJlcjtcbiAgaXNTdWJtZW51QWJvdmVNZW51SXRlbT86IGJvb2xlYW47XG59O1xuXG5jb25zdCBnZXRTdWJtZW51UG9zaXRpb25CYXNlZE9uTWVudUl0ZW1Qb3NpdGlvbiA9IChcbiAgaXNTdWJtZW51QWJvdmVNZW51SXRlbT86IGJvb2xlYW4sXG4gIHN1Ym1lbnVWZXJ0aWNhbFBvc2l0aW9uPzogbnVtYmVyXG4pID0+IGNzc2BcbiAgJHtpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtID8gJ2JvdHRvbScgOiAndG9wJ306ICR7c3VibWVudVZlcnRpY2FsUG9zaXRpb259cHhcbmA7XG5cbmNvbnN0IGdldENvbnRhaW5lclBvc2l0aW9uQmFzZWRPbk1lbnVJdGVtUG9zaXRpb24gPSAoXG4gIGlzU3VibWVudUFib3ZlTWVudUl0ZW0/OiBib29sZWFuLFxuICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkPzogYm9vbGVhbixcbiAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQ/OiBib29sZWFuXG4pID0+IFtcbiAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQgJiZcbiAgICBjc3NgXG4gICAgICAke2lzU3VibWVudUFib3ZlTWVudUl0ZW1cbiAgICAgICAgPyAnYm90dG9tJ1xuICAgICAgICA6ICd0b3AnfTogLSR7RElNRU5TSU9OUy5uYXZNZW51SXRlbUhlaWdodH07XG4gICAgYCxcbiAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCAmJlxuICAgIGlzU3VibWVudUFib3ZlTWVudUl0ZW0gJiZcbiAgICBjc3NgXG4gICAgICBib3R0b206IDA7XG4gICAgYCxcbiAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCAmJlxuICAgICFpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtICYmXG4gICAgY3NzYFxuICAgICAgdG9wOiAwO1xuICAgIGAsXG5dO1xuXG5jb25zdCBNZW51R3JvdXAgPSBmb3J3YXJkUmVmPEhUTUxVTGlzdEVsZW1lbnQsIE1lbnVHcm91cFByb3BzPigocHJvcHMsIHJlZikgPT4ge1xuICBpZiAoXG4gICAgcHJvcHMuaXNFeHBhbmRlZCAmJlxuICAgICgocHJvcHMubGV2ZWwgPT09IDIgJiYgIXByb3BzLmhhc1N1Ym1lbnUpIHx8XG4gICAgICAocHJvcHMubGV2ZWwgPT09IDIgJiYgIXByb3BzLmlzQWN0aXZlKSlcbiAgKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgY29uc3QgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCA9XG4gICAgcHJvcHMubGV2ZWwgPT09IDIgJiYgcHJvcHMuaXNBY3RpdmUgJiYgcHJvcHMuaXNFeHBhbmRlZDtcbiAgY29uc3QgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQgPVxuICAgIHByb3BzLmxldmVsID09PSAyICYmIHByb3BzLmlzQWN0aXZlICYmICFwcm9wcy5pc0V4cGFuZGVkO1xuICByZXR1cm4gKFxuICAgIDx1bFxuICAgICAgcmVmPXtyZWYgJiYgcHJvcHMubGV2ZWwgPT09IDIgPyByZWYgOiBudWxsfVxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgICR7Z2V0U3VibWVudVBvc2l0aW9uQmFzZWRPbk1lbnVJdGVtUG9zaXRpb24oXG4gICAgICAgICAgcHJvcHMuaXNTdWJtZW51QWJvdmVNZW51SXRlbSxcbiAgICAgICAgICBwcm9wcy5zdWJtZW51VmVydGljYWxQb3NpdGlvblxuICAgICAgICApfTtcbiAgICAgIFxuICAgICAgLy8gcHJldmVudCBnbGl0Y2h5IGJlaGF2aW9yIGR1cmluZyB0aGUgaW5pdGlhbCByZW5kZXIgd2hlbiB0aGUgc3VibWVudSdzIHZlcnRpY2FsIHBvc2l0aW9uIGlzIGV2YWx1YXRlZCBhcyAwXG4gICAgICAke1xuICAgICAgICBwcm9wcy5zdWJtZW51VmVydGljYWxQb3NpdGlvbiA9PT0gMCAmJlxuICAgICAgICBjc3NgXG4gICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICBgXG4gICAgICB9XG5cbiAgICAgICAgLy8gYWRkaXRpb25hbCBzdHlsaW5nIG9mIHRoZSBwc2V1ZG8tZWxlbWVudCBlbmFibGluZyBzbW9vdGggY291cnNvciBtb3ZlbWVudFxuICAgICAgICA6OmJlZm9yZSB7XG4gICAgICAgICAgJHtnZXRDb250YWluZXJQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uKFxuICAgICAgICAgICAgcHJvcHMuaXNTdWJtZW51QWJvdmVNZW51SXRlbSxcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQsXG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZFxuICAgICAgICAgICl9XG4gICAgICBgfVxuICAgICAgaWQ9e2Bncm91cC0ke3Byb3BzLmlkfWB9XG4gICAgICBkYXRhLXRlc3RpZD17YGdyb3VwLSR7cHJvcHMuaWR9YH1cbiAgICAgIHJvbGU9XCJtZW51XCJcbiAgICAgIGFyaWEtZXhwYW5kZWQ9e1xuICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkIHx8XG4gICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkXG4gICAgICB9XG4gICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoXG4gICAgICAgIHsgW3N0eWxlcy5saXN0XTogcHJvcHMubGV2ZWwgPT09IDEgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QnXV06IHByb3BzLmxldmVsID09PSAyLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlc1snc3VibGlzdC1leHBhbmRlZF9fYWN0aXZlJ11dOlxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtY29sbGFwc2VkX19lbXB0eSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmICFwcm9wcy5oYXNTdWJtZW51LFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlc1snc3VibGlzdC1jb2xsYXBzZWRfX2FjdGl2ZSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmXG4gICAgICAgICAgICAhcHJvcHMuaXNTdWJtZW51QWJvdmVNZW51SXRlbSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtY29sbGFwc2VkX19hY3RpdmVfX2Fib3ZlJ11dOlxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQgJiYgcHJvcHMuaXNTdWJtZW51QWJvdmVNZW51SXRlbSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXMuc3VibGlzdF9faW5hY3RpdmVdOiAhaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQsXG4gICAgICAgIH1cbiAgICAgICl9XG4gICAgPlxuICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgIDwvdWw+XG4gICk7XG59KTtcbk1lbnVHcm91cC5kaXNwbGF5TmFtZSA9ICdNZW51R3JvdXAnO1xuXG50eXBlIE1lbnVJdGVtUHJvcHMgPSB7XG4gIGhhc1N1Ym1lbnU6IGJvb2xlYW47XG4gIGlzQWN0aXZlOiBib29sZWFuO1xuICBpc01haW5NZW51Um91dGVBY3RpdmU/OiBib29sZWFuO1xuICBpc01lbnVPcGVuOiBib29sZWFuO1xuICBvbkNsaWNrOiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD47XG4gIG9uTW91c2VFbnRlcj86XG4gICAgfCBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD5cbiAgICB8IEZvY3VzRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50PjtcbiAgb25Nb3VzZUxlYXZlPzpcbiAgICB8IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50PlxuICAgIHwgRm9jdXNFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+O1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBpZGVudGlmaWVyPzogc3RyaW5nO1xufTtcbmNvbnN0IE1lbnVJdGVtID0gKHByb3BzOiBNZW51SXRlbVByb3BzKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGxpXG4gICAgICByb2xlPVwibWVudWl0ZW1cIlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKHN0eWxlc1snbGlzdC1pdGVtJ10sIHtcbiAgICAgICAgW3N0eWxlcy5pdGVtX19hY3RpdmVdOiBwcm9wcy5pc0FjdGl2ZSxcbiAgICAgICAgW3N0eWxlc1snaXRlbV9tZW51X19hY3RpdmUnXV06IHByb3BzLmlzTWFpbk1lbnVSb3V0ZUFjdGl2ZSA/PyBmYWxzZSxcbiAgICAgICAgW3N0eWxlc1snaXRlbV9tZW51LWNvbGxhcHNlZCddXTogIXByb3BzLmlzTWVudU9wZW4sXG4gICAgICB9KX1cbiAgICAgIG9uQ2xpY2s9e3Byb3BzLm9uQ2xpY2t9XG4gICAgICBvbk1vdXNlRW50ZXI9e3Byb3BzLm9uTW91c2VFbnRlciBhcyBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD59XG4gICAgICBvbk1vdXNlTGVhdmU9e3Byb3BzLm9uTW91c2VMZWF2ZSBhcyBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD59XG4gICAgICBvbkZvY3VzPXtwcm9wcy5vbk1vdXNlRW50ZXIgYXMgRm9jdXNFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+fVxuICAgICAgb25CbHVyPXtwcm9wcy5vbk1vdXNlTGVhdmUgYXMgRm9jdXNFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+fVxuICAgICAgZGF0YS1tZW51aXRlbT17cHJvcHMuaWRlbnRpZmllcn1cbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydpdGVtLWxpbmsnXX0+e3Byb3BzLmNoaWxkcmVufTwvZGl2PlxuICAgIDwvbGk+XG4gICk7XG59O1xuXG5NZW51SXRlbS5kaXNwbGF5TmFtZSA9ICdNZW51SXRlbSc7XG5cbmV4cG9ydCB0eXBlIE1lbnVJdGVtTGlua1Byb3BzID0ge1xuICBsaW5rVG8/OiBzdHJpbmc7XG4gIGV4YWN0TWF0Y2g6IGJvb2xlYW47XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIG9uQ2xpY2s/OiAoZXZlbnQ6IFN5bnRoZXRpY0V2ZW50PEhUTUxBbmNob3JFbGVtZW50PikgPT4gdm9pZDtcbiAgdXNlRnVsbFJlZGlyZWN0c0ZvckxpbmtzPzogYm9vbGVhbjtcbiAgaXNTdWJtZW51TGluaz86IGJvb2xlYW47XG59O1xuY29uc3QgbWVudUl0ZW1MaW5rRGVmYXVsdFByb3BzOiBQaWNrPE1lbnVJdGVtTGlua1Byb3BzLCAnZXhhY3RNYXRjaCc+ID0ge1xuICBleGFjdE1hdGNoOiBmYWxzZSxcbn07XG5jb25zdCBOYXZMaW5rV3JhcHBlciA9IChwcm9wczogTWVudUl0ZW1MaW5rUHJvcHMpID0+IHtcbiAgaWYgKHByb3BzLmlzU3VibWVudUxpbmspIHtcbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1sndGV4dC1saW5rLXN1Ymxpc3Qtd3JhcHBlciddfT5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxuICByZXR1cm4gPD57cHJvcHMuY2hpbGRyZW59PC8+O1xufTtcbmNvbnN0IE5hdkxpbmtDbGlja2FibGVDb250ZW50V3JhcHBlciA9IChwcm9wczogTWVudUl0ZW1MaW5rUHJvcHMpID0+IHtcbiAgaWYgKHByb3BzLmlzU3VibWVudUxpbmspIHtcbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snbmF2bGluay1jbGlja2FibGUtY29udGVudCddfT5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxuICByZXR1cm4gPD57cHJvcHMuY2hpbGRyZW59PC8+O1xufTtcblxuY29uc3QgTWVudUl0ZW1MaW5rID0gKHByb3BzOiBNZW51SXRlbUxpbmtQcm9wcykgPT4ge1xuICBjb25zdCByZWRpcmVjdFRvID0gKHRhcmdldFVybDogc3RyaW5nKSA9PiBsb2NhdGlvbi5yZXBsYWNlKHRhcmdldFVybCk7XG4gIGlmIChwcm9wcy5saW5rVG8pIHtcbiAgICBjb25zdCBsaW5rTGV2ZWwgPSBwcm9wcy5pc1N1Ym1lbnVMaW5rID8gJ3RleHQtbGluay1zdWJsaXN0JyA6ICd0ZXh0LWxpbmsnO1xuICAgIHJldHVybiAoXG4gICAgICA8TmF2TGlua1dyYXBwZXIgey4uLnByb3BzfT5cbiAgICAgICAgPE5hdkxpbmtcbiAgICAgICAgICB0bz17cHJvcHMubGlua1RvfVxuICAgICAgICAgIGV4YWN0PXtwcm9wcy5leGFjdE1hdGNofVxuICAgICAgICAgIGFjdGl2ZUNsYXNzTmFtZT17c3R5bGVzLmhpZ2hsaWdodGVkfVxuICAgICAgICAgIGNsYXNzTmFtZT17c3R5bGVzW2xpbmtMZXZlbF19XG4gICAgICAgICAgZGF0YS1saW5rLWxldmVsPXtsaW5rTGV2ZWx9XG4gICAgICAgICAgb25DbGljaz17KGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBpZiAocHJvcHMubGlua1RvICYmIHByb3BzLnVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rcykge1xuICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICByZWRpcmVjdFRvKHByb3BzLmxpbmtUbyk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHByb3BzLm9uQ2xpY2spIHtcbiAgICAgICAgICAgICAgZXZlbnQucGVyc2lzdCgpO1xuICAgICAgICAgICAgICBwcm9wcy5vbkNsaWNrKGV2ZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAgPE5hdkxpbmtDbGlja2FibGVDb250ZW50V3JhcHBlciB7Li4ucHJvcHN9PlxuICAgICAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgICAgIDwvTmF2TGlua0NsaWNrYWJsZUNvbnRlbnRXcmFwcGVyPlxuICAgICAgICA8L05hdkxpbms+XG4gICAgICA8L05hdkxpbmtXcmFwcGVyPlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5NZW51SXRlbUxpbmsuZGlzcGxheU5hbWUgPSAnTWVudUl0ZW1MaW5rJztcbk1lbnVJdGVtTGluay5kZWZhdWx0UHJvcHMgPSBtZW51SXRlbUxpbmtEZWZhdWx0UHJvcHM7XG5cbmNvbnN0IGlzRXZlcnlNZW51VmlzaWJpbGl0eVNldFRvSGlkZGVuID0gKFxuICBtZW51VmlzaWJpbGl0aWVzPzogVE5vcm1hbGl6ZWRNZW51VmlzaWJpbGl0aWVzIHwgbnVsbCxcbiAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXM/OiBzdHJpbmdbXVxuKSA9PlxuICBBcnJheS5pc0FycmF5KG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzKSAmJlxuICBuYW1lc09mTWVudVZpc2liaWxpdGllcy5sZW5ndGggPiAwICYmXG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzLmV2ZXJ5KFxuICAgIChuYW1lT2ZNZW51VmlzaWJpbGl0eSkgPT5cbiAgICAgIG1lbnVWaXNpYmlsaXRpZXMgJiYgbWVudVZpc2liaWxpdGllc1tuYW1lT2ZNZW51VmlzaWJpbGl0eV0gPT09IHRydWVcbiAgKTtcblxudHlwZSBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcyA9IHtcbiAgZmVhdHVyZVRvZ2dsZT86IHN0cmluZztcbiAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXM/OiBzdHJpbmdbXTtcbiAgcHJvamVjdFBlcm1pc3Npb25zOiBUUHJvamVjdFBlcm1pc3Npb25zO1xuICBtZW51VmlzaWJpbGl0aWVzOiBUTm9ybWFsaXplZE1lbnVWaXNpYmlsaXRpZXMgfCBudWxsO1xuICBrZXlPZk1lbnVJdGVtOiBzdHJpbmc7XG4gIHBlcm1pc3Npb25zOiBzdHJpbmdbXTtcbiAgYWN0aW9uUmlnaHRzPzogVEFjdGlvblJpZ2h0W107XG4gIGRhdGFGZW5jZXM/OiBURGF0YUZlbmNlW107XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59O1xudHlwZSBUTG9uZ0xpdmVkRmxhZyA9IHtcbiAgdmFsdWU6IGJvb2xlYW47XG4gIHJlYXNvbj86IHN0cmluZztcbn07XG5jb25zdCByZXN0cmljdGVkTWVudUl0ZW1EZWZhdWx0UHJvcHM6IFBpY2s8XG4gIFJlc3RyaWN0ZWRNZW51SXRlbVByb3BzLFxuICAncGVybWlzc2lvbnMnXG4+ID0ge1xuICBwZXJtaXNzaW9uczogW10sXG59O1xuZnVuY3Rpb24gaXNMb25nTGl2ZWRGbGFnKFxuICBmbGFnOiBURmxhZ1ZhcmlhdGlvbiB8IFRMb25nTGl2ZWRGbGFnXG4pOiBmbGFnIGlzIFRMb25nTGl2ZWRGbGFnIHtcbiAgcmV0dXJuIHR5cGVvZiAoZmxhZyBhcyBUTG9uZ0xpdmVkRmxhZyk/LnZhbHVlID09PSAnYm9vbGVhbic7XG59XG5jb25zdCBSZXN0cmljdGVkTWVudUl0ZW0gPSAocHJvcHM6IFJlc3RyaWN0ZWRNZW51SXRlbVByb3BzKSA9PiB7XG4gIC8vIE5PVEU6IEN1c3RvbSBhcHBsaWNhdGlvbiBhcmUgYWN0aXZhdGVkL2RlYWN0aXZhdGVkIHdoaWxlIHRoZWlyXG4gIC8vIHZpc2liaWxpdHkgaXMgbm90IGNvbnRyb2xsZWQgdmlhIGEgdmlzaWJpaWxpdHkgb3ZlcndyaXRlLlxuICBjb25zdCBmbGFnVmFyaWF0aW9uID0gdXNlRmxhZ1ZhcmlhdGlvbihwcm9wcy5mZWF0dXJlVG9nZ2xlKTtcbiAgaWYgKFxuICAgIGlzRXZlcnlNZW51VmlzaWJpbGl0eVNldFRvSGlkZGVuKFxuICAgICAgcHJvcHMubWVudVZpc2liaWxpdGllcyxcbiAgICAgIHByb3BzLm5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzXG4gICAgKVxuICApXG4gICAgcmV0dXJuIG51bGw7XG5cbiAgY29uc3QgcGVybWlzc2lvbnNXcmFwcGVyID1cbiAgICAoQXJyYXkuaXNBcnJheShwcm9wcy5wZXJtaXNzaW9ucykgJiYgcHJvcHMucGVybWlzc2lvbnMubGVuZ3RoID4gMCkgfHxcbiAgICAoQXJyYXkuaXNBcnJheShwcm9wcy5kYXRhRmVuY2VzKSAmJiBwcm9wcy5kYXRhRmVuY2VzLmxlbmd0aCA+IDApID8gKFxuICAgICAgPFJlc3RyaWN0ZWRCeVBlcm1pc3Npb25zXG4gICAgICAgIHBlcm1pc3Npb25zPXtwcm9wcy5wZXJtaXNzaW9uc31cbiAgICAgICAgYWN0aW9uUmlnaHRzPXtwcm9wcy5hY3Rpb25SaWdodHN9XG4gICAgICAgIGRhdGFGZW5jZXM9e3Byb3BzLmRhdGFGZW5jZXN9XG4gICAgICAgIHNlbGVjdERhdGFGZW5jZURhdGE9eyhkZW1hbmRlZERhdGFGZW5jZSkgPT4ge1xuICAgICAgICAgIHN3aXRjaCAoZGVtYW5kZWREYXRhRmVuY2UudHlwZSkge1xuICAgICAgICAgICAgY2FzZSAnc3RvcmUnOlxuICAgICAgICAgICAgICByZXR1cm4gZGVtYW5kZWREYXRhRmVuY2UuYWN0dWFsRGF0YUZlbmNlVmFsdWVzO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9fVxuICAgICAgICAvLyBBbHdheXMgY2hlY2sgdGhhdCBzb21lIG9mIHRoZSBnaXZlbiBwZXJtaXNzaW9ucyBtYXRjaC5cbiAgICAgICAgc2hvdWxkTWF0Y2hTb21lUGVybWlzc2lvbnM9e3RydWV9XG4gICAgICAgIHByb2plY3RQZXJtaXNzaW9ucz17cHJvcHMucHJvamVjdFBlcm1pc3Npb25zfVxuICAgICAgPlxuICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICA8L1Jlc3RyaWN0ZWRCeVBlcm1pc3Npb25zPlxuICAgICkgOiAoXG4gICAgICA8Pntwcm9wcy5jaGlsZHJlbn08Lz5cbiAgICApO1xuXG4gIGlmIChwcm9wcy5mZWF0dXJlVG9nZ2xlKSB7XG4gICAgLy8gQSByZWd1bGFyIHNob3J0LWxpdmVkIGZlYXR1cmUgdG9nZ2xlXG4gICAgaWYgKGZsYWdWYXJpYXRpb24gPT09IHRydWUpIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG4gICAgLy8gQSBsb25nLWxpdmVkIGZlYXR1cmUgdG9nZ2xlIHdpdGggYHsgdmFsdWU6IGJvb2xlYW4sIHN0cmluZzogcmVhc29uIH1gXG4gICAgaWYgKGlzTG9uZ0xpdmVkRmxhZyhmbGFnVmFyaWF0aW9uKSAmJiBmbGFnVmFyaWF0aW9uLnZhbHVlID09PSB0cnVlKVxuICAgICAgcmV0dXJuIHBlcm1pc3Npb25zV3JhcHBlcjtcblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIHBlcm1pc3Npb25zV3JhcHBlcjtcbn07XG5SZXN0cmljdGVkTWVudUl0ZW0uZGlzcGxheU5hbWUgPSAnUmVzdHJpY3RlZE1lbnVJdGVtJztcblJlc3RyaWN0ZWRNZW51SXRlbS5kZWZhdWx0UHJvcHMgPSByZXN0cmljdGVkTWVudUl0ZW1EZWZhdWx0UHJvcHM7XG5cbnR5cGUgTWVudUxhYmVsUHJvcHMgPSB7XG4gIGxhYmVsQWxsTG9jYWxlczogVExvY2FsaXplZEZpZWxkW107XG4gIGRlZmF1bHRMYWJlbD86IHN0cmluZztcbiAgYXBwbGljYXRpb25Mb2NhbGU6IHN0cmluZztcbn07XG5jb25zdCBNZW51TGFiZWwgPSAocHJvcHM6IE1lbnVMYWJlbFByb3BzKSA9PiB7XG4gIGNvbnN0IGxvY2FsaXplZExhYmVsID0gcHJvcHMubGFiZWxBbGxMb2NhbGVzLmZpbmQoKGxvYykgPT5cbiAgICBwcm9wcy5hcHBsaWNhdGlvbkxvY2FsZS5zdGFydHNXaXRoKGxvYy5sb2NhbGUpXG4gICk7XG4gIGlmIChsb2NhbGl6ZWRMYWJlbCkgcmV0dXJuIDw+e2xvY2FsaXplZExhYmVsLnZhbHVlfTwvPjtcbiAgaWYgKHByb3BzLmRlZmF1bHRMYWJlbCkgcmV0dXJuIDw+e3Byb3BzLmRlZmF1bHRMYWJlbH08Lz47XG4gIHJldHVybiA8PntOT19WQUxVRV9GQUxMQkFDS308Lz47XG59O1xuXG50eXBlIFROYXZCYXJMYXlvdXRQcm9wcyA9IHtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbn07XG5jb25zdCBOYXZCYXJMYXlvdXQgPSBmb3J3YXJkUmVmPEhUTUxFbGVtZW50LCBUTmF2QmFyTGF5b3V0UHJvcHM+KFxuICAocHJvcHMsIHJlZikgPT4gKFxuICAgIDw+XG4gICAgICA8R2xvYmFsXG4gICAgICAgIHN0eWxlcz17Y3NzYFxuICAgICAgICAgICR7Y29tcGlsZWRTdHlsZXMuZ2xvYmFsfVxuICAgICAgICBgfVxuICAgICAgLz5cbiAgICAgIDxuYXZcbiAgICAgICAgcmVmPXtyZWZ9XG4gICAgICAgIGNsYXNzTmFtZT17c3R5bGVzWydsZWZ0LW5hdmlnYXRpb24nXX1cbiAgICAgICAgZGF0YS10ZXN0PVwibGVmdC1uYXZpZ2F0aW9uXCJcbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJsZWZ0LW5hdmlnYXRpb25cIlxuICAgICAgPlxuICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICA8L25hdj5cbiAgICA8Lz5cbiAgKVxuKTtcbk5hdkJhckxheW91dC5kaXNwbGF5TmFtZSA9ICdOYXZCYXJMYXlvdXQnO1xuXG50eXBlIEl0ZW1Db250YWluZXJQcm9wcyA9IHtcbiAgbGFiZWxBbGxMb2NhbGVzOiBUTG9jYWxpemVkRmllbGRbXTtcbiAgZGVmYXVsdExhYmVsPzogc3RyaW5nO1xuICBhcHBsaWNhdGlvbkxvY2FsZTogc3RyaW5nO1xuICBpY29uOiBzdHJpbmc7XG4gIGlzTWVudU9wZW4/OiBib29sZWFuO1xufTtcblxuY29uc3QgSXRlbUNvbnRhaW5lciA9IChwcm9wczogSXRlbUNvbnRhaW5lclByb3BzKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaXRlbS1pY29uLXRleHQnXX0+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydpY29uLWNvbnRhaW5lciddfT5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlcy5pY29ufT5cbiAgICAgICAgICA8SWNvblN3aXRjaGVyIGljb249e3Byb3BzLmljb259IHNpemU9XCJzY2FsZVwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICB7cHJvcHMuaXNNZW51T3BlbiA/IChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlcy50aXRsZX0+XG4gICAgICAgICAgPE1lbnVMYWJlbFxuICAgICAgICAgICAgbGFiZWxBbGxMb2NhbGVzPXtwcm9wcy5sYWJlbEFsbExvY2FsZXN9XG4gICAgICAgICAgICBkZWZhdWx0TGFiZWw9e3Byb3BzLmRlZmF1bHRMYWJlbH1cbiAgICAgICAgICAgIGFwcGxpY2F0aW9uTG9jYWxlPXtwcm9wcy5hcHBsaWNhdGlvbkxvY2FsZX1cbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICkgOiBudWxsfVxuICAgIDwvZGl2PlxuICApO1xufTtcblxuSXRlbUNvbnRhaW5lci5kaXNwbGF5TmFtZSA9ICdJdGVtQ29udGFpbmVyJztcblxuZXhwb3J0IHtcbiAgUmVzdHJpY3RlZE1lbnVJdGVtLFxuICBNZW51SXRlbSxcbiAgTWVudUl0ZW1MaW5rLFxuICBJY29uU3dpdGNoZXIsXG4gIE1lbnVHcm91cCxcbiAgTWVudUxhYmVsLFxuICBNZW51RXhwYW5kZXIsXG4gIEZhZGVkLFxuICBOYXZCYXJMYXlvdXQsXG4gIEl0ZW1Db250YWluZXIsXG59O1xuIl19 */",
279
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__$1
280
- };
281
- const MenuGroup = /*#__PURE__*/react.forwardRef((props, ref) => {
282
- if (props.isExpanded && (props.level === 2 && !props.hasSubmenu || props.level === 2 && !props.isActive)) {
283
- return null;
284
- }
285
- const isSublistActiveWhileIsMenuExpanded = props.level === 2 && props.isActive && props.isExpanded;
286
- const isSublistActiveWhileIsMenuCollapsed = props.level === 2 && props.isActive && !props.isExpanded;
287
- return jsxRuntime.jsx("ul", {
288
- ref: ref && props.level === 2 ? ref : null,
289
- css: /*#__PURE__*/react$1.css(getSubmenuPositionBasedOnMenuItemPosition(props.isSubmenuAboveMenuItem, props.submenuVerticalPosition), ";", props.submenuVerticalPosition === 0 && _ref, "::before{", getContainerPositionBasedOnMenuItemPosition(props.isSubmenuAboveMenuItem, isSublistActiveWhileIsMenuExpanded, isSublistActiveWhileIsMenuCollapsed), ";}" + (process.env.NODE_ENV === "production" ? "" : ";label:MenuGroup;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1lbnUtaXRlbXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtPYyIsImZpbGUiOiJtZW51LWl0ZW1zLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGZvcndhcmRSZWYsXG4gIGxhenksXG4gIHR5cGUgTW91c2VFdmVudEhhbmRsZXIsXG4gIHR5cGUgRm9jdXNFdmVudEhhbmRsZXIsXG4gIHR5cGUgTW91c2VFdmVudCxcbiAgdHlwZSBLZXlib2FyZEV2ZW50LFxuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdHlwZSBTeW50aGV0aWNFdmVudCxcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgR2xvYmFsLCBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3JlYWN0LWJyb2FkY2FzdCc7XG5pbXBvcnQgdHlwZSB7IFRGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3R5cGVzJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgTmF2TGluayB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHR5cGUge1xuICBUTm9ybWFsaXplZE1lbnVWaXNpYmlsaXRpZXMsXG4gIFROb3JtYWxpemVkUGVybWlzc2lvbnMsXG4gIFROb3JtYWxpemVkQWN0aW9uUmlnaHRzLFxuICBUTm9ybWFsaXplZERhdGFGZW5jZXMsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnO1xuaW1wb3J0IE1pc3NpbmdJbWFnZVN2ZyBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hc3NldHMvaW1hZ2VzL2RpYWdvbmFsLWxpbmUuc3ZnJztcbmltcG9ydCB7IE5PX1ZBTFVFX0ZBTExCQUNLIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvY29uc3RhbnRzJztcbmltcG9ydCB7IFJlc3RyaWN0ZWRCeVBlcm1pc3Npb25zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvcGVybWlzc2lvbnMnO1xuaW1wb3J0IHtcbiAgQmFja0ljb24sXG4gIFNpZGViYXJFeHBhbmRJY29uLFxuICBTaWRlYmFyQ29sbGFwc2VJY29uLFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucyc7XG5pbXBvcnQgSW5saW5lU3ZnIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ljb25zL2lubGluZS1zdmcnO1xuaW1wb3J0IHsgRElNRU5TSU9OUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgdHlwZSB7XG4gIFREYXRhRmVuY2UsXG4gIFRBY3Rpb25SaWdodCxcbiAgVExvY2FsaXplZEZpZWxkLFxufSBmcm9tICcuLi8uLi90eXBlcy9nZW5lcmF0ZWQvcHJveHknO1xuaW1wb3J0IHsgbG9jYXRpb24gfSBmcm9tICcuLi8uLi91dGlscy9sb2NhdGlvbic7XG4vLyBodHRwczovL2JhYmVsanMuaW8vYmxvZy8yMDE3LzA5LzExL3plcm8tY29uZmlnLXdpdGgtYmFiZWwtbWFjcm9zXG5pbXBvcnQgY29tcGlsZWRTdHlsZXMgZnJvbSAvKiBwcmV2YWwgKi8gJy4vbmF2YmFyLnN0eWxlcyc7XG5cbmNvbnN0IHN0eWxlcyA9IGNvbXBpbGVkU3R5bGVzLmpzb25NYXA7XG5cbnR5cGUgVFByb2plY3RQZXJtaXNzaW9ucyA9IHtcbiAgcGVybWlzc2lvbnM6IFROb3JtYWxpemVkUGVybWlzc2lvbnMgfCBudWxsO1xuICBhY3Rpb25SaWdodHM6IFROb3JtYWxpemVkQWN0aW9uUmlnaHRzIHwgbnVsbDtcbiAgZGF0YUZlbmNlczogVE5vcm1hbGl6ZWREYXRhRmVuY2VzIHwgbnVsbDtcbn07XG5cbmNvbnN0IEhlYXJ0SWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9oZWFydCcpKTtcbmNvbnN0IFBhcGVyY2xpcEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi9sZWdhY3ktaWNvbnMvcGFwZXJjbGlwJykpO1xuY29uc3QgUGx1Z2luSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9wbHVnaW4nKSk7XG5jb25zdCBSb2NrZXRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3JvY2tldCcpKTtcbmNvbnN0IFN0YXJJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3N0YXInKSk7XG5jb25zdCBDb25uZWN0ZWRTcXVhcmVJY29uID0gbGF6eShcbiAgKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9jb25uZWN0ZWQtc3F1YXJlJylcbik7XG5jb25zdCBXb3JsZEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi9sZWdhY3ktaWNvbnMvd29ybGQnKSk7XG5jb25zdCBUcmVlU3RydWN0dXJlSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy90cmVlLXN0cnVjdHVyZScpKTtcbmNvbnN0IFVzZXJGaWxsZWRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3VzZXItZmlsbGVkJykpO1xuY29uc3QgU3BlZWRvbWV0ZXJJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3NwZWVkb21ldGVyJykpO1xuY29uc3QgVGFnTXVsdGlJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3RhZy1tdWx0aScpKTtcbmNvbnN0IENhcnRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL2NhcnQnKSk7XG5jb25zdCBCb3hJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL2JveCcpKTtcbmNvbnN0IEdlYXJJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL2dlYXInKSk7XG5jb25zdCBMaXN0V2l0aFNlYXJjaEljb24gPSBsYXp5KFxuICAoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL2xpc3Qtd2l0aC1zZWFyY2gnKVxuKTtcblxudHlwZSBJY29uUHJvcHMgPSBQYXJhbWV0ZXJzPHR5cGVvZiBCYWNrSWNvbj5bMF07XG50eXBlIEljb25Td2l0Y2hlclByb3BzID0geyBpY29uOiBzdHJpbmcgfSAmIEljb25Qcm9wcztcbi8vIFRoZSBpY29uIGlzIGV4cGVjdGVkIHRvIGJlIHRoZSBgc3ZnYCBkb2N1bWVudCBhcyBhIHN0cmluZy5cbi8vIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBwdXJwb3Nlcywgd2Ugc3RpbGwgc3VwcG9ydCB0aGUgbGVnYWN5IFwiaWNvbiBuYW1lXCIsXG4vLyB3aGljaCB3ZSB0aGVuIG1hcCB0byBvbmUgb2YgdGhlIHByZS1kZWZpbmVkIGljb25zLlxuLy8gRXZlbnR1YWxseSwgd2Ugd2FudCB0byBnZXQgcmlkIG9mIHRoaXMgXCJzd2l0Y2hcIiBsb2dpYy5cbmNvbnN0IEljb25Td2l0Y2hlciA9ICh7IGljb24sIC4uLmljb25Qcm9wcyB9OiBJY29uU3dpdGNoZXJQcm9wcykgPT4ge1xuICBpZiAoaWNvbi5pbmNsdWRlcygnPHN2ZycpKSB7XG4gICAgcmV0dXJuIDxJbmxpbmVTdmcgZGF0YT17aWNvbn0gey4uLmljb25Qcm9wc30gLz47XG4gIH1cbiAgLy8gQmFja3dhcmRzIGNvbXBhdGliaWxpdHkgZm9yIGFwcHMgdXNpbmcgdGhlIFwiaWNvbiBuYW1lXCIuXG4gIHN3aXRjaCAoaWNvbikge1xuICAgIC8vIExlZ2FjeSBhcHBsaWNhdGlvbiBpY29uc1xuICAgIC8vIFRPRE86IFRvIGJlIHJlbW92ZWQgb25jZSBNQyBhcHBsaWNhdGlvbnMgaWNvbnMgdXBkYXRlcyBhcmUgcHVibGlzaGVkXG4gICAgY2FzZSAnVHJlZVN0cnVjdHVyZUljb24nOlxuICAgICAgcmV0dXJuIDxUcmVlU3RydWN0dXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdVc2VyRmlsbGVkSWNvbic6XG4gICAgICByZXR1cm4gPFVzZXJGaWxsZWRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1NwZWVkb21ldGVySWNvbic6XG4gICAgICByZXR1cm4gPFNwZWVkb21ldGVySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdUYWdNdWx0aUljb24nOlxuICAgICAgcmV0dXJuIDxUYWdNdWx0aUljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnQ2FydEljb24nOlxuICAgICAgcmV0dXJuIDxDYXJ0SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdCb3hJY29uJzpcbiAgICAgIHJldHVybiA8Qm94SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdHZWFySWNvbic6XG4gICAgICByZXR1cm4gPEdlYXJJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ0xpc3RXaXRoU2VhcmNoSWNvbic6XG4gICAgICByZXR1cm4gPExpc3RXaXRoU2VhcmNoSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcblxuICAgIC8vIEN1c3RvbSBhcHBsaWNhdGlvbiBpY29ucyBzZXRcbiAgICBjYXNlICdIZWFydEljb24nOlxuICAgICAgcmV0dXJuIDxIZWFydEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUGFwZXJjbGlwSWNvbic6XG4gICAgICByZXR1cm4gPFBhcGVyY2xpcEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUGx1Z2luSWNvbic6XG4gICAgICByZXR1cm4gPFBsdWdpbkljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUm9ja2V0SWNvbic6XG4gICAgICByZXR1cm4gPFJvY2tldEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnU3Rhckljb24nOlxuICAgICAgcmV0dXJuIDxTdGFySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdDb25uZWN0ZWRTcXVhcmVJY29uJzpcbiAgICAgIHJldHVybiA8Q29ubmVjdGVkU3F1YXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICAvLyBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcbiAgICBjYXNlICdXb3JsZEljb24nOlxuICAgICAgcmV0dXJuIDxXb3JsZEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiA8aW1nIHNyYz17TWlzc2luZ0ltYWdlU3ZnfSBhbHQ9XCJtaXNzaW5nIGljb25cIiAvPjtcbiAgfVxufTtcbkljb25Td2l0Y2hlci5kaXNwbGF5TmFtZSA9ICdJY29uU3dpdGNoZXInO1xuXG50eXBlIE1lbnVFeHBhbmRlclByb3BzID0ge1xuICBpc1Zpc2libGU6IGJvb2xlYW47XG4gIG9uQ2xpY2s6IChcbiAgICBlOiBNb3VzZUV2ZW50PEhUTUxEaXZFbGVtZW50PiB8IEtleWJvYXJkRXZlbnQ8SFRNTERpdkVsZW1lbnQ+XG4gICkgPT4gdm9pZDtcbiAgaXNNZW51T3BlbjogYm9vbGVhbjtcbn07XG5cbmNvbnN0IGdldEljb24gPSAoeyBpc01lbnVPcGVuIH06IE1lbnVFeHBhbmRlclByb3BzKSA9PiB7XG4gIGNvbnN0IEljb24gPSBpc01lbnVPcGVuID8gU2lkZWJhckNvbGxhcHNlSWNvbiA6IFNpZGViYXJFeHBhbmRJY29uO1xuICByZXR1cm4gPEljb24gY29sb3I9XCJzdXJmYWNlXCIgc2l6ZT1cImJpZ1wiIC8+O1xufTtcblxuY29uc3QgTWVudUV4cGFuZGVyID0gKHByb3BzOiBNZW51RXhwYW5kZXJQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxsaVxuICAgICAga2V5PVwiZXhwYW5kZXJcIlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKHN0eWxlcy5leHBhbmRlciwge1xuICAgICAgICBbc3R5bGVzLmhpZGRlbl06ICFwcm9wcy5pc1Zpc2libGUsXG4gICAgICB9KX1cbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIG9uQ2xpY2s9e3Byb3BzLm9uQ2xpY2t9XG4gICAgICAgIG9uS2V5RG93bj17KGUpID0+IHtcbiAgICAgICAgICBpZiAoZS5rZXkgPT09ICdFbnRlcicpIHtcbiAgICAgICAgICAgIHByb3BzLm9uQ2xpY2soZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9fVxuICAgICAgICB0YWJJbmRleD17MH1cbiAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXNbJ2V4cGFuZC1pY29uJ119XG4gICAgICAgIGRhdGEtdGVzdGlkPVwibWVudS1leHBhbmRlclwiXG4gICAgICA+XG4gICAgICAgIHtnZXRJY29uKHByb3BzKX1cbiAgICAgIDwvZGl2PlxuICAgIDwvbGk+XG4gICk7XG59O1xuTWVudUV4cGFuZGVyLmRpc3BsYXlOYW1lID0gJ01lbnVFeHBhbmRlcic7XG5cbmNvbnN0IEZhZGVkID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0zMnB4O1xuICBoZWlnaHQ6IDMycHg7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDAsIDE1MywgMTM1LCAwKSAwJSwgIzAwYjM5ZSAxMDAlKTtcbiAgei1pbmRleDogMTtcbmA7XG5cbnR5cGUgTWVudUdyb3VwUHJvcHMgPSB7XG4gIGlkOiBzdHJpbmc7XG4gIGxldmVsOiAxIHwgMjtcbiAgaXNBY3RpdmU/OiBib29sZWFuO1xuICBpc0V4cGFuZGVkPzogYm9vbGVhbjtcbiAgaGFzU3VibWVudT86IGJvb2xlYW47XG4gIGNoaWxkcmVuPzogUmVhY3ROb2RlO1xuICBzdWJtZW51VmVydGljYWxQb3NpdGlvbj86IG51bWJlcjtcbiAgaXNTdWJtZW51QWJvdmVNZW51SXRlbT86IGJvb2xlYW47XG59O1xuXG5jb25zdCBnZXRTdWJtZW51UG9zaXRpb25CYXNlZE9uTWVudUl0ZW1Qb3NpdGlvbiA9IChcbiAgaXNTdWJtZW51QWJvdmVNZW51SXRlbT86IGJvb2xlYW4sXG4gIHN1Ym1lbnVWZXJ0aWNhbFBvc2l0aW9uPzogbnVtYmVyXG4pID0+IGNzc2BcbiAgJHtpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtID8gJ2JvdHRvbScgOiAndG9wJ306ICR7c3VibWVudVZlcnRpY2FsUG9zaXRpb259cHhcbmA7XG5cbmNvbnN0IGdldENvbnRhaW5lclBvc2l0aW9uQmFzZWRPbk1lbnVJdGVtUG9zaXRpb24gPSAoXG4gIGlzU3VibWVudUFib3ZlTWVudUl0ZW0/OiBib29sZWFuLFxuICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkPzogYm9vbGVhbixcbiAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQ/OiBib29sZWFuXG4pID0+IFtcbiAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQgJiZcbiAgICBjc3NgXG4gICAgICAke2lzU3VibWVudUFib3ZlTWVudUl0ZW1cbiAgICAgICAgPyAnYm90dG9tJ1xuICAgICAgICA6ICd0b3AnfTogLSR7RElNRU5TSU9OUy5uYXZNZW51SXRlbUhlaWdodH07XG4gICAgYCxcbiAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCAmJlxuICAgIGlzU3VibWVudUFib3ZlTWVudUl0ZW0gJiZcbiAgICBjc3NgXG4gICAgICBib3R0b206IDA7XG4gICAgYCxcbiAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCAmJlxuICAgICFpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtICYmXG4gICAgY3NzYFxuICAgICAgdG9wOiAwO1xuICAgIGAsXG5dO1xuXG5jb25zdCBNZW51R3JvdXAgPSBmb3J3YXJkUmVmPEhUTUxVTGlzdEVsZW1lbnQsIE1lbnVHcm91cFByb3BzPigocHJvcHMsIHJlZikgPT4ge1xuICBpZiAoXG4gICAgcHJvcHMuaXNFeHBhbmRlZCAmJlxuICAgICgocHJvcHMubGV2ZWwgPT09IDIgJiYgIXByb3BzLmhhc1N1Ym1lbnUpIHx8XG4gICAgICAocHJvcHMubGV2ZWwgPT09IDIgJiYgIXByb3BzLmlzQWN0aXZlKSlcbiAgKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgY29uc3QgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCA9XG4gICAgcHJvcHMubGV2ZWwgPT09IDIgJiYgcHJvcHMuaXNBY3RpdmUgJiYgcHJvcHMuaXNFeHBhbmRlZDtcbiAgY29uc3QgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQgPVxuICAgIHByb3BzLmxldmVsID09PSAyICYmIHByb3BzLmlzQWN0aXZlICYmICFwcm9wcy5pc0V4cGFuZGVkO1xuICByZXR1cm4gKFxuICAgIDx1bFxuICAgICAgcmVmPXtyZWYgJiYgcHJvcHMubGV2ZWwgPT09IDIgPyByZWYgOiBudWxsfVxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgICR7Z2V0U3VibWVudVBvc2l0aW9uQmFzZWRPbk1lbnVJdGVtUG9zaXRpb24oXG4gICAgICAgICAgcHJvcHMuaXNTdWJtZW51QWJvdmVNZW51SXRlbSxcbiAgICAgICAgICBwcm9wcy5zdWJtZW51VmVydGljYWxQb3NpdGlvblxuICAgICAgICApfTtcbiAgICAgIFxuICAgICAgLy8gcHJldmVudCBnbGl0Y2h5IGJlaGF2aW9yIGR1cmluZyB0aGUgaW5pdGlhbCByZW5kZXIgd2hlbiB0aGUgc3VibWVudSdzIHZlcnRpY2FsIHBvc2l0aW9uIGlzIGV2YWx1YXRlZCBhcyAwXG4gICAgICAke1xuICAgICAgICBwcm9wcy5zdWJtZW51VmVydGljYWxQb3NpdGlvbiA9PT0gMCAmJlxuICAgICAgICBjc3NgXG4gICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICBgXG4gICAgICB9XG5cbiAgICAgICAgLy8gYWRkaXRpb25hbCBzdHlsaW5nIG9mIHRoZSBwc2V1ZG8tZWxlbWVudCBlbmFibGluZyBzbW9vdGggY291cnNvciBtb3ZlbWVudFxuICAgICAgICA6OmJlZm9yZSB7XG4gICAgICAgICAgJHtnZXRDb250YWluZXJQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uKFxuICAgICAgICAgICAgcHJvcHMuaXNTdWJtZW51QWJvdmVNZW51SXRlbSxcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQsXG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZFxuICAgICAgICAgICl9XG4gICAgICBgfVxuICAgICAgaWQ9e2Bncm91cC0ke3Byb3BzLmlkfWB9XG4gICAgICBkYXRhLXRlc3RpZD17YGdyb3VwLSR7cHJvcHMuaWR9YH1cbiAgICAgIHJvbGU9XCJtZW51XCJcbiAgICAgIGFyaWEtZXhwYW5kZWQ9e1xuICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkIHx8XG4gICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkXG4gICAgICB9XG4gICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoXG4gICAgICAgIHsgW3N0eWxlcy5saXN0XTogcHJvcHMubGV2ZWwgPT09IDEgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QnXV06IHByb3BzLmxldmVsID09PSAyLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlc1snc3VibGlzdC1leHBhbmRlZF9fYWN0aXZlJ11dOlxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtY29sbGFwc2VkX19lbXB0eSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmICFwcm9wcy5oYXNTdWJtZW51LFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlc1snc3VibGlzdC1jb2xsYXBzZWRfX2FjdGl2ZSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmXG4gICAgICAgICAgICAhcHJvcHMuaXNTdWJtZW51QWJvdmVNZW51SXRlbSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtY29sbGFwc2VkX19hY3RpdmVfX2Fib3ZlJ11dOlxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQgJiYgcHJvcHMuaXNTdWJtZW51QWJvdmVNZW51SXRlbSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXMuc3VibGlzdF9faW5hY3RpdmVdOiAhaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQsXG4gICAgICAgIH1cbiAgICAgICl9XG4gICAgPlxuICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgIDwvdWw+XG4gICk7XG59KTtcbk1lbnVHcm91cC5kaXNwbGF5TmFtZSA9ICdNZW51R3JvdXAnO1xuXG50eXBlIE1lbnVJdGVtUHJvcHMgPSB7XG4gIGhhc1N1Ym1lbnU6IGJvb2xlYW47XG4gIGlzQWN0aXZlOiBib29sZWFuO1xuICBpc01haW5NZW51Um91dGVBY3RpdmU/OiBib29sZWFuO1xuICBpc01lbnVPcGVuOiBib29sZWFuO1xuICBvbkNsaWNrOiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD47XG4gIG9uTW91c2VFbnRlcj86XG4gICAgfCBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD5cbiAgICB8IEZvY3VzRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50PjtcbiAgb25Nb3VzZUxlYXZlPzpcbiAgICB8IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50PlxuICAgIHwgRm9jdXNFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+O1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBpZGVudGlmaWVyPzogc3RyaW5nO1xufTtcbmNvbnN0IE1lbnVJdGVtID0gKHByb3BzOiBNZW51SXRlbVByb3BzKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGxpXG4gICAgICByb2xlPVwibWVudWl0ZW1cIlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKHN0eWxlc1snbGlzdC1pdGVtJ10sIHtcbiAgICAgICAgW3N0eWxlcy5pdGVtX19hY3RpdmVdOiBwcm9wcy5pc0FjdGl2ZSxcbiAgICAgICAgW3N0eWxlc1snaXRlbV9tZW51X19hY3RpdmUnXV06IHByb3BzLmlzTWFpbk1lbnVSb3V0ZUFjdGl2ZSA/PyBmYWxzZSxcbiAgICAgICAgW3N0eWxlc1snaXRlbV9tZW51LWNvbGxhcHNlZCddXTogIXByb3BzLmlzTWVudU9wZW4sXG4gICAgICB9KX1cbiAgICAgIG9uQ2xpY2s9e3Byb3BzLm9uQ2xpY2t9XG4gICAgICBvbk1vdXNlRW50ZXI9e3Byb3BzLm9uTW91c2VFbnRlciBhcyBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD59XG4gICAgICBvbk1vdXNlTGVhdmU9e3Byb3BzLm9uTW91c2VMZWF2ZSBhcyBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD59XG4gICAgICBvbkZvY3VzPXtwcm9wcy5vbk1vdXNlRW50ZXIgYXMgRm9jdXNFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+fVxuICAgICAgb25CbHVyPXtwcm9wcy5vbk1vdXNlTGVhdmUgYXMgRm9jdXNFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+fVxuICAgICAgZGF0YS1tZW51aXRlbT17cHJvcHMuaWRlbnRpZmllcn1cbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydpdGVtLWxpbmsnXX0+e3Byb3BzLmNoaWxkcmVufTwvZGl2PlxuICAgIDwvbGk+XG4gICk7XG59O1xuXG5NZW51SXRlbS5kaXNwbGF5TmFtZSA9ICdNZW51SXRlbSc7XG5cbmV4cG9ydCB0eXBlIE1lbnVJdGVtTGlua1Byb3BzID0ge1xuICBsaW5rVG8/OiBzdHJpbmc7XG4gIGV4YWN0TWF0Y2g6IGJvb2xlYW47XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIG9uQ2xpY2s/OiAoZXZlbnQ6IFN5bnRoZXRpY0V2ZW50PEhUTUxBbmNob3JFbGVtZW50PikgPT4gdm9pZDtcbiAgdXNlRnVsbFJlZGlyZWN0c0ZvckxpbmtzPzogYm9vbGVhbjtcbiAgaXNTdWJtZW51TGluaz86IGJvb2xlYW47XG59O1xuY29uc3QgbWVudUl0ZW1MaW5rRGVmYXVsdFByb3BzOiBQaWNrPE1lbnVJdGVtTGlua1Byb3BzLCAnZXhhY3RNYXRjaCc+ID0ge1xuICBleGFjdE1hdGNoOiBmYWxzZSxcbn07XG5jb25zdCBOYXZMaW5rV3JhcHBlciA9IChwcm9wczogTWVudUl0ZW1MaW5rUHJvcHMpID0+IHtcbiAgaWYgKHByb3BzLmlzU3VibWVudUxpbmspIHtcbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1sndGV4dC1saW5rLXN1Ymxpc3Qtd3JhcHBlciddfT5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxuICByZXR1cm4gPD57cHJvcHMuY2hpbGRyZW59PC8+O1xufTtcbmNvbnN0IE5hdkxpbmtDbGlja2FibGVDb250ZW50V3JhcHBlciA9IChwcm9wczogTWVudUl0ZW1MaW5rUHJvcHMpID0+IHtcbiAgaWYgKHByb3BzLmlzU3VibWVudUxpbmspIHtcbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snbmF2bGluay1jbGlja2FibGUtY29udGVudCddfT5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxuICByZXR1cm4gPD57cHJvcHMuY2hpbGRyZW59PC8+O1xufTtcblxuY29uc3QgTWVudUl0ZW1MaW5rID0gKHByb3BzOiBNZW51SXRlbUxpbmtQcm9wcykgPT4ge1xuICBjb25zdCByZWRpcmVjdFRvID0gKHRhcmdldFVybDogc3RyaW5nKSA9PiBsb2NhdGlvbi5yZXBsYWNlKHRhcmdldFVybCk7XG4gIGlmIChwcm9wcy5saW5rVG8pIHtcbiAgICBjb25zdCBsaW5rTGV2ZWwgPSBwcm9wcy5pc1N1Ym1lbnVMaW5rID8gJ3RleHQtbGluay1zdWJsaXN0JyA6ICd0ZXh0LWxpbmsnO1xuICAgIHJldHVybiAoXG4gICAgICA8TmF2TGlua1dyYXBwZXIgey4uLnByb3BzfT5cbiAgICAgICAgPE5hdkxpbmtcbiAgICAgICAgICB0bz17cHJvcHMubGlua1RvfVxuICAgICAgICAgIGV4YWN0PXtwcm9wcy5leGFjdE1hdGNofVxuICAgICAgICAgIGFjdGl2ZUNsYXNzTmFtZT17c3R5bGVzLmhpZ2hsaWdodGVkfVxuICAgICAgICAgIGNsYXNzTmFtZT17c3R5bGVzW2xpbmtMZXZlbF19XG4gICAgICAgICAgZGF0YS1saW5rLWxldmVsPXtsaW5rTGV2ZWx9XG4gICAgICAgICAgb25DbGljaz17KGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBpZiAocHJvcHMubGlua1RvICYmIHByb3BzLnVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rcykge1xuICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICByZWRpcmVjdFRvKHByb3BzLmxpbmtUbyk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHByb3BzLm9uQ2xpY2spIHtcbiAgICAgICAgICAgICAgZXZlbnQucGVyc2lzdCgpO1xuICAgICAgICAgICAgICBwcm9wcy5vbkNsaWNrKGV2ZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAgPE5hdkxpbmtDbGlja2FibGVDb250ZW50V3JhcHBlciB7Li4ucHJvcHN9PlxuICAgICAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgICAgIDwvTmF2TGlua0NsaWNrYWJsZUNvbnRlbnRXcmFwcGVyPlxuICAgICAgICA8L05hdkxpbms+XG4gICAgICA8L05hdkxpbmtXcmFwcGVyPlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5NZW51SXRlbUxpbmsuZGlzcGxheU5hbWUgPSAnTWVudUl0ZW1MaW5rJztcbk1lbnVJdGVtTGluay5kZWZhdWx0UHJvcHMgPSBtZW51SXRlbUxpbmtEZWZhdWx0UHJvcHM7XG5cbmNvbnN0IGlzRXZlcnlNZW51VmlzaWJpbGl0eVNldFRvSGlkZGVuID0gKFxuICBtZW51VmlzaWJpbGl0aWVzPzogVE5vcm1hbGl6ZWRNZW51VmlzaWJpbGl0aWVzIHwgbnVsbCxcbiAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXM/OiBzdHJpbmdbXVxuKSA9PlxuICBBcnJheS5pc0FycmF5KG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzKSAmJlxuICBuYW1lc09mTWVudVZpc2liaWxpdGllcy5sZW5ndGggPiAwICYmXG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzLmV2ZXJ5KFxuICAgIChuYW1lT2ZNZW51VmlzaWJpbGl0eSkgPT5cbiAgICAgIG1lbnVWaXNpYmlsaXRpZXMgJiYgbWVudVZpc2liaWxpdGllc1tuYW1lT2ZNZW51VmlzaWJpbGl0eV0gPT09IHRydWVcbiAgKTtcblxudHlwZSBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcyA9IHtcbiAgZmVhdHVyZVRvZ2dsZT86IHN0cmluZztcbiAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXM/OiBzdHJpbmdbXTtcbiAgcHJvamVjdFBlcm1pc3Npb25zOiBUUHJvamVjdFBlcm1pc3Npb25zO1xuICBtZW51VmlzaWJpbGl0aWVzOiBUTm9ybWFsaXplZE1lbnVWaXNpYmlsaXRpZXMgfCBudWxsO1xuICBrZXlPZk1lbnVJdGVtOiBzdHJpbmc7XG4gIHBlcm1pc3Npb25zOiBzdHJpbmdbXTtcbiAgYWN0aW9uUmlnaHRzPzogVEFjdGlvblJpZ2h0W107XG4gIGRhdGFGZW5jZXM/OiBURGF0YUZlbmNlW107XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59O1xudHlwZSBUTG9uZ0xpdmVkRmxhZyA9IHtcbiAgdmFsdWU6IGJvb2xlYW47XG4gIHJlYXNvbj86IHN0cmluZztcbn07XG5jb25zdCByZXN0cmljdGVkTWVudUl0ZW1EZWZhdWx0UHJvcHM6IFBpY2s8XG4gIFJlc3RyaWN0ZWRNZW51SXRlbVByb3BzLFxuICAncGVybWlzc2lvbnMnXG4+ID0ge1xuICBwZXJtaXNzaW9uczogW10sXG59O1xuZnVuY3Rpb24gaXNMb25nTGl2ZWRGbGFnKFxuICBmbGFnOiBURmxhZ1ZhcmlhdGlvbiB8IFRMb25nTGl2ZWRGbGFnXG4pOiBmbGFnIGlzIFRMb25nTGl2ZWRGbGFnIHtcbiAgcmV0dXJuIHR5cGVvZiAoZmxhZyBhcyBUTG9uZ0xpdmVkRmxhZyk/LnZhbHVlID09PSAnYm9vbGVhbic7XG59XG5jb25zdCBSZXN0cmljdGVkTWVudUl0ZW0gPSAocHJvcHM6IFJlc3RyaWN0ZWRNZW51SXRlbVByb3BzKSA9PiB7XG4gIC8vIE5PVEU6IEN1c3RvbSBhcHBsaWNhdGlvbiBhcmUgYWN0aXZhdGVkL2RlYWN0aXZhdGVkIHdoaWxlIHRoZWlyXG4gIC8vIHZpc2liaWxpdHkgaXMgbm90IGNvbnRyb2xsZWQgdmlhIGEgdmlzaWJpaWxpdHkgb3ZlcndyaXRlLlxuICBjb25zdCBmbGFnVmFyaWF0aW9uID0gdXNlRmxhZ1ZhcmlhdGlvbihwcm9wcy5mZWF0dXJlVG9nZ2xlKTtcbiAgaWYgKFxuICAgIGlzRXZlcnlNZW51VmlzaWJpbGl0eVNldFRvSGlkZGVuKFxuICAgICAgcHJvcHMubWVudVZpc2liaWxpdGllcyxcbiAgICAgIHByb3BzLm5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzXG4gICAgKVxuICApXG4gICAgcmV0dXJuIG51bGw7XG5cbiAgY29uc3QgcGVybWlzc2lvbnNXcmFwcGVyID1cbiAgICAoQXJyYXkuaXNBcnJheShwcm9wcy5wZXJtaXNzaW9ucykgJiYgcHJvcHMucGVybWlzc2lvbnMubGVuZ3RoID4gMCkgfHxcbiAgICAoQXJyYXkuaXNBcnJheShwcm9wcy5kYXRhRmVuY2VzKSAmJiBwcm9wcy5kYXRhRmVuY2VzLmxlbmd0aCA+IDApID8gKFxuICAgICAgPFJlc3RyaWN0ZWRCeVBlcm1pc3Npb25zXG4gICAgICAgIHBlcm1pc3Npb25zPXtwcm9wcy5wZXJtaXNzaW9uc31cbiAgICAgICAgYWN0aW9uUmlnaHRzPXtwcm9wcy5hY3Rpb25SaWdodHN9XG4gICAgICAgIGRhdGFGZW5jZXM9e3Byb3BzLmRhdGFGZW5jZXN9XG4gICAgICAgIHNlbGVjdERhdGFGZW5jZURhdGE9eyhkZW1hbmRlZERhdGFGZW5jZSkgPT4ge1xuICAgICAgICAgIHN3aXRjaCAoZGVtYW5kZWREYXRhRmVuY2UudHlwZSkge1xuICAgICAgICAgICAgY2FzZSAnc3RvcmUnOlxuICAgICAgICAgICAgICByZXR1cm4gZGVtYW5kZWREYXRhRmVuY2UuYWN0dWFsRGF0YUZlbmNlVmFsdWVzO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9fVxuICAgICAgICAvLyBBbHdheXMgY2hlY2sgdGhhdCBzb21lIG9mIHRoZSBnaXZlbiBwZXJtaXNzaW9ucyBtYXRjaC5cbiAgICAgICAgc2hvdWxkTWF0Y2hTb21lUGVybWlzc2lvbnM9e3RydWV9XG4gICAgICAgIHByb2plY3RQZXJtaXNzaW9ucz17cHJvcHMucHJvamVjdFBlcm1pc3Npb25zfVxuICAgICAgPlxuICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICA8L1Jlc3RyaWN0ZWRCeVBlcm1pc3Npb25zPlxuICAgICkgOiAoXG4gICAgICA8Pntwcm9wcy5jaGlsZHJlbn08Lz5cbiAgICApO1xuXG4gIGlmIChwcm9wcy5mZWF0dXJlVG9nZ2xlKSB7XG4gICAgLy8gQSByZWd1bGFyIHNob3J0LWxpdmVkIGZlYXR1cmUgdG9nZ2xlXG4gICAgaWYgKGZsYWdWYXJpYXRpb24gPT09IHRydWUpIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG4gICAgLy8gQSBsb25nLWxpdmVkIGZlYXR1cmUgdG9nZ2xlIHdpdGggYHsgdmFsdWU6IGJvb2xlYW4sIHN0cmluZzogcmVhc29uIH1gXG4gICAgaWYgKGlzTG9uZ0xpdmVkRmxhZyhmbGFnVmFyaWF0aW9uKSAmJiBmbGFnVmFyaWF0aW9uLnZhbHVlID09PSB0cnVlKVxuICAgICAgcmV0dXJuIHBlcm1pc3Npb25zV3JhcHBlcjtcblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIHBlcm1pc3Npb25zV3JhcHBlcjtcbn07XG5SZXN0cmljdGVkTWVudUl0ZW0uZGlzcGxheU5hbWUgPSAnUmVzdHJpY3RlZE1lbnVJdGVtJztcblJlc3RyaWN0ZWRNZW51SXRlbS5kZWZhdWx0UHJvcHMgPSByZXN0cmljdGVkTWVudUl0ZW1EZWZhdWx0UHJvcHM7XG5cbnR5cGUgTWVudUxhYmVsUHJvcHMgPSB7XG4gIGxhYmVsQWxsTG9jYWxlczogVExvY2FsaXplZEZpZWxkW107XG4gIGRlZmF1bHRMYWJlbD86IHN0cmluZztcbiAgYXBwbGljYXRpb25Mb2NhbGU6IHN0cmluZztcbn07XG5jb25zdCBNZW51TGFiZWwgPSAocHJvcHM6IE1lbnVMYWJlbFByb3BzKSA9PiB7XG4gIGNvbnN0IGxvY2FsaXplZExhYmVsID0gcHJvcHMubGFiZWxBbGxMb2NhbGVzLmZpbmQoKGxvYykgPT5cbiAgICBwcm9wcy5hcHBsaWNhdGlvbkxvY2FsZS5zdGFydHNXaXRoKGxvYy5sb2NhbGUpXG4gICk7XG4gIGlmIChsb2NhbGl6ZWRMYWJlbCkgcmV0dXJuIDw+e2xvY2FsaXplZExhYmVsLnZhbHVlfTwvPjtcbiAgaWYgKHByb3BzLmRlZmF1bHRMYWJlbCkgcmV0dXJuIDw+e3Byb3BzLmRlZmF1bHRMYWJlbH08Lz47XG4gIHJldHVybiA8PntOT19WQUxVRV9GQUxMQkFDS308Lz47XG59O1xuXG50eXBlIFROYXZCYXJMYXlvdXRQcm9wcyA9IHtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbn07XG5jb25zdCBOYXZCYXJMYXlvdXQgPSBmb3J3YXJkUmVmPEhUTUxFbGVtZW50LCBUTmF2QmFyTGF5b3V0UHJvcHM+KFxuICAocHJvcHMsIHJlZikgPT4gKFxuICAgIDw+XG4gICAgICA8R2xvYmFsXG4gICAgICAgIHN0eWxlcz17Y3NzYFxuICAgICAgICAgICR7Y29tcGlsZWRTdHlsZXMuZ2xvYmFsfVxuICAgICAgICBgfVxuICAgICAgLz5cbiAgICAgIDxuYXZcbiAgICAgICAgcmVmPXtyZWZ9XG4gICAgICAgIGNsYXNzTmFtZT17c3R5bGVzWydsZWZ0LW5hdmlnYXRpb24nXX1cbiAgICAgICAgZGF0YS10ZXN0PVwibGVmdC1uYXZpZ2F0aW9uXCJcbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJsZWZ0LW5hdmlnYXRpb25cIlxuICAgICAgPlxuICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICA8L25hdj5cbiAgICA8Lz5cbiAgKVxuKTtcbk5hdkJhckxheW91dC5kaXNwbGF5TmFtZSA9ICdOYXZCYXJMYXlvdXQnO1xuXG50eXBlIEl0ZW1Db250YWluZXJQcm9wcyA9IHtcbiAgbGFiZWxBbGxMb2NhbGVzOiBUTG9jYWxpemVkRmllbGRbXTtcbiAgZGVmYXVsdExhYmVsPzogc3RyaW5nO1xuICBhcHBsaWNhdGlvbkxvY2FsZTogc3RyaW5nO1xuICBpY29uOiBzdHJpbmc7XG4gIGlzTWVudU9wZW4/OiBib29sZWFuO1xufTtcblxuY29uc3QgSXRlbUNvbnRhaW5lciA9IChwcm9wczogSXRlbUNvbnRhaW5lclByb3BzKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaXRlbS1pY29uLXRleHQnXX0+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydpY29uLWNvbnRhaW5lciddfT5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlcy5pY29ufT5cbiAgICAgICAgICA8SWNvblN3aXRjaGVyIGljb249e3Byb3BzLmljb259IHNpemU9XCJzY2FsZVwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICB7cHJvcHMuaXNNZW51T3BlbiA/IChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlcy50aXRsZX0+XG4gICAgICAgICAgPE1lbnVMYWJlbFxuICAgICAgICAgICAgbGFiZWxBbGxMb2NhbGVzPXtwcm9wcy5sYWJlbEFsbExvY2FsZXN9XG4gICAgICAgICAgICBkZWZhdWx0TGFiZWw9e3Byb3BzLmRlZmF1bHRMYWJlbH1cbiAgICAgICAgICAgIGFwcGxpY2F0aW9uTG9jYWxlPXtwcm9wcy5hcHBsaWNhdGlvbkxvY2FsZX1cbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICkgOiBudWxsfVxuICAgIDwvZGl2PlxuICApO1xufTtcblxuSXRlbUNvbnRhaW5lci5kaXNwbGF5TmFtZSA9ICdJdGVtQ29udGFpbmVyJztcblxuZXhwb3J0IHtcbiAgUmVzdHJpY3RlZE1lbnVJdGVtLFxuICBNZW51SXRlbSxcbiAgTWVudUl0ZW1MaW5rLFxuICBJY29uU3dpdGNoZXIsXG4gIE1lbnVHcm91cCxcbiAgTWVudUxhYmVsLFxuICBNZW51RXhwYW5kZXIsXG4gIEZhZGVkLFxuICBOYXZCYXJMYXlvdXQsXG4gIEl0ZW1Db250YWluZXIsXG59O1xuIl19 */"),
290
- id: "group-".concat(props.id),
291
- "data-testid": "group-".concat(props.id),
292
- role: "menu",
293
- "aria-expanded": isSublistActiveWhileIsMenuExpanded || isSublistActiveWhileIsMenuCollapsed,
294
- className: classnames__default["default"]({
295
- [styles$1.list]: props.level === 1
296
- }, {
297
- [styles$1['sublist']]: props.level === 2
298
- }, {
299
- [styles$1['sublist-expanded__active']]: isSublistActiveWhileIsMenuExpanded
300
- }, {
301
- [styles$1['sublist-collapsed__empty']]: isSublistActiveWhileIsMenuCollapsed && !props.hasSubmenu
302
- }, {
303
- [styles$1['sublist-collapsed__active']]: isSublistActiveWhileIsMenuCollapsed && !props.isSubmenuAboveMenuItem
304
- }, {
305
- [styles$1['sublist-collapsed__active__above']]: isSublistActiveWhileIsMenuCollapsed && props.isSubmenuAboveMenuItem
306
- }, {
307
- [styles$1.sublist__inactive]: !isSublistActiveWhileIsMenuCollapsed
308
- }),
309
- children: props.children
310
- });
311
- });
312
- MenuGroup.displayName = 'MenuGroup';
313
- const MenuItem$1 = props => {
314
- var _props$isMainMenuRout;
315
- return jsxRuntime.jsx("li", {
316
- role: "menuitem",
317
- className: classnames__default["default"](styles$1['list-item'], {
318
- [styles$1.item__active]: props.isActive,
319
- [styles$1['item_menu__active']]: (_props$isMainMenuRout = props.isMainMenuRouteActive) !== null && _props$isMainMenuRout !== void 0 ? _props$isMainMenuRout : false,
320
- [styles$1['item_menu-collapsed']]: !props.isMenuOpen
321
- }),
322
- onClick: props.onClick,
323
- onMouseEnter: props.onMouseEnter,
324
- onMouseLeave: props.onMouseLeave,
325
- onFocus: props.onMouseEnter,
326
- onBlur: props.onMouseLeave,
327
- "data-menuitem": props.identifier,
328
- children: jsxRuntime.jsx("div", {
329
- className: styles$1['item-link'],
330
- children: props.children
331
- })
332
- });
333
- };
334
- MenuItem$1.propTypes = process.env.NODE_ENV !== "production" ? {
335
- hasSubmenu: _pt__default["default"].bool.isRequired,
336
- isActive: _pt__default["default"].bool.isRequired,
337
- isMainMenuRouteActive: _pt__default["default"].bool,
338
- isMenuOpen: _pt__default["default"].bool.isRequired,
339
- onClick: _pt__default["default"].func.isRequired,
340
- onMouseEnter: _pt__default["default"].oneOfType([_pt__default["default"].func, _pt__default["default"].func]),
341
- onMouseLeave: _pt__default["default"].oneOfType([_pt__default["default"].func, _pt__default["default"].func]),
342
- children: _pt__default["default"].node.isRequired,
343
- identifier: _pt__default["default"].string
344
- } : {};
345
- MenuItem$1.displayName = 'MenuItem';
346
- const menuItemLinkDefaultProps = {
347
- exactMatch: false
348
- };
349
- const NavLinkWrapper = props => {
350
- if (props.isSubmenuLink) {
351
- return jsxRuntime.jsx("div", {
352
- className: styles$1['text-link-sublist-wrapper'],
353
- children: props.children
354
- });
355
- }
356
- return jsxRuntime.jsx(jsxRuntime.Fragment, {
357
- children: props.children
358
- });
359
- };
360
- NavLinkWrapper.propTypes = process.env.NODE_ENV !== "production" ? {
361
- linkTo: _pt__default["default"].string,
362
- exactMatch: _pt__default["default"].bool.isRequired,
363
- children: _pt__default["default"].node.isRequired,
364
- onClick: _pt__default["default"].func,
365
- useFullRedirectsForLinks: _pt__default["default"].bool,
366
- isSubmenuLink: _pt__default["default"].bool
367
- } : {};
368
- const NavLinkClickableContentWrapper = props => {
369
- if (props.isSubmenuLink) {
370
- return jsxRuntime.jsx("div", {
371
- className: styles$1['navlink-clickable-content'],
372
- children: props.children
373
- });
374
- }
375
- return jsxRuntime.jsx(jsxRuntime.Fragment, {
376
- children: props.children
377
- });
378
- };
379
- NavLinkClickableContentWrapper.propTypes = process.env.NODE_ENV !== "production" ? {
380
- linkTo: _pt__default["default"].string,
381
- exactMatch: _pt__default["default"].bool.isRequired,
382
- children: _pt__default["default"].node.isRequired,
383
- onClick: _pt__default["default"].func,
384
- useFullRedirectsForLinks: _pt__default["default"].bool,
385
- isSubmenuLink: _pt__default["default"].bool
386
- } : {};
387
- const MenuItemLink = props => {
388
- const redirectTo = targetUrl => useIsServedByProxy.location.replace(targetUrl);
389
- if (props.linkTo) {
390
- const linkLevel = props.isSubmenuLink ? 'text-link-sublist' : 'text-link';
391
- return jsxRuntime.jsx(NavLinkWrapper, _objectSpread$2(_objectSpread$2({}, props), {}, {
392
- children: jsxRuntime.jsx(reactRouterDom.NavLink, {
393
- to: props.linkTo,
394
- exact: props.exactMatch,
395
- activeClassName: styles$1.highlighted,
396
- className: styles$1[linkLevel],
397
- "data-link-level": linkLevel,
398
- onClick: event => {
399
- if (props.linkTo && props.useFullRedirectsForLinks) {
400
- event.preventDefault();
401
- redirectTo(props.linkTo);
402
- } else if (props.onClick) {
403
- event.persist();
404
- props.onClick(event);
405
- }
406
- },
407
- children: jsxRuntime.jsx(NavLinkClickableContentWrapper, _objectSpread$2(_objectSpread$2({}, props), {}, {
408
- children: props.children
409
- }))
410
- })
411
- }));
412
- }
413
- return jsxRuntime.jsx(jsxRuntime.Fragment, {
414
- children: props.children
415
- });
416
- };
417
- MenuItemLink.propTypes = process.env.NODE_ENV !== "production" ? {
418
- linkTo: _pt__default["default"].string,
419
- exactMatch: _pt__default["default"].bool.isRequired,
420
- children: _pt__default["default"].node.isRequired,
421
- onClick: _pt__default["default"].func,
422
- useFullRedirectsForLinks: _pt__default["default"].bool,
423
- isSubmenuLink: _pt__default["default"].bool
424
- } : {};
425
- MenuItemLink.displayName = 'MenuItemLink';
426
- MenuItemLink.defaultProps = menuItemLinkDefaultProps;
427
- const isEveryMenuVisibilitySetToHidden = (menuVisibilities, namesOfMenuVisibilities) => _Array$isArray__default["default"](namesOfMenuVisibilities) && namesOfMenuVisibilities.length > 0 && _everyInstanceProperty__default["default"](namesOfMenuVisibilities).call(namesOfMenuVisibilities, nameOfMenuVisibility => menuVisibilities && menuVisibilities[nameOfMenuVisibility] === true);
428
- const restrictedMenuItemDefaultProps = {
429
- permissions: []
430
- };
431
- function isLongLivedFlag(flag) {
432
- return typeof (flag === null || flag === void 0 ? void 0 : flag.value) === 'boolean';
433
- }
434
- const RestrictedMenuItem = props => {
435
- // NOTE: Custom application are activated/deactivated while their
436
- // visibility is not controlled via a visibiility overwrite.
437
- const flagVariation = reactBroadcast.useFlagVariation(props.featureToggle);
438
- if (isEveryMenuVisibilitySetToHidden(props.menuVisibilities, props.namesOfMenuVisibilities)) return null;
439
- const permissionsWrapper = _Array$isArray__default["default"](props.permissions) && props.permissions.length > 0 || _Array$isArray__default["default"](props.dataFences) && props.dataFences.length > 0 ? jsxRuntime.jsx(permissions.RestrictedByPermissions, {
440
- permissions: props.permissions,
441
- actionRights: props.actionRights,
442
- dataFences: props.dataFences,
443
- selectDataFenceData: demandedDataFence => {
444
- switch (demandedDataFence.type) {
445
- case 'store':
446
- return demandedDataFence.actualDataFenceValues;
447
- default:
448
- return null;
449
- }
450
- }
451
- // Always check that some of the given permissions match.
452
- ,
453
- shouldMatchSomePermissions: true,
454
- projectPermissions: props.projectPermissions,
455
- children: props.children
456
- }) : jsxRuntime.jsx(jsxRuntime.Fragment, {
457
- children: props.children
458
- });
459
- if (props.featureToggle) {
460
- // A regular short-lived feature toggle
461
- if (flagVariation === true) return permissionsWrapper;
462
- // A long-lived feature toggle with `{ value: boolean, string: reason }`
463
- if (isLongLivedFlag(flagVariation) && flagVariation.value === true) return permissionsWrapper;
464
- return null;
465
- }
466
- return permissionsWrapper;
467
- };
468
- RestrictedMenuItem.propTypes = process.env.NODE_ENV !== "production" ? {
469
- featureToggle: _pt__default["default"].string,
470
- namesOfMenuVisibilities: _pt__default["default"].arrayOf(_pt__default["default"].string),
471
- projectPermissions: _pt__default["default"].shape({
472
- permissions: _pt__default["default"].oneOfType([_pt__default["default"].any, _pt__default["default"].oneOf([null])]),
473
- actionRights: _pt__default["default"].oneOfType([_pt__default["default"].any, _pt__default["default"].oneOf([null])]),
474
- dataFences: _pt__default["default"].oneOfType([_pt__default["default"].any, _pt__default["default"].oneOf([null])])
475
- }).isRequired,
476
- menuVisibilities: _pt__default["default"].oneOfType([_pt__default["default"].any, _pt__default["default"].oneOf([null])]),
477
- keyOfMenuItem: _pt__default["default"].string.isRequired,
478
- permissions: _pt__default["default"].arrayOf(_pt__default["default"].string).isRequired,
479
- actionRights: _pt__default["default"].arrayOf(_pt__default["default"].any),
480
- dataFences: _pt__default["default"].arrayOf(_pt__default["default"].any),
481
- children: _pt__default["default"].node.isRequired
482
- } : {};
483
- RestrictedMenuItem.displayName = 'RestrictedMenuItem';
484
- RestrictedMenuItem.defaultProps = restrictedMenuItemDefaultProps;
485
- const MenuLabel = props => {
486
- var _context;
487
- const localizedLabel = _findInstanceProperty__default["default"](_context = props.labelAllLocales).call(_context, loc => {
488
- var _context2;
489
- return _startsWithInstanceProperty__default["default"](_context2 = props.applicationLocale).call(_context2, loc.locale);
490
- });
491
- if (localizedLabel) return jsxRuntime.jsx(jsxRuntime.Fragment, {
492
- children: localizedLabel.value
493
- });
494
- if (props.defaultLabel) return jsxRuntime.jsx(jsxRuntime.Fragment, {
495
- children: props.defaultLabel
496
- });
497
- return jsxRuntime.jsx(jsxRuntime.Fragment, {
498
- children: constants.NO_VALUE_FALLBACK
499
- });
500
- };
501
- MenuLabel.propTypes = {
502
- labelAllLocales: _pt__default["default"].arrayOf(_pt__default["default"].any).isRequired,
503
- defaultLabel: _pt__default["default"].string,
504
- applicationLocale: _pt__default["default"].string.isRequired
505
- };
506
- const NavBarLayout$1 = /*#__PURE__*/react.forwardRef((props, ref) => jsxRuntime.jsxs(jsxRuntime.Fragment, {
507
- children: [jsxRuntime.jsx(react$1.Global, {
508
- styles: /*#__PURE__*/react$1.css(compiledStyles$1.global, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:NavBarLayout;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1lbnUtaXRlbXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNmbUIiLCJmaWxlIjoibWVudS1pdGVtcy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBmb3J3YXJkUmVmLFxuICBsYXp5LFxuICB0eXBlIE1vdXNlRXZlbnRIYW5kbGVyLFxuICB0eXBlIEZvY3VzRXZlbnRIYW5kbGVyLFxuICB0eXBlIE1vdXNlRXZlbnQsXG4gIHR5cGUgS2V5Ym9hcmRFdmVudCxcbiAgdHlwZSBSZWFjdE5vZGUsXG4gIHR5cGUgU3ludGhldGljRXZlbnQsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEdsb2JhbCwgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgdXNlRmxhZ1ZhcmlhdGlvbiB9IGZyb20gJ0BmbG9wZmxpcC9yZWFjdC1icm9hZGNhc3QnO1xuaW1wb3J0IHR5cGUgeyBURmxhZ1ZhcmlhdGlvbiB9IGZyb20gJ0BmbG9wZmxpcC90eXBlcyc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCB7IE5hdkxpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB0eXBlIHtcbiAgVE5vcm1hbGl6ZWRNZW51VmlzaWJpbGl0aWVzLFxuICBUTm9ybWFsaXplZFBlcm1pc3Npb25zLFxuICBUTm9ybWFsaXplZEFjdGlvblJpZ2h0cyxcbiAgVE5vcm1hbGl6ZWREYXRhRmVuY2VzLFxufSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hcHBsaWNhdGlvbi1zaGVsbC1jb25uZWN0b3JzJztcbmltcG9ydCBNaXNzaW5nSW1hZ2VTdmcgZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXNzZXRzL2ltYWdlcy9kaWFnb25hbC1saW5lLnN2Zyc7XG5pbXBvcnQgeyBOT19WQUxVRV9GQUxMQkFDSyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBSZXN0cmljdGVkQnlQZXJtaXNzaW9ucyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL3Blcm1pc3Npb25zJztcbmltcG9ydCB7XG4gIEJhY2tJY29uLFxuICBTaWRlYmFyRXhwYW5kSWNvbixcbiAgU2lkZWJhckNvbGxhcHNlSWNvbixcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaWNvbnMnO1xuaW1wb3J0IElubGluZVN2ZyBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucy9pbmxpbmUtc3ZnJztcbmltcG9ydCB7IERJTUVOU0lPTlMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHR5cGUge1xuICBURGF0YUZlbmNlLFxuICBUQWN0aW9uUmlnaHQsXG4gIFRMb2NhbGl6ZWRGaWVsZCxcbn0gZnJvbSAnLi4vLi4vdHlwZXMvZ2VuZXJhdGVkL3Byb3h5JztcbmltcG9ydCB7IGxvY2F0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbHMvbG9jYXRpb24nO1xuLy8gaHR0cHM6Ly9iYWJlbGpzLmlvL2Jsb2cvMjAxNy8wOS8xMS96ZXJvLWNvbmZpZy13aXRoLWJhYmVsLW1hY3Jvc1xuaW1wb3J0IGNvbXBpbGVkU3R5bGVzIGZyb20gLyogcHJldmFsICovICcuL25hdmJhci5zdHlsZXMnO1xuXG5jb25zdCBzdHlsZXMgPSBjb21waWxlZFN0eWxlcy5qc29uTWFwO1xuXG50eXBlIFRQcm9qZWN0UGVybWlzc2lvbnMgPSB7XG4gIHBlcm1pc3Npb25zOiBUTm9ybWFsaXplZFBlcm1pc3Npb25zIHwgbnVsbDtcbiAgYWN0aW9uUmlnaHRzOiBUTm9ybWFsaXplZEFjdGlvblJpZ2h0cyB8IG51bGw7XG4gIGRhdGFGZW5jZXM6IFROb3JtYWxpemVkRGF0YUZlbmNlcyB8IG51bGw7XG59O1xuXG5jb25zdCBIZWFydEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi9sZWdhY3ktaWNvbnMvaGVhcnQnKSk7XG5jb25zdCBQYXBlcmNsaXBJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3BhcGVyY2xpcCcpKTtcbmNvbnN0IFBsdWdpbkljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi9sZWdhY3ktaWNvbnMvcGx1Z2luJykpO1xuY29uc3QgUm9ja2V0SWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9yb2NrZXQnKSk7XG5jb25zdCBTdGFySWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9zdGFyJykpO1xuY29uc3QgQ29ubmVjdGVkU3F1YXJlSWNvbiA9IGxhenkoXG4gICgpID0+IGltcG9ydCgnLi9sZWdhY3ktaWNvbnMvY29ubmVjdGVkLXNxdWFyZScpXG4pO1xuY29uc3QgV29ybGRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3dvcmxkJykpO1xuY29uc3QgVHJlZVN0cnVjdHVyZUljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi9sZWdhY3ktaWNvbnMvdHJlZS1zdHJ1Y3R1cmUnKSk7XG5jb25zdCBVc2VyRmlsbGVkSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy91c2VyLWZpbGxlZCcpKTtcbmNvbnN0IFNwZWVkb21ldGVySWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9zcGVlZG9tZXRlcicpKTtcbmNvbnN0IFRhZ011bHRpSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy90YWctbXVsdGknKSk7XG5jb25zdCBDYXJ0SWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9jYXJ0JykpO1xuY29uc3QgQm94SWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9ib3gnKSk7XG5jb25zdCBHZWFySWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9nZWFyJykpO1xuY29uc3QgTGlzdFdpdGhTZWFyY2hJY29uID0gbGF6eShcbiAgKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9saXN0LXdpdGgtc2VhcmNoJylcbik7XG5cbnR5cGUgSWNvblByb3BzID0gUGFyYW1ldGVyczx0eXBlb2YgQmFja0ljb24+WzBdO1xudHlwZSBJY29uU3dpdGNoZXJQcm9wcyA9IHsgaWNvbjogc3RyaW5nIH0gJiBJY29uUHJvcHM7XG4vLyBUaGUgaWNvbiBpcyBleHBlY3RlZCB0byBiZSB0aGUgYHN2Z2AgZG9jdW1lbnQgYXMgYSBzdHJpbmcuXG4vLyBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgcHVycG9zZXMsIHdlIHN0aWxsIHN1cHBvcnQgdGhlIGxlZ2FjeSBcImljb24gbmFtZVwiLFxuLy8gd2hpY2ggd2UgdGhlbiBtYXAgdG8gb25lIG9mIHRoZSBwcmUtZGVmaW5lZCBpY29ucy5cbi8vIEV2ZW50dWFsbHksIHdlIHdhbnQgdG8gZ2V0IHJpZCBvZiB0aGlzIFwic3dpdGNoXCIgbG9naWMuXG5jb25zdCBJY29uU3dpdGNoZXIgPSAoeyBpY29uLCAuLi5pY29uUHJvcHMgfTogSWNvblN3aXRjaGVyUHJvcHMpID0+IHtcbiAgaWYgKGljb24uaW5jbHVkZXMoJzxzdmcnKSkge1xuICAgIHJldHVybiA8SW5saW5lU3ZnIGRhdGE9e2ljb259IHsuLi5pY29uUHJvcHN9IC8+O1xuICB9XG4gIC8vIEJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IGZvciBhcHBzIHVzaW5nIHRoZSBcImljb24gbmFtZVwiLlxuICBzd2l0Y2ggKGljb24pIHtcbiAgICAvLyBMZWdhY3kgYXBwbGljYXRpb24gaWNvbnNcbiAgICAvLyBUT0RPOiBUbyBiZSByZW1vdmVkIG9uY2UgTUMgYXBwbGljYXRpb25zIGljb25zIHVwZGF0ZXMgYXJlIHB1Ymxpc2hlZFxuICAgIGNhc2UgJ1RyZWVTdHJ1Y3R1cmVJY29uJzpcbiAgICAgIHJldHVybiA8VHJlZVN0cnVjdHVyZUljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnVXNlckZpbGxlZEljb24nOlxuICAgICAgcmV0dXJuIDxVc2VyRmlsbGVkSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdTcGVlZG9tZXRlckljb24nOlxuICAgICAgcmV0dXJuIDxTcGVlZG9tZXRlckljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnVGFnTXVsdGlJY29uJzpcbiAgICAgIHJldHVybiA8VGFnTXVsdGlJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ0NhcnRJY29uJzpcbiAgICAgIHJldHVybiA8Q2FydEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnQm94SWNvbic6XG4gICAgICByZXR1cm4gPEJveEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnR2Vhckljb24nOlxuICAgICAgcmV0dXJuIDxHZWFySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdMaXN0V2l0aFNlYXJjaEljb24nOlxuICAgICAgcmV0dXJuIDxMaXN0V2l0aFNlYXJjaEljb24gey4uLmljb25Qcm9wc30gLz47XG5cbiAgICAvLyBDdXN0b20gYXBwbGljYXRpb24gaWNvbnMgc2V0XG4gICAgY2FzZSAnSGVhcnRJY29uJzpcbiAgICAgIHJldHVybiA8SGVhcnRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1BhcGVyY2xpcEljb24nOlxuICAgICAgcmV0dXJuIDxQYXBlcmNsaXBJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1BsdWdpbkljb24nOlxuICAgICAgcmV0dXJuIDxQbHVnaW5JY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1JvY2tldEljb24nOlxuICAgICAgcmV0dXJuIDxSb2NrZXRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1N0YXJJY29uJzpcbiAgICAgIHJldHVybiA8U3Rhckljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnQ29ubmVjdGVkU3F1YXJlSWNvbic6XG4gICAgICByZXR1cm4gPENvbm5lY3RlZFNxdWFyZUljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgLy8gRm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG4gICAgY2FzZSAnV29ybGRJY29uJzpcbiAgICAgIHJldHVybiA8V29ybGRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gPGltZyBzcmM9e01pc3NpbmdJbWFnZVN2Z30gYWx0PVwibWlzc2luZyBpY29uXCIgLz47XG4gIH1cbn07XG5JY29uU3dpdGNoZXIuZGlzcGxheU5hbWUgPSAnSWNvblN3aXRjaGVyJztcblxudHlwZSBNZW51RXhwYW5kZXJQcm9wcyA9IHtcbiAgaXNWaXNpYmxlOiBib29sZWFuO1xuICBvbkNsaWNrOiAoXG4gICAgZTogTW91c2VFdmVudDxIVE1MRGl2RWxlbWVudD4gfCBLZXlib2FyZEV2ZW50PEhUTUxEaXZFbGVtZW50PlxuICApID0+IHZvaWQ7XG4gIGlzTWVudU9wZW46IGJvb2xlYW47XG59O1xuXG5jb25zdCBnZXRJY29uID0gKHsgaXNNZW51T3BlbiB9OiBNZW51RXhwYW5kZXJQcm9wcykgPT4ge1xuICBjb25zdCBJY29uID0gaXNNZW51T3BlbiA/IFNpZGViYXJDb2xsYXBzZUljb24gOiBTaWRlYmFyRXhwYW5kSWNvbjtcbiAgcmV0dXJuIDxJY29uIGNvbG9yPVwic3VyZmFjZVwiIHNpemU9XCJiaWdcIiAvPjtcbn07XG5cbmNvbnN0IE1lbnVFeHBhbmRlciA9IChwcm9wczogTWVudUV4cGFuZGVyUHJvcHMpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8bGlcbiAgICAgIGtleT1cImV4cGFuZGVyXCJcbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcyhzdHlsZXMuZXhwYW5kZXIsIHtcbiAgICAgICAgW3N0eWxlcy5oaWRkZW5dOiAhcHJvcHMuaXNWaXNpYmxlLFxuICAgICAgfSl9XG4gICAgPlxuICAgICAgPGRpdlxuICAgICAgICBvbkNsaWNrPXtwcm9wcy5vbkNsaWNrfVxuICAgICAgICBvbktleURvd249eyhlKSA9PiB7XG4gICAgICAgICAgaWYgKGUua2V5ID09PSAnRW50ZXInKSB7XG4gICAgICAgICAgICBwcm9wcy5vbkNsaWNrKGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfX1cbiAgICAgICAgdGFiSW5kZXg9ezB9XG4gICAgICAgIGNsYXNzTmFtZT17c3R5bGVzWydleHBhbmQtaWNvbiddfVxuICAgICAgICBkYXRhLXRlc3RpZD1cIm1lbnUtZXhwYW5kZXJcIlxuICAgICAgPlxuICAgICAgICB7Z2V0SWNvbihwcm9wcyl9XG4gICAgICA8L2Rpdj5cbiAgICA8L2xpPlxuICApO1xufTtcbk1lbnVFeHBhbmRlci5kaXNwbGF5TmFtZSA9ICdNZW51RXhwYW5kZXInO1xuXG5jb25zdCBGYWRlZCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgwLCAxNTMsIDEzNSwgMCkgMCUsICMwMGIzOWUgMTAwJSk7XG4gIHotaW5kZXg6IDE7XG5gO1xuXG50eXBlIE1lbnVHcm91cFByb3BzID0ge1xuICBpZDogc3RyaW5nO1xuICBsZXZlbDogMSB8IDI7XG4gIGlzQWN0aXZlPzogYm9vbGVhbjtcbiAgaXNFeHBhbmRlZD86IGJvb2xlYW47XG4gIGhhc1N1Ym1lbnU/OiBib29sZWFuO1xuICBjaGlsZHJlbj86IFJlYWN0Tm9kZTtcbiAgc3VibWVudVZlcnRpY2FsUG9zaXRpb24/OiBudW1iZXI7XG4gIGlzU3VibWVudUFib3ZlTWVudUl0ZW0/OiBib29sZWFuO1xufTtcblxuY29uc3QgZ2V0U3VibWVudVBvc2l0aW9uQmFzZWRPbk1lbnVJdGVtUG9zaXRpb24gPSAoXG4gIGlzU3VibWVudUFib3ZlTWVudUl0ZW0/OiBib29sZWFuLFxuICBzdWJtZW51VmVydGljYWxQb3NpdGlvbj86IG51bWJlclxuKSA9PiBjc3NgXG4gICR7aXNTdWJtZW51QWJvdmVNZW51SXRlbSA/ICdib3R0b20nIDogJ3RvcCd9OiAke3N1Ym1lbnVWZXJ0aWNhbFBvc2l0aW9ufXB4XG5gO1xuXG5jb25zdCBnZXRDb250YWluZXJQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uID0gKFxuICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtPzogYm9vbGVhbixcbiAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZD86IGJvb2xlYW4sXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkPzogYm9vbGVhblxuKSA9PiBbXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmXG4gICAgY3NzYFxuICAgICAgJHtpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtXG4gICAgICAgID8gJ2JvdHRvbSdcbiAgICAgICAgOiAndG9wJ306IC0ke0RJTUVOU0lPTlMubmF2TWVudUl0ZW1IZWlnaHR9O1xuICAgIGAsXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgJiZcbiAgICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtICYmXG4gICAgY3NzYFxuICAgICAgYm90dG9tOiAwO1xuICAgIGAsXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgJiZcbiAgICAhaXNTdWJtZW51QWJvdmVNZW51SXRlbSAmJlxuICAgIGNzc2BcbiAgICAgIHRvcDogMDtcbiAgICBgLFxuXTtcblxuY29uc3QgTWVudUdyb3VwID0gZm9yd2FyZFJlZjxIVE1MVUxpc3RFbGVtZW50LCBNZW51R3JvdXBQcm9wcz4oKHByb3BzLCByZWYpID0+IHtcbiAgaWYgKFxuICAgIHByb3BzLmlzRXhwYW5kZWQgJiZcbiAgICAoKHByb3BzLmxldmVsID09PSAyICYmICFwcm9wcy5oYXNTdWJtZW51KSB8fFxuICAgICAgKHByb3BzLmxldmVsID09PSAyICYmICFwcm9wcy5pc0FjdGl2ZSkpXG4gICkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGNvbnN0IGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgPVxuICAgIHByb3BzLmxldmVsID09PSAyICYmIHByb3BzLmlzQWN0aXZlICYmIHByb3BzLmlzRXhwYW5kZWQ7XG4gIGNvbnN0IGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkID1cbiAgICBwcm9wcy5sZXZlbCA9PT0gMiAmJiBwcm9wcy5pc0FjdGl2ZSAmJiAhcHJvcHMuaXNFeHBhbmRlZDtcbiAgcmV0dXJuIChcbiAgICA8dWxcbiAgICAgIHJlZj17cmVmICYmIHByb3BzLmxldmVsID09PSAyID8gcmVmIDogbnVsbH1cbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICAke2dldFN1Ym1lbnVQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uKFxuICAgICAgICAgIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgICAgcHJvcHMuc3VibWVudVZlcnRpY2FsUG9zaXRpb25cbiAgICAgICAgKX07XG4gICAgICBcbiAgICAgIC8vIHByZXZlbnQgZ2xpdGNoeSBiZWhhdmlvciBkdXJpbmcgdGhlIGluaXRpYWwgcmVuZGVyIHdoZW4gdGhlIHN1Ym1lbnUncyB2ZXJ0aWNhbCBwb3NpdGlvbiBpcyBldmFsdWF0ZWQgYXMgMFxuICAgICAgJHtcbiAgICAgICAgcHJvcHMuc3VibWVudVZlcnRpY2FsUG9zaXRpb24gPT09IDAgJiZcbiAgICAgICAgY3NzYFxuICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgYFxuICAgICAgfVxuXG4gICAgICAgIC8vIGFkZGl0aW9uYWwgc3R5bGluZyBvZiB0aGUgcHNldWRvLWVsZW1lbnQgZW5hYmxpbmcgc21vb3RoIGNvdXJzb3IgbW92ZW1lbnRcbiAgICAgICAgOjpiZWZvcmUge1xuICAgICAgICAgICR7Z2V0Q29udGFpbmVyUG9zaXRpb25CYXNlZE9uTWVudUl0ZW1Qb3NpdGlvbihcbiAgICAgICAgICAgIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkLFxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWRcbiAgICAgICAgICApfVxuICAgICAgYH1cbiAgICAgIGlkPXtgZ3JvdXAtJHtwcm9wcy5pZH1gfVxuICAgICAgZGF0YS10ZXN0aWQ9e2Bncm91cC0ke3Byb3BzLmlkfWB9XG4gICAgICByb2xlPVwibWVudVwiXG4gICAgICBhcmlhLWV4cGFuZGVkPXtcbiAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCB8fFxuICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZFxuICAgICAgfVxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKFxuICAgICAgICB7IFtzdHlsZXMubGlzdF06IHByb3BzLmxldmVsID09PSAxIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0J11dOiBwcm9wcy5sZXZlbCA9PT0gMixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtZXhwYW5kZWRfX2FjdGl2ZSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0LWNvbGxhcHNlZF9fZW1wdHknXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCAmJiAhcHJvcHMuaGFzU3VibWVudSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtY29sbGFwc2VkX19hY3RpdmUnXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCAmJlxuICAgICAgICAgICAgIXByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0LWNvbGxhcHNlZF9fYWN0aXZlX19hYm92ZSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzLnN1Ymxpc3RfX2luYWN0aXZlXTogIWlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkLFxuICAgICAgICB9XG4gICAgICApfVxuICAgID5cbiAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICA8L3VsPlxuICApO1xufSk7XG5NZW51R3JvdXAuZGlzcGxheU5hbWUgPSAnTWVudUdyb3VwJztcblxudHlwZSBNZW51SXRlbVByb3BzID0ge1xuICBoYXNTdWJtZW51OiBib29sZWFuO1xuICBpc0FjdGl2ZTogYm9vbGVhbjtcbiAgaXNNYWluTWVudVJvdXRlQWN0aXZlPzogYm9vbGVhbjtcbiAgaXNNZW51T3BlbjogYm9vbGVhbjtcbiAgb25DbGljazogTW91c2VFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+O1xuICBvbk1vdXNlRW50ZXI/OlxuICAgIHwgTW91c2VFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+XG4gICAgfCBGb2N1c0V2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD47XG4gIG9uTW91c2VMZWF2ZT86XG4gICAgfCBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD5cbiAgICB8IEZvY3VzRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50PjtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgaWRlbnRpZmllcj86IHN0cmluZztcbn07XG5jb25zdCBNZW51SXRlbSA9IChwcm9wczogTWVudUl0ZW1Qcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxsaVxuICAgICAgcm9sZT1cIm1lbnVpdGVtXCJcbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcyhzdHlsZXNbJ2xpc3QtaXRlbSddLCB7XG4gICAgICAgIFtzdHlsZXMuaXRlbV9fYWN0aXZlXTogcHJvcHMuaXNBY3RpdmUsXG4gICAgICAgIFtzdHlsZXNbJ2l0ZW1fbWVudV9fYWN0aXZlJ11dOiBwcm9wcy5pc01haW5NZW51Um91dGVBY3RpdmUgPz8gZmFsc2UsXG4gICAgICAgIFtzdHlsZXNbJ2l0ZW1fbWVudS1jb2xsYXBzZWQnXV06ICFwcm9wcy5pc01lbnVPcGVuLFxuICAgICAgfSl9XG4gICAgICBvbkNsaWNrPXtwcm9wcy5vbkNsaWNrfVxuICAgICAgb25Nb3VzZUVudGVyPXtwcm9wcy5vbk1vdXNlRW50ZXIgYXMgTW91c2VFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+fVxuICAgICAgb25Nb3VzZUxlYXZlPXtwcm9wcy5vbk1vdXNlTGVhdmUgYXMgTW91c2VFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+fVxuICAgICAgb25Gb2N1cz17cHJvcHMub25Nb3VzZUVudGVyIGFzIEZvY3VzRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50Pn1cbiAgICAgIG9uQmx1cj17cHJvcHMub25Nb3VzZUxlYXZlIGFzIEZvY3VzRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50Pn1cbiAgICAgIGRhdGEtbWVudWl0ZW09e3Byb3BzLmlkZW50aWZpZXJ9XG4gICAgPlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaXRlbS1saW5rJ119Pntwcm9wcy5jaGlsZHJlbn08L2Rpdj5cbiAgICA8L2xpPlxuICApO1xufTtcblxuTWVudUl0ZW0uZGlzcGxheU5hbWUgPSAnTWVudUl0ZW0nO1xuXG5leHBvcnQgdHlwZSBNZW51SXRlbUxpbmtQcm9wcyA9IHtcbiAgbGlua1RvPzogc3RyaW5nO1xuICBleGFjdE1hdGNoOiBib29sZWFuO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBvbkNsaWNrPzogKGV2ZW50OiBTeW50aGV0aWNFdmVudDxIVE1MQW5jaG9yRWxlbWVudD4pID0+IHZvaWQ7XG4gIHVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rcz86IGJvb2xlYW47XG4gIGlzU3VibWVudUxpbms/OiBib29sZWFuO1xufTtcbmNvbnN0IG1lbnVJdGVtTGlua0RlZmF1bHRQcm9wczogUGljazxNZW51SXRlbUxpbmtQcm9wcywgJ2V4YWN0TWF0Y2gnPiA9IHtcbiAgZXhhY3RNYXRjaDogZmFsc2UsXG59O1xuY29uc3QgTmF2TGlua1dyYXBwZXIgPSAocHJvcHM6IE1lbnVJdGVtTGlua1Byb3BzKSA9PiB7XG4gIGlmIChwcm9wcy5pc1N1Ym1lbnVMaW5rKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ3RleHQtbGluay1zdWJsaXN0LXdyYXBwZXInXX0+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5jb25zdCBOYXZMaW5rQ2xpY2thYmxlQ29udGVudFdyYXBwZXIgPSAocHJvcHM6IE1lbnVJdGVtTGlua1Byb3BzKSA9PiB7XG4gIGlmIChwcm9wcy5pc1N1Ym1lbnVMaW5rKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ25hdmxpbmstY2xpY2thYmxlLWNvbnRlbnQnXX0+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5cbmNvbnN0IE1lbnVJdGVtTGluayA9IChwcm9wczogTWVudUl0ZW1MaW5rUHJvcHMpID0+IHtcbiAgY29uc3QgcmVkaXJlY3RUbyA9ICh0YXJnZXRVcmw6IHN0cmluZykgPT4gbG9jYXRpb24ucmVwbGFjZSh0YXJnZXRVcmwpO1xuICBpZiAocHJvcHMubGlua1RvKSB7XG4gICAgY29uc3QgbGlua0xldmVsID0gcHJvcHMuaXNTdWJtZW51TGluayA/ICd0ZXh0LWxpbmstc3VibGlzdCcgOiAndGV4dC1saW5rJztcbiAgICByZXR1cm4gKFxuICAgICAgPE5hdkxpbmtXcmFwcGVyIHsuLi5wcm9wc30+XG4gICAgICAgIDxOYXZMaW5rXG4gICAgICAgICAgdG89e3Byb3BzLmxpbmtUb31cbiAgICAgICAgICBleGFjdD17cHJvcHMuZXhhY3RNYXRjaH1cbiAgICAgICAgICBhY3RpdmVDbGFzc05hbWU9e3N0eWxlcy5oaWdobGlnaHRlZH1cbiAgICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1tsaW5rTGV2ZWxdfVxuICAgICAgICAgIGRhdGEtbGluay1sZXZlbD17bGlua0xldmVsfVxuICAgICAgICAgIG9uQ2xpY2s9eyhldmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKHByb3BzLmxpbmtUbyAmJiBwcm9wcy51c2VGdWxsUmVkaXJlY3RzRm9yTGlua3MpIHtcbiAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgcmVkaXJlY3RUbyhwcm9wcy5saW5rVG8pO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChwcm9wcy5vbkNsaWNrKSB7XG4gICAgICAgICAgICAgIGV2ZW50LnBlcnNpc3QoKTtcbiAgICAgICAgICAgICAgcHJvcHMub25DbGljayhldmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxOYXZMaW5rQ2xpY2thYmxlQ29udGVudFdyYXBwZXIgey4uLnByb3BzfT5cbiAgICAgICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgICAgICA8L05hdkxpbmtDbGlja2FibGVDb250ZW50V3JhcHBlcj5cbiAgICAgICAgPC9OYXZMaW5rPlxuICAgICAgPC9OYXZMaW5rV3JhcHBlcj5cbiAgICApO1xuICB9XG4gIHJldHVybiA8Pntwcm9wcy5jaGlsZHJlbn08Lz47XG59O1xuTWVudUl0ZW1MaW5rLmRpc3BsYXlOYW1lID0gJ01lbnVJdGVtTGluayc7XG5NZW51SXRlbUxpbmsuZGVmYXVsdFByb3BzID0gbWVudUl0ZW1MaW5rRGVmYXVsdFByb3BzO1xuXG5jb25zdCBpc0V2ZXJ5TWVudVZpc2liaWxpdHlTZXRUb0hpZGRlbiA9IChcbiAgbWVudVZpc2liaWxpdGllcz86IFROb3JtYWxpemVkTWVudVZpc2liaWxpdGllcyB8IG51bGwsXG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPzogc3RyaW5nW11cbikgPT5cbiAgQXJyYXkuaXNBcnJheShuYW1lc09mTWVudVZpc2liaWxpdGllcykgJiZcbiAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXMubGVuZ3RoID4gMCAmJlxuICBuYW1lc09mTWVudVZpc2liaWxpdGllcy5ldmVyeShcbiAgICAobmFtZU9mTWVudVZpc2liaWxpdHkpID0+XG4gICAgICBtZW51VmlzaWJpbGl0aWVzICYmIG1lbnVWaXNpYmlsaXRpZXNbbmFtZU9mTWVudVZpc2liaWxpdHldID09PSB0cnVlXG4gICk7XG5cbnR5cGUgUmVzdHJpY3RlZE1lbnVJdGVtUHJvcHMgPSB7XG4gIGZlYXR1cmVUb2dnbGU/OiBzdHJpbmc7XG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPzogc3RyaW5nW107XG4gIHByb2plY3RQZXJtaXNzaW9uczogVFByb2plY3RQZXJtaXNzaW9ucztcbiAgbWVudVZpc2liaWxpdGllczogVE5vcm1hbGl6ZWRNZW51VmlzaWJpbGl0aWVzIHwgbnVsbDtcbiAga2V5T2ZNZW51SXRlbTogc3RyaW5nO1xuICBwZXJtaXNzaW9uczogc3RyaW5nW107XG4gIGFjdGlvblJpZ2h0cz86IFRBY3Rpb25SaWdodFtdO1xuICBkYXRhRmVuY2VzPzogVERhdGFGZW5jZVtdO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xufTtcbnR5cGUgVExvbmdMaXZlZEZsYWcgPSB7XG4gIHZhbHVlOiBib29sZWFuO1xuICByZWFzb24/OiBzdHJpbmc7XG59O1xuY29uc3QgcmVzdHJpY3RlZE1lbnVJdGVtRGVmYXVsdFByb3BzOiBQaWNrPFxuICBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcyxcbiAgJ3Blcm1pc3Npb25zJ1xuPiA9IHtcbiAgcGVybWlzc2lvbnM6IFtdLFxufTtcbmZ1bmN0aW9uIGlzTG9uZ0xpdmVkRmxhZyhcbiAgZmxhZzogVEZsYWdWYXJpYXRpb24gfCBUTG9uZ0xpdmVkRmxhZ1xuKTogZmxhZyBpcyBUTG9uZ0xpdmVkRmxhZyB7XG4gIHJldHVybiB0eXBlb2YgKGZsYWcgYXMgVExvbmdMaXZlZEZsYWcpPy52YWx1ZSA9PT0gJ2Jvb2xlYW4nO1xufVxuY29uc3QgUmVzdHJpY3RlZE1lbnVJdGVtID0gKHByb3BzOiBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcykgPT4ge1xuICAvLyBOT1RFOiBDdXN0b20gYXBwbGljYXRpb24gYXJlIGFjdGl2YXRlZC9kZWFjdGl2YXRlZCB3aGlsZSB0aGVpclxuICAvLyB2aXNpYmlsaXR5IGlzIG5vdCBjb250cm9sbGVkIHZpYSBhIHZpc2liaWlsaXR5IG92ZXJ3cml0ZS5cbiAgY29uc3QgZmxhZ1ZhcmlhdGlvbiA9IHVzZUZsYWdWYXJpYXRpb24ocHJvcHMuZmVhdHVyZVRvZ2dsZSk7XG4gIGlmIChcbiAgICBpc0V2ZXJ5TWVudVZpc2liaWxpdHlTZXRUb0hpZGRlbihcbiAgICAgIHByb3BzLm1lbnVWaXNpYmlsaXRpZXMsXG4gICAgICBwcm9wcy5uYW1lc09mTWVudVZpc2liaWxpdGllc1xuICAgIClcbiAgKVxuICAgIHJldHVybiBudWxsO1xuXG4gIGNvbnN0IHBlcm1pc3Npb25zV3JhcHBlciA9XG4gICAgKEFycmF5LmlzQXJyYXkocHJvcHMucGVybWlzc2lvbnMpICYmIHByb3BzLnBlcm1pc3Npb25zLmxlbmd0aCA+IDApIHx8XG4gICAgKEFycmF5LmlzQXJyYXkocHJvcHMuZGF0YUZlbmNlcykgJiYgcHJvcHMuZGF0YUZlbmNlcy5sZW5ndGggPiAwKSA/IChcbiAgICAgIDxSZXN0cmljdGVkQnlQZXJtaXNzaW9uc1xuICAgICAgICBwZXJtaXNzaW9ucz17cHJvcHMucGVybWlzc2lvbnN9XG4gICAgICAgIGFjdGlvblJpZ2h0cz17cHJvcHMuYWN0aW9uUmlnaHRzfVxuICAgICAgICBkYXRhRmVuY2VzPXtwcm9wcy5kYXRhRmVuY2VzfVxuICAgICAgICBzZWxlY3REYXRhRmVuY2VEYXRhPXsoZGVtYW5kZWREYXRhRmVuY2UpID0+IHtcbiAgICAgICAgICBzd2l0Y2ggKGRlbWFuZGVkRGF0YUZlbmNlLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ3N0b3JlJzpcbiAgICAgICAgICAgICAgcmV0dXJuIGRlbWFuZGVkRGF0YUZlbmNlLmFjdHVhbERhdGFGZW5jZVZhbHVlcztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfX1cbiAgICAgICAgLy8gQWx3YXlzIGNoZWNrIHRoYXQgc29tZSBvZiB0aGUgZ2l2ZW4gcGVybWlzc2lvbnMgbWF0Y2guXG4gICAgICAgIHNob3VsZE1hdGNoU29tZVBlcm1pc3Npb25zPXt0cnVlfVxuICAgICAgICBwcm9qZWN0UGVybWlzc2lvbnM9e3Byb3BzLnByb2plY3RQZXJtaXNzaW9uc31cbiAgICAgID5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9SZXN0cmljdGVkQnlQZXJtaXNzaW9ucz5cbiAgICApIDogKFxuICAgICAgPD57cHJvcHMuY2hpbGRyZW59PC8+XG4gICAgKTtcblxuICBpZiAocHJvcHMuZmVhdHVyZVRvZ2dsZSkge1xuICAgIC8vIEEgcmVndWxhciBzaG9ydC1saXZlZCBmZWF0dXJlIHRvZ2dsZVxuICAgIGlmIChmbGFnVmFyaWF0aW9uID09PSB0cnVlKSByZXR1cm4gcGVybWlzc2lvbnNXcmFwcGVyO1xuICAgIC8vIEEgbG9uZy1saXZlZCBmZWF0dXJlIHRvZ2dsZSB3aXRoIGB7IHZhbHVlOiBib29sZWFuLCBzdHJpbmc6IHJlYXNvbiB9YFxuICAgIGlmIChpc0xvbmdMaXZlZEZsYWcoZmxhZ1ZhcmlhdGlvbikgJiYgZmxhZ1ZhcmlhdGlvbi52YWx1ZSA9PT0gdHJ1ZSlcbiAgICAgIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG59O1xuUmVzdHJpY3RlZE1lbnVJdGVtLmRpc3BsYXlOYW1lID0gJ1Jlc3RyaWN0ZWRNZW51SXRlbSc7XG5SZXN0cmljdGVkTWVudUl0ZW0uZGVmYXVsdFByb3BzID0gcmVzdHJpY3RlZE1lbnVJdGVtRGVmYXVsdFByb3BzO1xuXG50eXBlIE1lbnVMYWJlbFByb3BzID0ge1xuICBsYWJlbEFsbExvY2FsZXM6IFRMb2NhbGl6ZWRGaWVsZFtdO1xuICBkZWZhdWx0TGFiZWw/OiBzdHJpbmc7XG4gIGFwcGxpY2F0aW9uTG9jYWxlOiBzdHJpbmc7XG59O1xuY29uc3QgTWVudUxhYmVsID0gKHByb3BzOiBNZW51TGFiZWxQcm9wcykgPT4ge1xuICBjb25zdCBsb2NhbGl6ZWRMYWJlbCA9IHByb3BzLmxhYmVsQWxsTG9jYWxlcy5maW5kKChsb2MpID0+XG4gICAgcHJvcHMuYXBwbGljYXRpb25Mb2NhbGUuc3RhcnRzV2l0aChsb2MubG9jYWxlKVxuICApO1xuICBpZiAobG9jYWxpemVkTGFiZWwpIHJldHVybiA8Pntsb2NhbGl6ZWRMYWJlbC52YWx1ZX08Lz47XG4gIGlmIChwcm9wcy5kZWZhdWx0TGFiZWwpIHJldHVybiA8Pntwcm9wcy5kZWZhdWx0TGFiZWx9PC8+O1xuICByZXR1cm4gPD57Tk9fVkFMVUVfRkFMTEJBQ0t9PC8+O1xufTtcblxudHlwZSBUTmF2QmFyTGF5b3V0UHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59O1xuY29uc3QgTmF2QmFyTGF5b3V0ID0gZm9yd2FyZFJlZjxIVE1MRWxlbWVudCwgVE5hdkJhckxheW91dFByb3BzPihcbiAgKHByb3BzLCByZWYpID0+IChcbiAgICA8PlxuICAgICAgPEdsb2JhbFxuICAgICAgICBzdHlsZXM9e2Nzc2BcbiAgICAgICAgICAke2NvbXBpbGVkU3R5bGVzLmdsb2JhbH1cbiAgICAgICAgYH1cbiAgICAgIC8+XG4gICAgICA8bmF2XG4gICAgICAgIHJlZj17cmVmfVxuICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1snbGVmdC1uYXZpZ2F0aW9uJ119XG4gICAgICAgIGRhdGEtdGVzdD1cImxlZnQtbmF2aWdhdGlvblwiXG4gICAgICAgIGRhdGEtdGVzdGlkPVwibGVmdC1uYXZpZ2F0aW9uXCJcbiAgICAgID5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9uYXY+XG4gICAgPC8+XG4gIClcbik7XG5OYXZCYXJMYXlvdXQuZGlzcGxheU5hbWUgPSAnTmF2QmFyTGF5b3V0JztcblxudHlwZSBJdGVtQ29udGFpbmVyUHJvcHMgPSB7XG4gIGxhYmVsQWxsTG9jYWxlczogVExvY2FsaXplZEZpZWxkW107XG4gIGRlZmF1bHRMYWJlbD86IHN0cmluZztcbiAgYXBwbGljYXRpb25Mb2NhbGU6IHN0cmluZztcbiAgaWNvbjogc3RyaW5nO1xuICBpc01lbnVPcGVuPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IEl0ZW1Db250YWluZXIgPSAocHJvcHM6IEl0ZW1Db250YWluZXJQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2l0ZW0taWNvbi10ZXh0J119PlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaWNvbi1jb250YWluZXInXX0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMuaWNvbn0+XG4gICAgICAgICAgPEljb25Td2l0Y2hlciBpY29uPXtwcm9wcy5pY29ufSBzaXplPVwic2NhbGVcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAge3Byb3BzLmlzTWVudU9wZW4gPyAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMudGl0bGV9PlxuICAgICAgICAgIDxNZW51TGFiZWxcbiAgICAgICAgICAgIGxhYmVsQWxsTG9jYWxlcz17cHJvcHMubGFiZWxBbGxMb2NhbGVzfVxuICAgICAgICAgICAgZGVmYXVsdExhYmVsPXtwcm9wcy5kZWZhdWx0TGFiZWx9XG4gICAgICAgICAgICBhcHBsaWNhdGlvbkxvY2FsZT17cHJvcHMuYXBwbGljYXRpb25Mb2NhbGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApIDogbnVsbH1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbkl0ZW1Db250YWluZXIuZGlzcGxheU5hbWUgPSAnSXRlbUNvbnRhaW5lcic7XG5cbmV4cG9ydCB7XG4gIFJlc3RyaWN0ZWRNZW51SXRlbSxcbiAgTWVudUl0ZW0sXG4gIE1lbnVJdGVtTGluayxcbiAgSWNvblN3aXRjaGVyLFxuICBNZW51R3JvdXAsXG4gIE1lbnVMYWJlbCxcbiAgTWVudUV4cGFuZGVyLFxuICBGYWRlZCxcbiAgTmF2QmFyTGF5b3V0LFxuICBJdGVtQ29udGFpbmVyLFxufTtcbiJdfQ== */")
509
- }), jsxRuntime.jsx("nav", {
510
- ref: ref,
511
- className: styles$1['left-navigation'],
512
- "data-test": "left-navigation",
513
- "data-testid": "left-navigation",
514
- children: props.children
515
- })]
516
- }));
517
- NavBarLayout$1.displayName = 'NavBarLayout';
518
- const ItemContainer = props => {
519
- return jsxRuntime.jsxs("div", {
520
- className: styles$1['item-icon-text'],
521
- children: [jsxRuntime.jsx("div", {
522
- className: styles$1['icon-container'],
523
- children: jsxRuntime.jsx("div", {
524
- className: styles$1.icon,
525
- children: jsxRuntime.jsx(IconSwitcher, {
526
- icon: props.icon,
527
- size: "scale"
528
- })
529
- })
530
- }), props.isMenuOpen ? jsxRuntime.jsx("div", {
531
- className: styles$1.title,
532
- children: jsxRuntime.jsx(MenuLabel, {
533
- labelAllLocales: props.labelAllLocales,
534
- defaultLabel: props.defaultLabel,
535
- applicationLocale: props.applicationLocale
536
- })
537
- }) : null]
538
- });
539
- };
540
- ItemContainer.propTypes = process.env.NODE_ENV !== "production" ? {
541
- labelAllLocales: _pt__default["default"].arrayOf(_pt__default["default"].any).isRequired,
542
- defaultLabel: _pt__default["default"].string,
543
- applicationLocale: _pt__default["default"].string.isRequired,
544
- icon: _pt__default["default"].string.isRequired,
545
- isMenuOpen: _pt__default["default"].bool
546
- } : {};
547
- ItemContainer.displayName = 'ItemContainer';
548
-
549
- var messages = reactIntl.defineMessages({
550
- 'NavBar.MCSupport.title': {
551
- id: 'NavBar.MCSupport.title',
552
- defaultMessage: 'Support'
553
- }
554
- });
555
-
556
- function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
557
- const NavBarLayout = props => {
558
- return jsxRuntime.jsx("nav", {
559
- "aria-busy": true,
560
- css: /*#__PURE__*/react$1.css("display:flex;flex-direction:column;height:100%;width:", props.isExpanded ? '256px' : '80px', ";" + (process.env.NODE_ENV === "production" ? "" : ";label:NavBarLayout;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5hdmJhci1za2VsZXRvbi5zdHlsZXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9CYyIsImZpbGUiOiJuYXZiYXItc2tlbGV0b24uc3R5bGVzLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUmVhY3ROb2RlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgZGVzaWduVG9rZW5zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5pbXBvcnQgeyBESU1FTlNJT05TIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcblxudHlwZSBUTmF2QmFyU2tlbGV0b25Qcm9wcyA9IHtcbiAgaXNFeHBhbmRlZDogYm9vbGVhbjtcbn07XG5cbnR5cGUgVE1lbnVJdGVtUHJvcHMgPSB7XG4gIGNvbnRlbnRXaWR0aDogJ3dpZGUnIHwgJ25hcnJvdyc7XG59O1xuXG5jb25zdCBOYXZCYXJMYXlvdXQgPSAoXG4gIHByb3BzOiBUTmF2QmFyU2tlbGV0b25Qcm9wcyAmIHsgY2hpbGRyZW46IFJlYWN0Tm9kZSB9XG4pID0+IHtcbiAgcmV0dXJuIChcbiAgICA8bmF2XG4gICAgICBhcmlhLWJ1c3k9e3RydWV9XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogJHtwcm9wcy5pc0V4cGFuZGVkID8gJzI1NnB4JyA6ICc4MHB4J307XG4gICAgICBgfVxuICAgID5cbiAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICA8L25hdj5cbiAgKTtcbn07XG5cbmNvbnN0IE5hdkJhckhlYWRlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAke2Rlc2lnblRva2Vucy5zcGFjaW5nMzB9O1xuICBoZWlnaHQ6ICR7RElNRU5TSU9OUy5oZWFkZXJ9O1xuICBiYWNrZ3JvdW5kOiAke2Rlc2lnblRva2Vucy5jb2xvckFjY2VudDEwfTtcbmA7XG5cbmNvbnN0IE5hdkJhckJvZHkgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAxO1xuICBwYWRkaW5nOiAke2Rlc2lnblRva2Vucy5zcGFjaW5nMzB9O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZ2FwOiAke2Rlc2lnblRva2Vucy5zcGFjaW5nNDB9O1xuICBmbGV4LXNocmluazogMDtcbiAgYmFja2dyb3VuZDogIzAwOTk4NzsgLy8gVE9ETzogdXNlIG5ldyBkZXNpZ24gdG9rZW4gY29sb3ItcHJpbWFyeS0zMFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLy8gYm90dG9tIGdyYWRpZW50XG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGhlaWdodDogMzZweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMiAqICR7ZGVzaWduVG9rZW5zLnNwYWNpbmczMH0pO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMCwgMTUzLCAxMzUsIDApIDAlLCAjMDA5OTg3IDEwMCUpO1xuICB9XG5gO1xuXG5jb25zdCBOYXZCYXJGb290ZXIgPSBzdHlsZWQuZGl2PFROYXZCYXJTa2VsZXRvblByb3BzPmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzAwOTk4NyAwJSwgIzAwNGQ0NCAxMDAlKTtcbiAgcGFkZGluZzogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzMwfVxuICAgICR7KHByb3BzKSA9PiAocHJvcHMuaXNFeHBhbmRlZCA/ICc1OHB4JyA6ICcwcHgnKX07XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gIC8vIGRpdmlkZXJcbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGhlaWdodDogMXB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyICogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzMwfSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICB9XG5gO1xuXG5jb25zdCBFeHBhbmRJY29uID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgYm9yZGVyLXJhZGl1czogJHtkZXNpZ25Ub2tlbnMuYm9yZGVyUmFkaXVzNH07XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbmA7XG5cbmNvbnN0IE1lbnVJdGVtQ29udGFpbmVyID0gc3R5bGVkLmRpdjxUTWVudUl0ZW1Qcm9wcyAmIFROYXZCYXJTa2VsZXRvblByb3BzPmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogMTJweDtcbiAgcGFkZGluZzogJHsocHJvcHMpID0+XG4gICAgcHJvcHMuY29udGVudFdpZHRoID09PSAnd2lkZScgfHwgIXByb3BzLmlzRXhwYW5kZWQgPyAnMTJweCcgOiAnMTJweCAyOHB4J307XG4gIGhlaWdodDogNDhweDtcbmA7XG5cbmNvbnN0IE1lbnVJdGVtSWNvbiA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIGJvcmRlci1yYWRpdXM6ICR7ZGVzaWduVG9rZW5zLmJvcmRlclJhZGl1czR9O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG5gO1xuXG5jb25zdCBNZW51SXRlbVRpdGxlID0gc3R5bGVkLmRpdmBcbiAgYm9yZGVyLXJhZGl1czogJHtkZXNpZ25Ub2tlbnMuYm9yZGVyUmFkaXVzNH07XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgZmxleDogMTtcbiAgaGVpZ2h0OiAxOHB4O1xuYDtcblxuY29uc3QgTWVudUl0ZW1Hcm91cCA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiAxMDAlO1xuYDtcblxuZXhwb3J0IHtcbiAgTmF2QmFyTGF5b3V0LFxuICBOYXZCYXJIZWFkZXIsXG4gIE5hdkJhckJvZHksXG4gIE5hdkJhckZvb3RlcixcbiAgRXhwYW5kSWNvbixcbiAgTWVudUl0ZW1Db250YWluZXIsXG4gIE1lbnVJdGVtSWNvbixcbiAgTWVudUl0ZW1UaXRsZSxcbiAgTWVudUl0ZW1Hcm91cCxcbiAgdHlwZSBUTmF2QmFyU2tlbGV0b25Qcm9wcyxcbiAgdHlwZSBUTWVudUl0ZW1Qcm9wcyxcbn07XG4iXX0= */"),
561
- children: props.children
562
- });
563
- };
564
- NavBarLayout.propTypes = process.env.NODE_ENV !== "production" ? {
565
- isExpanded: _pt__default["default"].bool.isRequired
566
- } : {};
567
- const NavBarHeader = /*#__PURE__*/_styled__default["default"]("div", process.env.NODE_ENV === "production" ? {
568
- target: "epfjvz37"
569
- } : {
570
- target: "epfjvz37",
571
- label: "NavBarHeader"
572
- })("display:flex;justify-content:center;align-items:center;padding:", designSystem.designTokens.spacing30, ";height:", oidc.DIMENSIONS.header, ";background:", designSystem.designTokens.colorAccent10, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5hdmJhci1za2VsZXRvbi5zdHlsZXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdDK0IiLCJmaWxlIjoibmF2YmFyLXNrZWxldG9uLnN0eWxlcy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGRlc2lnblRva2VucyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuaW1wb3J0IHsgRElNRU5TSU9OUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5cbnR5cGUgVE5hdkJhclNrZWxldG9uUHJvcHMgPSB7XG4gIGlzRXhwYW5kZWQ6IGJvb2xlYW47XG59O1xuXG50eXBlIFRNZW51SXRlbVByb3BzID0ge1xuICBjb250ZW50V2lkdGg6ICd3aWRlJyB8ICduYXJyb3cnO1xufTtcblxuY29uc3QgTmF2QmFyTGF5b3V0ID0gKFxuICBwcm9wczogVE5hdkJhclNrZWxldG9uUHJvcHMgJiB7IGNoaWxkcmVuOiBSZWFjdE5vZGUgfVxuKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPG5hdlxuICAgICAgYXJpYS1idXN5PXt0cnVlfVxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6ICR7cHJvcHMuaXNFeHBhbmRlZCA/ICcyNTZweCcgOiAnODBweCd9O1xuICAgICAgYH1cbiAgICA+XG4gICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgPC9uYXY+XG4gICk7XG59O1xuXG5jb25zdCBOYXZCYXJIZWFkZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzMwfTtcbiAgaGVpZ2h0OiAke0RJTUVOU0lPTlMuaGVhZGVyfTtcbiAgYmFja2dyb3VuZDogJHtkZXNpZ25Ub2tlbnMuY29sb3JBY2NlbnQxMH07XG5gO1xuXG5jb25zdCBOYXZCYXJCb2R5ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMTtcbiAgcGFkZGluZzogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzMwfTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzQwfTtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGJhY2tncm91bmQ6ICMwMDk5ODc7IC8vIFRPRE86IHVzZSBuZXcgZGVzaWduIHRva2VuIGNvbG9yLXByaW1hcnktMzBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC8vIGJvdHRvbSBncmFkaWVudFxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IDM2cHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIgKiAke2Rlc2lnblRva2Vucy5zcGFjaW5nMzB9KTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDAsIDE1MywgMTM1LCAwKSAwJSwgIzAwOTk4NyAxMDAlKTtcbiAgfVxuYDtcblxuY29uc3QgTmF2QmFyRm9vdGVyID0gc3R5bGVkLmRpdjxUTmF2QmFyU2tlbGV0b25Qcm9wcz5gXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMwMDk5ODcgMCUsICMwMDRkNDQgMTAwJSk7XG4gIHBhZGRpbmc6ICR7ZGVzaWduVG9rZW5zLnNwYWNpbmczMH1cbiAgICAkeyhwcm9wcykgPT4gKHByb3BzLmlzRXhwYW5kZWQgPyAnNThweCcgOiAnMHB4Jyl9O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAvLyBkaXZpZGVyXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMiAqICR7ZGVzaWduVG9rZW5zLnNwYWNpbmczMH0pO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgfVxuYDtcblxuY29uc3QgRXhwYW5kSWNvbiA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGJvcmRlci1yYWRpdXM6ICR7ZGVzaWduVG9rZW5zLmJvcmRlclJhZGl1czR9O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG5gO1xuXG5jb25zdCBNZW51SXRlbUNvbnRhaW5lciA9IHN0eWxlZC5kaXY8VE1lbnVJdGVtUHJvcHMgJiBUTmF2QmFyU2tlbGV0b25Qcm9wcz5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IDEycHg7XG4gIHBhZGRpbmc6ICR7KHByb3BzKSA9PlxuICAgIHByb3BzLmNvbnRlbnRXaWR0aCA9PT0gJ3dpZGUnIHx8ICFwcm9wcy5pc0V4cGFuZGVkID8gJzEycHgnIDogJzEycHggMjhweCd9O1xuICBoZWlnaHQ6IDQ4cHg7XG5gO1xuXG5jb25zdCBNZW51SXRlbUljb24gPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBib3JkZXItcmFkaXVzOiAke2Rlc2lnblRva2Vucy5ib3JkZXJSYWRpdXM0fTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuYDtcblxuY29uc3QgTWVudUl0ZW1UaXRsZSA9IHN0eWxlZC5kaXZgXG4gIGJvcmRlci1yYWRpdXM6ICR7ZGVzaWduVG9rZW5zLmJvcmRlclJhZGl1czR9O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gIGZsZXg6IDE7XG4gIGhlaWdodDogMThweDtcbmA7XG5cbmNvbnN0IE1lbnVJdGVtR3JvdXAgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTAwJTtcbmA7XG5cbmV4cG9ydCB7XG4gIE5hdkJhckxheW91dCxcbiAgTmF2QmFySGVhZGVyLFxuICBOYXZCYXJCb2R5LFxuICBOYXZCYXJGb290ZXIsXG4gIEV4cGFuZEljb24sXG4gIE1lbnVJdGVtQ29udGFpbmVyLFxuICBNZW51SXRlbUljb24sXG4gIE1lbnVJdGVtVGl0bGUsXG4gIE1lbnVJdGVtR3JvdXAsXG4gIHR5cGUgVE5hdkJhclNrZWxldG9uUHJvcHMsXG4gIHR5cGUgVE1lbnVJdGVtUHJvcHMsXG59O1xuIl19 */"));
573
- const NavBarBody = /*#__PURE__*/_styled__default["default"]("div", process.env.NODE_ENV === "production" ? {
574
- target: "epfjvz36"
575
- } : {
576
- target: "epfjvz36",
577
- label: "NavBarBody"
578
- })("display:flex;flex:1;padding:", designSystem.designTokens.spacing30, ";flex-direction:column;align-items:flex-start;gap:", designSystem.designTokens.spacing40, ";flex-shrink:0;background:#009987;position:relative;&::after{content:'';position:absolute;bottom:0;height:36px;width:calc(100% - 2 * ", designSystem.designTokens.spacing30, ");background:linear-gradient(180deg, rgba(0, 153, 135, 0) 0%, #009987 100%);}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5hdmJhci1za2VsZXRvbi5zdHlsZXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlDNkIiLCJmaWxlIjoibmF2YmFyLXNrZWxldG9uLnN0eWxlcy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGRlc2lnblRva2VucyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuaW1wb3J0IHsgRElNRU5TSU9OUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5cbnR5cGUgVE5hdkJhclNrZWxldG9uUHJvcHMgPSB7XG4gIGlzRXhwYW5kZWQ6IGJvb2xlYW47XG59O1xuXG50eXBlIFRNZW51SXRlbVByb3BzID0ge1xuICBjb250ZW50V2lkdGg6ICd3aWRlJyB8ICduYXJyb3cnO1xufTtcblxuY29uc3QgTmF2QmFyTGF5b3V0ID0gKFxuICBwcm9wczogVE5hdkJhclNrZWxldG9uUHJvcHMgJiB7IGNoaWxkcmVuOiBSZWFjdE5vZGUgfVxuKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPG5hdlxuICAgICAgYXJpYS1idXN5PXt0cnVlfVxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6ICR7cHJvcHMuaXNFeHBhbmRlZCA/ICcyNTZweCcgOiAnODBweCd9O1xuICAgICAgYH1cbiAgICA+XG4gICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgPC9uYXY+XG4gICk7XG59O1xuXG5jb25zdCBOYXZCYXJIZWFkZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzMwfTtcbiAgaGVpZ2h0OiAke0RJTUVOU0lPTlMuaGVhZGVyfTtcbiAgYmFja2dyb3VuZDogJHtkZXNpZ25Ub2tlbnMuY29sb3JBY2NlbnQxMH07XG5gO1xuXG5jb25zdCBOYXZCYXJCb2R5ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMTtcbiAgcGFkZGluZzogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzMwfTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzQwfTtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGJhY2tncm91bmQ6ICMwMDk5ODc7IC8vIFRPRE86IHVzZSBuZXcgZGVzaWduIHRva2VuIGNvbG9yLXByaW1hcnktMzBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC8vIGJvdHRvbSBncmFkaWVudFxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IDM2cHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIgKiAke2Rlc2lnblRva2Vucy5zcGFjaW5nMzB9KTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDAsIDE1MywgMTM1LCAwKSAwJSwgIzAwOTk4NyAxMDAlKTtcbiAgfVxuYDtcblxuY29uc3QgTmF2QmFyRm9vdGVyID0gc3R5bGVkLmRpdjxUTmF2QmFyU2tlbGV0b25Qcm9wcz5gXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMwMDk5ODcgMCUsICMwMDRkNDQgMTAwJSk7XG4gIHBhZGRpbmc6ICR7ZGVzaWduVG9rZW5zLnNwYWNpbmczMH1cbiAgICAkeyhwcm9wcykgPT4gKHByb3BzLmlzRXhwYW5kZWQgPyAnNThweCcgOiAnMHB4Jyl9O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAvLyBkaXZpZGVyXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMiAqICR7ZGVzaWduVG9rZW5zLnNwYWNpbmczMH0pO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgfVxuYDtcblxuY29uc3QgRXhwYW5kSWNvbiA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGJvcmRlci1yYWRpdXM6ICR7ZGVzaWduVG9rZW5zLmJvcmRlclJhZGl1czR9O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG5gO1xuXG5jb25zdCBNZW51SXRlbUNvbnRhaW5lciA9IHN0eWxlZC5kaXY8VE1lbnVJdGVtUHJvcHMgJiBUTmF2QmFyU2tlbGV0b25Qcm9wcz5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IDEycHg7XG4gIHBhZGRpbmc6ICR7KHByb3BzKSA9PlxuICAgIHByb3BzLmNvbnRlbnRXaWR0aCA9PT0gJ3dpZGUnIHx8ICFwcm9wcy5pc0V4cGFuZGVkID8gJzEycHgnIDogJzEycHggMjhweCd9O1xuICBoZWlnaHQ6IDQ4cHg7XG5gO1xuXG5jb25zdCBNZW51SXRlbUljb24gPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBib3JkZXItcmFkaXVzOiAke2Rlc2lnblRva2Vucy5ib3JkZXJSYWRpdXM0fTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuYDtcblxuY29uc3QgTWVudUl0ZW1UaXRsZSA9IHN0eWxlZC5kaXZgXG4gIGJvcmRlci1yYWRpdXM6ICR7ZGVzaWduVG9rZW5zLmJvcmRlclJhZGl1czR9O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gIGZsZXg6IDE7XG4gIGhlaWdodDogMThweDtcbmA7XG5cbmNvbnN0IE1lbnVJdGVtR3JvdXAgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTAwJTtcbmA7XG5cbmV4cG9ydCB7XG4gIE5hdkJhckxheW91dCxcbiAgTmF2QmFySGVhZGVyLFxuICBOYXZCYXJCb2R5LFxuICBOYXZCYXJGb290ZXIsXG4gIEV4cGFuZEljb24sXG4gIE1lbnVJdGVtQ29udGFpbmVyLFxuICBNZW51SXRlbUljb24sXG4gIE1lbnVJdGVtVGl0bGUsXG4gIE1lbnVJdGVtR3JvdXAsXG4gIHR5cGUgVE5hdkJhclNrZWxldG9uUHJvcHMsXG4gIHR5cGUgVE1lbnVJdGVtUHJvcHMsXG59O1xuIl19 */"));
579
- const NavBarFooter = /*#__PURE__*/_styled__default["default"]("div", process.env.NODE_ENV === "production" ? {
580
- target: "epfjvz35"
581
- } : {
582
- target: "epfjvz35",
583
- label: "NavBarFooter"
584
- })("position:relative;display:flex;width:100%;flex-direction:column;background:linear-gradient(180deg, #009987 0%, #004d44 100%);padding:", designSystem.designTokens.spacing30, " ", props => props.isExpanded ? '58px' : '0px', ";justify-content:center;align-items:center;&::before{content:'';position:absolute;top:0;height:1px;width:calc(100% - 2 * ", designSystem.designTokens.spacing30, ");background:rgba(255, 255, 255, 0.5);}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5hdmJhci1za2VsZXRvbi5zdHlsZXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQStEcUQiLCJmaWxlIjoibmF2YmFyLXNrZWxldG9uLnN0eWxlcy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGRlc2lnblRva2VucyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuaW1wb3J0IHsgRElNRU5TSU9OUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5cbnR5cGUgVE5hdkJhclNrZWxldG9uUHJvcHMgPSB7XG4gIGlzRXhwYW5kZWQ6IGJvb2xlYW47XG59O1xuXG50eXBlIFRNZW51SXRlbVByb3BzID0ge1xuICBjb250ZW50V2lkdGg6ICd3aWRlJyB8ICduYXJyb3cnO1xufTtcblxuY29uc3QgTmF2QmFyTGF5b3V0ID0gKFxuICBwcm9wczogVE5hdkJhclNrZWxldG9uUHJvcHMgJiB7IGNoaWxkcmVuOiBSZWFjdE5vZGUgfVxuKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPG5hdlxuICAgICAgYXJpYS1idXN5PXt0cnVlfVxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6ICR7cHJvcHMuaXNFeHBhbmRlZCA/ICcyNTZweCcgOiAnODBweCd9O1xuICAgICAgYH1cbiAgICA+XG4gICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgPC9uYXY+XG4gICk7XG59O1xuXG5jb25zdCBOYXZCYXJIZWFkZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzMwfTtcbiAgaGVpZ2h0OiAke0RJTUVOU0lPTlMuaGVhZGVyfTtcbiAgYmFja2dyb3VuZDogJHtkZXNpZ25Ub2tlbnMuY29sb3JBY2NlbnQxMH07XG5gO1xuXG5jb25zdCBOYXZCYXJCb2R5ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMTtcbiAgcGFkZGluZzogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzMwfTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzQwfTtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGJhY2tncm91bmQ6ICMwMDk5ODc7IC8vIFRPRE86IHVzZSBuZXcgZGVzaWduIHRva2VuIGNvbG9yLXByaW1hcnktMzBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC8vIGJvdHRvbSBncmFkaWVudFxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IDM2cHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIgKiAke2Rlc2lnblRva2Vucy5zcGFjaW5nMzB9KTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDAsIDE1MywgMTM1LCAwKSAwJSwgIzAwOTk4NyAxMDAlKTtcbiAgfVxuYDtcblxuY29uc3QgTmF2QmFyRm9vdGVyID0gc3R5bGVkLmRpdjxUTmF2QmFyU2tlbGV0b25Qcm9wcz5gXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMwMDk5ODcgMCUsICMwMDRkNDQgMTAwJSk7XG4gIHBhZGRpbmc6ICR7ZGVzaWduVG9rZW5zLnNwYWNpbmczMH1cbiAgICAkeyhwcm9wcykgPT4gKHByb3BzLmlzRXhwYW5kZWQgPyAnNThweCcgOiAnMHB4Jyl9O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAvLyBkaXZpZGVyXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMiAqICR7ZGVzaWduVG9rZW5zLnNwYWNpbmczMH0pO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgfVxuYDtcblxuY29uc3QgRXhwYW5kSWNvbiA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGJvcmRlci1yYWRpdXM6ICR7ZGVzaWduVG9rZW5zLmJvcmRlclJhZGl1czR9O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG5gO1xuXG5jb25zdCBNZW51SXRlbUNvbnRhaW5lciA9IHN0eWxlZC5kaXY8VE1lbnVJdGVtUHJvcHMgJiBUTmF2QmFyU2tlbGV0b25Qcm9wcz5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IDEycHg7XG4gIHBhZGRpbmc6ICR7KHByb3BzKSA9PlxuICAgIHByb3BzLmNvbnRlbnRXaWR0aCA9PT0gJ3dpZGUnIHx8ICFwcm9wcy5pc0V4cGFuZGVkID8gJzEycHgnIDogJzEycHggMjhweCd9O1xuICBoZWlnaHQ6IDQ4cHg7XG5gO1xuXG5jb25zdCBNZW51SXRlbUljb24gPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBib3JkZXItcmFkaXVzOiAke2Rlc2lnblRva2Vucy5ib3JkZXJSYWRpdXM0fTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuYDtcblxuY29uc3QgTWVudUl0ZW1UaXRsZSA9IHN0eWxlZC5kaXZgXG4gIGJvcmRlci1yYWRpdXM6ICR7ZGVzaWduVG9rZW5zLmJvcmRlclJhZGl1czR9O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gIGZsZXg6IDE7XG4gIGhlaWdodDogMThweDtcbmA7XG5cbmNvbnN0IE1lbnVJdGVtR3JvdXAgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTAwJTtcbmA7XG5cbmV4cG9ydCB7XG4gIE5hdkJhckxheW91dCxcbiAgTmF2QmFySGVhZGVyLFxuICBOYXZCYXJCb2R5LFxuICBOYXZCYXJGb290ZXIsXG4gIEV4cGFuZEljb24sXG4gIE1lbnVJdGVtQ29udGFpbmVyLFxuICBNZW51SXRlbUljb24sXG4gIE1lbnVJdGVtVGl0bGUsXG4gIE1lbnVJdGVtR3JvdXAsXG4gIHR5cGUgVE5hdkJhclNrZWxldG9uUHJvcHMsXG4gIHR5cGUgVE1lbnVJdGVtUHJvcHMsXG59O1xuIl19 */"));
585
- const ExpandIcon = /*#__PURE__*/_styled__default["default"]("div", process.env.NODE_ENV === "production" ? {
586
- target: "epfjvz34"
587
- } : {
588
- target: "epfjvz34",
589
- label: "ExpandIcon"
590
- })("width:40px;height:40px;border-radius:", designSystem.designTokens.borderRadius4, ";background:rgba(255, 255, 255, 0.2);" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5hdmJhci1za2VsZXRvbi5zdHlsZXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXFGNkIiLCJmaWxlIjoibmF2YmFyLXNrZWxldG9uLnN0eWxlcy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGRlc2lnblRva2VucyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuaW1wb3J0IHsgRElNRU5TSU9OUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5cbnR5cGUgVE5hdkJhclNrZWxldG9uUHJvcHMgPSB7XG4gIGlzRXhwYW5kZWQ6IGJvb2xlYW47XG59O1xuXG50eXBlIFRNZW51SXRlbVByb3BzID0ge1xuICBjb250ZW50V2lkdGg6ICd3aWRlJyB8ICduYXJyb3cnO1xufTtcblxuY29uc3QgTmF2QmFyTGF5b3V0ID0gKFxuICBwcm9wczogVE5hdkJhclNrZWxldG9uUHJvcHMgJiB7IGNoaWxkcmVuOiBSZWFjdE5vZGUgfVxuKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPG5hdlxuICAgICAgYXJpYS1idXN5PXt0cnVlfVxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6ICR7cHJvcHMuaXNFeHBhbmRlZCA/ICcyNTZweCcgOiAnODBweCd9O1xuICAgICAgYH1cbiAgICA+XG4gICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgPC9uYXY+XG4gICk7XG59O1xuXG5jb25zdCBOYXZCYXJIZWFkZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzMwfTtcbiAgaGVpZ2h0OiAke0RJTUVOU0lPTlMuaGVhZGVyfTtcbiAgYmFja2dyb3VuZDogJHtkZXNpZ25Ub2tlbnMuY29sb3JBY2NlbnQxMH07XG5gO1xuXG5jb25zdCBOYXZCYXJCb2R5ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMTtcbiAgcGFkZGluZzogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzMwfTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzQwfTtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGJhY2tncm91bmQ6ICMwMDk5ODc7IC8vIFRPRE86IHVzZSBuZXcgZGVzaWduIHRva2VuIGNvbG9yLXByaW1hcnktMzBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC8vIGJvdHRvbSBncmFkaWVudFxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IDM2cHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIgKiAke2Rlc2lnblRva2Vucy5zcGFjaW5nMzB9KTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDAsIDE1MywgMTM1LCAwKSAwJSwgIzAwOTk4NyAxMDAlKTtcbiAgfVxuYDtcblxuY29uc3QgTmF2QmFyRm9vdGVyID0gc3R5bGVkLmRpdjxUTmF2QmFyU2tlbGV0b25Qcm9wcz5gXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMwMDk5ODcgMCUsICMwMDRkNDQgMTAwJSk7XG4gIHBhZGRpbmc6ICR7ZGVzaWduVG9rZW5zLnNwYWNpbmczMH1cbiAgICAkeyhwcm9wcykgPT4gKHByb3BzLmlzRXhwYW5kZWQgPyAnNThweCcgOiAnMHB4Jyl9O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAvLyBkaXZpZGVyXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMiAqICR7ZGVzaWduVG9rZW5zLnNwYWNpbmczMH0pO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgfVxuYDtcblxuY29uc3QgRXhwYW5kSWNvbiA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGJvcmRlci1yYWRpdXM6ICR7ZGVzaWduVG9rZW5zLmJvcmRlclJhZGl1czR9O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG5gO1xuXG5jb25zdCBNZW51SXRlbUNvbnRhaW5lciA9IHN0eWxlZC5kaXY8VE1lbnVJdGVtUHJvcHMgJiBUTmF2QmFyU2tlbGV0b25Qcm9wcz5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IDEycHg7XG4gIHBhZGRpbmc6ICR7KHByb3BzKSA9PlxuICAgIHByb3BzLmNvbnRlbnRXaWR0aCA9PT0gJ3dpZGUnIHx8ICFwcm9wcy5pc0V4cGFuZGVkID8gJzEycHgnIDogJzEycHggMjhweCd9O1xuICBoZWlnaHQ6IDQ4cHg7XG5gO1xuXG5jb25zdCBNZW51SXRlbUljb24gPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBib3JkZXItcmFkaXVzOiAke2Rlc2lnblRva2Vucy5ib3JkZXJSYWRpdXM0fTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuYDtcblxuY29uc3QgTWVudUl0ZW1UaXRsZSA9IHN0eWxlZC5kaXZgXG4gIGJvcmRlci1yYWRpdXM6ICR7ZGVzaWduVG9rZW5zLmJvcmRlclJhZGl1czR9O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gIGZsZXg6IDE7XG4gIGhlaWdodDogMThweDtcbmA7XG5cbmNvbnN0IE1lbnVJdGVtR3JvdXAgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTAwJTtcbmA7XG5cbmV4cG9ydCB7XG4gIE5hdkJhckxheW91dCxcbiAgTmF2QmFySGVhZGVyLFxuICBOYXZCYXJCb2R5LFxuICBOYXZCYXJGb290ZXIsXG4gIEV4cGFuZEljb24sXG4gIE1lbnVJdGVtQ29udGFpbmVyLFxuICBNZW51SXRlbUljb24sXG4gIE1lbnVJdGVtVGl0bGUsXG4gIE1lbnVJdGVtR3JvdXAsXG4gIHR5cGUgVE5hdkJhclNrZWxldG9uUHJvcHMsXG4gIHR5cGUgVE1lbnVJdGVtUHJvcHMsXG59O1xuIl19 */"));
591
- const MenuItemContainer = /*#__PURE__*/_styled__default["default"]("div", process.env.NODE_ENV === "production" ? {
592
- target: "epfjvz33"
593
- } : {
594
- target: "epfjvz33",
595
- label: "MenuItemContainer"
596
- })("display:flex;align-items:center;justify-content:center;gap:12px;padding:", props => props.contentWidth === 'wide' || !props.isExpanded ? '12px' : '12px 28px', ";height:48px;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5hdmJhci1za2VsZXRvbi5zdHlsZXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTRGMkUiLCJmaWxlIjoibmF2YmFyLXNrZWxldG9uLnN0eWxlcy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGRlc2lnblRva2VucyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuaW1wb3J0IHsgRElNRU5TSU9OUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5cbnR5cGUgVE5hdkJhclNrZWxldG9uUHJvcHMgPSB7XG4gIGlzRXhwYW5kZWQ6IGJvb2xlYW47XG59O1xuXG50eXBlIFRNZW51SXRlbVByb3BzID0ge1xuICBjb250ZW50V2lkdGg6ICd3aWRlJyB8ICduYXJyb3cnO1xufTtcblxuY29uc3QgTmF2QmFyTGF5b3V0ID0gKFxuICBwcm9wczogVE5hdkJhclNrZWxldG9uUHJvcHMgJiB7IGNoaWxkcmVuOiBSZWFjdE5vZGUgfVxuKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPG5hdlxuICAgICAgYXJpYS1idXN5PXt0cnVlfVxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6ICR7cHJvcHMuaXNFeHBhbmRlZCA/ICcyNTZweCcgOiAnODBweCd9O1xuICAgICAgYH1cbiAgICA+XG4gICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgPC9uYXY+XG4gICk7XG59O1xuXG5jb25zdCBOYXZCYXJIZWFkZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzMwfTtcbiAgaGVpZ2h0OiAke0RJTUVOU0lPTlMuaGVhZGVyfTtcbiAgYmFja2dyb3VuZDogJHtkZXNpZ25Ub2tlbnMuY29sb3JBY2NlbnQxMH07XG5gO1xuXG5jb25zdCBOYXZCYXJCb2R5ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMTtcbiAgcGFkZGluZzogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzMwfTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzQwfTtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGJhY2tncm91bmQ6ICMwMDk5ODc7IC8vIFRPRE86IHVzZSBuZXcgZGVzaWduIHRva2VuIGNvbG9yLXByaW1hcnktMzBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC8vIGJvdHRvbSBncmFkaWVudFxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IDM2cHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIgKiAke2Rlc2lnblRva2Vucy5zcGFjaW5nMzB9KTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDAsIDE1MywgMTM1LCAwKSAwJSwgIzAwOTk4NyAxMDAlKTtcbiAgfVxuYDtcblxuY29uc3QgTmF2QmFyRm9vdGVyID0gc3R5bGVkLmRpdjxUTmF2QmFyU2tlbGV0b25Qcm9wcz5gXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMwMDk5ODcgMCUsICMwMDRkNDQgMTAwJSk7XG4gIHBhZGRpbmc6ICR7ZGVzaWduVG9rZW5zLnNwYWNpbmczMH1cbiAgICAkeyhwcm9wcykgPT4gKHByb3BzLmlzRXhwYW5kZWQgPyAnNThweCcgOiAnMHB4Jyl9O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAvLyBkaXZpZGVyXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMiAqICR7ZGVzaWduVG9rZW5zLnNwYWNpbmczMH0pO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgfVxuYDtcblxuY29uc3QgRXhwYW5kSWNvbiA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGJvcmRlci1yYWRpdXM6ICR7ZGVzaWduVG9rZW5zLmJvcmRlclJhZGl1czR9O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG5gO1xuXG5jb25zdCBNZW51SXRlbUNvbnRhaW5lciA9IHN0eWxlZC5kaXY8VE1lbnVJdGVtUHJvcHMgJiBUTmF2QmFyU2tlbGV0b25Qcm9wcz5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IDEycHg7XG4gIHBhZGRpbmc6ICR7KHByb3BzKSA9PlxuICAgIHByb3BzLmNvbnRlbnRXaWR0aCA9PT0gJ3dpZGUnIHx8ICFwcm9wcy5pc0V4cGFuZGVkID8gJzEycHgnIDogJzEycHggMjhweCd9O1xuICBoZWlnaHQ6IDQ4cHg7XG5gO1xuXG5jb25zdCBNZW51SXRlbUljb24gPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBib3JkZXItcmFkaXVzOiAke2Rlc2lnblRva2Vucy5ib3JkZXJSYWRpdXM0fTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuYDtcblxuY29uc3QgTWVudUl0ZW1UaXRsZSA9IHN0eWxlZC5kaXZgXG4gIGJvcmRlci1yYWRpdXM6ICR7ZGVzaWduVG9rZW5zLmJvcmRlclJhZGl1czR9O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gIGZsZXg6IDE7XG4gIGhlaWdodDogMThweDtcbmA7XG5cbmNvbnN0IE1lbnVJdGVtR3JvdXAgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTAwJTtcbmA7XG5cbmV4cG9ydCB7XG4gIE5hdkJhckxheW91dCxcbiAgTmF2QmFySGVhZGVyLFxuICBOYXZCYXJCb2R5LFxuICBOYXZCYXJGb290ZXIsXG4gIEV4cGFuZEljb24sXG4gIE1lbnVJdGVtQ29udGFpbmVyLFxuICBNZW51SXRlbUljb24sXG4gIE1lbnVJdGVtVGl0bGUsXG4gIE1lbnVJdGVtR3JvdXAsXG4gIHR5cGUgVE5hdkJhclNrZWxldG9uUHJvcHMsXG4gIHR5cGUgVE1lbnVJdGVtUHJvcHMsXG59O1xuIl19 */"));
597
- const MenuItemIcon = /*#__PURE__*/_styled__default["default"]("div", process.env.NODE_ENV === "production" ? {
598
- target: "epfjvz32"
599
- } : {
600
- target: "epfjvz32",
601
- label: "MenuItemIcon"
602
- })("width:24px;height:24px;border-radius:", designSystem.designTokens.borderRadius4, ";background:rgba(255, 255, 255, 0.2);" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5hdmJhci1za2VsZXRvbi5zdHlsZXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNHK0IiLCJmaWxlIjoibmF2YmFyLXNrZWxldG9uLnN0eWxlcy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGRlc2lnblRva2VucyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuaW1wb3J0IHsgRElNRU5TSU9OUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5cbnR5cGUgVE5hdkJhclNrZWxldG9uUHJvcHMgPSB7XG4gIGlzRXhwYW5kZWQ6IGJvb2xlYW47XG59O1xuXG50eXBlIFRNZW51SXRlbVByb3BzID0ge1xuICBjb250ZW50V2lkdGg6ICd3aWRlJyB8ICduYXJyb3cnO1xufTtcblxuY29uc3QgTmF2QmFyTGF5b3V0ID0gKFxuICBwcm9wczogVE5hdkJhclNrZWxldG9uUHJvcHMgJiB7IGNoaWxkcmVuOiBSZWFjdE5vZGUgfVxuKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPG5hdlxuICAgICAgYXJpYS1idXN5PXt0cnVlfVxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6ICR7cHJvcHMuaXNFeHBhbmRlZCA/ICcyNTZweCcgOiAnODBweCd9O1xuICAgICAgYH1cbiAgICA+XG4gICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgPC9uYXY+XG4gICk7XG59O1xuXG5jb25zdCBOYXZCYXJIZWFkZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzMwfTtcbiAgaGVpZ2h0OiAke0RJTUVOU0lPTlMuaGVhZGVyfTtcbiAgYmFja2dyb3VuZDogJHtkZXNpZ25Ub2tlbnMuY29sb3JBY2NlbnQxMH07XG5gO1xuXG5jb25zdCBOYXZCYXJCb2R5ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMTtcbiAgcGFkZGluZzogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzMwfTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzQwfTtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGJhY2tncm91bmQ6ICMwMDk5ODc7IC8vIFRPRE86IHVzZSBuZXcgZGVzaWduIHRva2VuIGNvbG9yLXByaW1hcnktMzBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC8vIGJvdHRvbSBncmFkaWVudFxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IDM2cHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIgKiAke2Rlc2lnblRva2Vucy5zcGFjaW5nMzB9KTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDAsIDE1MywgMTM1LCAwKSAwJSwgIzAwOTk4NyAxMDAlKTtcbiAgfVxuYDtcblxuY29uc3QgTmF2QmFyRm9vdGVyID0gc3R5bGVkLmRpdjxUTmF2QmFyU2tlbGV0b25Qcm9wcz5gXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMwMDk5ODcgMCUsICMwMDRkNDQgMTAwJSk7XG4gIHBhZGRpbmc6ICR7ZGVzaWduVG9rZW5zLnNwYWNpbmczMH1cbiAgICAkeyhwcm9wcykgPT4gKHByb3BzLmlzRXhwYW5kZWQgPyAnNThweCcgOiAnMHB4Jyl9O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAvLyBkaXZpZGVyXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMiAqICR7ZGVzaWduVG9rZW5zLnNwYWNpbmczMH0pO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgfVxuYDtcblxuY29uc3QgRXhwYW5kSWNvbiA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGJvcmRlci1yYWRpdXM6ICR7ZGVzaWduVG9rZW5zLmJvcmRlclJhZGl1czR9O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG5gO1xuXG5jb25zdCBNZW51SXRlbUNvbnRhaW5lciA9IHN0eWxlZC5kaXY8VE1lbnVJdGVtUHJvcHMgJiBUTmF2QmFyU2tlbGV0b25Qcm9wcz5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IDEycHg7XG4gIHBhZGRpbmc6ICR7KHByb3BzKSA9PlxuICAgIHByb3BzLmNvbnRlbnRXaWR0aCA9PT0gJ3dpZGUnIHx8ICFwcm9wcy5pc0V4cGFuZGVkID8gJzEycHgnIDogJzEycHggMjhweCd9O1xuICBoZWlnaHQ6IDQ4cHg7XG5gO1xuXG5jb25zdCBNZW51SXRlbUljb24gPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBib3JkZXItcmFkaXVzOiAke2Rlc2lnblRva2Vucy5ib3JkZXJSYWRpdXM0fTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuYDtcblxuY29uc3QgTWVudUl0ZW1UaXRsZSA9IHN0eWxlZC5kaXZgXG4gIGJvcmRlci1yYWRpdXM6ICR7ZGVzaWduVG9rZW5zLmJvcmRlclJhZGl1czR9O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gIGZsZXg6IDE7XG4gIGhlaWdodDogMThweDtcbmA7XG5cbmNvbnN0IE1lbnVJdGVtR3JvdXAgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTAwJTtcbmA7XG5cbmV4cG9ydCB7XG4gIE5hdkJhckxheW91dCxcbiAgTmF2QmFySGVhZGVyLFxuICBOYXZCYXJCb2R5LFxuICBOYXZCYXJGb290ZXIsXG4gIEV4cGFuZEljb24sXG4gIE1lbnVJdGVtQ29udGFpbmVyLFxuICBNZW51SXRlbUljb24sXG4gIE1lbnVJdGVtVGl0bGUsXG4gIE1lbnVJdGVtR3JvdXAsXG4gIHR5cGUgVE5hdkJhclNrZWxldG9uUHJvcHMsXG4gIHR5cGUgVE1lbnVJdGVtUHJvcHMsXG59O1xuIl19 */"));
603
- const MenuItemTitle = /*#__PURE__*/_styled__default["default"]("div", process.env.NODE_ENV === "production" ? {
604
- target: "epfjvz31"
605
- } : {
606
- target: "epfjvz31",
607
- label: "MenuItemTitle"
608
- })("border-radius:", designSystem.designTokens.borderRadius4, ";background:rgba(255, 255, 255, 0.2);flex:1;height:18px;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5hdmJhci1za2VsZXRvbi5zdHlsZXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZHZ0MiLCJmaWxlIjoibmF2YmFyLXNrZWxldG9uLnN0eWxlcy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGRlc2lnblRva2VucyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuaW1wb3J0IHsgRElNRU5TSU9OUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5cbnR5cGUgVE5hdkJhclNrZWxldG9uUHJvcHMgPSB7XG4gIGlzRXhwYW5kZWQ6IGJvb2xlYW47XG59O1xuXG50eXBlIFRNZW51SXRlbVByb3BzID0ge1xuICBjb250ZW50V2lkdGg6ICd3aWRlJyB8ICduYXJyb3cnO1xufTtcblxuY29uc3QgTmF2QmFyTGF5b3V0ID0gKFxuICBwcm9wczogVE5hdkJhclNrZWxldG9uUHJvcHMgJiB7IGNoaWxkcmVuOiBSZWFjdE5vZGUgfVxuKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPG5hdlxuICAgICAgYXJpYS1idXN5PXt0cnVlfVxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6ICR7cHJvcHMuaXNFeHBhbmRlZCA/ICcyNTZweCcgOiAnODBweCd9O1xuICAgICAgYH1cbiAgICA+XG4gICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgPC9uYXY+XG4gICk7XG59O1xuXG5jb25zdCBOYXZCYXJIZWFkZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzMwfTtcbiAgaGVpZ2h0OiAke0RJTUVOU0lPTlMuaGVhZGVyfTtcbiAgYmFja2dyb3VuZDogJHtkZXNpZ25Ub2tlbnMuY29sb3JBY2NlbnQxMH07XG5gO1xuXG5jb25zdCBOYXZCYXJCb2R5ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMTtcbiAgcGFkZGluZzogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzMwfTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzQwfTtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGJhY2tncm91bmQ6ICMwMDk5ODc7IC8vIFRPRE86IHVzZSBuZXcgZGVzaWduIHRva2VuIGNvbG9yLXByaW1hcnktMzBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC8vIGJvdHRvbSBncmFkaWVudFxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IDM2cHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIgKiAke2Rlc2lnblRva2Vucy5zcGFjaW5nMzB9KTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDAsIDE1MywgMTM1LCAwKSAwJSwgIzAwOTk4NyAxMDAlKTtcbiAgfVxuYDtcblxuY29uc3QgTmF2QmFyRm9vdGVyID0gc3R5bGVkLmRpdjxUTmF2QmFyU2tlbGV0b25Qcm9wcz5gXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMwMDk5ODcgMCUsICMwMDRkNDQgMTAwJSk7XG4gIHBhZGRpbmc6ICR7ZGVzaWduVG9rZW5zLnNwYWNpbmczMH1cbiAgICAkeyhwcm9wcykgPT4gKHByb3BzLmlzRXhwYW5kZWQgPyAnNThweCcgOiAnMHB4Jyl9O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAvLyBkaXZpZGVyXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMiAqICR7ZGVzaWduVG9rZW5zLnNwYWNpbmczMH0pO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgfVxuYDtcblxuY29uc3QgRXhwYW5kSWNvbiA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGJvcmRlci1yYWRpdXM6ICR7ZGVzaWduVG9rZW5zLmJvcmRlclJhZGl1czR9O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG5gO1xuXG5jb25zdCBNZW51SXRlbUNvbnRhaW5lciA9IHN0eWxlZC5kaXY8VE1lbnVJdGVtUHJvcHMgJiBUTmF2QmFyU2tlbGV0b25Qcm9wcz5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IDEycHg7XG4gIHBhZGRpbmc6ICR7KHByb3BzKSA9PlxuICAgIHByb3BzLmNvbnRlbnRXaWR0aCA9PT0gJ3dpZGUnIHx8ICFwcm9wcy5pc0V4cGFuZGVkID8gJzEycHgnIDogJzEycHggMjhweCd9O1xuICBoZWlnaHQ6IDQ4cHg7XG5gO1xuXG5jb25zdCBNZW51SXRlbUljb24gPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBib3JkZXItcmFkaXVzOiAke2Rlc2lnblRva2Vucy5ib3JkZXJSYWRpdXM0fTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuYDtcblxuY29uc3QgTWVudUl0ZW1UaXRsZSA9IHN0eWxlZC5kaXZgXG4gIGJvcmRlci1yYWRpdXM6ICR7ZGVzaWduVG9rZW5zLmJvcmRlclJhZGl1czR9O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gIGZsZXg6IDE7XG4gIGhlaWdodDogMThweDtcbmA7XG5cbmNvbnN0IE1lbnVJdGVtR3JvdXAgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTAwJTtcbmA7XG5cbmV4cG9ydCB7XG4gIE5hdkJhckxheW91dCxcbiAgTmF2QmFySGVhZGVyLFxuICBOYXZCYXJCb2R5LFxuICBOYXZCYXJGb290ZXIsXG4gIEV4cGFuZEljb24sXG4gIE1lbnVJdGVtQ29udGFpbmVyLFxuICBNZW51SXRlbUljb24sXG4gIE1lbnVJdGVtVGl0bGUsXG4gIE1lbnVJdGVtR3JvdXAsXG4gIHR5cGUgVE5hdkJhclNrZWxldG9uUHJvcHMsXG4gIHR5cGUgVE1lbnVJdGVtUHJvcHMsXG59O1xuIl19 */"));
609
- const MenuItemGroup = /*#__PURE__*/_styled__default["default"]("div", process.env.NODE_ENV === "production" ? {
610
- target: "epfjvz30"
611
- } : {
612
- target: "epfjvz30",
613
- label: "MenuItemGroup"
614
- })(process.env.NODE_ENV === "production" ? {
615
- name: "1d3w5wq",
616
- styles: "width:100%"
617
- } : {
618
- name: "1d3w5wq",
619
- styles: "width:100%",
620
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5hdmJhci1za2VsZXRvbi5zdHlsZXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9IZ0MiLCJmaWxlIjoibmF2YmFyLXNrZWxldG9uLnN0eWxlcy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGRlc2lnblRva2VucyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuaW1wb3J0IHsgRElNRU5TSU9OUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5cbnR5cGUgVE5hdkJhclNrZWxldG9uUHJvcHMgPSB7XG4gIGlzRXhwYW5kZWQ6IGJvb2xlYW47XG59O1xuXG50eXBlIFRNZW51SXRlbVByb3BzID0ge1xuICBjb250ZW50V2lkdGg6ICd3aWRlJyB8ICduYXJyb3cnO1xufTtcblxuY29uc3QgTmF2QmFyTGF5b3V0ID0gKFxuICBwcm9wczogVE5hdkJhclNrZWxldG9uUHJvcHMgJiB7IGNoaWxkcmVuOiBSZWFjdE5vZGUgfVxuKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPG5hdlxuICAgICAgYXJpYS1idXN5PXt0cnVlfVxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6ICR7cHJvcHMuaXNFeHBhbmRlZCA/ICcyNTZweCcgOiAnODBweCd9O1xuICAgICAgYH1cbiAgICA+XG4gICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgPC9uYXY+XG4gICk7XG59O1xuXG5jb25zdCBOYXZCYXJIZWFkZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzMwfTtcbiAgaGVpZ2h0OiAke0RJTUVOU0lPTlMuaGVhZGVyfTtcbiAgYmFja2dyb3VuZDogJHtkZXNpZ25Ub2tlbnMuY29sb3JBY2NlbnQxMH07XG5gO1xuXG5jb25zdCBOYXZCYXJCb2R5ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMTtcbiAgcGFkZGluZzogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzMwfTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzQwfTtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGJhY2tncm91bmQ6ICMwMDk5ODc7IC8vIFRPRE86IHVzZSBuZXcgZGVzaWduIHRva2VuIGNvbG9yLXByaW1hcnktMzBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC8vIGJvdHRvbSBncmFkaWVudFxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IDM2cHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIgKiAke2Rlc2lnblRva2Vucy5zcGFjaW5nMzB9KTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDAsIDE1MywgMTM1LCAwKSAwJSwgIzAwOTk4NyAxMDAlKTtcbiAgfVxuYDtcblxuY29uc3QgTmF2QmFyRm9vdGVyID0gc3R5bGVkLmRpdjxUTmF2QmFyU2tlbGV0b25Qcm9wcz5gXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMwMDk5ODcgMCUsICMwMDRkNDQgMTAwJSk7XG4gIHBhZGRpbmc6ICR7ZGVzaWduVG9rZW5zLnNwYWNpbmczMH1cbiAgICAkeyhwcm9wcykgPT4gKHByb3BzLmlzRXhwYW5kZWQgPyAnNThweCcgOiAnMHB4Jyl9O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAvLyBkaXZpZGVyXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMiAqICR7ZGVzaWduVG9rZW5zLnNwYWNpbmczMH0pO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgfVxuYDtcblxuY29uc3QgRXhwYW5kSWNvbiA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGJvcmRlci1yYWRpdXM6ICR7ZGVzaWduVG9rZW5zLmJvcmRlclJhZGl1czR9O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG5gO1xuXG5jb25zdCBNZW51SXRlbUNvbnRhaW5lciA9IHN0eWxlZC5kaXY8VE1lbnVJdGVtUHJvcHMgJiBUTmF2QmFyU2tlbGV0b25Qcm9wcz5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IDEycHg7XG4gIHBhZGRpbmc6ICR7KHByb3BzKSA9PlxuICAgIHByb3BzLmNvbnRlbnRXaWR0aCA9PT0gJ3dpZGUnIHx8ICFwcm9wcy5pc0V4cGFuZGVkID8gJzEycHgnIDogJzEycHggMjhweCd9O1xuICBoZWlnaHQ6IDQ4cHg7XG5gO1xuXG5jb25zdCBNZW51SXRlbUljb24gPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBib3JkZXItcmFkaXVzOiAke2Rlc2lnblRva2Vucy5ib3JkZXJSYWRpdXM0fTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuYDtcblxuY29uc3QgTWVudUl0ZW1UaXRsZSA9IHN0eWxlZC5kaXZgXG4gIGJvcmRlci1yYWRpdXM6ICR7ZGVzaWduVG9rZW5zLmJvcmRlclJhZGl1czR9O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gIGZsZXg6IDE7XG4gIGhlaWdodDogMThweDtcbmA7XG5cbmNvbnN0IE1lbnVJdGVtR3JvdXAgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTAwJTtcbmA7XG5cbmV4cG9ydCB7XG4gIE5hdkJhckxheW91dCxcbiAgTmF2QmFySGVhZGVyLFxuICBOYXZCYXJCb2R5LFxuICBOYXZCYXJGb290ZXIsXG4gIEV4cGFuZEljb24sXG4gIE1lbnVJdGVtQ29udGFpbmVyLFxuICBNZW51SXRlbUljb24sXG4gIE1lbnVJdGVtVGl0bGUsXG4gIE1lbnVJdGVtR3JvdXAsXG4gIHR5cGUgVE5hdkJhclNrZWxldG9uUHJvcHMsXG4gIHR5cGUgVE1lbnVJdGVtUHJvcHMsXG59O1xuIl19 */",
621
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__
622
- });
623
-
624
- const MenuItem = props => {
625
- return jsxRuntime.jsxs(MenuItemContainer, {
626
- isExpanded: props.isExpanded,
627
- contentWidth: props.contentWidth,
628
- children: [jsxRuntime.jsx(MenuItemIcon, {}), props.isExpanded && jsxRuntime.jsx(MenuItemTitle, {})]
629
- });
630
- };
631
- MenuItem.defaultProps = {
632
- contentWidth: 'wide'
633
- };
634
- const NavBarSkeleton = props => {
635
- var _context, _context2, _context3, _context4;
636
- return jsxRuntime.jsxs(NavBarLayout, {
637
- isExpanded: props.isExpanded,
638
- children: [jsxRuntime.jsx(NavBarHeader, {
639
- children: jsxRuntime.jsx(MenuItemGroup, {
640
- children: jsxRuntime.jsx(MenuItem, {
641
- contentWidth: "narrow",
642
- isExpanded: props.isExpanded
643
- })
644
- })
645
- }), jsxRuntime.jsxs(NavBarBody, {
646
- children: [jsxRuntime.jsx(MenuItemGroup, {
647
- children: _mapInstanceProperty__default["default"](_context = [..._keysInstanceProperty__default["default"](_context2 = Array(2)).call(_context2)]).call(_context, index => jsxRuntime.jsx(MenuItem, {
648
- isExpanded: props.isExpanded
649
- }, index))
650
- }), jsxRuntime.jsx(MenuItemGroup, {
651
- children: _mapInstanceProperty__default["default"](_context3 = [..._keysInstanceProperty__default["default"](_context4 = Array(10)).call(_context4)]).call(_context3, index => jsxRuntime.jsx(MenuItem, {
652
- isExpanded: props.isExpanded
653
- }, index))
654
- }), jsxRuntime.jsx(MenuItemGroup, {
655
- children: jsxRuntime.jsx(MenuItem, {
656
- isExpanded: props.isExpanded
657
- })
658
- })]
659
- }), jsxRuntime.jsx(NavBarFooter, {
660
- isExpanded: props.isExpanded,
661
- children: jsxRuntime.jsx(ExpandIcon, {})
662
- })]
663
- });
664
- };
665
- NavBarSkeleton.displayName = 'NavBarSkeleton';
666
-
667
- // Type guard to help with filtering arrays for nullish elements.
668
- function nonNullable(value) {
669
- return value !== null && value !== undefined;
670
- }
671
-
672
- function ownKeys$1(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
673
- function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var _context6, _context7; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context6 = ownKeys$1(Object(t), !0)).call(_context6, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context7 = ownKeys$1(Object(t))).call(_context7, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
674
- var FetchProjectExtensionsNavbar = { kind: "Document", definitions: [{ kind: "OperationDefinition", operation: "query", name: { kind: "Name", value: "FetchProjectExtensionsNavbar" }, variableDefinitions: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "projectExtension" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "id" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "installedApplications" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "application" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "id" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "entryPointUriPath" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "icon" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "mainMenuLink" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "id" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "permissions" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "defaultLabel" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "labelAllLocales" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "locale" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "value" }, arguments: [], directives: [] }] } }] } }, { kind: "Field", name: { kind: "Name", value: "submenuLinks" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "id" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "uriPath" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "permissions" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "defaultLabel" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "labelAllLocales" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "locale" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "value" }, arguments: [], directives: [] }] } }] } }] } }] } }] } }] } }], loc: { start: 0, end: 537, source: { body: "query FetchProjectExtensionsNavbar {\n projectExtension {\n id\n installedApplications {\n application {\n id\n entryPointUriPath\n icon\n mainMenuLink {\n id\n permissions\n defaultLabel\n labelAllLocales {\n locale\n value\n }\n }\n submenuLinks {\n id\n uriPath\n permissions\n defaultLabel\n labelAllLocales {\n locale\n value\n }\n }\n }\n }\n }\n}\n", name: "GraphQL request", locationOffset: { line: 1, column: 1 } } } };
675
- const getInitialState = isForcedMenuOpen => ({
676
- isExpanderVisible: true,
677
- isMenuOpen: isNil__default["default"](isForcedMenuOpen) ? false : isForcedMenuOpen
678
- });
679
- const isForcedMenuOpenDefaultValue = false;
680
- const reducer = (state, action) => {
681
- switch (action.type) {
682
- case 'setActiveItemIndex':
683
- return _objectSpread$1(_objectSpread$1({}, state), {}, {
684
- activeItemIndex: action.payload
685
- });
686
- case 'unsetActiveItemIndex':
687
- return _objectSpread$1(_objectSpread$1({}, state), {}, {
688
- activeItemIndex: undefined
689
- });
690
- case 'setIsExpanderVisible':
691
- return _objectSpread$1(_objectSpread$1({}, state), {}, {
692
- isExpanderVisible: true
693
- });
694
- case 'toggleIsMenuOpen':
695
- return _objectSpread$1(_objectSpread$1({}, state), {}, {
696
- isMenuOpen: !state.isMenuOpen
697
- });
698
- case 'setIsMenuOpenAndMakeExpanderVisible':
699
- return _objectSpread$1(_objectSpread$1({}, state), {}, {
700
- isExpanderVisible: true,
701
- isMenuOpen: action.payload
702
- });
703
- case 'reset':
704
- return {
705
- isExpanderVisible: false,
706
- isMenuOpen: false
707
- };
708
- default:
709
- return state;
710
- }
711
- };
712
- const isFocusOutEventCalledBySubmenuItem = event => {
713
- var _event$relatedTarget, _event$target;
714
- return (
715
- // a case when a submenu item loses focus
716
- event.type === 'focusout' && ( // element receiving focus
717
- (_event$relatedTarget = event.relatedTarget) === null || _event$relatedTarget === void 0 ? void 0 : _event$relatedTarget.matches('a[data-link-level="text-link"]')) && ( // element losing focus
718
- (_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target.matches('a[data-link-level="text-link-sublist"]'))
719
- );
720
- };
721
- const useNavbarStateManager = props => {
722
- var _context, _context2, _context4, _context5;
723
- const navBarNode = react.useRef(null);
724
- const applicationsNavBarMenuGroups = useApplicationsMenu.useApplicationsMenu('navBarGroups', {
725
- queryOptions: {
726
- onError: sentry.reportErrorToSentry
727
- },
728
- environment: props.environment
729
- });
730
- const _useMcQuery = applicationShellConnectors.useMcQuery(FetchProjectExtensionsNavbar, {
731
- skip: !props.environment.servedByProxy,
732
- context: {
733
- target: constants.GRAPHQL_TARGETS.SETTINGS_SERVICE
734
- },
735
- fetchPolicy: 'cache-and-network',
736
- onError: sentry.reportErrorToSentry
737
- }),
738
- projectExtensionsQuery = _useMcQuery.data;
739
- const allCustomApplicationsNavbarMenu = projectExtensionsQuery && projectExtensionsQuery.projectExtension && projectExtensionsQuery.projectExtension.installedApplications ? _filterInstanceProperty__default["default"](_context = _mapInstanceProperty__default["default"](_context2 = projectExtensionsQuery.projectExtension.installedApplications).call(_context2, installedApplication => {
740
- var _context3;
741
- const application = installedApplication.application;
742
- // Map the menu properties to match the one from the proxy schema.
743
- // This is to ensure that the menu object is the same from the proxy
744
- // config and the custom apps config, thus allowing them to be
745
- // concatenated and rendered the same way.
746
- return {
747
- key: application.id,
748
- uriPath: application.entryPointUriPath,
749
- labelAllLocales: application.mainMenuLink.labelAllLocales || [],
750
- icon: application.icon,
751
- permissions: application.mainMenuLink.permissions,
752
- defaultLabel: application.mainMenuLink.defaultLabel,
753
- featureToggle: undefined,
754
- menuVisibility: undefined,
755
- actionRights: undefined,
756
- dataFences: undefined,
757
- submenu: _mapInstanceProperty__default["default"](_context3 = application.submenuLinks || []).call(_context3, submenuLink => ({
758
- key: submenuLink.id,
759
- uriPath: submenuLink.uriPath,
760
- labelAllLocales: submenuLink.labelAllLocales || [],
761
- permissions: submenuLink.permissions,
762
- defaultLabel: submenuLink.defaultLabel,
763
- featureToggle: undefined,
764
- menuVisibility: undefined,
765
- actionRights: undefined,
766
- dataFences: undefined
767
- }))
768
- };
769
- })).call(_context, nonNullable) : [];
770
- const cachedIsForcedMenuOpen = window.localStorage.getItem(constants.STORAGE_KEYS.IS_FORCED_MENU_OPEN);
771
- const isForcedMenuOpen = isNil__default["default"](cachedIsForcedMenuOpen) ? isForcedMenuOpenDefaultValue : JSON.parse(cachedIsForcedMenuOpen);
772
- if (isNil__default["default"](cachedIsForcedMenuOpen)) {
773
- window.localStorage.setItem(constants.STORAGE_KEYS.IS_FORCED_MENU_OPEN, String(isForcedMenuOpen));
774
- }
775
- const _useReducer = react.useReducer(reducer, getInitialState(isForcedMenuOpen)),
776
- _useReducer2 = _slicedToArray(_useReducer, 2),
777
- state = _useReducer2[0],
778
- dispatch = _useReducer2[1];
779
- const checkSize = react.useCallback(throttle__default["default"](() => {
780
- const shouldOpen = window.innerWidth > oidc.WINDOW_SIZES.STANDARD;
781
- const canExpandMenu = window.innerWidth > oidc.WINDOW_SIZES.WIDE;
782
-
783
- // If the screen is small, we should always keep the menu closed,
784
- // no matter the settings.
785
- if (!canExpandMenu) {
786
- if (state.isMenuOpen || state.isExpanderVisible) {
787
- // and resets the state to avoid conflicts
788
- dispatch({
789
- type: 'reset'
790
- });
791
- }
792
- } else if (isForcedMenuOpen) {
793
- dispatch({
794
- type: 'setIsMenuOpenAndMakeExpanderVisible',
795
- payload: true
796
- });
797
- } else if (canExpandMenu && state.isExpanderVisible !== true) {
798
- dispatch({
799
- type: 'setIsExpanderVisible'
800
- });
801
- } else if (isNil__default["default"](isForcedMenuOpen) && state.isMenuOpen !== shouldOpen) {
802
- // User has no settings yet (this.props.isForcedMenuOpen === null)
803
- // We check the viewport size and:
804
- // - if screen is big, we open the menu
805
- // - if screen is small we close it
806
- dispatch({
807
- type: 'setIsMenuOpenAndMakeExpanderVisible',
808
- payload: shouldOpen
809
- });
810
- } else if (!isNil__default["default"](isForcedMenuOpen) && state.isMenuOpen !== isForcedMenuOpen) {
811
- // User has setting, we should use that and ignore the screen size.
812
- // Note: if viewport size is small, we should ignore the user settings.
813
- dispatch({
814
- type: 'setIsMenuOpenAndMakeExpanderVisible',
815
- payload: isForcedMenuOpen
816
- });
817
- }
818
- }, 100), [isForcedMenuOpen, state.isExpanderVisible, state.isMenuOpen]);
819
- const shouldCloseMenuFly = react.useCallback(event => {
820
- var _navBarNode$current;
821
- if (!(navBarNode !== null && navBarNode !== void 0 && (_navBarNode$current = navBarNode.current) !== null && _navBarNode$current !== void 0 && _navBarNode$current.contains(event.target)) && !state.isMenuOpen) {
822
- dispatch({
823
- type: 'unsetActiveItemIndex'
824
- });
825
- } else if (event.type === 'mouseleave') {
826
- dispatch({
827
- type: 'unsetActiveItemIndex'
828
- });
829
- } else if (isFocusOutEventCalledBySubmenuItem(event)) {
830
- dispatch({
831
- type: 'unsetActiveItemIndex'
832
- });
833
- }
834
- }, [state.isMenuOpen]);
835
- react.useEffect(() => {
836
- window.addEventListener('resize', checkSize);
837
- window.addEventListener('click', shouldCloseMenuFly, true);
838
- window.addEventListener('focusout', shouldCloseMenuFly, true);
839
- return () => {
840
- window.removeEventListener('resize', checkSize);
841
- window.removeEventListener('click', shouldCloseMenuFly, true);
842
- window.removeEventListener('focusout', shouldCloseMenuFly, true);
843
- };
844
- }, [checkSize, shouldCloseMenuFly]);
845
- react.useEffect(() => {
846
- checkSize();
847
- // eslint-disable-next-line react-hooks/exhaustive-deps
848
- }, []); // <-- run this only once!!
849
-
850
- react.useLayoutEffect(() => {
851
- if (state.isMenuOpen) document.body.classList.add('body__menu-open');
852
- if (!state.isMenuOpen) document.body.classList.remove('body__menu-open');
853
- }, [state.isMenuOpen]);
854
- const handleToggleItem = react.useCallback(nextActiveItemIndex => {
855
- if (state.activeItemIndex !== nextActiveItemIndex) dispatch({
856
- type: 'setActiveItemIndex',
857
- payload: nextActiveItemIndex
858
- });
859
- }, [state.activeItemIndex]);
860
- const handleToggleMenu = react.useCallback(() => {
861
- if (state.isMenuOpen && state.activeItemIndex) {
862
- dispatch({
863
- type: 'unsetActiveItemIndex'
864
- });
865
- }
866
- dispatch({
867
- type: 'toggleIsMenuOpen'
868
- });
869
- // Synchronize the menu state with local storage.
870
- window.localStorage.setItem(constants.STORAGE_KEYS.IS_FORCED_MENU_OPEN, String(!state.isMenuOpen));
871
- }, [state.activeItemIndex, state.isMenuOpen]);
872
- const allApplicationsNavbarMenuGroups = _sortInstanceProperty__default["default"](_context4 = _mapInstanceProperty__default["default"](_context5 = applicationsNavBarMenuGroups || []).call(_context5, navbarMenuGroup => navbarMenuGroup.key === '2' && allCustomApplicationsNavbarMenu.length > 0 ? {
873
- key: navbarMenuGroup.key,
874
- items: [...navbarMenuGroup.items, ...allCustomApplicationsNavbarMenu]
875
- } : navbarMenuGroup)).call(_context4, (navBarMenuGroupA, navBarMenuGroupB) => Number(navBarMenuGroupA === null || navBarMenuGroupA === void 0 ? void 0 : navBarMenuGroupA.key) - Number(navBarMenuGroupB === null || navBarMenuGroupB === void 0 ? void 0 : navBarMenuGroupB.key));
876
- return _objectSpread$1(_objectSpread$1({}, state), {}, {
877
- navBarNode,
878
- handleToggleItem,
879
- handleToggleMenu,
880
- shouldCloseMenuFly,
881
- allApplicationsNavbarMenuGroups
882
- });
883
- };
884
-
885
- function ownKeys(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
886
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context10, _context11; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context10 = ownKeys(Object(t), !0)).call(_context10, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context11 = ownKeys(Object(t))).call(_context11, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
887
- const compiledStyles = {
888
- "global": ":root {\n\n /* Left navigation */\n}\n\n@keyframes navbar-mod__visible___AKV1b {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n\n/* Left Nav */\n\n.navbar-mod__left-navigation___n7yUt {\n display: grid;\n width: 80px;\n background: var(--color-primary);\n height: 100%;\n grid-template-rows: 56px 1fr;\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n}\n\n.navbar-mod__navigation-header___Z6fOr {\n background-color: var(--color-accent-10);\n color: var(--color-surface);\n display: flex;\n justify-content: center;\n flex-direction: row;\n align-items: center;\n padding: var(--spacing-30);\n}\n\n.navbar-mod__navigation-header___Z6fOr .navbar-mod__icon-container___w3FtA {\n width: auto;\n display: flex;\n justify-content: center;\n}\n\n.navbar-mod__navigation-header___Z6fOr .navbar-mod__title___eRWUj {\n font-weight: 600;\n margin-left: var(--spacing-20);\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n animation: navbar-mod__visible___AKV1b 150ms cubic-bezier(1, 0, 0.58, 1);\n}\n\n.navbar-mod__navigation-header___Z6fOr .navbar-mod__icon___bLsep {\n width: 24px;\n height: 24px;\n}\n\n.navbar-mod__list___RCV3J {\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n min-height: 0;\n flex: 1 1 0;\n}\n\n.navbar-mod__list-item___MjK6t {\n min-height: 48px;\n background: var(--color-primary);\n margin: 0;\n list-style: none;\n cursor: pointer;\n}\n\n.navbar-mod__item-link___X2Ina {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link);\n width: 48px;\n position: relative;\n display: block;\n}\n\n.body__menu-open .navbar-mod__item-link___X2Ina {\n width: 100%;\n}\n\n.navbar-mod__list-item___MjK6t .navbar-mod__item-icon-text___a-8JY {\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n}\n\n.navbar-mod__list-item___MjK6t .navbar-mod__icon___bLsep {\n width: 24px;\n height: 24px;\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n}\n\n.navbar-mod__list-item___MjK6t:hover .navbar-mod__icon___bLsep,\n.navbar-mod__list-item___MjK6t:focus-within .navbar-mod__icon___bLsep {\n /* 1.16 is roughly the ratio of icon-size-hover to --icon-size */\n transform: scale(1.2);\n}\n\n.navbar-mod__list-item___MjK6t .navbar-mod__icon___bLsep > svg *:not([fill='none']) {\n fill: var(--color-surface);\n}\n\n.navbar-mod__list-item___MjK6t .navbar-mod__title___eRWUj {\n flex: 1;\n font-weight: 600;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n line-height: var(--line-height-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link);\n opacity: 0;\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n text-align: left;\n text-decoration: none;\n z-index: 1;\n}\n\n.navbar-mod__expander___jyAUi {\n display: flex;\n align-items: center;\n justify-content: center;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background: linear-gradient(\n 180deg,\n var(--color-primary) 0%,\n var(--color-primary-25) 100%\n );\n padding: var(--spacing-30) var(--spacing-25);\n}\n\n.navbar-mod__expander___jyAUi:hover,\n.navbar-mod__expander___jyAUi:focus {\n background-color: var(--color-primary-40);\n}\n\n/* divider */\n\n.navbar-mod__expander___jyAUi::before {\n content: '';\n position: absolute;\n top: 56px;\n height: 1px;\n background: rgba(255, 255, 255, 0.5);\n width: calc(100% - 2 * var(--spacing-30));\n}\n\n.navbar-mod__expand-icon___BtmRa {\n height: 40px;\n width: 40px;\n border-radius: var(--border-radius-4);\n padding: var(--spacing-20);\n background: rgba(255, 255, 255, 0.2);\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.navbar-mod__expand-icon___BtmRa:hover,\n.navbar-mod__expand-icon___BtmRa:focus {\n background: rgba(255, 255, 255, 0.3);\n cursor: pointer;\n}\n\n.navbar-mod__item--bottom___eW7nh {\n position: absolute;\n bottom: 50px;\n}\n\n.navbar-mod__list-item___MjK6t:not(.navbar-mod__item_menu__active___5xFRw):hover,\n.navbar-mod__list-item___MjK6t:not(.navbar-mod__item_menu__active___5xFRw):focus-within {\n background-color: var(--color-primary-40);\n border-radius: var(--border-radius-8);\n}\n\n.navbar-mod__item_menu-open___zk0zh {\n height: auto !important;\n}\n\n.navbar-mod__item_menu-collapsed___cluyY .navbar-mod__item-link___X2Ina {\n text-align: center;\n}\n\n.body__menu-open .navbar-mod__left-navigation___n7yUt {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n box-shadow: var(--shadow-for-navbar);\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n}\n\n.body__menu-open .navbar-mod__list-item___MjK6t {\n height: auto;\n min-height: 48px;\n width: 100%;\n}\n\n.body__menu-open .navbar-mod__left-navigation___n7yUt {\n width: 256px;\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n}\n\n.body__menu-open .navbar-mod__list-item___MjK6t .navbar-mod__title___eRWUj {\n opacity: 1;\n margin-left: var(--spacing-25);\n color: var(--color-surface);\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n animation: navbar-mod__visible___AKV1b 150ms cubic-bezier(1, 0, 0.58, 1);\n}\n\n.navbar-mod__list-item___MjK6t:hover .navbar-mod__title___eRWUj,\n.navbar-mod__list-item___MjK6t:focus-within .navbar-mod__title___eRWUj {\n margin-left: calc(var(--spacing-25) + 2px);\n}\n\n.navbar-mod__list-item___MjK6t:not(.navbar-mod__item__active___lo1sr):hover .navbar-mod__icon___bLsep > svg *:not([fill='none']),\n.navbar-mod__list-item___MjK6t:not(.navbar-mod__item__active___lo1sr):focus-within .navbar-mod__icon___bLsep > svg *:not([fill='none']) {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n fill: var(--color-for-navbar-icon-when-active);\n}\n\n.navbar-mod__list-item___MjK6t:not(.navbar-mod__item__active___lo1sr):hover .navbar-mod__title___eRWUj,\n.navbar-mod__list-item___MjK6t:not(.navbar-mod__item__active___lo1sr):focus-within .navbar-mod__title___eRWUj {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link-when-hovered);\n}\n\n.body__menu-open .navbar-mod__item__active___lo1sr {\n max-height: 500px;\n transition: max-height 0.25s ease-in;\n}\n\n/* Second level menu */\n\n.navbar-mod__sublist___os1s7 {\n padding: var(--spacing-30);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background-color: var(--background-color-for-navbar);\n left: 72px;\n z-index: -1;\n list-style: none;\n position: fixed;\n display: none;\n}\n\n/* This pseudo-element is required to enable smooth coursor movement from the main menu item to submenu items with the gap in between */\n\n.navbar-mod__sublist-expanded__active___240JK::before,\n.navbar-mod__sublist-collapsed__active___-9vYh::before,\n.navbar-mod__sublist-collapsed__active__above___BXCeM::before {\n content: '';\n position: absolute;\n display: block;\n width: calc(253px + var(--spacing-20));\n height: 48px;\n left: calc(-1 * var(--spacing-20));\n}\n\n.navbar-mod__sublist__inactive___kJvf- {\n /* empty block */\n}\n\n.navbar-mod__sublist-item___gafkS {\n display: flex;\n align-items: center;\n align-self: stretch;\n}\n\n.navbar-mod__sublist-item__active___QC6pa {\n border-radius: var(--border-radius-4);\n background: var(--color-accent-30);\n}\n\n.navbar-mod__sublist-item___gafkS:not(.navbar-mod__sublist-item__active___QC6pa):hover,\n.navbar-mod__sublist-item___gafkS:not(.navbar-mod__sublist-item__active___QC6pa):focus-within {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link-when-hovered);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link-when-hovered);\n border-radius: var(--border-radius-4);\n background: var(--color-primary-95);\n}\n\n.navbar-mod__text___ccHEu {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n line-height: var(--line-height-for-navbar-link);\n width: 100%;\n height: 100%;\n}\n\n.navbar-mod__text-link___dhtj6 {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link);\n text-decoration: none;\n display: flex;\n padding: var(--spacing-25);\n align-items: center;\n justify-content: center;\n}\n\n.body__menu-open .navbar-mod__text-link___dhtj6 {\n justify-content: start;\n}\n\n.navbar-mod__text-link-sublist-wrapper___1JN4x {\n display: flex;\n flex-direction: column;\n position: relative;\n min-height: 0;\n}\n\n.navbar-mod__text-link-sublist___AoIpU {\n /* stylelint-disable-next-line value-no-vendor-prefix */\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n color: var(--color-solid);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link-when-hovered);\n text-decoration: none;\n flex: 1;\n padding: var(--spacing-25) var(--spacing-25) var(--spacing-25)\n var(--spacing-30);\n transition: padding 150ms ease-out;\n}\n\n.navbar-mod__sublist-item___gafkS:not(.navbar-mod__sublist-item__active___QC6pa):hover .navbar-mod__text-link-sublist___AoIpU,\n.navbar-mod__sublist-item___gafkS:not(.navbar-mod__sublist-item__active___QC6pa):focus-within .navbar-mod__text-link-sublist___AoIpU {\n /* additional left padding on hover and focus */\n padding: var(--spacing-25) var(--spacing-25) var(--spacing-25)\n calc(var(--spacing-30) + var(--spacing-20));\n}\n\n.navbar-mod__navlink-clickable-content___bzddC {\n height: 100%;\n width: 100%;\n}\n\n/* Item active */\n\n.navbar-mod__item__active___lo1sr,\n.navbar-mod__item_menu__active___5xFRw,\n.navbar-mod__item_menu__active___5xFRw:focus-within .navbar-mod__list-item___MjK6t {\n background: var(--color-accent-30);\n border-radius: var(--border-radius-8);\n}\n\n.navbar-mod__list-item___MjK6t.navbar-mod__item__active___lo1sr .navbar-mod__item-icon-text___a-8JY {\n justify-content: flex-start;\n}\n\n.navbar-mod__list-item___MjK6t .navbar-mod__icon-container___w3FtA {\n width: auto;\n display: flex;\n justify-content: center;\n align-self: flex-start;\n}\n\n.navbar-mod__fixed-menu___42tD9 .navbar-mod__list-item___MjK6t .navbar-mod__item-icon-text___a-8JY {\n justify-content: center;\n display: flex;\n width: 100%;\n}\n\n.navbar-mod__support-menu___fi5Ka {\n padding: var(--spacing-10) var(--spacing-30) var(--spacing-20)\n var(--spacing-30);\n height: calc(48px + var(--spacing-20));\n}\n\n.body__menu-open .navbar-mod__list-item___MjK6t.navbar-mod__item__active___lo1sr .navbar-mod__item-icon-text___a-8JY {\n position: relative;\n width: auto;\n}\n\n.body__menu-open .navbar-mod__list-item___MjK6t.navbar-mod__item__active___lo1sr .navbar-mod__item-icon-text___a-8JY {\n margin-left: 0;\n}\n\n.navbar-mod__tooltip-container___iJYyi {\n position: absolute;\n left: 0;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n height: 48px;\n visibility: visible;\n}\n\n.navbar-mod__tooltip___1ID3j {\n padding: var(--spacing-10) calc(var(--spacing-20) + var(--spacing-10));\n /* stylelint-disable-next-line value-no-vendor-prefix */\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n border-radius: var(--border-radius-4);\n background: var(--color-accent-10);\n box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.25);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n line-height: var(--line-height-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link);\n color: var(--color-surface);\n max-height: 48px;\n visibility: inherit;\n}\n\n.navbar-mod__sublist-expanded__active___240JK,\n.navbar-mod__sublist-collapsed__active___-9vYh,\n.navbar-mod__sublist-collapsed__active__above___BXCeM {\n opacity: 1;\n display: none;\n text-align: left;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background-color: var(--background-color-for-navbar-when-active);\n}\n\n.navbar-mod__item-link___X2Ina:hover .navbar-mod__sublist-collapsed__active___-9vYh,\n.navbar-mod__item-link___X2Ina:hover .navbar-mod__sublist-collapsed__active__above___BXCeM,\n.navbar-mod__item-link___X2Ina:hover .navbar-mod__sublist-expanded__active___240JK,\n.navbar-mod__item-link___X2Ina:focus-within .navbar-mod__sublist-collapsed__active___-9vYh,\n.navbar-mod__item-link___X2Ina:focus-within .navbar-mod__sublist-collapsed__active__above___BXCeM,\n.navbar-mod__item-link___X2Ina:focus-within .navbar-mod__sublist-expanded__active___240JK {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background-color: var(--color-surface);\n /* TODO: add design tokens instead hard-coded values */\n min-height: 50px;\n width: 253px;\n border-radius: var(--border-radius-8);\n /* z-index value must be higher than AppBar's z-index */\n z-index: 20001;\n box-shadow: -2px 4px 25px 0 rgba(89, 89, 89, 0.5);\n}\n\n.navbar-mod__item-link___X2Ina:hover .navbar-mod__sublist-collapsed__active___-9vYh.navbar-mod__sublist-collapsed__empty___FBUli,\n.navbar-mod__item-link___X2Ina:hover .navbar-mod__sublist-collapsed__active__above___BXCeM.navbar-mod__sublist-collapsed__empty___FBUli,\n.navbar-mod__item-link___X2Ina:focus-within .navbar-mod__sublist-collapsed__active___-9vYh.navbar-mod__sublist-collapsed__empty___FBUli,\n.navbar-mod__item-link___X2Ina:focus-within\n .navbar-mod__sublist-collapsed__active__above___BXCeM.navbar-mod__sublist-collapsed__empty___FBUli {\n visibility: hidden;\n}\n\n.navbar-mod__item-link___X2Ina:hover .navbar-mod__sublist-expanded__active___240JK,\n.navbar-mod__item-link___X2Ina:focus-within .navbar-mod__sublist-expanded__active___240JK {\n left: 248px;\n}\n\n.navbar-mod__highlighted___oJWkA,\n.navbar-mod__highlighted___oJWkA .navbar-mod__title___eRWUj {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link-when-active) !important;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link-when-active);\n}\n\n.navbar-mod__hidden___TQLSs {\n display: none;\n}\n\n.navbar-mod__divider___TpVzu {\n border-top: 1px solid var(--color-neutral-40);\n}\n\n.navbar-mod__loading-dot-container___G2LVb {\n width: 24px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.navbar-mod__scrollable-menu___64pxJ {\n flex: 1 1 0;\n overflow-x: hidden;\n overflow-y: hidden;\n padding: var(--spacing-30) var(--spacing-30) 48px;\n width: 80px;\n box-sizing: border-box;\n /* For Firefox */\n scrollbar-width: thin;\n scrollbar-color: var(--color-primary-40) transparent;\n}\n\n.body__menu-open .navbar-mod__scrollable-menu___64pxJ {\n width: 256px;\n}\n\n.navbar-mod__scrollable-menu___64pxJ:hover {\n overflow-y: scroll;\n padding-right: 8px;\n}\n\n.navbar-mod__scrollable-menu___64pxJ::-webkit-scrollbar {\n width: 8px;\n}\n\n.navbar-mod__scrollable-menu___64pxJ::-webkit-scrollbar-track {\n background: transparent;\n}\n\n.navbar-mod__scrollable-menu___64pxJ::-webkit-scrollbar-thumb {\n background-color: var(--color-primary-40);\n border-radius: var(--border-radius-8);\n}\n\n.navbar-mod__fixed-menu___42tD9 {\n position: relative;\n width: 80px;\n}\n\n.body__menu-open .navbar-mod__fixed-menu___42tD9 {\n width: 256px;\n}\n",
889
- "jsonMap": {
890
- "left-navigation": "navbar-mod__left-navigation___n7yUt",
891
- "navigation-header": "navbar-mod__navigation-header___Z6fOr",
892
- "icon-container": "navbar-mod__icon-container___w3FtA",
893
- "title": "navbar-mod__title___eRWUj",
894
- "visible": "navbar-mod__visible___AKV1b",
895
- "icon": "navbar-mod__icon___bLsep",
896
- "list": "navbar-mod__list___RCV3J",
897
- "list-item": "navbar-mod__list-item___MjK6t",
898
- "item-link": "navbar-mod__item-link___X2Ina",
899
- "item-icon-text": "navbar-mod__item-icon-text___a-8JY",
900
- "expander": "navbar-mod__expander___jyAUi",
901
- "expand-icon": "navbar-mod__expand-icon___BtmRa",
902
- "item--bottom": "navbar-mod__item--bottom___eW7nh",
903
- "item_menu__active": "navbar-mod__item_menu__active___5xFRw",
904
- "item_menu-open": "navbar-mod__item_menu-open___zk0zh",
905
- "item_menu-collapsed": "navbar-mod__item_menu-collapsed___cluyY",
906
- "item__active": "navbar-mod__item__active___lo1sr",
907
- "sublist": "navbar-mod__sublist___os1s7",
908
- "sublist-expanded__active": "navbar-mod__sublist-expanded__active___240JK",
909
- "sublist-collapsed__active": "navbar-mod__sublist-collapsed__active___-9vYh",
910
- "sublist-collapsed__active__above": "navbar-mod__sublist-collapsed__active__above___BXCeM",
911
- "sublist__inactive": "navbar-mod__sublist__inactive___kJvf-",
912
- "sublist-item": "navbar-mod__sublist-item___gafkS",
913
- "sublist-item__active": "navbar-mod__sublist-item__active___QC6pa",
914
- "text": "navbar-mod__text___ccHEu",
915
- "text-link": "navbar-mod__text-link___dhtj6",
916
- "text-link-sublist-wrapper": "navbar-mod__text-link-sublist-wrapper___1JN4x",
917
- "text-link-sublist": "navbar-mod__text-link-sublist___AoIpU",
918
- "navlink-clickable-content": "navbar-mod__navlink-clickable-content___bzddC",
919
- "fixed-menu": "navbar-mod__fixed-menu___42tD9",
920
- "support-menu": "navbar-mod__support-menu___fi5Ka",
921
- "tooltip-container": "navbar-mod__tooltip-container___iJYyi",
922
- "tooltip": "navbar-mod__tooltip___1ID3j",
923
- "sublist-collapsed__empty": "navbar-mod__sublist-collapsed__empty___FBUli",
924
- "highlighted": "navbar-mod__highlighted___oJWkA",
925
- "hidden": "navbar-mod__hidden___TQLSs",
926
- "divider": "navbar-mod__divider___TpVzu",
927
- "loading-dot-container": "navbar-mod__loading-dot-container___G2LVb",
928
- "scrollable-menu": "navbar-mod__scrollable-menu___64pxJ"
929
- }
930
- }; // https://babeljs.io/blog/2017/09/11/zero-config-with-babel-macros
931
- const styles = compiledStyles.jsonMap;
932
- const getMenuVisibilitiesOfSubmenus = menu => {
933
- var _context, _context2;
934
- return _filterInstanceProperty__default["default"](_context = _mapInstanceProperty__default["default"](_context2 = menu.submenu).call(_context2, submenu => submenu.menuVisibility)).call(_context, nonNullable);
935
- };
936
- const getMenuVisibilityOfMainmenu = menu => menu.menuVisibility ? [menu.menuVisibility] : [];
937
- const getIsSubmenuRouteActive = (uriPath, props) => {
938
- var _context3;
939
- return Boolean(reactRouterDom.matchPath(props.location.pathname, {
940
- path: _concatInstanceProperty__default["default"](_context3 = "/".concat(props.projectKey, "/")).call(_context3, uriPath),
941
- exact: true,
942
- strict: false
943
- }));
944
- };
945
- const ApplicationMenu = props => {
946
- var _context4, _props$menu$featureTo, _props$menu$actionRig, _props$menu$dataFence, _context5, _context6;
947
- const _useState = react.useState(0),
948
- _useState2 = _slicedToArray(_useState, 2),
949
- submenuVerticalPosition = _useState2[0],
950
- setSubmenuVerticalPosition = _useState2[1];
951
- const _useState3 = react.useState(false),
952
- _useState4 = _slicedToArray(_useState3, 2),
953
- isSubmenuAboveMenuItem = _useState4[0],
954
- setIsSubmenuAboveMenuItem = _useState4[1];
955
- const submenuRef = react.useRef(null);
956
- const hasSubmenu = _Array$isArray__default["default"](props.menu.submenu) && props.menu.submenu.length > 0;
957
- const menuItemIdentifier = snakeCase__default["default"](props.menu.key);
958
- const callbackFn = react.useCallback(entries => {
959
- var _document$querySelect;
960
- const menuItemBoundingClientRect = (_document$querySelect = document.querySelector("[data-menuitem=\"".concat(menuItemIdentifier, "\"]"))) === null || _document$querySelect === void 0 ? void 0 : _document$querySelect.getBoundingClientRect();
961
- const menuItemTop = (menuItemBoundingClientRect === null || menuItemBoundingClientRect === void 0 ? void 0 : menuItemBoundingClientRect.top) || 0;
962
- const menuItemBottom = (menuItemBoundingClientRect === null || menuItemBoundingClientRect === void 0 ? void 0 : menuItemBoundingClientRect.bottom) || 0;
963
- const _entries = _slicedToArray(entries, 1),
964
- entry = _entries[0];
965
- const doesSubmenuFitWithinViewportBelowMenuItem = entry.boundingClientRect.height + (props.isMenuOpen ? menuItemTop : menuItemBottom) > window.innerHeight;
966
- // if the submenu does not fit at the bottom of the viewport (below the menu item)
967
- if (doesSubmenuFitWithinViewportBelowMenuItem) {
968
- setIsSubmenuAboveMenuItem(true);
969
- setSubmenuVerticalPosition(window.innerHeight - (props.isMenuOpen ? menuItemBottom : menuItemTop));
970
- // show the submenu above the menu item
971
- } else {
972
- setIsSubmenuAboveMenuItem(false);
973
- setSubmenuVerticalPosition(props.isMenuOpen ? menuItemTop : menuItemBottom);
974
- }
975
- }, [menuItemIdentifier, props.isMenuOpen]);
976
- const observerRef = react.useRef(null);
977
- react.useLayoutEffect(() => {
978
- observerRef.current = new IntersectionObserver(callbackFn, {
979
- rootMargin: '-100% 0px 0px 0px' // we want to observe if the submenu crosses the bottom line of the viewport - therefore we set the root element top margin to -100% of the viewport height
980
- });
981
-
982
- return () => {
983
- var _observerRef$current;
984
- return (_observerRef$current = observerRef.current) === null || _observerRef$current === void 0 ? void 0 : _observerRef$current.disconnect();
985
- };
986
- }, [callbackFn, props.isMenuOpen]);
987
- react.useLayoutEffect(() => {
988
- const currentSubmenuRef = submenuRef.current;
989
- const observer = observerRef.current;
990
- if (!currentSubmenuRef) return;
991
- if (observer && currentSubmenuRef) {
992
- observer.observe(currentSubmenuRef);
993
- }
994
- return () => observer === null || observer === void 0 ? void 0 : observer.disconnect();
995
- }, [menuItemIdentifier, props.isMenuOpen, props.handleToggleItem, callbackFn]);
996
- const isMainMenuRouteActive = Boolean(reactRouterDom.matchPath(props.location.pathname, {
997
- path: _concatInstanceProperty__default["default"](_context4 = "/".concat(props.projectKey, "/")).call(_context4, props.menu.uriPath),
998
- exact: false,
999
- strict: false
1000
- }));
1001
- react.useEffect(() => {
1002
- // On first render, check which menu is active for the current application and expand
1003
- // the submenu automatically unless the all navbar is collapsed or there are no submenu links.
1004
- if (props.isMenuOpen && isMainMenuRouteActive && hasSubmenu) {
1005
- props.handleToggleItem();
1006
- }
1007
- // eslint-disable-next-line react-hooks/exhaustive-deps
1008
- }, [props.isMenuOpen]); // <-- (re)run this only when the all menu expands
1009
-
1010
- const namesOfMenuVisibilitiesOfAllSubmenus = hasSubmenu ? getMenuVisibilitiesOfSubmenus(props.menu) : getMenuVisibilityOfMainmenu(props.menu);
1011
- return jsxRuntime.jsx(RestrictedMenuItem, {
1012
- keyOfMenuItem: props.menu.key,
1013
- featureToggle: (_props$menu$featureTo = props.menu.featureToggle) !== null && _props$menu$featureTo !== void 0 ? _props$menu$featureTo : undefined,
1014
- permissions: props.menu.permissions,
1015
- actionRights: (_props$menu$actionRig = props.menu.actionRights) !== null && _props$menu$actionRig !== void 0 ? _props$menu$actionRig : undefined,
1016
- dataFences: (_props$menu$dataFence = props.menu.dataFences) !== null && _props$menu$dataFence !== void 0 ? _props$menu$dataFence : undefined,
1017
- projectPermissions: props.projectPermissions,
1018
- menuVisibilities: props.menuVisibilities,
1019
- namesOfMenuVisibilities: namesOfMenuVisibilitiesOfAllSubmenus,
1020
- children: jsxRuntime.jsxs(MenuItem$1, {
1021
- hasSubmenu: hasSubmenu,
1022
- isActive: props.isActive,
1023
- isMainMenuRouteActive: isMainMenuRouteActive,
1024
- isMenuOpen: props.isMenuOpen,
1025
- onClick: props.handleToggleItem,
1026
- onMouseEnter: props.handleToggleItem,
1027
- onMouseLeave: props.shouldCloseMenuFly,
1028
- identifier: menuItemIdentifier,
1029
- children: [jsxRuntime.jsx(MenuItemLink, {
1030
- linkTo: _concatInstanceProperty__default["default"](_context5 = "/".concat(props.projectKey, "/")).call(_context5, props.menu.uriPath),
1031
- useFullRedirectsForLinks: props.useFullRedirectsForLinks,
1032
- onClick: props.onMenuItemClick,
1033
- children: jsxRuntime.jsx(ItemContainer, {
1034
- labelAllLocales: props.menu.labelAllLocales,
1035
- defaultLabel: props.menu.defaultLabel,
1036
- applicationLocale: props.applicationLocale,
1037
- icon: props.menu.icon,
1038
- isMenuOpen: props.isMenuOpen
1039
- })
1040
- }), jsxRuntime.jsxs(MenuGroup, {
1041
- id: "group-".concat(props.menu.key),
1042
- level: 2,
1043
- isActive: props.isActive,
1044
- isExpanded: props.isMenuOpen,
1045
- hasSubmenu: hasSubmenu,
1046
- submenuVerticalPosition: submenuVerticalPosition,
1047
- isSubmenuAboveMenuItem: isSubmenuAboveMenuItem,
1048
- ref: submenuRef,
1049
- children: [!props.isMenuOpen && jsxRuntime.jsx("div", {
1050
- className: styles['tooltip-container'],
1051
- css: /*#__PURE__*/react$1.css(isSubmenuAboveMenuItem ? 'bottom' : 'top', ":-", oidc.DIMENSIONS.navMenuItemHeight, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:ApplicationMenu;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5hdmJhci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBK09zQiIsImZpbGUiOiJuYXZiYXIudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdHlwZSBNb3VzZUV2ZW50SGFuZGxlcixcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUVmZmVjdCxcbiAgdXNlTGF5b3V0RWZmZWN0LFxuICB1c2VNZW1vLFxuICB1c2VTdGF0ZSxcbiAgdXNlUmVmLFxufSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCBzbmFrZUNhc2UgZnJvbSAnbG9kYXNoL3NuYWtlQ2FzZSc7XG5pbXBvcnQgeyBGb3JtYXR0ZWRNZXNzYWdlIH0gZnJvbSAncmVhY3QtaW50bCc7XG5pbXBvcnQgeyBtYXRjaFBhdGgsIHVzZUxvY2F0aW9uIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgdHlwZSB7IFJvdXRlQ29tcG9uZW50UHJvcHMgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIG5vcm1hbGl6ZUFsbEFwcGxpZWRBY3Rpb25SaWdodHMsXG4gIG5vcm1hbGl6ZUFsbEFwcGxpZWREYXRhRmVuY2VzLFxuICBub3JtYWxpemVBbGxBcHBsaWVkTWVudVZpc2liaWxpdGllcyxcbiAgbm9ybWFsaXplQWxsQXBwbGllZFBlcm1pc3Npb25zLFxufSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hcHBsaWNhdGlvbi1zaGVsbC1jb25uZWN0b3JzJztcbmltcG9ydCB0eXBlIHtcbiAgVEFwcGxpY2F0aW9uQ29udGV4dCxcbiAgVE5vcm1hbGl6ZWRNZW51VmlzaWJpbGl0aWVzLFxuICBUTm9ybWFsaXplZFBlcm1pc3Npb25zLFxuICBUTm9ybWFsaXplZEFjdGlvblJpZ2h0cyxcbiAgVE5vcm1hbGl6ZWREYXRhRmVuY2VzLFxufSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hcHBsaWNhdGlvbi1zaGVsbC1jb25uZWN0b3JzJztcbmltcG9ydCBMb2dvU1ZHIGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2Fzc2V0cy9sb2dvcy9jb21tZXJjZXRvb2xzX3NtYWxsLWxvZ28uc3ZnJztcbmltcG9ydCB7IFNVUFBPUlRfUE9SVEFMX1VSTCB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBTdXBwb3J0SWNvbiB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ljb25zJztcbmltcG9ydCBTcGFjaW5ncyBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9zcGFjaW5ncyc7XG5pbXBvcnQgeyBESU1FTlNJT05TIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB0eXBlIHsgVEZldGNoUHJvamVjdFF1ZXJ5IH0gZnJvbSAnLi4vLi4vdHlwZXMvZ2VuZXJhdGVkL21jJztcbmltcG9ydCB0eXBlIHsgVE5hdmJhck1lbnUsIFRCYXNlTWVudSB9IGZyb20gJy4uLy4uL3R5cGVzL2dlbmVyYXRlZC9wcm94eSc7XG5pbXBvcnQge1xuICB0eXBlIE1lbnVJdGVtTGlua1Byb3BzLFxuICBSZXN0cmljdGVkTWVudUl0ZW0sXG4gIE1lbnVJdGVtLFxuICBNZW51SXRlbUxpbmssXG4gIE1lbnVHcm91cCxcbiAgTWVudUxhYmVsLFxuICBJdGVtQ29udGFpbmVyLFxuICBGYWRlZCxcbiAgTWVudUV4cGFuZGVyLFxuICBOYXZCYXJMYXlvdXQsXG59IGZyb20gJy4vbWVudS1pdGVtcyc7XG5pbXBvcnQgbWVzc2FnZXMgZnJvbSAnLi9tZXNzYWdlcyc7XG5pbXBvcnQgTmF2QmFyU2tlbGV0b24gZnJvbSAnLi9uYXZiYXItc2tlbGV0b24nO1xuaW1wb3J0IGNvbXBpbGVkU3R5bGVzIGZyb20gLyogcHJldmFsICovICcuL25hdmJhci5zdHlsZXMnO1xuXG4vLyBodHRwczovL2JhYmVsanMuaW8vYmxvZy8yMDE3LzA5LzExL3plcm8tY29uZmlnLXdpdGgtYmFiZWwtbWFjcm9zXG5pbXBvcnQgbm9uTnVsbGFibGUgZnJvbSAnLi9ub24tbnVsbGFibGUnO1xuaW1wb3J0IHVzZU5hdmJhclN0YXRlTWFuYWdlciBmcm9tICcuL3VzZS1uYXZiYXItc3RhdGUtbWFuYWdlcic7XG5cbmNvbnN0IHN0eWxlcyA9IGNvbXBpbGVkU3R5bGVzLmpzb25NYXA7XG5cbnR5cGUgVFByb2plY3RQZXJtaXNzaW9ucyA9IHtcbiAgcGVybWlzc2lvbnM6IFROb3JtYWxpemVkUGVybWlzc2lvbnMgfCBudWxsO1xuICBhY3Rpb25SaWdodHM6IFROb3JtYWxpemVkQWN0aW9uUmlnaHRzIHwgbnVsbDtcbiAgZGF0YUZlbmNlczogVE5vcm1hbGl6ZWREYXRhRmVuY2VzIHwgbnVsbDtcbn07XG5cbnR5cGUgVE1lbnVXaXRoRGVmYXVsdExhYmVsID0gVE5hdmJhck1lbnUgJiB7XG4gIC8vIGRlcml2ZXMgZnJvbSBgcHJvamVjdEV4dGVuc2lvbnNRdWVyeS5pbnN0YWxsZWRBcHBsaWNhdGlvbnMuYXBwbGljYXRpb24ubWFpbk1lbnVMaW5rYFxuICBkZWZhdWx0TGFiZWw/OiBzdHJpbmc7XG59O1xudHlwZSBUU3VibWVudVdpdGhEZWZhdWx0TGFiZWwgPSBUQmFzZU1lbnUgJiB7XG4gIC8vIGRlcml2ZXMgZnJvbSBgcHJvamVjdEV4dGVuc2lvbnNRdWVyeS5pbnN0YWxsZWRBcHBsaWNhdGlvbnMuYXBwbGljYXRpb24ubWFpbk1lbnVMaW5rYFxuICBkZWZhdWx0TGFiZWw/OiBzdHJpbmc7XG59O1xuXG50eXBlIEFwcGxpY2F0aW9uTWVudVByb3BzID0ge1xuICBsb2NhdGlvbjogUm91dGVDb21wb25lbnRQcm9wc1snbG9jYXRpb24nXTtcbiAgbWVudTogVE1lbnVXaXRoRGVmYXVsdExhYmVsO1xuICBpc0FjdGl2ZTogYm9vbGVhbjtcbiAgaXNNZW51T3BlbjogYm9vbGVhbjtcbiAgc2hvdWxkQ2xvc2VNZW51Rmx5OiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD47XG4gIHByb2plY3RQZXJtaXNzaW9uczogVFByb2plY3RQZXJtaXNzaW9ucztcbiAgbWVudVZpc2liaWxpdGllczogVE5vcm1hbGl6ZWRNZW51VmlzaWJpbGl0aWVzIHwgbnVsbDtcbiAgaGFuZGxlVG9nZ2xlSXRlbTogKCkgPT4gdm9pZDtcbiAgYXBwbGljYXRpb25Mb2NhbGU6IHN0cmluZztcbiAgcHJvamVjdEtleTogc3RyaW5nO1xuICB1c2VGdWxsUmVkaXJlY3RzRm9yTGlua3M6IGJvb2xlYW47XG4gIG9uTWVudUl0ZW1DbGljaz86IE1lbnVJdGVtTGlua1Byb3BzWydvbkNsaWNrJ107XG59O1xuXG5jb25zdCBnZXRNZW51VmlzaWJpbGl0aWVzT2ZTdWJtZW51cyA9IChtZW51OiBUTmF2YmFyTWVudSkgPT5cbiAgbWVudS5zdWJtZW51Lm1hcCgoc3VibWVudSkgPT4gc3VibWVudS5tZW51VmlzaWJpbGl0eSkuZmlsdGVyKG5vbk51bGxhYmxlKTtcbmNvbnN0IGdldE1lbnVWaXNpYmlsaXR5T2ZNYWlubWVudSA9IChtZW51OiBUTmF2YmFyTWVudSkgPT5cbiAgbWVudS5tZW51VmlzaWJpbGl0eSA/IFttZW51Lm1lbnVWaXNpYmlsaXR5XSA6IFtdO1xuXG5jb25zdCBnZXRJc1N1Ym1lbnVSb3V0ZUFjdGl2ZSA9IChcbiAgdXJpUGF0aDogQXBwbGljYXRpb25NZW51UHJvcHNbJ21lbnUnXVsnc3VibWVudSddW251bWJlcl1bJ3VyaVBhdGgnXSxcbiAgcHJvcHM6IEFwcGxpY2F0aW9uTWVudVByb3BzXG4pID0+XG4gIEJvb2xlYW4oXG4gICAgbWF0Y2hQYXRoKHByb3BzLmxvY2F0aW9uLnBhdGhuYW1lLCB7XG4gICAgICBwYXRoOiBgLyR7cHJvcHMucHJvamVjdEtleX0vJHt1cmlQYXRofWAsXG4gICAgICBleGFjdDogdHJ1ZSxcbiAgICAgIHN0cmljdDogZmFsc2UsXG4gICAgfSlcbiAgKTtcblxuZXhwb3J0IGNvbnN0IEFwcGxpY2F0aW9uTWVudSA9IChwcm9wczogQXBwbGljYXRpb25NZW51UHJvcHMpID0+IHtcbiAgY29uc3QgW3N1Ym1lbnVWZXJ0aWNhbFBvc2l0aW9uLCBzZXRTdWJtZW51VmVydGljYWxQb3NpdGlvbl0gPSB1c2VTdGF0ZSgwKTtcbiAgY29uc3QgW2lzU3VibWVudUFib3ZlTWVudUl0ZW0sIHNldElzU3VibWVudUFib3ZlTWVudUl0ZW1dID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBzdWJtZW51UmVmID0gdXNlUmVmPEhUTUxVTGlzdEVsZW1lbnQ+KG51bGwpO1xuXG4gIGNvbnN0IGhhc1N1Ym1lbnUgPVxuICAgIEFycmF5LmlzQXJyYXkocHJvcHMubWVudS5zdWJtZW51KSAmJiBwcm9wcy5tZW51LnN1Ym1lbnUubGVuZ3RoID4gMDtcblxuICBjb25zdCBtZW51SXRlbUlkZW50aWZpZXIgPSBzbmFrZUNhc2UocHJvcHMubWVudS5rZXkpO1xuXG4gIGNvbnN0IGNhbGxiYWNrRm46IEludGVyc2VjdGlvbk9ic2VydmVyQ2FsbGJhY2sgPSB1c2VDYWxsYmFjayhcbiAgICAoZW50cmllcykgPT4ge1xuICAgICAgY29uc3QgbWVudUl0ZW1Cb3VuZGluZ0NsaWVudFJlY3QgPSBkb2N1bWVudFxuICAgICAgICAucXVlcnlTZWxlY3RvcihgW2RhdGEtbWVudWl0ZW09XCIke21lbnVJdGVtSWRlbnRpZmllcn1cIl1gKVxuICAgICAgICA/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgY29uc3QgbWVudUl0ZW1Ub3AgPSBtZW51SXRlbUJvdW5kaW5nQ2xpZW50UmVjdD8udG9wIHx8IDA7XG4gICAgICBjb25zdCBtZW51SXRlbUJvdHRvbSA9IG1lbnVJdGVtQm91bmRpbmdDbGllbnRSZWN0Py5ib3R0b20gfHwgMDtcblxuICAgICAgY29uc3QgW2VudHJ5XSA9IGVudHJpZXM7XG5cbiAgICAgIGNvbnN0IGRvZXNTdWJtZW51Rml0V2l0aGluVmlld3BvcnRCZWxvd01lbnVJdGVtID1cbiAgICAgICAgZW50cnkuYm91bmRpbmdDbGllbnRSZWN0LmhlaWdodCArXG4gICAgICAgICAgKHByb3BzLmlzTWVudU9wZW4gPyBtZW51SXRlbVRvcCA6IG1lbnVJdGVtQm90dG9tKSA+XG4gICAgICAgIHdpbmRvdy5pbm5lckhlaWdodDtcbiAgICAgIC8vIGlmIHRoZSBzdWJtZW51IGRvZXMgbm90IGZpdCBhdCB0aGUgYm90dG9tIG9mIHRoZSB2aWV3cG9ydCAoYmVsb3cgdGhlIG1lbnUgaXRlbSlcbiAgICAgIGlmIChkb2VzU3VibWVudUZpdFdpdGhpblZpZXdwb3J0QmVsb3dNZW51SXRlbSkge1xuICAgICAgICBzZXRJc1N1Ym1lbnVBYm92ZU1lbnVJdGVtKHRydWUpO1xuICAgICAgICBzZXRTdWJtZW51VmVydGljYWxQb3NpdGlvbihcbiAgICAgICAgICB3aW5kb3cuaW5uZXJIZWlnaHQgLSAocHJvcHMuaXNNZW51T3BlbiA/IG1lbnVJdGVtQm90dG9tIDogbWVudUl0ZW1Ub3ApXG4gICAgICAgICk7XG4gICAgICAgIC8vIHNob3cgdGhlIHN1Ym1lbnUgYWJvdmUgdGhlIG1lbnUgaXRlbVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2V0SXNTdWJtZW51QWJvdmVNZW51SXRlbShmYWxzZSk7XG4gICAgICAgIHNldFN1Ym1lbnVWZXJ0aWNhbFBvc2l0aW9uKFxuICAgICAgICAgIHByb3BzLmlzTWVudU9wZW4gPyBtZW51SXRlbVRvcCA6IG1lbnVJdGVtQm90dG9tXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSxcbiAgICBbbWVudUl0ZW1JZGVudGlmaWVyLCBwcm9wcy5pc01lbnVPcGVuXVxuICApO1xuXG4gIGNvbnN0IG9ic2VydmVyUmVmID0gdXNlUmVmPEludGVyc2VjdGlvbk9ic2VydmVyIHwgbnVsbD4obnVsbCk7XG5cbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBvYnNlcnZlclJlZi5jdXJyZW50ID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKGNhbGxiYWNrRm4sIHtcbiAgICAgIHJvb3RNYXJnaW46ICctMTAwJSAwcHggMHB4IDBweCcsIC8vIHdlIHdhbnQgdG8gb2JzZXJ2ZSBpZiB0aGUgc3VibWVudSBjcm9zc2VzIHRoZSBib3R0b20gbGluZSBvZiB0aGUgdmlld3BvcnQgLSB0aGVyZWZvcmUgd2Ugc2V0IHRoZSByb290IGVsZW1lbnQgdG9wIG1hcmdpbiB0byAtMTAwJSBvZiB0aGUgdmlld3BvcnQgaGVpZ2h0XG4gICAgfSk7XG4gICAgcmV0dXJuICgpID0+IG9ic2VydmVyUmVmLmN1cnJlbnQ/LmRpc2Nvbm5lY3QoKTtcbiAgfSwgW2NhbGxiYWNrRm4sIHByb3BzLmlzTWVudU9wZW5dKTtcblxuICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGN1cnJlbnRTdWJtZW51UmVmID0gc3VibWVudVJlZi5jdXJyZW50O1xuICAgIGNvbnN0IG9ic2VydmVyID0gb2JzZXJ2ZXJSZWYuY3VycmVudDtcbiAgICBpZiAoIWN1cnJlbnRTdWJtZW51UmVmKSByZXR1cm47XG5cbiAgICBpZiAob2JzZXJ2ZXIgJiYgY3VycmVudFN1Ym1lbnVSZWYpIHtcbiAgICAgIG9ic2VydmVyLm9ic2VydmUoY3VycmVudFN1Ym1lbnVSZWYpO1xuICAgIH1cbiAgICByZXR1cm4gKCkgPT4gb2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcbiAgfSwgW1xuICAgIG1lbnVJdGVtSWRlbnRpZmllcixcbiAgICBwcm9wcy5pc01lbnVPcGVuLFxuICAgIHByb3BzLmhhbmRsZVRvZ2dsZUl0ZW0sXG4gICAgY2FsbGJhY2tGbixcbiAgXSk7XG5cbiAgY29uc3QgaXNNYWluTWVudVJvdXRlQWN0aXZlID0gQm9vbGVhbihcbiAgICBtYXRjaFBhdGgocHJvcHMubG9jYXRpb24ucGF0aG5hbWUsIHtcbiAgICAgIHBhdGg6IGAvJHtwcm9wcy5wcm9qZWN0S2V5fS8ke3Byb3BzLm1lbnUudXJpUGF0aH1gLFxuICAgICAgZXhhY3Q6IGZhbHNlLFxuICAgICAgc3RyaWN0OiBmYWxzZSxcbiAgICB9KVxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgLy8gT24gZmlyc3QgcmVuZGVyLCBjaGVjayB3aGljaCBtZW51IGlzIGFjdGl2ZSBmb3IgdGhlIGN1cnJlbnQgYXBwbGljYXRpb24gYW5kIGV4cGFuZFxuICAgIC8vIHRoZSBzdWJtZW51IGF1dG9tYXRpY2FsbHkgdW5sZXNzIHRoZSBhbGwgbmF2YmFyIGlzIGNvbGxhcHNlZCBvciB0aGVyZSBhcmUgbm8gc3VibWVudSBsaW5rcy5cbiAgICBpZiAocHJvcHMuaXNNZW51T3BlbiAmJiBpc01haW5NZW51Um91dGVBY3RpdmUgJiYgaGFzU3VibWVudSkge1xuICAgICAgcHJvcHMuaGFuZGxlVG9nZ2xlSXRlbSgpO1xuICAgIH1cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzXG4gIH0sIFtwcm9wcy5pc01lbnVPcGVuXSk7IC8vIDwtLSAocmUpcnVuIHRoaXMgb25seSB3aGVuIHRoZSBhbGwgbWVudSBleHBhbmRzXG5cbiAgY29uc3QgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXNPZkFsbFN1Ym1lbnVzID0gaGFzU3VibWVudVxuICAgID8gZ2V0TWVudVZpc2liaWxpdGllc09mU3VibWVudXMocHJvcHMubWVudSlcbiAgICA6IGdldE1lbnVWaXNpYmlsaXR5T2ZNYWlubWVudShwcm9wcy5tZW51KTtcblxuICByZXR1cm4gKFxuICAgIDxSZXN0cmljdGVkTWVudUl0ZW1cbiAgICAgIGtleT17cHJvcHMubWVudS5rZXl9XG4gICAgICBrZXlPZk1lbnVJdGVtPXtwcm9wcy5tZW51LmtleX1cbiAgICAgIGZlYXR1cmVUb2dnbGU9e3Byb3BzLm1lbnUuZmVhdHVyZVRvZ2dsZSA/PyB1bmRlZmluZWR9XG4gICAgICBwZXJtaXNzaW9ucz17cHJvcHMubWVudS5wZXJtaXNzaW9uc31cbiAgICAgIGFjdGlvblJpZ2h0cz17cHJvcHMubWVudS5hY3Rpb25SaWdodHMgPz8gdW5kZWZpbmVkfVxuICAgICAgZGF0YUZlbmNlcz17cHJvcHMubWVudS5kYXRhRmVuY2VzID8/IHVuZGVmaW5lZH1cbiAgICAgIHByb2plY3RQZXJtaXNzaW9ucz17cHJvcHMucHJvamVjdFBlcm1pc3Npb25zfVxuICAgICAgbWVudVZpc2liaWxpdGllcz17cHJvcHMubWVudVZpc2liaWxpdGllc31cbiAgICAgIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPXtuYW1lc09mTWVudVZpc2liaWxpdGllc09mQWxsU3VibWVudXN9XG4gICAgPlxuICAgICAgPE1lbnVJdGVtXG4gICAgICAgIGhhc1N1Ym1lbnU9e2hhc1N1Ym1lbnV9XG4gICAgICAgIGlzQWN0aXZlPXtwcm9wcy5pc0FjdGl2ZX1cbiAgICAgICAgaXNNYWluTWVudVJvdXRlQWN0aXZlPXtpc01haW5NZW51Um91dGVBY3RpdmV9XG4gICAgICAgIGlzTWVudU9wZW49e3Byb3BzLmlzTWVudU9wZW59XG4gICAgICAgIG9uQ2xpY2s9e3Byb3BzLmhhbmRsZVRvZ2dsZUl0ZW19XG4gICAgICAgIG9uTW91c2VFbnRlcj17cHJvcHMuaGFuZGxlVG9nZ2xlSXRlbX1cbiAgICAgICAgb25Nb3VzZUxlYXZlPXtwcm9wcy5zaG91bGRDbG9zZU1lbnVGbHl9XG4gICAgICAgIGlkZW50aWZpZXI9e21lbnVJdGVtSWRlbnRpZmllcn1cbiAgICAgID5cbiAgICAgICAgPE1lbnVJdGVtTGlua1xuICAgICAgICAgIGxpbmtUbz17YC8ke3Byb3BzLnByb2plY3RLZXl9LyR7cHJvcHMubWVudS51cmlQYXRofWB9XG4gICAgICAgICAgdXNlRnVsbFJlZGlyZWN0c0ZvckxpbmtzPXtwcm9wcy51c2VGdWxsUmVkaXJlY3RzRm9yTGlua3N9XG4gICAgICAgICAgb25DbGljaz17cHJvcHMub25NZW51SXRlbUNsaWNrfVxuICAgICAgICA+XG4gICAgICAgICAgPEl0ZW1Db250YWluZXJcbiAgICAgICAgICAgIGxhYmVsQWxsTG9jYWxlcz17cHJvcHMubWVudS5sYWJlbEFsbExvY2FsZXN9XG4gICAgICAgICAgICBkZWZhdWx0TGFiZWw9e3Byb3BzLm1lbnUuZGVmYXVsdExhYmVsfVxuICAgICAgICAgICAgYXBwbGljYXRpb25Mb2NhbGU9e3Byb3BzLmFwcGxpY2F0aW9uTG9jYWxlfVxuICAgICAgICAgICAgaWNvbj17cHJvcHMubWVudS5pY29ufVxuICAgICAgICAgICAgaXNNZW51T3Blbj17cHJvcHMuaXNNZW51T3Blbn1cbiAgICAgICAgICAvPlxuICAgICAgICA8L01lbnVJdGVtTGluaz5cbiAgICAgICAgPE1lbnVHcm91cFxuICAgICAgICAgIGlkPXtgZ3JvdXAtJHtwcm9wcy5tZW51LmtleX1gfVxuICAgICAgICAgIGxldmVsPXsyfVxuICAgICAgICAgIGlzQWN0aXZlPXtwcm9wcy5pc0FjdGl2ZX1cbiAgICAgICAgICBpc0V4cGFuZGVkPXtwcm9wcy5pc01lbnVPcGVufVxuICAgICAgICAgIGhhc1N1Ym1lbnU9e2hhc1N1Ym1lbnV9XG4gICAgICAgICAgc3VibWVudVZlcnRpY2FsUG9zaXRpb249e3N1Ym1lbnVWZXJ0aWNhbFBvc2l0aW9ufVxuICAgICAgICAgIGlzU3VibWVudUFib3ZlTWVudUl0ZW09e2lzU3VibWVudUFib3ZlTWVudUl0ZW19XG4gICAgICAgICAgcmVmPXtzdWJtZW51UmVmfVxuICAgICAgICA+XG4gICAgICAgICAgeyFwcm9wcy5pc01lbnVPcGVuICYmIChcbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXNbJ3Rvb2x0aXAtY29udGFpbmVyJ119XG4gICAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICAgICR7aXNTdWJtZW51QWJvdmVNZW51SXRlbVxuICAgICAgICAgICAgICAgICAgPyAnYm90dG9tJ1xuICAgICAgICAgICAgICAgICAgOiAndG9wJ306IC0ke0RJTUVOU0lPTlMubmF2TWVudUl0ZW1IZWlnaHR9O1xuICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXNbJ3Rvb2x0aXAnXX1cbiAgICAgICAgICAgICAgICBhcmlhLW93bnM9e2Bncm91cC0ke3Byb3BzLm1lbnUua2V5fWB9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8TWVudUxhYmVsXG4gICAgICAgICAgICAgICAgICBsYWJlbEFsbExvY2FsZXM9e3Byb3BzLm1lbnUubGFiZWxBbGxMb2NhbGVzfVxuICAgICAgICAgICAgICAgICAgZGVmYXVsdExhYmVsPXtwcm9wcy5tZW51LmRlZmF1bHRMYWJlbH1cbiAgICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uTG9jYWxlPXtwcm9wcy5hcHBsaWNhdGlvbkxvY2FsZX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICl9XG4gICAgICAgICAge2hhc1N1Ym1lbnVcbiAgICAgICAgICAgID8gcHJvcHMubWVudS5zdWJtZW51Lm1hcCgoc3VibWVudTogVFN1Ym1lbnVXaXRoRGVmYXVsdExhYmVsKSA9PiAoXG4gICAgICAgICAgICAgICAgPFJlc3RyaWN0ZWRNZW51SXRlbVxuICAgICAgICAgICAgICAgICAga2V5PXtgJHtwcm9wcy5tZW51LmtleX0tc3VibWVudS0ke3N1Ym1lbnUua2V5fWB9XG4gICAgICAgICAgICAgICAgICBrZXlPZk1lbnVJdGVtPXtzdWJtZW51LmtleX1cbiAgICAgICAgICAgICAgICAgIGZlYXR1cmVUb2dnbGU9e3N1Ym1lbnUuZmVhdHVyZVRvZ2dsZSA/PyB1bmRlZmluZWR9XG4gICAgICAgICAgICAgICAgICBwZXJtaXNzaW9ucz17c3VibWVudS5wZXJtaXNzaW9uc31cbiAgICAgICAgICAgICAgICAgIGFjdGlvblJpZ2h0cz17c3VibWVudS5hY3Rpb25SaWdodHMgPz8gdW5kZWZpbmVkfVxuICAgICAgICAgICAgICAgICAgZGF0YUZlbmNlcz17c3VibWVudS5kYXRhRmVuY2VzID8/IHVuZGVmaW5lZH1cbiAgICAgICAgICAgICAgICAgIHByb2plY3RQZXJtaXNzaW9ucz17cHJvcHMucHJvamVjdFBlcm1pc3Npb25zfVxuICAgICAgICAgICAgICAgICAgbWVudVZpc2liaWxpdGllcz17cHJvcHMubWVudVZpc2liaWxpdGllc31cbiAgICAgICAgICAgICAgICAgIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPXtcbiAgICAgICAgICAgICAgICAgICAgc3VibWVudS5tZW51VmlzaWJpbGl0eVxuICAgICAgICAgICAgICAgICAgICAgID8gW3N1Ym1lbnUubWVudVZpc2liaWxpdHldXG4gICAgICAgICAgICAgICAgICAgICAgOiB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKHN0eWxlc1snc3VibGlzdC1pdGVtJ10sIHtcbiAgICAgICAgICAgICAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0LWl0ZW1fX2FjdGl2ZSddXTogZ2V0SXNTdWJtZW51Um91dGVBY3RpdmUoXG4gICAgICAgICAgICAgICAgICAgICAgICBzdWJtZW51LnVyaVBhdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9wc1xuICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzLnRleHR9PlxuICAgICAgICAgICAgICAgICAgICAgIDxNZW51SXRlbUxpbmtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmtUbz17YC8ke3Byb3BzLnByb2plY3RLZXl9LyR7c3VibWVudS51cmlQYXRofWB9XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBXZSB3YW50IHRvIHVzZSBhbiBleGFjdCBtYXRjaGluZyBzdHJhdGVneSB0byBhdm9pZCBtdWx0aXBsZVxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gbGlua3MgbWF0Y2hpbmcgc3ViLXJvdXRlcy5cbiAgICAgICAgICAgICAgICAgICAgICAgIGV4YWN0TWF0Y2hcbiAgICAgICAgICAgICAgICAgICAgICAgIHVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rcz17XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzLnVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rc1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17cHJvcHMub25NZW51SXRlbUNsaWNrfVxuICAgICAgICAgICAgICAgICAgICAgICAgaXNTdWJtZW51TGlua1xuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxNZW51TGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWxBbGxMb2NhbGVzPXtzdWJtZW51LmxhYmVsQWxsTG9jYWxlc31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdExhYmVsPXtzdWJtZW51LmRlZmF1bHRMYWJlbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb25Mb2NhbGU9e3Byb3BzLmFwcGxpY2F0aW9uTG9jYWxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8L01lbnVJdGVtTGluaz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgIDwvUmVzdHJpY3RlZE1lbnVJdGVtPlxuICAgICAgICAgICAgICApKVxuICAgICAgICAgICAgOiBudWxsfVxuICAgICAgICA8L01lbnVHcm91cD5cbiAgICAgIDwvTWVudUl0ZW0+XG4gICAgPC9SZXN0cmljdGVkTWVudUl0ZW0+XG4gICk7XG59O1xuQXBwbGljYXRpb25NZW51LmRpc3BsYXlOYW1lID0gJ0FwcGxpY2F0aW9uTWVudSc7XG5cbmV4cG9ydCB0eXBlIFROYXZiYXJQcm9wcyA9IHtcbiAgYXBwbGljYXRpb25Mb2NhbGU/OiBzdHJpbmc7XG4gIHByb2plY3RLZXk6IHN0cmluZztcbiAgZW52aXJvbm1lbnQ6IFRBcHBsaWNhdGlvbkNvbnRleHQ8e1xuICAgIHVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rcz86IGJvb2xlYW47XG4gIH0+WydlbnZpcm9ubWVudCddO1xuICBwcm9qZWN0OiBURmV0Y2hQcm9qZWN0UXVlcnlbJ3Byb2plY3QnXTtcbiAgb25NZW51SXRlbUNsaWNrPzogTWVudUl0ZW1MaW5rUHJvcHNbJ29uQ2xpY2snXTtcbiAgaXNMb2FkaW5nOiBib29sZWFuO1xufTtcbmNvbnN0IE5hdkJhciA9IChwcm9wczogVE5hdmJhclByb3BzKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBuYXZCYXJOb2RlLFxuICAgIGlzTWVudU9wZW4sXG4gICAgaXNFeHBhbmRlclZpc2libGUsXG4gICAgYWN0aXZlSXRlbUluZGV4LFxuICAgIGhhbmRsZVRvZ2dsZUl0ZW0sXG4gICAgaGFuZGxlVG9nZ2xlTWVudSxcbiAgICBzaG91bGRDbG9zZU1lbnVGbHksXG4gICAgYWxsQXBwbGljYXRpb25zTmF2YmFyTWVudUdyb3VwcyxcbiAgfSA9IHVzZU5hdmJhclN0YXRlTWFuYWdlcih7XG4gICAgZW52aXJvbm1lbnQ6IHByb3BzLmVudmlyb25tZW50LFxuICB9KTtcbiAgY29uc3QgdXNlRnVsbFJlZGlyZWN0c0ZvckxpbmtzID0gQm9vbGVhbihcbiAgICBwcm9wcy5lbnZpcm9ubWVudC51c2VGdWxsUmVkaXJlY3RzRm9yTGlua3NcbiAgKTtcbiAgY29uc3QgbG9jYXRpb24gPSB1c2VMb2NhdGlvbigpO1xuXG4gIGNvbnN0IHByb2plY3RQZXJtaXNzaW9uczogVFByb2plY3RQZXJtaXNzaW9ucyA9IHVzZU1lbW8oXG4gICAgKCkgPT4gKHtcbiAgICAgIHBlcm1pc3Npb25zOiBub3JtYWxpemVBbGxBcHBsaWVkUGVybWlzc2lvbnMoXG4gICAgICAgIHByb3BzLnByb2plY3Q/LmFsbFBlcm1pc3Npb25zRm9yQWxsQXBwbGljYXRpb25zLmFsbEFwcGxpZWRQZXJtaXNzaW9uc1xuICAgICAgKSxcbiAgICAgIGFjdGlvblJpZ2h0czogbm9ybWFsaXplQWxsQXBwbGllZEFjdGlvblJpZ2h0cyhcbiAgICAgICAgcHJvcHMucHJvamVjdD8uYWxsUGVybWlzc2lvbnNGb3JBbGxBcHBsaWNhdGlvbnMuYWxsQXBwbGllZEFjdGlvblJpZ2h0c1xuICAgICAgKSxcbiAgICAgIGRhdGFGZW5jZXM6IG5vcm1hbGl6ZUFsbEFwcGxpZWREYXRhRmVuY2VzKFxuICAgICAgICBwcm9wcy5wcm9qZWN0Py5hbGxQZXJtaXNzaW9uc0ZvckFsbEFwcGxpY2F0aW9ucy5hbGxBcHBsaWVkRGF0YUZlbmNlc1xuICAgICAgKSxcbiAgICB9KSxcbiAgICBbcHJvcHMucHJvamVjdF1cbiAgKTtcbiAgY29uc3QgbWVudVZpc2liaWxpdGllcyA9IHVzZU1lbW8oXG4gICAgKCkgPT5cbiAgICAgIG5vcm1hbGl6ZUFsbEFwcGxpZWRNZW51VmlzaWJpbGl0aWVzKFxuICAgICAgICBwcm9wcy5wcm9qZWN0Py5hbGxQZXJtaXNzaW9uc0ZvckFsbEFwcGxpY2F0aW9uc1xuICAgICAgICAgIC5hbGxBcHBsaWVkTWVudVZpc2liaWxpdGllc1xuICAgICAgKSxcbiAgICBbcHJvcHMucHJvamVjdF1cbiAgKTtcblxuICBjb25zdCBhcHBsaWNhdGlvbkxvY2FsZSA9IHByb3BzLmFwcGxpY2F0aW9uTG9jYWxlO1xuXG4gIC8vIFJlbmRlciB0aGUgbG9hZGluZyBuYXZiYXIgYXMgbG9uZyBhcyBhbGwgdGhlIGRhdGFcbiAgLy8gaGFzbid0IGJlZW4gbG9hZGVkLCBvciBpZiB0aGUgcHJvamVjdCBkb2VzIG5vdCBleGlzdC5cbiAgaWYgKHByb3BzLmlzTG9hZGluZyB8fCB0eXBlb2YgYXBwbGljYXRpb25Mb2NhbGUgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgcmV0dXJuIDxOYXZCYXJTa2VsZXRvbiBpc0V4cGFuZGVkPXtpc01lbnVPcGVufSAvPjtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPE5hdkJhckxheW91dCByZWY9e25hdkJhck5vZGV9PlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snbmF2aWdhdGlvbi1oZWFkZXInXX0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2ljb24tY29udGFpbmVyJ119PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2ljb24nXX0+XG4gICAgICAgICAgICA8aW1nIHNyYz17TG9nb1NWR30gd2lkdGg9XCIxMDAlXCIgYWx0PVwiTG9nb1wiIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICB7aXNNZW51T3BlbiA/IChcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWyd0aXRsZSddfT5NZXJjaGFudCBDZW50ZXI8L2Rpdj5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICA8L2Rpdj5cbiAgICAgIDxNZW51R3JvdXAgaWQ9XCJtYWluXCIgbGV2ZWw9ezF9PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydzY3JvbGxhYmxlLW1lbnUnXX0+XG4gICAgICAgICAgPFNwYWNpbmdzLlN0YWNrIHNjYWxlPVwibFwiPlxuICAgICAgICAgICAge2FsbEFwcGxpY2F0aW9uc05hdmJhck1lbnVHcm91cHMubWFwKChuYXZiYXJNZW51R3JvdXApID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICA8ZGl2IGtleT17bmF2YmFyTWVudUdyb3VwLmtleX0+XG4gICAgICAgICAgICAgICAgICB7bmF2YmFyTWVudUdyb3VwLml0ZW1zLm1hcCgobWVudSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBtZW51VHlwZSA9ICdzY3JvbGxhYmxlJztcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaXRlbUluZGV4ID0gYCR7bWVudVR5cGV9LSR7bWVudS5rZXl9YDtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICA8QXBwbGljYXRpb25NZW51XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXk9e21lbnUua2V5fVxuICAgICAgICAgICAgICAgICAgICAgICAgbG9jYXRpb249e2xvY2F0aW9ufVxuICAgICAgICAgICAgICAgICAgICAgICAgbWVudT17bWVudX1cbiAgICAgICAgICAgICAgICAgICAgICAgIGlzQWN0aXZlPXthY3RpdmVJdGVtSW5kZXggPT09IGl0ZW1JbmRleH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZVRvZ2dsZUl0ZW09eygpID0+IGhhbmRsZVRvZ2dsZUl0ZW0oaXRlbUluZGV4KX1cbiAgICAgICAgICAgICAgICAgICAgICAgIGlzTWVudU9wZW49e2lzTWVudU9wZW59XG4gICAgICAgICAgICAgICAgICAgICAgICBzaG91bGRDbG9zZU1lbnVGbHk9e3Nob3VsZENsb3NlTWVudUZseX1cbiAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3RQZXJtaXNzaW9ucz17cHJvamVjdFBlcm1pc3Npb25zfVxuICAgICAgICAgICAgICAgICAgICAgICAgbWVudVZpc2liaWxpdGllcz17bWVudVZpc2liaWxpdGllc31cbiAgICAgICAgICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uTG9jYWxlPXthcHBsaWNhdGlvbkxvY2FsZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3RLZXk9e3Byb3BzLnByb2plY3RLZXl9XG4gICAgICAgICAgICAgICAgICAgICAgICB1c2VGdWxsUmVkaXJlY3RzRm9yTGlua3M9e3VzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rc31cbiAgICAgICAgICAgICAgICAgICAgICAgIG9uTWVudUl0ZW1DbGljaz17cHJvcHMub25NZW51SXRlbUNsaWNrfVxuICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgIDwvU3BhY2luZ3MuU3RhY2s+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydmaXhlZC1tZW51J119PlxuICAgICAgICAgIDxGYWRlZCAvPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ3N1cHBvcnQtbWVudSddfT5cbiAgICAgICAgICAgIDxNZW51SXRlbVxuICAgICAgICAgICAgICBoYXNTdWJtZW51PXtmYWxzZX1cbiAgICAgICAgICAgICAgaXNBY3RpdmU9e2ZhbHNlfVxuICAgICAgICAgICAgICBpc01lbnVPcGVuPXtpc01lbnVPcGVufVxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgaGFuZGxlVG9nZ2xlSXRlbSgnZml4ZWQtc3VwcG9ydCcpO1xuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBvbk1vdXNlRW50ZXI9e1xuICAgICAgICAgICAgICAgIGlzTWVudU9wZW4gPyB1bmRlZmluZWQgOiAoKSA9PiBoYW5kbGVUb2dnbGVJdGVtKCdmaXhlZC1zdXBwb3J0JylcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBvbk1vdXNlTGVhdmU9e2lzTWVudU9wZW4gPyB1bmRlZmluZWQgOiBzaG91bGRDbG9zZU1lbnVGbHl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgaHJlZj17U1VQUE9SVF9QT1JUQUxfVVJMfVxuICAgICAgICAgICAgICAgIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIlxuICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXNbJ3RleHQtbGluayddfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaXRlbS1pY29uLXRleHQnXX0+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydpY29uLWNvbnRhaW5lciddfT5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaWNvbiddfT5cbiAgICAgICAgICAgICAgICAgICAgICA8U3VwcG9ydEljb24gc2l6ZT1cInNjYWxlXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIHtpc01lbnVPcGVuID8gKFxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzLnRpdGxlfT5cbiAgICAgICAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZVxuICAgICAgICAgICAgICAgICAgICAgICAgey4uLm1lc3NhZ2VzWydOYXZCYXIuTUNTdXBwb3J0LnRpdGxlJ119XG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPC9NZW51SXRlbT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8TWVudUV4cGFuZGVyXG4gICAgICAgICAgICBpc1Zpc2libGU9e2lzRXhwYW5kZXJWaXNpYmxlfVxuICAgICAgICAgICAgb25DbGljaz17aGFuZGxlVG9nZ2xlTWVudX1cbiAgICAgICAgICAgIGlzTWVudU9wZW49e2lzTWVudU9wZW59XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L01lbnVHcm91cD5cbiAgICA8L05hdkJhckxheW91dD5cbiAgKTtcbn07XG5OYXZCYXIuZGlzcGxheU5hbWUgPSAnTmF2QmFyJztcblxuZXhwb3J0IGRlZmF1bHQgTmF2QmFyO1xuIl19 */"),
1052
- children: jsxRuntime.jsx("div", {
1053
- className: styles['tooltip'],
1054
- "aria-owns": "group-".concat(props.menu.key),
1055
- children: jsxRuntime.jsx(MenuLabel, {
1056
- labelAllLocales: props.menu.labelAllLocales,
1057
- defaultLabel: props.menu.defaultLabel,
1058
- applicationLocale: props.applicationLocale
1059
- })
1060
- })
1061
- }), hasSubmenu ? _mapInstanceProperty__default["default"](_context6 = props.menu.submenu).call(_context6, submenu => {
1062
- var _context7, _submenu$featureToggl, _submenu$actionRights, _submenu$dataFences, _context8;
1063
- return jsxRuntime.jsx(RestrictedMenuItem, {
1064
- keyOfMenuItem: submenu.key,
1065
- featureToggle: (_submenu$featureToggl = submenu.featureToggle) !== null && _submenu$featureToggl !== void 0 ? _submenu$featureToggl : undefined,
1066
- permissions: submenu.permissions,
1067
- actionRights: (_submenu$actionRights = submenu.actionRights) !== null && _submenu$actionRights !== void 0 ? _submenu$actionRights : undefined,
1068
- dataFences: (_submenu$dataFences = submenu.dataFences) !== null && _submenu$dataFences !== void 0 ? _submenu$dataFences : undefined,
1069
- projectPermissions: props.projectPermissions,
1070
- menuVisibilities: props.menuVisibilities,
1071
- namesOfMenuVisibilities: submenu.menuVisibility ? [submenu.menuVisibility] : undefined,
1072
- children: jsxRuntime.jsx("li", {
1073
- className: classnames__default["default"](styles['sublist-item'], {
1074
- [styles['sublist-item__active']]: getIsSubmenuRouteActive(submenu.uriPath, props)
1075
- }),
1076
- children: jsxRuntime.jsx("div", {
1077
- className: styles.text,
1078
- children: jsxRuntime.jsx(MenuItemLink, {
1079
- linkTo: _concatInstanceProperty__default["default"](_context8 = "/".concat(props.projectKey, "/")).call(_context8, submenu.uriPath)
1080
- // We want to use an exact matching strategy to avoid multiple
1081
- // links matching sub-routes.
1082
- ,
1083
- exactMatch: true,
1084
- useFullRedirectsForLinks: props.useFullRedirectsForLinks,
1085
- onClick: props.onMenuItemClick,
1086
- isSubmenuLink: true,
1087
- children: jsxRuntime.jsx(MenuLabel, {
1088
- labelAllLocales: submenu.labelAllLocales,
1089
- defaultLabel: submenu.defaultLabel,
1090
- applicationLocale: props.applicationLocale
1091
- })
1092
- })
1093
- })
1094
- })
1095
- }, _concatInstanceProperty__default["default"](_context7 = "".concat(props.menu.key, "-submenu-")).call(_context7, submenu.key));
1096
- }) : null]
1097
- })]
1098
- })
1099
- }, props.menu.key);
1100
- };
1101
- ApplicationMenu.propTypes = process.env.NODE_ENV !== "production" ? {
1102
- menu: _pt__default["default"].oneOfType([_pt__default["default"].any, _pt__default["default"].shape({
1103
- defaultLabel: _pt__default["default"].string
1104
- })]).isRequired,
1105
- isActive: _pt__default["default"].bool.isRequired,
1106
- isMenuOpen: _pt__default["default"].bool.isRequired,
1107
- shouldCloseMenuFly: _pt__default["default"].func.isRequired,
1108
- projectPermissions: _pt__default["default"].shape({
1109
- permissions: _pt__default["default"].oneOfType([_pt__default["default"].any, _pt__default["default"].oneOf([null])]),
1110
- actionRights: _pt__default["default"].oneOfType([_pt__default["default"].any, _pt__default["default"].oneOf([null])]),
1111
- dataFences: _pt__default["default"].oneOfType([_pt__default["default"].any, _pt__default["default"].oneOf([null])])
1112
- }).isRequired,
1113
- menuVisibilities: _pt__default["default"].oneOfType([_pt__default["default"].any, _pt__default["default"].oneOf([null])]),
1114
- handleToggleItem: _pt__default["default"].func.isRequired,
1115
- applicationLocale: _pt__default["default"].string.isRequired,
1116
- projectKey: _pt__default["default"].string.isRequired,
1117
- useFullRedirectsForLinks: _pt__default["default"].bool.isRequired
1118
- } : {};
1119
- ApplicationMenu.displayName = 'ApplicationMenu';
1120
- const NavBar = props => {
1121
- const _useNavbarStateManage = useNavbarStateManager({
1122
- environment: props.environment
1123
- }),
1124
- navBarNode = _useNavbarStateManage.navBarNode,
1125
- isMenuOpen = _useNavbarStateManage.isMenuOpen,
1126
- isExpanderVisible = _useNavbarStateManage.isExpanderVisible,
1127
- activeItemIndex = _useNavbarStateManage.activeItemIndex,
1128
- handleToggleItem = _useNavbarStateManage.handleToggleItem,
1129
- handleToggleMenu = _useNavbarStateManage.handleToggleMenu,
1130
- shouldCloseMenuFly = _useNavbarStateManage.shouldCloseMenuFly,
1131
- allApplicationsNavbarMenuGroups = _useNavbarStateManage.allApplicationsNavbarMenuGroups;
1132
- const useFullRedirectsForLinks = Boolean(props.environment.useFullRedirectsForLinks);
1133
- const location = reactRouterDom.useLocation();
1134
- const projectPermissions = react.useMemo(() => {
1135
- var _props$project, _props$project2, _props$project3;
1136
- return {
1137
- permissions: applicationShellConnectors.normalizeAllAppliedPermissions((_props$project = props.project) === null || _props$project === void 0 ? void 0 : _props$project.allPermissionsForAllApplications.allAppliedPermissions),
1138
- actionRights: applicationShellConnectors.normalizeAllAppliedActionRights((_props$project2 = props.project) === null || _props$project2 === void 0 ? void 0 : _props$project2.allPermissionsForAllApplications.allAppliedActionRights),
1139
- dataFences: applicationShellConnectors.normalizeAllAppliedDataFences((_props$project3 = props.project) === null || _props$project3 === void 0 ? void 0 : _props$project3.allPermissionsForAllApplications.allAppliedDataFences)
1140
- };
1141
- }, [props.project]);
1142
- const menuVisibilities = react.useMemo(() => {
1143
- var _props$project4;
1144
- return applicationShellConnectors.normalizeAllAppliedMenuVisibilities((_props$project4 = props.project) === null || _props$project4 === void 0 ? void 0 : _props$project4.allPermissionsForAllApplications.allAppliedMenuVisibilities);
1145
- }, [props.project]);
1146
- const applicationLocale = props.applicationLocale;
1147
-
1148
- // Render the loading navbar as long as all the data
1149
- // hasn't been loaded, or if the project does not exist.
1150
- if (props.isLoading || typeof applicationLocale === 'undefined') {
1151
- return jsxRuntime.jsx(NavBarSkeleton, {
1152
- isExpanded: isMenuOpen
1153
- });
1154
- }
1155
- return jsxRuntime.jsxs(NavBarLayout$1, {
1156
- ref: navBarNode,
1157
- children: [jsxRuntime.jsxs("div", {
1158
- className: styles['navigation-header'],
1159
- children: [jsxRuntime.jsx("div", {
1160
- className: styles['icon-container'],
1161
- children: jsxRuntime.jsx("div", {
1162
- className: styles['icon'],
1163
- children: jsxRuntime.jsx("img", {
1164
- src: LogoSVG__default["default"],
1165
- width: "100%",
1166
- alt: "Logo"
1167
- })
1168
- })
1169
- }), isMenuOpen ? jsxRuntime.jsx("div", {
1170
- className: styles['title'],
1171
- children: "Merchant Center"
1172
- }) : null]
1173
- }), jsxRuntime.jsxs(MenuGroup, {
1174
- id: "main",
1175
- level: 1,
1176
- children: [jsxRuntime.jsx("div", {
1177
- className: styles['scrollable-menu'],
1178
- children: jsxRuntime.jsx(Spacings__default["default"].Stack, {
1179
- scale: "l",
1180
- children: _mapInstanceProperty__default["default"](allApplicationsNavbarMenuGroups).call(allApplicationsNavbarMenuGroups, navbarMenuGroup => {
1181
- var _context9;
1182
- return jsxRuntime.jsx("div", {
1183
- children: _mapInstanceProperty__default["default"](_context9 = navbarMenuGroup.items).call(_context9, menu => {
1184
- const menuType = 'scrollable';
1185
- const itemIndex = "".concat(menuType, "-").concat(menu.key);
1186
- return jsxRuntime.jsx(ApplicationMenu, {
1187
- location: location,
1188
- menu: menu,
1189
- isActive: activeItemIndex === itemIndex,
1190
- handleToggleItem: () => handleToggleItem(itemIndex),
1191
- isMenuOpen: isMenuOpen,
1192
- shouldCloseMenuFly: shouldCloseMenuFly,
1193
- projectPermissions: projectPermissions,
1194
- menuVisibilities: menuVisibilities,
1195
- applicationLocale: applicationLocale,
1196
- projectKey: props.projectKey,
1197
- useFullRedirectsForLinks: useFullRedirectsForLinks,
1198
- onMenuItemClick: props.onMenuItemClick
1199
- }, menu.key);
1200
- })
1201
- }, navbarMenuGroup.key);
1202
- })
1203
- })
1204
- }), jsxRuntime.jsxs("div", {
1205
- className: styles['fixed-menu'],
1206
- children: [jsxRuntime.jsx(Faded, {}), jsxRuntime.jsx("div", {
1207
- className: styles['support-menu'],
1208
- children: jsxRuntime.jsx(MenuItem$1, {
1209
- hasSubmenu: false,
1210
- isActive: false,
1211
- isMenuOpen: isMenuOpen,
1212
- onClick: () => {
1213
- handleToggleItem('fixed-support');
1214
- },
1215
- onMouseEnter: isMenuOpen ? undefined : () => handleToggleItem('fixed-support'),
1216
- onMouseLeave: isMenuOpen ? undefined : shouldCloseMenuFly,
1217
- children: jsxRuntime.jsx("a", {
1218
- href: constants.SUPPORT_PORTAL_URL,
1219
- rel: "noopener noreferrer",
1220
- target: "_blank",
1221
- className: styles['text-link'],
1222
- children: jsxRuntime.jsxs("div", {
1223
- className: styles['item-icon-text'],
1224
- children: [jsxRuntime.jsx("div", {
1225
- className: styles['icon-container'],
1226
- children: jsxRuntime.jsx("div", {
1227
- className: styles['icon'],
1228
- children: jsxRuntime.jsx(icons.SupportIcon, {
1229
- size: "scale"
1230
- })
1231
- })
1232
- }), isMenuOpen ? jsxRuntime.jsx("div", {
1233
- className: styles.title,
1234
- children: jsxRuntime.jsx(reactIntl.FormattedMessage, _objectSpread({}, messages['NavBar.MCSupport.title']))
1235
- }) : null]
1236
- })
1237
- })
1238
- })
1239
- }), jsxRuntime.jsx(MenuExpander, {
1240
- isVisible: isExpanderVisible,
1241
- onClick: handleToggleMenu,
1242
- isMenuOpen: isMenuOpen
1243
- })]
1244
- })]
1245
- })]
1246
- });
1247
- };
1248
- NavBar.propTypes = process.env.NODE_ENV !== "production" ? {
1249
- applicationLocale: _pt__default["default"].string,
1250
- projectKey: _pt__default["default"].string.isRequired,
1251
- isLoading: _pt__default["default"].bool.isRequired
1252
- } : {};
1253
- NavBar.displayName = 'NavBar';
1254
-
1255
- exports.ApplicationMenu = ApplicationMenu;
1256
- exports["default"] = NavBar;