@commercetools-frontend/application-shell 20.11.0 → 20.12.3

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 (53) hide show
  1. package/dist/{application-entry-point-ffe525a6.cjs.prod.js → application-entry-point-32ba21e8.cjs.prod.js} +36 -78
  2. package/dist/{application-entry-point-18770bfb.cjs.dev.js → application-entry-point-ca79642e.cjs.dev.js} +36 -78
  3. package/dist/{application-entry-point-3f374457.esm.js → application-entry-point-caba3fcf.esm.js} +14 -52
  4. package/dist/commercetools-frontend-application-shell.cjs.dev.js +9 -4
  5. package/dist/commercetools-frontend-application-shell.cjs.prod.js +9 -4
  6. package/dist/commercetools-frontend-application-shell.esm.js +7 -4
  7. package/dist/constants-33a16227.esm.js +46 -0
  8. package/dist/constants-745aeeca.cjs.prod.js +54 -0
  9. package/dist/constants-fdbe0e9d.cjs.dev.js +54 -0
  10. package/dist/declarations/src/apollo-links/utils.d.ts +1 -1
  11. package/dist/declarations/src/components/application-shell/helpers.d.ts +1 -0
  12. package/dist/declarations/src/components/locale-switcher/locale-switcher.d.ts +3 -4
  13. package/dist/declarations/src/hooks/use-is-served-by-proxy/index.d.ts +1 -0
  14. package/dist/declarations/src/hooks/use-is-served-by-proxy/use-is-served-by-proxy.d.ts +2 -0
  15. package/dist/declarations/src/index.d.ts +1 -1
  16. package/dist/declarations/src/ssr/index.d.ts +2 -0
  17. package/dist/declarations/src/utils/formatters.d.ts +8 -0
  18. package/dist/declarations/src/utils/index.d.ts +1 -0
  19. package/dist/declarations/src/{components/authenticated/helpers.d.ts → utils/oidc.d.ts} +0 -0
  20. package/dist/{index-76c4413b.cjs.prod.js → index-0428cf83.cjs.prod.js} +117 -101
  21. package/dist/{index-e6679632.cjs.dev.js → index-1a8b5b91.cjs.dev.js} +123 -107
  22. package/dist/{index-f9fabc3f.esm.js → index-dd13496f.esm.js} +82 -66
  23. package/dist/oidc-7e7761de.cjs.dev.js +94 -0
  24. package/dist/oidc-8e05c00e.esm.js +84 -0
  25. package/dist/oidc-be09bd90.cjs.prod.js +94 -0
  26. package/dist/{project-expired-76545cc5.cjs.dev.js → project-expired-1c83f3b0.cjs.dev.js} +7 -4
  27. package/dist/{project-expired-ca9b4abf.esm.js → project-expired-633f1944.esm.js} +7 -4
  28. package/dist/{project-expired-add920ff.cjs.prod.js → project-expired-da4386e2.cjs.prod.js} +7 -4
  29. package/dist/{project-not-found-705141ee.esm.js → project-not-found-ba7eb62f.esm.js} +7 -4
  30. package/dist/{project-not-found-ecbab238.cjs.prod.js → project-not-found-d28a8381.cjs.prod.js} +7 -4
  31. package/dist/{project-not-found-9b444972.cjs.dev.js → project-not-found-fa0d0fed.cjs.dev.js} +7 -4
  32. package/dist/{project-not-initialized-aa2e0406.cjs.prod.js → project-not-initialized-3bb6a35a.cjs.prod.js} +7 -4
  33. package/dist/{project-not-initialized-43c3480b.cjs.dev.js → project-not-initialized-75d542c8.cjs.dev.js} +7 -4
  34. package/dist/{project-not-initialized-c75f1950.esm.js → project-not-initialized-b5aa1292.esm.js} +7 -4
  35. package/dist/{project-suspended-c851af31.esm.js → project-suspended-a7b9d722.esm.js} +7 -4
  36. package/dist/{project-suspended-d70929a8.cjs.prod.js → project-suspended-d498f169.cjs.prod.js} +7 -4
  37. package/dist/{project-suspended-d476386a.cjs.dev.js → project-suspended-ed1a8044.cjs.dev.js} +7 -4
  38. package/dist/{quick-access-0a46f8a1.cjs.prod.js → quick-access-5133c280.cjs.prod.js} +5 -2
  39. package/dist/{quick-access-3c16727c.cjs.dev.js → quick-access-53014796.cjs.dev.js} +5 -2
  40. package/dist/{quick-access-11f02492.esm.js → quick-access-612dc2d7.esm.js} +5 -2
  41. package/dist/{service-page-project-switcher-6ec976d5.cjs.prod.js → service-page-project-switcher-08c6c7d5.cjs.prod.js} +1 -1
  42. package/dist/{service-page-project-switcher-087d711d.esm.js → service-page-project-switcher-4893264d.esm.js} +1 -1
  43. package/dist/{service-page-project-switcher-e22f7891.cjs.dev.js → service-page-project-switcher-dfbbe4c1.cjs.dev.js} +1 -1
  44. package/package.json +63 -57
  45. package/ssr/dist/commercetools-frontend-application-shell-ssr.cjs.d.ts +1 -0
  46. package/ssr/dist/commercetools-frontend-application-shell-ssr.cjs.dev.js +16 -0
  47. package/ssr/dist/commercetools-frontend-application-shell-ssr.cjs.js +7 -0
  48. package/ssr/dist/commercetools-frontend-application-shell-ssr.cjs.prod.js +16 -0
  49. package/ssr/dist/commercetools-frontend-application-shell-ssr.esm.js +6 -0
  50. package/ssr/package.json +4 -0
  51. package/test-utils/dist/commercetools-frontend-application-shell-test-utils.cjs.dev.js +3 -1
  52. package/test-utils/dist/commercetools-frontend-application-shell-test-utils.cjs.prod.js +3 -1
  53. package/test-utils/dist/commercetools-frontend-application-shell-test-utils.esm.js +3 -1
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var applicationEntryPoint = require('./application-entry-point-18770bfb.cjs.dev.js');
3
+ var applicationEntryPoint = require('./application-entry-point-ca79642e.cjs.dev.js');
4
4
  var _defineProperty = require('@babel/runtime-corejs3/helpers/defineProperty');
5
5
  var _styled = require('@emotion/styled/base');
6
6
  var _pt = require('prop-types');
@@ -18,15 +18,18 @@ var _Object$defineProperty = require('@babel/runtime-corejs3/core-js-stable/obje
18
18
  var react = require('react');
19
19
  var reactRouterDom = require('react-router-dom');
20
20
  var react$2 = require('@emotion/react');
21
- var constants = require('@commercetools-frontend/constants');
21
+ var constants$1 = require('@commercetools-frontend/constants');
22
22
  var sentry = require('@commercetools-frontend/sentry');
23
23
  var applicationShellConnectors = require('@commercetools-frontend/application-shell-connectors');
24
24
  var applicationComponents = require('@commercetools-frontend/application-components');
25
25
  var reactNotifications = require('@commercetools-frontend/react-notifications');
26
26
  var i18n = require('@commercetools-frontend/i18n');
27
27
  var uuid = require('uuid');
28
+ var constants = require('./constants-fdbe0e9d.cjs.dev.js');
28
29
  var _URL = require('@babel/runtime-corejs3/core-js-stable/url');
29
30
  var _concatInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/concat');
31
+ var _mapInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/map');
32
+ require('lodash/upperFirst');
30
33
  var _slicedToArray = require('@babel/runtime-corejs3/helpers/slicedToArray');
31
34
  var jsxRuntime = require('@emotion/react/jsx-runtime');
32
35
  var Perfume = require('perfume.js');
@@ -38,8 +41,7 @@ var reactRedux = require('react-redux');
38
41
  var history = require('@commercetools-frontend/browser-history');
39
42
  var reactIntl = require('react-intl');
40
43
  var _startsWithInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/starts-with');
41
- var _toConsumableArray = require('@babel/runtime-corejs3/helpers/toConsumableArray');
42
- var _mapInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/map');
44
+ var oidc = require('./oidc-7e7761de.cjs.dev.js');
43
45
  var qss = require('qss');
44
46
  var jwtDecode = require('jwt-decode');
45
47
  var FailedAuthenticationSVG = require('@commercetools-frontend/assets/images/locked-diamond.svg');
@@ -82,6 +84,7 @@ var _flagsInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/inst
82
84
  var ldAdapter = require('@flopflip/launchdarkly-adapter');
83
85
  var httpAdapter = require('@flopflip/http-adapter');
84
86
  var combineAdapters = require('@flopflip/combine-adapters');
87
+ require('@babel/runtime-corejs3/helpers/toConsumableArray');
85
88
  require('@babel/runtime-corejs3/core-js-stable/instance/index-of');
86
89
  require('@babel/runtime-corejs3/core-js-stable/instance/slice');
87
90
  var _everyInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/every');
@@ -112,12 +115,12 @@ var _Object$defineProperties__default = /*#__PURE__*/_interopDefault(_Object$def
112
115
  var _Object$defineProperty__default = /*#__PURE__*/_interopDefault(_Object$defineProperty);
113
116
  var _URL__default = /*#__PURE__*/_interopDefault(_URL);
114
117
  var _concatInstanceProperty__default = /*#__PURE__*/_interopDefault(_concatInstanceProperty);
118
+ var _mapInstanceProperty__default = /*#__PURE__*/_interopDefault(_mapInstanceProperty);
115
119
  var Perfume__default = /*#__PURE__*/_interopDefault(Perfume);
116
120
  var _reverseInstanceProperty__default = /*#__PURE__*/_interopDefault(_reverseInstanceProperty);
117
121
  var camelcase__default = /*#__PURE__*/_interopDefault(camelcase);
118
122
  var history__default = /*#__PURE__*/_interopDefault(history);
119
123
  var _startsWithInstanceProperty__default = /*#__PURE__*/_interopDefault(_startsWithInstanceProperty);
120
- var _mapInstanceProperty__default = /*#__PURE__*/_interopDefault(_mapInstanceProperty);
121
124
  var jwtDecode__default = /*#__PURE__*/_interopDefault(jwtDecode);
122
125
  var FailedAuthenticationSVG__default = /*#__PURE__*/_interopDefault(FailedAuthenticationSVG);
123
126
  var Spacings__default = /*#__PURE__*/_interopDefault(Spacings);
@@ -153,7 +156,7 @@ var throttle__default = /*#__PURE__*/_interopDefault(throttle);
153
156
  var _someInstanceProperty__default = /*#__PURE__*/_interopDefault(_someInstanceProperty);
154
157
 
155
158
  function selectProjectKeyFromLocalStorage() {
156
- return window.localStorage.getItem(applicationEntryPoint.STORAGE_KEYS.ACTIVE_PROJECT_KEY);
159
+ return window.localStorage.getItem(constants.STORAGE_KEYS.ACTIVE_PROJECT_KEY);
157
160
  }
158
161
 
159
162
  var getPreviousProjectKey = function getPreviousProjectKey(defaultProjectKeyOfUser) {
@@ -178,7 +181,7 @@ var createApolloContextForProxyForwardTo = function createApolloContextForProxyF
178
181
  };
179
182
 
180
183
  var getSelectedDataLocaleForProject = function getSelectedDataLocaleForProject(projectLocales) {
181
- var cachedDataLocale = window.localStorage.getItem(applicationEntryPoint.STORAGE_KEYS.SELECTED_DATA_LOCALE); // Make sure the cached locale is listed in the selected project
184
+ var cachedDataLocale = window.localStorage.getItem(constants.STORAGE_KEYS.SELECTED_DATA_LOCALE); // Make sure the cached locale is listed in the selected project
182
185
 
183
186
  var isCachedDataLocaleIncludedInProjectLanguages = _includesInstanceProperty__default["default"](projectLocales).call(projectLocales, cachedDataLocale || '');
184
187
 
@@ -186,7 +189,7 @@ var getSelectedDataLocaleForProject = function getSelectedDataLocaleForProject(p
186
189
 
187
190
  var defaultDataLocaleForProject = projectLocales[0]; // Cache it
188
191
 
189
- window.localStorage.setItem(applicationEntryPoint.STORAGE_KEYS.SELECTED_DATA_LOCALE, defaultDataLocaleForProject);
192
+ window.localStorage.setItem(constants.STORAGE_KEYS.SELECTED_DATA_LOCALE, defaultDataLocaleForProject);
190
193
  return defaultDataLocaleForProject;
191
194
  };
192
195
 
@@ -199,7 +202,7 @@ var ProjectDataLocale = function ProjectDataLocale(props) {
199
202
  var handleSetProjectDataLocale = react.useCallback(function (locale) {
200
203
  setLocale(locale); // Cache it
201
204
 
202
- window.localStorage.setItem(applicationEntryPoint.STORAGE_KEYS.SELECTED_DATA_LOCALE, locale);
205
+ window.localStorage.setItem(constants.STORAGE_KEYS.SELECTED_DATA_LOCALE, locale);
203
206
  }, []);
204
207
  return jsxRuntime.jsx(jsxRuntime.Fragment, {
205
208
  children: props.children({
@@ -620,44 +623,11 @@ ConfigureIntlProvider.propTypes = process.env.NODE_ENV !== "production" ? {
620
623
  } : {};
621
624
  ConfigureIntlProvider.displayName = 'ConfigureIntlProvider';
622
625
 
623
- var buildOidcScope = function buildOidcScope(options) {
624
- var _context7;
625
-
626
- var claims = [];
627
-
628
- if (options.projectKey) {
629
- var _context, _context2, _options$oAuthScopes$, _options$oAuthScopes, _context4, _options$oAuthScopes$2, _options$oAuthScopes2;
630
-
631
- claims.push(_concatInstanceProperty__default["default"](_context = "".concat(applicationEntryPoint.OIDC_CLAIMS.PROJECT_KEY, ":")).call(_context, options.projectKey));
632
- claims.push.apply(claims, _toConsumableArray(_mapInstanceProperty__default["default"](_context2 = (_options$oAuthScopes$ = (_options$oAuthScopes = options.oAuthScopes) === null || _options$oAuthScopes === void 0 ? void 0 : _options$oAuthScopes.view) !== null && _options$oAuthScopes$ !== void 0 ? _options$oAuthScopes$ : []).call(_context2, function (scope) {
633
- var _context3;
634
-
635
- return _concatInstanceProperty__default["default"](_context3 = "".concat(applicationEntryPoint.OIDC_CLAIMS.VIEW, ":")).call(_context3, scope);
636
- })));
637
- claims.push.apply(claims, _toConsumableArray(_mapInstanceProperty__default["default"](_context4 = (_options$oAuthScopes$2 = (_options$oAuthScopes2 = options.oAuthScopes) === null || _options$oAuthScopes2 === void 0 ? void 0 : _options$oAuthScopes2.manage) !== null && _options$oAuthScopes$2 !== void 0 ? _options$oAuthScopes$2 : []).call(_context4, function (scope) {
638
- var _context5;
639
-
640
- return _concatInstanceProperty__default["default"](_context5 = "".concat(applicationEntryPoint.OIDC_CLAIMS.MANAGE, ":")).call(_context5, scope);
641
- })));
642
- }
643
-
644
- var teamId = options.teamId;
645
-
646
- if (teamId) {
647
- var _context6;
648
-
649
- claims.push(_concatInstanceProperty__default["default"](_context6 = "".concat(applicationEntryPoint.OIDC_CLAIMS.TEAM_ID, ":")).call(_context6, teamId));
650
- }
651
-
652
- return _concatInstanceProperty__default["default"](_context7 = [// This is required as per OIDC spec.
653
- applicationEntryPoint.OIDC_CLAIMS.OPEN_ID]).call(_context7, claims).join(' ');
654
- };
655
-
656
626
  var withoutProjectKeyClaim = function withoutProjectKeyClaim(scope) {
657
627
  var _context;
658
628
 
659
629
  return _filterInstanceProperty__default["default"](_context = scope.split(' ')).call(_context, function (claim) {
660
- return !_startsWithInstanceProperty__default["default"](claim).call(claim, applicationEntryPoint.OIDC_CLAIMS.PROJECT_KEY);
630
+ return !_startsWithInstanceProperty__default["default"](claim).call(claim, constants.OIDC_CLAIMS.PROJECT_KEY);
661
631
  }).join(' ');
662
632
  };
663
633
 
@@ -704,7 +674,7 @@ var hasCachedAuthenticationState = function hasCachedAuthenticationState() {
704
674
  } // Rebuild the requested OIDC scope to verify that it didn't change.
705
675
 
706
676
 
707
- var requestedScope = buildOidcScope({
677
+ var requestedScope = oidc.buildOidcScope({
708
678
  projectKey: activeProjectKey !== null && activeProjectKey !== void 0 ? activeProjectKey : undefined,
709
679
  oAuthScopes: (_window$app$__DEVELOP9 = window.app.__DEVELOPMENT__) === null || _window$app$__DEVELOP9 === void 0 ? void 0 : (_window$app$__DEVELOP10 = _window$app$__DEVELOP9.oidc) === null || _window$app$__DEVELOP10 === void 0 ? void 0 : _window$app$__DEVELOP10.oAuthScopes,
710
680
  teamId: (_window$app$__DEVELOP11 = window.app.__DEVELOPMENT__) === null || _window$app$__DEVELOP11 === void 0 ? void 0 : (_window$app$__DEVELOP12 = _window$app$__DEVELOP11.oidc) === null || _window$app$__DEVELOP12 === void 0 ? void 0 : _window$app$__DEVELOP12.teamId
@@ -724,7 +694,7 @@ var hasCachedAuthenticationState = function hasCachedAuthenticationState() {
724
694
  }
725
695
  }
726
696
 
727
- return window.localStorage.getItem(applicationEntryPoint.STORAGE_KEYS.IS_AUTHENTICATED) === 'true';
697
+ return window.localStorage.getItem(constants.STORAGE_KEYS.IS_AUTHENTICATED) === 'true';
728
698
  };
729
699
 
730
700
  function useMcQuery(query, options) {
@@ -748,7 +718,7 @@ var AmILoggedIn = function AmILoggedIn(props) {
748
718
  // is valid. We return null while the query is loading.
749
719
  var _useMcQuery = useMcQuery(AmILoggedInQuery, {
750
720
  context: {
751
- target: constants.GRAPHQL_TARGETS.MERCHANT_CENTER_BACKEND,
721
+ target: constants$1.GRAPHQL_TARGETS.MERCHANT_CENTER_BACKEND,
752
722
  skipTokenRetry: true
753
723
  },
754
724
  // NOTE: With `no-cache` the `useQuery` will not trigger a
@@ -767,20 +737,20 @@ var AmILoggedIn = function AmILoggedIn(props) {
767
737
  if (!data) {
768
738
  // In case the request is 200 but there is no data, we assume
769
739
  // there are some errors.
770
- window.localStorage.removeItem(applicationEntryPoint.STORAGE_KEYS.IS_AUTHENTICATED);
740
+ window.localStorage.removeItem(constants.STORAGE_KEYS.IS_AUTHENTICATED);
771
741
  } else {
772
742
  // Even though the login page might set this flag, we just make sure that
773
743
  // we do it here as well. This will help in the future when we eventually
774
744
  // move the auth service to itw own domain, in which case the local storage
775
745
  // is not shared anymore.
776
- window.localStorage.setItem(applicationEntryPoint.STORAGE_KEYS.IS_AUTHENTICATED, String(true));
746
+ window.localStorage.setItem(constants.STORAGE_KEYS.IS_AUTHENTICATED, String(true));
777
747
  }
778
748
  },
779
749
  onError: function onError() {
780
750
  // The query fails without the `mcAccessToken`. In this case the caching
781
751
  // needs to be unset as otherwise the application will end up in a infinte
782
752
  // redirect loop.
783
- window.localStorage.removeItem(applicationEntryPoint.STORAGE_KEYS.IS_AUTHENTICATED);
753
+ window.localStorage.removeItem(constants.STORAGE_KEYS.IS_AUTHENTICATED);
784
754
  }
785
755
  }),
786
756
  data = _useMcQuery.data,
@@ -1353,7 +1323,7 @@ var FetchUser = function FetchUser(props) {
1353
1323
  var _useMcQuery = useMcQuery(LoggedInUserQuery, {
1354
1324
  onError: sentry.reportErrorToSentry,
1355
1325
  context: {
1356
- target: constants.GRAPHQL_TARGETS.MERCHANT_CENTER_BACKEND
1326
+ target: constants$1.GRAPHQL_TARGETS.MERCHANT_CENTER_BACKEND
1357
1327
  }
1358
1328
  }),
1359
1329
  loading = _useMcQuery.loading,
@@ -1378,7 +1348,7 @@ var pushDependencyVersionCounter = function pushDependencyVersionCounter(_ref) {
1378
1348
  var payload = _ref.payload;
1379
1349
  return sdk.actions.post({
1380
1350
  uri: '/metrics/counters',
1381
- mcApiProxyTarget: constants.MC_API_PROXY_TARGETS.MC_METRICS,
1351
+ mcApiProxyTarget: constants$1.MC_API_PROXY_TARGETS.MC_METRICS,
1382
1352
  payload: _JSON$stringify__default["default"](payload)
1383
1353
  });
1384
1354
  };
@@ -1430,7 +1400,7 @@ var FetchProject = function FetchProject(props) {
1430
1400
  projectKey: props.projectKey
1431
1401
  },
1432
1402
  context: {
1433
- target: constants.GRAPHQL_TARGETS.MERCHANT_CENTER_BACKEND
1403
+ target: constants$1.GRAPHQL_TARGETS.MERCHANT_CENTER_BACKEND
1434
1404
  },
1435
1405
  skip: props.skip === true
1436
1406
  }),
@@ -1814,7 +1784,7 @@ var renderLabel = function renderLabel(menu, applicationLanguage) {
1814
1784
  });
1815
1785
 
1816
1786
  if (localizedLabel) return localizedLabel.value;
1817
- return constants.NO_VALUE_FALLBACK;
1787
+ return constants$1.NO_VALUE_FALLBACK;
1818
1788
  };
1819
1789
 
1820
1790
  var MenuItem$1 = _styled__default["default"]("div", process.env.NODE_ENV === "production" ? {
@@ -1928,7 +1898,7 @@ var UserSettingsMenuBody = function UserSettingsMenuBody(props) {
1928
1898
  })
1929
1899
  }), jsxRuntime.jsx("a", {
1930
1900
  css: getUserSettingsMenuItemLinkStyles(),
1931
- href: constants.SUPPORT_PORTAL_URL,
1901
+ href: constants$1.SUPPORT_PORTAL_URL,
1932
1902
  rel: "noopener noreferrer",
1933
1903
  target: "_blank",
1934
1904
  "data-track-component": "Navigation-Support-links",
@@ -1950,7 +1920,7 @@ var UserSettingsMenuBody = function UserSettingsMenuBody(props) {
1950
1920
  css: getUserSettingsMenuItemLinkStyles() // NOTE: we want to redirect to a new page so that the
1951
1921
  // server can remove things like cookie for access token.
1952
1922
  ,
1953
- href: "/logout?reason=".concat(constants.LOGOUT_REASONS.USER),
1923
+ href: "/logout?reason=".concat(constants$1.LOGOUT_REASONS.USER),
1954
1924
  "data-test": "logout-button",
1955
1925
  "data-user-settings-menu": true,
1956
1926
  children: [jsxRuntime.jsx(MenuItem$1, {
@@ -2171,7 +2141,7 @@ var ProjectSwitcher = function ProjectSwitcher(props) {
2171
2141
  var _useMcQuery = useMcQuery(ProjectsQuery, {
2172
2142
  onError: sentry.reportErrorToSentry,
2173
2143
  context: {
2174
- target: constants.GRAPHQL_TARGETS.MERCHANT_CENTER_BACKEND
2144
+ target: constants$1.GRAPHQL_TARGETS.MERCHANT_CENTER_BACKEND
2175
2145
  }
2176
2146
  }),
2177
2147
  loading = _useMcQuery.loading,
@@ -2410,7 +2380,7 @@ var AppBar = function AppBar(props) {
2410
2380
  children: [jsxRuntime.jsxs(Spacings__default["default"].Inline, {
2411
2381
  alignItems: "center",
2412
2382
  children: [jsxRuntime.jsx("div", {
2413
- id: applicationEntryPoint.CONTAINERS.LOCALE_SWITCHER
2383
+ id: constants.CONTAINERS.LOCALE_SWITCHER
2414
2384
  }), function () {
2415
2385
  if (!props.user) {
2416
2386
  return jsxRuntime.jsx(LoadingPlaceholder, {
@@ -2466,7 +2436,7 @@ var _ref$1 = process.env.NODE_ENV === "production" ? {
2466
2436
  } : {
2467
2437
  name: "v1qg5m-SingleValue",
2468
2438
  styles: "flex:1;align-items:center;display:flex;label:SingleValue;",
2469
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxvY2FsZS1zd2l0Y2hlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBc0JZIiwiZmlsZSI6ImxvY2FsZS1zd2l0Y2hlci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFNpbmdsZVZhbHVlUHJvcHMgfSBmcm9tICdyZWFjdC1zZWxlY3QnO1xuXG5pbXBvcnQgeyB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBTZWxlY3RJbnB1dCBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9zZWxlY3QtaW5wdXQnO1xuaW1wb3J0IHsgV29ybGRJY29uIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaWNvbnMnO1xuaW1wb3J0IHsgY3VzdG9tUHJvcGVydGllcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuXG50eXBlIEN1c3RvbVNpbmdsZVZhbHVlUHJvcHMgPSBTaW5nbGVWYWx1ZVByb3BzPHtcbiAgbGFiZWw6IHN0cmluZztcbiAgdmFsdWU6IHN0cmluZztcbn0+ICYge1xuICBsb2NhbGVDb3VudDogbnVtYmVyO1xufTtcbnR5cGUgUHJvcHMgPSB7XG4gIHByb2plY3REYXRhTG9jYWxlOiBzdHJpbmc7XG4gIHNldFByb2plY3REYXRhTG9jYWxlOiAobG9jYWxlOiBzdHJpbmcpID0+IHZvaWQ7XG4gIGF2YWlsYWJsZUxvY2FsZXM6IHN0cmluZ1tdO1xufTtcblxuZXhwb3J0IGNvbnN0IFNpbmdsZVZhbHVlID0gKHByb3BzOiBDdXN0b21TaW5nbGVWYWx1ZVByb3BzKSA9PiAoXG4gIDxkaXZcbiAgICBjc3M9e2Nzc2BcbiAgICAgIGZsZXg6IDE7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICBgfVxuICA+XG4gICAgPFdvcmxkSWNvbiBzaXplPVwiYmlnXCIgLz5cbiAgICA8c3BhblxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAycHg7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIGNvbG9yOiAke2N1c3RvbVByb3BlcnRpZXMuY29sb3JBY2NlbnR9O1xuICAgICAgYH1cbiAgICA+XG4gICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgPC9zcGFuPlxuICAgIDxzcGFuXG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgd2lkdGg6IDIycHg7XG4gICAgICAgIGhlaWdodDogMjJweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogJHtjdXN0b21Qcm9wZXJ0aWVzLmNvbG9yQWNjZW50NDB9O1xuICAgICAgICBjb2xvcjogJHtjdXN0b21Qcm9wZXJ0aWVzLmNvbG9yU3VyZmFjZX07XG4gICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGB9XG4gICAgPlxuICAgICAge3Byb3BzLmxvY2FsZUNvdW50fVxuICAgIDwvc3Bhbj5cbiAgPC9kaXY+XG4pO1xuU2luZ2xlVmFsdWUuZGlzcGxheU5hbWUgPSAnU2luZ2xlVmFsdWUnO1xuXG5jb25zdCBMb2NhbGVTd2l0Y2hlciA9IChwcm9wczogUHJvcHMpID0+IHtcbiAgY29uc3QgeyBzZXRQcm9qZWN0RGF0YUxvY2FsZSB9ID0gcHJvcHM7XG4gIGNvbnN0IGhhbmRsZVNlbGVjdGlvbiA9IHVzZUNhbGxiYWNrKFxuICAgIChldmVudCkgPT4ge1xuICAgICAgc2V0UHJvamVjdERhdGFMb2NhbGUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgICB9LFxuICAgIFtzZXRQcm9qZWN0RGF0YUxvY2FsZV1cbiAgKTtcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogJHtjdXN0b21Qcm9wZXJ0aWVzLmNvbnN0cmFpbnQzfTtcbiAgICAgIGB9XG4gICAgICBkYXRhLXRyYWNrLWNvbXBvbmVudD1cIkxvY2FsZVN3aXRjaFwiXG4gICAgPlxuICAgICAgPFNlbGVjdElucHV0XG4gICAgICAgIHZhbHVlPXtwcm9wcy5wcm9qZWN0RGF0YUxvY2FsZX1cbiAgICAgICAgbmFtZT1cImxvY2FsZS1zd2l0Y2hlclwiXG4gICAgICAgIGFyaWEtbGFiZWxsZWRieT1cImxvY2FsZS1zd2l0Y2hlclwiXG4gICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVTZWxlY3Rpb259XG4gICAgICAgIG9wdGlvbnM9e3Byb3BzLmF2YWlsYWJsZUxvY2FsZXMubWFwKChsb2NhbGUpID0+ICh7XG4gICAgICAgICAgbGFiZWw6IGxvY2FsZSxcbiAgICAgICAgICB2YWx1ZTogbG9jYWxlLFxuICAgICAgICB9KSl9XG4gICAgICAgIGNvbXBvbmVudHM9e3tcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QvZGlzcGxheS1uYW1lXG4gICAgICAgICAgU2luZ2xlVmFsdWU6IChcbiAgICAgICAgICAgIHZhbHVlUHJvcHM6IFNpbmdsZVZhbHVlUHJvcHM8eyBsYWJlbDogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH0+XG4gICAgICAgICAgKSA9PiAoXG4gICAgICAgICAgICA8U2luZ2xlVmFsdWVcbiAgICAgICAgICAgICAgey4uLnZhbHVlUHJvcHN9XG4gICAgICAgICAgICAgIGxvY2FsZUNvdW50PXtwcm9wcy5hdmFpbGFibGVMb2NhbGVzLmxlbmd0aH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSxcbiAgICAgICAgfX1cbiAgICAgICAgaXNDbGVhcmFibGU9e2ZhbHNlfVxuICAgICAgICBiYWNrc3BhY2VSZW1vdmVzVmFsdWU9e2ZhbHNlfVxuICAgICAgICBpc1NlYXJjaGFibGU9e2ZhbHNlfVxuICAgICAgLz5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IExvY2FsZVN3aXRjaGVyO1xuIl19 */",
2439
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxvY2FsZS1zd2l0Y2hlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBb0JZIiwiZmlsZSI6ImxvY2FsZS1zd2l0Y2hlci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFNpbmdsZVZhbHVlUHJvcHMgfSBmcm9tICdyZWFjdC1zZWxlY3QnO1xuaW1wb3J0IHR5cGUgeyBTZWxlY3RJbnB1dE9wdGlvbiB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NlbGVjdC1pbnB1dCc7XG5cbmltcG9ydCB7IHVzZUNhbGxiYWNrIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IFNlbGVjdElucHV0IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NlbGVjdC1pbnB1dCc7XG5pbXBvcnQgeyBXb3JsZEljb24gfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucyc7XG5pbXBvcnQgeyBjdXN0b21Qcm9wZXJ0aWVzIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5cbnR5cGUgQ3VzdG9tU2luZ2xlVmFsdWVQcm9wcyA9IFNpbmdsZVZhbHVlUHJvcHM8U2VsZWN0SW5wdXRPcHRpb24sIGZhbHNlPiAmIHtcbiAgbG9jYWxlQ291bnQ6IG51bWJlcjtcbn07XG50eXBlIFByb3BzID0ge1xuICBwcm9qZWN0RGF0YUxvY2FsZTogc3RyaW5nO1xuICBzZXRQcm9qZWN0RGF0YUxvY2FsZTogKGxvY2FsZTogc3RyaW5nKSA9PiB2b2lkO1xuICBhdmFpbGFibGVMb2NhbGVzOiBzdHJpbmdbXTtcbn07XG5cbmV4cG9ydCBjb25zdCBTaW5nbGVWYWx1ZSA9IChwcm9wczogQ3VzdG9tU2luZ2xlVmFsdWVQcm9wcykgPT4gKFxuICA8ZGl2XG4gICAgY3NzPXtjc3NgXG4gICAgICBmbGV4OiAxO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYH1cbiAgPlxuICAgIDxXb3JsZEljb24gc2l6ZT1cImJpZ1wiIC8+XG4gICAgPHNwYW5cbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICBtYXJnaW4tbGVmdDogMnB4O1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBjb2xvcjogJHtjdXN0b21Qcm9wZXJ0aWVzLmNvbG9yQWNjZW50fTtcbiAgICAgIGB9XG4gICAgPlxuICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgIDwvc3Bhbj5cbiAgICA8c3BhblxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgICBoZWlnaHQ6IDIycHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6ICR7Y3VzdG9tUHJvcGVydGllcy5jb2xvckFjY2VudDQwfTtcbiAgICAgICAgY29sb3I6ICR7Y3VzdG9tUHJvcGVydGllcy5jb2xvclN1cmZhY2V9O1xuICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBgfVxuICAgID5cbiAgICAgIHtwcm9wcy5sb2NhbGVDb3VudH1cbiAgICA8L3NwYW4+XG4gIDwvZGl2PlxuKTtcblNpbmdsZVZhbHVlLmRpc3BsYXlOYW1lID0gJ1NpbmdsZVZhbHVlJztcblxuY29uc3QgTG9jYWxlU3dpdGNoZXIgPSAocHJvcHM6IFByb3BzKSA9PiB7XG4gIGNvbnN0IHsgc2V0UHJvamVjdERhdGFMb2NhbGUgfSA9IHByb3BzO1xuICBjb25zdCBoYW5kbGVTZWxlY3Rpb24gPSB1c2VDYWxsYmFjayhcbiAgICAoZXZlbnQpID0+IHtcbiAgICAgIHNldFByb2plY3REYXRhTG9jYWxlKGV2ZW50LnRhcmdldC52YWx1ZSk7XG4gICAgfSxcbiAgICBbc2V0UHJvamVjdERhdGFMb2NhbGVdXG4gICk7XG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6ICR7Y3VzdG9tUHJvcGVydGllcy5jb25zdHJhaW50M307XG4gICAgICBgfVxuICAgICAgZGF0YS10cmFjay1jb21wb25lbnQ9XCJMb2NhbGVTd2l0Y2hcIlxuICAgID5cbiAgICAgIDxTZWxlY3RJbnB1dFxuICAgICAgICB2YWx1ZT17cHJvcHMucHJvamVjdERhdGFMb2NhbGV9XG4gICAgICAgIG5hbWU9XCJsb2NhbGUtc3dpdGNoZXJcIlxuICAgICAgICBhcmlhLWxhYmVsbGVkYnk9XCJsb2NhbGUtc3dpdGNoZXJcIlxuICAgICAgICBvbkNoYW5nZT17aGFuZGxlU2VsZWN0aW9ufVxuICAgICAgICBvcHRpb25zPXtwcm9wcy5hdmFpbGFibGVMb2NhbGVzLm1hcCgobG9jYWxlKSA9PiAoe1xuICAgICAgICAgIGxhYmVsOiBsb2NhbGUsXG4gICAgICAgICAgdmFsdWU6IGxvY2FsZSxcbiAgICAgICAgfSkpfVxuICAgICAgICBjb21wb25lbnRzPXt7XG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L2Rpc3BsYXktbmFtZVxuICAgICAgICAgIFNpbmdsZVZhbHVlOiAoXG4gICAgICAgICAgICB2YWx1ZVByb3BzOiBTaW5nbGVWYWx1ZVByb3BzPFNlbGVjdElucHV0T3B0aW9uLCBmYWxzZT5cbiAgICAgICAgICApID0+IChcbiAgICAgICAgICAgIDxTaW5nbGVWYWx1ZVxuICAgICAgICAgICAgICB7Li4udmFsdWVQcm9wc31cbiAgICAgICAgICAgICAgbG9jYWxlQ291bnQ9e3Byb3BzLmF2YWlsYWJsZUxvY2FsZXMubGVuZ3RofVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApLFxuICAgICAgICB9fVxuICAgICAgICBpc0NsZWFyYWJsZT17ZmFsc2V9XG4gICAgICAgIGJhY2tzcGFjZVJlbW92ZXNWYWx1ZT17ZmFsc2V9XG4gICAgICAgIGlzU2VhcmNoYWJsZT17ZmFsc2V9XG4gICAgICAvPlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgTG9jYWxlU3dpdGNoZXI7XG4iXX0= */",
2470
2440
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__$2
2471
2441
  };
2472
2442
 
@@ -2476,10 +2446,10 @@ var _SingleValue = function SingleValue(props) {
2476
2446
  children: [jsxRuntime.jsx(icons.WorldIcon, {
2477
2447
  size: "big"
2478
2448
  }), jsxRuntime.jsx("span", {
2479
- css: /*#__PURE__*/react$2.css("margin-left:2px;flex:1;color:", designSystem.customProperties.colorAccent, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:SingleValue;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxvY2FsZS1zd2l0Y2hlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBOEJjIiwiZmlsZSI6ImxvY2FsZS1zd2l0Y2hlci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFNpbmdsZVZhbHVlUHJvcHMgfSBmcm9tICdyZWFjdC1zZWxlY3QnO1xuXG5pbXBvcnQgeyB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBTZWxlY3RJbnB1dCBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9zZWxlY3QtaW5wdXQnO1xuaW1wb3J0IHsgV29ybGRJY29uIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaWNvbnMnO1xuaW1wb3J0IHsgY3VzdG9tUHJvcGVydGllcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuXG50eXBlIEN1c3RvbVNpbmdsZVZhbHVlUHJvcHMgPSBTaW5nbGVWYWx1ZVByb3BzPHtcbiAgbGFiZWw6IHN0cmluZztcbiAgdmFsdWU6IHN0cmluZztcbn0+ICYge1xuICBsb2NhbGVDb3VudDogbnVtYmVyO1xufTtcbnR5cGUgUHJvcHMgPSB7XG4gIHByb2plY3REYXRhTG9jYWxlOiBzdHJpbmc7XG4gIHNldFByb2plY3REYXRhTG9jYWxlOiAobG9jYWxlOiBzdHJpbmcpID0+IHZvaWQ7XG4gIGF2YWlsYWJsZUxvY2FsZXM6IHN0cmluZ1tdO1xufTtcblxuZXhwb3J0IGNvbnN0IFNpbmdsZVZhbHVlID0gKHByb3BzOiBDdXN0b21TaW5nbGVWYWx1ZVByb3BzKSA9PiAoXG4gIDxkaXZcbiAgICBjc3M9e2Nzc2BcbiAgICAgIGZsZXg6IDE7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICBgfVxuICA+XG4gICAgPFdvcmxkSWNvbiBzaXplPVwiYmlnXCIgLz5cbiAgICA8c3BhblxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAycHg7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIGNvbG9yOiAke2N1c3RvbVByb3BlcnRpZXMuY29sb3JBY2NlbnR9O1xuICAgICAgYH1cbiAgICA+XG4gICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgPC9zcGFuPlxuICAgIDxzcGFuXG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgd2lkdGg6IDIycHg7XG4gICAgICAgIGhlaWdodDogMjJweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogJHtjdXN0b21Qcm9wZXJ0aWVzLmNvbG9yQWNjZW50NDB9O1xuICAgICAgICBjb2xvcjogJHtjdXN0b21Qcm9wZXJ0aWVzLmNvbG9yU3VyZmFjZX07XG4gICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGB9XG4gICAgPlxuICAgICAge3Byb3BzLmxvY2FsZUNvdW50fVxuICAgIDwvc3Bhbj5cbiAgPC9kaXY+XG4pO1xuU2luZ2xlVmFsdWUuZGlzcGxheU5hbWUgPSAnU2luZ2xlVmFsdWUnO1xuXG5jb25zdCBMb2NhbGVTd2l0Y2hlciA9IChwcm9wczogUHJvcHMpID0+IHtcbiAgY29uc3QgeyBzZXRQcm9qZWN0RGF0YUxvY2FsZSB9ID0gcHJvcHM7XG4gIGNvbnN0IGhhbmRsZVNlbGVjdGlvbiA9IHVzZUNhbGxiYWNrKFxuICAgIChldmVudCkgPT4ge1xuICAgICAgc2V0UHJvamVjdERhdGFMb2NhbGUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgICB9LFxuICAgIFtzZXRQcm9qZWN0RGF0YUxvY2FsZV1cbiAgKTtcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogJHtjdXN0b21Qcm9wZXJ0aWVzLmNvbnN0cmFpbnQzfTtcbiAgICAgIGB9XG4gICAgICBkYXRhLXRyYWNrLWNvbXBvbmVudD1cIkxvY2FsZVN3aXRjaFwiXG4gICAgPlxuICAgICAgPFNlbGVjdElucHV0XG4gICAgICAgIHZhbHVlPXtwcm9wcy5wcm9qZWN0RGF0YUxvY2FsZX1cbiAgICAgICAgbmFtZT1cImxvY2FsZS1zd2l0Y2hlclwiXG4gICAgICAgIGFyaWEtbGFiZWxsZWRieT1cImxvY2FsZS1zd2l0Y2hlclwiXG4gICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVTZWxlY3Rpb259XG4gICAgICAgIG9wdGlvbnM9e3Byb3BzLmF2YWlsYWJsZUxvY2FsZXMubWFwKChsb2NhbGUpID0+ICh7XG4gICAgICAgICAgbGFiZWw6IGxvY2FsZSxcbiAgICAgICAgICB2YWx1ZTogbG9jYWxlLFxuICAgICAgICB9KSl9XG4gICAgICAgIGNvbXBvbmVudHM9e3tcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QvZGlzcGxheS1uYW1lXG4gICAgICAgICAgU2luZ2xlVmFsdWU6IChcbiAgICAgICAgICAgIHZhbHVlUHJvcHM6IFNpbmdsZVZhbHVlUHJvcHM8eyBsYWJlbDogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH0+XG4gICAgICAgICAgKSA9PiAoXG4gICAgICAgICAgICA8U2luZ2xlVmFsdWVcbiAgICAgICAgICAgICAgey4uLnZhbHVlUHJvcHN9XG4gICAgICAgICAgICAgIGxvY2FsZUNvdW50PXtwcm9wcy5hdmFpbGFibGVMb2NhbGVzLmxlbmd0aH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSxcbiAgICAgICAgfX1cbiAgICAgICAgaXNDbGVhcmFibGU9e2ZhbHNlfVxuICAgICAgICBiYWNrc3BhY2VSZW1vdmVzVmFsdWU9e2ZhbHNlfVxuICAgICAgICBpc1NlYXJjaGFibGU9e2ZhbHNlfVxuICAgICAgLz5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IExvY2FsZVN3aXRjaGVyO1xuIl19 */"),
2449
+ css: /*#__PURE__*/react$2.css("margin-left:2px;flex:1;color:", designSystem.customProperties.colorAccent, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:SingleValue;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxvY2FsZS1zd2l0Y2hlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNEJjIiwiZmlsZSI6ImxvY2FsZS1zd2l0Y2hlci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFNpbmdsZVZhbHVlUHJvcHMgfSBmcm9tICdyZWFjdC1zZWxlY3QnO1xuaW1wb3J0IHR5cGUgeyBTZWxlY3RJbnB1dE9wdGlvbiB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NlbGVjdC1pbnB1dCc7XG5cbmltcG9ydCB7IHVzZUNhbGxiYWNrIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IFNlbGVjdElucHV0IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NlbGVjdC1pbnB1dCc7XG5pbXBvcnQgeyBXb3JsZEljb24gfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucyc7XG5pbXBvcnQgeyBjdXN0b21Qcm9wZXJ0aWVzIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5cbnR5cGUgQ3VzdG9tU2luZ2xlVmFsdWVQcm9wcyA9IFNpbmdsZVZhbHVlUHJvcHM8U2VsZWN0SW5wdXRPcHRpb24sIGZhbHNlPiAmIHtcbiAgbG9jYWxlQ291bnQ6IG51bWJlcjtcbn07XG50eXBlIFByb3BzID0ge1xuICBwcm9qZWN0RGF0YUxvY2FsZTogc3RyaW5nO1xuICBzZXRQcm9qZWN0RGF0YUxvY2FsZTogKGxvY2FsZTogc3RyaW5nKSA9PiB2b2lkO1xuICBhdmFpbGFibGVMb2NhbGVzOiBzdHJpbmdbXTtcbn07XG5cbmV4cG9ydCBjb25zdCBTaW5nbGVWYWx1ZSA9IChwcm9wczogQ3VzdG9tU2luZ2xlVmFsdWVQcm9wcykgPT4gKFxuICA8ZGl2XG4gICAgY3NzPXtjc3NgXG4gICAgICBmbGV4OiAxO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYH1cbiAgPlxuICAgIDxXb3JsZEljb24gc2l6ZT1cImJpZ1wiIC8+XG4gICAgPHNwYW5cbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICBtYXJnaW4tbGVmdDogMnB4O1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBjb2xvcjogJHtjdXN0b21Qcm9wZXJ0aWVzLmNvbG9yQWNjZW50fTtcbiAgICAgIGB9XG4gICAgPlxuICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgIDwvc3Bhbj5cbiAgICA8c3BhblxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgICBoZWlnaHQ6IDIycHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6ICR7Y3VzdG9tUHJvcGVydGllcy5jb2xvckFjY2VudDQwfTtcbiAgICAgICAgY29sb3I6ICR7Y3VzdG9tUHJvcGVydGllcy5jb2xvclN1cmZhY2V9O1xuICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBgfVxuICAgID5cbiAgICAgIHtwcm9wcy5sb2NhbGVDb3VudH1cbiAgICA8L3NwYW4+XG4gIDwvZGl2PlxuKTtcblNpbmdsZVZhbHVlLmRpc3BsYXlOYW1lID0gJ1NpbmdsZVZhbHVlJztcblxuY29uc3QgTG9jYWxlU3dpdGNoZXIgPSAocHJvcHM6IFByb3BzKSA9PiB7XG4gIGNvbnN0IHsgc2V0UHJvamVjdERhdGFMb2NhbGUgfSA9IHByb3BzO1xuICBjb25zdCBoYW5kbGVTZWxlY3Rpb24gPSB1c2VDYWxsYmFjayhcbiAgICAoZXZlbnQpID0+IHtcbiAgICAgIHNldFByb2plY3REYXRhTG9jYWxlKGV2ZW50LnRhcmdldC52YWx1ZSk7XG4gICAgfSxcbiAgICBbc2V0UHJvamVjdERhdGFMb2NhbGVdXG4gICk7XG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6ICR7Y3VzdG9tUHJvcGVydGllcy5jb25zdHJhaW50M307XG4gICAgICBgfVxuICAgICAgZGF0YS10cmFjay1jb21wb25lbnQ9XCJMb2NhbGVTd2l0Y2hcIlxuICAgID5cbiAgICAgIDxTZWxlY3RJbnB1dFxuICAgICAgICB2YWx1ZT17cHJvcHMucHJvamVjdERhdGFMb2NhbGV9XG4gICAgICAgIG5hbWU9XCJsb2NhbGUtc3dpdGNoZXJcIlxuICAgICAgICBhcmlhLWxhYmVsbGVkYnk9XCJsb2NhbGUtc3dpdGNoZXJcIlxuICAgICAgICBvbkNoYW5nZT17aGFuZGxlU2VsZWN0aW9ufVxuICAgICAgICBvcHRpb25zPXtwcm9wcy5hdmFpbGFibGVMb2NhbGVzLm1hcCgobG9jYWxlKSA9PiAoe1xuICAgICAgICAgIGxhYmVsOiBsb2NhbGUsXG4gICAgICAgICAgdmFsdWU6IGxvY2FsZSxcbiAgICAgICAgfSkpfVxuICAgICAgICBjb21wb25lbnRzPXt7XG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L2Rpc3BsYXktbmFtZVxuICAgICAgICAgIFNpbmdsZVZhbHVlOiAoXG4gICAgICAgICAgICB2YWx1ZVByb3BzOiBTaW5nbGVWYWx1ZVByb3BzPFNlbGVjdElucHV0T3B0aW9uLCBmYWxzZT5cbiAgICAgICAgICApID0+IChcbiAgICAgICAgICAgIDxTaW5nbGVWYWx1ZVxuICAgICAgICAgICAgICB7Li4udmFsdWVQcm9wc31cbiAgICAgICAgICAgICAgbG9jYWxlQ291bnQ9e3Byb3BzLmF2YWlsYWJsZUxvY2FsZXMubGVuZ3RofVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApLFxuICAgICAgICB9fVxuICAgICAgICBpc0NsZWFyYWJsZT17ZmFsc2V9XG4gICAgICAgIGJhY2tzcGFjZVJlbW92ZXNWYWx1ZT17ZmFsc2V9XG4gICAgICAgIGlzU2VhcmNoYWJsZT17ZmFsc2V9XG4gICAgICAvPlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgTG9jYWxlU3dpdGNoZXI7XG4iXX0= */"),
2480
2450
  children: props.children
2481
2451
  }), jsxRuntime.jsx("span", {
2482
- css: /*#__PURE__*/react$2.css("width:22px;height:22px;border-radius:100%;background:", designSystem.customProperties.colorAccent40, ";color:", designSystem.customProperties.colorSurface, ";font-size:0.9rem;display:flex;justify-content:center;align-items:center;" + (process.env.NODE_ENV === "production" ? "" : ";label:SingleValue;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxvY2FsZS1zd2l0Y2hlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBdUNjIiwiZmlsZSI6ImxvY2FsZS1zd2l0Y2hlci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFNpbmdsZVZhbHVlUHJvcHMgfSBmcm9tICdyZWFjdC1zZWxlY3QnO1xuXG5pbXBvcnQgeyB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBTZWxlY3RJbnB1dCBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9zZWxlY3QtaW5wdXQnO1xuaW1wb3J0IHsgV29ybGRJY29uIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaWNvbnMnO1xuaW1wb3J0IHsgY3VzdG9tUHJvcGVydGllcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuXG50eXBlIEN1c3RvbVNpbmdsZVZhbHVlUHJvcHMgPSBTaW5nbGVWYWx1ZVByb3BzPHtcbiAgbGFiZWw6IHN0cmluZztcbiAgdmFsdWU6IHN0cmluZztcbn0+ICYge1xuICBsb2NhbGVDb3VudDogbnVtYmVyO1xufTtcbnR5cGUgUHJvcHMgPSB7XG4gIHByb2plY3REYXRhTG9jYWxlOiBzdHJpbmc7XG4gIHNldFByb2plY3REYXRhTG9jYWxlOiAobG9jYWxlOiBzdHJpbmcpID0+IHZvaWQ7XG4gIGF2YWlsYWJsZUxvY2FsZXM6IHN0cmluZ1tdO1xufTtcblxuZXhwb3J0IGNvbnN0IFNpbmdsZVZhbHVlID0gKHByb3BzOiBDdXN0b21TaW5nbGVWYWx1ZVByb3BzKSA9PiAoXG4gIDxkaXZcbiAgICBjc3M9e2Nzc2BcbiAgICAgIGZsZXg6IDE7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICBgfVxuICA+XG4gICAgPFdvcmxkSWNvbiBzaXplPVwiYmlnXCIgLz5cbiAgICA8c3BhblxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAycHg7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIGNvbG9yOiAke2N1c3RvbVByb3BlcnRpZXMuY29sb3JBY2NlbnR9O1xuICAgICAgYH1cbiAgICA+XG4gICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgPC9zcGFuPlxuICAgIDxzcGFuXG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgd2lkdGg6IDIycHg7XG4gICAgICAgIGhlaWdodDogMjJweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogJHtjdXN0b21Qcm9wZXJ0aWVzLmNvbG9yQWNjZW50NDB9O1xuICAgICAgICBjb2xvcjogJHtjdXN0b21Qcm9wZXJ0aWVzLmNvbG9yU3VyZmFjZX07XG4gICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGB9XG4gICAgPlxuICAgICAge3Byb3BzLmxvY2FsZUNvdW50fVxuICAgIDwvc3Bhbj5cbiAgPC9kaXY+XG4pO1xuU2luZ2xlVmFsdWUuZGlzcGxheU5hbWUgPSAnU2luZ2xlVmFsdWUnO1xuXG5jb25zdCBMb2NhbGVTd2l0Y2hlciA9IChwcm9wczogUHJvcHMpID0+IHtcbiAgY29uc3QgeyBzZXRQcm9qZWN0RGF0YUxvY2FsZSB9ID0gcHJvcHM7XG4gIGNvbnN0IGhhbmRsZVNlbGVjdGlvbiA9IHVzZUNhbGxiYWNrKFxuICAgIChldmVudCkgPT4ge1xuICAgICAgc2V0UHJvamVjdERhdGFMb2NhbGUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgICB9LFxuICAgIFtzZXRQcm9qZWN0RGF0YUxvY2FsZV1cbiAgKTtcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogJHtjdXN0b21Qcm9wZXJ0aWVzLmNvbnN0cmFpbnQzfTtcbiAgICAgIGB9XG4gICAgICBkYXRhLXRyYWNrLWNvbXBvbmVudD1cIkxvY2FsZVN3aXRjaFwiXG4gICAgPlxuICAgICAgPFNlbGVjdElucHV0XG4gICAgICAgIHZhbHVlPXtwcm9wcy5wcm9qZWN0RGF0YUxvY2FsZX1cbiAgICAgICAgbmFtZT1cImxvY2FsZS1zd2l0Y2hlclwiXG4gICAgICAgIGFyaWEtbGFiZWxsZWRieT1cImxvY2FsZS1zd2l0Y2hlclwiXG4gICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVTZWxlY3Rpb259XG4gICAgICAgIG9wdGlvbnM9e3Byb3BzLmF2YWlsYWJsZUxvY2FsZXMubWFwKChsb2NhbGUpID0+ICh7XG4gICAgICAgICAgbGFiZWw6IGxvY2FsZSxcbiAgICAgICAgICB2YWx1ZTogbG9jYWxlLFxuICAgICAgICB9KSl9XG4gICAgICAgIGNvbXBvbmVudHM9e3tcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QvZGlzcGxheS1uYW1lXG4gICAgICAgICAgU2luZ2xlVmFsdWU6IChcbiAgICAgICAgICAgIHZhbHVlUHJvcHM6IFNpbmdsZVZhbHVlUHJvcHM8eyBsYWJlbDogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH0+XG4gICAgICAgICAgKSA9PiAoXG4gICAgICAgICAgICA8U2luZ2xlVmFsdWVcbiAgICAgICAgICAgICAgey4uLnZhbHVlUHJvcHN9XG4gICAgICAgICAgICAgIGxvY2FsZUNvdW50PXtwcm9wcy5hdmFpbGFibGVMb2NhbGVzLmxlbmd0aH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSxcbiAgICAgICAgfX1cbiAgICAgICAgaXNDbGVhcmFibGU9e2ZhbHNlfVxuICAgICAgICBiYWNrc3BhY2VSZW1vdmVzVmFsdWU9e2ZhbHNlfVxuICAgICAgICBpc1NlYXJjaGFibGU9e2ZhbHNlfVxuICAgICAgLz5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IExvY2FsZVN3aXRjaGVyO1xuIl19 */"),
2452
+ css: /*#__PURE__*/react$2.css("width:22px;height:22px;border-radius:100%;background:", designSystem.customProperties.colorAccent40, ";color:", designSystem.customProperties.colorSurface, ";font-size:0.9rem;display:flex;justify-content:center;align-items:center;" + (process.env.NODE_ENV === "production" ? "" : ";label:SingleValue;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxvY2FsZS1zd2l0Y2hlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBcUNjIiwiZmlsZSI6ImxvY2FsZS1zd2l0Y2hlci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFNpbmdsZVZhbHVlUHJvcHMgfSBmcm9tICdyZWFjdC1zZWxlY3QnO1xuaW1wb3J0IHR5cGUgeyBTZWxlY3RJbnB1dE9wdGlvbiB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NlbGVjdC1pbnB1dCc7XG5cbmltcG9ydCB7IHVzZUNhbGxiYWNrIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IFNlbGVjdElucHV0IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NlbGVjdC1pbnB1dCc7XG5pbXBvcnQgeyBXb3JsZEljb24gfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucyc7XG5pbXBvcnQgeyBjdXN0b21Qcm9wZXJ0aWVzIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5cbnR5cGUgQ3VzdG9tU2luZ2xlVmFsdWVQcm9wcyA9IFNpbmdsZVZhbHVlUHJvcHM8U2VsZWN0SW5wdXRPcHRpb24sIGZhbHNlPiAmIHtcbiAgbG9jYWxlQ291bnQ6IG51bWJlcjtcbn07XG50eXBlIFByb3BzID0ge1xuICBwcm9qZWN0RGF0YUxvY2FsZTogc3RyaW5nO1xuICBzZXRQcm9qZWN0RGF0YUxvY2FsZTogKGxvY2FsZTogc3RyaW5nKSA9PiB2b2lkO1xuICBhdmFpbGFibGVMb2NhbGVzOiBzdHJpbmdbXTtcbn07XG5cbmV4cG9ydCBjb25zdCBTaW5nbGVWYWx1ZSA9IChwcm9wczogQ3VzdG9tU2luZ2xlVmFsdWVQcm9wcykgPT4gKFxuICA8ZGl2XG4gICAgY3NzPXtjc3NgXG4gICAgICBmbGV4OiAxO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYH1cbiAgPlxuICAgIDxXb3JsZEljb24gc2l6ZT1cImJpZ1wiIC8+XG4gICAgPHNwYW5cbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICBtYXJnaW4tbGVmdDogMnB4O1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBjb2xvcjogJHtjdXN0b21Qcm9wZXJ0aWVzLmNvbG9yQWNjZW50fTtcbiAgICAgIGB9XG4gICAgPlxuICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgIDwvc3Bhbj5cbiAgICA8c3BhblxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgICBoZWlnaHQ6IDIycHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6ICR7Y3VzdG9tUHJvcGVydGllcy5jb2xvckFjY2VudDQwfTtcbiAgICAgICAgY29sb3I6ICR7Y3VzdG9tUHJvcGVydGllcy5jb2xvclN1cmZhY2V9O1xuICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBgfVxuICAgID5cbiAgICAgIHtwcm9wcy5sb2NhbGVDb3VudH1cbiAgICA8L3NwYW4+XG4gIDwvZGl2PlxuKTtcblNpbmdsZVZhbHVlLmRpc3BsYXlOYW1lID0gJ1NpbmdsZVZhbHVlJztcblxuY29uc3QgTG9jYWxlU3dpdGNoZXIgPSAocHJvcHM6IFByb3BzKSA9PiB7XG4gIGNvbnN0IHsgc2V0UHJvamVjdERhdGFMb2NhbGUgfSA9IHByb3BzO1xuICBjb25zdCBoYW5kbGVTZWxlY3Rpb24gPSB1c2VDYWxsYmFjayhcbiAgICAoZXZlbnQpID0+IHtcbiAgICAgIHNldFByb2plY3REYXRhTG9jYWxlKGV2ZW50LnRhcmdldC52YWx1ZSk7XG4gICAgfSxcbiAgICBbc2V0UHJvamVjdERhdGFMb2NhbGVdXG4gICk7XG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6ICR7Y3VzdG9tUHJvcGVydGllcy5jb25zdHJhaW50M307XG4gICAgICBgfVxuICAgICAgZGF0YS10cmFjay1jb21wb25lbnQ9XCJMb2NhbGVTd2l0Y2hcIlxuICAgID5cbiAgICAgIDxTZWxlY3RJbnB1dFxuICAgICAgICB2YWx1ZT17cHJvcHMucHJvamVjdERhdGFMb2NhbGV9XG4gICAgICAgIG5hbWU9XCJsb2NhbGUtc3dpdGNoZXJcIlxuICAgICAgICBhcmlhLWxhYmVsbGVkYnk9XCJsb2NhbGUtc3dpdGNoZXJcIlxuICAgICAgICBvbkNoYW5nZT17aGFuZGxlU2VsZWN0aW9ufVxuICAgICAgICBvcHRpb25zPXtwcm9wcy5hdmFpbGFibGVMb2NhbGVzLm1hcCgobG9jYWxlKSA9PiAoe1xuICAgICAgICAgIGxhYmVsOiBsb2NhbGUsXG4gICAgICAgICAgdmFsdWU6IGxvY2FsZSxcbiAgICAgICAgfSkpfVxuICAgICAgICBjb21wb25lbnRzPXt7XG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L2Rpc3BsYXktbmFtZVxuICAgICAgICAgIFNpbmdsZVZhbHVlOiAoXG4gICAgICAgICAgICB2YWx1ZVByb3BzOiBTaW5nbGVWYWx1ZVByb3BzPFNlbGVjdElucHV0T3B0aW9uLCBmYWxzZT5cbiAgICAgICAgICApID0+IChcbiAgICAgICAgICAgIDxTaW5nbGVWYWx1ZVxuICAgICAgICAgICAgICB7Li4udmFsdWVQcm9wc31cbiAgICAgICAgICAgICAgbG9jYWxlQ291bnQ9e3Byb3BzLmF2YWlsYWJsZUxvY2FsZXMubGVuZ3RofVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApLFxuICAgICAgICB9fVxuICAgICAgICBpc0NsZWFyYWJsZT17ZmFsc2V9XG4gICAgICAgIGJhY2tzcGFjZVJlbW92ZXNWYWx1ZT17ZmFsc2V9XG4gICAgICAgIGlzU2VhcmNoYWJsZT17ZmFsc2V9XG4gICAgICAvPlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgTG9jYWxlU3dpdGNoZXI7XG4iXX0= */"),
2483
2453
  children: props.localeCount
2484
2454
  })]
2485
2455
  });
@@ -2497,7 +2467,7 @@ var LocaleSwitcher = function LocaleSwitcher(props) {
2497
2467
  setProjectDataLocale(event.target.value);
2498
2468
  }, [setProjectDataLocale]);
2499
2469
  return jsxRuntime.jsx("div", {
2500
- css: /*#__PURE__*/react$2.css("position:relative;width:", designSystem.customProperties.constraint3, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:LocaleSwitcher;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxvY2FsZS1zd2l0Y2hlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbUVjIiwiZmlsZSI6ImxvY2FsZS1zd2l0Y2hlci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFNpbmdsZVZhbHVlUHJvcHMgfSBmcm9tICdyZWFjdC1zZWxlY3QnO1xuXG5pbXBvcnQgeyB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBTZWxlY3RJbnB1dCBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9zZWxlY3QtaW5wdXQnO1xuaW1wb3J0IHsgV29ybGRJY29uIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaWNvbnMnO1xuaW1wb3J0IHsgY3VzdG9tUHJvcGVydGllcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuXG50eXBlIEN1c3RvbVNpbmdsZVZhbHVlUHJvcHMgPSBTaW5nbGVWYWx1ZVByb3BzPHtcbiAgbGFiZWw6IHN0cmluZztcbiAgdmFsdWU6IHN0cmluZztcbn0+ICYge1xuICBsb2NhbGVDb3VudDogbnVtYmVyO1xufTtcbnR5cGUgUHJvcHMgPSB7XG4gIHByb2plY3REYXRhTG9jYWxlOiBzdHJpbmc7XG4gIHNldFByb2plY3REYXRhTG9jYWxlOiAobG9jYWxlOiBzdHJpbmcpID0+IHZvaWQ7XG4gIGF2YWlsYWJsZUxvY2FsZXM6IHN0cmluZ1tdO1xufTtcblxuZXhwb3J0IGNvbnN0IFNpbmdsZVZhbHVlID0gKHByb3BzOiBDdXN0b21TaW5nbGVWYWx1ZVByb3BzKSA9PiAoXG4gIDxkaXZcbiAgICBjc3M9e2Nzc2BcbiAgICAgIGZsZXg6IDE7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICBgfVxuICA+XG4gICAgPFdvcmxkSWNvbiBzaXplPVwiYmlnXCIgLz5cbiAgICA8c3BhblxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAycHg7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIGNvbG9yOiAke2N1c3RvbVByb3BlcnRpZXMuY29sb3JBY2NlbnR9O1xuICAgICAgYH1cbiAgICA+XG4gICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgPC9zcGFuPlxuICAgIDxzcGFuXG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgd2lkdGg6IDIycHg7XG4gICAgICAgIGhlaWdodDogMjJweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogJHtjdXN0b21Qcm9wZXJ0aWVzLmNvbG9yQWNjZW50NDB9O1xuICAgICAgICBjb2xvcjogJHtjdXN0b21Qcm9wZXJ0aWVzLmNvbG9yU3VyZmFjZX07XG4gICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGB9XG4gICAgPlxuICAgICAge3Byb3BzLmxvY2FsZUNvdW50fVxuICAgIDwvc3Bhbj5cbiAgPC9kaXY+XG4pO1xuU2luZ2xlVmFsdWUuZGlzcGxheU5hbWUgPSAnU2luZ2xlVmFsdWUnO1xuXG5jb25zdCBMb2NhbGVTd2l0Y2hlciA9IChwcm9wczogUHJvcHMpID0+IHtcbiAgY29uc3QgeyBzZXRQcm9qZWN0RGF0YUxvY2FsZSB9ID0gcHJvcHM7XG4gIGNvbnN0IGhhbmRsZVNlbGVjdGlvbiA9IHVzZUNhbGxiYWNrKFxuICAgIChldmVudCkgPT4ge1xuICAgICAgc2V0UHJvamVjdERhdGFMb2NhbGUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgICB9LFxuICAgIFtzZXRQcm9qZWN0RGF0YUxvY2FsZV1cbiAgKTtcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogJHtjdXN0b21Qcm9wZXJ0aWVzLmNvbnN0cmFpbnQzfTtcbiAgICAgIGB9XG4gICAgICBkYXRhLXRyYWNrLWNvbXBvbmVudD1cIkxvY2FsZVN3aXRjaFwiXG4gICAgPlxuICAgICAgPFNlbGVjdElucHV0XG4gICAgICAgIHZhbHVlPXtwcm9wcy5wcm9qZWN0RGF0YUxvY2FsZX1cbiAgICAgICAgbmFtZT1cImxvY2FsZS1zd2l0Y2hlclwiXG4gICAgICAgIGFyaWEtbGFiZWxsZWRieT1cImxvY2FsZS1zd2l0Y2hlclwiXG4gICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVTZWxlY3Rpb259XG4gICAgICAgIG9wdGlvbnM9e3Byb3BzLmF2YWlsYWJsZUxvY2FsZXMubWFwKChsb2NhbGUpID0+ICh7XG4gICAgICAgICAgbGFiZWw6IGxvY2FsZSxcbiAgICAgICAgICB2YWx1ZTogbG9jYWxlLFxuICAgICAgICB9KSl9XG4gICAgICAgIGNvbXBvbmVudHM9e3tcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QvZGlzcGxheS1uYW1lXG4gICAgICAgICAgU2luZ2xlVmFsdWU6IChcbiAgICAgICAgICAgIHZhbHVlUHJvcHM6IFNpbmdsZVZhbHVlUHJvcHM8eyBsYWJlbDogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH0+XG4gICAgICAgICAgKSA9PiAoXG4gICAgICAgICAgICA8U2luZ2xlVmFsdWVcbiAgICAgICAgICAgICAgey4uLnZhbHVlUHJvcHN9XG4gICAgICAgICAgICAgIGxvY2FsZUNvdW50PXtwcm9wcy5hdmFpbGFibGVMb2NhbGVzLmxlbmd0aH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSxcbiAgICAgICAgfX1cbiAgICAgICAgaXNDbGVhcmFibGU9e2ZhbHNlfVxuICAgICAgICBiYWNrc3BhY2VSZW1vdmVzVmFsdWU9e2ZhbHNlfVxuICAgICAgICBpc1NlYXJjaGFibGU9e2ZhbHNlfVxuICAgICAgLz5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IExvY2FsZVN3aXRjaGVyO1xuIl19 */"),
2470
+ css: /*#__PURE__*/react$2.css("position:relative;width:", designSystem.customProperties.constraint3, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:LocaleSwitcher;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxvY2FsZS1zd2l0Y2hlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBaUVjIiwiZmlsZSI6ImxvY2FsZS1zd2l0Y2hlci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFNpbmdsZVZhbHVlUHJvcHMgfSBmcm9tICdyZWFjdC1zZWxlY3QnO1xuaW1wb3J0IHR5cGUgeyBTZWxlY3RJbnB1dE9wdGlvbiB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NlbGVjdC1pbnB1dCc7XG5cbmltcG9ydCB7IHVzZUNhbGxiYWNrIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IFNlbGVjdElucHV0IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NlbGVjdC1pbnB1dCc7XG5pbXBvcnQgeyBXb3JsZEljb24gfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucyc7XG5pbXBvcnQgeyBjdXN0b21Qcm9wZXJ0aWVzIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5cbnR5cGUgQ3VzdG9tU2luZ2xlVmFsdWVQcm9wcyA9IFNpbmdsZVZhbHVlUHJvcHM8U2VsZWN0SW5wdXRPcHRpb24sIGZhbHNlPiAmIHtcbiAgbG9jYWxlQ291bnQ6IG51bWJlcjtcbn07XG50eXBlIFByb3BzID0ge1xuICBwcm9qZWN0RGF0YUxvY2FsZTogc3RyaW5nO1xuICBzZXRQcm9qZWN0RGF0YUxvY2FsZTogKGxvY2FsZTogc3RyaW5nKSA9PiB2b2lkO1xuICBhdmFpbGFibGVMb2NhbGVzOiBzdHJpbmdbXTtcbn07XG5cbmV4cG9ydCBjb25zdCBTaW5nbGVWYWx1ZSA9IChwcm9wczogQ3VzdG9tU2luZ2xlVmFsdWVQcm9wcykgPT4gKFxuICA8ZGl2XG4gICAgY3NzPXtjc3NgXG4gICAgICBmbGV4OiAxO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYH1cbiAgPlxuICAgIDxXb3JsZEljb24gc2l6ZT1cImJpZ1wiIC8+XG4gICAgPHNwYW5cbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICBtYXJnaW4tbGVmdDogMnB4O1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBjb2xvcjogJHtjdXN0b21Qcm9wZXJ0aWVzLmNvbG9yQWNjZW50fTtcbiAgICAgIGB9XG4gICAgPlxuICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgIDwvc3Bhbj5cbiAgICA8c3BhblxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgICBoZWlnaHQ6IDIycHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6ICR7Y3VzdG9tUHJvcGVydGllcy5jb2xvckFjY2VudDQwfTtcbiAgICAgICAgY29sb3I6ICR7Y3VzdG9tUHJvcGVydGllcy5jb2xvclN1cmZhY2V9O1xuICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBgfVxuICAgID5cbiAgICAgIHtwcm9wcy5sb2NhbGVDb3VudH1cbiAgICA8L3NwYW4+XG4gIDwvZGl2PlxuKTtcblNpbmdsZVZhbHVlLmRpc3BsYXlOYW1lID0gJ1NpbmdsZVZhbHVlJztcblxuY29uc3QgTG9jYWxlU3dpdGNoZXIgPSAocHJvcHM6IFByb3BzKSA9PiB7XG4gIGNvbnN0IHsgc2V0UHJvamVjdERhdGFMb2NhbGUgfSA9IHByb3BzO1xuICBjb25zdCBoYW5kbGVTZWxlY3Rpb24gPSB1c2VDYWxsYmFjayhcbiAgICAoZXZlbnQpID0+IHtcbiAgICAgIHNldFByb2plY3REYXRhTG9jYWxlKGV2ZW50LnRhcmdldC52YWx1ZSk7XG4gICAgfSxcbiAgICBbc2V0UHJvamVjdERhdGFMb2NhbGVdXG4gICk7XG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6ICR7Y3VzdG9tUHJvcGVydGllcy5jb25zdHJhaW50M307XG4gICAgICBgfVxuICAgICAgZGF0YS10cmFjay1jb21wb25lbnQ9XCJMb2NhbGVTd2l0Y2hcIlxuICAgID5cbiAgICAgIDxTZWxlY3RJbnB1dFxuICAgICAgICB2YWx1ZT17cHJvcHMucHJvamVjdERhdGFMb2NhbGV9XG4gICAgICAgIG5hbWU9XCJsb2NhbGUtc3dpdGNoZXJcIlxuICAgICAgICBhcmlhLWxhYmVsbGVkYnk9XCJsb2NhbGUtc3dpdGNoZXJcIlxuICAgICAgICBvbkNoYW5nZT17aGFuZGxlU2VsZWN0aW9ufVxuICAgICAgICBvcHRpb25zPXtwcm9wcy5hdmFpbGFibGVMb2NhbGVzLm1hcCgobG9jYWxlKSA9PiAoe1xuICAgICAgICAgIGxhYmVsOiBsb2NhbGUsXG4gICAgICAgICAgdmFsdWU6IGxvY2FsZSxcbiAgICAgICAgfSkpfVxuICAgICAgICBjb21wb25lbnRzPXt7XG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L2Rpc3BsYXktbmFtZVxuICAgICAgICAgIFNpbmdsZVZhbHVlOiAoXG4gICAgICAgICAgICB2YWx1ZVByb3BzOiBTaW5nbGVWYWx1ZVByb3BzPFNlbGVjdElucHV0T3B0aW9uLCBmYWxzZT5cbiAgICAgICAgICApID0+IChcbiAgICAgICAgICAgIDxTaW5nbGVWYWx1ZVxuICAgICAgICAgICAgICB7Li4udmFsdWVQcm9wc31cbiAgICAgICAgICAgICAgbG9jYWxlQ291bnQ9e3Byb3BzLmF2YWlsYWJsZUxvY2FsZXMubGVuZ3RofVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApLFxuICAgICAgICB9fVxuICAgICAgICBpc0NsZWFyYWJsZT17ZmFsc2V9XG4gICAgICAgIGJhY2tzcGFjZVJlbW92ZXNWYWx1ZT17ZmFsc2V9XG4gICAgICAgIGlzU2VhcmNoYWJsZT17ZmFsc2V9XG4gICAgICAvPlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgTG9jYWxlU3dpdGNoZXI7XG4iXX0= */"),
2501
2471
  "data-track-component": "LocaleSwitch",
2502
2472
  children: jsxRuntime.jsx(SelectInput__default["default"], {
2503
2473
  value: props.projectDataLocale,
@@ -2532,27 +2502,25 @@ LocaleSwitcher.propTypes = process.env.NODE_ENV !== "production" ? {
2532
2502
  } : {};
2533
2503
 
2534
2504
  var ProjectNotFound = /*#__PURE__*/react.lazy(function () {
2535
- return Promise.resolve().then(function () { return require('./project-not-found-9b444972.cjs.dev.js'
2505
+ return Promise.resolve().then(function () { return require('./project-not-found-fa0d0fed.cjs.dev.js'
2536
2506
  /* webpackChunkName: "project-not-found" */
2537
2507
  ); });
2538
2508
  });
2539
2509
 
2540
2510
  var ProjectExpired = /*#__PURE__*/react.lazy(function () {
2541
- return Promise.resolve().then(function () { return require('./project-expired-76545cc5.cjs.dev.js'
2511
+ return Promise.resolve().then(function () { return require('./project-expired-1c83f3b0.cjs.dev.js'
2542
2512
  /* webpackChunkName: "project-expired" */
2543
2513
  ); });
2544
2514
  });
2545
2515
 
2546
2516
  var ProjectNotInitialized = /*#__PURE__*/react.lazy(function () {
2547
- return Promise.resolve().then(function () { return require('./project-not-initialized-43c3480b.cjs.dev.js'
2517
+ return Promise.resolve().then(function () { return require('./project-not-initialized-75d542c8.cjs.dev.js'
2548
2518
  /* webpackChunkName: "project-not-initialized" */
2549
2519
  ); });
2550
2520
  });
2551
2521
 
2552
2522
  var RedirectToProjectCreate = function RedirectToProjectCreate() {
2553
- var servedByProxy = applicationShellConnectors.useApplicationContext(function (context) {
2554
- return context.environment.servedByProxy;
2555
- });
2523
+ var servedByProxy = applicationEntryPoint.useIsServedByProxy();
2556
2524
  /**
2557
2525
  * NOTE:
2558
2526
  * This looks a bit unusual: redirecting in render.
@@ -2570,7 +2538,7 @@ var RedirectToProjectCreate = function RedirectToProjectCreate() {
2570
2538
  }
2571
2539
 
2572
2540
  return jsxRuntime.jsx("div", {
2573
- css: /*#__PURE__*/react$2.css("align-self:center;margin-top:", designSystem.customProperties.spacingXl, ";max-width:", designSystem.customProperties.constraint10, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:RedirectToProjectCreate;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJlZGlyZWN0LXRvLXByb2plY3QtY3JlYXRlLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUErQmMiLCJmaWxlIjoicmVkaXJlY3QtdG8tcHJvamVjdC1jcmVhdGUudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IFNwYWNpbmdzIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NwYWNpbmdzJztcbmltcG9ydCB7IENvbnRlbnROb3RpZmljYXRpb24gfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9ub3RpZmljYXRpb25zJztcbmltcG9ydCBUZXh0IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3RleHQnO1xuaW1wb3J0IENhcmQgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvY2FyZCc7XG5pbXBvcnQgeyBjdXN0b21Qcm9wZXJ0aWVzIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5pbXBvcnQgeyB1c2VBcHBsaWNhdGlvbkNvbnRleHQgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hcHBsaWNhdGlvbi1zaGVsbC1jb25uZWN0b3JzJztcbmltcG9ydCB7IGxvY2F0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbHMvbG9jYXRpb24nO1xuXG5leHBvcnQgY29uc3QgUmVkaXJlY3RUb1Byb2plY3RDcmVhdGUgPSAoKSA9PiB7XG4gIGNvbnN0IHNlcnZlZEJ5UHJveHkgPSB1c2VBcHBsaWNhdGlvbkNvbnRleHQoXG4gICAgKGNvbnRleHQpID0+IGNvbnRleHQuZW52aXJvbm1lbnQuc2VydmVkQnlQcm94eVxuICApO1xuICAvKipcbiAgICogTk9URTpcbiAgICogICBUaGlzIGxvb2tzIGEgYml0IHVudXN1YWw6IHJlZGlyZWN0aW5nIGluIHJlbmRlci5cbiAgICogICBIb3dldmVyLCB3aGVuIGRvaW5nIGl0IGluIGBjRE1gIHdlIGxvb3NlIHRpbWVcbiAgICogICB3ZSB3ZSBhY3R1YWxseSBkbyBuZXZlciB3YW50IHRvIHJlbmRlciBhbnl0aGluZyBvclxuICAgKiAgIGludGVyYWN0IHdpdGggYW55dGhpbmcgcmVuZGVyZWQuIEluc3RlYWQgd2Ugc2hvdWxkIHNob3VsZFxuICAgKiAgIHJlZGlyZWN0IGF3YXkuIFVzaW5nIGEgY29uc3RydWN0b3Igd291bGQgcmVzdWx0IGluIHRoZSBzYW1lLlxuICAgKiAgIEluIHR1cm4gdGhpcyBpbnRlbmRzIHdvIG1ha2UgZXhwbGljaXQgdGhhdCB3ZSBuZXZlciB3YW50IHRvXG4gICAqICAgcmVuZGVyIGFuZCBpbnN0ZWFkIGp1c3QgbmF2aWdhdGUgYXdheS5cbiAgICovXG4gIGlmIChzZXJ2ZWRCeVByb3h5ID09PSB0cnVlKSB7XG4gICAgbG9jYXRpb24ucmVwbGFjZSgnL2FjY291bnQvcHJvamVjdHMvbmV3Jyk7XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLXRvcDogJHtjdXN0b21Qcm9wZXJ0aWVzLnNwYWNpbmdYbH07XG4gICAgICAgIG1heC13aWR0aDogJHtjdXN0b21Qcm9wZXJ0aWVzLmNvbnN0cmFpbnQxMH07XG4gICAgICBgfVxuICAgID5cbiAgICAgIDxDYXJkIHR5cGU9XCJmbGF0XCIgdGhlbWU9XCJkYXJrXCI+XG4gICAgICAgIDxTcGFjaW5ncy5TdGFjaz5cbiAgICAgICAgICA8VGV4dC5IZWFkbGluZSBhcz1cImgxXCI+UGxlYXNlIGNyZWF0ZSBhIHByb2plY3QhPC9UZXh0LkhlYWRsaW5lPlxuICAgICAgICAgIDxDb250ZW50Tm90aWZpY2F0aW9uIHR5cGU9XCJpbmZvXCI+XG4gICAgICAgICAgICBZb3UgYXJlIHJ1bm5pbmcgaW4gZGV2ZWxvcG1lbnQgbW9kZVxuICAgICAgICAgIDwvQ29udGVudE5vdGlmaWNhdGlvbj5cbiAgICAgICAgICA8VGV4dC5Cb2R5PlxuICAgICAgICAgICAgVGhlIEN1c3RvbSBBcHBsaWNhdGlvbiBpcyBub3QgcnVubmluZyBiZWhpbmQgdGhlIE1lcmNoYW50IENlbnRlclxuICAgICAgICAgICAgUHJveHkuIFRoZXJlZm9yZSwgeW91IGFyZSBub3QgYmVpbmcgcmVkaXJlY3RlZCB0byB0aGUgYWNjb3VudFxuICAgICAgICAgICAgc2VjdGlvbiB0byBjcmVhdGUgYSBuZXcgcHJvamVjdC5cbiAgICAgICAgICA8L1RleHQuQm9keT5cbiAgICAgICAgICA8VGV4dC5Cb2R5PlxuICAgICAgICAgICAgSWYgeW91IGRvIG5lZWQgdG8gY3JlYXRlIGEgcHJvamVjdCwgd2UgcmVjb21tZW5kIHRvIGdvIHRvIHRoZVxuICAgICAgICAgICAgTWVyY2hhbnQgQ2VudGVyIHByb2R1Y3Rpb24gVVJMIGFuZCBjcmVhdGUgYSBwcm9qZWN0IHRoZXJlLiBBZnRlclxuICAgICAgICAgICAgdGhhdCwgeW91IGNhbiBhY2Nlc3MgeW91ciBuZXcgcHJvamVjdCBmcm9tIHlvdXIgbG9jYWwgZW52aXJvbm1lbnQuXG4gICAgICAgICAgPC9UZXh0LkJvZHk+XG4gICAgICAgIDwvU3BhY2luZ3MuU3RhY2s+XG4gICAgICA8L0NhcmQ+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuUmVkaXJlY3RUb1Byb2plY3RDcmVhdGUuZGlzcGxheU5hbWUgPSAnUmVkaXJlY3RUb1Byb2plY3RDcmVhdGUnO1xuXG5leHBvcnQgZGVmYXVsdCBSZWRpcmVjdFRvUHJvamVjdENyZWF0ZTtcbiJdfQ== */"),
2541
+ css: /*#__PURE__*/react$2.css("align-self:center;margin-top:", designSystem.customProperties.spacingXl, ";max-width:", designSystem.customProperties.constraint10, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:RedirectToProjectCreate;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJlZGlyZWN0LXRvLXByb2plY3QtY3JlYXRlLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE2QmMiLCJmaWxlIjoicmVkaXJlY3QtdG8tcHJvamVjdC1jcmVhdGUudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IFNwYWNpbmdzIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NwYWNpbmdzJztcbmltcG9ydCB7IENvbnRlbnROb3RpZmljYXRpb24gfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9ub3RpZmljYXRpb25zJztcbmltcG9ydCBUZXh0IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3RleHQnO1xuaW1wb3J0IENhcmQgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvY2FyZCc7XG5pbXBvcnQgeyBjdXN0b21Qcm9wZXJ0aWVzIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5pbXBvcnQgdXNlSXNTZXJ2ZWRCeVByb3h5IGZyb20gJy4uLy4uL2hvb2tzL3VzZS1pcy1zZXJ2ZWQtYnktcHJveHknO1xuaW1wb3J0IHsgbG9jYXRpb24gfSBmcm9tICcuLi8uLi91dGlscy9sb2NhdGlvbic7XG5cbmV4cG9ydCBjb25zdCBSZWRpcmVjdFRvUHJvamVjdENyZWF0ZSA9ICgpID0+IHtcbiAgY29uc3Qgc2VydmVkQnlQcm94eSA9IHVzZUlzU2VydmVkQnlQcm94eSgpO1xuICAvKipcbiAgICogTk9URTpcbiAgICogICBUaGlzIGxvb2tzIGEgYml0IHVudXN1YWw6IHJlZGlyZWN0aW5nIGluIHJlbmRlci5cbiAgICogICBIb3dldmVyLCB3aGVuIGRvaW5nIGl0IGluIGBjRE1gIHdlIGxvb3NlIHRpbWVcbiAgICogICB3ZSB3ZSBhY3R1YWxseSBkbyBuZXZlciB3YW50IHRvIHJlbmRlciBhbnl0aGluZyBvclxuICAgKiAgIGludGVyYWN0IHdpdGggYW55dGhpbmcgcmVuZGVyZWQuIEluc3RlYWQgd2Ugc2hvdWxkIHNob3VsZFxuICAgKiAgIHJlZGlyZWN0IGF3YXkuIFVzaW5nIGEgY29uc3RydWN0b3Igd291bGQgcmVzdWx0IGluIHRoZSBzYW1lLlxuICAgKiAgIEluIHR1cm4gdGhpcyBpbnRlbmRzIHdvIG1ha2UgZXhwbGljaXQgdGhhdCB3ZSBuZXZlciB3YW50IHRvXG4gICAqICAgcmVuZGVyIGFuZCBpbnN0ZWFkIGp1c3QgbmF2aWdhdGUgYXdheS5cbiAgICovXG4gIGlmIChzZXJ2ZWRCeVByb3h5ID09PSB0cnVlKSB7XG4gICAgbG9jYXRpb24ucmVwbGFjZSgnL2FjY291bnQvcHJvamVjdHMvbmV3Jyk7XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLXRvcDogJHtjdXN0b21Qcm9wZXJ0aWVzLnNwYWNpbmdYbH07XG4gICAgICAgIG1heC13aWR0aDogJHtjdXN0b21Qcm9wZXJ0aWVzLmNvbnN0cmFpbnQxMH07XG4gICAgICBgfVxuICAgID5cbiAgICAgIDxDYXJkIHR5cGU9XCJmbGF0XCIgdGhlbWU9XCJkYXJrXCI+XG4gICAgICAgIDxTcGFjaW5ncy5TdGFjaz5cbiAgICAgICAgICA8VGV4dC5IZWFkbGluZSBhcz1cImgxXCI+UGxlYXNlIGNyZWF0ZSBhIHByb2plY3QhPC9UZXh0LkhlYWRsaW5lPlxuICAgICAgICAgIDxDb250ZW50Tm90aWZpY2F0aW9uIHR5cGU9XCJpbmZvXCI+XG4gICAgICAgICAgICBZb3UgYXJlIHJ1bm5pbmcgaW4gZGV2ZWxvcG1lbnQgbW9kZVxuICAgICAgICAgIDwvQ29udGVudE5vdGlmaWNhdGlvbj5cbiAgICAgICAgICA8VGV4dC5Cb2R5PlxuICAgICAgICAgICAgVGhlIEN1c3RvbSBBcHBsaWNhdGlvbiBpcyBub3QgcnVubmluZyBiZWhpbmQgdGhlIE1lcmNoYW50IENlbnRlclxuICAgICAgICAgICAgUHJveHkuIFRoZXJlZm9yZSwgeW91IGFyZSBub3QgYmVpbmcgcmVkaXJlY3RlZCB0byB0aGUgYWNjb3VudFxuICAgICAgICAgICAgc2VjdGlvbiB0byBjcmVhdGUgYSBuZXcgcHJvamVjdC5cbiAgICAgICAgICA8L1RleHQuQm9keT5cbiAgICAgICAgICA8VGV4dC5Cb2R5PlxuICAgICAgICAgICAgSWYgeW91IGRvIG5lZWQgdG8gY3JlYXRlIGEgcHJvamVjdCwgd2UgcmVjb21tZW5kIHRvIGdvIHRvIHRoZVxuICAgICAgICAgICAgTWVyY2hhbnQgQ2VudGVyIHByb2R1Y3Rpb24gVVJMIGFuZCBjcmVhdGUgYSBwcm9qZWN0IHRoZXJlLiBBZnRlclxuICAgICAgICAgICAgdGhhdCwgeW91IGNhbiBhY2Nlc3MgeW91ciBuZXcgcHJvamVjdCBmcm9tIHlvdXIgbG9jYWwgZW52aXJvbm1lbnQuXG4gICAgICAgICAgPC9UZXh0LkJvZHk+XG4gICAgICAgIDwvU3BhY2luZ3MuU3RhY2s+XG4gICAgICA8L0NhcmQ+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuUmVkaXJlY3RUb1Byb2plY3RDcmVhdGUuZGlzcGxheU5hbWUgPSAnUmVkaXJlY3RUb1Byb2plY3RDcmVhdGUnO1xuXG5leHBvcnQgZGVmYXVsdCBSZWRpcmVjdFRvUHJvamVjdENyZWF0ZTtcbiJdfQ== */"),
2574
2542
  children: jsxRuntime.jsx(Card__default["default"], {
2575
2543
  type: "flat",
2576
2544
  theme: "dark",
@@ -2593,7 +2561,7 @@ var RedirectToProjectCreate = function RedirectToProjectCreate() {
2593
2561
  RedirectToProjectCreate.displayName = 'RedirectToProjectCreate';
2594
2562
 
2595
2563
  var ProjectSuspended = /*#__PURE__*/react.lazy(function () {
2596
- return Promise.resolve().then(function () { return require('./project-suspended-d476386a.cjs.dev.js'
2564
+ return Promise.resolve().then(function () { return require('./project-suspended-ed1a8044.cjs.dev.js'
2597
2565
  /* webpackChunkName: "project-suspended" */
2598
2566
  ); });
2599
2567
  });
@@ -2640,13 +2608,13 @@ var ProjectContainer = function ProjectContainer(props) {
2640
2608
  * is inserted in the DOM tree.
2641
2609
  * "
2642
2610
  */
2643
- setLocaleSwitcherNode(document.getElementById(applicationEntryPoint.CONTAINERS.LOCALE_SWITCHER));
2611
+ setLocaleSwitcherNode(document.getElementById(constants.CONTAINERS.LOCALE_SWITCHER));
2644
2612
  }, [setLocaleSwitcherNode]);
2645
2613
  var projectKey = props.match.params.projectKey;
2646
2614
  react.useEffect(function () {
2647
2615
  // Ensure to sync the `projectKey` from the URL with localStorage.
2648
2616
  if (projectKey) {
2649
- window.localStorage.setItem(applicationEntryPoint.STORAGE_KEYS.ACTIVE_PROJECT_KEY, projectKey);
2617
+ window.localStorage.setItem(constants.STORAGE_KEYS.ACTIVE_PROJECT_KEY, projectKey);
2650
2618
  }
2651
2619
  }, [projectKey]); // }
2652
2620
 
@@ -2664,7 +2632,7 @@ var ProjectContainer = function ProjectContainer(props) {
2664
2632
  */
2665
2633
 
2666
2634
  if (hasNoProjects && props.environment.enableSignUp !== true && props.environment.servedByProxy) return jsxRuntime.jsx(reactRouterDom.Redirect, {
2667
- to: "/logout?reason=".concat(constants.LOGOUT_REASONS.NO_PROJECTS)
2635
+ to: "/logout?reason=".concat(constants$1.LOGOUT_REASONS.NO_PROJECTS)
2668
2636
  });
2669
2637
  if (hasNoProjects && props.environment.enableSignUp) return jsxRuntime.jsxs(reactRouterDom.Switch, {
2670
2638
  children: [jsxRuntime.jsx(reactRouterDom.Route, {
@@ -2688,7 +2656,7 @@ var ProjectContainer = function ProjectContainer(props) {
2688
2656
  if (isProjectLoading) return jsxRuntime.jsx(ApplicationLoader, {});
2689
2657
  if (!project) return jsxRuntime.jsx(ProjectNotFound, {});
2690
2658
  if (project.suspension && project.suspension.isActive) return jsxRuntime.jsx(ProjectSuspended, {
2691
- isTemporary: project.suspension.reason === applicationEntryPoint.SUSPENSION_REASONS.TEMPORARY_MAINTENANCE
2659
+ isTemporary: project.suspension.reason === constants.SUSPENSION_REASONS.TEMPORARY_MAINTENANCE
2692
2660
  });
2693
2661
  if (project.expiry && project.expiry.isActive) return jsxRuntime.jsx(ProjectExpired, {});
2694
2662
  if (project.initialized === false) return jsxRuntime.jsx(ProjectNotInitialized, {});
@@ -2707,7 +2675,7 @@ var ProjectContainer = function ProjectContainer(props) {
2707
2675
  children: jsxRuntime.jsxs(jsxRuntime.Fragment, {
2708
2676
  children: [shouldShowNotificationForTrialExpired((_project$expiry$daysL = project.expiry.daysLeft) !== null && _project$expiry$daysL !== void 0 ? _project$expiry$daysL : undefined) && jsxRuntime.jsx(reactNotifications.Notifier, {
2709
2677
  kind: "warning",
2710
- domain: constants.DOMAINS.GLOBAL,
2678
+ domain: constants$1.DOMAINS.GLOBAL,
2711
2679
  text: intl.formatMessage(messages$1.trialDaysLeft, {
2712
2680
  daysLeft: project.expiry.daysLeft || 0
2713
2681
  })
@@ -2752,9 +2720,7 @@ var getDefaultedFeatureToggles = function getDefaultedFeatureToggles(allFeatureT
2752
2720
  };
2753
2721
 
2754
2722
  var useAllMenuFeatureToggles = function useAllMenuFeatureToggles() {
2755
- var servedByProxy = applicationShellConnectors.useApplicationContext(function (applicationContext) {
2756
- return applicationContext.environment.servedByProxy;
2757
- });
2723
+ var servedByProxy = applicationEntryPoint.useIsServedByProxy();
2758
2724
  var mcProxyApiUrl = applicationShellConnectors.useApplicationContext(function (applicationContext) {
2759
2725
  return applicationContext.environment.mcProxyApiUrl;
2760
2726
  });
@@ -2887,7 +2853,7 @@ var SetupFlopFlipProvider = function SetupFlopFlipProvider(props) {
2887
2853
  query: AllFeaturesQuery,
2888
2854
  errorPolicy: 'ignore',
2889
2855
  context: {
2890
- target: constants.GRAPHQL_TARGETS.MERCHANT_CENTER_BACKEND
2856
+ target: constants$1.GRAPHQL_TARGETS.MERCHANT_CENTER_BACKEND
2891
2857
  }
2892
2858
  });
2893
2859
 
@@ -2988,7 +2954,7 @@ var messages = reactIntl.defineMessages({
2988
2954
  });
2989
2955
 
2990
2956
  var useLoadingMenuLayoutEffect = function useLoadingMenuLayoutEffect() {
2991
- var cachedIsForcedMenuOpen = window.localStorage.getItem(applicationEntryPoint.STORAGE_KEYS.IS_FORCED_MENU_OPEN);
2957
+ var cachedIsForcedMenuOpen = window.localStorage.getItem(constants.STORAGE_KEYS.IS_FORCED_MENU_OPEN);
2992
2958
  var isForcedMenuOpen = isNil__default["default"](cachedIsForcedMenuOpen) ? null : JSON.parse(cachedIsForcedMenuOpen);
2993
2959
  react.useLayoutEffect(function () {
2994
2960
  if (isForcedMenuOpen) document.body.classList.add('body__menu-open');
@@ -3067,7 +3033,7 @@ var useNavbarStateManager = function useNavbarStateManager(props) {
3067
3033
  var _useMcQuery = useMcQuery(FetchProjectExtensionsNavbar, {
3068
3034
  skip: !props.environment.servedByProxy,
3069
3035
  context: {
3070
- target: constants.GRAPHQL_TARGETS.SETTINGS_SERVICE
3036
+ target: constants$1.GRAPHQL_TARGETS.SETTINGS_SERVICE
3071
3037
  },
3072
3038
  fetchPolicy: 'cache-and-network',
3073
3039
  onError: sentry.reportErrorToSentry
@@ -3143,7 +3109,7 @@ var useNavbarStateManager = function useNavbarStateManager(props) {
3143
3109
  })
3144
3110
  };
3145
3111
  })).call(_context4, nonNullable) : [];
3146
- var cachedIsForcedMenuOpen = window.localStorage.getItem(applicationEntryPoint.STORAGE_KEYS.IS_FORCED_MENU_OPEN);
3112
+ var cachedIsForcedMenuOpen = window.localStorage.getItem(constants.STORAGE_KEYS.IS_FORCED_MENU_OPEN);
3147
3113
  var isForcedMenuOpen = isNil__default["default"](cachedIsForcedMenuOpen) ? null : JSON.parse(cachedIsForcedMenuOpen);
3148
3114
 
3149
3115
  var _useReducer = react.useReducer(reducer, getInitialState(isForcedMenuOpen)),
@@ -3225,7 +3191,7 @@ var useNavbarStateManager = function useNavbarStateManager(props) {
3225
3191
  type: 'toggleIsMenuOpen'
3226
3192
  }); // Synchronize the menu state with local storage.
3227
3193
 
3228
- window.localStorage.setItem(applicationEntryPoint.STORAGE_KEYS.IS_FORCED_MENU_OPEN, String(!state.isMenuOpen));
3194
+ window.localStorage.setItem(constants.STORAGE_KEYS.IS_FORCED_MENU_OPEN, String(!state.isMenuOpen));
3229
3195
  }, [state.activeItemIndex, state.isMenuOpen]);
3230
3196
 
3231
3197
  var allApplicationNavbarMenu = _concatInstanceProperty__default["default"](_context7 = _concatInstanceProperty__default["default"](_context8 = applicationsNavBarMenu || []).call(_context8, legacyCustomAppsMenu)).call(_context7, organizationCustomAppsMenu);
@@ -3484,11 +3450,7 @@ var MenuItemDivider = function MenuItemDivider() {
3484
3450
  });
3485
3451
  };
3486
3452
 
3487
- MenuItemDivider.displayName = 'MenuItemDivider'; // This component wraps `<RestrictedByPermissions>`
3488
- // and the `<ToggleFeature>` components. However, it's necessary to have it as
3489
- // the `<ToggleFeature>` wrapper should be rendered only if the `featureToggle`
3490
- // prop is defined. This is because `<ToggleFeature>` will not render any
3491
- // children if the flag is missing/not found.
3453
+ MenuItemDivider.displayName = 'MenuItemDivider';
3492
3454
 
3493
3455
  var isEveryMenuVisibilitySetToHidden = function isEveryMenuVisibilitySetToHidden(menuVisibilities, namesOfMenuVisibilities) {
3494
3456
  return _Array$isArray__default["default"](namesOfMenuVisibilities) && namesOfMenuVisibilities.length > 0 && _everyInstanceProperty__default["default"](namesOfMenuVisibilities).call(namesOfMenuVisibilities, function (nameOfMenuVisibility) {
@@ -3500,9 +3462,14 @@ var restrictedMenuItemDefaultProps = {
3500
3462
  permissions: []
3501
3463
  };
3502
3464
 
3465
+ function isLongLivedFlag(flag) {
3466
+ return typeof (flag === null || flag === void 0 ? void 0 : flag.value) === 'boolean';
3467
+ }
3468
+
3503
3469
  var RestrictedMenuItem = function RestrictedMenuItem(props) {
3504
3470
  // NOTE: Custom application are activated/deactivated while their
3505
3471
  // visibility is not controlled via a visibiility overwrite.
3472
+ var flagVariation = reactBroadcast.useFlagVariation(props.featureToggle);
3506
3473
  if (isEveryMenuVisibilitySetToHidden(props.menuVisibilities, props.namesOfMenuVisibilities)) return null;
3507
3474
  var 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, {
3508
3475
  permissions: props.permissions,
@@ -3526,10 +3493,11 @@ var RestrictedMenuItem = function RestrictedMenuItem(props) {
3526
3493
  });
3527
3494
 
3528
3495
  if (props.featureToggle) {
3529
- return jsxRuntime.jsx(reactBroadcast.ToggleFeature, {
3530
- flag: props.featureToggle,
3531
- children: permissionsWrapper
3532
- });
3496
+ // A regular short-lived feature toggle
3497
+ if (flagVariation === true) return permissionsWrapper; // A long-lived feature toggle with `{ value: boolean, string: reason }`
3498
+
3499
+ if (isLongLivedFlag(flagVariation) && flagVariation.value === true) return permissionsWrapper;
3500
+ return null;
3533
3501
  }
3534
3502
 
3535
3503
  return permissionsWrapper;
@@ -3585,7 +3553,7 @@ var MenuLabel = function MenuLabel(props) {
3585
3553
  children: props.defaultLabel
3586
3554
  });
3587
3555
  return jsxRuntime.jsx(jsxRuntime.Fragment, {
3588
- children: constants.NO_VALUE_FALLBACK
3556
+ children: constants$1.NO_VALUE_FALLBACK
3589
3557
  });
3590
3558
  };
3591
3559
 
@@ -3723,7 +3691,7 @@ ApplicationMenu.displayName = 'ApplicationMenu';
3723
3691
  var NavBarLayout = /*#__PURE__*/react.forwardRef(function (props, ref) {
3724
3692
  return jsxRuntime.jsxs(jsxRuntime.Fragment, {
3725
3693
  children: [jsxRuntime.jsx(react$2.Global, {
3726
- styles: /*#__PURE__*/react$2.css(compiledStyles.global, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:NavBarLayout;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5hdmJhci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBOGpCbUIiLCJmaWxlIjoibmF2YmFyLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUm91dGVDb21wb25lbnRQcm9wcyB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHR5cGUge1xuICBUQXBwbGljYXRpb25Db250ZXh0LFxuICBUTm9ybWFsaXplZE1lbnVWaXNpYmlsaXRpZXMsXG4gIFROb3JtYWxpemVkUGVybWlzc2lvbnMsXG4gIFROb3JtYWxpemVkQWN0aW9uUmlnaHRzLFxuICBUTm9ybWFsaXplZERhdGFGZW5jZXMsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHR5cGUgeyBURmV0Y2hQcm9qZWN0UXVlcnkgfSBmcm9tICcuLi8uLi90eXBlcy9nZW5lcmF0ZWQvbWMnO1xuaW1wb3J0IHR5cGUge1xuICBURGF0YUZlbmNlLFxuICBUQWN0aW9uUmlnaHQsXG4gIFRBcHBsaWNhdGlvbnNNZW51LFxuICBUTG9jYWxpemVkRmllbGQsXG4gIFROYXZiYXJNZW51LFxuICBUQmFzZU1lbnUsXG59IGZyb20gJy4uLy4uL3R5cGVzL2dlbmVyYXRlZC9wcm94eSc7XG5cbmltcG9ydCB7XG4gIGZvcndhcmRSZWYsXG4gIE1vdXNlRXZlbnRIYW5kbGVyLFxuICBSZWFjdE5vZGUsXG4gIFN5bnRoZXRpY0V2ZW50LFxuICB1c2VDb250ZXh0LFxuICB1c2VFZmZlY3QsXG4gIHVzZU1lbW8sXG4gIHVzZVJlZixcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgRm9ybWF0dGVkTWVzc2FnZSB9IGZyb20gJ3JlYWN0LWludGwnO1xuaW1wb3J0IHsgTmF2TGluaywgbWF0Y2hQYXRoLCB1c2VMb2NhdGlvbiB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHsgVG9nZ2xlRmVhdHVyZSB9IGZyb20gJ0BmbG9wZmxpcC9yZWFjdC1icm9hZGNhc3QnO1xuaW1wb3J0IHsgR2xvYmFsLCBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCB7XG4gIEJhY2tJY29uLFxuICBUcmVlU3RydWN0dXJlSWNvbixcbiAgVXNlckZpbGxlZEljb24sXG4gIFNwZWVkb21ldGVySWNvbixcbiAgVGFnTXVsdGlJY29uLFxuICBDYXJ0SWNvbixcbiAgQm94SWNvbixcbiAgR2Vhckljb24sXG4gIFN1cHBvcnRJY29uLFxuICBXb3JsZEljb24sXG4gIEhlYXJ0SWNvbixcbiAgUGFwZXJjbGlwSWNvbixcbiAgUGx1Z2luSWNvbixcbiAgUm9ja2V0SWNvbixcbiAgU3Rhckljb24sXG4gIENvbm5lY3RlZFNxdWFyZUljb24sXG4gIExpc3RXaXRoU2VhcmNoSWNvbixcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaWNvbnMnO1xuaW1wb3J0IElubGluZVN2ZyBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucy9pbmxpbmUtc3ZnJztcbmltcG9ydCBNaXNzaW5nSW1hZ2VTdmcgZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXNzZXRzL2ltYWdlcy9kaWFnb25hbC1saW5lLnN2Zyc7XG5pbXBvcnQge1xuICBOT19WQUxVRV9GQUxMQkFDSyxcbiAgU1VQUE9SVF9QT1JUQUxfVVJMLFxufSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9jb25zdGFudHMnO1xuaW1wb3J0IHtcbiAgbm9ybWFsaXplQWxsQXBwbGllZEFjdGlvblJpZ2h0cyxcbiAgbm9ybWFsaXplQWxsQXBwbGllZERhdGFGZW5jZXMsXG4gIG5vcm1hbGl6ZUFsbEFwcGxpZWRNZW51VmlzaWJpbGl0aWVzLFxuICBub3JtYWxpemVBbGxBcHBsaWVkUGVybWlzc2lvbnMsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHsgUmVzdHJpY3RlZEJ5UGVybWlzc2lvbnMgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9wZXJtaXNzaW9ucyc7XG5pbXBvcnQgeyBsb2NhdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxzL2xvY2F0aW9uJztcbmltcG9ydCB7IEd0bUNvbnRleHQgfSBmcm9tICcuLi9ndG0tYm9vdGVyJztcbmltcG9ydCBMb2FkaW5nUGxhY2Vob2xkZXIgZnJvbSAnLi4vbG9hZGluZy1wbGFjZWhvbGRlcic7XG5pbXBvcnQgbWVzc2FnZXMgZnJvbSAnLi9tZXNzYWdlcyc7XG5pbXBvcnQgdXNlTG9hZGluZ01lbnVMYXlvdXRFZmZlY3QgZnJvbSAnLi91c2UtbG9hZGluZy1tZW51LWxheW91dC1lZmZlY3QnO1xuaW1wb3J0IHVzZU5hdmJhclN0YXRlTWFuYWdlciBmcm9tICcuL3VzZS1uYXZiYXItc3RhdGUtbWFuYWdlcic7XG5pbXBvcnQgbm9uTnVsbGFibGUgZnJvbSAnLi9ub24tbnVsbGFibGUnO1xuLy8gaHR0cHM6Ly9iYWJlbGpzLmlvL2Jsb2cvMjAxNy8wOS8xMS96ZXJvLWNvbmZpZy13aXRoLWJhYmVsLW1hY3Jvc1xuaW1wb3J0IGNvbXBpbGVkU3R5bGVzIGZyb20gLyogcHJldmFsICovICcuL25hdmJhci5zdHlsZXMnO1xuXG5jb25zdCBzdHlsZXMgPSBjb21waWxlZFN0eWxlcy5qc29uTWFwO1xuXG50eXBlIFRQcm9qZWN0UGVybWlzc2lvbnMgPSB7XG4gIHBlcm1pc3Npb25zOiBUTm9ybWFsaXplZFBlcm1pc3Npb25zIHwgbnVsbDtcbiAgYWN0aW9uUmlnaHRzOiBUTm9ybWFsaXplZEFjdGlvblJpZ2h0cyB8IG51bGw7XG4gIGRhdGFGZW5jZXM6IFROb3JtYWxpemVkRGF0YUZlbmNlcyB8IG51bGw7XG59O1xuXG4vKlxuPERhdGFNZW51IGRhdGE9e1tdfT5cbiAgPE1lbnVHcm91cD5cbiAgICA8TWVudUl0ZW0+XG4gICAgICA8TWVudUl0ZW1MaW5rIGxpbmtUbz1cIi9mb29cIj4oaWNvbikgUHJvZHVjdHM8L01lbnVJdGVtTGluaz5cbiAgICAgIDxNZW51R3JvdXA+XG4gICAgICAgIDxNZW51SXRlbUxpbmsgbGlua1RvPVwiL2Zvby9uZXdcIj5BZGQgcHJvZHVjdDwvTWVudUl0ZW1MaW5rPlxuICAgICAgPC9NZW51R3JvdXA+XG4gICAgPC9NZW51SXRlbT5cbiAgPC9NZW51R3JvdXA+XG4gIDxNZW51RXhwYW5kZXIvPlxuPC9EYXRhTWVudT5cbiovXG5cbnR5cGUgSWNvblByb3BzID0gUGFyYW1ldGVyczx0eXBlb2YgQmFja0ljb24+WzBdO1xudHlwZSBJY29uU3dpdGNoZXJQcm9wcyA9IHsgaWNvbjogc3RyaW5nIH0gJiBJY29uUHJvcHM7XG4vLyBUaGUgaWNvbiBpcyBleHBlY3RlZCB0byBiZSB0aGUgYHN2Z2AgZG9jdW1lbnQgYXMgYSBzdHJpbmcuXG4vLyBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgcHVycG9zZXMsIHdlIHN0aWxsIHN1cHBvcnQgdGhlIGxlZ2FjeSBcImljb24gbmFtZVwiLFxuLy8gd2hpY2ggd2UgdGhlbiBtYXAgdG8gb25lIG9mIHRoZSBwcmUtZGVmaW5lZCBpY29ucy5cbi8vIEV2ZW50dWFsbHksIHdlIHdhbnQgdG8gZ2V0IHJpZCBvZiB0aGlzIFwic3dpdGNoXCIgbG9naWMuXG5jb25zdCBJY29uU3dpdGNoZXIgPSAoeyBpY29uLCAuLi5pY29uUHJvcHMgfTogSWNvblN3aXRjaGVyUHJvcHMpID0+IHtcbiAgaWYgKGljb24uaW5jbHVkZXMoJzxzdmcnKSkge1xuICAgIHJldHVybiA8SW5saW5lU3ZnIGRhdGE9e2ljb259IHsuLi5pY29uUHJvcHN9IC8+O1xuICB9XG4gIC8vIEJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IGZvciBhcHBzIHVzaW5nIHRoZSBcImljb24gbmFtZVwiLlxuICBzd2l0Y2ggKGljb24pIHtcbiAgICAvLyBBcHBsaWNhdGlvbiBpY29uc1xuICAgIGNhc2UgJ1RyZWVTdHJ1Y3R1cmVJY29uJzpcbiAgICAgIHJldHVybiA8VHJlZVN0cnVjdHVyZUljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnVXNlckZpbGxlZEljb24nOlxuICAgICAgcmV0dXJuIDxVc2VyRmlsbGVkSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdTcGVlZG9tZXRlckljb24nOlxuICAgICAgcmV0dXJuIDxTcGVlZG9tZXRlckljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnVGFnTXVsdGlJY29uJzpcbiAgICAgIHJldHVybiA8VGFnTXVsdGlJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ0NhcnRJY29uJzpcbiAgICAgIHJldHVybiA8Q2FydEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnQm94SWNvbic6XG4gICAgICByZXR1cm4gPEJveEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnR2Vhckljb24nOlxuICAgICAgcmV0dXJuIDxHZWFySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdMaXN0V2l0aFNlYXJjaEljb24nOlxuICAgICAgcmV0dXJuIDxMaXN0V2l0aFNlYXJjaEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgLy8gQ3VzdG9tIGFwcGxpY2F0aW9uIGljb25zIHNldFxuICAgIGNhc2UgJ0hlYXJ0SWNvbic6XG4gICAgICByZXR1cm4gPEhlYXJ0SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdQYXBlcmNsaXBJY29uJzpcbiAgICAgIHJldHVybiA8UGFwZXJjbGlwSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdQbHVnaW5JY29uJzpcbiAgICAgIHJldHVybiA8UGx1Z2luSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdSb2NrZXRJY29uJzpcbiAgICAgIHJldHVybiA8Um9ja2V0SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdTdGFySWNvbic6XG4gICAgICByZXR1cm4gPFN0YXJJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ0Nvbm5lY3RlZFNxdWFyZUljb24nOlxuICAgICAgcmV0dXJuIDxDb25uZWN0ZWRTcXVhcmVJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIC8vIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eVxuICAgIGNhc2UgJ1dvcmxkSWNvbic6XG4gICAgICByZXR1cm4gPFdvcmxkSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIDxpbWcgc3JjPXtNaXNzaW5nSW1hZ2VTdmd9IGFsdD1cIm1pc3NpbmcgaWNvblwiIC8+O1xuICB9XG59O1xuSWNvblN3aXRjaGVyLmRpc3BsYXlOYW1lID0gJ0ljb25Td2l0Y2hlcic7XG5cbnR5cGUgTWVudUV4cGFuZGVyUHJvcHMgPSB7XG4gIGlzVmlzaWJsZTogYm9vbGVhbjtcbiAgb25DbGljazogTW91c2VFdmVudEhhbmRsZXI8SFRNTERpdkVsZW1lbnQ+O1xufTtcbmNvbnN0IE1lbnVFeHBhbmRlciA9IChwcm9wczogTWVudUV4cGFuZGVyUHJvcHMpID0+IChcbiAgPGxpXG4gICAga2V5PVwiZXhwYW5kZXJcIlxuICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcyhzdHlsZXNbJ2xpc3QtaXRlbSddLCBzdHlsZXMuZXhwYW5kZXIsIHtcbiAgICAgIFtzdHlsZXMuaGlkZGVuXTogIXByb3BzLmlzVmlzaWJsZSxcbiAgICB9KX1cbiAgPlxuICAgIDxkaXZcbiAgICAgIG9uQ2xpY2s9e3Byb3BzLm9uQ2xpY2t9XG4gICAgICBjbGFzc05hbWU9e3N0eWxlc1snZXhwYW5kLWljb24nXX1cbiAgICAgIGRhdGEtdGVzdGlkPVwibWVudS1leHBhbmRlclwiXG4gICAgPlxuICAgICAgey8qXG4gICAgICAgIEZJWE1FOiBkZWZpbmUgaG92ZXIgZWZmZWN0LlxuICAgICAgICBodHRwczovL2dpdGh1Yi5jb20vY29tbWVyY2V0b29scy9tZXJjaGFudC1jZW50ZXItZnJvbnRlbmQvaXNzdWVzLzIyMTZcbiAgICAgICovfVxuICAgICAgPEJhY2tJY29uIGNvbG9yPVwic3VyZmFjZVwiIHNpemU9XCJiaWdcIiAvPlxuICAgIDwvZGl2PlxuICA8L2xpPlxuKTtcbk1lbnVFeHBhbmRlci5kaXNwbGF5TmFtZSA9ICdNZW51RXhwYW5kZXInO1xuXG50eXBlIE1lbnVHcm91cFByb3BzID0ge1xuICBpZDogc3RyaW5nO1xuICBsZXZlbDogMSB8IDI7XG4gIGlzQWN0aXZlPzogYm9vbGVhbjtcbiAgaXNFeHBhbmRlZD86IGJvb2xlYW47XG4gIGNoaWxkcmVuPzogUmVhY3ROb2RlO1xufTtcbmNvbnN0IE1lbnVHcm91cCA9IChwcm9wczogTWVudUdyb3VwUHJvcHMpID0+IHtcbiAgY29uc3QgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCA9XG4gICAgcHJvcHMubGV2ZWwgPT09IDIgJiYgcHJvcHMuaXNBY3RpdmUgJiYgcHJvcHMuaXNFeHBhbmRlZDtcbiAgY29uc3QgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQgPVxuICAgIHByb3BzLmxldmVsID09PSAyICYmIHByb3BzLmlzQWN0aXZlICYmICFwcm9wcy5pc0V4cGFuZGVkO1xuICByZXR1cm4gKFxuICAgIDx1bFxuICAgICAgaWQ9e2Ake3Byb3BzLmlkfS1ncm91cGB9XG4gICAgICBkYXRhLXRlc3RpZD17YCR7cHJvcHMuaWR9LWdyb3VwYH1cbiAgICAgIHJvbGU9XCJtZW51XCJcbiAgICAgIGFyaWEtZXhwYW5kZWQ9e1xuICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkIHx8XG4gICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkXG4gICAgICB9XG4gICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoXG4gICAgICAgIHsgW3N0eWxlcy5saXN0XTogcHJvcHMubGV2ZWwgPT09IDEgfSxcbiAgICAgICAgeyBbc3R5bGVzLnN1Ymxpc3RdOiBwcm9wcy5sZXZlbCA9PT0gMiB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlc1snc3VibGlzdC1uby1jaGlsZHJlbiddXTogcHJvcHMubGV2ZWwgPT09IDIgJiYgIXByb3BzLmNoaWxkcmVuLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlc1snc3VibGlzdC1leHBhbmRlZF9fYWN0aXZlJ11dOlxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtY29sbGFwc2VkX19hY3RpdmUnXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXMuc3VibGlzdF9faW5hY3RpdmVdOiAhaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQsXG4gICAgICAgIH1cbiAgICAgICl9XG4gICAgPlxuICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgIDwvdWw+XG4gICk7XG59O1xuTWVudUdyb3VwLmRpc3BsYXlOYW1lID0gJ01lbnVHcm91cCc7XG5cbnR5cGUgTWVudUl0ZW1Qcm9wcyA9IHtcbiAgaGFzU3VibWVudTogYm9vbGVhbjtcbiAgaXNBY3RpdmU6IGJvb2xlYW47XG4gIGlzTWVudU9wZW46IGJvb2xlYW47XG4gIG9uQ2xpY2s6IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50PjtcbiAgb25Nb3VzZUVudGVyPzogTW91c2VFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+O1xuICBvbk1vdXNlTGVhdmU/OiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD47XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59O1xuY29uc3QgTWVudUl0ZW0gPSAocHJvcHM6IE1lbnVJdGVtUHJvcHMpID0+IChcbiAgPGxpXG4gICAgcm9sZT1cIm1lbnUtaXRlbVwiXG4gICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKHN0eWxlc1snbGlzdC1pdGVtJ10sIHtcbiAgICAgIFtzdHlsZXMuaXRlbV9fYWN0aXZlXTogcHJvcHMuaXNBY3RpdmUsXG4gICAgICBbc3R5bGVzWydpdGVtX21lbnUtY29sbGFwc2VkJ11dOiAhcHJvcHMuaXNNZW51T3BlbixcbiAgICAgIFtzdHlsZXNbJ2l0ZW1fX25vLXN1Ym1lbnUnXV06ICFwcm9wcy5oYXNTdWJtZW51LFxuICAgIH0pfVxuICAgIG9uQ2xpY2s9e3Byb3BzLm9uQ2xpY2t9XG4gICAgb25Nb3VzZUVudGVyPXtwcm9wcy5vbk1vdXNlRW50ZXJ9XG4gICAgb25Nb3VzZUxlYXZlPXtwcm9wcy5vbk1vdXNlTGVhdmV9XG4gID5cbiAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydpdGVtLWxpbmsnXX0+e3Byb3BzLmNoaWxkcmVufTwvZGl2PlxuICA8L2xpPlxuKTtcbk1lbnVJdGVtLmRpc3BsYXlOYW1lID0gJ01lbnVJdGVtJztcblxudHlwZSBNZW51SXRlbUxpbmtQcm9wcyA9IHtcbiAgbGlua1RvPzogc3RyaW5nO1xuICBleGFjdE1hdGNoOiBib29sZWFuO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBvbkNsaWNrPzogPFRyYWNrRm4+KFxuICAgIGV2ZW50OiBTeW50aGV0aWNFdmVudDxIVE1MQW5jaG9yRWxlbWVudD4sXG4gICAgdHJhY2s6IFRyYWNrRm5cbiAgKSA9PiB2b2lkO1xuICB1c2VGdWxsUmVkaXJlY3RzRm9yTGlua3M/OiBib29sZWFuO1xufTtcbmNvbnN0IG1lbnVJdGVtTGlua0RlZmF1bHRQcm9wczogUGljazxNZW51SXRlbUxpbmtQcm9wcywgJ2V4YWN0TWF0Y2gnPiA9IHtcbiAgZXhhY3RNYXRjaDogZmFsc2UsXG59O1xuY29uc3QgTWVudUl0ZW1MaW5rID0gKHByb3BzOiBNZW51SXRlbUxpbmtQcm9wcykgPT4ge1xuICBjb25zdCBndG1UcmFja2luZyA9IHVzZUNvbnRleHQoR3RtQ29udGV4dCk7XG4gIGNvbnN0IHJlZGlyZWN0VG8gPSAodGFyZ2V0VXJsOiBzdHJpbmcpID0+IGxvY2F0aW9uLnJlcGxhY2UodGFyZ2V0VXJsKTtcbiAgaWYgKHByb3BzLmxpbmtUbykge1xuICAgIHJldHVybiAoXG4gICAgICA8TmF2TGlua1xuICAgICAgICB0bz17cHJvcHMubGlua1RvfVxuICAgICAgICBleGFjdD17cHJvcHMuZXhhY3RNYXRjaH1cbiAgICAgICAgYWN0aXZlQ2xhc3NOYW1lPXtzdHlsZXMuaGlnaGxpZ2h0ZWR9XG4gICAgICAgIGNsYXNzTmFtZT17c3R5bGVzWyd0ZXh0LWxpbmsnXX1cbiAgICAgICAgb25DbGljaz17KGV2ZW50KSA9PiB7XG4gICAgICAgICAgaWYgKHByb3BzLmxpbmtUbyAmJiBwcm9wcy51c2VGdWxsUmVkaXJlY3RzRm9yTGlua3MpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICByZWRpcmVjdFRvKHByb3BzLmxpbmtUbyk7XG4gICAgICAgICAgfSBlbHNlIGlmIChwcm9wcy5vbkNsaWNrKSB7XG4gICAgICAgICAgICBldmVudC5wZXJzaXN0KCk7XG4gICAgICAgICAgICBwcm9wcy5vbkNsaWNrPHR5cGVvZiBndG1UcmFja2luZy50cmFjaz4oZXZlbnQsIGd0bVRyYWNraW5nLnRyYWNrKTtcbiAgICAgICAgICB9XG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvTmF2TGluaz5cbiAgICApO1xuICB9XG4gIHJldHVybiA8Pntwcm9wcy5jaGlsZHJlbn08Lz47XG59O1xuTWVudUl0ZW1MaW5rLmRpc3BsYXlOYW1lID0gJ01lbnVJdGVtTGluayc7XG5NZW51SXRlbUxpbmsuZGVmYXVsdFByb3BzID0gbWVudUl0ZW1MaW5rRGVmYXVsdFByb3BzO1xuXG4vLyBUaGlzIGNvbXBvbmVudCBqdXN0IHJlbmRlciB0d28gZGl2cyB3aXRoIGJvcmRlcnMgaW4gb3JkZXIgdG8gZGlmZmVyZW50aWF0ZVxuLy8gdGhlIHNldHRpbmdzIHBsdWdpbiBmcm9tIHRoZSBvdGhlciBvbmVzXG5jb25zdCBNZW51SXRlbURpdmlkZXIgPSAoKSA9PiAoXG4gIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2RpdmlkZXItZmlyc3QtaXRlbSddfT5cbiAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydkaXZpZGVyLXNlY29uZC1pdGVtJ119IC8+XG4gIDwvZGl2PlxuKTtcbk1lbnVJdGVtRGl2aWRlci5kaXNwbGF5TmFtZSA9ICdNZW51SXRlbURpdmlkZXInO1xuXG4vLyBUaGlzIGNvbXBvbmVudCB3cmFwcyBgPFJlc3RyaWN0ZWRCeVBlcm1pc3Npb25zPmBcbi8vIGFuZCB0aGUgYDxUb2dnbGVGZWF0dXJlPmAgY29tcG9uZW50cy4gSG93ZXZlciwgaXQncyBuZWNlc3NhcnkgdG8gaGF2ZSBpdCBhc1xuLy8gdGhlIGA8VG9nZ2xlRmVhdHVyZT5gIHdyYXBwZXIgc2hvdWxkIGJlIHJlbmRlcmVkIG9ubHkgaWYgdGhlIGBmZWF0dXJlVG9nZ2xlYFxuLy8gcHJvcCBpcyBkZWZpbmVkLiBUaGlzIGlzIGJlY2F1c2UgYDxUb2dnbGVGZWF0dXJlPmAgd2lsbCBub3QgcmVuZGVyIGFueVxuLy8gY2hpbGRyZW4gaWYgdGhlIGZsYWcgaXMgbWlzc2luZy9ub3QgZm91bmQuXG5jb25zdCBpc0V2ZXJ5TWVudVZpc2liaWxpdHlTZXRUb0hpZGRlbiA9IChcbiAgbWVudVZpc2liaWxpdGllcz86IFROb3JtYWxpemVkTWVudVZpc2liaWxpdGllcyB8IG51bGwsXG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPzogc3RyaW5nW11cbikgPT5cbiAgQXJyYXkuaXNBcnJheShuYW1lc09mTWVudVZpc2liaWxpdGllcykgJiZcbiAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXMubGVuZ3RoID4gMCAmJlxuICBuYW1lc09mTWVudVZpc2liaWxpdGllcy5ldmVyeShcbiAgICAobmFtZU9mTWVudVZpc2liaWxpdHkpID0+XG4gICAgICBtZW51VmlzaWJpbGl0aWVzICYmIG1lbnVWaXNpYmlsaXRpZXNbbmFtZU9mTWVudVZpc2liaWxpdHldID09PSB0cnVlXG4gICk7XG5cbnR5cGUgUmVzdHJpY3RlZE1lbnVJdGVtUHJvcHMgPSB7XG4gIGZlYXR1cmVUb2dnbGU/OiBzdHJpbmc7XG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPzogc3RyaW5nW107XG4gIHByb2plY3RQZXJtaXNzaW9uczogVFByb2plY3RQZXJtaXNzaW9ucztcbiAgbWVudVZpc2liaWxpdGllczogVE5vcm1hbGl6ZWRNZW51VmlzaWJpbGl0aWVzIHwgbnVsbDtcbiAga2V5T2ZNZW51SXRlbTogc3RyaW5nO1xuICBwZXJtaXNzaW9uczogc3RyaW5nW107XG4gIGFjdGlvblJpZ2h0cz86IFRBY3Rpb25SaWdodFtdO1xuICBkYXRhRmVuY2VzPzogVERhdGFGZW5jZVtdO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xufTtcbmNvbnN0IHJlc3RyaWN0ZWRNZW51SXRlbURlZmF1bHRQcm9wczogUGljazxcbiAgUmVzdHJpY3RlZE1lbnVJdGVtUHJvcHMsXG4gICdwZXJtaXNzaW9ucydcbj4gPSB7XG4gIHBlcm1pc3Npb25zOiBbXSxcbn07XG5jb25zdCBSZXN0cmljdGVkTWVudUl0ZW0gPSAocHJvcHM6IFJlc3RyaWN0ZWRNZW51SXRlbVByb3BzKSA9PiB7XG4gIC8vIE5PVEU6IEN1c3RvbSBhcHBsaWNhdGlvbiBhcmUgYWN0aXZhdGVkL2RlYWN0aXZhdGVkIHdoaWxlIHRoZWlyXG4gIC8vIHZpc2liaWxpdHkgaXMgbm90IGNvbnRyb2xsZWQgdmlhIGEgdmlzaWJpaWxpdHkgb3ZlcndyaXRlLlxuICBpZiAoXG4gICAgaXNFdmVyeU1lbnVWaXNpYmlsaXR5U2V0VG9IaWRkZW4oXG4gICAgICBwcm9wcy5tZW51VmlzaWJpbGl0aWVzLFxuICAgICAgcHJvcHMubmFtZXNPZk1lbnVWaXNpYmlsaXRpZXNcbiAgICApXG4gIClcbiAgICByZXR1cm4gbnVsbDtcblxuICBjb25zdCBwZXJtaXNzaW9uc1dyYXBwZXIgPVxuICAgIChBcnJheS5pc0FycmF5KHByb3BzLnBlcm1pc3Npb25zKSAmJiBwcm9wcy5wZXJtaXNzaW9ucy5sZW5ndGggPiAwKSB8fFxuICAgIChBcnJheS5pc0FycmF5KHByb3BzLmRhdGFGZW5jZXMpICYmIHByb3BzLmRhdGFGZW5jZXMubGVuZ3RoID4gMCkgPyAoXG4gICAgICA8UmVzdHJpY3RlZEJ5UGVybWlzc2lvbnNcbiAgICAgICAgcGVybWlzc2lvbnM9e3Byb3BzLnBlcm1pc3Npb25zfVxuICAgICAgICBhY3Rpb25SaWdodHM9e3Byb3BzLmFjdGlvblJpZ2h0c31cbiAgICAgICAgZGF0YUZlbmNlcz17cHJvcHMuZGF0YUZlbmNlc31cbiAgICAgICAgc2VsZWN0RGF0YUZlbmNlRGF0YT17KGRlbWFuZGVkRGF0YUZlbmNlKSA9PiB7XG4gICAgICAgICAgc3dpdGNoIChkZW1hbmRlZERhdGFGZW5jZS50eXBlKSB7XG4gICAgICAgICAgICBjYXNlICdzdG9yZSc6XG4gICAgICAgICAgICAgIHJldHVybiBkZW1hbmRlZERhdGFGZW5jZS5hY3R1YWxEYXRhRmVuY2VWYWx1ZXM7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICB9XG4gICAgICAgIH19XG4gICAgICAgIC8vIEFsd2F5cyBjaGVjayB0aGF0IHNvbWUgb2YgdGhlIGdpdmVuIHBlcm1pc3Npb25zIG1hdGNoLlxuICAgICAgICBzaG91bGRNYXRjaFNvbWVQZXJtaXNzaW9ucz17dHJ1ZX1cbiAgICAgICAgcHJvamVjdFBlcm1pc3Npb25zPXtwcm9wcy5wcm9qZWN0UGVybWlzc2lvbnN9XG4gICAgICA+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvUmVzdHJpY3RlZEJ5UGVybWlzc2lvbnM+XG4gICAgKSA6IChcbiAgICAgIDw+e3Byb3BzLmNoaWxkcmVufTwvPlxuICAgICk7XG5cbiAgaWYgKHByb3BzLmZlYXR1cmVUb2dnbGUpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvZ2dsZUZlYXR1cmUgZmxhZz17cHJvcHMuZmVhdHVyZVRvZ2dsZX0+XG4gICAgICAgIHtwZXJtaXNzaW9uc1dyYXBwZXJ9XG4gICAgICA8L1RvZ2dsZUZlYXR1cmU+XG4gICAgKTtcbiAgfVxuICByZXR1cm4gcGVybWlzc2lvbnNXcmFwcGVyO1xufTtcblJlc3RyaWN0ZWRNZW51SXRlbS5kaXNwbGF5TmFtZSA9ICdSZXN0cmljdGVkTWVudUl0ZW0nO1xuUmVzdHJpY3RlZE1lbnVJdGVtLmRlZmF1bHRQcm9wcyA9IHJlc3RyaWN0ZWRNZW51SXRlbURlZmF1bHRQcm9wcztcblxuZXhwb3J0IGNvbnN0IGdldEljb25Db2xvciA9IChcbiAgaXNBY3RpdmU6IGJvb2xlYW4sXG4gIGlzQWx0ZXJuYXRpdmVUaGVtZTogYm9vbGVhblxuKSA9PiB7XG4gIGlmIChpc0FjdGl2ZSkgcmV0dXJuICdwcmltYXJ5NDAnO1xuICByZXR1cm4gaXNBbHRlcm5hdGl2ZVRoZW1lID8gJ25ldXRyYWw2MCcgOiAnc3VyZmFjZSc7XG59O1xuXG5jb25zdCBnZXRNZW51VmlzaWJpbGl0aWVzT2ZTdWJtZW51cyA9IChtZW51OiBUTmF2YmFyTWVudSkgPT5cbiAgbWVudS5zdWJtZW51Lm1hcCgoc3VibWVudSkgPT4gc3VibWVudS5tZW51VmlzaWJpbGl0eSkuZmlsdGVyKG5vbk51bGxhYmxlKTtcbmNvbnN0IGdldE1lbnVWaXNpYmlsaXR5T2ZNYWlubWVudSA9IChtZW51OiBUTmF2YmFyTWVudSkgPT5cbiAgbWVudS5tZW51VmlzaWJpbGl0eSA/IFttZW51Lm1lbnVWaXNpYmlsaXR5XSA6IFtdO1xuXG50eXBlIE1lbnVMYWJlbFByb3BzID0ge1xuICBsYWJlbEFsbExvY2FsZXM6IFRMb2NhbGl6ZWRGaWVsZFtdO1xuICBkZWZhdWx0TGFiZWw/OiBzdHJpbmc7XG4gIGFwcGxpY2F0aW9uTG9jYWxlOiBzdHJpbmc7XG59O1xuY29uc3QgTWVudUxhYmVsID0gKHByb3BzOiBNZW51TGFiZWxQcm9wcykgPT4ge1xuICBjb25zdCBsb2NhbGl6ZWRMYWJlbCA9IHByb3BzLmxhYmVsQWxsTG9jYWxlcy5maW5kKChsb2MpID0+XG4gICAgcHJvcHMuYXBwbGljYXRpb25Mb2NhbGUuc3RhcnRzV2l0aChsb2MubG9jYWxlKVxuICApO1xuICBpZiAobG9jYWxpemVkTGFiZWwpIHJldHVybiA8Pntsb2NhbGl6ZWRMYWJlbC52YWx1ZX08Lz47XG4gIGlmIChwcm9wcy5kZWZhdWx0TGFiZWwpIHJldHVybiA8Pntwcm9wcy5kZWZhdWx0TGFiZWx9PC8+O1xuICByZXR1cm4gPD57Tk9fVkFMVUVfRkFMTEJBQ0t9PC8+O1xufTtcblxudHlwZSBUTWVudVdpdGhEZWZhdWx0TGFiZWwgPSBUTmF2YmFyTWVudSAmIHtcbiAgLy8gZGVyaXZlcyBmcm9tIGBwcm9qZWN0RXh0ZW5zaW9uc1F1ZXJ5Lmluc3RhbGxlZEFwcGxpY2F0aW9ucy5hcHBsaWNhdGlvbi5tZW51YFxuICBkZWZhdWx0TGFiZWw/OiBzdHJpbmc7XG59O1xudHlwZSBUU3VibWVudVdpdGhEZWZhdWx0TGFiZWwgPSBUQmFzZU1lbnUgJiB7XG4gIC8vIGRlcml2ZXMgZnJvbSBgcHJvamVjdEV4dGVuc2lvbnNRdWVyeS5pbnN0YWxsZWRBcHBsaWNhdGlvbnMuYXBwbGljYXRpb24ubWVudWBcbiAgZGVmYXVsdExhYmVsPzogc3RyaW5nO1xufTtcblxudHlwZSBBcHBsaWNhdGlvbk1lbnVQcm9wcyA9IHtcbiAgbG9jYXRpb246IFJvdXRlQ29tcG9uZW50UHJvcHNbJ2xvY2F0aW9uJ107XG4gIG1lbnU6IFRNZW51V2l0aERlZmF1bHRMYWJlbDtcbiAgaXNBY3RpdmU6IGJvb2xlYW47XG4gIGlzTWVudU9wZW46IGJvb2xlYW47XG4gIHNob3VsZENsb3NlTWVudUZseTogTW91c2VFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+O1xuICBwcm9qZWN0UGVybWlzc2lvbnM6IFRQcm9qZWN0UGVybWlzc2lvbnM7XG4gIG1lbnVWaXNpYmlsaXRpZXM6IFROb3JtYWxpemVkTWVudVZpc2liaWxpdGllcyB8IG51bGw7XG4gIGhhbmRsZVRvZ2dsZUl0ZW06ICgpID0+IHZvaWQ7XG4gIGFwcGxpY2F0aW9uTG9jYWxlOiBzdHJpbmc7XG4gIHByb2plY3RLZXk6IHN0cmluZztcbiAgdXNlRnVsbFJlZGlyZWN0c0ZvckxpbmtzOiBib29sZWFuO1xuICBvbk1lbnVJdGVtQ2xpY2s/OiBNZW51SXRlbUxpbmtQcm9wc1snb25DbGljayddO1xufTtcbmNvbnN0IEFwcGxpY2F0aW9uTWVudSA9IChwcm9wczogQXBwbGljYXRpb25NZW51UHJvcHMpID0+IHtcbiAgY29uc3QgaXNNYWluTWVudVJvdXRlQWN0aXZlID0gQm9vbGVhbihcbiAgICBtYXRjaFBhdGgocHJvcHMubG9jYXRpb24ucGF0aG5hbWUsIHtcbiAgICAgIHBhdGg6IGAvJHtwcm9wcy5wcm9qZWN0S2V5fS8ke3Byb3BzLm1lbnUudXJpUGF0aH1gLFxuICAgICAgZXhhY3Q6IGZhbHNlLFxuICAgICAgc3RyaWN0OiBmYWxzZSxcbiAgICB9KVxuICApO1xuICBjb25zdCBoYXNTdWJtZW51ID1cbiAgICBBcnJheS5pc0FycmF5KHByb3BzLm1lbnUuc3VibWVudSkgJiYgcHJvcHMubWVudS5zdWJtZW51Lmxlbmd0aCA+IDA7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAvLyBPbiBmaXJzdCByZW5kZXIsIGNoZWNrIHdoaWNoIG1lbnUgaXMgYWN0aXZlIGZvciB0aGUgY3VycmVudCBhcHBsaWNhdGlvbiBhbmQgZXhwYW5kXG4gICAgLy8gdGhlIHN1Ym1lbnUgYXV0b21hdGljYWxseSB1bmxlc3MgdGhlIGFsbCBuYXZiYXIgaXMgY29sbGFwc2VkIG9yIHRoZXJlIGFyZSBubyBzdWJtZW51IGxpbmtzLlxuICAgIGlmIChwcm9wcy5pc01lbnVPcGVuICYmIGlzTWFpbk1lbnVSb3V0ZUFjdGl2ZSAmJiBoYXNTdWJtZW51KSB7XG4gICAgICBwcm9wcy5oYW5kbGVUb2dnbGVJdGVtKCk7XG4gICAgfVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgfSwgW3Byb3BzLmlzTWVudU9wZW5dKTsgLy8gPC0tIChyZSlydW4gdGhpcyBvbmx5IHdoZW4gdGhlIGFsbCBtZW51IGV4cGFuZHNcblxuICBjb25zdCBuYW1lc09mTWVudVZpc2liaWxpdGllc09mQWxsU3VibWVudXMgPSBoYXNTdWJtZW51XG4gICAgPyBnZXRNZW51VmlzaWJpbGl0aWVzT2ZTdWJtZW51cyhwcm9wcy5tZW51KVxuICAgIDogZ2V0TWVudVZpc2liaWxpdHlPZk1haW5tZW51KHByb3BzLm1lbnUpO1xuXG4gIGNvbnN0IGlzTWFpbk1lbnVJdGVtQUxpbmsgPVxuICAgIC8vIDEuIFdoZW4gdGhlIG5hdmJhciBpcyBjb2xsYXBzZWRcbiAgICAhcHJvcHMuaXNNZW51T3BlbiB8fFxuICAgIC8vIDIuIFdoZW4gdGhlcmUgaXMgbm8gc3VibWVudVxuICAgICFoYXNTdWJtZW51IHx8XG4gICAgLy8gMy4gV2hlbiB0aGUgc3VibWVudSBncm91cCBpcyBhY3RpdmUvdmlzaWJsZVxuICAgIHByb3BzLmlzQWN0aXZlO1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIHtwcm9wcy5tZW51LnNob3VsZFJlbmRlckRpdmlkZXIgJiYgPE1lbnVJdGVtRGl2aWRlciAvPn1cblxuICAgICAgPFJlc3RyaWN0ZWRNZW51SXRlbVxuICAgICAgICBrZXk9e3Byb3BzLm1lbnUua2V5fVxuICAgICAgICBrZXlPZk1lbnVJdGVtPXtwcm9wcy5tZW51LmtleX1cbiAgICAgICAgZmVhdHVyZVRvZ2dsZT17cHJvcHMubWVudS5mZWF0dXJlVG9nZ2xlID8/IHVuZGVmaW5lZH1cbiAgICAgICAgcGVybWlzc2lvbnM9e3Byb3BzLm1lbnUucGVybWlzc2lvbnN9XG4gICAgICAgIGFjdGlvblJpZ2h0cz17cHJvcHMubWVudS5hY3Rpb25SaWdodHMgPz8gdW5kZWZpbmVkfVxuICAgICAgICBkYXRhRmVuY2VzPXtwcm9wcy5tZW51LmRhdGFGZW5jZXMgPz8gdW5kZWZpbmVkfVxuICAgICAgICBwcm9qZWN0UGVybWlzc2lvbnM9e3Byb3BzLnByb2plY3RQZXJtaXNzaW9uc31cbiAgICAgICAgbWVudVZpc2liaWxpdGllcz17cHJvcHMubWVudVZpc2liaWxpdGllc31cbiAgICAgICAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXM9e25hbWVzT2ZNZW51VmlzaWJpbGl0aWVzT2ZBbGxTdWJtZW51c31cbiAgICAgID5cbiAgICAgICAgPE1lbnVJdGVtXG4gICAgICAgICAgaGFzU3VibWVudT17aGFzU3VibWVudX1cbiAgICAgICAgICBpc0FjdGl2ZT17cHJvcHMuaXNBY3RpdmV9XG4gICAgICAgICAgaXNNZW51T3Blbj17cHJvcHMuaXNNZW51T3Blbn1cbiAgICAgICAgICBvbkNsaWNrPXtwcm9wcy5oYW5kbGVUb2dnbGVJdGVtfVxuICAgICAgICAgIG9uTW91c2VFbnRlcj17cHJvcHMuaXNNZW51T3BlbiA/IHVuZGVmaW5lZCA6IHByb3BzLmhhbmRsZVRvZ2dsZUl0ZW19XG4gICAgICAgICAgb25Nb3VzZUxlYXZlPXtwcm9wcy5pc01lbnVPcGVuID8gdW5kZWZpbmVkIDogcHJvcHMuc2hvdWxkQ2xvc2VNZW51Rmx5fVxuICAgICAgICA+XG4gICAgICAgICAgPE1lbnVJdGVtTGlua1xuICAgICAgICAgICAgbGlua1RvPXtcbiAgICAgICAgICAgICAgaXNNYWluTWVudUl0ZW1BTGlua1xuICAgICAgICAgICAgICAgID8gYC8ke3Byb3BzLnByb2plY3RLZXl9LyR7cHJvcHMubWVudS51cmlQYXRofWBcbiAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdXNlRnVsbFJlZGlyZWN0c0ZvckxpbmtzPXtwcm9wcy51c2VGdWxsUmVkaXJlY3RzRm9yTGlua3N9XG4gICAgICAgICAgICBvbkNsaWNrPXtwcm9wcy5vbk1lbnVJdGVtQ2xpY2t9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaXRlbS1pY29uLXRleHQnXX0+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMuaWNvbn0+XG4gICAgICAgICAgICAgICAgPEljb25Td2l0Y2hlclxuICAgICAgICAgICAgICAgICAgaWNvbj17cHJvcHMubWVudS5pY29ufVxuICAgICAgICAgICAgICAgICAgc2l6ZT1cInNjYWxlXCJcbiAgICAgICAgICAgICAgICAgIGNvbG9yPXtnZXRJY29uQ29sb3IoXG4gICAgICAgICAgICAgICAgICAgIHByb3BzLmlzQWN0aXZlIHx8IGlzTWFpbk1lbnVSb3V0ZUFjdGl2ZSxcbiAgICAgICAgICAgICAgICAgICAgQm9vbGVhbihwcm9wcy5tZW51LnNob3VsZFJlbmRlckRpdmlkZXIpXG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXMudGl0bGV9XG4gICAgICAgICAgICAgICAgYXJpYS1vd25zPXtgJHtwcm9wcy5tZW51LmtleX0tZ3JvdXBgfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPE1lbnVMYWJlbFxuICAgICAgICAgICAgICAgICAgbGFiZWxBbGxMb2NhbGVzPXtwcm9wcy5tZW51LmxhYmVsQWxsTG9jYWxlc31cbiAgICAgICAgICAgICAgICAgIGRlZmF1bHRMYWJlbD17cHJvcHMubWVudS5kZWZhdWx0TGFiZWx9XG4gICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbkxvY2FsZT17cHJvcHMuYXBwbGljYXRpb25Mb2NhbGV9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L01lbnVJdGVtTGluaz5cbiAgICAgICAgICA8TWVudUdyb3VwXG4gICAgICAgICAgICBpZD17cHJvcHMubWVudS5rZXl9XG4gICAgICAgICAgICBsZXZlbD17Mn1cbiAgICAgICAgICAgIGlzQWN0aXZlPXtwcm9wcy5pc0FjdGl2ZX1cbiAgICAgICAgICAgIGlzRXhwYW5kZWQ9e3Byb3BzLmlzTWVudU9wZW59XG4gICAgICAgICAgPlxuICAgICAgICAgICAge2hhc1N1Ym1lbnVcbiAgICAgICAgICAgICAgPyBwcm9wcy5tZW51LnN1Ym1lbnUubWFwKChzdWJtZW51OiBUU3VibWVudVdpdGhEZWZhdWx0TGFiZWwpID0+IChcbiAgICAgICAgICAgICAgICAgIDxSZXN0cmljdGVkTWVudUl0ZW1cbiAgICAgICAgICAgICAgICAgICAga2V5PXtgJHtwcm9wcy5tZW51LmtleX0tc3VibWVudS0ke3N1Ym1lbnUua2V5fWB9XG4gICAgICAgICAgICAgICAgICAgIGtleU9mTWVudUl0ZW09e3N1Ym1lbnUua2V5fVxuICAgICAgICAgICAgICAgICAgICBmZWF0dXJlVG9nZ2xlPXtzdWJtZW51LmZlYXR1cmVUb2dnbGUgPz8gdW5kZWZpbmVkfVxuICAgICAgICAgICAgICAgICAgICBwZXJtaXNzaW9ucz17c3VibWVudS5wZXJtaXNzaW9uc31cbiAgICAgICAgICAgICAgICAgICAgYWN0aW9uUmlnaHRzPXtzdWJtZW51LmFjdGlvblJpZ2h0cyA/PyB1bmRlZmluZWR9XG4gICAgICAgICAgICAgICAgICAgIGRhdGFGZW5jZXM9e3N1Ym1lbnUuZGF0YUZlbmNlcyA/PyB1bmRlZmluZWR9XG4gICAgICAgICAgICAgICAgICAgIHByb2plY3RQZXJtaXNzaW9ucz17cHJvcHMucHJvamVjdFBlcm1pc3Npb25zfVxuICAgICAgICAgICAgICAgICAgICBtZW51VmlzaWJpbGl0aWVzPXtwcm9wcy5tZW51VmlzaWJpbGl0aWVzfVxuICAgICAgICAgICAgICAgICAgICBuYW1lc09mTWVudVZpc2liaWxpdGllcz17XG4gICAgICAgICAgICAgICAgICAgICAgc3VibWVudS5tZW51VmlzaWJpbGl0eVxuICAgICAgICAgICAgICAgICAgICAgICAgPyBbc3VibWVudS5tZW51VmlzaWJpbGl0eV1cbiAgICAgICAgICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzTmFtZT17c3R5bGVzWydzdWJsaXN0LWl0ZW0nXX0+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlcy50ZXh0fT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxNZW51SXRlbUxpbmtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbGlua1RvPXtgLyR7cHJvcHMucHJvamVjdEtleX0vJHtzdWJtZW51LnVyaVBhdGh9YH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgZXhhY3RNYXRjaD17dHJ1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlRnVsbFJlZGlyZWN0c0ZvckxpbmtzPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wcy51c2VGdWxsUmVkaXJlY3RzRm9yTGlua3NcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXtwcm9wcy5vbk1lbnVJdGVtQ2xpY2t9XG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxNZW51TGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbEFsbExvY2FsZXM9e3N1Ym1lbnUubGFiZWxBbGxMb2NhbGVzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRMYWJlbD17c3VibWVudS5kZWZhdWx0TGFiZWx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb25Mb2NhbGU9e3Byb3BzLmFwcGxpY2F0aW9uTG9jYWxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9NZW51SXRlbUxpbms+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICA8L1Jlc3RyaWN0ZWRNZW51SXRlbT5cbiAgICAgICAgICAgICAgICApKVxuICAgICAgICAgICAgICA6IG51bGx9XG4gICAgICAgICAgPC9NZW51R3JvdXA+XG4gICAgICAgIDwvTWVudUl0ZW0+XG4gICAgICA8L1Jlc3RyaWN0ZWRNZW51SXRlbT5cbiAgICA8Lz5cbiAgKTtcbn07XG5BcHBsaWNhdGlvbk1lbnUuZGlzcGxheU5hbWUgPSAnQXBwbGljYXRpb25NZW51JztcblxudHlwZSBOYXZCYXJMYXlvdXRQcm9wcyA9IHtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbn07XG5jb25zdCBOYXZCYXJMYXlvdXQgPSBmb3J3YXJkUmVmPEhUTUxFbGVtZW50LCBOYXZCYXJMYXlvdXRQcm9wcz4oXG4gIChwcm9wcywgcmVmKSA9PiAoXG4gICAgPD5cbiAgICAgIDxHbG9iYWxcbiAgICAgICAgc3R5bGVzPXtjc3NgXG4gICAgICAgICAgJHtjb21waWxlZFN0eWxlcy5nbG9iYWx9XG4gICAgICAgIGB9XG4gICAgICAvPlxuICAgICAgPG5hdlxuICAgICAgICByZWY9e3JlZn1cbiAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXNbJ2xlZnQtbmF2aWdhdGlvbiddfVxuICAgICAgICBkYXRhLXRlc3Q9XCJsZWZ0LW5hdmlnYXRpb25cIlxuICAgICAgICBkYXRhLXRlc3RpZD1cImxlZnQtbmF2aWdhdGlvblwiXG4gICAgICAgIGRhdGEtdHJhY2stY29tcG9uZW50PVwiTmF2aWdhdGlvblwiXG4gICAgICA+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvbmF2PlxuICAgIDwvPlxuICApXG4pO1xuTmF2QmFyTGF5b3V0LmRpc3BsYXlOYW1lID0gJ05hdkJhckxheW91dCc7XG5cbnR5cGUgTmF2YmFyUHJvcHM8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcyBleHRlbmRzIHt9PiA9IHtcbiAgYXBwbGljYXRpb25Mb2NhbGU6IHN0cmluZztcbiAgcHJvamVjdEtleTogc3RyaW5nO1xuICBlbnZpcm9ubWVudDogVEFwcGxpY2F0aW9uQ29udGV4dDxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlsnZW52aXJvbm1lbnQnXTtcbiAgcHJvamVjdDogVEZldGNoUHJvamVjdFF1ZXJ5Wydwcm9qZWN0J107XG4gIG9uTWVudUl0ZW1DbGljaz86IE1lbnVJdGVtTGlua1Byb3BzWydvbkNsaWNrJ107XG4gIERFVl9PTkxZX19sb2FkTmF2YmFyTWVudUNvbmZpZz86ICgpID0+IFByb21pc2U8VEFwcGxpY2F0aW9uc01lbnVbJ25hdkJhciddPjtcbn07XG5jb25zdCBOYXZCYXIgPSA8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcyBleHRlbmRzIHt9PihcbiAgcHJvcHM6IE5hdmJhclByb3BzPEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXM+XG4pID0+IHtcbiAgY29uc3Qge1xuICAgIG5hdkJhck5vZGUsXG4gICAgaXNNZW51T3BlbixcbiAgICBpc0V4cGFuZGVyVmlzaWJsZSxcbiAgICBhY3RpdmVJdGVtSW5kZXgsXG4gICAgaGFuZGxlVG9nZ2xlSXRlbSxcbiAgICBoYW5kbGVUb2dnbGVNZW51LFxuICAgIHNob3VsZENsb3NlTWVudUZseSxcbiAgICBhbGxBcHBsaWNhdGlvbk5hdmJhck1lbnUsXG4gIH0gPSB1c2VOYXZiYXJTdGF0ZU1hbmFnZXIoe1xuICAgIGVudmlyb25tZW50OiBwcm9wcy5lbnZpcm9ubWVudCxcbiAgICBERVZfT05MWV9fbG9hZE5hdmJhck1lbnVDb25maWc6IHByb3BzLkRFVl9PTkxZX19sb2FkTmF2YmFyTWVudUNvbmZpZyxcbiAgfSk7XG4gIGNvbnN0IHVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rcyA9IEJvb2xlYW4oXG4gICAgcHJvcHMuZW52aXJvbm1lbnQudXNlRnVsbFJlZGlyZWN0c0ZvckxpbmtzXG4gICk7XG4gIGNvbnN0IGxvY2F0aW9uID0gdXNlTG9jYXRpb24oKTtcblxuICBjb25zdCBwcm9qZWN0UGVybWlzc2lvbnM6IFRQcm9qZWN0UGVybWlzc2lvbnMgPSB1c2VNZW1vKFxuICAgICgpID0+ICh7XG4gICAgICBwZXJtaXNzaW9uczogbm9ybWFsaXplQWxsQXBwbGllZFBlcm1pc3Npb25zKFxuICAgICAgICBwcm9wcy5wcm9qZWN0Py5hbGxQZXJtaXNzaW9uc0ZvckFsbEFwcGxpY2F0aW9ucy5hbGxBcHBsaWVkUGVybWlzc2lvbnNcbiAgICAgICksXG4gICAgICBhY3Rpb25SaWdodHM6IG5vcm1hbGl6ZUFsbEFwcGxpZWRBY3Rpb25SaWdodHMoXG4gICAgICAgIHByb3BzLnByb2plY3Q/LmFsbFBlcm1pc3Npb25zRm9yQWxsQXBwbGljYXRpb25zLmFsbEFwcGxpZWRBY3Rpb25SaWdodHNcbiAgICAgICksXG4gICAgICBkYXRhRmVuY2VzOiBub3JtYWxpemVBbGxBcHBsaWVkRGF0YUZlbmNlcyhcbiAgICAgICAgcHJvcHMucHJvamVjdD8uYWxsUGVybWlzc2lvbnNGb3JBbGxBcHBsaWNhdGlvbnMuYWxsQXBwbGllZERhdGFGZW5jZXNcbiAgICAgICksXG4gICAgfSksXG4gICAgW3Byb3BzLnByb2plY3RdXG4gICk7XG4gIGNvbnN0IG1lbnVWaXNpYmlsaXRpZXMgPSB1c2VNZW1vKFxuICAgICgpID0+XG4gICAgICBub3JtYWxpemVBbGxBcHBsaWVkTWVudVZpc2liaWxpdGllcyhcbiAgICAgICAgcHJvcHMucHJvamVjdD8uYWxsUGVybWlzc2lvbnNGb3JBbGxBcHBsaWNhdGlvbnNcbiAgICAgICAgICAuYWxsQXBwbGllZE1lbnVWaXNpYmlsaXRpZXNcbiAgICAgICksXG4gICAgW3Byb3BzLnByb2plY3RdXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8TmF2QmFyTGF5b3V0IHJlZj17bmF2QmFyTm9kZX0+XG4gICAgICA8TWVudUdyb3VwIGlkPVwibWFpblwiIGxldmVsPXsxfT5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snc2Nyb2xsYWJsZS1tZW51J119PlxuICAgICAgICAgIHthbGxBcHBsaWNhdGlvbk5hdmJhck1lbnUubWFwKChtZW51KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBtZW51VHlwZSA9ICdzY3JvbGxhYmxlJztcbiAgICAgICAgICAgIGNvbnN0IGl0ZW1JbmRleCA9IGAke21lbnVUeXBlfS0ke21lbnUua2V5fWA7XG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICA8QXBwbGljYXRpb25NZW51XG4gICAgICAgICAgICAgICAga2V5PXttZW51LmtleX1cbiAgICAgICAgICAgICAgICBsb2NhdGlvbj17bG9jYXRpb259XG4gICAgICAgICAgICAgICAgbWVudT17bWVudX1cbiAgICAgICAgICAgICAgICBpc0FjdGl2ZT17YWN0aXZlSXRlbUluZGV4ID09PSBpdGVtSW5kZXh9XG4gICAgICAgICAgICAgICAgaGFuZGxlVG9nZ2xlSXRlbT17KCkgPT4gaGFuZGxlVG9nZ2xlSXRlbShpdGVtSW5kZXgpfVxuICAgICAgICAgICAgICAgIGlzTWVudU9wZW49e2lzTWVudU9wZW59XG4gICAgICAgICAgICAgICAgc2hvdWxkQ2xvc2VNZW51Rmx5PXtzaG91bGRDbG9zZU1lbnVGbHl9XG4gICAgICAgICAgICAgICAgcHJvamVjdFBlcm1pc3Npb25zPXtwcm9qZWN0UGVybWlzc2lvbnN9XG4gICAgICAgICAgICAgICAgbWVudVZpc2liaWxpdGllcz17bWVudVZpc2liaWxpdGllc31cbiAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbkxvY2FsZT17cHJvcHMuYXBwbGljYXRpb25Mb2NhbGV9XG4gICAgICAgICAgICAgICAgcHJvamVjdEtleT17cHJvcHMucHJvamVjdEtleX1cbiAgICAgICAgICAgICAgICB1c2VGdWxsUmVkaXJlY3RzRm9yTGlua3M9e3VzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rc31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydmaXhlZC1tZW51J119PlxuICAgICAgICAgIDxNZW51SXRlbVxuICAgICAgICAgICAgaGFzU3VibWVudT17ZmFsc2V9XG4gICAgICAgICAgICBpc0FjdGl2ZT17ZmFsc2V9XG4gICAgICAgICAgICBpc01lbnVPcGVuPXtpc01lbnVPcGVufVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICBoYW5kbGVUb2dnbGVJdGVtKCdmaXhlZC1zdXBwb3J0Jyk7XG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgb25Nb3VzZUVudGVyPXtcbiAgICAgICAgICAgICAgaXNNZW51T3BlbiA/IHVuZGVmaW5lZCA6ICgpID0+IGhhbmRsZVRvZ2dsZUl0ZW0oJ2ZpeGVkLXN1cHBvcnQnKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgb25Nb3VzZUxlYXZlPXtpc01lbnVPcGVuID8gdW5kZWZpbmVkIDogc2hvdWxkQ2xvc2VNZW51Rmx5fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgIGhyZWY9e1NVUFBPUlRfUE9SVEFMX1VSTH1cbiAgICAgICAgICAgICAgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiXG4gICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2l0ZW0taWNvbi10ZXh0J119PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMuaWNvbn0+XG4gICAgICAgICAgICAgICAgICA8U3VwcG9ydEljb25cbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNjYWxlXCJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I9e2dldEljb25Db2xvcihcbiAgICAgICAgICAgICAgICAgICAgICBhY3RpdmVJdGVtSW5kZXggPT09ICdmaXhlZC1zdXBwb3J0JyxcbiAgICAgICAgICAgICAgICAgICAgICB0cnVlXG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMudGl0bGV9PlxuICAgICAgICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2Ugey4uLm1lc3NhZ2VzWydOYXZCYXIuTUNTdXBwb3J0LnRpdGxlJ119IC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgIDwvTWVudUl0ZW0+XG4gICAgICAgICAgPE1lbnVFeHBhbmRlclxuICAgICAgICAgICAgaXNWaXNpYmxlPXtpc0V4cGFuZGVyVmlzaWJsZX1cbiAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZVRvZ2dsZU1lbnV9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L01lbnVHcm91cD5cbiAgICA8L05hdkJhckxheW91dD5cbiAgKTtcbn07XG5OYXZCYXIuZGlzcGxheU5hbWUgPSAnTmF2QmFyJztcblxuZXhwb3J0IGRlZmF1bHQgTmF2QmFyO1xuXG5leHBvcnQgY29uc3QgTG9hZGluZ05hdkJhciA9ICgpID0+IHtcbiAgY29uc3QgcmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgdXNlTG9hZGluZ01lbnVMYXlvdXRFZmZlY3QoKTtcbiAgcmV0dXJuIChcbiAgICA8TmF2QmFyTGF5b3V0IHJlZj17cmVmfT5cbiAgICAgIDxNZW51R3JvdXAgaWQ9XCJtYWluXCIgbGV2ZWw9ezF9PlxuICAgICAgICA8PlxuICAgICAgICAgIHtBcnJheS5mcm9tKG5ldyBBcnJheSg1KSkubWFwKChfLCBpbmRleCkgPT4gKFxuICAgICAgICAgICAgPE1lbnVJdGVtXG4gICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAgIGhhc1N1Ym1lbnU9e2ZhbHNlfVxuICAgICAgICAgICAgICBpc01lbnVPcGVuPXtmYWxzZX1cbiAgICAgICAgICAgICAgaXNBY3RpdmU9e2ZhbHNlfVxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB1bmRlZmluZWR9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1snbG9hZGluZy1kb3QtY29udGFpbmVyJ119XG4gICAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9e2Bkb3QtY29udGFpbmVyLSR7aW5kZXh9YH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxMb2FkaW5nUGxhY2Vob2xkZXIgc2hhcGU9XCJkb3RcIiBzaXplPVwibVwiIC8+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9NZW51SXRlbT5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC8+XG4gICAgICA8L01lbnVHcm91cD5cbiAgICA8L05hdkJhckxheW91dD5cbiAgKTtcbn07XG5Mb2FkaW5nTmF2QmFyLmRpc3BsYXlOYW1lID0gJ0xvYWRpbmdOYXZCYXInO1xuIl19 */")
3694
+ styles: /*#__PURE__*/react$2.css(compiledStyles.global, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:NavBarLayout;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5hdmJhci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBdWtCbUIiLCJmaWxlIjoibmF2YmFyLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUm91dGVDb21wb25lbnRQcm9wcyB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHR5cGUge1xuICBUQXBwbGljYXRpb25Db250ZXh0LFxuICBUTm9ybWFsaXplZE1lbnVWaXNpYmlsaXRpZXMsXG4gIFROb3JtYWxpemVkUGVybWlzc2lvbnMsXG4gIFROb3JtYWxpemVkQWN0aW9uUmlnaHRzLFxuICBUTm9ybWFsaXplZERhdGFGZW5jZXMsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHR5cGUgeyBURmV0Y2hQcm9qZWN0UXVlcnkgfSBmcm9tICcuLi8uLi90eXBlcy9nZW5lcmF0ZWQvbWMnO1xuaW1wb3J0IHR5cGUge1xuICBURGF0YUZlbmNlLFxuICBUQWN0aW9uUmlnaHQsXG4gIFRBcHBsaWNhdGlvbnNNZW51LFxuICBUTG9jYWxpemVkRmllbGQsXG4gIFROYXZiYXJNZW51LFxuICBUQmFzZU1lbnUsXG59IGZyb20gJy4uLy4uL3R5cGVzL2dlbmVyYXRlZC9wcm94eSc7XG5pbXBvcnQgdHlwZSB7IFRGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3R5cGVzJztcblxuaW1wb3J0IHtcbiAgZm9yd2FyZFJlZixcbiAgTW91c2VFdmVudEhhbmRsZXIsXG4gIFJlYWN0Tm9kZSxcbiAgU3ludGhldGljRXZlbnQsXG4gIHVzZUNvbnRleHQsXG4gIHVzZUVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxufSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBGb3JtYXR0ZWRNZXNzYWdlIH0gZnJvbSAncmVhY3QtaW50bCc7XG5pbXBvcnQgeyBOYXZMaW5rLCBtYXRjaFBhdGgsIHVzZUxvY2F0aW9uIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgeyB1c2VGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3JlYWN0LWJyb2FkY2FzdCc7XG5pbXBvcnQgeyBHbG9iYWwsIGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHtcbiAgQmFja0ljb24sXG4gIFRyZWVTdHJ1Y3R1cmVJY29uLFxuICBVc2VyRmlsbGVkSWNvbixcbiAgU3BlZWRvbWV0ZXJJY29uLFxuICBUYWdNdWx0aUljb24sXG4gIENhcnRJY29uLFxuICBCb3hJY29uLFxuICBHZWFySWNvbixcbiAgU3VwcG9ydEljb24sXG4gIFdvcmxkSWNvbixcbiAgSGVhcnRJY29uLFxuICBQYXBlcmNsaXBJY29uLFxuICBQbHVnaW5JY29uLFxuICBSb2NrZXRJY29uLFxuICBTdGFySWNvbixcbiAgQ29ubmVjdGVkU3F1YXJlSWNvbixcbiAgTGlzdFdpdGhTZWFyY2hJY29uLFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucyc7XG5pbXBvcnQgSW5saW5lU3ZnIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ljb25zL2lubGluZS1zdmcnO1xuaW1wb3J0IE1pc3NpbmdJbWFnZVN2ZyBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hc3NldHMvaW1hZ2VzL2RpYWdvbmFsLWxpbmUuc3ZnJztcbmltcG9ydCB7XG4gIE5PX1ZBTFVFX0ZBTExCQUNLLFxuICBTVVBQT1JUX1BPUlRBTF9VUkwsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2NvbnN0YW50cyc7XG5pbXBvcnQge1xuICBub3JtYWxpemVBbGxBcHBsaWVkQWN0aW9uUmlnaHRzLFxuICBub3JtYWxpemVBbGxBcHBsaWVkRGF0YUZlbmNlcyxcbiAgbm9ybWFsaXplQWxsQXBwbGllZE1lbnVWaXNpYmlsaXRpZXMsXG4gIG5vcm1hbGl6ZUFsbEFwcGxpZWRQZXJtaXNzaW9ucyxcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXBwbGljYXRpb24tc2hlbGwtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyBSZXN0cmljdGVkQnlQZXJtaXNzaW9ucyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL3Blcm1pc3Npb25zJztcbmltcG9ydCB7IGxvY2F0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbHMvbG9jYXRpb24nO1xuaW1wb3J0IHsgR3RtQ29udGV4dCB9IGZyb20gJy4uL2d0bS1ib290ZXInO1xuaW1wb3J0IExvYWRpbmdQbGFjZWhvbGRlciBmcm9tICcuLi9sb2FkaW5nLXBsYWNlaG9sZGVyJztcbmltcG9ydCBtZXNzYWdlcyBmcm9tICcuL21lc3NhZ2VzJztcbmltcG9ydCB1c2VMb2FkaW5nTWVudUxheW91dEVmZmVjdCBmcm9tICcuL3VzZS1sb2FkaW5nLW1lbnUtbGF5b3V0LWVmZmVjdCc7XG5pbXBvcnQgdXNlTmF2YmFyU3RhdGVNYW5hZ2VyIGZyb20gJy4vdXNlLW5hdmJhci1zdGF0ZS1tYW5hZ2VyJztcbmltcG9ydCBub25OdWxsYWJsZSBmcm9tICcuL25vbi1udWxsYWJsZSc7XG4vLyBodHRwczovL2JhYmVsanMuaW8vYmxvZy8yMDE3LzA5LzExL3plcm8tY29uZmlnLXdpdGgtYmFiZWwtbWFjcm9zXG5pbXBvcnQgY29tcGlsZWRTdHlsZXMgZnJvbSAvKiBwcmV2YWwgKi8gJy4vbmF2YmFyLnN0eWxlcyc7XG5cbmNvbnN0IHN0eWxlcyA9IGNvbXBpbGVkU3R5bGVzLmpzb25NYXA7XG5cbnR5cGUgVFByb2plY3RQZXJtaXNzaW9ucyA9IHtcbiAgcGVybWlzc2lvbnM6IFROb3JtYWxpemVkUGVybWlzc2lvbnMgfCBudWxsO1xuICBhY3Rpb25SaWdodHM6IFROb3JtYWxpemVkQWN0aW9uUmlnaHRzIHwgbnVsbDtcbiAgZGF0YUZlbmNlczogVE5vcm1hbGl6ZWREYXRhRmVuY2VzIHwgbnVsbDtcbn07XG5cbi8qXG48RGF0YU1lbnUgZGF0YT17W119PlxuICA8TWVudUdyb3VwPlxuICAgIDxNZW51SXRlbT5cbiAgICAgIDxNZW51SXRlbUxpbmsgbGlua1RvPVwiL2Zvb1wiPihpY29uKSBQcm9kdWN0czwvTWVudUl0ZW1MaW5rPlxuICAgICAgPE1lbnVHcm91cD5cbiAgICAgICAgPE1lbnVJdGVtTGluayBsaW5rVG89XCIvZm9vL25ld1wiPkFkZCBwcm9kdWN0PC9NZW51SXRlbUxpbms+XG4gICAgICA8L01lbnVHcm91cD5cbiAgICA8L01lbnVJdGVtPlxuICA8L01lbnVHcm91cD5cbiAgPE1lbnVFeHBhbmRlci8+XG48L0RhdGFNZW51PlxuKi9cblxudHlwZSBJY29uUHJvcHMgPSBQYXJhbWV0ZXJzPHR5cGVvZiBCYWNrSWNvbj5bMF07XG50eXBlIEljb25Td2l0Y2hlclByb3BzID0geyBpY29uOiBzdHJpbmcgfSAmIEljb25Qcm9wcztcbi8vIFRoZSBpY29uIGlzIGV4cGVjdGVkIHRvIGJlIHRoZSBgc3ZnYCBkb2N1bWVudCBhcyBhIHN0cmluZy5cbi8vIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBwdXJwb3Nlcywgd2Ugc3RpbGwgc3VwcG9ydCB0aGUgbGVnYWN5IFwiaWNvbiBuYW1lXCIsXG4vLyB3aGljaCB3ZSB0aGVuIG1hcCB0byBvbmUgb2YgdGhlIHByZS1kZWZpbmVkIGljb25zLlxuLy8gRXZlbnR1YWxseSwgd2Ugd2FudCB0byBnZXQgcmlkIG9mIHRoaXMgXCJzd2l0Y2hcIiBsb2dpYy5cbmNvbnN0IEljb25Td2l0Y2hlciA9ICh7IGljb24sIC4uLmljb25Qcm9wcyB9OiBJY29uU3dpdGNoZXJQcm9wcykgPT4ge1xuICBpZiAoaWNvbi5pbmNsdWRlcygnPHN2ZycpKSB7XG4gICAgcmV0dXJuIDxJbmxpbmVTdmcgZGF0YT17aWNvbn0gey4uLmljb25Qcm9wc30gLz47XG4gIH1cbiAgLy8gQmFja3dhcmRzIGNvbXBhdGliaWxpdHkgZm9yIGFwcHMgdXNpbmcgdGhlIFwiaWNvbiBuYW1lXCIuXG4gIHN3aXRjaCAoaWNvbikge1xuICAgIC8vIEFwcGxpY2F0aW9uIGljb25zXG4gICAgY2FzZSAnVHJlZVN0cnVjdHVyZUljb24nOlxuICAgICAgcmV0dXJuIDxUcmVlU3RydWN0dXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdVc2VyRmlsbGVkSWNvbic6XG4gICAgICByZXR1cm4gPFVzZXJGaWxsZWRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1NwZWVkb21ldGVySWNvbic6XG4gICAgICByZXR1cm4gPFNwZWVkb21ldGVySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdUYWdNdWx0aUljb24nOlxuICAgICAgcmV0dXJuIDxUYWdNdWx0aUljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnQ2FydEljb24nOlxuICAgICAgcmV0dXJuIDxDYXJ0SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdCb3hJY29uJzpcbiAgICAgIHJldHVybiA8Qm94SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdHZWFySWNvbic6XG4gICAgICByZXR1cm4gPEdlYXJJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ0xpc3RXaXRoU2VhcmNoSWNvbic6XG4gICAgICByZXR1cm4gPExpc3RXaXRoU2VhcmNoSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICAvLyBDdXN0b20gYXBwbGljYXRpb24gaWNvbnMgc2V0XG4gICAgY2FzZSAnSGVhcnRJY29uJzpcbiAgICAgIHJldHVybiA8SGVhcnRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1BhcGVyY2xpcEljb24nOlxuICAgICAgcmV0dXJuIDxQYXBlcmNsaXBJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1BsdWdpbkljb24nOlxuICAgICAgcmV0dXJuIDxQbHVnaW5JY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1JvY2tldEljb24nOlxuICAgICAgcmV0dXJuIDxSb2NrZXRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1N0YXJJY29uJzpcbiAgICAgIHJldHVybiA8U3Rhckljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnQ29ubmVjdGVkU3F1YXJlSWNvbic6XG4gICAgICByZXR1cm4gPENvbm5lY3RlZFNxdWFyZUljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgLy8gRm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG4gICAgY2FzZSAnV29ybGRJY29uJzpcbiAgICAgIHJldHVybiA8V29ybGRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gPGltZyBzcmM9e01pc3NpbmdJbWFnZVN2Z30gYWx0PVwibWlzc2luZyBpY29uXCIgLz47XG4gIH1cbn07XG5JY29uU3dpdGNoZXIuZGlzcGxheU5hbWUgPSAnSWNvblN3aXRjaGVyJztcblxudHlwZSBNZW51RXhwYW5kZXJQcm9wcyA9IHtcbiAgaXNWaXNpYmxlOiBib29sZWFuO1xuICBvbkNsaWNrOiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRGl2RWxlbWVudD47XG59O1xuY29uc3QgTWVudUV4cGFuZGVyID0gKHByb3BzOiBNZW51RXhwYW5kZXJQcm9wcykgPT4gKFxuICA8bGlcbiAgICBrZXk9XCJleHBhbmRlclwiXG4gICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKHN0eWxlc1snbGlzdC1pdGVtJ10sIHN0eWxlcy5leHBhbmRlciwge1xuICAgICAgW3N0eWxlcy5oaWRkZW5dOiAhcHJvcHMuaXNWaXNpYmxlLFxuICAgIH0pfVxuICA+XG4gICAgPGRpdlxuICAgICAgb25DbGljaz17cHJvcHMub25DbGlja31cbiAgICAgIGNsYXNzTmFtZT17c3R5bGVzWydleHBhbmQtaWNvbiddfVxuICAgICAgZGF0YS10ZXN0aWQ9XCJtZW51LWV4cGFuZGVyXCJcbiAgICA+XG4gICAgICB7LypcbiAgICAgICAgRklYTUU6IGRlZmluZSBob3ZlciBlZmZlY3QuXG4gICAgICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9jb21tZXJjZXRvb2xzL21lcmNoYW50LWNlbnRlci1mcm9udGVuZC9pc3N1ZXMvMjIxNlxuICAgICAgKi99XG4gICAgICA8QmFja0ljb24gY29sb3I9XCJzdXJmYWNlXCIgc2l6ZT1cImJpZ1wiIC8+XG4gICAgPC9kaXY+XG4gIDwvbGk+XG4pO1xuTWVudUV4cGFuZGVyLmRpc3BsYXlOYW1lID0gJ01lbnVFeHBhbmRlcic7XG5cbnR5cGUgTWVudUdyb3VwUHJvcHMgPSB7XG4gIGlkOiBzdHJpbmc7XG4gIGxldmVsOiAxIHwgMjtcbiAgaXNBY3RpdmU/OiBib29sZWFuO1xuICBpc0V4cGFuZGVkPzogYm9vbGVhbjtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG59O1xuY29uc3QgTWVudUdyb3VwID0gKHByb3BzOiBNZW51R3JvdXBQcm9wcykgPT4ge1xuICBjb25zdCBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkID1cbiAgICBwcm9wcy5sZXZlbCA9PT0gMiAmJiBwcm9wcy5pc0FjdGl2ZSAmJiBwcm9wcy5pc0V4cGFuZGVkO1xuICBjb25zdCBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCA9XG4gICAgcHJvcHMubGV2ZWwgPT09IDIgJiYgcHJvcHMuaXNBY3RpdmUgJiYgIXByb3BzLmlzRXhwYW5kZWQ7XG4gIHJldHVybiAoXG4gICAgPHVsXG4gICAgICBpZD17YCR7cHJvcHMuaWR9LWdyb3VwYH1cbiAgICAgIGRhdGEtdGVzdGlkPXtgJHtwcm9wcy5pZH0tZ3JvdXBgfVxuICAgICAgcm9sZT1cIm1lbnVcIlxuICAgICAgYXJpYS1leHBhbmRlZD17XG4gICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgfHxcbiAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWRcbiAgICAgIH1cbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcyhcbiAgICAgICAgeyBbc3R5bGVzLmxpc3RdOiBwcm9wcy5sZXZlbCA9PT0gMSB9LFxuICAgICAgICB7IFtzdHlsZXMuc3VibGlzdF06IHByb3BzLmxldmVsID09PSAyIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0LW5vLWNoaWxkcmVuJ11dOiBwcm9wcy5sZXZlbCA9PT0gMiAmJiAhcHJvcHMuY2hpbGRyZW4sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0LWV4cGFuZGVkX19hY3RpdmUnXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlc1snc3VibGlzdC1jb2xsYXBzZWRfX2FjdGl2ZSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlcy5zdWJsaXN0X19pbmFjdGl2ZV06ICFpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCxcbiAgICAgICAgfVxuICAgICAgKX1cbiAgICA+XG4gICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgPC91bD5cbiAgKTtcbn07XG5NZW51R3JvdXAuZGlzcGxheU5hbWUgPSAnTWVudUdyb3VwJztcblxudHlwZSBNZW51SXRlbVByb3BzID0ge1xuICBoYXNTdWJtZW51OiBib29sZWFuO1xuICBpc0FjdGl2ZTogYm9vbGVhbjtcbiAgaXNNZW51T3BlbjogYm9vbGVhbjtcbiAgb25DbGljazogTW91c2VFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+O1xuICBvbk1vdXNlRW50ZXI/OiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD47XG4gIG9uTW91c2VMZWF2ZT86IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50PjtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbn07XG5jb25zdCBNZW51SXRlbSA9IChwcm9wczogTWVudUl0ZW1Qcm9wcykgPT4gKFxuICA8bGlcbiAgICByb2xlPVwibWVudS1pdGVtXCJcbiAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoc3R5bGVzWydsaXN0LWl0ZW0nXSwge1xuICAgICAgW3N0eWxlcy5pdGVtX19hY3RpdmVdOiBwcm9wcy5pc0FjdGl2ZSxcbiAgICAgIFtzdHlsZXNbJ2l0ZW1fbWVudS1jb2xsYXBzZWQnXV06ICFwcm9wcy5pc01lbnVPcGVuLFxuICAgICAgW3N0eWxlc1snaXRlbV9fbm8tc3VibWVudSddXTogIXByb3BzLmhhc1N1Ym1lbnUsXG4gICAgfSl9XG4gICAgb25DbGljaz17cHJvcHMub25DbGlja31cbiAgICBvbk1vdXNlRW50ZXI9e3Byb3BzLm9uTW91c2VFbnRlcn1cbiAgICBvbk1vdXNlTGVhdmU9e3Byb3BzLm9uTW91c2VMZWF2ZX1cbiAgPlxuICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2l0ZW0tbGluayddfT57cHJvcHMuY2hpbGRyZW59PC9kaXY+XG4gIDwvbGk+XG4pO1xuTWVudUl0ZW0uZGlzcGxheU5hbWUgPSAnTWVudUl0ZW0nO1xuXG50eXBlIE1lbnVJdGVtTGlua1Byb3BzID0ge1xuICBsaW5rVG8/OiBzdHJpbmc7XG4gIGV4YWN0TWF0Y2g6IGJvb2xlYW47XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIG9uQ2xpY2s/OiA8VHJhY2tGbj4oXG4gICAgZXZlbnQ6IFN5bnRoZXRpY0V2ZW50PEhUTUxBbmNob3JFbGVtZW50PixcbiAgICB0cmFjazogVHJhY2tGblxuICApID0+IHZvaWQ7XG4gIHVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rcz86IGJvb2xlYW47XG59O1xuY29uc3QgbWVudUl0ZW1MaW5rRGVmYXVsdFByb3BzOiBQaWNrPE1lbnVJdGVtTGlua1Byb3BzLCAnZXhhY3RNYXRjaCc+ID0ge1xuICBleGFjdE1hdGNoOiBmYWxzZSxcbn07XG5jb25zdCBNZW51SXRlbUxpbmsgPSAocHJvcHM6IE1lbnVJdGVtTGlua1Byb3BzKSA9PiB7XG4gIGNvbnN0IGd0bVRyYWNraW5nID0gdXNlQ29udGV4dChHdG1Db250ZXh0KTtcbiAgY29uc3QgcmVkaXJlY3RUbyA9ICh0YXJnZXRVcmw6IHN0cmluZykgPT4gbG9jYXRpb24ucmVwbGFjZSh0YXJnZXRVcmwpO1xuICBpZiAocHJvcHMubGlua1RvKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxOYXZMaW5rXG4gICAgICAgIHRvPXtwcm9wcy5saW5rVG99XG4gICAgICAgIGV4YWN0PXtwcm9wcy5leGFjdE1hdGNofVxuICAgICAgICBhY3RpdmVDbGFzc05hbWU9e3N0eWxlcy5oaWdobGlnaHRlZH1cbiAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXNbJ3RleHQtbGluayddfVxuICAgICAgICBvbkNsaWNrPXsoZXZlbnQpID0+IHtcbiAgICAgICAgICBpZiAocHJvcHMubGlua1RvICYmIHByb3BzLnVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rcykge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIHJlZGlyZWN0VG8ocHJvcHMubGlua1RvKTtcbiAgICAgICAgICB9IGVsc2UgaWYgKHByb3BzLm9uQ2xpY2spIHtcbiAgICAgICAgICAgIGV2ZW50LnBlcnNpc3QoKTtcbiAgICAgICAgICAgIHByb3BzLm9uQ2xpY2s8dHlwZW9mIGd0bVRyYWNraW5nLnRyYWNrPihldmVudCwgZ3RtVHJhY2tpbmcudHJhY2spO1xuICAgICAgICAgIH1cbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9OYXZMaW5rPlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5NZW51SXRlbUxpbmsuZGlzcGxheU5hbWUgPSAnTWVudUl0ZW1MaW5rJztcbk1lbnVJdGVtTGluay5kZWZhdWx0UHJvcHMgPSBtZW51SXRlbUxpbmtEZWZhdWx0UHJvcHM7XG5cbi8vIFRoaXMgY29tcG9uZW50IGp1c3QgcmVuZGVyIHR3byBkaXZzIHdpdGggYm9yZGVycyBpbiBvcmRlciB0byBkaWZmZXJlbnRpYXRlXG4vLyB0aGUgc2V0dGluZ3MgcGx1Z2luIGZyb20gdGhlIG90aGVyIG9uZXNcbmNvbnN0IE1lbnVJdGVtRGl2aWRlciA9ICgpID0+IChcbiAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snZGl2aWRlci1maXJzdC1pdGVtJ119PlxuICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2RpdmlkZXItc2Vjb25kLWl0ZW0nXX0gLz5cbiAgPC9kaXY+XG4pO1xuTWVudUl0ZW1EaXZpZGVyLmRpc3BsYXlOYW1lID0gJ01lbnVJdGVtRGl2aWRlcic7XG5cbmNvbnN0IGlzRXZlcnlNZW51VmlzaWJpbGl0eVNldFRvSGlkZGVuID0gKFxuICBtZW51VmlzaWJpbGl0aWVzPzogVE5vcm1hbGl6ZWRNZW51VmlzaWJpbGl0aWVzIHwgbnVsbCxcbiAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXM/OiBzdHJpbmdbXVxuKSA9PlxuICBBcnJheS5pc0FycmF5KG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzKSAmJlxuICBuYW1lc09mTWVudVZpc2liaWxpdGllcy5sZW5ndGggPiAwICYmXG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzLmV2ZXJ5KFxuICAgIChuYW1lT2ZNZW51VmlzaWJpbGl0eSkgPT5cbiAgICAgIG1lbnVWaXNpYmlsaXRpZXMgJiYgbWVudVZpc2liaWxpdGllc1tuYW1lT2ZNZW51VmlzaWJpbGl0eV0gPT09IHRydWVcbiAgKTtcblxudHlwZSBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcyA9IHtcbiAgZmVhdHVyZVRvZ2dsZT86IHN0cmluZztcbiAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXM/OiBzdHJpbmdbXTtcbiAgcHJvamVjdFBlcm1pc3Npb25zOiBUUHJvamVjdFBlcm1pc3Npb25zO1xuICBtZW51VmlzaWJpbGl0aWVzOiBUTm9ybWFsaXplZE1lbnVWaXNpYmlsaXRpZXMgfCBudWxsO1xuICBrZXlPZk1lbnVJdGVtOiBzdHJpbmc7XG4gIHBlcm1pc3Npb25zOiBzdHJpbmdbXTtcbiAgYWN0aW9uUmlnaHRzPzogVEFjdGlvblJpZ2h0W107XG4gIGRhdGFGZW5jZXM/OiBURGF0YUZlbmNlW107XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59O1xudHlwZSBUTG9uZ0xpdmVkRmxhZyA9IHtcbiAgdmFsdWU6IGJvb2xlYW47XG4gIHJlYXNvbj86IHN0cmluZztcbn07XG5jb25zdCByZXN0cmljdGVkTWVudUl0ZW1EZWZhdWx0UHJvcHM6IFBpY2s8XG4gIFJlc3RyaWN0ZWRNZW51SXRlbVByb3BzLFxuICAncGVybWlzc2lvbnMnXG4+ID0ge1xuICBwZXJtaXNzaW9uczogW10sXG59O1xuZnVuY3Rpb24gaXNMb25nTGl2ZWRGbGFnKFxuICBmbGFnOiBURmxhZ1ZhcmlhdGlvbiB8IFRMb25nTGl2ZWRGbGFnXG4pOiBmbGFnIGlzIFRMb25nTGl2ZWRGbGFnIHtcbiAgcmV0dXJuIHR5cGVvZiAoZmxhZyBhcyBUTG9uZ0xpdmVkRmxhZyk/LnZhbHVlID09PSAnYm9vbGVhbic7XG59XG5jb25zdCBSZXN0cmljdGVkTWVudUl0ZW0gPSAocHJvcHM6IFJlc3RyaWN0ZWRNZW51SXRlbVByb3BzKSA9PiB7XG4gIC8vIE5PVEU6IEN1c3RvbSBhcHBsaWNhdGlvbiBhcmUgYWN0aXZhdGVkL2RlYWN0aXZhdGVkIHdoaWxlIHRoZWlyXG4gIC8vIHZpc2liaWxpdHkgaXMgbm90IGNvbnRyb2xsZWQgdmlhIGEgdmlzaWJpaWxpdHkgb3ZlcndyaXRlLlxuICBjb25zdCBmbGFnVmFyaWF0aW9uID0gdXNlRmxhZ1ZhcmlhdGlvbihwcm9wcy5mZWF0dXJlVG9nZ2xlKTtcbiAgaWYgKFxuICAgIGlzRXZlcnlNZW51VmlzaWJpbGl0eVNldFRvSGlkZGVuKFxuICAgICAgcHJvcHMubWVudVZpc2liaWxpdGllcyxcbiAgICAgIHByb3BzLm5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzXG4gICAgKVxuICApXG4gICAgcmV0dXJuIG51bGw7XG5cbiAgY29uc3QgcGVybWlzc2lvbnNXcmFwcGVyID1cbiAgICAoQXJyYXkuaXNBcnJheShwcm9wcy5wZXJtaXNzaW9ucykgJiYgcHJvcHMucGVybWlzc2lvbnMubGVuZ3RoID4gMCkgfHxcbiAgICAoQXJyYXkuaXNBcnJheShwcm9wcy5kYXRhRmVuY2VzKSAmJiBwcm9wcy5kYXRhRmVuY2VzLmxlbmd0aCA+IDApID8gKFxuICAgICAgPFJlc3RyaWN0ZWRCeVBlcm1pc3Npb25zXG4gICAgICAgIHBlcm1pc3Npb25zPXtwcm9wcy5wZXJtaXNzaW9uc31cbiAgICAgICAgYWN0aW9uUmlnaHRzPXtwcm9wcy5hY3Rpb25SaWdodHN9XG4gICAgICAgIGRhdGFGZW5jZXM9e3Byb3BzLmRhdGFGZW5jZXN9XG4gICAgICAgIHNlbGVjdERhdGFGZW5jZURhdGE9eyhkZW1hbmRlZERhdGFGZW5jZSkgPT4ge1xuICAgICAgICAgIHN3aXRjaCAoZGVtYW5kZWREYXRhRmVuY2UudHlwZSkge1xuICAgICAgICAgICAgY2FzZSAnc3RvcmUnOlxuICAgICAgICAgICAgICByZXR1cm4gZGVtYW5kZWREYXRhRmVuY2UuYWN0dWFsRGF0YUZlbmNlVmFsdWVzO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9fVxuICAgICAgICAvLyBBbHdheXMgY2hlY2sgdGhhdCBzb21lIG9mIHRoZSBnaXZlbiBwZXJtaXNzaW9ucyBtYXRjaC5cbiAgICAgICAgc2hvdWxkTWF0Y2hTb21lUGVybWlzc2lvbnM9e3RydWV9XG4gICAgICAgIHByb2plY3RQZXJtaXNzaW9ucz17cHJvcHMucHJvamVjdFBlcm1pc3Npb25zfVxuICAgICAgPlxuICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICA8L1Jlc3RyaWN0ZWRCeVBlcm1pc3Npb25zPlxuICAgICkgOiAoXG4gICAgICA8Pntwcm9wcy5jaGlsZHJlbn08Lz5cbiAgICApO1xuXG4gIGlmIChwcm9wcy5mZWF0dXJlVG9nZ2xlKSB7XG4gICAgLy8gQSByZWd1bGFyIHNob3J0LWxpdmVkIGZlYXR1cmUgdG9nZ2xlXG4gICAgaWYgKGZsYWdWYXJpYXRpb24gPT09IHRydWUpIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG4gICAgLy8gQSBsb25nLWxpdmVkIGZlYXR1cmUgdG9nZ2xlIHdpdGggYHsgdmFsdWU6IGJvb2xlYW4sIHN0cmluZzogcmVhc29uIH1gXG4gICAgaWYgKGlzTG9uZ0xpdmVkRmxhZyhmbGFnVmFyaWF0aW9uKSAmJiBmbGFnVmFyaWF0aW9uLnZhbHVlID09PSB0cnVlKVxuICAgICAgcmV0dXJuIHBlcm1pc3Npb25zV3JhcHBlcjtcblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIHBlcm1pc3Npb25zV3JhcHBlcjtcbn07XG5SZXN0cmljdGVkTWVudUl0ZW0uZGlzcGxheU5hbWUgPSAnUmVzdHJpY3RlZE1lbnVJdGVtJztcblJlc3RyaWN0ZWRNZW51SXRlbS5kZWZhdWx0UHJvcHMgPSByZXN0cmljdGVkTWVudUl0ZW1EZWZhdWx0UHJvcHM7XG5cbmV4cG9ydCBjb25zdCBnZXRJY29uQ29sb3IgPSAoXG4gIGlzQWN0aXZlOiBib29sZWFuLFxuICBpc0FsdGVybmF0aXZlVGhlbWU6IGJvb2xlYW5cbikgPT4ge1xuICBpZiAoaXNBY3RpdmUpIHJldHVybiAncHJpbWFyeTQwJztcbiAgcmV0dXJuIGlzQWx0ZXJuYXRpdmVUaGVtZSA/ICduZXV0cmFsNjAnIDogJ3N1cmZhY2UnO1xufTtcblxuY29uc3QgZ2V0TWVudVZpc2liaWxpdGllc09mU3VibWVudXMgPSAobWVudTogVE5hdmJhck1lbnUpID0+XG4gIG1lbnUuc3VibWVudS5tYXAoKHN1Ym1lbnUpID0+IHN1Ym1lbnUubWVudVZpc2liaWxpdHkpLmZpbHRlcihub25OdWxsYWJsZSk7XG5jb25zdCBnZXRNZW51VmlzaWJpbGl0eU9mTWFpbm1lbnUgPSAobWVudTogVE5hdmJhck1lbnUpID0+XG4gIG1lbnUubWVudVZpc2liaWxpdHkgPyBbbWVudS5tZW51VmlzaWJpbGl0eV0gOiBbXTtcblxudHlwZSBNZW51TGFiZWxQcm9wcyA9IHtcbiAgbGFiZWxBbGxMb2NhbGVzOiBUTG9jYWxpemVkRmllbGRbXTtcbiAgZGVmYXVsdExhYmVsPzogc3RyaW5nO1xuICBhcHBsaWNhdGlvbkxvY2FsZTogc3RyaW5nO1xufTtcbmNvbnN0IE1lbnVMYWJlbCA9IChwcm9wczogTWVudUxhYmVsUHJvcHMpID0+IHtcbiAgY29uc3QgbG9jYWxpemVkTGFiZWwgPSBwcm9wcy5sYWJlbEFsbExvY2FsZXMuZmluZCgobG9jKSA9PlxuICAgIHByb3BzLmFwcGxpY2F0aW9uTG9jYWxlLnN0YXJ0c1dpdGgobG9jLmxvY2FsZSlcbiAgKTtcbiAgaWYgKGxvY2FsaXplZExhYmVsKSByZXR1cm4gPD57bG9jYWxpemVkTGFiZWwudmFsdWV9PC8+O1xuICBpZiAocHJvcHMuZGVmYXVsdExhYmVsKSByZXR1cm4gPD57cHJvcHMuZGVmYXVsdExhYmVsfTwvPjtcbiAgcmV0dXJuIDw+e05PX1ZBTFVFX0ZBTExCQUNLfTwvPjtcbn07XG5cbnR5cGUgVE1lbnVXaXRoRGVmYXVsdExhYmVsID0gVE5hdmJhck1lbnUgJiB7XG4gIC8vIGRlcml2ZXMgZnJvbSBgcHJvamVjdEV4dGVuc2lvbnNRdWVyeS5pbnN0YWxsZWRBcHBsaWNhdGlvbnMuYXBwbGljYXRpb24ubWVudWBcbiAgZGVmYXVsdExhYmVsPzogc3RyaW5nO1xufTtcbnR5cGUgVFN1Ym1lbnVXaXRoRGVmYXVsdExhYmVsID0gVEJhc2VNZW51ICYge1xuICAvLyBkZXJpdmVzIGZyb20gYHByb2plY3RFeHRlbnNpb25zUXVlcnkuaW5zdGFsbGVkQXBwbGljYXRpb25zLmFwcGxpY2F0aW9uLm1lbnVgXG4gIGRlZmF1bHRMYWJlbD86IHN0cmluZztcbn07XG5cbnR5cGUgQXBwbGljYXRpb25NZW51UHJvcHMgPSB7XG4gIGxvY2F0aW9uOiBSb3V0ZUNvbXBvbmVudFByb3BzWydsb2NhdGlvbiddO1xuICBtZW51OiBUTWVudVdpdGhEZWZhdWx0TGFiZWw7XG4gIGlzQWN0aXZlOiBib29sZWFuO1xuICBpc01lbnVPcGVuOiBib29sZWFuO1xuICBzaG91bGRDbG9zZU1lbnVGbHk6IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50PjtcbiAgcHJvamVjdFBlcm1pc3Npb25zOiBUUHJvamVjdFBlcm1pc3Npb25zO1xuICBtZW51VmlzaWJpbGl0aWVzOiBUTm9ybWFsaXplZE1lbnVWaXNpYmlsaXRpZXMgfCBudWxsO1xuICBoYW5kbGVUb2dnbGVJdGVtOiAoKSA9PiB2b2lkO1xuICBhcHBsaWNhdGlvbkxvY2FsZTogc3RyaW5nO1xuICBwcm9qZWN0S2V5OiBzdHJpbmc7XG4gIHVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rczogYm9vbGVhbjtcbiAgb25NZW51SXRlbUNsaWNrPzogTWVudUl0ZW1MaW5rUHJvcHNbJ29uQ2xpY2snXTtcbn07XG5jb25zdCBBcHBsaWNhdGlvbk1lbnUgPSAocHJvcHM6IEFwcGxpY2F0aW9uTWVudVByb3BzKSA9PiB7XG4gIGNvbnN0IGlzTWFpbk1lbnVSb3V0ZUFjdGl2ZSA9IEJvb2xlYW4oXG4gICAgbWF0Y2hQYXRoKHByb3BzLmxvY2F0aW9uLnBhdGhuYW1lLCB7XG4gICAgICBwYXRoOiBgLyR7cHJvcHMucHJvamVjdEtleX0vJHtwcm9wcy5tZW51LnVyaVBhdGh9YCxcbiAgICAgIGV4YWN0OiBmYWxzZSxcbiAgICAgIHN0cmljdDogZmFsc2UsXG4gICAgfSlcbiAgKTtcbiAgY29uc3QgaGFzU3VibWVudSA9XG4gICAgQXJyYXkuaXNBcnJheShwcm9wcy5tZW51LnN1Ym1lbnUpICYmIHByb3BzLm1lbnUuc3VibWVudS5sZW5ndGggPiAwO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgLy8gT24gZmlyc3QgcmVuZGVyLCBjaGVjayB3aGljaCBtZW51IGlzIGFjdGl2ZSBmb3IgdGhlIGN1cnJlbnQgYXBwbGljYXRpb24gYW5kIGV4cGFuZFxuICAgIC8vIHRoZSBzdWJtZW51IGF1dG9tYXRpY2FsbHkgdW5sZXNzIHRoZSBhbGwgbmF2YmFyIGlzIGNvbGxhcHNlZCBvciB0aGVyZSBhcmUgbm8gc3VibWVudSBsaW5rcy5cbiAgICBpZiAocHJvcHMuaXNNZW51T3BlbiAmJiBpc01haW5NZW51Um91dGVBY3RpdmUgJiYgaGFzU3VibWVudSkge1xuICAgICAgcHJvcHMuaGFuZGxlVG9nZ2xlSXRlbSgpO1xuICAgIH1cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzXG4gIH0sIFtwcm9wcy5pc01lbnVPcGVuXSk7IC8vIDwtLSAocmUpcnVuIHRoaXMgb25seSB3aGVuIHRoZSBhbGwgbWVudSBleHBhbmRzXG5cbiAgY29uc3QgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXNPZkFsbFN1Ym1lbnVzID0gaGFzU3VibWVudVxuICAgID8gZ2V0TWVudVZpc2liaWxpdGllc09mU3VibWVudXMocHJvcHMubWVudSlcbiAgICA6IGdldE1lbnVWaXNpYmlsaXR5T2ZNYWlubWVudShwcm9wcy5tZW51KTtcblxuICBjb25zdCBpc01haW5NZW51SXRlbUFMaW5rID1cbiAgICAvLyAxLiBXaGVuIHRoZSBuYXZiYXIgaXMgY29sbGFwc2VkXG4gICAgIXByb3BzLmlzTWVudU9wZW4gfHxcbiAgICAvLyAyLiBXaGVuIHRoZXJlIGlzIG5vIHN1Ym1lbnVcbiAgICAhaGFzU3VibWVudSB8fFxuICAgIC8vIDMuIFdoZW4gdGhlIHN1Ym1lbnUgZ3JvdXAgaXMgYWN0aXZlL3Zpc2libGVcbiAgICBwcm9wcy5pc0FjdGl2ZTtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICB7cHJvcHMubWVudS5zaG91bGRSZW5kZXJEaXZpZGVyICYmIDxNZW51SXRlbURpdmlkZXIgLz59XG5cbiAgICAgIDxSZXN0cmljdGVkTWVudUl0ZW1cbiAgICAgICAga2V5PXtwcm9wcy5tZW51LmtleX1cbiAgICAgICAga2V5T2ZNZW51SXRlbT17cHJvcHMubWVudS5rZXl9XG4gICAgICAgIGZlYXR1cmVUb2dnbGU9e3Byb3BzLm1lbnUuZmVhdHVyZVRvZ2dsZSA/PyB1bmRlZmluZWR9XG4gICAgICAgIHBlcm1pc3Npb25zPXtwcm9wcy5tZW51LnBlcm1pc3Npb25zfVxuICAgICAgICBhY3Rpb25SaWdodHM9e3Byb3BzLm1lbnUuYWN0aW9uUmlnaHRzID8/IHVuZGVmaW5lZH1cbiAgICAgICAgZGF0YUZlbmNlcz17cHJvcHMubWVudS5kYXRhRmVuY2VzID8/IHVuZGVmaW5lZH1cbiAgICAgICAgcHJvamVjdFBlcm1pc3Npb25zPXtwcm9wcy5wcm9qZWN0UGVybWlzc2lvbnN9XG4gICAgICAgIG1lbnVWaXNpYmlsaXRpZXM9e3Byb3BzLm1lbnVWaXNpYmlsaXRpZXN9XG4gICAgICAgIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPXtuYW1lc09mTWVudVZpc2liaWxpdGllc09mQWxsU3VibWVudXN9XG4gICAgICA+XG4gICAgICAgIDxNZW51SXRlbVxuICAgICAgICAgIGhhc1N1Ym1lbnU9e2hhc1N1Ym1lbnV9XG4gICAgICAgICAgaXNBY3RpdmU9e3Byb3BzLmlzQWN0aXZlfVxuICAgICAgICAgIGlzTWVudU9wZW49e3Byb3BzLmlzTWVudU9wZW59XG4gICAgICAgICAgb25DbGljaz17cHJvcHMuaGFuZGxlVG9nZ2xlSXRlbX1cbiAgICAgICAgICBvbk1vdXNlRW50ZXI9e3Byb3BzLmlzTWVudU9wZW4gPyB1bmRlZmluZWQgOiBwcm9wcy5oYW5kbGVUb2dnbGVJdGVtfVxuICAgICAgICAgIG9uTW91c2VMZWF2ZT17cHJvcHMuaXNNZW51T3BlbiA/IHVuZGVmaW5lZCA6IHByb3BzLnNob3VsZENsb3NlTWVudUZseX1cbiAgICAgICAgPlxuICAgICAgICAgIDxNZW51SXRlbUxpbmtcbiAgICAgICAgICAgIGxpbmtUbz17XG4gICAgICAgICAgICAgIGlzTWFpbk1lbnVJdGVtQUxpbmtcbiAgICAgICAgICAgICAgICA/IGAvJHtwcm9wcy5wcm9qZWN0S2V5fS8ke3Byb3BzLm1lbnUudXJpUGF0aH1gXG4gICAgICAgICAgICAgICAgOiB1bmRlZmluZWRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rcz17cHJvcHMudXNlRnVsbFJlZGlyZWN0c0ZvckxpbmtzfVxuICAgICAgICAgICAgb25DbGljaz17cHJvcHMub25NZW51SXRlbUNsaWNrfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2l0ZW0taWNvbi10ZXh0J119PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzLmljb259PlxuICAgICAgICAgICAgICAgIDxJY29uU3dpdGNoZXJcbiAgICAgICAgICAgICAgICAgIGljb249e3Byb3BzLm1lbnUuaWNvbn1cbiAgICAgICAgICAgICAgICAgIHNpemU9XCJzY2FsZVwiXG4gICAgICAgICAgICAgICAgICBjb2xvcj17Z2V0SWNvbkNvbG9yKFxuICAgICAgICAgICAgICAgICAgICBwcm9wcy5pc0FjdGl2ZSB8fCBpc01haW5NZW51Um91dGVBY3RpdmUsXG4gICAgICAgICAgICAgICAgICAgIEJvb2xlYW4ocHJvcHMubWVudS5zaG91bGRSZW5kZXJEaXZpZGVyKVxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17c3R5bGVzLnRpdGxlfVxuICAgICAgICAgICAgICAgIGFyaWEtb3ducz17YCR7cHJvcHMubWVudS5rZXl9LWdyb3VwYH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxNZW51TGFiZWxcbiAgICAgICAgICAgICAgICAgIGxhYmVsQWxsTG9jYWxlcz17cHJvcHMubWVudS5sYWJlbEFsbExvY2FsZXN9XG4gICAgICAgICAgICAgICAgICBkZWZhdWx0TGFiZWw9e3Byb3BzLm1lbnUuZGVmYXVsdExhYmVsfVxuICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb25Mb2NhbGU9e3Byb3BzLmFwcGxpY2F0aW9uTG9jYWxlfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9NZW51SXRlbUxpbms+XG4gICAgICAgICAgPE1lbnVHcm91cFxuICAgICAgICAgICAgaWQ9e3Byb3BzLm1lbnUua2V5fVxuICAgICAgICAgICAgbGV2ZWw9ezJ9XG4gICAgICAgICAgICBpc0FjdGl2ZT17cHJvcHMuaXNBY3RpdmV9XG4gICAgICAgICAgICBpc0V4cGFuZGVkPXtwcm9wcy5pc01lbnVPcGVufVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtoYXNTdWJtZW51XG4gICAgICAgICAgICAgID8gcHJvcHMubWVudS5zdWJtZW51Lm1hcCgoc3VibWVudTogVFN1Ym1lbnVXaXRoRGVmYXVsdExhYmVsKSA9PiAoXG4gICAgICAgICAgICAgICAgICA8UmVzdHJpY3RlZE1lbnVJdGVtXG4gICAgICAgICAgICAgICAgICAgIGtleT17YCR7cHJvcHMubWVudS5rZXl9LXN1Ym1lbnUtJHtzdWJtZW51LmtleX1gfVxuICAgICAgICAgICAgICAgICAgICBrZXlPZk1lbnVJdGVtPXtzdWJtZW51LmtleX1cbiAgICAgICAgICAgICAgICAgICAgZmVhdHVyZVRvZ2dsZT17c3VibWVudS5mZWF0dXJlVG9nZ2xlID8/IHVuZGVmaW5lZH1cbiAgICAgICAgICAgICAgICAgICAgcGVybWlzc2lvbnM9e3N1Ym1lbnUucGVybWlzc2lvbnN9XG4gICAgICAgICAgICAgICAgICAgIGFjdGlvblJpZ2h0cz17c3VibWVudS5hY3Rpb25SaWdodHMgPz8gdW5kZWZpbmVkfVxuICAgICAgICAgICAgICAgICAgICBkYXRhRmVuY2VzPXtzdWJtZW51LmRhdGFGZW5jZXMgPz8gdW5kZWZpbmVkfVxuICAgICAgICAgICAgICAgICAgICBwcm9qZWN0UGVybWlzc2lvbnM9e3Byb3BzLnByb2plY3RQZXJtaXNzaW9uc31cbiAgICAgICAgICAgICAgICAgICAgbWVudVZpc2liaWxpdGllcz17cHJvcHMubWVudVZpc2liaWxpdGllc31cbiAgICAgICAgICAgICAgICAgICAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXM9e1xuICAgICAgICAgICAgICAgICAgICAgIHN1Ym1lbnUubWVudVZpc2liaWxpdHlcbiAgICAgICAgICAgICAgICAgICAgICAgID8gW3N1Ym1lbnUubWVudVZpc2liaWxpdHldXG4gICAgICAgICAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzc05hbWU9e3N0eWxlc1snc3VibGlzdC1pdGVtJ119PlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMudGV4dH0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8TWVudUl0ZW1MaW5rXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmtUbz17YC8ke3Byb3BzLnByb2plY3RLZXl9LyR7c3VibWVudS51cmlQYXRofWB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGV4YWN0TWF0Y2g9e3RydWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rcz17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHMudXNlRnVsbFJlZGlyZWN0c0ZvckxpbmtzXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17cHJvcHMub25NZW51SXRlbUNsaWNrfVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8TWVudUxhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWxBbGxMb2NhbGVzPXtzdWJtZW51LmxhYmVsQWxsTG9jYWxlc31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0TGFiZWw9e3N1Ym1lbnUuZGVmYXVsdExhYmVsfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uTG9jYWxlPXtwcm9wcy5hcHBsaWNhdGlvbkxvY2FsZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvTWVudUl0ZW1MaW5rPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgPC9SZXN0cmljdGVkTWVudUl0ZW0+XG4gICAgICAgICAgICAgICAgKSlcbiAgICAgICAgICAgICAgOiBudWxsfVxuICAgICAgICAgIDwvTWVudUdyb3VwPlxuICAgICAgICA8L01lbnVJdGVtPlxuICAgICAgPC9SZXN0cmljdGVkTWVudUl0ZW0+XG4gICAgPC8+XG4gICk7XG59O1xuQXBwbGljYXRpb25NZW51LmRpc3BsYXlOYW1lID0gJ0FwcGxpY2F0aW9uTWVudSc7XG5cbnR5cGUgTmF2QmFyTGF5b3V0UHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59O1xuY29uc3QgTmF2QmFyTGF5b3V0ID0gZm9yd2FyZFJlZjxIVE1MRWxlbWVudCwgTmF2QmFyTGF5b3V0UHJvcHM+KFxuICAocHJvcHMsIHJlZikgPT4gKFxuICAgIDw+XG4gICAgICA8R2xvYmFsXG4gICAgICAgIHN0eWxlcz17Y3NzYFxuICAgICAgICAgICR7Y29tcGlsZWRTdHlsZXMuZ2xvYmFsfVxuICAgICAgICBgfVxuICAgICAgLz5cbiAgICAgIDxuYXZcbiAgICAgICAgcmVmPXtyZWZ9XG4gICAgICAgIGNsYXNzTmFtZT17c3R5bGVzWydsZWZ0LW5hdmlnYXRpb24nXX1cbiAgICAgICAgZGF0YS10ZXN0PVwibGVmdC1uYXZpZ2F0aW9uXCJcbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJsZWZ0LW5hdmlnYXRpb25cIlxuICAgICAgICBkYXRhLXRyYWNrLWNvbXBvbmVudD1cIk5hdmlnYXRpb25cIlxuICAgICAgPlxuICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICA8L25hdj5cbiAgICA8Lz5cbiAgKVxuKTtcbk5hdkJhckxheW91dC5kaXNwbGF5TmFtZSA9ICdOYXZCYXJMYXlvdXQnO1xuXG50eXBlIE5hdmJhclByb3BzPEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXMgZXh0ZW5kcyB7fT4gPSB7XG4gIGFwcGxpY2F0aW9uTG9jYWxlOiBzdHJpbmc7XG4gIHByb2plY3RLZXk6IHN0cmluZztcbiAgZW52aXJvbm1lbnQ6IFRBcHBsaWNhdGlvbkNvbnRleHQ8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcz5bJ2Vudmlyb25tZW50J107XG4gIHByb2plY3Q6IFRGZXRjaFByb2plY3RRdWVyeVsncHJvamVjdCddO1xuICBvbk1lbnVJdGVtQ2xpY2s/OiBNZW51SXRlbUxpbmtQcm9wc1snb25DbGljayddO1xuICBERVZfT05MWV9fbG9hZE5hdmJhck1lbnVDb25maWc/OiAoKSA9PiBQcm9taXNlPFRBcHBsaWNhdGlvbnNNZW51WyduYXZCYXInXT47XG59O1xuY29uc3QgTmF2QmFyID0gPEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXMgZXh0ZW5kcyB7fT4oXG4gIHByb3BzOiBOYXZiYXJQcm9wczxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlxuKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBuYXZCYXJOb2RlLFxuICAgIGlzTWVudU9wZW4sXG4gICAgaXNFeHBhbmRlclZpc2libGUsXG4gICAgYWN0aXZlSXRlbUluZGV4LFxuICAgIGhhbmRsZVRvZ2dsZUl0ZW0sXG4gICAgaGFuZGxlVG9nZ2xlTWVudSxcbiAgICBzaG91bGRDbG9zZU1lbnVGbHksXG4gICAgYWxsQXBwbGljYXRpb25OYXZiYXJNZW51LFxuICB9ID0gdXNlTmF2YmFyU3RhdGVNYW5hZ2VyKHtcbiAgICBlbnZpcm9ubWVudDogcHJvcHMuZW52aXJvbm1lbnQsXG4gICAgREVWX09OTFlfX2xvYWROYXZiYXJNZW51Q29uZmlnOiBwcm9wcy5ERVZfT05MWV9fbG9hZE5hdmJhck1lbnVDb25maWcsXG4gIH0pO1xuICBjb25zdCB1c2VGdWxsUmVkaXJlY3RzRm9yTGlua3MgPSBCb29sZWFuKFxuICAgIHByb3BzLmVudmlyb25tZW50LnVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rc1xuICApO1xuICBjb25zdCBsb2NhdGlvbiA9IHVzZUxvY2F0aW9uKCk7XG5cbiAgY29uc3QgcHJvamVjdFBlcm1pc3Npb25zOiBUUHJvamVjdFBlcm1pc3Npb25zID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoe1xuICAgICAgcGVybWlzc2lvbnM6IG5vcm1hbGl6ZUFsbEFwcGxpZWRQZXJtaXNzaW9ucyhcbiAgICAgICAgcHJvcHMucHJvamVjdD8uYWxsUGVybWlzc2lvbnNGb3JBbGxBcHBsaWNhdGlvbnMuYWxsQXBwbGllZFBlcm1pc3Npb25zXG4gICAgICApLFxuICAgICAgYWN0aW9uUmlnaHRzOiBub3JtYWxpemVBbGxBcHBsaWVkQWN0aW9uUmlnaHRzKFxuICAgICAgICBwcm9wcy5wcm9qZWN0Py5hbGxQZXJtaXNzaW9uc0ZvckFsbEFwcGxpY2F0aW9ucy5hbGxBcHBsaWVkQWN0aW9uUmlnaHRzXG4gICAgICApLFxuICAgICAgZGF0YUZlbmNlczogbm9ybWFsaXplQWxsQXBwbGllZERhdGFGZW5jZXMoXG4gICAgICAgIHByb3BzLnByb2plY3Q/LmFsbFBlcm1pc3Npb25zRm9yQWxsQXBwbGljYXRpb25zLmFsbEFwcGxpZWREYXRhRmVuY2VzXG4gICAgICApLFxuICAgIH0pLFxuICAgIFtwcm9wcy5wcm9qZWN0XVxuICApO1xuICBjb25zdCBtZW51VmlzaWJpbGl0aWVzID0gdXNlTWVtbyhcbiAgICAoKSA9PlxuICAgICAgbm9ybWFsaXplQWxsQXBwbGllZE1lbnVWaXNpYmlsaXRpZXMoXG4gICAgICAgIHByb3BzLnByb2plY3Q/LmFsbFBlcm1pc3Npb25zRm9yQWxsQXBwbGljYXRpb25zXG4gICAgICAgICAgLmFsbEFwcGxpZWRNZW51VmlzaWJpbGl0aWVzXG4gICAgICApLFxuICAgIFtwcm9wcy5wcm9qZWN0XVxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPE5hdkJhckxheW91dCByZWY9e25hdkJhck5vZGV9PlxuICAgICAgPE1lbnVHcm91cCBpZD1cIm1haW5cIiBsZXZlbD17MX0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ3Njcm9sbGFibGUtbWVudSddfT5cbiAgICAgICAgICB7YWxsQXBwbGljYXRpb25OYXZiYXJNZW51Lm1hcCgobWVudSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbWVudVR5cGUgPSAnc2Nyb2xsYWJsZSc7XG4gICAgICAgICAgICBjb25zdCBpdGVtSW5kZXggPSBgJHttZW51VHlwZX0tJHttZW51LmtleX1gO1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgPEFwcGxpY2F0aW9uTWVudVxuICAgICAgICAgICAgICAgIGtleT17bWVudS5rZXl9XG4gICAgICAgICAgICAgICAgbG9jYXRpb249e2xvY2F0aW9ufVxuICAgICAgICAgICAgICAgIG1lbnU9e21lbnV9XG4gICAgICAgICAgICAgICAgaXNBY3RpdmU9e2FjdGl2ZUl0ZW1JbmRleCA9PT0gaXRlbUluZGV4fVxuICAgICAgICAgICAgICAgIGhhbmRsZVRvZ2dsZUl0ZW09eygpID0+IGhhbmRsZVRvZ2dsZUl0ZW0oaXRlbUluZGV4KX1cbiAgICAgICAgICAgICAgICBpc01lbnVPcGVuPXtpc01lbnVPcGVufVxuICAgICAgICAgICAgICAgIHNob3VsZENsb3NlTWVudUZseT17c2hvdWxkQ2xvc2VNZW51Rmx5fVxuICAgICAgICAgICAgICAgIHByb2plY3RQZXJtaXNzaW9ucz17cHJvamVjdFBlcm1pc3Npb25zfVxuICAgICAgICAgICAgICAgIG1lbnVWaXNpYmlsaXRpZXM9e21lbnVWaXNpYmlsaXRpZXN9XG4gICAgICAgICAgICAgICAgYXBwbGljYXRpb25Mb2NhbGU9e3Byb3BzLmFwcGxpY2F0aW9uTG9jYWxlfVxuICAgICAgICAgICAgICAgIHByb2plY3RLZXk9e3Byb3BzLnByb2plY3RLZXl9XG4gICAgICAgICAgICAgICAgdXNlRnVsbFJlZGlyZWN0c0ZvckxpbmtzPXt1c2VGdWxsUmVkaXJlY3RzRm9yTGlua3N9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0pfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snZml4ZWQtbWVudSddfT5cbiAgICAgICAgICA8TWVudUl0ZW1cbiAgICAgICAgICAgIGhhc1N1Ym1lbnU9e2ZhbHNlfVxuICAgICAgICAgICAgaXNBY3RpdmU9e2ZhbHNlfVxuICAgICAgICAgICAgaXNNZW51T3Blbj17aXNNZW51T3Blbn1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgaGFuZGxlVG9nZ2xlSXRlbSgnZml4ZWQtc3VwcG9ydCcpO1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIG9uTW91c2VFbnRlcj17XG4gICAgICAgICAgICAgIGlzTWVudU9wZW4gPyB1bmRlZmluZWQgOiAoKSA9PiBoYW5kbGVUb2dnbGVJdGVtKCdmaXhlZC1zdXBwb3J0JylcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG9uTW91c2VMZWF2ZT17aXNNZW51T3BlbiA/IHVuZGVmaW5lZCA6IHNob3VsZENsb3NlTWVudUZseX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICBocmVmPXtTVVBQT1JUX1BPUlRBTF9VUkx9XG4gICAgICAgICAgICAgIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIlxuICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydpdGVtLWljb24tdGV4dCddfT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzLmljb259PlxuICAgICAgICAgICAgICAgICAgPFN1cHBvcnRJY29uXG4gICAgICAgICAgICAgICAgICAgIHNpemU9XCJzY2FsZVwiXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yPXtnZXRJY29uQ29sb3IoXG4gICAgICAgICAgICAgICAgICAgICAgYWN0aXZlSXRlbUluZGV4ID09PSAnZml4ZWQtc3VwcG9ydCcsXG4gICAgICAgICAgICAgICAgICAgICAgdHJ1ZVxuICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzLnRpdGxlfT5cbiAgICAgICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIHsuLi5tZXNzYWdlc1snTmF2QmFyLk1DU3VwcG9ydC50aXRsZSddfSAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICA8L01lbnVJdGVtPlxuICAgICAgICAgIDxNZW51RXhwYW5kZXJcbiAgICAgICAgICAgIGlzVmlzaWJsZT17aXNFeHBhbmRlclZpc2libGV9XG4gICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVUb2dnbGVNZW51fVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9NZW51R3JvdXA+XG4gICAgPC9OYXZCYXJMYXlvdXQ+XG4gICk7XG59O1xuTmF2QmFyLmRpc3BsYXlOYW1lID0gJ05hdkJhcic7XG5cbmV4cG9ydCBkZWZhdWx0IE5hdkJhcjtcblxuZXhwb3J0IGNvbnN0IExvYWRpbmdOYXZCYXIgPSAoKSA9PiB7XG4gIGNvbnN0IHJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gIHVzZUxvYWRpbmdNZW51TGF5b3V0RWZmZWN0KCk7XG4gIHJldHVybiAoXG4gICAgPE5hdkJhckxheW91dCByZWY9e3JlZn0+XG4gICAgICA8TWVudUdyb3VwIGlkPVwibWFpblwiIGxldmVsPXsxfT5cbiAgICAgICAgPD5cbiAgICAgICAgICB7QXJyYXkuZnJvbShuZXcgQXJyYXkoNSkpLm1hcCgoXywgaW5kZXgpID0+IChcbiAgICAgICAgICAgIDxNZW51SXRlbVxuICAgICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgICBoYXNTdWJtZW51PXtmYWxzZX1cbiAgICAgICAgICAgICAgaXNNZW51T3Blbj17ZmFsc2V9XG4gICAgICAgICAgICAgIGlzQWN0aXZlPXtmYWxzZX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gdW5kZWZpbmVkfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXNbJ2xvYWRpbmctZG90LWNvbnRhaW5lciddfVxuICAgICAgICAgICAgICAgIGRhdGEtdGVzdGlkPXtgZG90LWNvbnRhaW5lci0ke2luZGV4fWB9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8TG9hZGluZ1BsYWNlaG9sZGVyIHNoYXBlPVwiZG90XCIgc2l6ZT1cIm1cIiAvPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvTWVudUl0ZW0+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvPlxuICAgICAgPC9NZW51R3JvdXA+XG4gICAgPC9OYXZCYXJMYXlvdXQ+XG4gICk7XG59O1xuTG9hZGluZ05hdkJhci5kaXNwbGF5TmFtZSA9ICdMb2FkaW5nTmF2QmFyJztcbiJdfQ== */")
3727
3695
  }), jsxRuntime.jsx("nav", {
3728
3696
  ref: ref,
3729
3697
  className: styles['left-navigation'],
@@ -3806,7 +3774,7 @@ var NavBar = function NavBar(props) {
3806
3774
  },
3807
3775
  onMouseLeave: isMenuOpen ? undefined : shouldCloseMenuFly,
3808
3776
  children: jsxRuntime.jsx("a", {
3809
- href: constants.SUPPORT_PORTAL_URL,
3777
+ href: constants$1.SUPPORT_PORTAL_URL,
3810
3778
  rel: "noopener noreferrer",
3811
3779
  target: "_blank",
3812
3780
  children: jsxRuntime.jsxs("div", {
@@ -3909,7 +3877,7 @@ var pimIndexerStates = {
3909
3877
  };
3910
3878
 
3911
3879
  var QuickAccess = /*#__PURE__*/react.lazy(function () {
3912
- return Promise.resolve().then(function () { return require('./quick-access-3c16727c.cjs.dev.js'
3880
+ return Promise.resolve().then(function () { return require('./quick-access-53014796.cjs.dev.js'
3913
3881
  /* webpackChunkName: "quick-access" */
3914
3882
  ); });
3915
3883
  });
@@ -4008,6 +3976,51 @@ QuickAccessTrigger.propTypes = process.env.NODE_ENV !== "production" ? {
4008
3976
  } : {};
4009
3977
  QuickAccessTrigger.displayName = 'QuickAccessTrigger';
4010
3978
 
3979
+ /**
3980
+ * Get the "real" Merchant Center frontend URL to redirect the user
3981
+ * to the login page.
3982
+ * We use an explicit full URL so that if a user tries to access the
3983
+ * Custom Applications directly to its domain, it will always redirect
3984
+ * the user to the login page.
3985
+ *
3986
+ * To determine the "real" URL, we need to check if the current location
3987
+ * is a Merchant Center domain, or if it's a custom user domain.
3988
+ * For the latter, we can derive the URL from the Merchant Center API URL.
3989
+ *
3990
+ * A Merchant Center hostname is composed by the following parts:
3991
+ * https://<mc-prefix>.<region>.<provider>.<ct-domain>.<tld>
3992
+ * We neeed to check if at least the first 4 parts (right-to-left) are
3993
+ * the same.
3994
+ */
3995
+ function getMcOrigin(mcApiUrl) {
3996
+ var _context, _context2;
3997
+
3998
+ var actualWindow = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : window;
3999
+ var mcApiUrlObject = new _URL__default["default"](mcApiUrl);
4000
+
4001
+ var _mcApiUrlObject$hostn = _reverseInstanceProperty__default["default"](_context = mcApiUrlObject.hostname.split('.')).call(_context),
4002
+ _mcApiUrlObject$hostn2 = _slicedToArray(_mcApiUrlObject$hostn, 4),
4003
+ tldMcApi = _mcApiUrlObject$hostn2[0],
4004
+ ctDomainMcApi = _mcApiUrlObject$hostn2[1],
4005
+ providerMcApi = _mcApiUrlObject$hostn2[2],
4006
+ regionMcApi = _mcApiUrlObject$hostn2[3];
4007
+
4008
+ var _actualWindow$locatio = _reverseInstanceProperty__default["default"](_context2 = actualWindow.location.hostname.split('.')).call(_context2),
4009
+ _actualWindow$locatio2 = _slicedToArray(_actualWindow$locatio, 4),
4010
+ tldMc = _actualWindow$locatio2[0],
4011
+ ctDomainMc = _actualWindow$locatio2[1],
4012
+ providerMc = _actualWindow$locatio2[2],
4013
+ regionMc = _actualWindow$locatio2[3];
4014
+
4015
+ var isMatching = tldMcApi === tldMc && ctDomainMcApi === ctDomainMc && providerMcApi === providerMc && regionMcApi === regionMc;
4016
+
4017
+ if (isMatching) {
4018
+ return actualWindow.location.origin;
4019
+ }
4020
+
4021
+ return mcApiUrlObject.origin.replace('mc-api', 'mc');
4022
+ }
4023
+
4011
4024
  var generateAndCacheNonceWithState = function generateAndCacheNonceWithState(state) {
4012
4025
  var nonce = uuid.v4(); // We store additional information within the given `nonce`
4013
4026
  // to then retrieve it later when the IdP redirects back
@@ -4024,6 +4037,7 @@ var RedirectToLogin = function RedirectToLogin() {
4024
4037
  var _window$app$__DEVELOP, _window$app$__DEVELOP2;
4025
4038
 
4026
4039
  var location = reactRouterDom.useLocation();
4040
+ var servedByProxy = applicationEntryPoint.useIsServedByProxy();
4027
4041
 
4028
4042
  if ((_window$app$__DEVELOP = window.app.__DEVELOPMENT__) !== null && _window$app$__DEVELOP !== void 0 && (_window$app$__DEVELOP2 = _window$app$__DEVELOP.oidc) !== null && _window$app$__DEVELOP2 !== void 0 && _window$app$__DEVELOP2.authorizeUrl) {
4029
4043
  var _window$app$__DEVELOP3, _window$app$__DEVELOP4, _window$app$__DEVELOP5, _window$app$__DEVELOP6, _window$app$__DEVELOP7, _window$app$__DEVELOP8;
@@ -4049,7 +4063,7 @@ var RedirectToLogin = function RedirectToLogin() {
4049
4063
  redirectTo: nextProjectKey ? "/".concat(nextProjectKey) : '/'
4050
4064
  }
4051
4065
  });
4052
- var requestedScope = buildOidcScope({
4066
+ var requestedScope = oidc.buildOidcScope({
4053
4067
  projectKey: nextProjectKey !== null && nextProjectKey !== void 0 ? nextProjectKey : undefined,
4054
4068
  oAuthScopes: (_window$app$__DEVELOP3 = window.app.__DEVELOPMENT__) === null || _window$app$__DEVELOP3 === void 0 ? void 0 : (_window$app$__DEVELOP4 = _window$app$__DEVELOP3.oidc) === null || _window$app$__DEVELOP4 === void 0 ? void 0 : _window$app$__DEVELOP4.oAuthScopes,
4055
4069
  teamId: (_window$app$__DEVELOP5 = window.app.__DEVELOPMENT__) === null || _window$app$__DEVELOP5 === void 0 ? void 0 : (_window$app$__DEVELOP6 = _window$app$__DEVELOP5.oidc) === null || _window$app$__DEVELOP6 === void 0 ? void 0 : _window$app$__DEVELOP6.teamId
@@ -4063,10 +4077,10 @@ var RedirectToLogin = function RedirectToLogin() {
4063
4077
  origin: (_window$app$__DEVELOP7 = window.app.__DEVELOPMENT__) === null || _window$app$__DEVELOP7 === void 0 ? void 0 : (_window$app$__DEVELOP8 = _window$app$__DEVELOP7.oidc) === null || _window$app$__DEVELOP8 === void 0 ? void 0 : _window$app$__DEVELOP8.authorizeUrl,
4064
4078
  location: location,
4065
4079
  queryParams: {
4066
- reason: constants.LOGOUT_REASONS.UNAUTHORIZED,
4080
+ reason: constants$1.LOGOUT_REASONS.UNAUTHORIZED,
4067
4081
  // Query parameters for OIDC-lik workflow.
4068
4082
  client_id: window.app.applicationId,
4069
- response_type: applicationEntryPoint.OIDC_RESPONSE_TYPES.ID_TOKEN,
4083
+ response_type: constants.OIDC_RESPONSE_TYPES.ID_TOKEN,
4070
4084
  scope: requestedScope,
4071
4085
  state: sessionId,
4072
4086
  nonce: sessionId
@@ -4074,11 +4088,13 @@ var RedirectToLogin = function RedirectToLogin() {
4074
4088
  });
4075
4089
  }
4076
4090
 
4091
+ var mcOrigin = servedByProxy ? getMcOrigin(window.app.mcApiUrl) : undefined;
4077
4092
  return jsxRuntime.jsx(Redirector, {
4078
4093
  to: "login",
4094
+ origin: mcOrigin,
4079
4095
  location: location,
4080
4096
  queryParams: {
4081
- reason: constants.LOGOUT_REASONS.UNAUTHORIZED,
4097
+ reason: constants$1.LOGOUT_REASONS.UNAUTHORIZED,
4082
4098
  redirectTo: urlUtils.trimLeadingAndTrailingSlashes(urlUtils.joinPaths(window.location.origin, location.pathname))
4083
4099
  }
4084
4100
  });
@@ -4096,9 +4112,7 @@ var RedirectToLogout = function RedirectToLogout(props) {
4096
4112
  var _window$app$__DEVELOP, _window$app$__DEVELOP2, _props$reason;
4097
4113
 
4098
4114
  var location = reactRouterDom.useLocation();
4099
- var servedByProxy = applicationShellConnectors.useApplicationContext(function (context) {
4100
- return context.environment.servedByProxy;
4101
- });
4115
+ var servedByProxy = applicationEntryPoint.useIsServedByProxy();
4102
4116
 
4103
4117
  if ((_window$app$__DEVELOP = window.app.__DEVELOPMENT__) !== null && _window$app$__DEVELOP !== void 0 && (_window$app$__DEVELOP2 = _window$app$__DEVELOP.oidc) !== null && _window$app$__DEVELOP2 !== void 0 && _window$app$__DEVELOP2.authorizeUrl) {
4104
4118
  // Remove the `sessionToken` from storage, so that the AppShell can initiate
@@ -4107,11 +4121,13 @@ var RedirectToLogout = function RedirectToLogout(props) {
4107
4121
  return jsxRuntime.jsx(RedirectToLogin, {});
4108
4122
  }
4109
4123
 
4124
+ var mcOrigin = servedByProxy ? getMcOrigin(window.app.mcApiUrl) : undefined;
4110
4125
  return jsxRuntime.jsx(Redirector, {
4111
4126
  to: "logout",
4127
+ origin: mcOrigin,
4112
4128
  location: location,
4113
4129
  queryParams: _objectSpread$1({
4114
- reason: (_props$reason = props.reason) !== null && _props$reason !== void 0 ? _props$reason : constants.LOGOUT_REASONS.USER
4130
+ reason: (_props$reason = props.reason) !== null && _props$reason !== void 0 ? _props$reason : constants$1.LOGOUT_REASONS.USER
4115
4131
  }, servedByProxy ? {} : {
4116
4132
  // This will be used after being logged in, to redirect to this location.
4117
4133
  redirectTo: window.location.origin
@@ -4233,7 +4249,7 @@ var RestrictedApplication = function RestrictedApplication(props) {
4233
4249
 
4234
4250
  if (hasUnauthorizedError || hasUserBeenDeletedError) {
4235
4251
  var logoutReason;
4236
- if (hasUnauthorizedError) logoutReason = constants.LOGOUT_REASONS.UNAUTHORIZED;else if (hasUserBeenDeletedError) logoutReason = constants.LOGOUT_REASONS.DELETED;
4252
+ if (hasUnauthorizedError) logoutReason = constants$1.LOGOUT_REASONS.UNAUTHORIZED;else if (hasUserBeenDeletedError) logoutReason = constants$1.LOGOUT_REASONS.DELETED;
4237
4253
  return jsxRuntime.jsx(RedirectToLogout, {
4238
4254
  reason: logoutReason
4239
4255
  });
@@ -4300,7 +4316,7 @@ var RestrictedApplication = function RestrictedApplication(props) {
4300
4316
  role: "global-notifications",
4301
4317
  css: _ref5,
4302
4318
  children: jsxRuntime.jsx(reactNotifications.NotificationsList, {
4303
- domain: constants.DOMAINS.GLOBAL
4319
+ domain: constants$1.DOMAINS.GLOBAL
4304
4320
  })
4305
4321
  }), jsxRuntime.jsx(reactRouterDom.Route, {
4306
4322
  children: function children() {
@@ -4389,9 +4405,9 @@ var RestrictedApplication = function RestrictedApplication(props) {
4389
4405
  }) : jsxRuntime.jsxs(MainContainer, {
4390
4406
  role: "main",
4391
4407
  children: [jsxRuntime.jsx(reactNotifications.NotificationsList, {
4392
- domain: constants.DOMAINS.PAGE
4408
+ domain: constants$1.DOMAINS.PAGE
4393
4409
  }), jsxRuntime.jsx(reactNotifications.NotificationsList, {
4394
- domain: constants.DOMAINS.SIDE
4410
+ domain: constants$1.DOMAINS.SIDE
4395
4411
  }), jsxRuntime.jsxs("div", {
4396
4412
  css: _ref2,
4397
4413
  children: [jsxRuntime.jsx(applicationComponents.PortalsContainer, {}), jsxRuntime.jsxs(reactRouterDom.Switch, {