@commercetools-frontend/application-shell 0.0.0-canary-20231006132821 → 0.0.0-canary-20231006133022

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 (48) hide show
  1. package/dist/commercetools-frontend-application-shell.cjs.dev.js +1 -1
  2. package/dist/commercetools-frontend-application-shell.cjs.prod.js +1 -1
  3. package/dist/commercetools-frontend-application-shell.esm.js +1 -1
  4. package/dist/{custom-view-dev-host-06cd9298.esm.js → custom-view-dev-host-1fd0f6ea.esm.js} +1 -1
  5. package/dist/{custom-view-dev-host-c386262d.cjs.dev.js → custom-view-dev-host-5269541a.cjs.dev.js} +1 -1
  6. package/dist/{index-16fb17ed.cjs.dev.js → index-1b22899d.cjs.dev.js} +8 -8
  7. package/dist/{index-e8eaa23e.esm.js → index-d21fca31.esm.js} +8 -8
  8. package/dist/{index-eb667f86.cjs.prod.js → index-e1563bc8.cjs.prod.js} +7 -7
  9. package/dist/{navbar-f5bd00b1.esm.js → navbar-a9346884.esm.js} +25 -16
  10. package/dist/{navbar-40798616.cjs.dev.js → navbar-adae1e66.cjs.dev.js} +25 -16
  11. package/dist/{navbar-41368ac6.cjs.prod.js → navbar-cf2b9914.cjs.prod.js} +15 -11
  12. package/dist/{oidc-callback-411bc1b1.cjs.prod.js → oidc-callback-2ae6240b.cjs.prod.js} +1 -1
  13. package/dist/{oidc-callback-8ccf9088.cjs.dev.js → oidc-callback-4766a002.cjs.dev.js} +1 -1
  14. package/dist/{oidc-callback-5e6c2103.esm.js → oidc-callback-9804cb83.esm.js} +1 -1
  15. package/dist/{project-container-843216c7.cjs.dev.js → project-container-8d74b228.cjs.dev.js} +5 -5
  16. package/dist/{project-container-b33ff72a.esm.js → project-container-931188c8.esm.js} +5 -5
  17. package/dist/{project-container-bc7aef04.cjs.prod.js → project-container-d4a5f6d1.cjs.prod.js} +5 -5
  18. package/dist/{project-expired-9fab43ff.cjs.dev.js → project-expired-84822a08.cjs.dev.js} +2 -2
  19. package/dist/{project-expired-fce0177b.esm.js → project-expired-f0a39227.esm.js} +2 -2
  20. package/dist/{project-expired-cd960538.cjs.prod.js → project-expired-f9306738.cjs.prod.js} +2 -2
  21. package/dist/{project-not-found-c1c13ad6.esm.js → project-not-found-6c630512.esm.js} +2 -2
  22. package/dist/{project-not-found-7e16cb7e.cjs.dev.js → project-not-found-831fa71b.cjs.dev.js} +2 -2
  23. package/dist/{project-not-found-8ae8dd97.cjs.prod.js → project-not-found-e4e2d8f9.cjs.prod.js} +2 -2
  24. package/dist/{project-not-initialized-e98c40f4.cjs.prod.js → project-not-initialized-633dbada.cjs.prod.js} +2 -2
  25. package/dist/{project-not-initialized-d8ae96bc.esm.js → project-not-initialized-63e627b0.esm.js} +2 -2
  26. package/dist/{project-not-initialized-bd2aa99f.cjs.dev.js → project-not-initialized-e716d20c.cjs.dev.js} +2 -2
  27. package/dist/{project-suspended-169f7ca2.esm.js → project-suspended-2884fd94.esm.js} +2 -2
  28. package/dist/{project-suspended-39a69021.cjs.dev.js → project-suspended-928f8bac.cjs.dev.js} +2 -2
  29. package/dist/{project-suspended-47ef90f1.cjs.prod.js → project-suspended-983cb4e6.cjs.prod.js} +2 -2
  30. package/dist/{quick-access-6623bc0d.cjs.prod.js → quick-access-2d040c3c.cjs.prod.js} +1 -1
  31. package/dist/{quick-access-c0d643df.cjs.dev.js → quick-access-5e10c276.cjs.dev.js} +1 -1
  32. package/dist/{quick-access-2f3d0e95.esm.js → quick-access-aba01a39.esm.js} +1 -1
  33. package/dist/{redirect-to-logout-344b6a43.esm.js → redirect-to-logout-1285b648.esm.js} +1 -1
  34. package/dist/{redirect-to-logout-08aabbb0.cjs.dev.js → redirect-to-logout-4af8387b.cjs.dev.js} +1 -1
  35. package/dist/{redirect-to-logout-a0a6878e.cjs.prod.js → redirect-to-logout-a05e13bf.cjs.prod.js} +1 -1
  36. package/dist/{requests-in-flight-loader-7cdac906.esm.js → requests-in-flight-loader-14dcaedf.esm.js} +1 -1
  37. package/dist/{requests-in-flight-loader-fc16921c.cjs.prod.js → requests-in-flight-loader-3bc4632c.cjs.prod.js} +1 -1
  38. package/dist/{requests-in-flight-loader-a8874983.cjs.dev.js → requests-in-flight-loader-998441e0.cjs.dev.js} +1 -1
  39. package/dist/{service-page-project-switcher-66c18589.cjs.prod.js → service-page-project-switcher-229f0863.cjs.prod.js} +1 -1
  40. package/dist/{service-page-project-switcher-8762c62b.esm.js → service-page-project-switcher-a9e94867.esm.js} +1 -1
  41. package/dist/{service-page-project-switcher-5e54bd39.cjs.dev.js → service-page-project-switcher-f3916b08.cjs.dev.js} +1 -1
  42. package/dist/{use-applications-menu-5c0e077a.esm.js → use-applications-menu-596f8a76.esm.js} +1 -1
  43. package/dist/{use-applications-menu-dfb30a78.cjs.prod.js → use-applications-menu-af9b4a38.cjs.prod.js} +1 -1
  44. package/dist/{use-applications-menu-9295a7ea.cjs.dev.js → use-applications-menu-b6f60e31.cjs.dev.js} +1 -1
  45. package/dist/{user-settings-menu-338f8400.esm.js → user-settings-menu-4512f619.esm.js} +2 -2
  46. package/dist/{user-settings-menu-603cccd7.cjs.dev.js → user-settings-menu-91249f90.cjs.dev.js} +2 -2
  47. package/dist/{user-settings-menu-767f5aa1.cjs.prod.js → user-settings-menu-f7045064.cjs.prod.js} +2 -2
  48. package/package.json +16 -16
@@ -26,8 +26,8 @@ import { S as STORAGE_KEYS, W as WINDOW_SIZES, D as DIMENSIONS } from './constan
26
26
  import isNil from 'lodash/isNil';
27
27
  import throttle from 'lodash/throttle';
28
28
  import { reportErrorToSentry } from '@commercetools-frontend/sentry';
29
- import { u as useMcQuery, L as LoadingPlaceholder } from './index-e8eaa23e.esm.js';
30
- import { u as useApplicationsMenu } from './use-applications-menu-5c0e077a.esm.js';
29
+ import { u as useMcQuery, L as LoadingPlaceholder } from './index-d21fca31.esm.js';
30
+ import { u as useApplicationsMenu } from './use-applications-menu-596f8a76.esm.js';
31
31
  import _objectWithoutProperties from '@babel/runtime-corejs3/helpers/esm/objectWithoutProperties';
32
32
  import _styled from '@emotion/styled/base';
33
33
  import _includesInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/includes';
@@ -373,9 +373,9 @@ const ListWithSearchIcon$1 = /*#__PURE__*/lazy(() => import('./list-with-search-
373
373
  // For backwards compatibility purposes, we still support the legacy "icon name",
374
374
  // which we then map to one of the pre-defined icons.
375
375
  // Eventually, we want to get rid of this "switch" logic.
376
- const IconSwitcher$1 = _ref3 => {
377
- let icon = _ref3.icon,
378
- iconProps = _objectWithoutProperties(_ref3, _excluded$1);
376
+ const IconSwitcher$1 = _ref4 => {
377
+ let icon = _ref4.icon,
378
+ iconProps = _objectWithoutProperties(_ref4, _excluded$1);
379
379
  if (_includesInstanceProperty(icon).call(icon, '<svg')) {
380
380
  return jsx(InlineSvg, _objectSpread$4({
381
381
  data: icon
@@ -429,8 +429,8 @@ IconSwitcher$1.propTypes = process.env.NODE_ENV !== "production" ? {
429
429
  icon: _pt.string.isRequired
430
430
  } : {};
431
431
  IconSwitcher$1.displayName = 'IconSwitcher';
432
- const getIcon = _ref4 => {
433
- let isMenuOpen = _ref4.isMenuOpen;
432
+ const getIcon = _ref5 => {
433
+ let isMenuOpen = _ref5.isMenuOpen;
434
434
  const Icon = isMenuOpen ? SidebarCollapseIcon : SidebarExpandIcon;
435
435
  return jsx(Icon, {
436
436
  color: "surface",
@@ -467,29 +467,38 @@ const Faded$1 = /*#__PURE__*/_styled("div", process.env.NODE_ENV === "production
467
467
  } : {
468
468
  name: "16qr508",
469
469
  styles: "position:absolute;top:-32px;height:32px;width:100%;background:linear-gradient(180deg, rgba(0, 153, 135, 0) 0%, #00b39e 100%);z-index:1",
470
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1lbnUtaXRlbXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNKd0IiLCJmaWxlIjoibWVudS1pdGVtcy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBmb3J3YXJkUmVmLFxuICBsYXp5LFxuICBNb3VzZUV2ZW50SGFuZGxlcixcbiAgdHlwZSBSZWFjdE5vZGUsXG4gIHR5cGUgU3ludGhldGljRXZlbnQsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEdsb2JhbCwgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgdXNlRmxhZ1ZhcmlhdGlvbiB9IGZyb20gJ0BmbG9wZmxpcC9yZWFjdC1icm9hZGNhc3QnO1xuaW1wb3J0IHR5cGUgeyBURmxhZ1ZhcmlhdGlvbiB9IGZyb20gJ0BmbG9wZmxpcC90eXBlcyc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCB7IE5hdkxpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB0eXBlIHtcbiAgVE5vcm1hbGl6ZWRNZW51VmlzaWJpbGl0aWVzLFxuICBUTm9ybWFsaXplZFBlcm1pc3Npb25zLFxuICBUTm9ybWFsaXplZEFjdGlvblJpZ2h0cyxcbiAgVE5vcm1hbGl6ZWREYXRhRmVuY2VzLFxufSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hcHBsaWNhdGlvbi1zaGVsbC1jb25uZWN0b3JzJztcbmltcG9ydCBNaXNzaW5nSW1hZ2VTdmcgZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXNzZXRzL2ltYWdlcy9kaWFnb25hbC1saW5lLnN2Zyc7XG5pbXBvcnQgeyBOT19WQUxVRV9GQUxMQkFDSyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBSZXN0cmljdGVkQnlQZXJtaXNzaW9ucyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL3Blcm1pc3Npb25zJztcbmltcG9ydCB7XG4gIEJhY2tJY29uLFxuICBTaWRlYmFyRXhwYW5kSWNvbixcbiAgU2lkZWJhckNvbGxhcHNlSWNvbixcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaWNvbnMnO1xuaW1wb3J0IElubGluZVN2ZyBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucy9pbmxpbmUtc3ZnJztcbmltcG9ydCB7IERJTUVOU0lPTlMgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHR5cGUge1xuICBURGF0YUZlbmNlLFxuICBUQWN0aW9uUmlnaHQsXG4gIFRMb2NhbGl6ZWRGaWVsZCxcbn0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvZ2VuZXJhdGVkL3Byb3h5JztcbmltcG9ydCB7IGxvY2F0aW9uIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvbG9jYXRpb24nO1xuLy8gaHR0cHM6Ly9iYWJlbGpzLmlvL2Jsb2cvMjAxNy8wOS8xMS96ZXJvLWNvbmZpZy13aXRoLWJhYmVsLW1hY3Jvc1xuaW1wb3J0IGNvbXBpbGVkU3R5bGVzIGZyb20gLyogcHJldmFsICovICcuL25hdmJhci5zdHlsZXMnO1xuXG5jb25zdCBzdHlsZXMgPSBjb21waWxlZFN0eWxlcy5qc29uTWFwO1xuXG50eXBlIFRQcm9qZWN0UGVybWlzc2lvbnMgPSB7XG4gIHBlcm1pc3Npb25zOiBUTm9ybWFsaXplZFBlcm1pc3Npb25zIHwgbnVsbDtcbiAgYWN0aW9uUmlnaHRzOiBUTm9ybWFsaXplZEFjdGlvblJpZ2h0cyB8IG51bGw7XG4gIGRhdGFGZW5jZXM6IFROb3JtYWxpemVkRGF0YUZlbmNlcyB8IG51bGw7XG59O1xuXG5jb25zdCBIZWFydEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL2hlYXJ0JykpO1xuY29uc3QgUGFwZXJjbGlwSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvcGFwZXJjbGlwJykpO1xuY29uc3QgUGx1Z2luSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvcGx1Z2luJykpO1xuY29uc3QgUm9ja2V0SWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvcm9ja2V0JykpO1xuY29uc3QgU3Rhckljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3N0YXInKSk7XG5jb25zdCBDb25uZWN0ZWRTcXVhcmVJY29uID0gbGF6eShcbiAgKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvY29ubmVjdGVkLXNxdWFyZScpXG4pO1xuY29uc3QgV29ybGRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy93b3JsZCcpKTtcbmNvbnN0IFRyZWVTdHJ1Y3R1cmVJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy90cmVlLXN0cnVjdHVyZScpKTtcbmNvbnN0IFVzZXJGaWxsZWRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy91c2VyLWZpbGxlZCcpKTtcbmNvbnN0IFNwZWVkb21ldGVySWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvc3BlZWRvbWV0ZXInKSk7XG5jb25zdCBUYWdNdWx0aUljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3RhZy1tdWx0aScpKTtcbmNvbnN0IENhcnRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9jYXJ0JykpO1xuY29uc3QgQm94SWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvYm94JykpO1xuY29uc3QgR2Vhckljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL2dlYXInKSk7XG5jb25zdCBMaXN0V2l0aFNlYXJjaEljb24gPSBsYXp5KFxuICAoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9saXN0LXdpdGgtc2VhcmNoJylcbik7XG5cbnR5cGUgSWNvblByb3BzID0gUGFyYW1ldGVyczx0eXBlb2YgQmFja0ljb24+WzBdO1xudHlwZSBJY29uU3dpdGNoZXJQcm9wcyA9IHsgaWNvbjogc3RyaW5nIH0gJiBJY29uUHJvcHM7XG4vLyBUaGUgaWNvbiBpcyBleHBlY3RlZCB0byBiZSB0aGUgYHN2Z2AgZG9jdW1lbnQgYXMgYSBzdHJpbmcuXG4vLyBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgcHVycG9zZXMsIHdlIHN0aWxsIHN1cHBvcnQgdGhlIGxlZ2FjeSBcImljb24gbmFtZVwiLFxuLy8gd2hpY2ggd2UgdGhlbiBtYXAgdG8gb25lIG9mIHRoZSBwcmUtZGVmaW5lZCBpY29ucy5cbi8vIEV2ZW50dWFsbHksIHdlIHdhbnQgdG8gZ2V0IHJpZCBvZiB0aGlzIFwic3dpdGNoXCIgbG9naWMuXG5jb25zdCBJY29uU3dpdGNoZXIgPSAoeyBpY29uLCAuLi5pY29uUHJvcHMgfTogSWNvblN3aXRjaGVyUHJvcHMpID0+IHtcbiAgaWYgKGljb24uaW5jbHVkZXMoJzxzdmcnKSkge1xuICAgIHJldHVybiA8SW5saW5lU3ZnIGRhdGE9e2ljb259IHsuLi5pY29uUHJvcHN9IC8+O1xuICB9XG4gIC8vIEJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IGZvciBhcHBzIHVzaW5nIHRoZSBcImljb24gbmFtZVwiLlxuICBzd2l0Y2ggKGljb24pIHtcbiAgICAvLyBMZWdhY3kgYXBwbGljYXRpb24gaWNvbnNcbiAgICAvLyBUT0RPOiBUbyBiZSByZW1vdmVkIG9uY2UgTUMgYXBwbGljYXRpb25zIGljb25zIHVwZGF0ZXMgYXJlIHB1Ymxpc2hlZFxuICAgIGNhc2UgJ1RyZWVTdHJ1Y3R1cmVJY29uJzpcbiAgICAgIHJldHVybiA8VHJlZVN0cnVjdHVyZUljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnVXNlckZpbGxlZEljb24nOlxuICAgICAgcmV0dXJuIDxVc2VyRmlsbGVkSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdTcGVlZG9tZXRlckljb24nOlxuICAgICAgcmV0dXJuIDxTcGVlZG9tZXRlckljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnVGFnTXVsdGlJY29uJzpcbiAgICAgIHJldHVybiA8VGFnTXVsdGlJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ0NhcnRJY29uJzpcbiAgICAgIHJldHVybiA8Q2FydEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnQm94SWNvbic6XG4gICAgICByZXR1cm4gPEJveEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnR2Vhckljb24nOlxuICAgICAgcmV0dXJuIDxHZWFySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdMaXN0V2l0aFNlYXJjaEljb24nOlxuICAgICAgcmV0dXJuIDxMaXN0V2l0aFNlYXJjaEljb24gey4uLmljb25Qcm9wc30gLz47XG5cbiAgICAvLyBDdXN0b20gYXBwbGljYXRpb24gaWNvbnMgc2V0XG4gICAgY2FzZSAnSGVhcnRJY29uJzpcbiAgICAgIHJldHVybiA8SGVhcnRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1BhcGVyY2xpcEljb24nOlxuICAgICAgcmV0dXJuIDxQYXBlcmNsaXBJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1BsdWdpbkljb24nOlxuICAgICAgcmV0dXJuIDxQbHVnaW5JY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1JvY2tldEljb24nOlxuICAgICAgcmV0dXJuIDxSb2NrZXRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1N0YXJJY29uJzpcbiAgICAgIHJldHVybiA8U3Rhckljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnQ29ubmVjdGVkU3F1YXJlSWNvbic6XG4gICAgICByZXR1cm4gPENvbm5lY3RlZFNxdWFyZUljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgLy8gRm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG4gICAgY2FzZSAnV29ybGRJY29uJzpcbiAgICAgIHJldHVybiA8V29ybGRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gPGltZyBzcmM9e01pc3NpbmdJbWFnZVN2Z30gYWx0PVwibWlzc2luZyBpY29uXCIgLz47XG4gIH1cbn07XG5JY29uU3dpdGNoZXIuZGlzcGxheU5hbWUgPSAnSWNvblN3aXRjaGVyJztcblxudHlwZSBNZW51RXhwYW5kZXJQcm9wcyA9IHtcbiAgaXNWaXNpYmxlOiBib29sZWFuO1xuICBvbkNsaWNrOiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRGl2RWxlbWVudD47XG4gIGlzTWVudU9wZW46IGJvb2xlYW47XG59O1xuXG5jb25zdCBnZXRJY29uID0gKHsgaXNNZW51T3BlbiB9OiBNZW51RXhwYW5kZXJQcm9wcykgPT4ge1xuICBjb25zdCBJY29uID0gaXNNZW51T3BlbiA/IFNpZGViYXJDb2xsYXBzZUljb24gOiBTaWRlYmFyRXhwYW5kSWNvbjtcbiAgcmV0dXJuIDxJY29uIGNvbG9yPVwic3VyZmFjZVwiIHNpemU9XCJiaWdcIiAvPjtcbn07XG5cbmNvbnN0IE1lbnVFeHBhbmRlciA9IChwcm9wczogTWVudUV4cGFuZGVyUHJvcHMpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8bGlcbiAgICAgIGtleT1cImV4cGFuZGVyXCJcbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcyhzdHlsZXNbJ2xpc3QtaXRlbSddLCBzdHlsZXMuZXhwYW5kZXIsIHtcbiAgICAgICAgW3N0eWxlcy5oaWRkZW5dOiAhcHJvcHMuaXNWaXNpYmxlLFxuICAgICAgfSl9XG4gICAgPlxuICAgICAgPGRpdlxuICAgICAgICBvbkNsaWNrPXtwcm9wcy5vbkNsaWNrfVxuICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1snZXhwYW5kLWljb24nXX1cbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJtZW51LWV4cGFuZGVyXCJcbiAgICAgID5cbiAgICAgICAge2dldEljb24ocHJvcHMpfVxuICAgICAgPC9kaXY+XG4gICAgPC9saT5cbiAgKTtcbn07XG5NZW51RXhwYW5kZXIuZGlzcGxheU5hbWUgPSAnTWVudUV4cGFuZGVyJztcblxuY29uc3QgRmFkZWQgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTMycHg7XG4gIGhlaWdodDogMzJweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMCwgMTUzLCAxMzUsIDApIDAlLCAjMDBiMzllIDEwMCUpO1xuICB6LWluZGV4OiAxO1xuYDtcblxudHlwZSBNZW51R3JvdXBQcm9wcyA9IHtcbiAgaWQ6IHN0cmluZztcbiAgbGV2ZWw6IDEgfCAyO1xuICBpc0FjdGl2ZT86IGJvb2xlYW47XG4gIGlzRXhwYW5kZWQ/OiBib29sZWFuO1xuICBoYXNTdWJtZW51PzogYm9vbGVhbjtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG4gIHN1Ym1lbnVWZXJ0aWNhbFBvc2l0aW9uPzogbnVtYmVyO1xuICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IGdldFN1Ym1lbnVQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uID0gKFxuICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtPzogYm9vbGVhbixcbiAgc3VibWVudVZlcnRpY2FsUG9zaXRpb24/OiBudW1iZXJcbikgPT4gY3NzYFxuICAke2lzU3VibWVudUFib3ZlTWVudUl0ZW0gPyAnYm90dG9tJyA6ICd0b3AnfTogJHtzdWJtZW51VmVydGljYWxQb3NpdGlvbn1weFxuYDtcblxuY29uc3QgZ2V0Q29udGFpbmVyUG9zaXRpb25CYXNlZE9uTWVudUl0ZW1Qb3NpdGlvbiA9IChcbiAgaXNTdWJtZW51QWJvdmVNZW51SXRlbT86IGJvb2xlYW4sXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQ/OiBib29sZWFuLFxuICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZD86IGJvb2xlYW5cbikgPT4gW1xuICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCAmJlxuICAgIGNzc2BcbiAgICAgICR7aXNTdWJtZW51QWJvdmVNZW51SXRlbVxuICAgICAgICA/ICdib3R0b20nXG4gICAgICAgIDogJ3RvcCd9OiAtJHtESU1FTlNJT05TLm5hdk1lbnVJdGVtSGVpZ2h0fTtcbiAgICBgLFxuICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkICYmXG4gICAgaXNTdWJtZW51QWJvdmVNZW51SXRlbSAmJlxuICAgIGNzc2BcbiAgICAgIGJvdHRvbTogMDtcbiAgICBgLFxuICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkICYmXG4gICAgIWlzU3VibWVudUFib3ZlTWVudUl0ZW0gJiZcbiAgICBjc3NgXG4gICAgICB0b3A6IDA7XG4gICAgYCxcbl07XG5cbmNvbnN0IE1lbnVHcm91cCA9IGZvcndhcmRSZWY8SFRNTFVMaXN0RWxlbWVudCwgTWVudUdyb3VwUHJvcHM+KChwcm9wcywgcmVmKSA9PiB7XG4gIGlmIChcbiAgICBwcm9wcy5pc0V4cGFuZGVkICYmXG4gICAgKChwcm9wcy5sZXZlbCA9PT0gMiAmJiAhcHJvcHMuaGFzU3VibWVudSkgfHxcbiAgICAgIChwcm9wcy5sZXZlbCA9PT0gMiAmJiAhcHJvcHMuaXNBY3RpdmUpKVxuICApIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBjb25zdCBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkID1cbiAgICBwcm9wcy5sZXZlbCA9PT0gMiAmJiBwcm9wcy5pc0FjdGl2ZSAmJiBwcm9wcy5pc0V4cGFuZGVkO1xuICBjb25zdCBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCA9XG4gICAgcHJvcHMubGV2ZWwgPT09IDIgJiYgcHJvcHMuaXNBY3RpdmUgJiYgIXByb3BzLmlzRXhwYW5kZWQ7XG4gIHJldHVybiAoXG4gICAgPHVsXG4gICAgICByZWY9e3JlZiAmJiBwcm9wcy5sZXZlbCA9PT0gMiA/IHJlZiA6IG51bGx9XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgJHtnZXRTdWJtZW51UG9zaXRpb25CYXNlZE9uTWVudUl0ZW1Qb3NpdGlvbihcbiAgICAgICAgICBwcm9wcy5pc1N1Ym1lbnVBYm92ZU1lbnVJdGVtLFxuICAgICAgICAgIHByb3BzLnN1Ym1lbnVWZXJ0aWNhbFBvc2l0aW9uXG4gICAgICAgICl9O1xuXG4gICAgICAgIC8vIGFkZGl0aW9uYWwgc3R5bGluZyBvZiB0aGUgcHNldWRvLWVsZW1lbnQgZW5hYmxpbmcgc21vb3RoIGNvdXJzb3IgbW92ZW1lbnRcbiAgICAgICAgOjpiZWZvcmUge1xuICAgICAgICAgICR7Z2V0Q29udGFpbmVyUG9zaXRpb25CYXNlZE9uTWVudUl0ZW1Qb3NpdGlvbihcbiAgICAgICAgICAgIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkLFxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWRcbiAgICAgICAgICApfVxuICAgICAgYH1cbiAgICAgIGlkPXtgZ3JvdXAtJHtwcm9wcy5pZH1gfVxuICAgICAgZGF0YS10ZXN0aWQ9e2Bncm91cC0ke3Byb3BzLmlkfWB9XG4gICAgICByb2xlPVwibWVudVwiXG4gICAgICBhcmlhLWV4cGFuZGVkPXtcbiAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCB8fFxuICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZFxuICAgICAgfVxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKFxuICAgICAgICB7IFtzdHlsZXMubGlzdF06IHByb3BzLmxldmVsID09PSAxIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0J11dOiBwcm9wcy5sZXZlbCA9PT0gMixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtZXhwYW5kZWRfX2FjdGl2ZSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0LWNvbGxhcHNlZF9fZW1wdHknXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCAmJiAhcHJvcHMuaGFzU3VibWVudSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtY29sbGFwc2VkX19hY3RpdmUnXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCAmJlxuICAgICAgICAgICAgIXByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0LWNvbGxhcHNlZF9fYWN0aXZlX19hYm92ZSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzLnN1Ymxpc3RfX2luYWN0aXZlXTogIWlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkLFxuICAgICAgICB9XG4gICAgICApfVxuICAgID5cbiAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICA8L3VsPlxuICApO1xufSk7XG5NZW51R3JvdXAuZGlzcGxheU5hbWUgPSAnTWVudUdyb3VwJztcblxudHlwZSBNZW51SXRlbVByb3BzID0ge1xuICBoYXNTdWJtZW51OiBib29sZWFuO1xuICBpc0FjdGl2ZTogYm9vbGVhbjtcbiAgaXNNYWluTWVudVJvdXRlQWN0aXZlPzogYm9vbGVhbjtcbiAgaXNNZW51T3BlbjogYm9vbGVhbjtcbiAgb25DbGljazogTW91c2VFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+O1xuICBvbk1vdXNlRW50ZXI/OiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD47XG4gIG9uTW91c2VMZWF2ZT86IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50PjtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgaWRlbnRpZmllcj86IHN0cmluZztcbn07XG5jb25zdCBNZW51SXRlbSA9IChwcm9wczogTWVudUl0ZW1Qcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxsaVxuICAgICAgcm9sZT1cIm1lbnVpdGVtXCJcbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcyhzdHlsZXNbJ2xpc3QtaXRlbSddLCB7XG4gICAgICAgIFtzdHlsZXMuaXRlbV9fYWN0aXZlXTogcHJvcHMuaXNBY3RpdmUsXG4gICAgICAgIFtzdHlsZXNbJ2l0ZW1fbWVudV9fYWN0aXZlJ11dOiBwcm9wcy5pc01haW5NZW51Um91dGVBY3RpdmUgPz8gZmFsc2UsXG4gICAgICAgIFtzdHlsZXNbJ2l0ZW1fbWVudS1jb2xsYXBzZWQnXV06ICFwcm9wcy5pc01lbnVPcGVuLFxuICAgICAgfSl9XG4gICAgICBvbkNsaWNrPXtwcm9wcy5vbkNsaWNrfVxuICAgICAgb25Nb3VzZUVudGVyPXtwcm9wcy5vbk1vdXNlRW50ZXJ9XG4gICAgICBvbk1vdXNlTGVhdmU9e3Byb3BzLm9uTW91c2VMZWF2ZX1cbiAgICAgIGRhdGEtbWVudWl0ZW09e3Byb3BzLmlkZW50aWZpZXJ9XG4gICAgPlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaXRlbS1saW5rJ119Pntwcm9wcy5jaGlsZHJlbn08L2Rpdj5cbiAgICA8L2xpPlxuICApO1xufTtcblxuTWVudUl0ZW0uZGlzcGxheU5hbWUgPSAnTWVudUl0ZW0nO1xuXG5leHBvcnQgdHlwZSBNZW51SXRlbUxpbmtQcm9wcyA9IHtcbiAgbGlua1RvPzogc3RyaW5nO1xuICBleGFjdE1hdGNoOiBib29sZWFuO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBvbkNsaWNrPzogKGV2ZW50OiBTeW50aGV0aWNFdmVudDxIVE1MQW5jaG9yRWxlbWVudD4pID0+IHZvaWQ7XG4gIHVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rcz86IGJvb2xlYW47XG4gIGlzU3VibWVudUxpbms/OiBib29sZWFuO1xufTtcbmNvbnN0IG1lbnVJdGVtTGlua0RlZmF1bHRQcm9wczogUGljazxNZW51SXRlbUxpbmtQcm9wcywgJ2V4YWN0TWF0Y2gnPiA9IHtcbiAgZXhhY3RNYXRjaDogZmFsc2UsXG59O1xuY29uc3QgTmF2TGlua1dyYXBwZXIgPSAocHJvcHM6IE1lbnVJdGVtTGlua1Byb3BzKSA9PiB7XG4gIGlmIChwcm9wcy5pc1N1Ym1lbnVMaW5rKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ3RleHQtbGluay1zdWJsaXN0LXdyYXBwZXInXX0+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5jb25zdCBOYXZMaW5rQ2xpY2thYmxlQ29udGVudFdyYXBwZXIgPSAocHJvcHM6IE1lbnVJdGVtTGlua1Byb3BzKSA9PiB7XG4gIGlmIChwcm9wcy5pc1N1Ym1lbnVMaW5rKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ25hdmxpbmstY2xpY2thYmxlLWNvbnRlbnQnXX0+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5cbmNvbnN0IE1lbnVJdGVtTGluayA9IChwcm9wczogTWVudUl0ZW1MaW5rUHJvcHMpID0+IHtcbiAgY29uc3QgcmVkaXJlY3RUbyA9ICh0YXJnZXRVcmw6IHN0cmluZykgPT4gbG9jYXRpb24ucmVwbGFjZSh0YXJnZXRVcmwpO1xuICBpZiAocHJvcHMubGlua1RvKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxOYXZMaW5rV3JhcHBlciB7Li4ucHJvcHN9PlxuICAgICAgICA8TmF2TGlua1xuICAgICAgICAgIHRvPXtwcm9wcy5saW5rVG99XG4gICAgICAgICAgZXhhY3Q9e3Byb3BzLmV4YWN0TWF0Y2h9XG4gICAgICAgICAgYWN0aXZlQ2xhc3NOYW1lPXtzdHlsZXMuaGlnaGxpZ2h0ZWR9XG4gICAgICAgICAgY2xhc3NOYW1lPXtcbiAgICAgICAgICAgIHByb3BzLmlzU3VibWVudUxpbmtcbiAgICAgICAgICAgICAgPyBzdHlsZXNbJ3RleHQtbGluay1zdWJsaXN0J11cbiAgICAgICAgICAgICAgOiBzdHlsZXNbJ3RleHQtbGluayddXG4gICAgICAgICAgfVxuICAgICAgICAgIG9uQ2xpY2s9eyhldmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKHByb3BzLmxpbmtUbyAmJiBwcm9wcy51c2VGdWxsUmVkaXJlY3RzRm9yTGlua3MpIHtcbiAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgcmVkaXJlY3RUbyhwcm9wcy5saW5rVG8pO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChwcm9wcy5vbkNsaWNrKSB7XG4gICAgICAgICAgICAgIGV2ZW50LnBlcnNpc3QoKTtcbiAgICAgICAgICAgICAgcHJvcHMub25DbGljayhldmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxOYXZMaW5rQ2xpY2thYmxlQ29udGVudFdyYXBwZXIgey4uLnByb3BzfT5cbiAgICAgICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgICAgICA8L05hdkxpbmtDbGlja2FibGVDb250ZW50V3JhcHBlcj5cbiAgICAgICAgPC9OYXZMaW5rPlxuICAgICAgPC9OYXZMaW5rV3JhcHBlcj5cbiAgICApO1xuICB9XG4gIHJldHVybiA8Pntwcm9wcy5jaGlsZHJlbn08Lz47XG59O1xuTWVudUl0ZW1MaW5rLmRpc3BsYXlOYW1lID0gJ01lbnVJdGVtTGluayc7XG5NZW51SXRlbUxpbmsuZGVmYXVsdFByb3BzID0gbWVudUl0ZW1MaW5rRGVmYXVsdFByb3BzO1xuXG5jb25zdCBpc0V2ZXJ5TWVudVZpc2liaWxpdHlTZXRUb0hpZGRlbiA9IChcbiAgbWVudVZpc2liaWxpdGllcz86IFROb3JtYWxpemVkTWVudVZpc2liaWxpdGllcyB8IG51bGwsXG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPzogc3RyaW5nW11cbikgPT5cbiAgQXJyYXkuaXNBcnJheShuYW1lc09mTWVudVZpc2liaWxpdGllcykgJiZcbiAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXMubGVuZ3RoID4gMCAmJlxuICBuYW1lc09mTWVudVZpc2liaWxpdGllcy5ldmVyeShcbiAgICAobmFtZU9mTWVudVZpc2liaWxpdHkpID0+XG4gICAgICBtZW51VmlzaWJpbGl0aWVzICYmIG1lbnVWaXNpYmlsaXRpZXNbbmFtZU9mTWVudVZpc2liaWxpdHldID09PSB0cnVlXG4gICk7XG5cbnR5cGUgUmVzdHJpY3RlZE1lbnVJdGVtUHJvcHMgPSB7XG4gIGZlYXR1cmVUb2dnbGU/OiBzdHJpbmc7XG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPzogc3RyaW5nW107XG4gIHByb2plY3RQZXJtaXNzaW9uczogVFByb2plY3RQZXJtaXNzaW9ucztcbiAgbWVudVZpc2liaWxpdGllczogVE5vcm1hbGl6ZWRNZW51VmlzaWJpbGl0aWVzIHwgbnVsbDtcbiAga2V5T2ZNZW51SXRlbTogc3RyaW5nO1xuICBwZXJtaXNzaW9uczogc3RyaW5nW107XG4gIGFjdGlvblJpZ2h0cz86IFRBY3Rpb25SaWdodFtdO1xuICBkYXRhRmVuY2VzPzogVERhdGFGZW5jZVtdO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xufTtcbnR5cGUgVExvbmdMaXZlZEZsYWcgPSB7XG4gIHZhbHVlOiBib29sZWFuO1xuICByZWFzb24/OiBzdHJpbmc7XG59O1xuY29uc3QgcmVzdHJpY3RlZE1lbnVJdGVtRGVmYXVsdFByb3BzOiBQaWNrPFxuICBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcyxcbiAgJ3Blcm1pc3Npb25zJ1xuPiA9IHtcbiAgcGVybWlzc2lvbnM6IFtdLFxufTtcbmZ1bmN0aW9uIGlzTG9uZ0xpdmVkRmxhZyhcbiAgZmxhZzogVEZsYWdWYXJpYXRpb24gfCBUTG9uZ0xpdmVkRmxhZ1xuKTogZmxhZyBpcyBUTG9uZ0xpdmVkRmxhZyB7XG4gIHJldHVybiB0eXBlb2YgKGZsYWcgYXMgVExvbmdMaXZlZEZsYWcpPy52YWx1ZSA9PT0gJ2Jvb2xlYW4nO1xufVxuY29uc3QgUmVzdHJpY3RlZE1lbnVJdGVtID0gKHByb3BzOiBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcykgPT4ge1xuICAvLyBOT1RFOiBDdXN0b20gYXBwbGljYXRpb24gYXJlIGFjdGl2YXRlZC9kZWFjdGl2YXRlZCB3aGlsZSB0aGVpclxuICAvLyB2aXNpYmlsaXR5IGlzIG5vdCBjb250cm9sbGVkIHZpYSBhIHZpc2liaWlsaXR5IG92ZXJ3cml0ZS5cbiAgY29uc3QgZmxhZ1ZhcmlhdGlvbiA9IHVzZUZsYWdWYXJpYXRpb24ocHJvcHMuZmVhdHVyZVRvZ2dsZSk7XG4gIGlmIChcbiAgICBpc0V2ZXJ5TWVudVZpc2liaWxpdHlTZXRUb0hpZGRlbihcbiAgICAgIHByb3BzLm1lbnVWaXNpYmlsaXRpZXMsXG4gICAgICBwcm9wcy5uYW1lc09mTWVudVZpc2liaWxpdGllc1xuICAgIClcbiAgKVxuICAgIHJldHVybiBudWxsO1xuXG4gIGNvbnN0IHBlcm1pc3Npb25zV3JhcHBlciA9XG4gICAgKEFycmF5LmlzQXJyYXkocHJvcHMucGVybWlzc2lvbnMpICYmIHByb3BzLnBlcm1pc3Npb25zLmxlbmd0aCA+IDApIHx8XG4gICAgKEFycmF5LmlzQXJyYXkocHJvcHMuZGF0YUZlbmNlcykgJiYgcHJvcHMuZGF0YUZlbmNlcy5sZW5ndGggPiAwKSA/IChcbiAgICAgIDxSZXN0cmljdGVkQnlQZXJtaXNzaW9uc1xuICAgICAgICBwZXJtaXNzaW9ucz17cHJvcHMucGVybWlzc2lvbnN9XG4gICAgICAgIGFjdGlvblJpZ2h0cz17cHJvcHMuYWN0aW9uUmlnaHRzfVxuICAgICAgICBkYXRhRmVuY2VzPXtwcm9wcy5kYXRhRmVuY2VzfVxuICAgICAgICBzZWxlY3REYXRhRmVuY2VEYXRhPXsoZGVtYW5kZWREYXRhRmVuY2UpID0+IHtcbiAgICAgICAgICBzd2l0Y2ggKGRlbWFuZGVkRGF0YUZlbmNlLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ3N0b3JlJzpcbiAgICAgICAgICAgICAgcmV0dXJuIGRlbWFuZGVkRGF0YUZlbmNlLmFjdHVhbERhdGFGZW5jZVZhbHVlcztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfX1cbiAgICAgICAgLy8gQWx3YXlzIGNoZWNrIHRoYXQgc29tZSBvZiB0aGUgZ2l2ZW4gcGVybWlzc2lvbnMgbWF0Y2guXG4gICAgICAgIHNob3VsZE1hdGNoU29tZVBlcm1pc3Npb25zPXt0cnVlfVxuICAgICAgICBwcm9qZWN0UGVybWlzc2lvbnM9e3Byb3BzLnByb2plY3RQZXJtaXNzaW9uc31cbiAgICAgID5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9SZXN0cmljdGVkQnlQZXJtaXNzaW9ucz5cbiAgICApIDogKFxuICAgICAgPD57cHJvcHMuY2hpbGRyZW59PC8+XG4gICAgKTtcblxuICBpZiAocHJvcHMuZmVhdHVyZVRvZ2dsZSkge1xuICAgIC8vIEEgcmVndWxhciBzaG9ydC1saXZlZCBmZWF0dXJlIHRvZ2dsZVxuICAgIGlmIChmbGFnVmFyaWF0aW9uID09PSB0cnVlKSByZXR1cm4gcGVybWlzc2lvbnNXcmFwcGVyO1xuICAgIC8vIEEgbG9uZy1saXZlZCBmZWF0dXJlIHRvZ2dsZSB3aXRoIGB7IHZhbHVlOiBib29sZWFuLCBzdHJpbmc6IHJlYXNvbiB9YFxuICAgIGlmIChpc0xvbmdMaXZlZEZsYWcoZmxhZ1ZhcmlhdGlvbikgJiYgZmxhZ1ZhcmlhdGlvbi52YWx1ZSA9PT0gdHJ1ZSlcbiAgICAgIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG59O1xuUmVzdHJpY3RlZE1lbnVJdGVtLmRpc3BsYXlOYW1lID0gJ1Jlc3RyaWN0ZWRNZW51SXRlbSc7XG5SZXN0cmljdGVkTWVudUl0ZW0uZGVmYXVsdFByb3BzID0gcmVzdHJpY3RlZE1lbnVJdGVtRGVmYXVsdFByb3BzO1xuXG50eXBlIE1lbnVMYWJlbFByb3BzID0ge1xuICBsYWJlbEFsbExvY2FsZXM6IFRMb2NhbGl6ZWRGaWVsZFtdO1xuICBkZWZhdWx0TGFiZWw/OiBzdHJpbmc7XG4gIGFwcGxpY2F0aW9uTG9jYWxlOiBzdHJpbmc7XG59O1xuY29uc3QgTWVudUxhYmVsID0gKHByb3BzOiBNZW51TGFiZWxQcm9wcykgPT4ge1xuICBjb25zdCBsb2NhbGl6ZWRMYWJlbCA9IHByb3BzLmxhYmVsQWxsTG9jYWxlcy5maW5kKChsb2MpID0+XG4gICAgcHJvcHMuYXBwbGljYXRpb25Mb2NhbGUuc3RhcnRzV2l0aChsb2MubG9jYWxlKVxuICApO1xuICBpZiAobG9jYWxpemVkTGFiZWwpIHJldHVybiA8Pntsb2NhbGl6ZWRMYWJlbC52YWx1ZX08Lz47XG4gIGlmIChwcm9wcy5kZWZhdWx0TGFiZWwpIHJldHVybiA8Pntwcm9wcy5kZWZhdWx0TGFiZWx9PC8+O1xuICByZXR1cm4gPD57Tk9fVkFMVUVfRkFMTEJBQ0t9PC8+O1xufTtcblxudHlwZSBUTmF2QmFyTGF5b3V0UHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59O1xuY29uc3QgTmF2QmFyTGF5b3V0ID0gZm9yd2FyZFJlZjxIVE1MRWxlbWVudCwgVE5hdkJhckxheW91dFByb3BzPihcbiAgKHByb3BzLCByZWYpID0+IChcbiAgICA8PlxuICAgICAgPEdsb2JhbFxuICAgICAgICBzdHlsZXM9e2Nzc2BcbiAgICAgICAgICAke2NvbXBpbGVkU3R5bGVzLmdsb2JhbH1cbiAgICAgICAgYH1cbiAgICAgIC8+XG4gICAgICA8bmF2XG4gICAgICAgIHJlZj17cmVmfVxuICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1snbGVmdC1uYXZpZ2F0aW9uJ119XG4gICAgICAgIGRhdGEtdGVzdD1cImxlZnQtbmF2aWdhdGlvblwiXG4gICAgICAgIGRhdGEtdGVzdGlkPVwibGVmdC1uYXZpZ2F0aW9uXCJcbiAgICAgID5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9uYXY+XG4gICAgPC8+XG4gIClcbik7XG5OYXZCYXJMYXlvdXQuZGlzcGxheU5hbWUgPSAnTmF2QmFyTGF5b3V0JztcblxudHlwZSBJdGVtQ29udGFpbmVyUHJvcHMgPSB7XG4gIGxhYmVsQWxsTG9jYWxlczogVExvY2FsaXplZEZpZWxkW107XG4gIGRlZmF1bHRMYWJlbD86IHN0cmluZztcbiAgYXBwbGljYXRpb25Mb2NhbGU6IHN0cmluZztcbiAgaWNvbjogc3RyaW5nO1xuICBpc01lbnVPcGVuPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IEl0ZW1Db250YWluZXIgPSAocHJvcHM6IEl0ZW1Db250YWluZXJQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2l0ZW0taWNvbi10ZXh0J119PlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaWNvbi1jb250YWluZXInXX0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMuaWNvbn0+XG4gICAgICAgICAgPEljb25Td2l0Y2hlciBpY29uPXtwcm9wcy5pY29ufSBzaXplPVwic2NhbGVcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAge3Byb3BzLmlzTWVudU9wZW4gPyAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMudGl0bGV9PlxuICAgICAgICAgIDxNZW51TGFiZWxcbiAgICAgICAgICAgIGxhYmVsQWxsTG9jYWxlcz17cHJvcHMubGFiZWxBbGxMb2NhbGVzfVxuICAgICAgICAgICAgZGVmYXVsdExhYmVsPXtwcm9wcy5kZWZhdWx0TGFiZWx9XG4gICAgICAgICAgICBhcHBsaWNhdGlvbkxvY2FsZT17cHJvcHMuYXBwbGljYXRpb25Mb2NhbGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApIDogbnVsbH1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbkl0ZW1Db250YWluZXIuZGlzcGxheU5hbWUgPSAnSXRlbUNvbnRhaW5lcic7XG5cbmV4cG9ydCB7XG4gIFJlc3RyaWN0ZWRNZW51SXRlbSxcbiAgTWVudUl0ZW0sXG4gIE1lbnVJdGVtTGluayxcbiAgSWNvblN3aXRjaGVyLFxuICBNZW51R3JvdXAsXG4gIE1lbnVMYWJlbCxcbiAgTWVudUV4cGFuZGVyLFxuICBGYWRlZCxcbiAgTmF2QmFyTGF5b3V0LFxuICBJdGVtQ29udGFpbmVyLFxufTtcbiJdfQ== */",
470
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1lbnUtaXRlbXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNKd0IiLCJmaWxlIjoibWVudS1pdGVtcy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBmb3J3YXJkUmVmLFxuICBsYXp5LFxuICBNb3VzZUV2ZW50SGFuZGxlcixcbiAgdHlwZSBSZWFjdE5vZGUsXG4gIHR5cGUgU3ludGhldGljRXZlbnQsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEdsb2JhbCwgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgdXNlRmxhZ1ZhcmlhdGlvbiB9IGZyb20gJ0BmbG9wZmxpcC9yZWFjdC1icm9hZGNhc3QnO1xuaW1wb3J0IHR5cGUgeyBURmxhZ1ZhcmlhdGlvbiB9IGZyb20gJ0BmbG9wZmxpcC90eXBlcyc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCB7IE5hdkxpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB0eXBlIHtcbiAgVE5vcm1hbGl6ZWRNZW51VmlzaWJpbGl0aWVzLFxuICBUTm9ybWFsaXplZFBlcm1pc3Npb25zLFxuICBUTm9ybWFsaXplZEFjdGlvblJpZ2h0cyxcbiAgVE5vcm1hbGl6ZWREYXRhRmVuY2VzLFxufSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hcHBsaWNhdGlvbi1zaGVsbC1jb25uZWN0b3JzJztcbmltcG9ydCBNaXNzaW5nSW1hZ2VTdmcgZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXNzZXRzL2ltYWdlcy9kaWFnb25hbC1saW5lLnN2Zyc7XG5pbXBvcnQgeyBOT19WQUxVRV9GQUxMQkFDSyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBSZXN0cmljdGVkQnlQZXJtaXNzaW9ucyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL3Blcm1pc3Npb25zJztcbmltcG9ydCB7XG4gIEJhY2tJY29uLFxuICBTaWRlYmFyRXhwYW5kSWNvbixcbiAgU2lkZWJhckNvbGxhcHNlSWNvbixcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaWNvbnMnO1xuaW1wb3J0IElubGluZVN2ZyBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucy9pbmxpbmUtc3ZnJztcbmltcG9ydCB7IERJTUVOU0lPTlMgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHR5cGUge1xuICBURGF0YUZlbmNlLFxuICBUQWN0aW9uUmlnaHQsXG4gIFRMb2NhbGl6ZWRGaWVsZCxcbn0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvZ2VuZXJhdGVkL3Byb3h5JztcbmltcG9ydCB7IGxvY2F0aW9uIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvbG9jYXRpb24nO1xuLy8gaHR0cHM6Ly9iYWJlbGpzLmlvL2Jsb2cvMjAxNy8wOS8xMS96ZXJvLWNvbmZpZy13aXRoLWJhYmVsLW1hY3Jvc1xuaW1wb3J0IGNvbXBpbGVkU3R5bGVzIGZyb20gLyogcHJldmFsICovICcuL25hdmJhci5zdHlsZXMnO1xuXG5jb25zdCBzdHlsZXMgPSBjb21waWxlZFN0eWxlcy5qc29uTWFwO1xuXG50eXBlIFRQcm9qZWN0UGVybWlzc2lvbnMgPSB7XG4gIHBlcm1pc3Npb25zOiBUTm9ybWFsaXplZFBlcm1pc3Npb25zIHwgbnVsbDtcbiAgYWN0aW9uUmlnaHRzOiBUTm9ybWFsaXplZEFjdGlvblJpZ2h0cyB8IG51bGw7XG4gIGRhdGFGZW5jZXM6IFROb3JtYWxpemVkRGF0YUZlbmNlcyB8IG51bGw7XG59O1xuXG5jb25zdCBIZWFydEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL2hlYXJ0JykpO1xuY29uc3QgUGFwZXJjbGlwSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvcGFwZXJjbGlwJykpO1xuY29uc3QgUGx1Z2luSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvcGx1Z2luJykpO1xuY29uc3QgUm9ja2V0SWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvcm9ja2V0JykpO1xuY29uc3QgU3Rhckljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3N0YXInKSk7XG5jb25zdCBDb25uZWN0ZWRTcXVhcmVJY29uID0gbGF6eShcbiAgKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvY29ubmVjdGVkLXNxdWFyZScpXG4pO1xuY29uc3QgV29ybGRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy93b3JsZCcpKTtcbmNvbnN0IFRyZWVTdHJ1Y3R1cmVJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy90cmVlLXN0cnVjdHVyZScpKTtcbmNvbnN0IFVzZXJGaWxsZWRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy91c2VyLWZpbGxlZCcpKTtcbmNvbnN0IFNwZWVkb21ldGVySWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvc3BlZWRvbWV0ZXInKSk7XG5jb25zdCBUYWdNdWx0aUljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3RhZy1tdWx0aScpKTtcbmNvbnN0IENhcnRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9jYXJ0JykpO1xuY29uc3QgQm94SWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvYm94JykpO1xuY29uc3QgR2Vhckljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL2dlYXInKSk7XG5jb25zdCBMaXN0V2l0aFNlYXJjaEljb24gPSBsYXp5KFxuICAoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9saXN0LXdpdGgtc2VhcmNoJylcbik7XG5cbnR5cGUgSWNvblByb3BzID0gUGFyYW1ldGVyczx0eXBlb2YgQmFja0ljb24+WzBdO1xudHlwZSBJY29uU3dpdGNoZXJQcm9wcyA9IHsgaWNvbjogc3RyaW5nIH0gJiBJY29uUHJvcHM7XG4vLyBUaGUgaWNvbiBpcyBleHBlY3RlZCB0byBiZSB0aGUgYHN2Z2AgZG9jdW1lbnQgYXMgYSBzdHJpbmcuXG4vLyBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgcHVycG9zZXMsIHdlIHN0aWxsIHN1cHBvcnQgdGhlIGxlZ2FjeSBcImljb24gbmFtZVwiLFxuLy8gd2hpY2ggd2UgdGhlbiBtYXAgdG8gb25lIG9mIHRoZSBwcmUtZGVmaW5lZCBpY29ucy5cbi8vIEV2ZW50dWFsbHksIHdlIHdhbnQgdG8gZ2V0IHJpZCBvZiB0aGlzIFwic3dpdGNoXCIgbG9naWMuXG5jb25zdCBJY29uU3dpdGNoZXIgPSAoeyBpY29uLCAuLi5pY29uUHJvcHMgfTogSWNvblN3aXRjaGVyUHJvcHMpID0+IHtcbiAgaWYgKGljb24uaW5jbHVkZXMoJzxzdmcnKSkge1xuICAgIHJldHVybiA8SW5saW5lU3ZnIGRhdGE9e2ljb259IHsuLi5pY29uUHJvcHN9IC8+O1xuICB9XG4gIC8vIEJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IGZvciBhcHBzIHVzaW5nIHRoZSBcImljb24gbmFtZVwiLlxuICBzd2l0Y2ggKGljb24pIHtcbiAgICAvLyBMZWdhY3kgYXBwbGljYXRpb24gaWNvbnNcbiAgICAvLyBUT0RPOiBUbyBiZSByZW1vdmVkIG9uY2UgTUMgYXBwbGljYXRpb25zIGljb25zIHVwZGF0ZXMgYXJlIHB1Ymxpc2hlZFxuICAgIGNhc2UgJ1RyZWVTdHJ1Y3R1cmVJY29uJzpcbiAgICAgIHJldHVybiA8VHJlZVN0cnVjdHVyZUljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnVXNlckZpbGxlZEljb24nOlxuICAgICAgcmV0dXJuIDxVc2VyRmlsbGVkSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdTcGVlZG9tZXRlckljb24nOlxuICAgICAgcmV0dXJuIDxTcGVlZG9tZXRlckljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnVGFnTXVsdGlJY29uJzpcbiAgICAgIHJldHVybiA8VGFnTXVsdGlJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ0NhcnRJY29uJzpcbiAgICAgIHJldHVybiA8Q2FydEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnQm94SWNvbic6XG4gICAgICByZXR1cm4gPEJveEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnR2Vhckljb24nOlxuICAgICAgcmV0dXJuIDxHZWFySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdMaXN0V2l0aFNlYXJjaEljb24nOlxuICAgICAgcmV0dXJuIDxMaXN0V2l0aFNlYXJjaEljb24gey4uLmljb25Qcm9wc30gLz47XG5cbiAgICAvLyBDdXN0b20gYXBwbGljYXRpb24gaWNvbnMgc2V0XG4gICAgY2FzZSAnSGVhcnRJY29uJzpcbiAgICAgIHJldHVybiA8SGVhcnRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1BhcGVyY2xpcEljb24nOlxuICAgICAgcmV0dXJuIDxQYXBlcmNsaXBJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1BsdWdpbkljb24nOlxuICAgICAgcmV0dXJuIDxQbHVnaW5JY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1JvY2tldEljb24nOlxuICAgICAgcmV0dXJuIDxSb2NrZXRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1N0YXJJY29uJzpcbiAgICAgIHJldHVybiA8U3Rhckljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnQ29ubmVjdGVkU3F1YXJlSWNvbic6XG4gICAgICByZXR1cm4gPENvbm5lY3RlZFNxdWFyZUljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgLy8gRm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG4gICAgY2FzZSAnV29ybGRJY29uJzpcbiAgICAgIHJldHVybiA8V29ybGRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gPGltZyBzcmM9e01pc3NpbmdJbWFnZVN2Z30gYWx0PVwibWlzc2luZyBpY29uXCIgLz47XG4gIH1cbn07XG5JY29uU3dpdGNoZXIuZGlzcGxheU5hbWUgPSAnSWNvblN3aXRjaGVyJztcblxudHlwZSBNZW51RXhwYW5kZXJQcm9wcyA9IHtcbiAgaXNWaXNpYmxlOiBib29sZWFuO1xuICBvbkNsaWNrOiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRGl2RWxlbWVudD47XG4gIGlzTWVudU9wZW46IGJvb2xlYW47XG59O1xuXG5jb25zdCBnZXRJY29uID0gKHsgaXNNZW51T3BlbiB9OiBNZW51RXhwYW5kZXJQcm9wcykgPT4ge1xuICBjb25zdCBJY29uID0gaXNNZW51T3BlbiA/IFNpZGViYXJDb2xsYXBzZUljb24gOiBTaWRlYmFyRXhwYW5kSWNvbjtcbiAgcmV0dXJuIDxJY29uIGNvbG9yPVwic3VyZmFjZVwiIHNpemU9XCJiaWdcIiAvPjtcbn07XG5cbmNvbnN0IE1lbnVFeHBhbmRlciA9IChwcm9wczogTWVudUV4cGFuZGVyUHJvcHMpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8bGlcbiAgICAgIGtleT1cImV4cGFuZGVyXCJcbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcyhzdHlsZXNbJ2xpc3QtaXRlbSddLCBzdHlsZXMuZXhwYW5kZXIsIHtcbiAgICAgICAgW3N0eWxlcy5oaWRkZW5dOiAhcHJvcHMuaXNWaXNpYmxlLFxuICAgICAgfSl9XG4gICAgPlxuICAgICAgPGRpdlxuICAgICAgICBvbkNsaWNrPXtwcm9wcy5vbkNsaWNrfVxuICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1snZXhwYW5kLWljb24nXX1cbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJtZW51LWV4cGFuZGVyXCJcbiAgICAgID5cbiAgICAgICAge2dldEljb24ocHJvcHMpfVxuICAgICAgPC9kaXY+XG4gICAgPC9saT5cbiAgKTtcbn07XG5NZW51RXhwYW5kZXIuZGlzcGxheU5hbWUgPSAnTWVudUV4cGFuZGVyJztcblxuY29uc3QgRmFkZWQgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTMycHg7XG4gIGhlaWdodDogMzJweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMCwgMTUzLCAxMzUsIDApIDAlLCAjMDBiMzllIDEwMCUpO1xuICB6LWluZGV4OiAxO1xuYDtcblxudHlwZSBNZW51R3JvdXBQcm9wcyA9IHtcbiAgaWQ6IHN0cmluZztcbiAgbGV2ZWw6IDEgfCAyO1xuICBpc0FjdGl2ZT86IGJvb2xlYW47XG4gIGlzRXhwYW5kZWQ/OiBib29sZWFuO1xuICBoYXNTdWJtZW51PzogYm9vbGVhbjtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG4gIHN1Ym1lbnVWZXJ0aWNhbFBvc2l0aW9uPzogbnVtYmVyO1xuICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IGdldFN1Ym1lbnVQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uID0gKFxuICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtPzogYm9vbGVhbixcbiAgc3VibWVudVZlcnRpY2FsUG9zaXRpb24/OiBudW1iZXJcbikgPT4gY3NzYFxuICAke2lzU3VibWVudUFib3ZlTWVudUl0ZW0gPyAnYm90dG9tJyA6ICd0b3AnfTogJHtzdWJtZW51VmVydGljYWxQb3NpdGlvbn1weFxuYDtcblxuY29uc3QgZ2V0Q29udGFpbmVyUG9zaXRpb25CYXNlZE9uTWVudUl0ZW1Qb3NpdGlvbiA9IChcbiAgaXNTdWJtZW51QWJvdmVNZW51SXRlbT86IGJvb2xlYW4sXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQ/OiBib29sZWFuLFxuICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZD86IGJvb2xlYW5cbikgPT4gW1xuICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCAmJlxuICAgIGNzc2BcbiAgICAgICR7aXNTdWJtZW51QWJvdmVNZW51SXRlbVxuICAgICAgICA/ICdib3R0b20nXG4gICAgICAgIDogJ3RvcCd9OiAtJHtESU1FTlNJT05TLm5hdk1lbnVJdGVtSGVpZ2h0fTtcbiAgICBgLFxuICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkICYmXG4gICAgaXNTdWJtZW51QWJvdmVNZW51SXRlbSAmJlxuICAgIGNzc2BcbiAgICAgIGJvdHRvbTogMDtcbiAgICBgLFxuICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkICYmXG4gICAgIWlzU3VibWVudUFib3ZlTWVudUl0ZW0gJiZcbiAgICBjc3NgXG4gICAgICB0b3A6IDA7XG4gICAgYCxcbl07XG5cbmNvbnN0IE1lbnVHcm91cCA9IGZvcndhcmRSZWY8SFRNTFVMaXN0RWxlbWVudCwgTWVudUdyb3VwUHJvcHM+KChwcm9wcywgcmVmKSA9PiB7XG4gIGlmIChcbiAgICBwcm9wcy5pc0V4cGFuZGVkICYmXG4gICAgKChwcm9wcy5sZXZlbCA9PT0gMiAmJiAhcHJvcHMuaGFzU3VibWVudSkgfHxcbiAgICAgIChwcm9wcy5sZXZlbCA9PT0gMiAmJiAhcHJvcHMuaXNBY3RpdmUpKVxuICApIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBjb25zdCBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkID1cbiAgICBwcm9wcy5sZXZlbCA9PT0gMiAmJiBwcm9wcy5pc0FjdGl2ZSAmJiBwcm9wcy5pc0V4cGFuZGVkO1xuICBjb25zdCBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCA9XG4gICAgcHJvcHMubGV2ZWwgPT09IDIgJiYgcHJvcHMuaXNBY3RpdmUgJiYgIXByb3BzLmlzRXhwYW5kZWQ7XG4gIHJldHVybiAoXG4gICAgPHVsXG4gICAgICByZWY9e3JlZiAmJiBwcm9wcy5sZXZlbCA9PT0gMiA/IHJlZiA6IG51bGx9XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgJHtnZXRTdWJtZW51UG9zaXRpb25CYXNlZE9uTWVudUl0ZW1Qb3NpdGlvbihcbiAgICAgICAgICBwcm9wcy5pc1N1Ym1lbnVBYm92ZU1lbnVJdGVtLFxuICAgICAgICAgIHByb3BzLnN1Ym1lbnVWZXJ0aWNhbFBvc2l0aW9uXG4gICAgICAgICl9O1xuICAgICAgXG4gICAgICAvLyBwcmV2ZW50IGdsaXRjaHkgYmVoYXZpb3IgZHVyaW5nIHRoZSBpbml0aWFsIHJlbmRlciB3aGVuIHRoZSBzdWJtZW51J3MgdmVydGljYWwgcG9zaXRpb24gaXMgZXZhbHVhdGVkIGFzIDBcbiAgICAgICR7XG4gICAgICAgIHByb3BzLnN1Ym1lbnVWZXJ0aWNhbFBvc2l0aW9uID09PSAwICYmXG4gICAgICAgIGNzc2BcbiAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIGBcbiAgICAgIH1cblxuICAgICAgICAvLyBhZGRpdGlvbmFsIHN0eWxpbmcgb2YgdGhlIHBzZXVkby1lbGVtZW50IGVuYWJsaW5nIHNtb290aCBjb3Vyc29yIG1vdmVtZW50XG4gICAgICAgIDo6YmVmb3JlIHtcbiAgICAgICAgICAke2dldENvbnRhaW5lclBvc2l0aW9uQmFzZWRPbk1lbnVJdGVtUG9zaXRpb24oXG4gICAgICAgICAgICBwcm9wcy5pc1N1Ym1lbnVBYm92ZU1lbnVJdGVtLFxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCxcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkXG4gICAgICAgICAgKX1cbiAgICAgIGB9XG4gICAgICBpZD17YGdyb3VwLSR7cHJvcHMuaWR9YH1cbiAgICAgIGRhdGEtdGVzdGlkPXtgZ3JvdXAtJHtwcm9wcy5pZH1gfVxuICAgICAgcm9sZT1cIm1lbnVcIlxuICAgICAgYXJpYS1leHBhbmRlZD17XG4gICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgfHxcbiAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWRcbiAgICAgIH1cbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcyhcbiAgICAgICAgeyBbc3R5bGVzLmxpc3RdOiBwcm9wcy5sZXZlbCA9PT0gMSB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlc1snc3VibGlzdCddXTogcHJvcHMubGV2ZWwgPT09IDIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0LWV4cGFuZGVkX19hY3RpdmUnXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlc1snc3VibGlzdC1jb2xsYXBzZWRfX2VtcHR5J11dOlxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQgJiYgIXByb3BzLmhhc1N1Ym1lbnUsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0LWNvbGxhcHNlZF9fYWN0aXZlJ11dOlxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQgJiZcbiAgICAgICAgICAgICFwcm9wcy5pc1N1Ym1lbnVBYm92ZU1lbnVJdGVtLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlc1snc3VibGlzdC1jb2xsYXBzZWRfX2FjdGl2ZV9fYWJvdmUnXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCAmJiBwcm9wcy5pc1N1Ym1lbnVBYm92ZU1lbnVJdGVtLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlcy5zdWJsaXN0X19pbmFjdGl2ZV06ICFpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCxcbiAgICAgICAgfVxuICAgICAgKX1cbiAgICA+XG4gICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgPC91bD5cbiAgKTtcbn0pO1xuTWVudUdyb3VwLmRpc3BsYXlOYW1lID0gJ01lbnVHcm91cCc7XG5cbnR5cGUgTWVudUl0ZW1Qcm9wcyA9IHtcbiAgaGFzU3VibWVudTogYm9vbGVhbjtcbiAgaXNBY3RpdmU6IGJvb2xlYW47XG4gIGlzTWFpbk1lbnVSb3V0ZUFjdGl2ZT86IGJvb2xlYW47XG4gIGlzTWVudU9wZW46IGJvb2xlYW47XG4gIG9uQ2xpY2s6IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50PjtcbiAgb25Nb3VzZUVudGVyPzogTW91c2VFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+O1xuICBvbk1vdXNlTGVhdmU/OiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD47XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIGlkZW50aWZpZXI/OiBzdHJpbmc7XG59O1xuY29uc3QgTWVudUl0ZW0gPSAocHJvcHM6IE1lbnVJdGVtUHJvcHMpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8bGlcbiAgICAgIHJvbGU9XCJtZW51aXRlbVwiXG4gICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoc3R5bGVzWydsaXN0LWl0ZW0nXSwge1xuICAgICAgICBbc3R5bGVzLml0ZW1fX2FjdGl2ZV06IHByb3BzLmlzQWN0aXZlLFxuICAgICAgICBbc3R5bGVzWydpdGVtX21lbnVfX2FjdGl2ZSddXTogcHJvcHMuaXNNYWluTWVudVJvdXRlQWN0aXZlID8/IGZhbHNlLFxuICAgICAgICBbc3R5bGVzWydpdGVtX21lbnUtY29sbGFwc2VkJ11dOiAhcHJvcHMuaXNNZW51T3BlbixcbiAgICAgIH0pfVxuICAgICAgb25DbGljaz17cHJvcHMub25DbGlja31cbiAgICAgIG9uTW91c2VFbnRlcj17cHJvcHMub25Nb3VzZUVudGVyfVxuICAgICAgb25Nb3VzZUxlYXZlPXtwcm9wcy5vbk1vdXNlTGVhdmV9XG4gICAgICBkYXRhLW1lbnVpdGVtPXtwcm9wcy5pZGVudGlmaWVyfVxuICAgID5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2l0ZW0tbGluayddfT57cHJvcHMuY2hpbGRyZW59PC9kaXY+XG4gICAgPC9saT5cbiAgKTtcbn07XG5cbk1lbnVJdGVtLmRpc3BsYXlOYW1lID0gJ01lbnVJdGVtJztcblxuZXhwb3J0IHR5cGUgTWVudUl0ZW1MaW5rUHJvcHMgPSB7XG4gIGxpbmtUbz86IHN0cmluZztcbiAgZXhhY3RNYXRjaDogYm9vbGVhbjtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgb25DbGljaz86IChldmVudDogU3ludGhldGljRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQ+KSA9PiB2b2lkO1xuICB1c2VGdWxsUmVkaXJlY3RzRm9yTGlua3M/OiBib29sZWFuO1xuICBpc1N1Ym1lbnVMaW5rPzogYm9vbGVhbjtcbn07XG5jb25zdCBtZW51SXRlbUxpbmtEZWZhdWx0UHJvcHM6IFBpY2s8TWVudUl0ZW1MaW5rUHJvcHMsICdleGFjdE1hdGNoJz4gPSB7XG4gIGV4YWN0TWF0Y2g6IGZhbHNlLFxufTtcbmNvbnN0IE5hdkxpbmtXcmFwcGVyID0gKHByb3BzOiBNZW51SXRlbUxpbmtQcm9wcykgPT4ge1xuICBpZiAocHJvcHMuaXNTdWJtZW51TGluaykge1xuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWyd0ZXh0LWxpbmstc3VibGlzdC13cmFwcGVyJ119PlxuICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG4gIHJldHVybiA8Pntwcm9wcy5jaGlsZHJlbn08Lz47XG59O1xuY29uc3QgTmF2TGlua0NsaWNrYWJsZUNvbnRlbnRXcmFwcGVyID0gKHByb3BzOiBNZW51SXRlbUxpbmtQcm9wcykgPT4ge1xuICBpZiAocHJvcHMuaXNTdWJtZW51TGluaykge1xuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWyduYXZsaW5rLWNsaWNrYWJsZS1jb250ZW50J119PlxuICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG4gIHJldHVybiA8Pntwcm9wcy5jaGlsZHJlbn08Lz47XG59O1xuXG5jb25zdCBNZW51SXRlbUxpbmsgPSAocHJvcHM6IE1lbnVJdGVtTGlua1Byb3BzKSA9PiB7XG4gIGNvbnN0IHJlZGlyZWN0VG8gPSAodGFyZ2V0VXJsOiBzdHJpbmcpID0+IGxvY2F0aW9uLnJlcGxhY2UodGFyZ2V0VXJsKTtcbiAgaWYgKHByb3BzLmxpbmtUbykge1xuICAgIHJldHVybiAoXG4gICAgICA8TmF2TGlua1dyYXBwZXIgey4uLnByb3BzfT5cbiAgICAgICAgPE5hdkxpbmtcbiAgICAgICAgICB0bz17cHJvcHMubGlua1RvfVxuICAgICAgICAgIGV4YWN0PXtwcm9wcy5leGFjdE1hdGNofVxuICAgICAgICAgIGFjdGl2ZUNsYXNzTmFtZT17c3R5bGVzLmhpZ2hsaWdodGVkfVxuICAgICAgICAgIGNsYXNzTmFtZT17XG4gICAgICAgICAgICBwcm9wcy5pc1N1Ym1lbnVMaW5rXG4gICAgICAgICAgICAgID8gc3R5bGVzWyd0ZXh0LWxpbmstc3VibGlzdCddXG4gICAgICAgICAgICAgIDogc3R5bGVzWyd0ZXh0LWxpbmsnXVxuICAgICAgICAgIH1cbiAgICAgICAgICBvbkNsaWNrPXsoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIGlmIChwcm9wcy5saW5rVG8gJiYgcHJvcHMudXNlRnVsbFJlZGlyZWN0c0ZvckxpbmtzKSB7XG4gICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgIHJlZGlyZWN0VG8ocHJvcHMubGlua1RvKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAocHJvcHMub25DbGljaykge1xuICAgICAgICAgICAgICBldmVudC5wZXJzaXN0KCk7XG4gICAgICAgICAgICAgIHByb3BzLm9uQ2xpY2soZXZlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICA8TmF2TGlua0NsaWNrYWJsZUNvbnRlbnRXcmFwcGVyIHsuLi5wcm9wc30+XG4gICAgICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICAgICAgPC9OYXZMaW5rQ2xpY2thYmxlQ29udGVudFdyYXBwZXI+XG4gICAgICAgIDwvTmF2TGluaz5cbiAgICAgIDwvTmF2TGlua1dyYXBwZXI+XG4gICAgKTtcbiAgfVxuICByZXR1cm4gPD57cHJvcHMuY2hpbGRyZW59PC8+O1xufTtcbk1lbnVJdGVtTGluay5kaXNwbGF5TmFtZSA9ICdNZW51SXRlbUxpbmsnO1xuTWVudUl0ZW1MaW5rLmRlZmF1bHRQcm9wcyA9IG1lbnVJdGVtTGlua0RlZmF1bHRQcm9wcztcblxuY29uc3QgaXNFdmVyeU1lbnVWaXNpYmlsaXR5U2V0VG9IaWRkZW4gPSAoXG4gIG1lbnVWaXNpYmlsaXRpZXM/OiBUTm9ybWFsaXplZE1lbnVWaXNpYmlsaXRpZXMgfCBudWxsLFxuICBuYW1lc09mTWVudVZpc2liaWxpdGllcz86IHN0cmluZ1tdXG4pID0+XG4gIEFycmF5LmlzQXJyYXkobmFtZXNPZk1lbnVWaXNpYmlsaXRpZXMpICYmXG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzLmxlbmd0aCA+IDAgJiZcbiAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXMuZXZlcnkoXG4gICAgKG5hbWVPZk1lbnVWaXNpYmlsaXR5KSA9PlxuICAgICAgbWVudVZpc2liaWxpdGllcyAmJiBtZW51VmlzaWJpbGl0aWVzW25hbWVPZk1lbnVWaXNpYmlsaXR5XSA9PT0gdHJ1ZVxuICApO1xuXG50eXBlIFJlc3RyaWN0ZWRNZW51SXRlbVByb3BzID0ge1xuICBmZWF0dXJlVG9nZ2xlPzogc3RyaW5nO1xuICBuYW1lc09mTWVudVZpc2liaWxpdGllcz86IHN0cmluZ1tdO1xuICBwcm9qZWN0UGVybWlzc2lvbnM6IFRQcm9qZWN0UGVybWlzc2lvbnM7XG4gIG1lbnVWaXNpYmlsaXRpZXM6IFROb3JtYWxpemVkTWVudVZpc2liaWxpdGllcyB8IG51bGw7XG4gIGtleU9mTWVudUl0ZW06IHN0cmluZztcbiAgcGVybWlzc2lvbnM6IHN0cmluZ1tdO1xuICBhY3Rpb25SaWdodHM/OiBUQWN0aW9uUmlnaHRbXTtcbiAgZGF0YUZlbmNlcz86IFREYXRhRmVuY2VbXTtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbn07XG50eXBlIFRMb25nTGl2ZWRGbGFnID0ge1xuICB2YWx1ZTogYm9vbGVhbjtcbiAgcmVhc29uPzogc3RyaW5nO1xufTtcbmNvbnN0IHJlc3RyaWN0ZWRNZW51SXRlbURlZmF1bHRQcm9wczogUGljazxcbiAgUmVzdHJpY3RlZE1lbnVJdGVtUHJvcHMsXG4gICdwZXJtaXNzaW9ucydcbj4gPSB7XG4gIHBlcm1pc3Npb25zOiBbXSxcbn07XG5mdW5jdGlvbiBpc0xvbmdMaXZlZEZsYWcoXG4gIGZsYWc6IFRGbGFnVmFyaWF0aW9uIHwgVExvbmdMaXZlZEZsYWdcbik6IGZsYWcgaXMgVExvbmdMaXZlZEZsYWcge1xuICByZXR1cm4gdHlwZW9mIChmbGFnIGFzIFRMb25nTGl2ZWRGbGFnKT8udmFsdWUgPT09ICdib29sZWFuJztcbn1cbmNvbnN0IFJlc3RyaWN0ZWRNZW51SXRlbSA9IChwcm9wczogUmVzdHJpY3RlZE1lbnVJdGVtUHJvcHMpID0+IHtcbiAgLy8gTk9URTogQ3VzdG9tIGFwcGxpY2F0aW9uIGFyZSBhY3RpdmF0ZWQvZGVhY3RpdmF0ZWQgd2hpbGUgdGhlaXJcbiAgLy8gdmlzaWJpbGl0eSBpcyBub3QgY29udHJvbGxlZCB2aWEgYSB2aXNpYmlpbGl0eSBvdmVyd3JpdGUuXG4gIGNvbnN0IGZsYWdWYXJpYXRpb24gPSB1c2VGbGFnVmFyaWF0aW9uKHByb3BzLmZlYXR1cmVUb2dnbGUpO1xuICBpZiAoXG4gICAgaXNFdmVyeU1lbnVWaXNpYmlsaXR5U2V0VG9IaWRkZW4oXG4gICAgICBwcm9wcy5tZW51VmlzaWJpbGl0aWVzLFxuICAgICAgcHJvcHMubmFtZXNPZk1lbnVWaXNpYmlsaXRpZXNcbiAgICApXG4gIClcbiAgICByZXR1cm4gbnVsbDtcblxuICBjb25zdCBwZXJtaXNzaW9uc1dyYXBwZXIgPVxuICAgIChBcnJheS5pc0FycmF5KHByb3BzLnBlcm1pc3Npb25zKSAmJiBwcm9wcy5wZXJtaXNzaW9ucy5sZW5ndGggPiAwKSB8fFxuICAgIChBcnJheS5pc0FycmF5KHByb3BzLmRhdGFGZW5jZXMpICYmIHByb3BzLmRhdGFGZW5jZXMubGVuZ3RoID4gMCkgPyAoXG4gICAgICA8UmVzdHJpY3RlZEJ5UGVybWlzc2lvbnNcbiAgICAgICAgcGVybWlzc2lvbnM9e3Byb3BzLnBlcm1pc3Npb25zfVxuICAgICAgICBhY3Rpb25SaWdodHM9e3Byb3BzLmFjdGlvblJpZ2h0c31cbiAgICAgICAgZGF0YUZlbmNlcz17cHJvcHMuZGF0YUZlbmNlc31cbiAgICAgICAgc2VsZWN0RGF0YUZlbmNlRGF0YT17KGRlbWFuZGVkRGF0YUZlbmNlKSA9PiB7XG4gICAgICAgICAgc3dpdGNoIChkZW1hbmRlZERhdGFGZW5jZS50eXBlKSB7XG4gICAgICAgICAgICBjYXNlICdzdG9yZSc6XG4gICAgICAgICAgICAgIHJldHVybiBkZW1hbmRlZERhdGFGZW5jZS5hY3R1YWxEYXRhRmVuY2VWYWx1ZXM7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICB9XG4gICAgICAgIH19XG4gICAgICAgIC8vIEFsd2F5cyBjaGVjayB0aGF0IHNvbWUgb2YgdGhlIGdpdmVuIHBlcm1pc3Npb25zIG1hdGNoLlxuICAgICAgICBzaG91bGRNYXRjaFNvbWVQZXJtaXNzaW9ucz17dHJ1ZX1cbiAgICAgICAgcHJvamVjdFBlcm1pc3Npb25zPXtwcm9wcy5wcm9qZWN0UGVybWlzc2lvbnN9XG4gICAgICA+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvUmVzdHJpY3RlZEJ5UGVybWlzc2lvbnM+XG4gICAgKSA6IChcbiAgICAgIDw+e3Byb3BzLmNoaWxkcmVufTwvPlxuICAgICk7XG5cbiAgaWYgKHByb3BzLmZlYXR1cmVUb2dnbGUpIHtcbiAgICAvLyBBIHJlZ3VsYXIgc2hvcnQtbGl2ZWQgZmVhdHVyZSB0b2dnbGVcbiAgICBpZiAoZmxhZ1ZhcmlhdGlvbiA9PT0gdHJ1ZSkgcmV0dXJuIHBlcm1pc3Npb25zV3JhcHBlcjtcbiAgICAvLyBBIGxvbmctbGl2ZWQgZmVhdHVyZSB0b2dnbGUgd2l0aCBgeyB2YWx1ZTogYm9vbGVhbiwgc3RyaW5nOiByZWFzb24gfWBcbiAgICBpZiAoaXNMb25nTGl2ZWRGbGFnKGZsYWdWYXJpYXRpb24pICYmIGZsYWdWYXJpYXRpb24udmFsdWUgPT09IHRydWUpXG4gICAgICByZXR1cm4gcGVybWlzc2lvbnNXcmFwcGVyO1xuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICByZXR1cm4gcGVybWlzc2lvbnNXcmFwcGVyO1xufTtcblJlc3RyaWN0ZWRNZW51SXRlbS5kaXNwbGF5TmFtZSA9ICdSZXN0cmljdGVkTWVudUl0ZW0nO1xuUmVzdHJpY3RlZE1lbnVJdGVtLmRlZmF1bHRQcm9wcyA9IHJlc3RyaWN0ZWRNZW51SXRlbURlZmF1bHRQcm9wcztcblxudHlwZSBNZW51TGFiZWxQcm9wcyA9IHtcbiAgbGFiZWxBbGxMb2NhbGVzOiBUTG9jYWxpemVkRmllbGRbXTtcbiAgZGVmYXVsdExhYmVsPzogc3RyaW5nO1xuICBhcHBsaWNhdGlvbkxvY2FsZTogc3RyaW5nO1xufTtcbmNvbnN0IE1lbnVMYWJlbCA9IChwcm9wczogTWVudUxhYmVsUHJvcHMpID0+IHtcbiAgY29uc3QgbG9jYWxpemVkTGFiZWwgPSBwcm9wcy5sYWJlbEFsbExvY2FsZXMuZmluZCgobG9jKSA9PlxuICAgIHByb3BzLmFwcGxpY2F0aW9uTG9jYWxlLnN0YXJ0c1dpdGgobG9jLmxvY2FsZSlcbiAgKTtcbiAgaWYgKGxvY2FsaXplZExhYmVsKSByZXR1cm4gPD57bG9jYWxpemVkTGFiZWwudmFsdWV9PC8+O1xuICBpZiAocHJvcHMuZGVmYXVsdExhYmVsKSByZXR1cm4gPD57cHJvcHMuZGVmYXVsdExhYmVsfTwvPjtcbiAgcmV0dXJuIDw+e05PX1ZBTFVFX0ZBTExCQUNLfTwvPjtcbn07XG5cbnR5cGUgVE5hdkJhckxheW91dFByb3BzID0ge1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xufTtcbmNvbnN0IE5hdkJhckxheW91dCA9IGZvcndhcmRSZWY8SFRNTEVsZW1lbnQsIFROYXZCYXJMYXlvdXRQcm9wcz4oXG4gIChwcm9wcywgcmVmKSA9PiAoXG4gICAgPD5cbiAgICAgIDxHbG9iYWxcbiAgICAgICAgc3R5bGVzPXtjc3NgXG4gICAgICAgICAgJHtjb21waWxlZFN0eWxlcy5nbG9iYWx9XG4gICAgICAgIGB9XG4gICAgICAvPlxuICAgICAgPG5hdlxuICAgICAgICByZWY9e3JlZn1cbiAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXNbJ2xlZnQtbmF2aWdhdGlvbiddfVxuICAgICAgICBkYXRhLXRlc3Q9XCJsZWZ0LW5hdmlnYXRpb25cIlxuICAgICAgICBkYXRhLXRlc3RpZD1cImxlZnQtbmF2aWdhdGlvblwiXG4gICAgICA+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvbmF2PlxuICAgIDwvPlxuICApXG4pO1xuTmF2QmFyTGF5b3V0LmRpc3BsYXlOYW1lID0gJ05hdkJhckxheW91dCc7XG5cbnR5cGUgSXRlbUNvbnRhaW5lclByb3BzID0ge1xuICBsYWJlbEFsbExvY2FsZXM6IFRMb2NhbGl6ZWRGaWVsZFtdO1xuICBkZWZhdWx0TGFiZWw/OiBzdHJpbmc7XG4gIGFwcGxpY2F0aW9uTG9jYWxlOiBzdHJpbmc7XG4gIGljb246IHN0cmluZztcbiAgaXNNZW51T3Blbj86IGJvb2xlYW47XG59O1xuXG5jb25zdCBJdGVtQ29udGFpbmVyID0gKHByb3BzOiBJdGVtQ29udGFpbmVyUHJvcHMpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydpdGVtLWljb24tdGV4dCddfT5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2ljb24tY29udGFpbmVyJ119PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzLmljb259PlxuICAgICAgICAgIDxJY29uU3dpdGNoZXIgaWNvbj17cHJvcHMuaWNvbn0gc2l6ZT1cInNjYWxlXCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIHtwcm9wcy5pc01lbnVPcGVuID8gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzLnRpdGxlfT5cbiAgICAgICAgICA8TWVudUxhYmVsXG4gICAgICAgICAgICBsYWJlbEFsbExvY2FsZXM9e3Byb3BzLmxhYmVsQWxsTG9jYWxlc31cbiAgICAgICAgICAgIGRlZmF1bHRMYWJlbD17cHJvcHMuZGVmYXVsdExhYmVsfVxuICAgICAgICAgICAgYXBwbGljYXRpb25Mb2NhbGU9e3Byb3BzLmFwcGxpY2F0aW9uTG9jYWxlfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKSA6IG51bGx9XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5JdGVtQ29udGFpbmVyLmRpc3BsYXlOYW1lID0gJ0l0ZW1Db250YWluZXInO1xuXG5leHBvcnQge1xuICBSZXN0cmljdGVkTWVudUl0ZW0sXG4gIE1lbnVJdGVtLFxuICBNZW51SXRlbUxpbmssXG4gIEljb25Td2l0Y2hlcixcbiAgTWVudUdyb3VwLFxuICBNZW51TGFiZWwsXG4gIE1lbnVFeHBhbmRlcixcbiAgRmFkZWQsXG4gIE5hdkJhckxheW91dCxcbiAgSXRlbUNvbnRhaW5lcixcbn07XG4iXX0= */",
471
471
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__$1
472
472
  });
473
- const getSubmenuPositionBasedOnMenuItemPosition = (isSubmenuAboveMenuItem, submenuVerticalPosition) => /*#__PURE__*/css(isSubmenuAboveMenuItem ? 'bottom' : 'top', ":", submenuVerticalPosition, "px;" + (process.env.NODE_ENV === "production" ? "" : ";label:getSubmenuPositionBasedOnMenuItemPosition;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1lbnUtaXRlbXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZLUSIsImZpbGUiOiJtZW51LWl0ZW1zLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGZvcndhcmRSZWYsXG4gIGxhenksXG4gIE1vdXNlRXZlbnRIYW5kbGVyLFxuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdHlwZSBTeW50aGV0aWNFdmVudCxcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgR2xvYmFsLCBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3JlYWN0LWJyb2FkY2FzdCc7XG5pbXBvcnQgdHlwZSB7IFRGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3R5cGVzJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgTmF2TGluayB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHR5cGUge1xuICBUTm9ybWFsaXplZE1lbnVWaXNpYmlsaXRpZXMsXG4gIFROb3JtYWxpemVkUGVybWlzc2lvbnMsXG4gIFROb3JtYWxpemVkQWN0aW9uUmlnaHRzLFxuICBUTm9ybWFsaXplZERhdGFGZW5jZXMsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnO1xuaW1wb3J0IE1pc3NpbmdJbWFnZVN2ZyBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hc3NldHMvaW1hZ2VzL2RpYWdvbmFsLWxpbmUuc3ZnJztcbmltcG9ydCB7IE5PX1ZBTFVFX0ZBTExCQUNLIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvY29uc3RhbnRzJztcbmltcG9ydCB7IFJlc3RyaWN0ZWRCeVBlcm1pc3Npb25zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvcGVybWlzc2lvbnMnO1xuaW1wb3J0IHtcbiAgQmFja0ljb24sXG4gIFNpZGViYXJFeHBhbmRJY29uLFxuICBTaWRlYmFyQ29sbGFwc2VJY29uLFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucyc7XG5pbXBvcnQgSW5saW5lU3ZnIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ljb25zL2lubGluZS1zdmcnO1xuaW1wb3J0IHsgRElNRU5TSU9OUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgdHlwZSB7XG4gIFREYXRhRmVuY2UsXG4gIFRBY3Rpb25SaWdodCxcbiAgVExvY2FsaXplZEZpZWxkLFxufSBmcm9tICcuLi8uLi8uLi90eXBlcy9nZW5lcmF0ZWQvcHJveHknO1xuaW1wb3J0IHsgbG9jYXRpb24gfSBmcm9tICcuLi8uLi8uLi91dGlscy9sb2NhdGlvbic7XG4vLyBodHRwczovL2JhYmVsanMuaW8vYmxvZy8yMDE3LzA5LzExL3plcm8tY29uZmlnLXdpdGgtYmFiZWwtbWFjcm9zXG5pbXBvcnQgY29tcGlsZWRTdHlsZXMgZnJvbSAvKiBwcmV2YWwgKi8gJy4vbmF2YmFyLnN0eWxlcyc7XG5cbmNvbnN0IHN0eWxlcyA9IGNvbXBpbGVkU3R5bGVzLmpzb25NYXA7XG5cbnR5cGUgVFByb2plY3RQZXJtaXNzaW9ucyA9IHtcbiAgcGVybWlzc2lvbnM6IFROb3JtYWxpemVkUGVybWlzc2lvbnMgfCBudWxsO1xuICBhY3Rpb25SaWdodHM6IFROb3JtYWxpemVkQWN0aW9uUmlnaHRzIHwgbnVsbDtcbiAgZGF0YUZlbmNlczogVE5vcm1hbGl6ZWREYXRhRmVuY2VzIHwgbnVsbDtcbn07XG5cbmNvbnN0IEhlYXJ0SWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvaGVhcnQnKSk7XG5jb25zdCBQYXBlcmNsaXBJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9wYXBlcmNsaXAnKSk7XG5jb25zdCBQbHVnaW5JY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9wbHVnaW4nKSk7XG5jb25zdCBSb2NrZXRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9yb2NrZXQnKSk7XG5jb25zdCBTdGFySWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvc3RhcicpKTtcbmNvbnN0IENvbm5lY3RlZFNxdWFyZUljb24gPSBsYXp5KFxuICAoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9jb25uZWN0ZWQtc3F1YXJlJylcbik7XG5jb25zdCBXb3JsZEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3dvcmxkJykpO1xuY29uc3QgVHJlZVN0cnVjdHVyZUljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3RyZWUtc3RydWN0dXJlJykpO1xuY29uc3QgVXNlckZpbGxlZEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3VzZXItZmlsbGVkJykpO1xuY29uc3QgU3BlZWRvbWV0ZXJJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9zcGVlZG9tZXRlcicpKTtcbmNvbnN0IFRhZ011bHRpSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvdGFnLW11bHRpJykpO1xuY29uc3QgQ2FydEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL2NhcnQnKSk7XG5jb25zdCBCb3hJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9ib3gnKSk7XG5jb25zdCBHZWFySWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvZ2VhcicpKTtcbmNvbnN0IExpc3RXaXRoU2VhcmNoSWNvbiA9IGxhenkoXG4gICgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL2xpc3Qtd2l0aC1zZWFyY2gnKVxuKTtcblxudHlwZSBJY29uUHJvcHMgPSBQYXJhbWV0ZXJzPHR5cGVvZiBCYWNrSWNvbj5bMF07XG50eXBlIEljb25Td2l0Y2hlclByb3BzID0geyBpY29uOiBzdHJpbmcgfSAmIEljb25Qcm9wcztcbi8vIFRoZSBpY29uIGlzIGV4cGVjdGVkIHRvIGJlIHRoZSBgc3ZnYCBkb2N1bWVudCBhcyBhIHN0cmluZy5cbi8vIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBwdXJwb3Nlcywgd2Ugc3RpbGwgc3VwcG9ydCB0aGUgbGVnYWN5IFwiaWNvbiBuYW1lXCIsXG4vLyB3aGljaCB3ZSB0aGVuIG1hcCB0byBvbmUgb2YgdGhlIHByZS1kZWZpbmVkIGljb25zLlxuLy8gRXZlbnR1YWxseSwgd2Ugd2FudCB0byBnZXQgcmlkIG9mIHRoaXMgXCJzd2l0Y2hcIiBsb2dpYy5cbmNvbnN0IEljb25Td2l0Y2hlciA9ICh7IGljb24sIC4uLmljb25Qcm9wcyB9OiBJY29uU3dpdGNoZXJQcm9wcykgPT4ge1xuICBpZiAoaWNvbi5pbmNsdWRlcygnPHN2ZycpKSB7XG4gICAgcmV0dXJuIDxJbmxpbmVTdmcgZGF0YT17aWNvbn0gey4uLmljb25Qcm9wc30gLz47XG4gIH1cbiAgLy8gQmFja3dhcmRzIGNvbXBhdGliaWxpdHkgZm9yIGFwcHMgdXNpbmcgdGhlIFwiaWNvbiBuYW1lXCIuXG4gIHN3aXRjaCAoaWNvbikge1xuICAgIC8vIExlZ2FjeSBhcHBsaWNhdGlvbiBpY29uc1xuICAgIC8vIFRPRE86IFRvIGJlIHJlbW92ZWQgb25jZSBNQyBhcHBsaWNhdGlvbnMgaWNvbnMgdXBkYXRlcyBhcmUgcHVibGlzaGVkXG4gICAgY2FzZSAnVHJlZVN0cnVjdHVyZUljb24nOlxuICAgICAgcmV0dXJuIDxUcmVlU3RydWN0dXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdVc2VyRmlsbGVkSWNvbic6XG4gICAgICByZXR1cm4gPFVzZXJGaWxsZWRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1NwZWVkb21ldGVySWNvbic6XG4gICAgICByZXR1cm4gPFNwZWVkb21ldGVySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdUYWdNdWx0aUljb24nOlxuICAgICAgcmV0dXJuIDxUYWdNdWx0aUljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnQ2FydEljb24nOlxuICAgICAgcmV0dXJuIDxDYXJ0SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdCb3hJY29uJzpcbiAgICAgIHJldHVybiA8Qm94SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdHZWFySWNvbic6XG4gICAgICByZXR1cm4gPEdlYXJJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ0xpc3RXaXRoU2VhcmNoSWNvbic6XG4gICAgICByZXR1cm4gPExpc3RXaXRoU2VhcmNoSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcblxuICAgIC8vIEN1c3RvbSBhcHBsaWNhdGlvbiBpY29ucyBzZXRcbiAgICBjYXNlICdIZWFydEljb24nOlxuICAgICAgcmV0dXJuIDxIZWFydEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUGFwZXJjbGlwSWNvbic6XG4gICAgICByZXR1cm4gPFBhcGVyY2xpcEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUGx1Z2luSWNvbic6XG4gICAgICByZXR1cm4gPFBsdWdpbkljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUm9ja2V0SWNvbic6XG4gICAgICByZXR1cm4gPFJvY2tldEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnU3Rhckljb24nOlxuICAgICAgcmV0dXJuIDxTdGFySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdDb25uZWN0ZWRTcXVhcmVJY29uJzpcbiAgICAgIHJldHVybiA8Q29ubmVjdGVkU3F1YXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICAvLyBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcbiAgICBjYXNlICdXb3JsZEljb24nOlxuICAgICAgcmV0dXJuIDxXb3JsZEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiA8aW1nIHNyYz17TWlzc2luZ0ltYWdlU3ZnfSBhbHQ9XCJtaXNzaW5nIGljb25cIiAvPjtcbiAgfVxufTtcbkljb25Td2l0Y2hlci5kaXNwbGF5TmFtZSA9ICdJY29uU3dpdGNoZXInO1xuXG50eXBlIE1lbnVFeHBhbmRlclByb3BzID0ge1xuICBpc1Zpc2libGU6IGJvb2xlYW47XG4gIG9uQ2xpY2s6IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50PjtcbiAgaXNNZW51T3BlbjogYm9vbGVhbjtcbn07XG5cbmNvbnN0IGdldEljb24gPSAoeyBpc01lbnVPcGVuIH06IE1lbnVFeHBhbmRlclByb3BzKSA9PiB7XG4gIGNvbnN0IEljb24gPSBpc01lbnVPcGVuID8gU2lkZWJhckNvbGxhcHNlSWNvbiA6IFNpZGViYXJFeHBhbmRJY29uO1xuICByZXR1cm4gPEljb24gY29sb3I9XCJzdXJmYWNlXCIgc2l6ZT1cImJpZ1wiIC8+O1xufTtcblxuY29uc3QgTWVudUV4cGFuZGVyID0gKHByb3BzOiBNZW51RXhwYW5kZXJQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxsaVxuICAgICAga2V5PVwiZXhwYW5kZXJcIlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKHN0eWxlc1snbGlzdC1pdGVtJ10sIHN0eWxlcy5leHBhbmRlciwge1xuICAgICAgICBbc3R5bGVzLmhpZGRlbl06ICFwcm9wcy5pc1Zpc2libGUsXG4gICAgICB9KX1cbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIG9uQ2xpY2s9e3Byb3BzLm9uQ2xpY2t9XG4gICAgICAgIGNsYXNzTmFtZT17c3R5bGVzWydleHBhbmQtaWNvbiddfVxuICAgICAgICBkYXRhLXRlc3RpZD1cIm1lbnUtZXhwYW5kZXJcIlxuICAgICAgPlxuICAgICAgICB7Z2V0SWNvbihwcm9wcyl9XG4gICAgICA8L2Rpdj5cbiAgICA8L2xpPlxuICApO1xufTtcbk1lbnVFeHBhbmRlci5kaXNwbGF5TmFtZSA9ICdNZW51RXhwYW5kZXInO1xuXG5jb25zdCBGYWRlZCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgwLCAxNTMsIDEzNSwgMCkgMCUsICMwMGIzOWUgMTAwJSk7XG4gIHotaW5kZXg6IDE7XG5gO1xuXG50eXBlIE1lbnVHcm91cFByb3BzID0ge1xuICBpZDogc3RyaW5nO1xuICBsZXZlbDogMSB8IDI7XG4gIGlzQWN0aXZlPzogYm9vbGVhbjtcbiAgaXNFeHBhbmRlZD86IGJvb2xlYW47XG4gIGhhc1N1Ym1lbnU/OiBib29sZWFuO1xuICBjaGlsZHJlbj86IFJlYWN0Tm9kZTtcbiAgc3VibWVudVZlcnRpY2FsUG9zaXRpb24/OiBudW1iZXI7XG4gIGlzU3VibWVudUFib3ZlTWVudUl0ZW0/OiBib29sZWFuO1xufTtcblxuY29uc3QgZ2V0U3VibWVudVBvc2l0aW9uQmFzZWRPbk1lbnVJdGVtUG9zaXRpb24gPSAoXG4gIGlzU3VibWVudUFib3ZlTWVudUl0ZW0/OiBib29sZWFuLFxuICBzdWJtZW51VmVydGljYWxQb3NpdGlvbj86IG51bWJlclxuKSA9PiBjc3NgXG4gICR7aXNTdWJtZW51QWJvdmVNZW51SXRlbSA/ICdib3R0b20nIDogJ3RvcCd9OiAke3N1Ym1lbnVWZXJ0aWNhbFBvc2l0aW9ufXB4XG5gO1xuXG5jb25zdCBnZXRDb250YWluZXJQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uID0gKFxuICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtPzogYm9vbGVhbixcbiAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZD86IGJvb2xlYW4sXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkPzogYm9vbGVhblxuKSA9PiBbXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmXG4gICAgY3NzYFxuICAgICAgJHtpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtXG4gICAgICAgID8gJ2JvdHRvbSdcbiAgICAgICAgOiAndG9wJ306IC0ke0RJTUVOU0lPTlMubmF2TWVudUl0ZW1IZWlnaHR9O1xuICAgIGAsXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgJiZcbiAgICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtICYmXG4gICAgY3NzYFxuICAgICAgYm90dG9tOiAwO1xuICAgIGAsXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgJiZcbiAgICAhaXNTdWJtZW51QWJvdmVNZW51SXRlbSAmJlxuICAgIGNzc2BcbiAgICAgIHRvcDogMDtcbiAgICBgLFxuXTtcblxuY29uc3QgTWVudUdyb3VwID0gZm9yd2FyZFJlZjxIVE1MVUxpc3RFbGVtZW50LCBNZW51R3JvdXBQcm9wcz4oKHByb3BzLCByZWYpID0+IHtcbiAgaWYgKFxuICAgIHByb3BzLmlzRXhwYW5kZWQgJiZcbiAgICAoKHByb3BzLmxldmVsID09PSAyICYmICFwcm9wcy5oYXNTdWJtZW51KSB8fFxuICAgICAgKHByb3BzLmxldmVsID09PSAyICYmICFwcm9wcy5pc0FjdGl2ZSkpXG4gICkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGNvbnN0IGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgPVxuICAgIHByb3BzLmxldmVsID09PSAyICYmIHByb3BzLmlzQWN0aXZlICYmIHByb3BzLmlzRXhwYW5kZWQ7XG4gIGNvbnN0IGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkID1cbiAgICBwcm9wcy5sZXZlbCA9PT0gMiAmJiBwcm9wcy5pc0FjdGl2ZSAmJiAhcHJvcHMuaXNFeHBhbmRlZDtcbiAgcmV0dXJuIChcbiAgICA8dWxcbiAgICAgIHJlZj17cmVmICYmIHByb3BzLmxldmVsID09PSAyID8gcmVmIDogbnVsbH1cbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICAke2dldFN1Ym1lbnVQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uKFxuICAgICAgICAgIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgICAgcHJvcHMuc3VibWVudVZlcnRpY2FsUG9zaXRpb25cbiAgICAgICAgKX07XG5cbiAgICAgICAgLy8gYWRkaXRpb25hbCBzdHlsaW5nIG9mIHRoZSBwc2V1ZG8tZWxlbWVudCBlbmFibGluZyBzbW9vdGggY291cnNvciBtb3ZlbWVudFxuICAgICAgICA6OmJlZm9yZSB7XG4gICAgICAgICAgJHtnZXRDb250YWluZXJQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uKFxuICAgICAgICAgICAgcHJvcHMuaXNTdWJtZW51QWJvdmVNZW51SXRlbSxcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQsXG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZFxuICAgICAgICAgICl9XG4gICAgICBgfVxuICAgICAgaWQ9e2Bncm91cC0ke3Byb3BzLmlkfWB9XG4gICAgICBkYXRhLXRlc3RpZD17YGdyb3VwLSR7cHJvcHMuaWR9YH1cbiAgICAgIHJvbGU9XCJtZW51XCJcbiAgICAgIGFyaWEtZXhwYW5kZWQ9e1xuICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkIHx8XG4gICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkXG4gICAgICB9XG4gICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoXG4gICAgICAgIHsgW3N0eWxlcy5saXN0XTogcHJvcHMubGV2ZWwgPT09IDEgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QnXV06IHByb3BzLmxldmVsID09PSAyLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlc1snc3VibGlzdC1leHBhbmRlZF9fYWN0aXZlJ11dOlxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtY29sbGFwc2VkX19lbXB0eSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmICFwcm9wcy5oYXNTdWJtZW51LFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlc1snc3VibGlzdC1jb2xsYXBzZWRfX2FjdGl2ZSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmXG4gICAgICAgICAgICAhcHJvcHMuaXNTdWJtZW51QWJvdmVNZW51SXRlbSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtY29sbGFwc2VkX19hY3RpdmVfX2Fib3ZlJ11dOlxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQgJiYgcHJvcHMuaXNTdWJtZW51QWJvdmVNZW51SXRlbSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXMuc3VibGlzdF9faW5hY3RpdmVdOiAhaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQsXG4gICAgICAgIH1cbiAgICAgICl9XG4gICAgPlxuICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgIDwvdWw+XG4gICk7XG59KTtcbk1lbnVHcm91cC5kaXNwbGF5TmFtZSA9ICdNZW51R3JvdXAnO1xuXG50eXBlIE1lbnVJdGVtUHJvcHMgPSB7XG4gIGhhc1N1Ym1lbnU6IGJvb2xlYW47XG4gIGlzQWN0aXZlOiBib29sZWFuO1xuICBpc01haW5NZW51Um91dGVBY3RpdmU/OiBib29sZWFuO1xuICBpc01lbnVPcGVuOiBib29sZWFuO1xuICBvbkNsaWNrOiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD47XG4gIG9uTW91c2VFbnRlcj86IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50PjtcbiAgb25Nb3VzZUxlYXZlPzogTW91c2VFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+O1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBpZGVudGlmaWVyPzogc3RyaW5nO1xufTtcbmNvbnN0IE1lbnVJdGVtID0gKHByb3BzOiBNZW51SXRlbVByb3BzKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGxpXG4gICAgICByb2xlPVwibWVudWl0ZW1cIlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKHN0eWxlc1snbGlzdC1pdGVtJ10sIHtcbiAgICAgICAgW3N0eWxlcy5pdGVtX19hY3RpdmVdOiBwcm9wcy5pc0FjdGl2ZSxcbiAgICAgICAgW3N0eWxlc1snaXRlbV9tZW51X19hY3RpdmUnXV06IHByb3BzLmlzTWFpbk1lbnVSb3V0ZUFjdGl2ZSA/PyBmYWxzZSxcbiAgICAgICAgW3N0eWxlc1snaXRlbV9tZW51LWNvbGxhcHNlZCddXTogIXByb3BzLmlzTWVudU9wZW4sXG4gICAgICB9KX1cbiAgICAgIG9uQ2xpY2s9e3Byb3BzLm9uQ2xpY2t9XG4gICAgICBvbk1vdXNlRW50ZXI9e3Byb3BzLm9uTW91c2VFbnRlcn1cbiAgICAgIG9uTW91c2VMZWF2ZT17cHJvcHMub25Nb3VzZUxlYXZlfVxuICAgICAgZGF0YS1tZW51aXRlbT17cHJvcHMuaWRlbnRpZmllcn1cbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydpdGVtLWxpbmsnXX0+e3Byb3BzLmNoaWxkcmVufTwvZGl2PlxuICAgIDwvbGk+XG4gICk7XG59O1xuXG5NZW51SXRlbS5kaXNwbGF5TmFtZSA9ICdNZW51SXRlbSc7XG5cbmV4cG9ydCB0eXBlIE1lbnVJdGVtTGlua1Byb3BzID0ge1xuICBsaW5rVG8/OiBzdHJpbmc7XG4gIGV4YWN0TWF0Y2g6IGJvb2xlYW47XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIG9uQ2xpY2s/OiAoZXZlbnQ6IFN5bnRoZXRpY0V2ZW50PEhUTUxBbmNob3JFbGVtZW50PikgPT4gdm9pZDtcbiAgdXNlRnVsbFJlZGlyZWN0c0ZvckxpbmtzPzogYm9vbGVhbjtcbiAgaXNTdWJtZW51TGluaz86IGJvb2xlYW47XG59O1xuY29uc3QgbWVudUl0ZW1MaW5rRGVmYXVsdFByb3BzOiBQaWNrPE1lbnVJdGVtTGlua1Byb3BzLCAnZXhhY3RNYXRjaCc+ID0ge1xuICBleGFjdE1hdGNoOiBmYWxzZSxcbn07XG5jb25zdCBOYXZMaW5rV3JhcHBlciA9IChwcm9wczogTWVudUl0ZW1MaW5rUHJvcHMpID0+IHtcbiAgaWYgKHByb3BzLmlzU3VibWVudUxpbmspIHtcbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1sndGV4dC1saW5rLXN1Ymxpc3Qtd3JhcHBlciddfT5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxuICByZXR1cm4gPD57cHJvcHMuY2hpbGRyZW59PC8+O1xufTtcbmNvbnN0IE5hdkxpbmtDbGlja2FibGVDb250ZW50V3JhcHBlciA9IChwcm9wczogTWVudUl0ZW1MaW5rUHJvcHMpID0+IHtcbiAgaWYgKHByb3BzLmlzU3VibWVudUxpbmspIHtcbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snbmF2bGluay1jbGlja2FibGUtY29udGVudCddfT5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxuICByZXR1cm4gPD57cHJvcHMuY2hpbGRyZW59PC8+O1xufTtcblxuY29uc3QgTWVudUl0ZW1MaW5rID0gKHByb3BzOiBNZW51SXRlbUxpbmtQcm9wcykgPT4ge1xuICBjb25zdCByZWRpcmVjdFRvID0gKHRhcmdldFVybDogc3RyaW5nKSA9PiBsb2NhdGlvbi5yZXBsYWNlKHRhcmdldFVybCk7XG4gIGlmIChwcm9wcy5saW5rVG8pIHtcbiAgICByZXR1cm4gKFxuICAgICAgPE5hdkxpbmtXcmFwcGVyIHsuLi5wcm9wc30+XG4gICAgICAgIDxOYXZMaW5rXG4gICAgICAgICAgdG89e3Byb3BzLmxpbmtUb31cbiAgICAgICAgICBleGFjdD17cHJvcHMuZXhhY3RNYXRjaH1cbiAgICAgICAgICBhY3RpdmVDbGFzc05hbWU9e3N0eWxlcy5oaWdobGlnaHRlZH1cbiAgICAgICAgICBjbGFzc05hbWU9e1xuICAgICAgICAgICAgcHJvcHMuaXNTdWJtZW51TGlua1xuICAgICAgICAgICAgICA/IHN0eWxlc1sndGV4dC1saW5rLXN1Ymxpc3QnXVxuICAgICAgICAgICAgICA6IHN0eWxlc1sndGV4dC1saW5rJ11cbiAgICAgICAgICB9XG4gICAgICAgICAgb25DbGljaz17KGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBpZiAocHJvcHMubGlua1RvICYmIHByb3BzLnVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rcykge1xuICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICByZWRpcmVjdFRvKHByb3BzLmxpbmtUbyk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHByb3BzLm9uQ2xpY2spIHtcbiAgICAgICAgICAgICAgZXZlbnQucGVyc2lzdCgpO1xuICAgICAgICAgICAgICBwcm9wcy5vbkNsaWNrKGV2ZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAgPE5hdkxpbmtDbGlja2FibGVDb250ZW50V3JhcHBlciB7Li4ucHJvcHN9PlxuICAgICAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgICAgIDwvTmF2TGlua0NsaWNrYWJsZUNvbnRlbnRXcmFwcGVyPlxuICAgICAgICA8L05hdkxpbms+XG4gICAgICA8L05hdkxpbmtXcmFwcGVyPlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5NZW51SXRlbUxpbmsuZGlzcGxheU5hbWUgPSAnTWVudUl0ZW1MaW5rJztcbk1lbnVJdGVtTGluay5kZWZhdWx0UHJvcHMgPSBtZW51SXRlbUxpbmtEZWZhdWx0UHJvcHM7XG5cbmNvbnN0IGlzRXZlcnlNZW51VmlzaWJpbGl0eVNldFRvSGlkZGVuID0gKFxuICBtZW51VmlzaWJpbGl0aWVzPzogVE5vcm1hbGl6ZWRNZW51VmlzaWJpbGl0aWVzIHwgbnVsbCxcbiAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXM/OiBzdHJpbmdbXVxuKSA9PlxuICBBcnJheS5pc0FycmF5KG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzKSAmJlxuICBuYW1lc09mTWVudVZpc2liaWxpdGllcy5sZW5ndGggPiAwICYmXG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzLmV2ZXJ5KFxuICAgIChuYW1lT2ZNZW51VmlzaWJpbGl0eSkgPT5cbiAgICAgIG1lbnVWaXNpYmlsaXRpZXMgJiYgbWVudVZpc2liaWxpdGllc1tuYW1lT2ZNZW51VmlzaWJpbGl0eV0gPT09IHRydWVcbiAgKTtcblxudHlwZSBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcyA9IHtcbiAgZmVhdHVyZVRvZ2dsZT86IHN0cmluZztcbiAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXM/OiBzdHJpbmdbXTtcbiAgcHJvamVjdFBlcm1pc3Npb25zOiBUUHJvamVjdFBlcm1pc3Npb25zO1xuICBtZW51VmlzaWJpbGl0aWVzOiBUTm9ybWFsaXplZE1lbnVWaXNpYmlsaXRpZXMgfCBudWxsO1xuICBrZXlPZk1lbnVJdGVtOiBzdHJpbmc7XG4gIHBlcm1pc3Npb25zOiBzdHJpbmdbXTtcbiAgYWN0aW9uUmlnaHRzPzogVEFjdGlvblJpZ2h0W107XG4gIGRhdGFGZW5jZXM/OiBURGF0YUZlbmNlW107XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59O1xudHlwZSBUTG9uZ0xpdmVkRmxhZyA9IHtcbiAgdmFsdWU6IGJvb2xlYW47XG4gIHJlYXNvbj86IHN0cmluZztcbn07XG5jb25zdCByZXN0cmljdGVkTWVudUl0ZW1EZWZhdWx0UHJvcHM6IFBpY2s8XG4gIFJlc3RyaWN0ZWRNZW51SXRlbVByb3BzLFxuICAncGVybWlzc2lvbnMnXG4+ID0ge1xuICBwZXJtaXNzaW9uczogW10sXG59O1xuZnVuY3Rpb24gaXNMb25nTGl2ZWRGbGFnKFxuICBmbGFnOiBURmxhZ1ZhcmlhdGlvbiB8IFRMb25nTGl2ZWRGbGFnXG4pOiBmbGFnIGlzIFRMb25nTGl2ZWRGbGFnIHtcbiAgcmV0dXJuIHR5cGVvZiAoZmxhZyBhcyBUTG9uZ0xpdmVkRmxhZyk/LnZhbHVlID09PSAnYm9vbGVhbic7XG59XG5jb25zdCBSZXN0cmljdGVkTWVudUl0ZW0gPSAocHJvcHM6IFJlc3RyaWN0ZWRNZW51SXRlbVByb3BzKSA9PiB7XG4gIC8vIE5PVEU6IEN1c3RvbSBhcHBsaWNhdGlvbiBhcmUgYWN0aXZhdGVkL2RlYWN0aXZhdGVkIHdoaWxlIHRoZWlyXG4gIC8vIHZpc2liaWxpdHkgaXMgbm90IGNvbnRyb2xsZWQgdmlhIGEgdmlzaWJpaWxpdHkgb3ZlcndyaXRlLlxuICBjb25zdCBmbGFnVmFyaWF0aW9uID0gdXNlRmxhZ1ZhcmlhdGlvbihwcm9wcy5mZWF0dXJlVG9nZ2xlKTtcbiAgaWYgKFxuICAgIGlzRXZlcnlNZW51VmlzaWJpbGl0eVNldFRvSGlkZGVuKFxuICAgICAgcHJvcHMubWVudVZpc2liaWxpdGllcyxcbiAgICAgIHByb3BzLm5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzXG4gICAgKVxuICApXG4gICAgcmV0dXJuIG51bGw7XG5cbiAgY29uc3QgcGVybWlzc2lvbnNXcmFwcGVyID1cbiAgICAoQXJyYXkuaXNBcnJheShwcm9wcy5wZXJtaXNzaW9ucykgJiYgcHJvcHMucGVybWlzc2lvbnMubGVuZ3RoID4gMCkgfHxcbiAgICAoQXJyYXkuaXNBcnJheShwcm9wcy5kYXRhRmVuY2VzKSAmJiBwcm9wcy5kYXRhRmVuY2VzLmxlbmd0aCA+IDApID8gKFxuICAgICAgPFJlc3RyaWN0ZWRCeVBlcm1pc3Npb25zXG4gICAgICAgIHBlcm1pc3Npb25zPXtwcm9wcy5wZXJtaXNzaW9uc31cbiAgICAgICAgYWN0aW9uUmlnaHRzPXtwcm9wcy5hY3Rpb25SaWdodHN9XG4gICAgICAgIGRhdGFGZW5jZXM9e3Byb3BzLmRhdGFGZW5jZXN9XG4gICAgICAgIHNlbGVjdERhdGFGZW5jZURhdGE9eyhkZW1hbmRlZERhdGFGZW5jZSkgPT4ge1xuICAgICAgICAgIHN3aXRjaCAoZGVtYW5kZWREYXRhRmVuY2UudHlwZSkge1xuICAgICAgICAgICAgY2FzZSAnc3RvcmUnOlxuICAgICAgICAgICAgICByZXR1cm4gZGVtYW5kZWREYXRhRmVuY2UuYWN0dWFsRGF0YUZlbmNlVmFsdWVzO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9fVxuICAgICAgICAvLyBBbHdheXMgY2hlY2sgdGhhdCBzb21lIG9mIHRoZSBnaXZlbiBwZXJtaXNzaW9ucyBtYXRjaC5cbiAgICAgICAgc2hvdWxkTWF0Y2hTb21lUGVybWlzc2lvbnM9e3RydWV9XG4gICAgICAgIHByb2plY3RQZXJtaXNzaW9ucz17cHJvcHMucHJvamVjdFBlcm1pc3Npb25zfVxuICAgICAgPlxuICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICA8L1Jlc3RyaWN0ZWRCeVBlcm1pc3Npb25zPlxuICAgICkgOiAoXG4gICAgICA8Pntwcm9wcy5jaGlsZHJlbn08Lz5cbiAgICApO1xuXG4gIGlmIChwcm9wcy5mZWF0dXJlVG9nZ2xlKSB7XG4gICAgLy8gQSByZWd1bGFyIHNob3J0LWxpdmVkIGZlYXR1cmUgdG9nZ2xlXG4gICAgaWYgKGZsYWdWYXJpYXRpb24gPT09IHRydWUpIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG4gICAgLy8gQSBsb25nLWxpdmVkIGZlYXR1cmUgdG9nZ2xlIHdpdGggYHsgdmFsdWU6IGJvb2xlYW4sIHN0cmluZzogcmVhc29uIH1gXG4gICAgaWYgKGlzTG9uZ0xpdmVkRmxhZyhmbGFnVmFyaWF0aW9uKSAmJiBmbGFnVmFyaWF0aW9uLnZhbHVlID09PSB0cnVlKVxuICAgICAgcmV0dXJuIHBlcm1pc3Npb25zV3JhcHBlcjtcblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIHBlcm1pc3Npb25zV3JhcHBlcjtcbn07XG5SZXN0cmljdGVkTWVudUl0ZW0uZGlzcGxheU5hbWUgPSAnUmVzdHJpY3RlZE1lbnVJdGVtJztcblJlc3RyaWN0ZWRNZW51SXRlbS5kZWZhdWx0UHJvcHMgPSByZXN0cmljdGVkTWVudUl0ZW1EZWZhdWx0UHJvcHM7XG5cbnR5cGUgTWVudUxhYmVsUHJvcHMgPSB7XG4gIGxhYmVsQWxsTG9jYWxlczogVExvY2FsaXplZEZpZWxkW107XG4gIGRlZmF1bHRMYWJlbD86IHN0cmluZztcbiAgYXBwbGljYXRpb25Mb2NhbGU6IHN0cmluZztcbn07XG5jb25zdCBNZW51TGFiZWwgPSAocHJvcHM6IE1lbnVMYWJlbFByb3BzKSA9PiB7XG4gIGNvbnN0IGxvY2FsaXplZExhYmVsID0gcHJvcHMubGFiZWxBbGxMb2NhbGVzLmZpbmQoKGxvYykgPT5cbiAgICBwcm9wcy5hcHBsaWNhdGlvbkxvY2FsZS5zdGFydHNXaXRoKGxvYy5sb2NhbGUpXG4gICk7XG4gIGlmIChsb2NhbGl6ZWRMYWJlbCkgcmV0dXJuIDw+e2xvY2FsaXplZExhYmVsLnZhbHVlfTwvPjtcbiAgaWYgKHByb3BzLmRlZmF1bHRMYWJlbCkgcmV0dXJuIDw+e3Byb3BzLmRlZmF1bHRMYWJlbH08Lz47XG4gIHJldHVybiA8PntOT19WQUxVRV9GQUxMQkFDS308Lz47XG59O1xuXG50eXBlIFROYXZCYXJMYXlvdXRQcm9wcyA9IHtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbn07XG5jb25zdCBOYXZCYXJMYXlvdXQgPSBmb3J3YXJkUmVmPEhUTUxFbGVtZW50LCBUTmF2QmFyTGF5b3V0UHJvcHM+KFxuICAocHJvcHMsIHJlZikgPT4gKFxuICAgIDw+XG4gICAgICA8R2xvYmFsXG4gICAgICAgIHN0eWxlcz17Y3NzYFxuICAgICAgICAgICR7Y29tcGlsZWRTdHlsZXMuZ2xvYmFsfVxuICAgICAgICBgfVxuICAgICAgLz5cbiAgICAgIDxuYXZcbiAgICAgICAgcmVmPXtyZWZ9XG4gICAgICAgIGNsYXNzTmFtZT17c3R5bGVzWydsZWZ0LW5hdmlnYXRpb24nXX1cbiAgICAgICAgZGF0YS10ZXN0PVwibGVmdC1uYXZpZ2F0aW9uXCJcbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJsZWZ0LW5hdmlnYXRpb25cIlxuICAgICAgPlxuICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICA8L25hdj5cbiAgICA8Lz5cbiAgKVxuKTtcbk5hdkJhckxheW91dC5kaXNwbGF5TmFtZSA9ICdOYXZCYXJMYXlvdXQnO1xuXG50eXBlIEl0ZW1Db250YWluZXJQcm9wcyA9IHtcbiAgbGFiZWxBbGxMb2NhbGVzOiBUTG9jYWxpemVkRmllbGRbXTtcbiAgZGVmYXVsdExhYmVsPzogc3RyaW5nO1xuICBhcHBsaWNhdGlvbkxvY2FsZTogc3RyaW5nO1xuICBpY29uOiBzdHJpbmc7XG4gIGlzTWVudU9wZW4/OiBib29sZWFuO1xufTtcblxuY29uc3QgSXRlbUNvbnRhaW5lciA9IChwcm9wczogSXRlbUNvbnRhaW5lclByb3BzKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaXRlbS1pY29uLXRleHQnXX0+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydpY29uLWNvbnRhaW5lciddfT5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlcy5pY29ufT5cbiAgICAgICAgICA8SWNvblN3aXRjaGVyIGljb249e3Byb3BzLmljb259IHNpemU9XCJzY2FsZVwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICB7cHJvcHMuaXNNZW51T3BlbiA/IChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlcy50aXRsZX0+XG4gICAgICAgICAgPE1lbnVMYWJlbFxuICAgICAgICAgICAgbGFiZWxBbGxMb2NhbGVzPXtwcm9wcy5sYWJlbEFsbExvY2FsZXN9XG4gICAgICAgICAgICBkZWZhdWx0TGFiZWw9e3Byb3BzLmRlZmF1bHRMYWJlbH1cbiAgICAgICAgICAgIGFwcGxpY2F0aW9uTG9jYWxlPXtwcm9wcy5hcHBsaWNhdGlvbkxvY2FsZX1cbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICkgOiBudWxsfVxuICAgIDwvZGl2PlxuICApO1xufTtcblxuSXRlbUNvbnRhaW5lci5kaXNwbGF5TmFtZSA9ICdJdGVtQ29udGFpbmVyJztcblxuZXhwb3J0IHtcbiAgUmVzdHJpY3RlZE1lbnVJdGVtLFxuICBNZW51SXRlbSxcbiAgTWVudUl0ZW1MaW5rLFxuICBJY29uU3dpdGNoZXIsXG4gIE1lbnVHcm91cCxcbiAgTWVudUxhYmVsLFxuICBNZW51RXhwYW5kZXIsXG4gIEZhZGVkLFxuICBOYXZCYXJMYXlvdXQsXG4gIEl0ZW1Db250YWluZXIsXG59O1xuIl19 */");
474
- var _ref = process.env.NODE_ENV === "production" ? {
473
+ const getSubmenuPositionBasedOnMenuItemPosition = (isSubmenuAboveMenuItem, submenuVerticalPosition) => /*#__PURE__*/css(isSubmenuAboveMenuItem ? 'bottom' : 'top', ":", submenuVerticalPosition, "px;" + (process.env.NODE_ENV === "production" ? "" : ";label:getSubmenuPositionBasedOnMenuItemPosition;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1lbnUtaXRlbXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZLUSIsImZpbGUiOiJtZW51LWl0ZW1zLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGZvcndhcmRSZWYsXG4gIGxhenksXG4gIE1vdXNlRXZlbnRIYW5kbGVyLFxuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdHlwZSBTeW50aGV0aWNFdmVudCxcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgR2xvYmFsLCBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3JlYWN0LWJyb2FkY2FzdCc7XG5pbXBvcnQgdHlwZSB7IFRGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3R5cGVzJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgTmF2TGluayB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHR5cGUge1xuICBUTm9ybWFsaXplZE1lbnVWaXNpYmlsaXRpZXMsXG4gIFROb3JtYWxpemVkUGVybWlzc2lvbnMsXG4gIFROb3JtYWxpemVkQWN0aW9uUmlnaHRzLFxuICBUTm9ybWFsaXplZERhdGFGZW5jZXMsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnO1xuaW1wb3J0IE1pc3NpbmdJbWFnZVN2ZyBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hc3NldHMvaW1hZ2VzL2RpYWdvbmFsLWxpbmUuc3ZnJztcbmltcG9ydCB7IE5PX1ZBTFVFX0ZBTExCQUNLIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvY29uc3RhbnRzJztcbmltcG9ydCB7IFJlc3RyaWN0ZWRCeVBlcm1pc3Npb25zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvcGVybWlzc2lvbnMnO1xuaW1wb3J0IHtcbiAgQmFja0ljb24sXG4gIFNpZGViYXJFeHBhbmRJY29uLFxuICBTaWRlYmFyQ29sbGFwc2VJY29uLFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucyc7XG5pbXBvcnQgSW5saW5lU3ZnIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ljb25zL2lubGluZS1zdmcnO1xuaW1wb3J0IHsgRElNRU5TSU9OUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgdHlwZSB7XG4gIFREYXRhRmVuY2UsXG4gIFRBY3Rpb25SaWdodCxcbiAgVExvY2FsaXplZEZpZWxkLFxufSBmcm9tICcuLi8uLi8uLi90eXBlcy9nZW5lcmF0ZWQvcHJveHknO1xuaW1wb3J0IHsgbG9jYXRpb24gfSBmcm9tICcuLi8uLi8uLi91dGlscy9sb2NhdGlvbic7XG4vLyBodHRwczovL2JhYmVsanMuaW8vYmxvZy8yMDE3LzA5LzExL3plcm8tY29uZmlnLXdpdGgtYmFiZWwtbWFjcm9zXG5pbXBvcnQgY29tcGlsZWRTdHlsZXMgZnJvbSAvKiBwcmV2YWwgKi8gJy4vbmF2YmFyLnN0eWxlcyc7XG5cbmNvbnN0IHN0eWxlcyA9IGNvbXBpbGVkU3R5bGVzLmpzb25NYXA7XG5cbnR5cGUgVFByb2plY3RQZXJtaXNzaW9ucyA9IHtcbiAgcGVybWlzc2lvbnM6IFROb3JtYWxpemVkUGVybWlzc2lvbnMgfCBudWxsO1xuICBhY3Rpb25SaWdodHM6IFROb3JtYWxpemVkQWN0aW9uUmlnaHRzIHwgbnVsbDtcbiAgZGF0YUZlbmNlczogVE5vcm1hbGl6ZWREYXRhRmVuY2VzIHwgbnVsbDtcbn07XG5cbmNvbnN0IEhlYXJ0SWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvaGVhcnQnKSk7XG5jb25zdCBQYXBlcmNsaXBJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9wYXBlcmNsaXAnKSk7XG5jb25zdCBQbHVnaW5JY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9wbHVnaW4nKSk7XG5jb25zdCBSb2NrZXRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9yb2NrZXQnKSk7XG5jb25zdCBTdGFySWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvc3RhcicpKTtcbmNvbnN0IENvbm5lY3RlZFNxdWFyZUljb24gPSBsYXp5KFxuICAoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9jb25uZWN0ZWQtc3F1YXJlJylcbik7XG5jb25zdCBXb3JsZEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3dvcmxkJykpO1xuY29uc3QgVHJlZVN0cnVjdHVyZUljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3RyZWUtc3RydWN0dXJlJykpO1xuY29uc3QgVXNlckZpbGxlZEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3VzZXItZmlsbGVkJykpO1xuY29uc3QgU3BlZWRvbWV0ZXJJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9zcGVlZG9tZXRlcicpKTtcbmNvbnN0IFRhZ011bHRpSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvdGFnLW11bHRpJykpO1xuY29uc3QgQ2FydEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL2NhcnQnKSk7XG5jb25zdCBCb3hJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9ib3gnKSk7XG5jb25zdCBHZWFySWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvZ2VhcicpKTtcbmNvbnN0IExpc3RXaXRoU2VhcmNoSWNvbiA9IGxhenkoXG4gICgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL2xpc3Qtd2l0aC1zZWFyY2gnKVxuKTtcblxudHlwZSBJY29uUHJvcHMgPSBQYXJhbWV0ZXJzPHR5cGVvZiBCYWNrSWNvbj5bMF07XG50eXBlIEljb25Td2l0Y2hlclByb3BzID0geyBpY29uOiBzdHJpbmcgfSAmIEljb25Qcm9wcztcbi8vIFRoZSBpY29uIGlzIGV4cGVjdGVkIHRvIGJlIHRoZSBgc3ZnYCBkb2N1bWVudCBhcyBhIHN0cmluZy5cbi8vIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBwdXJwb3Nlcywgd2Ugc3RpbGwgc3VwcG9ydCB0aGUgbGVnYWN5IFwiaWNvbiBuYW1lXCIsXG4vLyB3aGljaCB3ZSB0aGVuIG1hcCB0byBvbmUgb2YgdGhlIHByZS1kZWZpbmVkIGljb25zLlxuLy8gRXZlbnR1YWxseSwgd2Ugd2FudCB0byBnZXQgcmlkIG9mIHRoaXMgXCJzd2l0Y2hcIiBsb2dpYy5cbmNvbnN0IEljb25Td2l0Y2hlciA9ICh7IGljb24sIC4uLmljb25Qcm9wcyB9OiBJY29uU3dpdGNoZXJQcm9wcykgPT4ge1xuICBpZiAoaWNvbi5pbmNsdWRlcygnPHN2ZycpKSB7XG4gICAgcmV0dXJuIDxJbmxpbmVTdmcgZGF0YT17aWNvbn0gey4uLmljb25Qcm9wc30gLz47XG4gIH1cbiAgLy8gQmFja3dhcmRzIGNvbXBhdGliaWxpdHkgZm9yIGFwcHMgdXNpbmcgdGhlIFwiaWNvbiBuYW1lXCIuXG4gIHN3aXRjaCAoaWNvbikge1xuICAgIC8vIExlZ2FjeSBhcHBsaWNhdGlvbiBpY29uc1xuICAgIC8vIFRPRE86IFRvIGJlIHJlbW92ZWQgb25jZSBNQyBhcHBsaWNhdGlvbnMgaWNvbnMgdXBkYXRlcyBhcmUgcHVibGlzaGVkXG4gICAgY2FzZSAnVHJlZVN0cnVjdHVyZUljb24nOlxuICAgICAgcmV0dXJuIDxUcmVlU3RydWN0dXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdVc2VyRmlsbGVkSWNvbic6XG4gICAgICByZXR1cm4gPFVzZXJGaWxsZWRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1NwZWVkb21ldGVySWNvbic6XG4gICAgICByZXR1cm4gPFNwZWVkb21ldGVySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdUYWdNdWx0aUljb24nOlxuICAgICAgcmV0dXJuIDxUYWdNdWx0aUljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnQ2FydEljb24nOlxuICAgICAgcmV0dXJuIDxDYXJ0SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdCb3hJY29uJzpcbiAgICAgIHJldHVybiA8Qm94SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdHZWFySWNvbic6XG4gICAgICByZXR1cm4gPEdlYXJJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ0xpc3RXaXRoU2VhcmNoSWNvbic6XG4gICAgICByZXR1cm4gPExpc3RXaXRoU2VhcmNoSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcblxuICAgIC8vIEN1c3RvbSBhcHBsaWNhdGlvbiBpY29ucyBzZXRcbiAgICBjYXNlICdIZWFydEljb24nOlxuICAgICAgcmV0dXJuIDxIZWFydEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUGFwZXJjbGlwSWNvbic6XG4gICAgICByZXR1cm4gPFBhcGVyY2xpcEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUGx1Z2luSWNvbic6XG4gICAgICByZXR1cm4gPFBsdWdpbkljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUm9ja2V0SWNvbic6XG4gICAgICByZXR1cm4gPFJvY2tldEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnU3Rhckljb24nOlxuICAgICAgcmV0dXJuIDxTdGFySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdDb25uZWN0ZWRTcXVhcmVJY29uJzpcbiAgICAgIHJldHVybiA8Q29ubmVjdGVkU3F1YXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICAvLyBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcbiAgICBjYXNlICdXb3JsZEljb24nOlxuICAgICAgcmV0dXJuIDxXb3JsZEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiA8aW1nIHNyYz17TWlzc2luZ0ltYWdlU3ZnfSBhbHQ9XCJtaXNzaW5nIGljb25cIiAvPjtcbiAgfVxufTtcbkljb25Td2l0Y2hlci5kaXNwbGF5TmFtZSA9ICdJY29uU3dpdGNoZXInO1xuXG50eXBlIE1lbnVFeHBhbmRlclByb3BzID0ge1xuICBpc1Zpc2libGU6IGJvb2xlYW47XG4gIG9uQ2xpY2s6IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50PjtcbiAgaXNNZW51T3BlbjogYm9vbGVhbjtcbn07XG5cbmNvbnN0IGdldEljb24gPSAoeyBpc01lbnVPcGVuIH06IE1lbnVFeHBhbmRlclByb3BzKSA9PiB7XG4gIGNvbnN0IEljb24gPSBpc01lbnVPcGVuID8gU2lkZWJhckNvbGxhcHNlSWNvbiA6IFNpZGViYXJFeHBhbmRJY29uO1xuICByZXR1cm4gPEljb24gY29sb3I9XCJzdXJmYWNlXCIgc2l6ZT1cImJpZ1wiIC8+O1xufTtcblxuY29uc3QgTWVudUV4cGFuZGVyID0gKHByb3BzOiBNZW51RXhwYW5kZXJQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxsaVxuICAgICAga2V5PVwiZXhwYW5kZXJcIlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKHN0eWxlc1snbGlzdC1pdGVtJ10sIHN0eWxlcy5leHBhbmRlciwge1xuICAgICAgICBbc3R5bGVzLmhpZGRlbl06ICFwcm9wcy5pc1Zpc2libGUsXG4gICAgICB9KX1cbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIG9uQ2xpY2s9e3Byb3BzLm9uQ2xpY2t9XG4gICAgICAgIGNsYXNzTmFtZT17c3R5bGVzWydleHBhbmQtaWNvbiddfVxuICAgICAgICBkYXRhLXRlc3RpZD1cIm1lbnUtZXhwYW5kZXJcIlxuICAgICAgPlxuICAgICAgICB7Z2V0SWNvbihwcm9wcyl9XG4gICAgICA8L2Rpdj5cbiAgICA8L2xpPlxuICApO1xufTtcbk1lbnVFeHBhbmRlci5kaXNwbGF5TmFtZSA9ICdNZW51RXhwYW5kZXInO1xuXG5jb25zdCBGYWRlZCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgwLCAxNTMsIDEzNSwgMCkgMCUsICMwMGIzOWUgMTAwJSk7XG4gIHotaW5kZXg6IDE7XG5gO1xuXG50eXBlIE1lbnVHcm91cFByb3BzID0ge1xuICBpZDogc3RyaW5nO1xuICBsZXZlbDogMSB8IDI7XG4gIGlzQWN0aXZlPzogYm9vbGVhbjtcbiAgaXNFeHBhbmRlZD86IGJvb2xlYW47XG4gIGhhc1N1Ym1lbnU/OiBib29sZWFuO1xuICBjaGlsZHJlbj86IFJlYWN0Tm9kZTtcbiAgc3VibWVudVZlcnRpY2FsUG9zaXRpb24/OiBudW1iZXI7XG4gIGlzU3VibWVudUFib3ZlTWVudUl0ZW0/OiBib29sZWFuO1xufTtcblxuY29uc3QgZ2V0U3VibWVudVBvc2l0aW9uQmFzZWRPbk1lbnVJdGVtUG9zaXRpb24gPSAoXG4gIGlzU3VibWVudUFib3ZlTWVudUl0ZW0/OiBib29sZWFuLFxuICBzdWJtZW51VmVydGljYWxQb3NpdGlvbj86IG51bWJlclxuKSA9PiBjc3NgXG4gICR7aXNTdWJtZW51QWJvdmVNZW51SXRlbSA/ICdib3R0b20nIDogJ3RvcCd9OiAke3N1Ym1lbnVWZXJ0aWNhbFBvc2l0aW9ufXB4XG5gO1xuXG5jb25zdCBnZXRDb250YWluZXJQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uID0gKFxuICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtPzogYm9vbGVhbixcbiAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZD86IGJvb2xlYW4sXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkPzogYm9vbGVhblxuKSA9PiBbXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmXG4gICAgY3NzYFxuICAgICAgJHtpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtXG4gICAgICAgID8gJ2JvdHRvbSdcbiAgICAgICAgOiAndG9wJ306IC0ke0RJTUVOU0lPTlMubmF2TWVudUl0ZW1IZWlnaHR9O1xuICAgIGAsXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgJiZcbiAgICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtICYmXG4gICAgY3NzYFxuICAgICAgYm90dG9tOiAwO1xuICAgIGAsXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgJiZcbiAgICAhaXNTdWJtZW51QWJvdmVNZW51SXRlbSAmJlxuICAgIGNzc2BcbiAgICAgIHRvcDogMDtcbiAgICBgLFxuXTtcblxuY29uc3QgTWVudUdyb3VwID0gZm9yd2FyZFJlZjxIVE1MVUxpc3RFbGVtZW50LCBNZW51R3JvdXBQcm9wcz4oKHByb3BzLCByZWYpID0+IHtcbiAgaWYgKFxuICAgIHByb3BzLmlzRXhwYW5kZWQgJiZcbiAgICAoKHByb3BzLmxldmVsID09PSAyICYmICFwcm9wcy5oYXNTdWJtZW51KSB8fFxuICAgICAgKHByb3BzLmxldmVsID09PSAyICYmICFwcm9wcy5pc0FjdGl2ZSkpXG4gICkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGNvbnN0IGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgPVxuICAgIHByb3BzLmxldmVsID09PSAyICYmIHByb3BzLmlzQWN0aXZlICYmIHByb3BzLmlzRXhwYW5kZWQ7XG4gIGNvbnN0IGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkID1cbiAgICBwcm9wcy5sZXZlbCA9PT0gMiAmJiBwcm9wcy5pc0FjdGl2ZSAmJiAhcHJvcHMuaXNFeHBhbmRlZDtcbiAgcmV0dXJuIChcbiAgICA8dWxcbiAgICAgIHJlZj17cmVmICYmIHByb3BzLmxldmVsID09PSAyID8gcmVmIDogbnVsbH1cbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICAke2dldFN1Ym1lbnVQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uKFxuICAgICAgICAgIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgICAgcHJvcHMuc3VibWVudVZlcnRpY2FsUG9zaXRpb25cbiAgICAgICAgKX07XG4gICAgICBcbiAgICAgIC8vIHByZXZlbnQgZ2xpdGNoeSBiZWhhdmlvciBkdXJpbmcgdGhlIGluaXRpYWwgcmVuZGVyIHdoZW4gdGhlIHN1Ym1lbnUncyB2ZXJ0aWNhbCBwb3NpdGlvbiBpcyBldmFsdWF0ZWQgYXMgMFxuICAgICAgJHtcbiAgICAgICAgcHJvcHMuc3VibWVudVZlcnRpY2FsUG9zaXRpb24gPT09IDAgJiZcbiAgICAgICAgY3NzYFxuICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgYFxuICAgICAgfVxuXG4gICAgICAgIC8vIGFkZGl0aW9uYWwgc3R5bGluZyBvZiB0aGUgcHNldWRvLWVsZW1lbnQgZW5hYmxpbmcgc21vb3RoIGNvdXJzb3IgbW92ZW1lbnRcbiAgICAgICAgOjpiZWZvcmUge1xuICAgICAgICAgICR7Z2V0Q29udGFpbmVyUG9zaXRpb25CYXNlZE9uTWVudUl0ZW1Qb3NpdGlvbihcbiAgICAgICAgICAgIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkLFxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWRcbiAgICAgICAgICApfVxuICAgICAgYH1cbiAgICAgIGlkPXtgZ3JvdXAtJHtwcm9wcy5pZH1gfVxuICAgICAgZGF0YS10ZXN0aWQ9e2Bncm91cC0ke3Byb3BzLmlkfWB9XG4gICAgICByb2xlPVwibWVudVwiXG4gICAgICBhcmlhLWV4cGFuZGVkPXtcbiAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCB8fFxuICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZFxuICAgICAgfVxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKFxuICAgICAgICB7IFtzdHlsZXMubGlzdF06IHByb3BzLmxldmVsID09PSAxIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0J11dOiBwcm9wcy5sZXZlbCA9PT0gMixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtZXhwYW5kZWRfX2FjdGl2ZSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0LWNvbGxhcHNlZF9fZW1wdHknXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCAmJiAhcHJvcHMuaGFzU3VibWVudSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtY29sbGFwc2VkX19hY3RpdmUnXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCAmJlxuICAgICAgICAgICAgIXByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0LWNvbGxhcHNlZF9fYWN0aXZlX19hYm92ZSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzLnN1Ymxpc3RfX2luYWN0aXZlXTogIWlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkLFxuICAgICAgICB9XG4gICAgICApfVxuICAgID5cbiAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICA8L3VsPlxuICApO1xufSk7XG5NZW51R3JvdXAuZGlzcGxheU5hbWUgPSAnTWVudUdyb3VwJztcblxudHlwZSBNZW51SXRlbVByb3BzID0ge1xuICBoYXNTdWJtZW51OiBib29sZWFuO1xuICBpc0FjdGl2ZTogYm9vbGVhbjtcbiAgaXNNYWluTWVudVJvdXRlQWN0aXZlPzogYm9vbGVhbjtcbiAgaXNNZW51T3BlbjogYm9vbGVhbjtcbiAgb25DbGljazogTW91c2VFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+O1xuICBvbk1vdXNlRW50ZXI/OiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD47XG4gIG9uTW91c2VMZWF2ZT86IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50PjtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgaWRlbnRpZmllcj86IHN0cmluZztcbn07XG5jb25zdCBNZW51SXRlbSA9IChwcm9wczogTWVudUl0ZW1Qcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxsaVxuICAgICAgcm9sZT1cIm1lbnVpdGVtXCJcbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcyhzdHlsZXNbJ2xpc3QtaXRlbSddLCB7XG4gICAgICAgIFtzdHlsZXMuaXRlbV9fYWN0aXZlXTogcHJvcHMuaXNBY3RpdmUsXG4gICAgICAgIFtzdHlsZXNbJ2l0ZW1fbWVudV9fYWN0aXZlJ11dOiBwcm9wcy5pc01haW5NZW51Um91dGVBY3RpdmUgPz8gZmFsc2UsXG4gICAgICAgIFtzdHlsZXNbJ2l0ZW1fbWVudS1jb2xsYXBzZWQnXV06ICFwcm9wcy5pc01lbnVPcGVuLFxuICAgICAgfSl9XG4gICAgICBvbkNsaWNrPXtwcm9wcy5vbkNsaWNrfVxuICAgICAgb25Nb3VzZUVudGVyPXtwcm9wcy5vbk1vdXNlRW50ZXJ9XG4gICAgICBvbk1vdXNlTGVhdmU9e3Byb3BzLm9uTW91c2VMZWF2ZX1cbiAgICAgIGRhdGEtbWVudWl0ZW09e3Byb3BzLmlkZW50aWZpZXJ9XG4gICAgPlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaXRlbS1saW5rJ119Pntwcm9wcy5jaGlsZHJlbn08L2Rpdj5cbiAgICA8L2xpPlxuICApO1xufTtcblxuTWVudUl0ZW0uZGlzcGxheU5hbWUgPSAnTWVudUl0ZW0nO1xuXG5leHBvcnQgdHlwZSBNZW51SXRlbUxpbmtQcm9wcyA9IHtcbiAgbGlua1RvPzogc3RyaW5nO1xuICBleGFjdE1hdGNoOiBib29sZWFuO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBvbkNsaWNrPzogKGV2ZW50OiBTeW50aGV0aWNFdmVudDxIVE1MQW5jaG9yRWxlbWVudD4pID0+IHZvaWQ7XG4gIHVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rcz86IGJvb2xlYW47XG4gIGlzU3VibWVudUxpbms/OiBib29sZWFuO1xufTtcbmNvbnN0IG1lbnVJdGVtTGlua0RlZmF1bHRQcm9wczogUGljazxNZW51SXRlbUxpbmtQcm9wcywgJ2V4YWN0TWF0Y2gnPiA9IHtcbiAgZXhhY3RNYXRjaDogZmFsc2UsXG59O1xuY29uc3QgTmF2TGlua1dyYXBwZXIgPSAocHJvcHM6IE1lbnVJdGVtTGlua1Byb3BzKSA9PiB7XG4gIGlmIChwcm9wcy5pc1N1Ym1lbnVMaW5rKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ3RleHQtbGluay1zdWJsaXN0LXdyYXBwZXInXX0+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5jb25zdCBOYXZMaW5rQ2xpY2thYmxlQ29udGVudFdyYXBwZXIgPSAocHJvcHM6IE1lbnVJdGVtTGlua1Byb3BzKSA9PiB7XG4gIGlmIChwcm9wcy5pc1N1Ym1lbnVMaW5rKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ25hdmxpbmstY2xpY2thYmxlLWNvbnRlbnQnXX0+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5cbmNvbnN0IE1lbnVJdGVtTGluayA9IChwcm9wczogTWVudUl0ZW1MaW5rUHJvcHMpID0+IHtcbiAgY29uc3QgcmVkaXJlY3RUbyA9ICh0YXJnZXRVcmw6IHN0cmluZykgPT4gbG9jYXRpb24ucmVwbGFjZSh0YXJnZXRVcmwpO1xuICBpZiAocHJvcHMubGlua1RvKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxOYXZMaW5rV3JhcHBlciB7Li4ucHJvcHN9PlxuICAgICAgICA8TmF2TGlua1xuICAgICAgICAgIHRvPXtwcm9wcy5saW5rVG99XG4gICAgICAgICAgZXhhY3Q9e3Byb3BzLmV4YWN0TWF0Y2h9XG4gICAgICAgICAgYWN0aXZlQ2xhc3NOYW1lPXtzdHlsZXMuaGlnaGxpZ2h0ZWR9XG4gICAgICAgICAgY2xhc3NOYW1lPXtcbiAgICAgICAgICAgIHByb3BzLmlzU3VibWVudUxpbmtcbiAgICAgICAgICAgICAgPyBzdHlsZXNbJ3RleHQtbGluay1zdWJsaXN0J11cbiAgICAgICAgICAgICAgOiBzdHlsZXNbJ3RleHQtbGluayddXG4gICAgICAgICAgfVxuICAgICAgICAgIG9uQ2xpY2s9eyhldmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKHByb3BzLmxpbmtUbyAmJiBwcm9wcy51c2VGdWxsUmVkaXJlY3RzRm9yTGlua3MpIHtcbiAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgcmVkaXJlY3RUbyhwcm9wcy5saW5rVG8pO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChwcm9wcy5vbkNsaWNrKSB7XG4gICAgICAgICAgICAgIGV2ZW50LnBlcnNpc3QoKTtcbiAgICAgICAgICAgICAgcHJvcHMub25DbGljayhldmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxOYXZMaW5rQ2xpY2thYmxlQ29udGVudFdyYXBwZXIgey4uLnByb3BzfT5cbiAgICAgICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgICAgICA8L05hdkxpbmtDbGlja2FibGVDb250ZW50V3JhcHBlcj5cbiAgICAgICAgPC9OYXZMaW5rPlxuICAgICAgPC9OYXZMaW5rV3JhcHBlcj5cbiAgICApO1xuICB9XG4gIHJldHVybiA8Pntwcm9wcy5jaGlsZHJlbn08Lz47XG59O1xuTWVudUl0ZW1MaW5rLmRpc3BsYXlOYW1lID0gJ01lbnVJdGVtTGluayc7XG5NZW51SXRlbUxpbmsuZGVmYXVsdFByb3BzID0gbWVudUl0ZW1MaW5rRGVmYXVsdFByb3BzO1xuXG5jb25zdCBpc0V2ZXJ5TWVudVZpc2liaWxpdHlTZXRUb0hpZGRlbiA9IChcbiAgbWVudVZpc2liaWxpdGllcz86IFROb3JtYWxpemVkTWVudVZpc2liaWxpdGllcyB8IG51bGwsXG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPzogc3RyaW5nW11cbikgPT5cbiAgQXJyYXkuaXNBcnJheShuYW1lc09mTWVudVZpc2liaWxpdGllcykgJiZcbiAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXMubGVuZ3RoID4gMCAmJlxuICBuYW1lc09mTWVudVZpc2liaWxpdGllcy5ldmVyeShcbiAgICAobmFtZU9mTWVudVZpc2liaWxpdHkpID0+XG4gICAgICBtZW51VmlzaWJpbGl0aWVzICYmIG1lbnVWaXNpYmlsaXRpZXNbbmFtZU9mTWVudVZpc2liaWxpdHldID09PSB0cnVlXG4gICk7XG5cbnR5cGUgUmVzdHJpY3RlZE1lbnVJdGVtUHJvcHMgPSB7XG4gIGZlYXR1cmVUb2dnbGU/OiBzdHJpbmc7XG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPzogc3RyaW5nW107XG4gIHByb2plY3RQZXJtaXNzaW9uczogVFByb2plY3RQZXJtaXNzaW9ucztcbiAgbWVudVZpc2liaWxpdGllczogVE5vcm1hbGl6ZWRNZW51VmlzaWJpbGl0aWVzIHwgbnVsbDtcbiAga2V5T2ZNZW51SXRlbTogc3RyaW5nO1xuICBwZXJtaXNzaW9uczogc3RyaW5nW107XG4gIGFjdGlvblJpZ2h0cz86IFRBY3Rpb25SaWdodFtdO1xuICBkYXRhRmVuY2VzPzogVERhdGFGZW5jZVtdO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xufTtcbnR5cGUgVExvbmdMaXZlZEZsYWcgPSB7XG4gIHZhbHVlOiBib29sZWFuO1xuICByZWFzb24/OiBzdHJpbmc7XG59O1xuY29uc3QgcmVzdHJpY3RlZE1lbnVJdGVtRGVmYXVsdFByb3BzOiBQaWNrPFxuICBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcyxcbiAgJ3Blcm1pc3Npb25zJ1xuPiA9IHtcbiAgcGVybWlzc2lvbnM6IFtdLFxufTtcbmZ1bmN0aW9uIGlzTG9uZ0xpdmVkRmxhZyhcbiAgZmxhZzogVEZsYWdWYXJpYXRpb24gfCBUTG9uZ0xpdmVkRmxhZ1xuKTogZmxhZyBpcyBUTG9uZ0xpdmVkRmxhZyB7XG4gIHJldHVybiB0eXBlb2YgKGZsYWcgYXMgVExvbmdMaXZlZEZsYWcpPy52YWx1ZSA9PT0gJ2Jvb2xlYW4nO1xufVxuY29uc3QgUmVzdHJpY3RlZE1lbnVJdGVtID0gKHByb3BzOiBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcykgPT4ge1xuICAvLyBOT1RFOiBDdXN0b20gYXBwbGljYXRpb24gYXJlIGFjdGl2YXRlZC9kZWFjdGl2YXRlZCB3aGlsZSB0aGVpclxuICAvLyB2aXNpYmlsaXR5IGlzIG5vdCBjb250cm9sbGVkIHZpYSBhIHZpc2liaWlsaXR5IG92ZXJ3cml0ZS5cbiAgY29uc3QgZmxhZ1ZhcmlhdGlvbiA9IHVzZUZsYWdWYXJpYXRpb24ocHJvcHMuZmVhdHVyZVRvZ2dsZSk7XG4gIGlmIChcbiAgICBpc0V2ZXJ5TWVudVZpc2liaWxpdHlTZXRUb0hpZGRlbihcbiAgICAgIHByb3BzLm1lbnVWaXNpYmlsaXRpZXMsXG4gICAgICBwcm9wcy5uYW1lc09mTWVudVZpc2liaWxpdGllc1xuICAgIClcbiAgKVxuICAgIHJldHVybiBudWxsO1xuXG4gIGNvbnN0IHBlcm1pc3Npb25zV3JhcHBlciA9XG4gICAgKEFycmF5LmlzQXJyYXkocHJvcHMucGVybWlzc2lvbnMpICYmIHByb3BzLnBlcm1pc3Npb25zLmxlbmd0aCA+IDApIHx8XG4gICAgKEFycmF5LmlzQXJyYXkocHJvcHMuZGF0YUZlbmNlcykgJiYgcHJvcHMuZGF0YUZlbmNlcy5sZW5ndGggPiAwKSA/IChcbiAgICAgIDxSZXN0cmljdGVkQnlQZXJtaXNzaW9uc1xuICAgICAgICBwZXJtaXNzaW9ucz17cHJvcHMucGVybWlzc2lvbnN9XG4gICAgICAgIGFjdGlvblJpZ2h0cz17cHJvcHMuYWN0aW9uUmlnaHRzfVxuICAgICAgICBkYXRhRmVuY2VzPXtwcm9wcy5kYXRhRmVuY2VzfVxuICAgICAgICBzZWxlY3REYXRhRmVuY2VEYXRhPXsoZGVtYW5kZWREYXRhRmVuY2UpID0+IHtcbiAgICAgICAgICBzd2l0Y2ggKGRlbWFuZGVkRGF0YUZlbmNlLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ3N0b3JlJzpcbiAgICAgICAgICAgICAgcmV0dXJuIGRlbWFuZGVkRGF0YUZlbmNlLmFjdHVhbERhdGFGZW5jZVZhbHVlcztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfX1cbiAgICAgICAgLy8gQWx3YXlzIGNoZWNrIHRoYXQgc29tZSBvZiB0aGUgZ2l2ZW4gcGVybWlzc2lvbnMgbWF0Y2guXG4gICAgICAgIHNob3VsZE1hdGNoU29tZVBlcm1pc3Npb25zPXt0cnVlfVxuICAgICAgICBwcm9qZWN0UGVybWlzc2lvbnM9e3Byb3BzLnByb2plY3RQZXJtaXNzaW9uc31cbiAgICAgID5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9SZXN0cmljdGVkQnlQZXJtaXNzaW9ucz5cbiAgICApIDogKFxuICAgICAgPD57cHJvcHMuY2hpbGRyZW59PC8+XG4gICAgKTtcblxuICBpZiAocHJvcHMuZmVhdHVyZVRvZ2dsZSkge1xuICAgIC8vIEEgcmVndWxhciBzaG9ydC1saXZlZCBmZWF0dXJlIHRvZ2dsZVxuICAgIGlmIChmbGFnVmFyaWF0aW9uID09PSB0cnVlKSByZXR1cm4gcGVybWlzc2lvbnNXcmFwcGVyO1xuICAgIC8vIEEgbG9uZy1saXZlZCBmZWF0dXJlIHRvZ2dsZSB3aXRoIGB7IHZhbHVlOiBib29sZWFuLCBzdHJpbmc6IHJlYXNvbiB9YFxuICAgIGlmIChpc0xvbmdMaXZlZEZsYWcoZmxhZ1ZhcmlhdGlvbikgJiYgZmxhZ1ZhcmlhdGlvbi52YWx1ZSA9PT0gdHJ1ZSlcbiAgICAgIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG59O1xuUmVzdHJpY3RlZE1lbnVJdGVtLmRpc3BsYXlOYW1lID0gJ1Jlc3RyaWN0ZWRNZW51SXRlbSc7XG5SZXN0cmljdGVkTWVudUl0ZW0uZGVmYXVsdFByb3BzID0gcmVzdHJpY3RlZE1lbnVJdGVtRGVmYXVsdFByb3BzO1xuXG50eXBlIE1lbnVMYWJlbFByb3BzID0ge1xuICBsYWJlbEFsbExvY2FsZXM6IFRMb2NhbGl6ZWRGaWVsZFtdO1xuICBkZWZhdWx0TGFiZWw/OiBzdHJpbmc7XG4gIGFwcGxpY2F0aW9uTG9jYWxlOiBzdHJpbmc7XG59O1xuY29uc3QgTWVudUxhYmVsID0gKHByb3BzOiBNZW51TGFiZWxQcm9wcykgPT4ge1xuICBjb25zdCBsb2NhbGl6ZWRMYWJlbCA9IHByb3BzLmxhYmVsQWxsTG9jYWxlcy5maW5kKChsb2MpID0+XG4gICAgcHJvcHMuYXBwbGljYXRpb25Mb2NhbGUuc3RhcnRzV2l0aChsb2MubG9jYWxlKVxuICApO1xuICBpZiAobG9jYWxpemVkTGFiZWwpIHJldHVybiA8Pntsb2NhbGl6ZWRMYWJlbC52YWx1ZX08Lz47XG4gIGlmIChwcm9wcy5kZWZhdWx0TGFiZWwpIHJldHVybiA8Pntwcm9wcy5kZWZhdWx0TGFiZWx9PC8+O1xuICByZXR1cm4gPD57Tk9fVkFMVUVfRkFMTEJBQ0t9PC8+O1xufTtcblxudHlwZSBUTmF2QmFyTGF5b3V0UHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59O1xuY29uc3QgTmF2QmFyTGF5b3V0ID0gZm9yd2FyZFJlZjxIVE1MRWxlbWVudCwgVE5hdkJhckxheW91dFByb3BzPihcbiAgKHByb3BzLCByZWYpID0+IChcbiAgICA8PlxuICAgICAgPEdsb2JhbFxuICAgICAgICBzdHlsZXM9e2Nzc2BcbiAgICAgICAgICAke2NvbXBpbGVkU3R5bGVzLmdsb2JhbH1cbiAgICAgICAgYH1cbiAgICAgIC8+XG4gICAgICA8bmF2XG4gICAgICAgIHJlZj17cmVmfVxuICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1snbGVmdC1uYXZpZ2F0aW9uJ119XG4gICAgICAgIGRhdGEtdGVzdD1cImxlZnQtbmF2aWdhdGlvblwiXG4gICAgICAgIGRhdGEtdGVzdGlkPVwibGVmdC1uYXZpZ2F0aW9uXCJcbiAgICAgID5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9uYXY+XG4gICAgPC8+XG4gIClcbik7XG5OYXZCYXJMYXlvdXQuZGlzcGxheU5hbWUgPSAnTmF2QmFyTGF5b3V0JztcblxudHlwZSBJdGVtQ29udGFpbmVyUHJvcHMgPSB7XG4gIGxhYmVsQWxsTG9jYWxlczogVExvY2FsaXplZEZpZWxkW107XG4gIGRlZmF1bHRMYWJlbD86IHN0cmluZztcbiAgYXBwbGljYXRpb25Mb2NhbGU6IHN0cmluZztcbiAgaWNvbjogc3RyaW5nO1xuICBpc01lbnVPcGVuPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IEl0ZW1Db250YWluZXIgPSAocHJvcHM6IEl0ZW1Db250YWluZXJQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2l0ZW0taWNvbi10ZXh0J119PlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaWNvbi1jb250YWluZXInXX0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMuaWNvbn0+XG4gICAgICAgICAgPEljb25Td2l0Y2hlciBpY29uPXtwcm9wcy5pY29ufSBzaXplPVwic2NhbGVcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAge3Byb3BzLmlzTWVudU9wZW4gPyAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMudGl0bGV9PlxuICAgICAgICAgIDxNZW51TGFiZWxcbiAgICAgICAgICAgIGxhYmVsQWxsTG9jYWxlcz17cHJvcHMubGFiZWxBbGxMb2NhbGVzfVxuICAgICAgICAgICAgZGVmYXVsdExhYmVsPXtwcm9wcy5kZWZhdWx0TGFiZWx9XG4gICAgICAgICAgICBhcHBsaWNhdGlvbkxvY2FsZT17cHJvcHMuYXBwbGljYXRpb25Mb2NhbGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApIDogbnVsbH1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbkl0ZW1Db250YWluZXIuZGlzcGxheU5hbWUgPSAnSXRlbUNvbnRhaW5lcic7XG5cbmV4cG9ydCB7XG4gIFJlc3RyaWN0ZWRNZW51SXRlbSxcbiAgTWVudUl0ZW0sXG4gIE1lbnVJdGVtTGluayxcbiAgSWNvblN3aXRjaGVyLFxuICBNZW51R3JvdXAsXG4gIE1lbnVMYWJlbCxcbiAgTWVudUV4cGFuZGVyLFxuICBGYWRlZCxcbiAgTmF2QmFyTGF5b3V0LFxuICBJdGVtQ29udGFpbmVyLFxufTtcbiJdfQ== */");
474
+ var _ref2 = process.env.NODE_ENV === "production" ? {
475
475
  name: "abcix4",
476
476
  styles: "top:0"
477
477
  } : {
478
478
  name: "4uw94j-getContainerPositionBasedOnMenuItemPosition",
479
479
  styles: "top:0;label:getContainerPositionBasedOnMenuItemPosition;",
480
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1lbnUtaXRlbXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW1NTyIsImZpbGUiOiJtZW51LWl0ZW1zLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGZvcndhcmRSZWYsXG4gIGxhenksXG4gIE1vdXNlRXZlbnRIYW5kbGVyLFxuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdHlwZSBTeW50aGV0aWNFdmVudCxcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgR2xvYmFsLCBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3JlYWN0LWJyb2FkY2FzdCc7XG5pbXBvcnQgdHlwZSB7IFRGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3R5cGVzJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgTmF2TGluayB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHR5cGUge1xuICBUTm9ybWFsaXplZE1lbnVWaXNpYmlsaXRpZXMsXG4gIFROb3JtYWxpemVkUGVybWlzc2lvbnMsXG4gIFROb3JtYWxpemVkQWN0aW9uUmlnaHRzLFxuICBUTm9ybWFsaXplZERhdGFGZW5jZXMsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnO1xuaW1wb3J0IE1pc3NpbmdJbWFnZVN2ZyBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hc3NldHMvaW1hZ2VzL2RpYWdvbmFsLWxpbmUuc3ZnJztcbmltcG9ydCB7IE5PX1ZBTFVFX0ZBTExCQUNLIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvY29uc3RhbnRzJztcbmltcG9ydCB7IFJlc3RyaWN0ZWRCeVBlcm1pc3Npb25zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvcGVybWlzc2lvbnMnO1xuaW1wb3J0IHtcbiAgQmFja0ljb24sXG4gIFNpZGViYXJFeHBhbmRJY29uLFxuICBTaWRlYmFyQ29sbGFwc2VJY29uLFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucyc7XG5pbXBvcnQgSW5saW5lU3ZnIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ljb25zL2lubGluZS1zdmcnO1xuaW1wb3J0IHsgRElNRU5TSU9OUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgdHlwZSB7XG4gIFREYXRhRmVuY2UsXG4gIFRBY3Rpb25SaWdodCxcbiAgVExvY2FsaXplZEZpZWxkLFxufSBmcm9tICcuLi8uLi8uLi90eXBlcy9nZW5lcmF0ZWQvcHJveHknO1xuaW1wb3J0IHsgbG9jYXRpb24gfSBmcm9tICcuLi8uLi8uLi91dGlscy9sb2NhdGlvbic7XG4vLyBodHRwczovL2JhYmVsanMuaW8vYmxvZy8yMDE3LzA5LzExL3plcm8tY29uZmlnLXdpdGgtYmFiZWwtbWFjcm9zXG5pbXBvcnQgY29tcGlsZWRTdHlsZXMgZnJvbSAvKiBwcmV2YWwgKi8gJy4vbmF2YmFyLnN0eWxlcyc7XG5cbmNvbnN0IHN0eWxlcyA9IGNvbXBpbGVkU3R5bGVzLmpzb25NYXA7XG5cbnR5cGUgVFByb2plY3RQZXJtaXNzaW9ucyA9IHtcbiAgcGVybWlzc2lvbnM6IFROb3JtYWxpemVkUGVybWlzc2lvbnMgfCBudWxsO1xuICBhY3Rpb25SaWdodHM6IFROb3JtYWxpemVkQWN0aW9uUmlnaHRzIHwgbnVsbDtcbiAgZGF0YUZlbmNlczogVE5vcm1hbGl6ZWREYXRhRmVuY2VzIHwgbnVsbDtcbn07XG5cbmNvbnN0IEhlYXJ0SWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvaGVhcnQnKSk7XG5jb25zdCBQYXBlcmNsaXBJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9wYXBlcmNsaXAnKSk7XG5jb25zdCBQbHVnaW5JY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9wbHVnaW4nKSk7XG5jb25zdCBSb2NrZXRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9yb2NrZXQnKSk7XG5jb25zdCBTdGFySWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvc3RhcicpKTtcbmNvbnN0IENvbm5lY3RlZFNxdWFyZUljb24gPSBsYXp5KFxuICAoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9jb25uZWN0ZWQtc3F1YXJlJylcbik7XG5jb25zdCBXb3JsZEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3dvcmxkJykpO1xuY29uc3QgVHJlZVN0cnVjdHVyZUljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3RyZWUtc3RydWN0dXJlJykpO1xuY29uc3QgVXNlckZpbGxlZEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3VzZXItZmlsbGVkJykpO1xuY29uc3QgU3BlZWRvbWV0ZXJJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9zcGVlZG9tZXRlcicpKTtcbmNvbnN0IFRhZ011bHRpSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvdGFnLW11bHRpJykpO1xuY29uc3QgQ2FydEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL2NhcnQnKSk7XG5jb25zdCBCb3hJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9ib3gnKSk7XG5jb25zdCBHZWFySWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvZ2VhcicpKTtcbmNvbnN0IExpc3RXaXRoU2VhcmNoSWNvbiA9IGxhenkoXG4gICgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL2xpc3Qtd2l0aC1zZWFyY2gnKVxuKTtcblxudHlwZSBJY29uUHJvcHMgPSBQYXJhbWV0ZXJzPHR5cGVvZiBCYWNrSWNvbj5bMF07XG50eXBlIEljb25Td2l0Y2hlclByb3BzID0geyBpY29uOiBzdHJpbmcgfSAmIEljb25Qcm9wcztcbi8vIFRoZSBpY29uIGlzIGV4cGVjdGVkIHRvIGJlIHRoZSBgc3ZnYCBkb2N1bWVudCBhcyBhIHN0cmluZy5cbi8vIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBwdXJwb3Nlcywgd2Ugc3RpbGwgc3VwcG9ydCB0aGUgbGVnYWN5IFwiaWNvbiBuYW1lXCIsXG4vLyB3aGljaCB3ZSB0aGVuIG1hcCB0byBvbmUgb2YgdGhlIHByZS1kZWZpbmVkIGljb25zLlxuLy8gRXZlbnR1YWxseSwgd2Ugd2FudCB0byBnZXQgcmlkIG9mIHRoaXMgXCJzd2l0Y2hcIiBsb2dpYy5cbmNvbnN0IEljb25Td2l0Y2hlciA9ICh7IGljb24sIC4uLmljb25Qcm9wcyB9OiBJY29uU3dpdGNoZXJQcm9wcykgPT4ge1xuICBpZiAoaWNvbi5pbmNsdWRlcygnPHN2ZycpKSB7XG4gICAgcmV0dXJuIDxJbmxpbmVTdmcgZGF0YT17aWNvbn0gey4uLmljb25Qcm9wc30gLz47XG4gIH1cbiAgLy8gQmFja3dhcmRzIGNvbXBhdGliaWxpdHkgZm9yIGFwcHMgdXNpbmcgdGhlIFwiaWNvbiBuYW1lXCIuXG4gIHN3aXRjaCAoaWNvbikge1xuICAgIC8vIExlZ2FjeSBhcHBsaWNhdGlvbiBpY29uc1xuICAgIC8vIFRPRE86IFRvIGJlIHJlbW92ZWQgb25jZSBNQyBhcHBsaWNhdGlvbnMgaWNvbnMgdXBkYXRlcyBhcmUgcHVibGlzaGVkXG4gICAgY2FzZSAnVHJlZVN0cnVjdHVyZUljb24nOlxuICAgICAgcmV0dXJuIDxUcmVlU3RydWN0dXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdVc2VyRmlsbGVkSWNvbic6XG4gICAgICByZXR1cm4gPFVzZXJGaWxsZWRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1NwZWVkb21ldGVySWNvbic6XG4gICAgICByZXR1cm4gPFNwZWVkb21ldGVySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdUYWdNdWx0aUljb24nOlxuICAgICAgcmV0dXJuIDxUYWdNdWx0aUljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnQ2FydEljb24nOlxuICAgICAgcmV0dXJuIDxDYXJ0SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdCb3hJY29uJzpcbiAgICAgIHJldHVybiA8Qm94SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdHZWFySWNvbic6XG4gICAgICByZXR1cm4gPEdlYXJJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ0xpc3RXaXRoU2VhcmNoSWNvbic6XG4gICAgICByZXR1cm4gPExpc3RXaXRoU2VhcmNoSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcblxuICAgIC8vIEN1c3RvbSBhcHBsaWNhdGlvbiBpY29ucyBzZXRcbiAgICBjYXNlICdIZWFydEljb24nOlxuICAgICAgcmV0dXJuIDxIZWFydEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUGFwZXJjbGlwSWNvbic6XG4gICAgICByZXR1cm4gPFBhcGVyY2xpcEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUGx1Z2luSWNvbic6XG4gICAgICByZXR1cm4gPFBsdWdpbkljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUm9ja2V0SWNvbic6XG4gICAgICByZXR1cm4gPFJvY2tldEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnU3Rhckljb24nOlxuICAgICAgcmV0dXJuIDxTdGFySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdDb25uZWN0ZWRTcXVhcmVJY29uJzpcbiAgICAgIHJldHVybiA8Q29ubmVjdGVkU3F1YXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICAvLyBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcbiAgICBjYXNlICdXb3JsZEljb24nOlxuICAgICAgcmV0dXJuIDxXb3JsZEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiA8aW1nIHNyYz17TWlzc2luZ0ltYWdlU3ZnfSBhbHQ9XCJtaXNzaW5nIGljb25cIiAvPjtcbiAgfVxufTtcbkljb25Td2l0Y2hlci5kaXNwbGF5TmFtZSA9ICdJY29uU3dpdGNoZXInO1xuXG50eXBlIE1lbnVFeHBhbmRlclByb3BzID0ge1xuICBpc1Zpc2libGU6IGJvb2xlYW47XG4gIG9uQ2xpY2s6IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50PjtcbiAgaXNNZW51T3BlbjogYm9vbGVhbjtcbn07XG5cbmNvbnN0IGdldEljb24gPSAoeyBpc01lbnVPcGVuIH06IE1lbnVFeHBhbmRlclByb3BzKSA9PiB7XG4gIGNvbnN0IEljb24gPSBpc01lbnVPcGVuID8gU2lkZWJhckNvbGxhcHNlSWNvbiA6IFNpZGViYXJFeHBhbmRJY29uO1xuICByZXR1cm4gPEljb24gY29sb3I9XCJzdXJmYWNlXCIgc2l6ZT1cImJpZ1wiIC8+O1xufTtcblxuY29uc3QgTWVudUV4cGFuZGVyID0gKHByb3BzOiBNZW51RXhwYW5kZXJQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxsaVxuICAgICAga2V5PVwiZXhwYW5kZXJcIlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKHN0eWxlc1snbGlzdC1pdGVtJ10sIHN0eWxlcy5leHBhbmRlciwge1xuICAgICAgICBbc3R5bGVzLmhpZGRlbl06ICFwcm9wcy5pc1Zpc2libGUsXG4gICAgICB9KX1cbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIG9uQ2xpY2s9e3Byb3BzLm9uQ2xpY2t9XG4gICAgICAgIGNsYXNzTmFtZT17c3R5bGVzWydleHBhbmQtaWNvbiddfVxuICAgICAgICBkYXRhLXRlc3RpZD1cIm1lbnUtZXhwYW5kZXJcIlxuICAgICAgPlxuICAgICAgICB7Z2V0SWNvbihwcm9wcyl9XG4gICAgICA8L2Rpdj5cbiAgICA8L2xpPlxuICApO1xufTtcbk1lbnVFeHBhbmRlci5kaXNwbGF5TmFtZSA9ICdNZW51RXhwYW5kZXInO1xuXG5jb25zdCBGYWRlZCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgwLCAxNTMsIDEzNSwgMCkgMCUsICMwMGIzOWUgMTAwJSk7XG4gIHotaW5kZXg6IDE7XG5gO1xuXG50eXBlIE1lbnVHcm91cFByb3BzID0ge1xuICBpZDogc3RyaW5nO1xuICBsZXZlbDogMSB8IDI7XG4gIGlzQWN0aXZlPzogYm9vbGVhbjtcbiAgaXNFeHBhbmRlZD86IGJvb2xlYW47XG4gIGhhc1N1Ym1lbnU/OiBib29sZWFuO1xuICBjaGlsZHJlbj86IFJlYWN0Tm9kZTtcbiAgc3VibWVudVZlcnRpY2FsUG9zaXRpb24/OiBudW1iZXI7XG4gIGlzU3VibWVudUFib3ZlTWVudUl0ZW0/OiBib29sZWFuO1xufTtcblxuY29uc3QgZ2V0U3VibWVudVBvc2l0aW9uQmFzZWRPbk1lbnVJdGVtUG9zaXRpb24gPSAoXG4gIGlzU3VibWVudUFib3ZlTWVudUl0ZW0/OiBib29sZWFuLFxuICBzdWJtZW51VmVydGljYWxQb3NpdGlvbj86IG51bWJlclxuKSA9PiBjc3NgXG4gICR7aXNTdWJtZW51QWJvdmVNZW51SXRlbSA/ICdib3R0b20nIDogJ3RvcCd9OiAke3N1Ym1lbnVWZXJ0aWNhbFBvc2l0aW9ufXB4XG5gO1xuXG5jb25zdCBnZXRDb250YWluZXJQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uID0gKFxuICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtPzogYm9vbGVhbixcbiAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZD86IGJvb2xlYW4sXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkPzogYm9vbGVhblxuKSA9PiBbXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmXG4gICAgY3NzYFxuICAgICAgJHtpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtXG4gICAgICAgID8gJ2JvdHRvbSdcbiAgICAgICAgOiAndG9wJ306IC0ke0RJTUVOU0lPTlMubmF2TWVudUl0ZW1IZWlnaHR9O1xuICAgIGAsXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgJiZcbiAgICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtICYmXG4gICAgY3NzYFxuICAgICAgYm90dG9tOiAwO1xuICAgIGAsXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgJiZcbiAgICAhaXNTdWJtZW51QWJvdmVNZW51SXRlbSAmJlxuICAgIGNzc2BcbiAgICAgIHRvcDogMDtcbiAgICBgLFxuXTtcblxuY29uc3QgTWVudUdyb3VwID0gZm9yd2FyZFJlZjxIVE1MVUxpc3RFbGVtZW50LCBNZW51R3JvdXBQcm9wcz4oKHByb3BzLCByZWYpID0+IHtcbiAgaWYgKFxuICAgIHByb3BzLmlzRXhwYW5kZWQgJiZcbiAgICAoKHByb3BzLmxldmVsID09PSAyICYmICFwcm9wcy5oYXNTdWJtZW51KSB8fFxuICAgICAgKHByb3BzLmxldmVsID09PSAyICYmICFwcm9wcy5pc0FjdGl2ZSkpXG4gICkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGNvbnN0IGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgPVxuICAgIHByb3BzLmxldmVsID09PSAyICYmIHByb3BzLmlzQWN0aXZlICYmIHByb3BzLmlzRXhwYW5kZWQ7XG4gIGNvbnN0IGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkID1cbiAgICBwcm9wcy5sZXZlbCA9PT0gMiAmJiBwcm9wcy5pc0FjdGl2ZSAmJiAhcHJvcHMuaXNFeHBhbmRlZDtcbiAgcmV0dXJuIChcbiAgICA8dWxcbiAgICAgIHJlZj17cmVmICYmIHByb3BzLmxldmVsID09PSAyID8gcmVmIDogbnVsbH1cbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICAke2dldFN1Ym1lbnVQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uKFxuICAgICAgICAgIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgICAgcHJvcHMuc3VibWVudVZlcnRpY2FsUG9zaXRpb25cbiAgICAgICAgKX07XG5cbiAgICAgICAgLy8gYWRkaXRpb25hbCBzdHlsaW5nIG9mIHRoZSBwc2V1ZG8tZWxlbWVudCBlbmFibGluZyBzbW9vdGggY291cnNvciBtb3ZlbWVudFxuICAgICAgICA6OmJlZm9yZSB7XG4gICAgICAgICAgJHtnZXRDb250YWluZXJQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uKFxuICAgICAgICAgICAgcHJvcHMuaXNTdWJtZW51QWJvdmVNZW51SXRlbSxcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQsXG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZFxuICAgICAgICAgICl9XG4gICAgICBgfVxuICAgICAgaWQ9e2Bncm91cC0ke3Byb3BzLmlkfWB9XG4gICAgICBkYXRhLXRlc3RpZD17YGdyb3VwLSR7cHJvcHMuaWR9YH1cbiAgICAgIHJvbGU9XCJtZW51XCJcbiAgICAgIGFyaWEtZXhwYW5kZWQ9e1xuICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkIHx8XG4gICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkXG4gICAgICB9XG4gICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoXG4gICAgICAgIHsgW3N0eWxlcy5saXN0XTogcHJvcHMubGV2ZWwgPT09IDEgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QnXV06IHByb3BzLmxldmVsID09PSAyLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlc1snc3VibGlzdC1leHBhbmRlZF9fYWN0aXZlJ11dOlxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtY29sbGFwc2VkX19lbXB0eSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmICFwcm9wcy5oYXNTdWJtZW51LFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlc1snc3VibGlzdC1jb2xsYXBzZWRfX2FjdGl2ZSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmXG4gICAgICAgICAgICAhcHJvcHMuaXNTdWJtZW51QWJvdmVNZW51SXRlbSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtY29sbGFwc2VkX19hY3RpdmVfX2Fib3ZlJ11dOlxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQgJiYgcHJvcHMuaXNTdWJtZW51QWJvdmVNZW51SXRlbSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXMuc3VibGlzdF9faW5hY3RpdmVdOiAhaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQsXG4gICAgICAgIH1cbiAgICAgICl9XG4gICAgPlxuICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgIDwvdWw+XG4gICk7XG59KTtcbk1lbnVHcm91cC5kaXNwbGF5TmFtZSA9ICdNZW51R3JvdXAnO1xuXG50eXBlIE1lbnVJdGVtUHJvcHMgPSB7XG4gIGhhc1N1Ym1lbnU6IGJvb2xlYW47XG4gIGlzQWN0aXZlOiBib29sZWFuO1xuICBpc01haW5NZW51Um91dGVBY3RpdmU/OiBib29sZWFuO1xuICBpc01lbnVPcGVuOiBib29sZWFuO1xuICBvbkNsaWNrOiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD47XG4gIG9uTW91c2VFbnRlcj86IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50PjtcbiAgb25Nb3VzZUxlYXZlPzogTW91c2VFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+O1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBpZGVudGlmaWVyPzogc3RyaW5nO1xufTtcbmNvbnN0IE1lbnVJdGVtID0gKHByb3BzOiBNZW51SXRlbVByb3BzKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGxpXG4gICAgICByb2xlPVwibWVudWl0ZW1cIlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKHN0eWxlc1snbGlzdC1pdGVtJ10sIHtcbiAgICAgICAgW3N0eWxlcy5pdGVtX19hY3RpdmVdOiBwcm9wcy5pc0FjdGl2ZSxcbiAgICAgICAgW3N0eWxlc1snaXRlbV9tZW51X19hY3RpdmUnXV06IHByb3BzLmlzTWFpbk1lbnVSb3V0ZUFjdGl2ZSA/PyBmYWxzZSxcbiAgICAgICAgW3N0eWxlc1snaXRlbV9tZW51LWNvbGxhcHNlZCddXTogIXByb3BzLmlzTWVudU9wZW4sXG4gICAgICB9KX1cbiAgICAgIG9uQ2xpY2s9e3Byb3BzLm9uQ2xpY2t9XG4gICAgICBvbk1vdXNlRW50ZXI9e3Byb3BzLm9uTW91c2VFbnRlcn1cbiAgICAgIG9uTW91c2VMZWF2ZT17cHJvcHMub25Nb3VzZUxlYXZlfVxuICAgICAgZGF0YS1tZW51aXRlbT17cHJvcHMuaWRlbnRpZmllcn1cbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydpdGVtLWxpbmsnXX0+e3Byb3BzLmNoaWxkcmVufTwvZGl2PlxuICAgIDwvbGk+XG4gICk7XG59O1xuXG5NZW51SXRlbS5kaXNwbGF5TmFtZSA9ICdNZW51SXRlbSc7XG5cbmV4cG9ydCB0eXBlIE1lbnVJdGVtTGlua1Byb3BzID0ge1xuICBsaW5rVG8/OiBzdHJpbmc7XG4gIGV4YWN0TWF0Y2g6IGJvb2xlYW47XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIG9uQ2xpY2s/OiAoZXZlbnQ6IFN5bnRoZXRpY0V2ZW50PEhUTUxBbmNob3JFbGVtZW50PikgPT4gdm9pZDtcbiAgdXNlRnVsbFJlZGlyZWN0c0ZvckxpbmtzPzogYm9vbGVhbjtcbiAgaXNTdWJtZW51TGluaz86IGJvb2xlYW47XG59O1xuY29uc3QgbWVudUl0ZW1MaW5rRGVmYXVsdFByb3BzOiBQaWNrPE1lbnVJdGVtTGlua1Byb3BzLCAnZXhhY3RNYXRjaCc+ID0ge1xuICBleGFjdE1hdGNoOiBmYWxzZSxcbn07XG5jb25zdCBOYXZMaW5rV3JhcHBlciA9IChwcm9wczogTWVudUl0ZW1MaW5rUHJvcHMpID0+IHtcbiAgaWYgKHByb3BzLmlzU3VibWVudUxpbmspIHtcbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1sndGV4dC1saW5rLXN1Ymxpc3Qtd3JhcHBlciddfT5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxuICByZXR1cm4gPD57cHJvcHMuY2hpbGRyZW59PC8+O1xufTtcbmNvbnN0IE5hdkxpbmtDbGlja2FibGVDb250ZW50V3JhcHBlciA9IChwcm9wczogTWVudUl0ZW1MaW5rUHJvcHMpID0+IHtcbiAgaWYgKHByb3BzLmlzU3VibWVudUxpbmspIHtcbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snbmF2bGluay1jbGlja2FibGUtY29udGVudCddfT5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxuICByZXR1cm4gPD57cHJvcHMuY2hpbGRyZW59PC8+O1xufTtcblxuY29uc3QgTWVudUl0ZW1MaW5rID0gKHByb3BzOiBNZW51SXRlbUxpbmtQcm9wcykgPT4ge1xuICBjb25zdCByZWRpcmVjdFRvID0gKHRhcmdldFVybDogc3RyaW5nKSA9PiBsb2NhdGlvbi5yZXBsYWNlKHRhcmdldFVybCk7XG4gIGlmIChwcm9wcy5saW5rVG8pIHtcbiAgICByZXR1cm4gKFxuICAgICAgPE5hdkxpbmtXcmFwcGVyIHsuLi5wcm9wc30+XG4gICAgICAgIDxOYXZMaW5rXG4gICAgICAgICAgdG89e3Byb3BzLmxpbmtUb31cbiAgICAgICAgICBleGFjdD17cHJvcHMuZXhhY3RNYXRjaH1cbiAgICAgICAgICBhY3RpdmVDbGFzc05hbWU9e3N0eWxlcy5oaWdobGlnaHRlZH1cbiAgICAgICAgICBjbGFzc05hbWU9e1xuICAgICAgICAgICAgcHJvcHMuaXNTdWJtZW51TGlua1xuICAgICAgICAgICAgICA/IHN0eWxlc1sndGV4dC1saW5rLXN1Ymxpc3QnXVxuICAgICAgICAgICAgICA6IHN0eWxlc1sndGV4dC1saW5rJ11cbiAgICAgICAgICB9XG4gICAgICAgICAgb25DbGljaz17KGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBpZiAocHJvcHMubGlua1RvICYmIHByb3BzLnVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rcykge1xuICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICByZWRpcmVjdFRvKHByb3BzLmxpbmtUbyk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHByb3BzLm9uQ2xpY2spIHtcbiAgICAgICAgICAgICAgZXZlbnQucGVyc2lzdCgpO1xuICAgICAgICAgICAgICBwcm9wcy5vbkNsaWNrKGV2ZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAgPE5hdkxpbmtDbGlja2FibGVDb250ZW50V3JhcHBlciB7Li4ucHJvcHN9PlxuICAgICAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgICAgIDwvTmF2TGlua0NsaWNrYWJsZUNvbnRlbnRXcmFwcGVyPlxuICAgICAgICA8L05hdkxpbms+XG4gICAgICA8L05hdkxpbmtXcmFwcGVyPlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5NZW51SXRlbUxpbmsuZGlzcGxheU5hbWUgPSAnTWVudUl0ZW1MaW5rJztcbk1lbnVJdGVtTGluay5kZWZhdWx0UHJvcHMgPSBtZW51SXRlbUxpbmtEZWZhdWx0UHJvcHM7XG5cbmNvbnN0IGlzRXZlcnlNZW51VmlzaWJpbGl0eVNldFRvSGlkZGVuID0gKFxuICBtZW51VmlzaWJpbGl0aWVzPzogVE5vcm1hbGl6ZWRNZW51VmlzaWJpbGl0aWVzIHwgbnVsbCxcbiAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXM/OiBzdHJpbmdbXVxuKSA9PlxuICBBcnJheS5pc0FycmF5KG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzKSAmJlxuICBuYW1lc09mTWVudVZpc2liaWxpdGllcy5sZW5ndGggPiAwICYmXG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzLmV2ZXJ5KFxuICAgIChuYW1lT2ZNZW51VmlzaWJpbGl0eSkgPT5cbiAgICAgIG1lbnVWaXNpYmlsaXRpZXMgJiYgbWVudVZpc2liaWxpdGllc1tuYW1lT2ZNZW51VmlzaWJpbGl0eV0gPT09IHRydWVcbiAgKTtcblxudHlwZSBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcyA9IHtcbiAgZmVhdHVyZVRvZ2dsZT86IHN0cmluZztcbiAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXM/OiBzdHJpbmdbXTtcbiAgcHJvamVjdFBlcm1pc3Npb25zOiBUUHJvamVjdFBlcm1pc3Npb25zO1xuICBtZW51VmlzaWJpbGl0aWVzOiBUTm9ybWFsaXplZE1lbnVWaXNpYmlsaXRpZXMgfCBudWxsO1xuICBrZXlPZk1lbnVJdGVtOiBzdHJpbmc7XG4gIHBlcm1pc3Npb25zOiBzdHJpbmdbXTtcbiAgYWN0aW9uUmlnaHRzPzogVEFjdGlvblJpZ2h0W107XG4gIGRhdGFGZW5jZXM/OiBURGF0YUZlbmNlW107XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59O1xudHlwZSBUTG9uZ0xpdmVkRmxhZyA9IHtcbiAgdmFsdWU6IGJvb2xlYW47XG4gIHJlYXNvbj86IHN0cmluZztcbn07XG5jb25zdCByZXN0cmljdGVkTWVudUl0ZW1EZWZhdWx0UHJvcHM6IFBpY2s8XG4gIFJlc3RyaWN0ZWRNZW51SXRlbVByb3BzLFxuICAncGVybWlzc2lvbnMnXG4+ID0ge1xuICBwZXJtaXNzaW9uczogW10sXG59O1xuZnVuY3Rpb24gaXNMb25nTGl2ZWRGbGFnKFxuICBmbGFnOiBURmxhZ1ZhcmlhdGlvbiB8IFRMb25nTGl2ZWRGbGFnXG4pOiBmbGFnIGlzIFRMb25nTGl2ZWRGbGFnIHtcbiAgcmV0dXJuIHR5cGVvZiAoZmxhZyBhcyBUTG9uZ0xpdmVkRmxhZyk/LnZhbHVlID09PSAnYm9vbGVhbic7XG59XG5jb25zdCBSZXN0cmljdGVkTWVudUl0ZW0gPSAocHJvcHM6IFJlc3RyaWN0ZWRNZW51SXRlbVByb3BzKSA9PiB7XG4gIC8vIE5PVEU6IEN1c3RvbSBhcHBsaWNhdGlvbiBhcmUgYWN0aXZhdGVkL2RlYWN0aXZhdGVkIHdoaWxlIHRoZWlyXG4gIC8vIHZpc2liaWxpdHkgaXMgbm90IGNvbnRyb2xsZWQgdmlhIGEgdmlzaWJpaWxpdHkgb3ZlcndyaXRlLlxuICBjb25zdCBmbGFnVmFyaWF0aW9uID0gdXNlRmxhZ1ZhcmlhdGlvbihwcm9wcy5mZWF0dXJlVG9nZ2xlKTtcbiAgaWYgKFxuICAgIGlzRXZlcnlNZW51VmlzaWJpbGl0eVNldFRvSGlkZGVuKFxuICAgICAgcHJvcHMubWVudVZpc2liaWxpdGllcyxcbiAgICAgIHByb3BzLm5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzXG4gICAgKVxuICApXG4gICAgcmV0dXJuIG51bGw7XG5cbiAgY29uc3QgcGVybWlzc2lvbnNXcmFwcGVyID1cbiAgICAoQXJyYXkuaXNBcnJheShwcm9wcy5wZXJtaXNzaW9ucykgJiYgcHJvcHMucGVybWlzc2lvbnMubGVuZ3RoID4gMCkgfHxcbiAgICAoQXJyYXkuaXNBcnJheShwcm9wcy5kYXRhRmVuY2VzKSAmJiBwcm9wcy5kYXRhRmVuY2VzLmxlbmd0aCA+IDApID8gKFxuICAgICAgPFJlc3RyaWN0ZWRCeVBlcm1pc3Npb25zXG4gICAgICAgIHBlcm1pc3Npb25zPXtwcm9wcy5wZXJtaXNzaW9uc31cbiAgICAgICAgYWN0aW9uUmlnaHRzPXtwcm9wcy5hY3Rpb25SaWdodHN9XG4gICAgICAgIGRhdGFGZW5jZXM9e3Byb3BzLmRhdGFGZW5jZXN9XG4gICAgICAgIHNlbGVjdERhdGFGZW5jZURhdGE9eyhkZW1hbmRlZERhdGFGZW5jZSkgPT4ge1xuICAgICAgICAgIHN3aXRjaCAoZGVtYW5kZWREYXRhRmVuY2UudHlwZSkge1xuICAgICAgICAgICAgY2FzZSAnc3RvcmUnOlxuICAgICAgICAgICAgICByZXR1cm4gZGVtYW5kZWREYXRhRmVuY2UuYWN0dWFsRGF0YUZlbmNlVmFsdWVzO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9fVxuICAgICAgICAvLyBBbHdheXMgY2hlY2sgdGhhdCBzb21lIG9mIHRoZSBnaXZlbiBwZXJtaXNzaW9ucyBtYXRjaC5cbiAgICAgICAgc2hvdWxkTWF0Y2hTb21lUGVybWlzc2lvbnM9e3RydWV9XG4gICAgICAgIHByb2plY3RQZXJtaXNzaW9ucz17cHJvcHMucHJvamVjdFBlcm1pc3Npb25zfVxuICAgICAgPlxuICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICA8L1Jlc3RyaWN0ZWRCeVBlcm1pc3Npb25zPlxuICAgICkgOiAoXG4gICAgICA8Pntwcm9wcy5jaGlsZHJlbn08Lz5cbiAgICApO1xuXG4gIGlmIChwcm9wcy5mZWF0dXJlVG9nZ2xlKSB7XG4gICAgLy8gQSByZWd1bGFyIHNob3J0LWxpdmVkIGZlYXR1cmUgdG9nZ2xlXG4gICAgaWYgKGZsYWdWYXJpYXRpb24gPT09IHRydWUpIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG4gICAgLy8gQSBsb25nLWxpdmVkIGZlYXR1cmUgdG9nZ2xlIHdpdGggYHsgdmFsdWU6IGJvb2xlYW4sIHN0cmluZzogcmVhc29uIH1gXG4gICAgaWYgKGlzTG9uZ0xpdmVkRmxhZyhmbGFnVmFyaWF0aW9uKSAmJiBmbGFnVmFyaWF0aW9uLnZhbHVlID09PSB0cnVlKVxuICAgICAgcmV0dXJuIHBlcm1pc3Npb25zV3JhcHBlcjtcblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIHBlcm1pc3Npb25zV3JhcHBlcjtcbn07XG5SZXN0cmljdGVkTWVudUl0ZW0uZGlzcGxheU5hbWUgPSAnUmVzdHJpY3RlZE1lbnVJdGVtJztcblJlc3RyaWN0ZWRNZW51SXRlbS5kZWZhdWx0UHJvcHMgPSByZXN0cmljdGVkTWVudUl0ZW1EZWZhdWx0UHJvcHM7XG5cbnR5cGUgTWVudUxhYmVsUHJvcHMgPSB7XG4gIGxhYmVsQWxsTG9jYWxlczogVExvY2FsaXplZEZpZWxkW107XG4gIGRlZmF1bHRMYWJlbD86IHN0cmluZztcbiAgYXBwbGljYXRpb25Mb2NhbGU6IHN0cmluZztcbn07XG5jb25zdCBNZW51TGFiZWwgPSAocHJvcHM6IE1lbnVMYWJlbFByb3BzKSA9PiB7XG4gIGNvbnN0IGxvY2FsaXplZExhYmVsID0gcHJvcHMubGFiZWxBbGxMb2NhbGVzLmZpbmQoKGxvYykgPT5cbiAgICBwcm9wcy5hcHBsaWNhdGlvbkxvY2FsZS5zdGFydHNXaXRoKGxvYy5sb2NhbGUpXG4gICk7XG4gIGlmIChsb2NhbGl6ZWRMYWJlbCkgcmV0dXJuIDw+e2xvY2FsaXplZExhYmVsLnZhbHVlfTwvPjtcbiAgaWYgKHByb3BzLmRlZmF1bHRMYWJlbCkgcmV0dXJuIDw+e3Byb3BzLmRlZmF1bHRMYWJlbH08Lz47XG4gIHJldHVybiA8PntOT19WQUxVRV9GQUxMQkFDS308Lz47XG59O1xuXG50eXBlIFROYXZCYXJMYXlvdXRQcm9wcyA9IHtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbn07XG5jb25zdCBOYXZCYXJMYXlvdXQgPSBmb3J3YXJkUmVmPEhUTUxFbGVtZW50LCBUTmF2QmFyTGF5b3V0UHJvcHM+KFxuICAocHJvcHMsIHJlZikgPT4gKFxuICAgIDw+XG4gICAgICA8R2xvYmFsXG4gICAgICAgIHN0eWxlcz17Y3NzYFxuICAgICAgICAgICR7Y29tcGlsZWRTdHlsZXMuZ2xvYmFsfVxuICAgICAgICBgfVxuICAgICAgLz5cbiAgICAgIDxuYXZcbiAgICAgICAgcmVmPXtyZWZ9XG4gICAgICAgIGNsYXNzTmFtZT17c3R5bGVzWydsZWZ0LW5hdmlnYXRpb24nXX1cbiAgICAgICAgZGF0YS10ZXN0PVwibGVmdC1uYXZpZ2F0aW9uXCJcbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJsZWZ0LW5hdmlnYXRpb25cIlxuICAgICAgPlxuICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICA8L25hdj5cbiAgICA8Lz5cbiAgKVxuKTtcbk5hdkJhckxheW91dC5kaXNwbGF5TmFtZSA9ICdOYXZCYXJMYXlvdXQnO1xuXG50eXBlIEl0ZW1Db250YWluZXJQcm9wcyA9IHtcbiAgbGFiZWxBbGxMb2NhbGVzOiBUTG9jYWxpemVkRmllbGRbXTtcbiAgZGVmYXVsdExhYmVsPzogc3RyaW5nO1xuICBhcHBsaWNhdGlvbkxvY2FsZTogc3RyaW5nO1xuICBpY29uOiBzdHJpbmc7XG4gIGlzTWVudU9wZW4/OiBib29sZWFuO1xufTtcblxuY29uc3QgSXRlbUNvbnRhaW5lciA9IChwcm9wczogSXRlbUNvbnRhaW5lclByb3BzKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaXRlbS1pY29uLXRleHQnXX0+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydpY29uLWNvbnRhaW5lciddfT5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlcy5pY29ufT5cbiAgICAgICAgICA8SWNvblN3aXRjaGVyIGljb249e3Byb3BzLmljb259IHNpemU9XCJzY2FsZVwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICB7cHJvcHMuaXNNZW51T3BlbiA/IChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlcy50aXRsZX0+XG4gICAgICAgICAgPE1lbnVMYWJlbFxuICAgICAgICAgICAgbGFiZWxBbGxMb2NhbGVzPXtwcm9wcy5sYWJlbEFsbExvY2FsZXN9XG4gICAgICAgICAgICBkZWZhdWx0TGFiZWw9e3Byb3BzLmRlZmF1bHRMYWJlbH1cbiAgICAgICAgICAgIGFwcGxpY2F0aW9uTG9jYWxlPXtwcm9wcy5hcHBsaWNhdGlvbkxvY2FsZX1cbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICkgOiBudWxsfVxuICAgIDwvZGl2PlxuICApO1xufTtcblxuSXRlbUNvbnRhaW5lci5kaXNwbGF5TmFtZSA9ICdJdGVtQ29udGFpbmVyJztcblxuZXhwb3J0IHtcbiAgUmVzdHJpY3RlZE1lbnVJdGVtLFxuICBNZW51SXRlbSxcbiAgTWVudUl0ZW1MaW5rLFxuICBJY29uU3dpdGNoZXIsXG4gIE1lbnVHcm91cCxcbiAgTWVudUxhYmVsLFxuICBNZW51RXhwYW5kZXIsXG4gIEZhZGVkLFxuICBOYXZCYXJMYXlvdXQsXG4gIEl0ZW1Db250YWluZXIsXG59O1xuIl19 */",
480
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1lbnUtaXRlbXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW1NTyIsImZpbGUiOiJtZW51LWl0ZW1zLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGZvcndhcmRSZWYsXG4gIGxhenksXG4gIE1vdXNlRXZlbnRIYW5kbGVyLFxuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdHlwZSBTeW50aGV0aWNFdmVudCxcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgR2xvYmFsLCBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3JlYWN0LWJyb2FkY2FzdCc7XG5pbXBvcnQgdHlwZSB7IFRGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3R5cGVzJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgTmF2TGluayB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHR5cGUge1xuICBUTm9ybWFsaXplZE1lbnVWaXNpYmlsaXRpZXMsXG4gIFROb3JtYWxpemVkUGVybWlzc2lvbnMsXG4gIFROb3JtYWxpemVkQWN0aW9uUmlnaHRzLFxuICBUTm9ybWFsaXplZERhdGFGZW5jZXMsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnO1xuaW1wb3J0IE1pc3NpbmdJbWFnZVN2ZyBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hc3NldHMvaW1hZ2VzL2RpYWdvbmFsLWxpbmUuc3ZnJztcbmltcG9ydCB7IE5PX1ZBTFVFX0ZBTExCQUNLIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvY29uc3RhbnRzJztcbmltcG9ydCB7IFJlc3RyaWN0ZWRCeVBlcm1pc3Npb25zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvcGVybWlzc2lvbnMnO1xuaW1wb3J0IHtcbiAgQmFja0ljb24sXG4gIFNpZGViYXJFeHBhbmRJY29uLFxuICBTaWRlYmFyQ29sbGFwc2VJY29uLFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucyc7XG5pbXBvcnQgSW5saW5lU3ZnIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ljb25zL2lubGluZS1zdmcnO1xuaW1wb3J0IHsgRElNRU5TSU9OUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgdHlwZSB7XG4gIFREYXRhRmVuY2UsXG4gIFRBY3Rpb25SaWdodCxcbiAgVExvY2FsaXplZEZpZWxkLFxufSBmcm9tICcuLi8uLi8uLi90eXBlcy9nZW5lcmF0ZWQvcHJveHknO1xuaW1wb3J0IHsgbG9jYXRpb24gfSBmcm9tICcuLi8uLi8uLi91dGlscy9sb2NhdGlvbic7XG4vLyBodHRwczovL2JhYmVsanMuaW8vYmxvZy8yMDE3LzA5LzExL3plcm8tY29uZmlnLXdpdGgtYmFiZWwtbWFjcm9zXG5pbXBvcnQgY29tcGlsZWRTdHlsZXMgZnJvbSAvKiBwcmV2YWwgKi8gJy4vbmF2YmFyLnN0eWxlcyc7XG5cbmNvbnN0IHN0eWxlcyA9IGNvbXBpbGVkU3R5bGVzLmpzb25NYXA7XG5cbnR5cGUgVFByb2plY3RQZXJtaXNzaW9ucyA9IHtcbiAgcGVybWlzc2lvbnM6IFROb3JtYWxpemVkUGVybWlzc2lvbnMgfCBudWxsO1xuICBhY3Rpb25SaWdodHM6IFROb3JtYWxpemVkQWN0aW9uUmlnaHRzIHwgbnVsbDtcbiAgZGF0YUZlbmNlczogVE5vcm1hbGl6ZWREYXRhRmVuY2VzIHwgbnVsbDtcbn07XG5cbmNvbnN0IEhlYXJ0SWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvaGVhcnQnKSk7XG5jb25zdCBQYXBlcmNsaXBJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9wYXBlcmNsaXAnKSk7XG5jb25zdCBQbHVnaW5JY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9wbHVnaW4nKSk7XG5jb25zdCBSb2NrZXRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9yb2NrZXQnKSk7XG5jb25zdCBTdGFySWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvc3RhcicpKTtcbmNvbnN0IENvbm5lY3RlZFNxdWFyZUljb24gPSBsYXp5KFxuICAoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9jb25uZWN0ZWQtc3F1YXJlJylcbik7XG5jb25zdCBXb3JsZEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3dvcmxkJykpO1xuY29uc3QgVHJlZVN0cnVjdHVyZUljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3RyZWUtc3RydWN0dXJlJykpO1xuY29uc3QgVXNlckZpbGxlZEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3VzZXItZmlsbGVkJykpO1xuY29uc3QgU3BlZWRvbWV0ZXJJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9zcGVlZG9tZXRlcicpKTtcbmNvbnN0IFRhZ011bHRpSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvdGFnLW11bHRpJykpO1xuY29uc3QgQ2FydEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL2NhcnQnKSk7XG5jb25zdCBCb3hJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9ib3gnKSk7XG5jb25zdCBHZWFySWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvZ2VhcicpKTtcbmNvbnN0IExpc3RXaXRoU2VhcmNoSWNvbiA9IGxhenkoXG4gICgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL2xpc3Qtd2l0aC1zZWFyY2gnKVxuKTtcblxudHlwZSBJY29uUHJvcHMgPSBQYXJhbWV0ZXJzPHR5cGVvZiBCYWNrSWNvbj5bMF07XG50eXBlIEljb25Td2l0Y2hlclByb3BzID0geyBpY29uOiBzdHJpbmcgfSAmIEljb25Qcm9wcztcbi8vIFRoZSBpY29uIGlzIGV4cGVjdGVkIHRvIGJlIHRoZSBgc3ZnYCBkb2N1bWVudCBhcyBhIHN0cmluZy5cbi8vIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBwdXJwb3Nlcywgd2Ugc3RpbGwgc3VwcG9ydCB0aGUgbGVnYWN5IFwiaWNvbiBuYW1lXCIsXG4vLyB3aGljaCB3ZSB0aGVuIG1hcCB0byBvbmUgb2YgdGhlIHByZS1kZWZpbmVkIGljb25zLlxuLy8gRXZlbnR1YWxseSwgd2Ugd2FudCB0byBnZXQgcmlkIG9mIHRoaXMgXCJzd2l0Y2hcIiBsb2dpYy5cbmNvbnN0IEljb25Td2l0Y2hlciA9ICh7IGljb24sIC4uLmljb25Qcm9wcyB9OiBJY29uU3dpdGNoZXJQcm9wcykgPT4ge1xuICBpZiAoaWNvbi5pbmNsdWRlcygnPHN2ZycpKSB7XG4gICAgcmV0dXJuIDxJbmxpbmVTdmcgZGF0YT17aWNvbn0gey4uLmljb25Qcm9wc30gLz47XG4gIH1cbiAgLy8gQmFja3dhcmRzIGNvbXBhdGliaWxpdHkgZm9yIGFwcHMgdXNpbmcgdGhlIFwiaWNvbiBuYW1lXCIuXG4gIHN3aXRjaCAoaWNvbikge1xuICAgIC8vIExlZ2FjeSBhcHBsaWNhdGlvbiBpY29uc1xuICAgIC8vIFRPRE86IFRvIGJlIHJlbW92ZWQgb25jZSBNQyBhcHBsaWNhdGlvbnMgaWNvbnMgdXBkYXRlcyBhcmUgcHVibGlzaGVkXG4gICAgY2FzZSAnVHJlZVN0cnVjdHVyZUljb24nOlxuICAgICAgcmV0dXJuIDxUcmVlU3RydWN0dXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdVc2VyRmlsbGVkSWNvbic6XG4gICAgICByZXR1cm4gPFVzZXJGaWxsZWRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1NwZWVkb21ldGVySWNvbic6XG4gICAgICByZXR1cm4gPFNwZWVkb21ldGVySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdUYWdNdWx0aUljb24nOlxuICAgICAgcmV0dXJuIDxUYWdNdWx0aUljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnQ2FydEljb24nOlxuICAgICAgcmV0dXJuIDxDYXJ0SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdCb3hJY29uJzpcbiAgICAgIHJldHVybiA8Qm94SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdHZWFySWNvbic6XG4gICAgICByZXR1cm4gPEdlYXJJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ0xpc3RXaXRoU2VhcmNoSWNvbic6XG4gICAgICByZXR1cm4gPExpc3RXaXRoU2VhcmNoSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcblxuICAgIC8vIEN1c3RvbSBhcHBsaWNhdGlvbiBpY29ucyBzZXRcbiAgICBjYXNlICdIZWFydEljb24nOlxuICAgICAgcmV0dXJuIDxIZWFydEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUGFwZXJjbGlwSWNvbic6XG4gICAgICByZXR1cm4gPFBhcGVyY2xpcEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUGx1Z2luSWNvbic6XG4gICAgICByZXR1cm4gPFBsdWdpbkljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUm9ja2V0SWNvbic6XG4gICAgICByZXR1cm4gPFJvY2tldEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnU3Rhckljb24nOlxuICAgICAgcmV0dXJuIDxTdGFySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdDb25uZWN0ZWRTcXVhcmVJY29uJzpcbiAgICAgIHJldHVybiA8Q29ubmVjdGVkU3F1YXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICAvLyBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcbiAgICBjYXNlICdXb3JsZEljb24nOlxuICAgICAgcmV0dXJuIDxXb3JsZEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiA8aW1nIHNyYz17TWlzc2luZ0ltYWdlU3ZnfSBhbHQ9XCJtaXNzaW5nIGljb25cIiAvPjtcbiAgfVxufTtcbkljb25Td2l0Y2hlci5kaXNwbGF5TmFtZSA9ICdJY29uU3dpdGNoZXInO1xuXG50eXBlIE1lbnVFeHBhbmRlclByb3BzID0ge1xuICBpc1Zpc2libGU6IGJvb2xlYW47XG4gIG9uQ2xpY2s6IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50PjtcbiAgaXNNZW51T3BlbjogYm9vbGVhbjtcbn07XG5cbmNvbnN0IGdldEljb24gPSAoeyBpc01lbnVPcGVuIH06IE1lbnVFeHBhbmRlclByb3BzKSA9PiB7XG4gIGNvbnN0IEljb24gPSBpc01lbnVPcGVuID8gU2lkZWJhckNvbGxhcHNlSWNvbiA6IFNpZGViYXJFeHBhbmRJY29uO1xuICByZXR1cm4gPEljb24gY29sb3I9XCJzdXJmYWNlXCIgc2l6ZT1cImJpZ1wiIC8+O1xufTtcblxuY29uc3QgTWVudUV4cGFuZGVyID0gKHByb3BzOiBNZW51RXhwYW5kZXJQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxsaVxuICAgICAga2V5PVwiZXhwYW5kZXJcIlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKHN0eWxlc1snbGlzdC1pdGVtJ10sIHN0eWxlcy5leHBhbmRlciwge1xuICAgICAgICBbc3R5bGVzLmhpZGRlbl06ICFwcm9wcy5pc1Zpc2libGUsXG4gICAgICB9KX1cbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIG9uQ2xpY2s9e3Byb3BzLm9uQ2xpY2t9XG4gICAgICAgIGNsYXNzTmFtZT17c3R5bGVzWydleHBhbmQtaWNvbiddfVxuICAgICAgICBkYXRhLXRlc3RpZD1cIm1lbnUtZXhwYW5kZXJcIlxuICAgICAgPlxuICAgICAgICB7Z2V0SWNvbihwcm9wcyl9XG4gICAgICA8L2Rpdj5cbiAgICA8L2xpPlxuICApO1xufTtcbk1lbnVFeHBhbmRlci5kaXNwbGF5TmFtZSA9ICdNZW51RXhwYW5kZXInO1xuXG5jb25zdCBGYWRlZCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgwLCAxNTMsIDEzNSwgMCkgMCUsICMwMGIzOWUgMTAwJSk7XG4gIHotaW5kZXg6IDE7XG5gO1xuXG50eXBlIE1lbnVHcm91cFByb3BzID0ge1xuICBpZDogc3RyaW5nO1xuICBsZXZlbDogMSB8IDI7XG4gIGlzQWN0aXZlPzogYm9vbGVhbjtcbiAgaXNFeHBhbmRlZD86IGJvb2xlYW47XG4gIGhhc1N1Ym1lbnU/OiBib29sZWFuO1xuICBjaGlsZHJlbj86IFJlYWN0Tm9kZTtcbiAgc3VibWVudVZlcnRpY2FsUG9zaXRpb24/OiBudW1iZXI7XG4gIGlzU3VibWVudUFib3ZlTWVudUl0ZW0/OiBib29sZWFuO1xufTtcblxuY29uc3QgZ2V0U3VibWVudVBvc2l0aW9uQmFzZWRPbk1lbnVJdGVtUG9zaXRpb24gPSAoXG4gIGlzU3VibWVudUFib3ZlTWVudUl0ZW0/OiBib29sZWFuLFxuICBzdWJtZW51VmVydGljYWxQb3NpdGlvbj86IG51bWJlclxuKSA9PiBjc3NgXG4gICR7aXNTdWJtZW51QWJvdmVNZW51SXRlbSA/ICdib3R0b20nIDogJ3RvcCd9OiAke3N1Ym1lbnVWZXJ0aWNhbFBvc2l0aW9ufXB4XG5gO1xuXG5jb25zdCBnZXRDb250YWluZXJQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uID0gKFxuICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtPzogYm9vbGVhbixcbiAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZD86IGJvb2xlYW4sXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkPzogYm9vbGVhblxuKSA9PiBbXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmXG4gICAgY3NzYFxuICAgICAgJHtpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtXG4gICAgICAgID8gJ2JvdHRvbSdcbiAgICAgICAgOiAndG9wJ306IC0ke0RJTUVOU0lPTlMubmF2TWVudUl0ZW1IZWlnaHR9O1xuICAgIGAsXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgJiZcbiAgICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtICYmXG4gICAgY3NzYFxuICAgICAgYm90dG9tOiAwO1xuICAgIGAsXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgJiZcbiAgICAhaXNTdWJtZW51QWJvdmVNZW51SXRlbSAmJlxuICAgIGNzc2BcbiAgICAgIHRvcDogMDtcbiAgICBgLFxuXTtcblxuY29uc3QgTWVudUdyb3VwID0gZm9yd2FyZFJlZjxIVE1MVUxpc3RFbGVtZW50LCBNZW51R3JvdXBQcm9wcz4oKHByb3BzLCByZWYpID0+IHtcbiAgaWYgKFxuICAgIHByb3BzLmlzRXhwYW5kZWQgJiZcbiAgICAoKHByb3BzLmxldmVsID09PSAyICYmICFwcm9wcy5oYXNTdWJtZW51KSB8fFxuICAgICAgKHByb3BzLmxldmVsID09PSAyICYmICFwcm9wcy5pc0FjdGl2ZSkpXG4gICkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGNvbnN0IGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgPVxuICAgIHByb3BzLmxldmVsID09PSAyICYmIHByb3BzLmlzQWN0aXZlICYmIHByb3BzLmlzRXhwYW5kZWQ7XG4gIGNvbnN0IGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkID1cbiAgICBwcm9wcy5sZXZlbCA9PT0gMiAmJiBwcm9wcy5pc0FjdGl2ZSAmJiAhcHJvcHMuaXNFeHBhbmRlZDtcbiAgcmV0dXJuIChcbiAgICA8dWxcbiAgICAgIHJlZj17cmVmICYmIHByb3BzLmxldmVsID09PSAyID8gcmVmIDogbnVsbH1cbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICAke2dldFN1Ym1lbnVQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uKFxuICAgICAgICAgIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgICAgcHJvcHMuc3VibWVudVZlcnRpY2FsUG9zaXRpb25cbiAgICAgICAgKX07XG4gICAgICBcbiAgICAgIC8vIHByZXZlbnQgZ2xpdGNoeSBiZWhhdmlvciBkdXJpbmcgdGhlIGluaXRpYWwgcmVuZGVyIHdoZW4gdGhlIHN1Ym1lbnUncyB2ZXJ0aWNhbCBwb3NpdGlvbiBpcyBldmFsdWF0ZWQgYXMgMFxuICAgICAgJHtcbiAgICAgICAgcHJvcHMuc3VibWVudVZlcnRpY2FsUG9zaXRpb24gPT09IDAgJiZcbiAgICAgICAgY3NzYFxuICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgYFxuICAgICAgfVxuXG4gICAgICAgIC8vIGFkZGl0aW9uYWwgc3R5bGluZyBvZiB0aGUgcHNldWRvLWVsZW1lbnQgZW5hYmxpbmcgc21vb3RoIGNvdXJzb3IgbW92ZW1lbnRcbiAgICAgICAgOjpiZWZvcmUge1xuICAgICAgICAgICR7Z2V0Q29udGFpbmVyUG9zaXRpb25CYXNlZE9uTWVudUl0ZW1Qb3NpdGlvbihcbiAgICAgICAgICAgIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkLFxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWRcbiAgICAgICAgICApfVxuICAgICAgYH1cbiAgICAgIGlkPXtgZ3JvdXAtJHtwcm9wcy5pZH1gfVxuICAgICAgZGF0YS10ZXN0aWQ9e2Bncm91cC0ke3Byb3BzLmlkfWB9XG4gICAgICByb2xlPVwibWVudVwiXG4gICAgICBhcmlhLWV4cGFuZGVkPXtcbiAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCB8fFxuICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZFxuICAgICAgfVxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKFxuICAgICAgICB7IFtzdHlsZXMubGlzdF06IHByb3BzLmxldmVsID09PSAxIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0J11dOiBwcm9wcy5sZXZlbCA9PT0gMixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtZXhwYW5kZWRfX2FjdGl2ZSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0LWNvbGxhcHNlZF9fZW1wdHknXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCAmJiAhcHJvcHMuaGFzU3VibWVudSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtY29sbGFwc2VkX19hY3RpdmUnXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCAmJlxuICAgICAgICAgICAgIXByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0LWNvbGxhcHNlZF9fYWN0aXZlX19hYm92ZSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzLnN1Ymxpc3RfX2luYWN0aXZlXTogIWlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkLFxuICAgICAgICB9XG4gICAgICApfVxuICAgID5cbiAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICA8L3VsPlxuICApO1xufSk7XG5NZW51R3JvdXAuZGlzcGxheU5hbWUgPSAnTWVudUdyb3VwJztcblxudHlwZSBNZW51SXRlbVByb3BzID0ge1xuICBoYXNTdWJtZW51OiBib29sZWFuO1xuICBpc0FjdGl2ZTogYm9vbGVhbjtcbiAgaXNNYWluTWVudVJvdXRlQWN0aXZlPzogYm9vbGVhbjtcbiAgaXNNZW51T3BlbjogYm9vbGVhbjtcbiAgb25DbGljazogTW91c2VFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+O1xuICBvbk1vdXNlRW50ZXI/OiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD47XG4gIG9uTW91c2VMZWF2ZT86IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50PjtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgaWRlbnRpZmllcj86IHN0cmluZztcbn07XG5jb25zdCBNZW51SXRlbSA9IChwcm9wczogTWVudUl0ZW1Qcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxsaVxuICAgICAgcm9sZT1cIm1lbnVpdGVtXCJcbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcyhzdHlsZXNbJ2xpc3QtaXRlbSddLCB7XG4gICAgICAgIFtzdHlsZXMuaXRlbV9fYWN0aXZlXTogcHJvcHMuaXNBY3RpdmUsXG4gICAgICAgIFtzdHlsZXNbJ2l0ZW1fbWVudV9fYWN0aXZlJ11dOiBwcm9wcy5pc01haW5NZW51Um91dGVBY3RpdmUgPz8gZmFsc2UsXG4gICAgICAgIFtzdHlsZXNbJ2l0ZW1fbWVudS1jb2xsYXBzZWQnXV06ICFwcm9wcy5pc01lbnVPcGVuLFxuICAgICAgfSl9XG4gICAgICBvbkNsaWNrPXtwcm9wcy5vbkNsaWNrfVxuICAgICAgb25Nb3VzZUVudGVyPXtwcm9wcy5vbk1vdXNlRW50ZXJ9XG4gICAgICBvbk1vdXNlTGVhdmU9e3Byb3BzLm9uTW91c2VMZWF2ZX1cbiAgICAgIGRhdGEtbWVudWl0ZW09e3Byb3BzLmlkZW50aWZpZXJ9XG4gICAgPlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaXRlbS1saW5rJ119Pntwcm9wcy5jaGlsZHJlbn08L2Rpdj5cbiAgICA8L2xpPlxuICApO1xufTtcblxuTWVudUl0ZW0uZGlzcGxheU5hbWUgPSAnTWVudUl0ZW0nO1xuXG5leHBvcnQgdHlwZSBNZW51SXRlbUxpbmtQcm9wcyA9IHtcbiAgbGlua1RvPzogc3RyaW5nO1xuICBleGFjdE1hdGNoOiBib29sZWFuO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBvbkNsaWNrPzogKGV2ZW50OiBTeW50aGV0aWNFdmVudDxIVE1MQW5jaG9yRWxlbWVudD4pID0+IHZvaWQ7XG4gIHVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rcz86IGJvb2xlYW47XG4gIGlzU3VibWVudUxpbms/OiBib29sZWFuO1xufTtcbmNvbnN0IG1lbnVJdGVtTGlua0RlZmF1bHRQcm9wczogUGljazxNZW51SXRlbUxpbmtQcm9wcywgJ2V4YWN0TWF0Y2gnPiA9IHtcbiAgZXhhY3RNYXRjaDogZmFsc2UsXG59O1xuY29uc3QgTmF2TGlua1dyYXBwZXIgPSAocHJvcHM6IE1lbnVJdGVtTGlua1Byb3BzKSA9PiB7XG4gIGlmIChwcm9wcy5pc1N1Ym1lbnVMaW5rKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ3RleHQtbGluay1zdWJsaXN0LXdyYXBwZXInXX0+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5jb25zdCBOYXZMaW5rQ2xpY2thYmxlQ29udGVudFdyYXBwZXIgPSAocHJvcHM6IE1lbnVJdGVtTGlua1Byb3BzKSA9PiB7XG4gIGlmIChwcm9wcy5pc1N1Ym1lbnVMaW5rKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ25hdmxpbmstY2xpY2thYmxlLWNvbnRlbnQnXX0+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5cbmNvbnN0IE1lbnVJdGVtTGluayA9IChwcm9wczogTWVudUl0ZW1MaW5rUHJvcHMpID0+IHtcbiAgY29uc3QgcmVkaXJlY3RUbyA9ICh0YXJnZXRVcmw6IHN0cmluZykgPT4gbG9jYXRpb24ucmVwbGFjZSh0YXJnZXRVcmwpO1xuICBpZiAocHJvcHMubGlua1RvKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxOYXZMaW5rV3JhcHBlciB7Li4ucHJvcHN9PlxuICAgICAgICA8TmF2TGlua1xuICAgICAgICAgIHRvPXtwcm9wcy5saW5rVG99XG4gICAgICAgICAgZXhhY3Q9e3Byb3BzLmV4YWN0TWF0Y2h9XG4gICAgICAgICAgYWN0aXZlQ2xhc3NOYW1lPXtzdHlsZXMuaGlnaGxpZ2h0ZWR9XG4gICAgICAgICAgY2xhc3NOYW1lPXtcbiAgICAgICAgICAgIHByb3BzLmlzU3VibWVudUxpbmtcbiAgICAgICAgICAgICAgPyBzdHlsZXNbJ3RleHQtbGluay1zdWJsaXN0J11cbiAgICAgICAgICAgICAgOiBzdHlsZXNbJ3RleHQtbGluayddXG4gICAgICAgICAgfVxuICAgICAgICAgIG9uQ2xpY2s9eyhldmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKHByb3BzLmxpbmtUbyAmJiBwcm9wcy51c2VGdWxsUmVkaXJlY3RzRm9yTGlua3MpIHtcbiAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgcmVkaXJlY3RUbyhwcm9wcy5saW5rVG8pO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChwcm9wcy5vbkNsaWNrKSB7XG4gICAgICAgICAgICAgIGV2ZW50LnBlcnNpc3QoKTtcbiAgICAgICAgICAgICAgcHJvcHMub25DbGljayhldmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxOYXZMaW5rQ2xpY2thYmxlQ29udGVudFdyYXBwZXIgey4uLnByb3BzfT5cbiAgICAgICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgICAgICA8L05hdkxpbmtDbGlja2FibGVDb250ZW50V3JhcHBlcj5cbiAgICAgICAgPC9OYXZMaW5rPlxuICAgICAgPC9OYXZMaW5rV3JhcHBlcj5cbiAgICApO1xuICB9XG4gIHJldHVybiA8Pntwcm9wcy5jaGlsZHJlbn08Lz47XG59O1xuTWVudUl0ZW1MaW5rLmRpc3BsYXlOYW1lID0gJ01lbnVJdGVtTGluayc7XG5NZW51SXRlbUxpbmsuZGVmYXVsdFByb3BzID0gbWVudUl0ZW1MaW5rRGVmYXVsdFByb3BzO1xuXG5jb25zdCBpc0V2ZXJ5TWVudVZpc2liaWxpdHlTZXRUb0hpZGRlbiA9IChcbiAgbWVudVZpc2liaWxpdGllcz86IFROb3JtYWxpemVkTWVudVZpc2liaWxpdGllcyB8IG51bGwsXG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPzogc3RyaW5nW11cbikgPT5cbiAgQXJyYXkuaXNBcnJheShuYW1lc09mTWVudVZpc2liaWxpdGllcykgJiZcbiAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXMubGVuZ3RoID4gMCAmJlxuICBuYW1lc09mTWVudVZpc2liaWxpdGllcy5ldmVyeShcbiAgICAobmFtZU9mTWVudVZpc2liaWxpdHkpID0+XG4gICAgICBtZW51VmlzaWJpbGl0aWVzICYmIG1lbnVWaXNpYmlsaXRpZXNbbmFtZU9mTWVudVZpc2liaWxpdHldID09PSB0cnVlXG4gICk7XG5cbnR5cGUgUmVzdHJpY3RlZE1lbnVJdGVtUHJvcHMgPSB7XG4gIGZlYXR1cmVUb2dnbGU/OiBzdHJpbmc7XG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPzogc3RyaW5nW107XG4gIHByb2plY3RQZXJtaXNzaW9uczogVFByb2plY3RQZXJtaXNzaW9ucztcbiAgbWVudVZpc2liaWxpdGllczogVE5vcm1hbGl6ZWRNZW51VmlzaWJpbGl0aWVzIHwgbnVsbDtcbiAga2V5T2ZNZW51SXRlbTogc3RyaW5nO1xuICBwZXJtaXNzaW9uczogc3RyaW5nW107XG4gIGFjdGlvblJpZ2h0cz86IFRBY3Rpb25SaWdodFtdO1xuICBkYXRhRmVuY2VzPzogVERhdGFGZW5jZVtdO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xufTtcbnR5cGUgVExvbmdMaXZlZEZsYWcgPSB7XG4gIHZhbHVlOiBib29sZWFuO1xuICByZWFzb24/OiBzdHJpbmc7XG59O1xuY29uc3QgcmVzdHJpY3RlZE1lbnVJdGVtRGVmYXVsdFByb3BzOiBQaWNrPFxuICBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcyxcbiAgJ3Blcm1pc3Npb25zJ1xuPiA9IHtcbiAgcGVybWlzc2lvbnM6IFtdLFxufTtcbmZ1bmN0aW9uIGlzTG9uZ0xpdmVkRmxhZyhcbiAgZmxhZzogVEZsYWdWYXJpYXRpb24gfCBUTG9uZ0xpdmVkRmxhZ1xuKTogZmxhZyBpcyBUTG9uZ0xpdmVkRmxhZyB7XG4gIHJldHVybiB0eXBlb2YgKGZsYWcgYXMgVExvbmdMaXZlZEZsYWcpPy52YWx1ZSA9PT0gJ2Jvb2xlYW4nO1xufVxuY29uc3QgUmVzdHJpY3RlZE1lbnVJdGVtID0gKHByb3BzOiBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcykgPT4ge1xuICAvLyBOT1RFOiBDdXN0b20gYXBwbGljYXRpb24gYXJlIGFjdGl2YXRlZC9kZWFjdGl2YXRlZCB3aGlsZSB0aGVpclxuICAvLyB2aXNpYmlsaXR5IGlzIG5vdCBjb250cm9sbGVkIHZpYSBhIHZpc2liaWlsaXR5IG92ZXJ3cml0ZS5cbiAgY29uc3QgZmxhZ1ZhcmlhdGlvbiA9IHVzZUZsYWdWYXJpYXRpb24ocHJvcHMuZmVhdHVyZVRvZ2dsZSk7XG4gIGlmIChcbiAgICBpc0V2ZXJ5TWVudVZpc2liaWxpdHlTZXRUb0hpZGRlbihcbiAgICAgIHByb3BzLm1lbnVWaXNpYmlsaXRpZXMsXG4gICAgICBwcm9wcy5uYW1lc09mTWVudVZpc2liaWxpdGllc1xuICAgIClcbiAgKVxuICAgIHJldHVybiBudWxsO1xuXG4gIGNvbnN0IHBlcm1pc3Npb25zV3JhcHBlciA9XG4gICAgKEFycmF5LmlzQXJyYXkocHJvcHMucGVybWlzc2lvbnMpICYmIHByb3BzLnBlcm1pc3Npb25zLmxlbmd0aCA+IDApIHx8XG4gICAgKEFycmF5LmlzQXJyYXkocHJvcHMuZGF0YUZlbmNlcykgJiYgcHJvcHMuZGF0YUZlbmNlcy5sZW5ndGggPiAwKSA/IChcbiAgICAgIDxSZXN0cmljdGVkQnlQZXJtaXNzaW9uc1xuICAgICAgICBwZXJtaXNzaW9ucz17cHJvcHMucGVybWlzc2lvbnN9XG4gICAgICAgIGFjdGlvblJpZ2h0cz17cHJvcHMuYWN0aW9uUmlnaHRzfVxuICAgICAgICBkYXRhRmVuY2VzPXtwcm9wcy5kYXRhRmVuY2VzfVxuICAgICAgICBzZWxlY3REYXRhRmVuY2VEYXRhPXsoZGVtYW5kZWREYXRhRmVuY2UpID0+IHtcbiAgICAgICAgICBzd2l0Y2ggKGRlbWFuZGVkRGF0YUZlbmNlLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ3N0b3JlJzpcbiAgICAgICAgICAgICAgcmV0dXJuIGRlbWFuZGVkRGF0YUZlbmNlLmFjdHVhbERhdGFGZW5jZVZhbHVlcztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfX1cbiAgICAgICAgLy8gQWx3YXlzIGNoZWNrIHRoYXQgc29tZSBvZiB0aGUgZ2l2ZW4gcGVybWlzc2lvbnMgbWF0Y2guXG4gICAgICAgIHNob3VsZE1hdGNoU29tZVBlcm1pc3Npb25zPXt0cnVlfVxuICAgICAgICBwcm9qZWN0UGVybWlzc2lvbnM9e3Byb3BzLnByb2plY3RQZXJtaXNzaW9uc31cbiAgICAgID5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9SZXN0cmljdGVkQnlQZXJtaXNzaW9ucz5cbiAgICApIDogKFxuICAgICAgPD57cHJvcHMuY2hpbGRyZW59PC8+XG4gICAgKTtcblxuICBpZiAocHJvcHMuZmVhdHVyZVRvZ2dsZSkge1xuICAgIC8vIEEgcmVndWxhciBzaG9ydC1saXZlZCBmZWF0dXJlIHRvZ2dsZVxuICAgIGlmIChmbGFnVmFyaWF0aW9uID09PSB0cnVlKSByZXR1cm4gcGVybWlzc2lvbnNXcmFwcGVyO1xuICAgIC8vIEEgbG9uZy1saXZlZCBmZWF0dXJlIHRvZ2dsZSB3aXRoIGB7IHZhbHVlOiBib29sZWFuLCBzdHJpbmc6IHJlYXNvbiB9YFxuICAgIGlmIChpc0xvbmdMaXZlZEZsYWcoZmxhZ1ZhcmlhdGlvbikgJiYgZmxhZ1ZhcmlhdGlvbi52YWx1ZSA9PT0gdHJ1ZSlcbiAgICAgIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG59O1xuUmVzdHJpY3RlZE1lbnVJdGVtLmRpc3BsYXlOYW1lID0gJ1Jlc3RyaWN0ZWRNZW51SXRlbSc7XG5SZXN0cmljdGVkTWVudUl0ZW0uZGVmYXVsdFByb3BzID0gcmVzdHJpY3RlZE1lbnVJdGVtRGVmYXVsdFByb3BzO1xuXG50eXBlIE1lbnVMYWJlbFByb3BzID0ge1xuICBsYWJlbEFsbExvY2FsZXM6IFRMb2NhbGl6ZWRGaWVsZFtdO1xuICBkZWZhdWx0TGFiZWw/OiBzdHJpbmc7XG4gIGFwcGxpY2F0aW9uTG9jYWxlOiBzdHJpbmc7XG59O1xuY29uc3QgTWVudUxhYmVsID0gKHByb3BzOiBNZW51TGFiZWxQcm9wcykgPT4ge1xuICBjb25zdCBsb2NhbGl6ZWRMYWJlbCA9IHByb3BzLmxhYmVsQWxsTG9jYWxlcy5maW5kKChsb2MpID0+XG4gICAgcHJvcHMuYXBwbGljYXRpb25Mb2NhbGUuc3RhcnRzV2l0aChsb2MubG9jYWxlKVxuICApO1xuICBpZiAobG9jYWxpemVkTGFiZWwpIHJldHVybiA8Pntsb2NhbGl6ZWRMYWJlbC52YWx1ZX08Lz47XG4gIGlmIChwcm9wcy5kZWZhdWx0TGFiZWwpIHJldHVybiA8Pntwcm9wcy5kZWZhdWx0TGFiZWx9PC8+O1xuICByZXR1cm4gPD57Tk9fVkFMVUVfRkFMTEJBQ0t9PC8+O1xufTtcblxudHlwZSBUTmF2QmFyTGF5b3V0UHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59O1xuY29uc3QgTmF2QmFyTGF5b3V0ID0gZm9yd2FyZFJlZjxIVE1MRWxlbWVudCwgVE5hdkJhckxheW91dFByb3BzPihcbiAgKHByb3BzLCByZWYpID0+IChcbiAgICA8PlxuICAgICAgPEdsb2JhbFxuICAgICAgICBzdHlsZXM9e2Nzc2BcbiAgICAgICAgICAke2NvbXBpbGVkU3R5bGVzLmdsb2JhbH1cbiAgICAgICAgYH1cbiAgICAgIC8+XG4gICAgICA8bmF2XG4gICAgICAgIHJlZj17cmVmfVxuICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1snbGVmdC1uYXZpZ2F0aW9uJ119XG4gICAgICAgIGRhdGEtdGVzdD1cImxlZnQtbmF2aWdhdGlvblwiXG4gICAgICAgIGRhdGEtdGVzdGlkPVwibGVmdC1uYXZpZ2F0aW9uXCJcbiAgICAgID5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9uYXY+XG4gICAgPC8+XG4gIClcbik7XG5OYXZCYXJMYXlvdXQuZGlzcGxheU5hbWUgPSAnTmF2QmFyTGF5b3V0JztcblxudHlwZSBJdGVtQ29udGFpbmVyUHJvcHMgPSB7XG4gIGxhYmVsQWxsTG9jYWxlczogVExvY2FsaXplZEZpZWxkW107XG4gIGRlZmF1bHRMYWJlbD86IHN0cmluZztcbiAgYXBwbGljYXRpb25Mb2NhbGU6IHN0cmluZztcbiAgaWNvbjogc3RyaW5nO1xuICBpc01lbnVPcGVuPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IEl0ZW1Db250YWluZXIgPSAocHJvcHM6IEl0ZW1Db250YWluZXJQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2l0ZW0taWNvbi10ZXh0J119PlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaWNvbi1jb250YWluZXInXX0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMuaWNvbn0+XG4gICAgICAgICAgPEljb25Td2l0Y2hlciBpY29uPXtwcm9wcy5pY29ufSBzaXplPVwic2NhbGVcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAge3Byb3BzLmlzTWVudU9wZW4gPyAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMudGl0bGV9PlxuICAgICAgICAgIDxNZW51TGFiZWxcbiAgICAgICAgICAgIGxhYmVsQWxsTG9jYWxlcz17cHJvcHMubGFiZWxBbGxMb2NhbGVzfVxuICAgICAgICAgICAgZGVmYXVsdExhYmVsPXtwcm9wcy5kZWZhdWx0TGFiZWx9XG4gICAgICAgICAgICBhcHBsaWNhdGlvbkxvY2FsZT17cHJvcHMuYXBwbGljYXRpb25Mb2NhbGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApIDogbnVsbH1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbkl0ZW1Db250YWluZXIuZGlzcGxheU5hbWUgPSAnSXRlbUNvbnRhaW5lcic7XG5cbmV4cG9ydCB7XG4gIFJlc3RyaWN0ZWRNZW51SXRlbSxcbiAgTWVudUl0ZW0sXG4gIE1lbnVJdGVtTGluayxcbiAgSWNvblN3aXRjaGVyLFxuICBNZW51R3JvdXAsXG4gIE1lbnVMYWJlbCxcbiAgTWVudUV4cGFuZGVyLFxuICBGYWRlZCxcbiAgTmF2QmFyTGF5b3V0LFxuICBJdGVtQ29udGFpbmVyLFxufTtcbiJdfQ== */",
481
481
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__$1
482
482
  };
483
- var _ref2 = process.env.NODE_ENV === "production" ? {
483
+ var _ref3 = process.env.NODE_ENV === "production" ? {
484
484
  name: "8tapst",
485
485
  styles: "bottom:0"
486
486
  } : {
487
487
  name: "11ucmnx-getContainerPositionBasedOnMenuItemPosition",
488
488
  styles: "bottom:0;label:getContainerPositionBasedOnMenuItemPosition;",
489
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1lbnUtaXRlbXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQThMTyIsImZpbGUiOiJtZW51LWl0ZW1zLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGZvcndhcmRSZWYsXG4gIGxhenksXG4gIE1vdXNlRXZlbnRIYW5kbGVyLFxuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdHlwZSBTeW50aGV0aWNFdmVudCxcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgR2xvYmFsLCBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3JlYWN0LWJyb2FkY2FzdCc7XG5pbXBvcnQgdHlwZSB7IFRGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3R5cGVzJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgTmF2TGluayB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHR5cGUge1xuICBUTm9ybWFsaXplZE1lbnVWaXNpYmlsaXRpZXMsXG4gIFROb3JtYWxpemVkUGVybWlzc2lvbnMsXG4gIFROb3JtYWxpemVkQWN0aW9uUmlnaHRzLFxuICBUTm9ybWFsaXplZERhdGFGZW5jZXMsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnO1xuaW1wb3J0IE1pc3NpbmdJbWFnZVN2ZyBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hc3NldHMvaW1hZ2VzL2RpYWdvbmFsLWxpbmUuc3ZnJztcbmltcG9ydCB7IE5PX1ZBTFVFX0ZBTExCQUNLIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvY29uc3RhbnRzJztcbmltcG9ydCB7IFJlc3RyaWN0ZWRCeVBlcm1pc3Npb25zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvcGVybWlzc2lvbnMnO1xuaW1wb3J0IHtcbiAgQmFja0ljb24sXG4gIFNpZGViYXJFeHBhbmRJY29uLFxuICBTaWRlYmFyQ29sbGFwc2VJY29uLFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucyc7XG5pbXBvcnQgSW5saW5lU3ZnIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ljb25zL2lubGluZS1zdmcnO1xuaW1wb3J0IHsgRElNRU5TSU9OUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgdHlwZSB7XG4gIFREYXRhRmVuY2UsXG4gIFRBY3Rpb25SaWdodCxcbiAgVExvY2FsaXplZEZpZWxkLFxufSBmcm9tICcuLi8uLi8uLi90eXBlcy9nZW5lcmF0ZWQvcHJveHknO1xuaW1wb3J0IHsgbG9jYXRpb24gfSBmcm9tICcuLi8uLi8uLi91dGlscy9sb2NhdGlvbic7XG4vLyBodHRwczovL2JhYmVsanMuaW8vYmxvZy8yMDE3LzA5LzExL3plcm8tY29uZmlnLXdpdGgtYmFiZWwtbWFjcm9zXG5pbXBvcnQgY29tcGlsZWRTdHlsZXMgZnJvbSAvKiBwcmV2YWwgKi8gJy4vbmF2YmFyLnN0eWxlcyc7XG5cbmNvbnN0IHN0eWxlcyA9IGNvbXBpbGVkU3R5bGVzLmpzb25NYXA7XG5cbnR5cGUgVFByb2plY3RQZXJtaXNzaW9ucyA9IHtcbiAgcGVybWlzc2lvbnM6IFROb3JtYWxpemVkUGVybWlzc2lvbnMgfCBudWxsO1xuICBhY3Rpb25SaWdodHM6IFROb3JtYWxpemVkQWN0aW9uUmlnaHRzIHwgbnVsbDtcbiAgZGF0YUZlbmNlczogVE5vcm1hbGl6ZWREYXRhRmVuY2VzIHwgbnVsbDtcbn07XG5cbmNvbnN0IEhlYXJ0SWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvaGVhcnQnKSk7XG5jb25zdCBQYXBlcmNsaXBJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9wYXBlcmNsaXAnKSk7XG5jb25zdCBQbHVnaW5JY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9wbHVnaW4nKSk7XG5jb25zdCBSb2NrZXRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9yb2NrZXQnKSk7XG5jb25zdCBTdGFySWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvc3RhcicpKTtcbmNvbnN0IENvbm5lY3RlZFNxdWFyZUljb24gPSBsYXp5KFxuICAoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9jb25uZWN0ZWQtc3F1YXJlJylcbik7XG5jb25zdCBXb3JsZEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3dvcmxkJykpO1xuY29uc3QgVHJlZVN0cnVjdHVyZUljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3RyZWUtc3RydWN0dXJlJykpO1xuY29uc3QgVXNlckZpbGxlZEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3VzZXItZmlsbGVkJykpO1xuY29uc3QgU3BlZWRvbWV0ZXJJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9zcGVlZG9tZXRlcicpKTtcbmNvbnN0IFRhZ011bHRpSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvdGFnLW11bHRpJykpO1xuY29uc3QgQ2FydEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL2NhcnQnKSk7XG5jb25zdCBCb3hJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9ib3gnKSk7XG5jb25zdCBHZWFySWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvZ2VhcicpKTtcbmNvbnN0IExpc3RXaXRoU2VhcmNoSWNvbiA9IGxhenkoXG4gICgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL2xpc3Qtd2l0aC1zZWFyY2gnKVxuKTtcblxudHlwZSBJY29uUHJvcHMgPSBQYXJhbWV0ZXJzPHR5cGVvZiBCYWNrSWNvbj5bMF07XG50eXBlIEljb25Td2l0Y2hlclByb3BzID0geyBpY29uOiBzdHJpbmcgfSAmIEljb25Qcm9wcztcbi8vIFRoZSBpY29uIGlzIGV4cGVjdGVkIHRvIGJlIHRoZSBgc3ZnYCBkb2N1bWVudCBhcyBhIHN0cmluZy5cbi8vIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBwdXJwb3Nlcywgd2Ugc3RpbGwgc3VwcG9ydCB0aGUgbGVnYWN5IFwiaWNvbiBuYW1lXCIsXG4vLyB3aGljaCB3ZSB0aGVuIG1hcCB0byBvbmUgb2YgdGhlIHByZS1kZWZpbmVkIGljb25zLlxuLy8gRXZlbnR1YWxseSwgd2Ugd2FudCB0byBnZXQgcmlkIG9mIHRoaXMgXCJzd2l0Y2hcIiBsb2dpYy5cbmNvbnN0IEljb25Td2l0Y2hlciA9ICh7IGljb24sIC4uLmljb25Qcm9wcyB9OiBJY29uU3dpdGNoZXJQcm9wcykgPT4ge1xuICBpZiAoaWNvbi5pbmNsdWRlcygnPHN2ZycpKSB7XG4gICAgcmV0dXJuIDxJbmxpbmVTdmcgZGF0YT17aWNvbn0gey4uLmljb25Qcm9wc30gLz47XG4gIH1cbiAgLy8gQmFja3dhcmRzIGNvbXBhdGliaWxpdHkgZm9yIGFwcHMgdXNpbmcgdGhlIFwiaWNvbiBuYW1lXCIuXG4gIHN3aXRjaCAoaWNvbikge1xuICAgIC8vIExlZ2FjeSBhcHBsaWNhdGlvbiBpY29uc1xuICAgIC8vIFRPRE86IFRvIGJlIHJlbW92ZWQgb25jZSBNQyBhcHBsaWNhdGlvbnMgaWNvbnMgdXBkYXRlcyBhcmUgcHVibGlzaGVkXG4gICAgY2FzZSAnVHJlZVN0cnVjdHVyZUljb24nOlxuICAgICAgcmV0dXJuIDxUcmVlU3RydWN0dXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdVc2VyRmlsbGVkSWNvbic6XG4gICAgICByZXR1cm4gPFVzZXJGaWxsZWRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1NwZWVkb21ldGVySWNvbic6XG4gICAgICByZXR1cm4gPFNwZWVkb21ldGVySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdUYWdNdWx0aUljb24nOlxuICAgICAgcmV0dXJuIDxUYWdNdWx0aUljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnQ2FydEljb24nOlxuICAgICAgcmV0dXJuIDxDYXJ0SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdCb3hJY29uJzpcbiAgICAgIHJldHVybiA8Qm94SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdHZWFySWNvbic6XG4gICAgICByZXR1cm4gPEdlYXJJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ0xpc3RXaXRoU2VhcmNoSWNvbic6XG4gICAgICByZXR1cm4gPExpc3RXaXRoU2VhcmNoSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcblxuICAgIC8vIEN1c3RvbSBhcHBsaWNhdGlvbiBpY29ucyBzZXRcbiAgICBjYXNlICdIZWFydEljb24nOlxuICAgICAgcmV0dXJuIDxIZWFydEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUGFwZXJjbGlwSWNvbic6XG4gICAgICByZXR1cm4gPFBhcGVyY2xpcEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUGx1Z2luSWNvbic6XG4gICAgICByZXR1cm4gPFBsdWdpbkljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUm9ja2V0SWNvbic6XG4gICAgICByZXR1cm4gPFJvY2tldEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnU3Rhckljb24nOlxuICAgICAgcmV0dXJuIDxTdGFySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdDb25uZWN0ZWRTcXVhcmVJY29uJzpcbiAgICAgIHJldHVybiA8Q29ubmVjdGVkU3F1YXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICAvLyBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcbiAgICBjYXNlICdXb3JsZEljb24nOlxuICAgICAgcmV0dXJuIDxXb3JsZEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiA8aW1nIHNyYz17TWlzc2luZ0ltYWdlU3ZnfSBhbHQ9XCJtaXNzaW5nIGljb25cIiAvPjtcbiAgfVxufTtcbkljb25Td2l0Y2hlci5kaXNwbGF5TmFtZSA9ICdJY29uU3dpdGNoZXInO1xuXG50eXBlIE1lbnVFeHBhbmRlclByb3BzID0ge1xuICBpc1Zpc2libGU6IGJvb2xlYW47XG4gIG9uQ2xpY2s6IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50PjtcbiAgaXNNZW51T3BlbjogYm9vbGVhbjtcbn07XG5cbmNvbnN0IGdldEljb24gPSAoeyBpc01lbnVPcGVuIH06IE1lbnVFeHBhbmRlclByb3BzKSA9PiB7XG4gIGNvbnN0IEljb24gPSBpc01lbnVPcGVuID8gU2lkZWJhckNvbGxhcHNlSWNvbiA6IFNpZGViYXJFeHBhbmRJY29uO1xuICByZXR1cm4gPEljb24gY29sb3I9XCJzdXJmYWNlXCIgc2l6ZT1cImJpZ1wiIC8+O1xufTtcblxuY29uc3QgTWVudUV4cGFuZGVyID0gKHByb3BzOiBNZW51RXhwYW5kZXJQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxsaVxuICAgICAga2V5PVwiZXhwYW5kZXJcIlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKHN0eWxlc1snbGlzdC1pdGVtJ10sIHN0eWxlcy5leHBhbmRlciwge1xuICAgICAgICBbc3R5bGVzLmhpZGRlbl06ICFwcm9wcy5pc1Zpc2libGUsXG4gICAgICB9KX1cbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIG9uQ2xpY2s9e3Byb3BzLm9uQ2xpY2t9XG4gICAgICAgIGNsYXNzTmFtZT17c3R5bGVzWydleHBhbmQtaWNvbiddfVxuICAgICAgICBkYXRhLXRlc3RpZD1cIm1lbnUtZXhwYW5kZXJcIlxuICAgICAgPlxuICAgICAgICB7Z2V0SWNvbihwcm9wcyl9XG4gICAgICA8L2Rpdj5cbiAgICA8L2xpPlxuICApO1xufTtcbk1lbnVFeHBhbmRlci5kaXNwbGF5TmFtZSA9ICdNZW51RXhwYW5kZXInO1xuXG5jb25zdCBGYWRlZCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgwLCAxNTMsIDEzNSwgMCkgMCUsICMwMGIzOWUgMTAwJSk7XG4gIHotaW5kZXg6IDE7XG5gO1xuXG50eXBlIE1lbnVHcm91cFByb3BzID0ge1xuICBpZDogc3RyaW5nO1xuICBsZXZlbDogMSB8IDI7XG4gIGlzQWN0aXZlPzogYm9vbGVhbjtcbiAgaXNFeHBhbmRlZD86IGJvb2xlYW47XG4gIGhhc1N1Ym1lbnU/OiBib29sZWFuO1xuICBjaGlsZHJlbj86IFJlYWN0Tm9kZTtcbiAgc3VibWVudVZlcnRpY2FsUG9zaXRpb24/OiBudW1iZXI7XG4gIGlzU3VibWVudUFib3ZlTWVudUl0ZW0/OiBib29sZWFuO1xufTtcblxuY29uc3QgZ2V0U3VibWVudVBvc2l0aW9uQmFzZWRPbk1lbnVJdGVtUG9zaXRpb24gPSAoXG4gIGlzU3VibWVudUFib3ZlTWVudUl0ZW0/OiBib29sZWFuLFxuICBzdWJtZW51VmVydGljYWxQb3NpdGlvbj86IG51bWJlclxuKSA9PiBjc3NgXG4gICR7aXNTdWJtZW51QWJvdmVNZW51SXRlbSA/ICdib3R0b20nIDogJ3RvcCd9OiAke3N1Ym1lbnVWZXJ0aWNhbFBvc2l0aW9ufXB4XG5gO1xuXG5jb25zdCBnZXRDb250YWluZXJQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uID0gKFxuICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtPzogYm9vbGVhbixcbiAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZD86IGJvb2xlYW4sXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkPzogYm9vbGVhblxuKSA9PiBbXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmXG4gICAgY3NzYFxuICAgICAgJHtpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtXG4gICAgICAgID8gJ2JvdHRvbSdcbiAgICAgICAgOiAndG9wJ306IC0ke0RJTUVOU0lPTlMubmF2TWVudUl0ZW1IZWlnaHR9O1xuICAgIGAsXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgJiZcbiAgICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtICYmXG4gICAgY3NzYFxuICAgICAgYm90dG9tOiAwO1xuICAgIGAsXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgJiZcbiAgICAhaXNTdWJtZW51QWJvdmVNZW51SXRlbSAmJlxuICAgIGNzc2BcbiAgICAgIHRvcDogMDtcbiAgICBgLFxuXTtcblxuY29uc3QgTWVudUdyb3VwID0gZm9yd2FyZFJlZjxIVE1MVUxpc3RFbGVtZW50LCBNZW51R3JvdXBQcm9wcz4oKHByb3BzLCByZWYpID0+IHtcbiAgaWYgKFxuICAgIHByb3BzLmlzRXhwYW5kZWQgJiZcbiAgICAoKHByb3BzLmxldmVsID09PSAyICYmICFwcm9wcy5oYXNTdWJtZW51KSB8fFxuICAgICAgKHByb3BzLmxldmVsID09PSAyICYmICFwcm9wcy5pc0FjdGl2ZSkpXG4gICkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGNvbnN0IGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgPVxuICAgIHByb3BzLmxldmVsID09PSAyICYmIHByb3BzLmlzQWN0aXZlICYmIHByb3BzLmlzRXhwYW5kZWQ7XG4gIGNvbnN0IGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkID1cbiAgICBwcm9wcy5sZXZlbCA9PT0gMiAmJiBwcm9wcy5pc0FjdGl2ZSAmJiAhcHJvcHMuaXNFeHBhbmRlZDtcbiAgcmV0dXJuIChcbiAgICA8dWxcbiAgICAgIHJlZj17cmVmICYmIHByb3BzLmxldmVsID09PSAyID8gcmVmIDogbnVsbH1cbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICAke2dldFN1Ym1lbnVQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uKFxuICAgICAgICAgIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgICAgcHJvcHMuc3VibWVudVZlcnRpY2FsUG9zaXRpb25cbiAgICAgICAgKX07XG5cbiAgICAgICAgLy8gYWRkaXRpb25hbCBzdHlsaW5nIG9mIHRoZSBwc2V1ZG8tZWxlbWVudCBlbmFibGluZyBzbW9vdGggY291cnNvciBtb3ZlbWVudFxuICAgICAgICA6OmJlZm9yZSB7XG4gICAgICAgICAgJHtnZXRDb250YWluZXJQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uKFxuICAgICAgICAgICAgcHJvcHMuaXNTdWJtZW51QWJvdmVNZW51SXRlbSxcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQsXG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZFxuICAgICAgICAgICl9XG4gICAgICBgfVxuICAgICAgaWQ9e2Bncm91cC0ke3Byb3BzLmlkfWB9XG4gICAgICBkYXRhLXRlc3RpZD17YGdyb3VwLSR7cHJvcHMuaWR9YH1cbiAgICAgIHJvbGU9XCJtZW51XCJcbiAgICAgIGFyaWEtZXhwYW5kZWQ9e1xuICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkIHx8XG4gICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkXG4gICAgICB9XG4gICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoXG4gICAgICAgIHsgW3N0eWxlcy5saXN0XTogcHJvcHMubGV2ZWwgPT09IDEgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QnXV06IHByb3BzLmxldmVsID09PSAyLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlc1snc3VibGlzdC1leHBhbmRlZF9fYWN0aXZlJ11dOlxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtY29sbGFwc2VkX19lbXB0eSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmICFwcm9wcy5oYXNTdWJtZW51LFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlc1snc3VibGlzdC1jb2xsYXBzZWRfX2FjdGl2ZSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmXG4gICAgICAgICAgICAhcHJvcHMuaXNTdWJtZW51QWJvdmVNZW51SXRlbSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtY29sbGFwc2VkX19hY3RpdmVfX2Fib3ZlJ11dOlxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQgJiYgcHJvcHMuaXNTdWJtZW51QWJvdmVNZW51SXRlbSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXMuc3VibGlzdF9faW5hY3RpdmVdOiAhaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQsXG4gICAgICAgIH1cbiAgICAgICl9XG4gICAgPlxuICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgIDwvdWw+XG4gICk7XG59KTtcbk1lbnVHcm91cC5kaXNwbGF5TmFtZSA9ICdNZW51R3JvdXAnO1xuXG50eXBlIE1lbnVJdGVtUHJvcHMgPSB7XG4gIGhhc1N1Ym1lbnU6IGJvb2xlYW47XG4gIGlzQWN0aXZlOiBib29sZWFuO1xuICBpc01haW5NZW51Um91dGVBY3RpdmU/OiBib29sZWFuO1xuICBpc01lbnVPcGVuOiBib29sZWFuO1xuICBvbkNsaWNrOiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD47XG4gIG9uTW91c2VFbnRlcj86IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50PjtcbiAgb25Nb3VzZUxlYXZlPzogTW91c2VFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+O1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBpZGVudGlmaWVyPzogc3RyaW5nO1xufTtcbmNvbnN0IE1lbnVJdGVtID0gKHByb3BzOiBNZW51SXRlbVByb3BzKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGxpXG4gICAgICByb2xlPVwibWVudWl0ZW1cIlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKHN0eWxlc1snbGlzdC1pdGVtJ10sIHtcbiAgICAgICAgW3N0eWxlcy5pdGVtX19hY3RpdmVdOiBwcm9wcy5pc0FjdGl2ZSxcbiAgICAgICAgW3N0eWxlc1snaXRlbV9tZW51X19hY3RpdmUnXV06IHByb3BzLmlzTWFpbk1lbnVSb3V0ZUFjdGl2ZSA/PyBmYWxzZSxcbiAgICAgICAgW3N0eWxlc1snaXRlbV9tZW51LWNvbGxhcHNlZCddXTogIXByb3BzLmlzTWVudU9wZW4sXG4gICAgICB9KX1cbiAgICAgIG9uQ2xpY2s9e3Byb3BzLm9uQ2xpY2t9XG4gICAgICBvbk1vdXNlRW50ZXI9e3Byb3BzLm9uTW91c2VFbnRlcn1cbiAgICAgIG9uTW91c2VMZWF2ZT17cHJvcHMub25Nb3VzZUxlYXZlfVxuICAgICAgZGF0YS1tZW51aXRlbT17cHJvcHMuaWRlbnRpZmllcn1cbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydpdGVtLWxpbmsnXX0+e3Byb3BzLmNoaWxkcmVufTwvZGl2PlxuICAgIDwvbGk+XG4gICk7XG59O1xuXG5NZW51SXRlbS5kaXNwbGF5TmFtZSA9ICdNZW51SXRlbSc7XG5cbmV4cG9ydCB0eXBlIE1lbnVJdGVtTGlua1Byb3BzID0ge1xuICBsaW5rVG8/OiBzdHJpbmc7XG4gIGV4YWN0TWF0Y2g6IGJvb2xlYW47XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIG9uQ2xpY2s/OiAoZXZlbnQ6IFN5bnRoZXRpY0V2ZW50PEhUTUxBbmNob3JFbGVtZW50PikgPT4gdm9pZDtcbiAgdXNlRnVsbFJlZGlyZWN0c0ZvckxpbmtzPzogYm9vbGVhbjtcbiAgaXNTdWJtZW51TGluaz86IGJvb2xlYW47XG59O1xuY29uc3QgbWVudUl0ZW1MaW5rRGVmYXVsdFByb3BzOiBQaWNrPE1lbnVJdGVtTGlua1Byb3BzLCAnZXhhY3RNYXRjaCc+ID0ge1xuICBleGFjdE1hdGNoOiBmYWxzZSxcbn07XG5jb25zdCBOYXZMaW5rV3JhcHBlciA9IChwcm9wczogTWVudUl0ZW1MaW5rUHJvcHMpID0+IHtcbiAgaWYgKHByb3BzLmlzU3VibWVudUxpbmspIHtcbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1sndGV4dC1saW5rLXN1Ymxpc3Qtd3JhcHBlciddfT5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxuICByZXR1cm4gPD57cHJvcHMuY2hpbGRyZW59PC8+O1xufTtcbmNvbnN0IE5hdkxpbmtDbGlja2FibGVDb250ZW50V3JhcHBlciA9IChwcm9wczogTWVudUl0ZW1MaW5rUHJvcHMpID0+IHtcbiAgaWYgKHByb3BzLmlzU3VibWVudUxpbmspIHtcbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snbmF2bGluay1jbGlja2FibGUtY29udGVudCddfT5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxuICByZXR1cm4gPD57cHJvcHMuY2hpbGRyZW59PC8+O1xufTtcblxuY29uc3QgTWVudUl0ZW1MaW5rID0gKHByb3BzOiBNZW51SXRlbUxpbmtQcm9wcykgPT4ge1xuICBjb25zdCByZWRpcmVjdFRvID0gKHRhcmdldFVybDogc3RyaW5nKSA9PiBsb2NhdGlvbi5yZXBsYWNlKHRhcmdldFVybCk7XG4gIGlmIChwcm9wcy5saW5rVG8pIHtcbiAgICByZXR1cm4gKFxuICAgICAgPE5hdkxpbmtXcmFwcGVyIHsuLi5wcm9wc30+XG4gICAgICAgIDxOYXZMaW5rXG4gICAgICAgICAgdG89e3Byb3BzLmxpbmtUb31cbiAgICAgICAgICBleGFjdD17cHJvcHMuZXhhY3RNYXRjaH1cbiAgICAgICAgICBhY3RpdmVDbGFzc05hbWU9e3N0eWxlcy5oaWdobGlnaHRlZH1cbiAgICAgICAgICBjbGFzc05hbWU9e1xuICAgICAgICAgICAgcHJvcHMuaXNTdWJtZW51TGlua1xuICAgICAgICAgICAgICA/IHN0eWxlc1sndGV4dC1saW5rLXN1Ymxpc3QnXVxuICAgICAgICAgICAgICA6IHN0eWxlc1sndGV4dC1saW5rJ11cbiAgICAgICAgICB9XG4gICAgICAgICAgb25DbGljaz17KGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBpZiAocHJvcHMubGlua1RvICYmIHByb3BzLnVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rcykge1xuICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICByZWRpcmVjdFRvKHByb3BzLmxpbmtUbyk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHByb3BzLm9uQ2xpY2spIHtcbiAgICAgICAgICAgICAgZXZlbnQucGVyc2lzdCgpO1xuICAgICAgICAgICAgICBwcm9wcy5vbkNsaWNrKGV2ZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAgPE5hdkxpbmtDbGlja2FibGVDb250ZW50V3JhcHBlciB7Li4ucHJvcHN9PlxuICAgICAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgICAgIDwvTmF2TGlua0NsaWNrYWJsZUNvbnRlbnRXcmFwcGVyPlxuICAgICAgICA8L05hdkxpbms+XG4gICAgICA8L05hdkxpbmtXcmFwcGVyPlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5NZW51SXRlbUxpbmsuZGlzcGxheU5hbWUgPSAnTWVudUl0ZW1MaW5rJztcbk1lbnVJdGVtTGluay5kZWZhdWx0UHJvcHMgPSBtZW51SXRlbUxpbmtEZWZhdWx0UHJvcHM7XG5cbmNvbnN0IGlzRXZlcnlNZW51VmlzaWJpbGl0eVNldFRvSGlkZGVuID0gKFxuICBtZW51VmlzaWJpbGl0aWVzPzogVE5vcm1hbGl6ZWRNZW51VmlzaWJpbGl0aWVzIHwgbnVsbCxcbiAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXM/OiBzdHJpbmdbXVxuKSA9PlxuICBBcnJheS5pc0FycmF5KG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzKSAmJlxuICBuYW1lc09mTWVudVZpc2liaWxpdGllcy5sZW5ndGggPiAwICYmXG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzLmV2ZXJ5KFxuICAgIChuYW1lT2ZNZW51VmlzaWJpbGl0eSkgPT5cbiAgICAgIG1lbnVWaXNpYmlsaXRpZXMgJiYgbWVudVZpc2liaWxpdGllc1tuYW1lT2ZNZW51VmlzaWJpbGl0eV0gPT09IHRydWVcbiAgKTtcblxudHlwZSBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcyA9IHtcbiAgZmVhdHVyZVRvZ2dsZT86IHN0cmluZztcbiAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXM/OiBzdHJpbmdbXTtcbiAgcHJvamVjdFBlcm1pc3Npb25zOiBUUHJvamVjdFBlcm1pc3Npb25zO1xuICBtZW51VmlzaWJpbGl0aWVzOiBUTm9ybWFsaXplZE1lbnVWaXNpYmlsaXRpZXMgfCBudWxsO1xuICBrZXlPZk1lbnVJdGVtOiBzdHJpbmc7XG4gIHBlcm1pc3Npb25zOiBzdHJpbmdbXTtcbiAgYWN0aW9uUmlnaHRzPzogVEFjdGlvblJpZ2h0W107XG4gIGRhdGFGZW5jZXM/OiBURGF0YUZlbmNlW107XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59O1xudHlwZSBUTG9uZ0xpdmVkRmxhZyA9IHtcbiAgdmFsdWU6IGJvb2xlYW47XG4gIHJlYXNvbj86IHN0cmluZztcbn07XG5jb25zdCByZXN0cmljdGVkTWVudUl0ZW1EZWZhdWx0UHJvcHM6IFBpY2s8XG4gIFJlc3RyaWN0ZWRNZW51SXRlbVByb3BzLFxuICAncGVybWlzc2lvbnMnXG4+ID0ge1xuICBwZXJtaXNzaW9uczogW10sXG59O1xuZnVuY3Rpb24gaXNMb25nTGl2ZWRGbGFnKFxuICBmbGFnOiBURmxhZ1ZhcmlhdGlvbiB8IFRMb25nTGl2ZWRGbGFnXG4pOiBmbGFnIGlzIFRMb25nTGl2ZWRGbGFnIHtcbiAgcmV0dXJuIHR5cGVvZiAoZmxhZyBhcyBUTG9uZ0xpdmVkRmxhZyk/LnZhbHVlID09PSAnYm9vbGVhbic7XG59XG5jb25zdCBSZXN0cmljdGVkTWVudUl0ZW0gPSAocHJvcHM6IFJlc3RyaWN0ZWRNZW51SXRlbVByb3BzKSA9PiB7XG4gIC8vIE5PVEU6IEN1c3RvbSBhcHBsaWNhdGlvbiBhcmUgYWN0aXZhdGVkL2RlYWN0aXZhdGVkIHdoaWxlIHRoZWlyXG4gIC8vIHZpc2liaWxpdHkgaXMgbm90IGNvbnRyb2xsZWQgdmlhIGEgdmlzaWJpaWxpdHkgb3ZlcndyaXRlLlxuICBjb25zdCBmbGFnVmFyaWF0aW9uID0gdXNlRmxhZ1ZhcmlhdGlvbihwcm9wcy5mZWF0dXJlVG9nZ2xlKTtcbiAgaWYgKFxuICAgIGlzRXZlcnlNZW51VmlzaWJpbGl0eVNldFRvSGlkZGVuKFxuICAgICAgcHJvcHMubWVudVZpc2liaWxpdGllcyxcbiAgICAgIHByb3BzLm5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzXG4gICAgKVxuICApXG4gICAgcmV0dXJuIG51bGw7XG5cbiAgY29uc3QgcGVybWlzc2lvbnNXcmFwcGVyID1cbiAgICAoQXJyYXkuaXNBcnJheShwcm9wcy5wZXJtaXNzaW9ucykgJiYgcHJvcHMucGVybWlzc2lvbnMubGVuZ3RoID4gMCkgfHxcbiAgICAoQXJyYXkuaXNBcnJheShwcm9wcy5kYXRhRmVuY2VzKSAmJiBwcm9wcy5kYXRhRmVuY2VzLmxlbmd0aCA+IDApID8gKFxuICAgICAgPFJlc3RyaWN0ZWRCeVBlcm1pc3Npb25zXG4gICAgICAgIHBlcm1pc3Npb25zPXtwcm9wcy5wZXJtaXNzaW9uc31cbiAgICAgICAgYWN0aW9uUmlnaHRzPXtwcm9wcy5hY3Rpb25SaWdodHN9XG4gICAgICAgIGRhdGFGZW5jZXM9e3Byb3BzLmRhdGFGZW5jZXN9XG4gICAgICAgIHNlbGVjdERhdGFGZW5jZURhdGE9eyhkZW1hbmRlZERhdGFGZW5jZSkgPT4ge1xuICAgICAgICAgIHN3aXRjaCAoZGVtYW5kZWREYXRhRmVuY2UudHlwZSkge1xuICAgICAgICAgICAgY2FzZSAnc3RvcmUnOlxuICAgICAgICAgICAgICByZXR1cm4gZGVtYW5kZWREYXRhRmVuY2UuYWN0dWFsRGF0YUZlbmNlVmFsdWVzO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9fVxuICAgICAgICAvLyBBbHdheXMgY2hlY2sgdGhhdCBzb21lIG9mIHRoZSBnaXZlbiBwZXJtaXNzaW9ucyBtYXRjaC5cbiAgICAgICAgc2hvdWxkTWF0Y2hTb21lUGVybWlzc2lvbnM9e3RydWV9XG4gICAgICAgIHByb2plY3RQZXJtaXNzaW9ucz17cHJvcHMucHJvamVjdFBlcm1pc3Npb25zfVxuICAgICAgPlxuICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICA8L1Jlc3RyaWN0ZWRCeVBlcm1pc3Npb25zPlxuICAgICkgOiAoXG4gICAgICA8Pntwcm9wcy5jaGlsZHJlbn08Lz5cbiAgICApO1xuXG4gIGlmIChwcm9wcy5mZWF0dXJlVG9nZ2xlKSB7XG4gICAgLy8gQSByZWd1bGFyIHNob3J0LWxpdmVkIGZlYXR1cmUgdG9nZ2xlXG4gICAgaWYgKGZsYWdWYXJpYXRpb24gPT09IHRydWUpIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG4gICAgLy8gQSBsb25nLWxpdmVkIGZlYXR1cmUgdG9nZ2xlIHdpdGggYHsgdmFsdWU6IGJvb2xlYW4sIHN0cmluZzogcmVhc29uIH1gXG4gICAgaWYgKGlzTG9uZ0xpdmVkRmxhZyhmbGFnVmFyaWF0aW9uKSAmJiBmbGFnVmFyaWF0aW9uLnZhbHVlID09PSB0cnVlKVxuICAgICAgcmV0dXJuIHBlcm1pc3Npb25zV3JhcHBlcjtcblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIHBlcm1pc3Npb25zV3JhcHBlcjtcbn07XG5SZXN0cmljdGVkTWVudUl0ZW0uZGlzcGxheU5hbWUgPSAnUmVzdHJpY3RlZE1lbnVJdGVtJztcblJlc3RyaWN0ZWRNZW51SXRlbS5kZWZhdWx0UHJvcHMgPSByZXN0cmljdGVkTWVudUl0ZW1EZWZhdWx0UHJvcHM7XG5cbnR5cGUgTWVudUxhYmVsUHJvcHMgPSB7XG4gIGxhYmVsQWxsTG9jYWxlczogVExvY2FsaXplZEZpZWxkW107XG4gIGRlZmF1bHRMYWJlbD86IHN0cmluZztcbiAgYXBwbGljYXRpb25Mb2NhbGU6IHN0cmluZztcbn07XG5jb25zdCBNZW51TGFiZWwgPSAocHJvcHM6IE1lbnVMYWJlbFByb3BzKSA9PiB7XG4gIGNvbnN0IGxvY2FsaXplZExhYmVsID0gcHJvcHMubGFiZWxBbGxMb2NhbGVzLmZpbmQoKGxvYykgPT5cbiAgICBwcm9wcy5hcHBsaWNhdGlvbkxvY2FsZS5zdGFydHNXaXRoKGxvYy5sb2NhbGUpXG4gICk7XG4gIGlmIChsb2NhbGl6ZWRMYWJlbCkgcmV0dXJuIDw+e2xvY2FsaXplZExhYmVsLnZhbHVlfTwvPjtcbiAgaWYgKHByb3BzLmRlZmF1bHRMYWJlbCkgcmV0dXJuIDw+e3Byb3BzLmRlZmF1bHRMYWJlbH08Lz47XG4gIHJldHVybiA8PntOT19WQUxVRV9GQUxMQkFDS308Lz47XG59O1xuXG50eXBlIFROYXZCYXJMYXlvdXRQcm9wcyA9IHtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbn07XG5jb25zdCBOYXZCYXJMYXlvdXQgPSBmb3J3YXJkUmVmPEhUTUxFbGVtZW50LCBUTmF2QmFyTGF5b3V0UHJvcHM+KFxuICAocHJvcHMsIHJlZikgPT4gKFxuICAgIDw+XG4gICAgICA8R2xvYmFsXG4gICAgICAgIHN0eWxlcz17Y3NzYFxuICAgICAgICAgICR7Y29tcGlsZWRTdHlsZXMuZ2xvYmFsfVxuICAgICAgICBgfVxuICAgICAgLz5cbiAgICAgIDxuYXZcbiAgICAgICAgcmVmPXtyZWZ9XG4gICAgICAgIGNsYXNzTmFtZT17c3R5bGVzWydsZWZ0LW5hdmlnYXRpb24nXX1cbiAgICAgICAgZGF0YS10ZXN0PVwibGVmdC1uYXZpZ2F0aW9uXCJcbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJsZWZ0LW5hdmlnYXRpb25cIlxuICAgICAgPlxuICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICA8L25hdj5cbiAgICA8Lz5cbiAgKVxuKTtcbk5hdkJhckxheW91dC5kaXNwbGF5TmFtZSA9ICdOYXZCYXJMYXlvdXQnO1xuXG50eXBlIEl0ZW1Db250YWluZXJQcm9wcyA9IHtcbiAgbGFiZWxBbGxMb2NhbGVzOiBUTG9jYWxpemVkRmllbGRbXTtcbiAgZGVmYXVsdExhYmVsPzogc3RyaW5nO1xuICBhcHBsaWNhdGlvbkxvY2FsZTogc3RyaW5nO1xuICBpY29uOiBzdHJpbmc7XG4gIGlzTWVudU9wZW4/OiBib29sZWFuO1xufTtcblxuY29uc3QgSXRlbUNvbnRhaW5lciA9IChwcm9wczogSXRlbUNvbnRhaW5lclByb3BzKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaXRlbS1pY29uLXRleHQnXX0+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydpY29uLWNvbnRhaW5lciddfT5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlcy5pY29ufT5cbiAgICAgICAgICA8SWNvblN3aXRjaGVyIGljb249e3Byb3BzLmljb259IHNpemU9XCJzY2FsZVwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICB7cHJvcHMuaXNNZW51T3BlbiA/IChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlcy50aXRsZX0+XG4gICAgICAgICAgPE1lbnVMYWJlbFxuICAgICAgICAgICAgbGFiZWxBbGxMb2NhbGVzPXtwcm9wcy5sYWJlbEFsbExvY2FsZXN9XG4gICAgICAgICAgICBkZWZhdWx0TGFiZWw9e3Byb3BzLmRlZmF1bHRMYWJlbH1cbiAgICAgICAgICAgIGFwcGxpY2F0aW9uTG9jYWxlPXtwcm9wcy5hcHBsaWNhdGlvbkxvY2FsZX1cbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICkgOiBudWxsfVxuICAgIDwvZGl2PlxuICApO1xufTtcblxuSXRlbUNvbnRhaW5lci5kaXNwbGF5TmFtZSA9ICdJdGVtQ29udGFpbmVyJztcblxuZXhwb3J0IHtcbiAgUmVzdHJpY3RlZE1lbnVJdGVtLFxuICBNZW51SXRlbSxcbiAgTWVudUl0ZW1MaW5rLFxuICBJY29uU3dpdGNoZXIsXG4gIE1lbnVHcm91cCxcbiAgTWVudUxhYmVsLFxuICBNZW51RXhwYW5kZXIsXG4gIEZhZGVkLFxuICBOYXZCYXJMYXlvdXQsXG4gIEl0ZW1Db250YWluZXIsXG59O1xuIl19 */",
489
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1lbnUtaXRlbXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQThMTyIsImZpbGUiOiJtZW51LWl0ZW1zLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGZvcndhcmRSZWYsXG4gIGxhenksXG4gIE1vdXNlRXZlbnRIYW5kbGVyLFxuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdHlwZSBTeW50aGV0aWNFdmVudCxcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgR2xvYmFsLCBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3JlYWN0LWJyb2FkY2FzdCc7XG5pbXBvcnQgdHlwZSB7IFRGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3R5cGVzJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgTmF2TGluayB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHR5cGUge1xuICBUTm9ybWFsaXplZE1lbnVWaXNpYmlsaXRpZXMsXG4gIFROb3JtYWxpemVkUGVybWlzc2lvbnMsXG4gIFROb3JtYWxpemVkQWN0aW9uUmlnaHRzLFxuICBUTm9ybWFsaXplZERhdGFGZW5jZXMsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnO1xuaW1wb3J0IE1pc3NpbmdJbWFnZVN2ZyBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hc3NldHMvaW1hZ2VzL2RpYWdvbmFsLWxpbmUuc3ZnJztcbmltcG9ydCB7IE5PX1ZBTFVFX0ZBTExCQUNLIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvY29uc3RhbnRzJztcbmltcG9ydCB7IFJlc3RyaWN0ZWRCeVBlcm1pc3Npb25zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvcGVybWlzc2lvbnMnO1xuaW1wb3J0IHtcbiAgQmFja0ljb24sXG4gIFNpZGViYXJFeHBhbmRJY29uLFxuICBTaWRlYmFyQ29sbGFwc2VJY29uLFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucyc7XG5pbXBvcnQgSW5saW5lU3ZnIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ljb25zL2lubGluZS1zdmcnO1xuaW1wb3J0IHsgRElNRU5TSU9OUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgdHlwZSB7XG4gIFREYXRhRmVuY2UsXG4gIFRBY3Rpb25SaWdodCxcbiAgVExvY2FsaXplZEZpZWxkLFxufSBmcm9tICcuLi8uLi8uLi90eXBlcy9nZW5lcmF0ZWQvcHJveHknO1xuaW1wb3J0IHsgbG9jYXRpb24gfSBmcm9tICcuLi8uLi8uLi91dGlscy9sb2NhdGlvbic7XG4vLyBodHRwczovL2JhYmVsanMuaW8vYmxvZy8yMDE3LzA5LzExL3plcm8tY29uZmlnLXdpdGgtYmFiZWwtbWFjcm9zXG5pbXBvcnQgY29tcGlsZWRTdHlsZXMgZnJvbSAvKiBwcmV2YWwgKi8gJy4vbmF2YmFyLnN0eWxlcyc7XG5cbmNvbnN0IHN0eWxlcyA9IGNvbXBpbGVkU3R5bGVzLmpzb25NYXA7XG5cbnR5cGUgVFByb2plY3RQZXJtaXNzaW9ucyA9IHtcbiAgcGVybWlzc2lvbnM6IFROb3JtYWxpemVkUGVybWlzc2lvbnMgfCBudWxsO1xuICBhY3Rpb25SaWdodHM6IFROb3JtYWxpemVkQWN0aW9uUmlnaHRzIHwgbnVsbDtcbiAgZGF0YUZlbmNlczogVE5vcm1hbGl6ZWREYXRhRmVuY2VzIHwgbnVsbDtcbn07XG5cbmNvbnN0IEhlYXJ0SWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvaGVhcnQnKSk7XG5jb25zdCBQYXBlcmNsaXBJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9wYXBlcmNsaXAnKSk7XG5jb25zdCBQbHVnaW5JY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9wbHVnaW4nKSk7XG5jb25zdCBSb2NrZXRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9yb2NrZXQnKSk7XG5jb25zdCBTdGFySWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvc3RhcicpKTtcbmNvbnN0IENvbm5lY3RlZFNxdWFyZUljb24gPSBsYXp5KFxuICAoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9jb25uZWN0ZWQtc3F1YXJlJylcbik7XG5jb25zdCBXb3JsZEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3dvcmxkJykpO1xuY29uc3QgVHJlZVN0cnVjdHVyZUljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3RyZWUtc3RydWN0dXJlJykpO1xuY29uc3QgVXNlckZpbGxlZEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3VzZXItZmlsbGVkJykpO1xuY29uc3QgU3BlZWRvbWV0ZXJJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9zcGVlZG9tZXRlcicpKTtcbmNvbnN0IFRhZ011bHRpSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvdGFnLW11bHRpJykpO1xuY29uc3QgQ2FydEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL2NhcnQnKSk7XG5jb25zdCBCb3hJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9ib3gnKSk7XG5jb25zdCBHZWFySWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvZ2VhcicpKTtcbmNvbnN0IExpc3RXaXRoU2VhcmNoSWNvbiA9IGxhenkoXG4gICgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL2xpc3Qtd2l0aC1zZWFyY2gnKVxuKTtcblxudHlwZSBJY29uUHJvcHMgPSBQYXJhbWV0ZXJzPHR5cGVvZiBCYWNrSWNvbj5bMF07XG50eXBlIEljb25Td2l0Y2hlclByb3BzID0geyBpY29uOiBzdHJpbmcgfSAmIEljb25Qcm9wcztcbi8vIFRoZSBpY29uIGlzIGV4cGVjdGVkIHRvIGJlIHRoZSBgc3ZnYCBkb2N1bWVudCBhcyBhIHN0cmluZy5cbi8vIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBwdXJwb3Nlcywgd2Ugc3RpbGwgc3VwcG9ydCB0aGUgbGVnYWN5IFwiaWNvbiBuYW1lXCIsXG4vLyB3aGljaCB3ZSB0aGVuIG1hcCB0byBvbmUgb2YgdGhlIHByZS1kZWZpbmVkIGljb25zLlxuLy8gRXZlbnR1YWxseSwgd2Ugd2FudCB0byBnZXQgcmlkIG9mIHRoaXMgXCJzd2l0Y2hcIiBsb2dpYy5cbmNvbnN0IEljb25Td2l0Y2hlciA9ICh7IGljb24sIC4uLmljb25Qcm9wcyB9OiBJY29uU3dpdGNoZXJQcm9wcykgPT4ge1xuICBpZiAoaWNvbi5pbmNsdWRlcygnPHN2ZycpKSB7XG4gICAgcmV0dXJuIDxJbmxpbmVTdmcgZGF0YT17aWNvbn0gey4uLmljb25Qcm9wc30gLz47XG4gIH1cbiAgLy8gQmFja3dhcmRzIGNvbXBhdGliaWxpdHkgZm9yIGFwcHMgdXNpbmcgdGhlIFwiaWNvbiBuYW1lXCIuXG4gIHN3aXRjaCAoaWNvbikge1xuICAgIC8vIExlZ2FjeSBhcHBsaWNhdGlvbiBpY29uc1xuICAgIC8vIFRPRE86IFRvIGJlIHJlbW92ZWQgb25jZSBNQyBhcHBsaWNhdGlvbnMgaWNvbnMgdXBkYXRlcyBhcmUgcHVibGlzaGVkXG4gICAgY2FzZSAnVHJlZVN0cnVjdHVyZUljb24nOlxuICAgICAgcmV0dXJuIDxUcmVlU3RydWN0dXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdVc2VyRmlsbGVkSWNvbic6XG4gICAgICByZXR1cm4gPFVzZXJGaWxsZWRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1NwZWVkb21ldGVySWNvbic6XG4gICAgICByZXR1cm4gPFNwZWVkb21ldGVySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdUYWdNdWx0aUljb24nOlxuICAgICAgcmV0dXJuIDxUYWdNdWx0aUljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnQ2FydEljb24nOlxuICAgICAgcmV0dXJuIDxDYXJ0SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdCb3hJY29uJzpcbiAgICAgIHJldHVybiA8Qm94SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdHZWFySWNvbic6XG4gICAgICByZXR1cm4gPEdlYXJJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ0xpc3RXaXRoU2VhcmNoSWNvbic6XG4gICAgICByZXR1cm4gPExpc3RXaXRoU2VhcmNoSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcblxuICAgIC8vIEN1c3RvbSBhcHBsaWNhdGlvbiBpY29ucyBzZXRcbiAgICBjYXNlICdIZWFydEljb24nOlxuICAgICAgcmV0dXJuIDxIZWFydEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUGFwZXJjbGlwSWNvbic6XG4gICAgICByZXR1cm4gPFBhcGVyY2xpcEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUGx1Z2luSWNvbic6XG4gICAgICByZXR1cm4gPFBsdWdpbkljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUm9ja2V0SWNvbic6XG4gICAgICByZXR1cm4gPFJvY2tldEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnU3Rhckljb24nOlxuICAgICAgcmV0dXJuIDxTdGFySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdDb25uZWN0ZWRTcXVhcmVJY29uJzpcbiAgICAgIHJldHVybiA8Q29ubmVjdGVkU3F1YXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICAvLyBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcbiAgICBjYXNlICdXb3JsZEljb24nOlxuICAgICAgcmV0dXJuIDxXb3JsZEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiA8aW1nIHNyYz17TWlzc2luZ0ltYWdlU3ZnfSBhbHQ9XCJtaXNzaW5nIGljb25cIiAvPjtcbiAgfVxufTtcbkljb25Td2l0Y2hlci5kaXNwbGF5TmFtZSA9ICdJY29uU3dpdGNoZXInO1xuXG50eXBlIE1lbnVFeHBhbmRlclByb3BzID0ge1xuICBpc1Zpc2libGU6IGJvb2xlYW47XG4gIG9uQ2xpY2s6IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50PjtcbiAgaXNNZW51T3BlbjogYm9vbGVhbjtcbn07XG5cbmNvbnN0IGdldEljb24gPSAoeyBpc01lbnVPcGVuIH06IE1lbnVFeHBhbmRlclByb3BzKSA9PiB7XG4gIGNvbnN0IEljb24gPSBpc01lbnVPcGVuID8gU2lkZWJhckNvbGxhcHNlSWNvbiA6IFNpZGViYXJFeHBhbmRJY29uO1xuICByZXR1cm4gPEljb24gY29sb3I9XCJzdXJmYWNlXCIgc2l6ZT1cImJpZ1wiIC8+O1xufTtcblxuY29uc3QgTWVudUV4cGFuZGVyID0gKHByb3BzOiBNZW51RXhwYW5kZXJQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxsaVxuICAgICAga2V5PVwiZXhwYW5kZXJcIlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKHN0eWxlc1snbGlzdC1pdGVtJ10sIHN0eWxlcy5leHBhbmRlciwge1xuICAgICAgICBbc3R5bGVzLmhpZGRlbl06ICFwcm9wcy5pc1Zpc2libGUsXG4gICAgICB9KX1cbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIG9uQ2xpY2s9e3Byb3BzLm9uQ2xpY2t9XG4gICAgICAgIGNsYXNzTmFtZT17c3R5bGVzWydleHBhbmQtaWNvbiddfVxuICAgICAgICBkYXRhLXRlc3RpZD1cIm1lbnUtZXhwYW5kZXJcIlxuICAgICAgPlxuICAgICAgICB7Z2V0SWNvbihwcm9wcyl9XG4gICAgICA8L2Rpdj5cbiAgICA8L2xpPlxuICApO1xufTtcbk1lbnVFeHBhbmRlci5kaXNwbGF5TmFtZSA9ICdNZW51RXhwYW5kZXInO1xuXG5jb25zdCBGYWRlZCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgwLCAxNTMsIDEzNSwgMCkgMCUsICMwMGIzOWUgMTAwJSk7XG4gIHotaW5kZXg6IDE7XG5gO1xuXG50eXBlIE1lbnVHcm91cFByb3BzID0ge1xuICBpZDogc3RyaW5nO1xuICBsZXZlbDogMSB8IDI7XG4gIGlzQWN0aXZlPzogYm9vbGVhbjtcbiAgaXNFeHBhbmRlZD86IGJvb2xlYW47XG4gIGhhc1N1Ym1lbnU/OiBib29sZWFuO1xuICBjaGlsZHJlbj86IFJlYWN0Tm9kZTtcbiAgc3VibWVudVZlcnRpY2FsUG9zaXRpb24/OiBudW1iZXI7XG4gIGlzU3VibWVudUFib3ZlTWVudUl0ZW0/OiBib29sZWFuO1xufTtcblxuY29uc3QgZ2V0U3VibWVudVBvc2l0aW9uQmFzZWRPbk1lbnVJdGVtUG9zaXRpb24gPSAoXG4gIGlzU3VibWVudUFib3ZlTWVudUl0ZW0/OiBib29sZWFuLFxuICBzdWJtZW51VmVydGljYWxQb3NpdGlvbj86IG51bWJlclxuKSA9PiBjc3NgXG4gICR7aXNTdWJtZW51QWJvdmVNZW51SXRlbSA/ICdib3R0b20nIDogJ3RvcCd9OiAke3N1Ym1lbnVWZXJ0aWNhbFBvc2l0aW9ufXB4XG5gO1xuXG5jb25zdCBnZXRDb250YWluZXJQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uID0gKFxuICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtPzogYm9vbGVhbixcbiAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZD86IGJvb2xlYW4sXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkPzogYm9vbGVhblxuKSA9PiBbXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmXG4gICAgY3NzYFxuICAgICAgJHtpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtXG4gICAgICAgID8gJ2JvdHRvbSdcbiAgICAgICAgOiAndG9wJ306IC0ke0RJTUVOU0lPTlMubmF2TWVudUl0ZW1IZWlnaHR9O1xuICAgIGAsXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgJiZcbiAgICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtICYmXG4gICAgY3NzYFxuICAgICAgYm90dG9tOiAwO1xuICAgIGAsXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgJiZcbiAgICAhaXNTdWJtZW51QWJvdmVNZW51SXRlbSAmJlxuICAgIGNzc2BcbiAgICAgIHRvcDogMDtcbiAgICBgLFxuXTtcblxuY29uc3QgTWVudUdyb3VwID0gZm9yd2FyZFJlZjxIVE1MVUxpc3RFbGVtZW50LCBNZW51R3JvdXBQcm9wcz4oKHByb3BzLCByZWYpID0+IHtcbiAgaWYgKFxuICAgIHByb3BzLmlzRXhwYW5kZWQgJiZcbiAgICAoKHByb3BzLmxldmVsID09PSAyICYmICFwcm9wcy5oYXNTdWJtZW51KSB8fFxuICAgICAgKHByb3BzLmxldmVsID09PSAyICYmICFwcm9wcy5pc0FjdGl2ZSkpXG4gICkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGNvbnN0IGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgPVxuICAgIHByb3BzLmxldmVsID09PSAyICYmIHByb3BzLmlzQWN0aXZlICYmIHByb3BzLmlzRXhwYW5kZWQ7XG4gIGNvbnN0IGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkID1cbiAgICBwcm9wcy5sZXZlbCA9PT0gMiAmJiBwcm9wcy5pc0FjdGl2ZSAmJiAhcHJvcHMuaXNFeHBhbmRlZDtcbiAgcmV0dXJuIChcbiAgICA8dWxcbiAgICAgIHJlZj17cmVmICYmIHByb3BzLmxldmVsID09PSAyID8gcmVmIDogbnVsbH1cbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICAke2dldFN1Ym1lbnVQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uKFxuICAgICAgICAgIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgICAgcHJvcHMuc3VibWVudVZlcnRpY2FsUG9zaXRpb25cbiAgICAgICAgKX07XG4gICAgICBcbiAgICAgIC8vIHByZXZlbnQgZ2xpdGNoeSBiZWhhdmlvciBkdXJpbmcgdGhlIGluaXRpYWwgcmVuZGVyIHdoZW4gdGhlIHN1Ym1lbnUncyB2ZXJ0aWNhbCBwb3NpdGlvbiBpcyBldmFsdWF0ZWQgYXMgMFxuICAgICAgJHtcbiAgICAgICAgcHJvcHMuc3VibWVudVZlcnRpY2FsUG9zaXRpb24gPT09IDAgJiZcbiAgICAgICAgY3NzYFxuICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgYFxuICAgICAgfVxuXG4gICAgICAgIC8vIGFkZGl0aW9uYWwgc3R5bGluZyBvZiB0aGUgcHNldWRvLWVsZW1lbnQgZW5hYmxpbmcgc21vb3RoIGNvdXJzb3IgbW92ZW1lbnRcbiAgICAgICAgOjpiZWZvcmUge1xuICAgICAgICAgICR7Z2V0Q29udGFpbmVyUG9zaXRpb25CYXNlZE9uTWVudUl0ZW1Qb3NpdGlvbihcbiAgICAgICAgICAgIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkLFxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWRcbiAgICAgICAgICApfVxuICAgICAgYH1cbiAgICAgIGlkPXtgZ3JvdXAtJHtwcm9wcy5pZH1gfVxuICAgICAgZGF0YS10ZXN0aWQ9e2Bncm91cC0ke3Byb3BzLmlkfWB9XG4gICAgICByb2xlPVwibWVudVwiXG4gICAgICBhcmlhLWV4cGFuZGVkPXtcbiAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCB8fFxuICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZFxuICAgICAgfVxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKFxuICAgICAgICB7IFtzdHlsZXMubGlzdF06IHByb3BzLmxldmVsID09PSAxIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0J11dOiBwcm9wcy5sZXZlbCA9PT0gMixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtZXhwYW5kZWRfX2FjdGl2ZSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0LWNvbGxhcHNlZF9fZW1wdHknXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCAmJiAhcHJvcHMuaGFzU3VibWVudSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtY29sbGFwc2VkX19hY3RpdmUnXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCAmJlxuICAgICAgICAgICAgIXByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0LWNvbGxhcHNlZF9fYWN0aXZlX19hYm92ZSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzLnN1Ymxpc3RfX2luYWN0aXZlXTogIWlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkLFxuICAgICAgICB9XG4gICAgICApfVxuICAgID5cbiAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICA8L3VsPlxuICApO1xufSk7XG5NZW51R3JvdXAuZGlzcGxheU5hbWUgPSAnTWVudUdyb3VwJztcblxudHlwZSBNZW51SXRlbVByb3BzID0ge1xuICBoYXNTdWJtZW51OiBib29sZWFuO1xuICBpc0FjdGl2ZTogYm9vbGVhbjtcbiAgaXNNYWluTWVudVJvdXRlQWN0aXZlPzogYm9vbGVhbjtcbiAgaXNNZW51T3BlbjogYm9vbGVhbjtcbiAgb25DbGljazogTW91c2VFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+O1xuICBvbk1vdXNlRW50ZXI/OiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD47XG4gIG9uTW91c2VMZWF2ZT86IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50PjtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgaWRlbnRpZmllcj86IHN0cmluZztcbn07XG5jb25zdCBNZW51SXRlbSA9IChwcm9wczogTWVudUl0ZW1Qcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxsaVxuICAgICAgcm9sZT1cIm1lbnVpdGVtXCJcbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcyhzdHlsZXNbJ2xpc3QtaXRlbSddLCB7XG4gICAgICAgIFtzdHlsZXMuaXRlbV9fYWN0aXZlXTogcHJvcHMuaXNBY3RpdmUsXG4gICAgICAgIFtzdHlsZXNbJ2l0ZW1fbWVudV9fYWN0aXZlJ11dOiBwcm9wcy5pc01haW5NZW51Um91dGVBY3RpdmUgPz8gZmFsc2UsXG4gICAgICAgIFtzdHlsZXNbJ2l0ZW1fbWVudS1jb2xsYXBzZWQnXV06ICFwcm9wcy5pc01lbnVPcGVuLFxuICAgICAgfSl9XG4gICAgICBvbkNsaWNrPXtwcm9wcy5vbkNsaWNrfVxuICAgICAgb25Nb3VzZUVudGVyPXtwcm9wcy5vbk1vdXNlRW50ZXJ9XG4gICAgICBvbk1vdXNlTGVhdmU9e3Byb3BzLm9uTW91c2VMZWF2ZX1cbiAgICAgIGRhdGEtbWVudWl0ZW09e3Byb3BzLmlkZW50aWZpZXJ9XG4gICAgPlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaXRlbS1saW5rJ119Pntwcm9wcy5jaGlsZHJlbn08L2Rpdj5cbiAgICA8L2xpPlxuICApO1xufTtcblxuTWVudUl0ZW0uZGlzcGxheU5hbWUgPSAnTWVudUl0ZW0nO1xuXG5leHBvcnQgdHlwZSBNZW51SXRlbUxpbmtQcm9wcyA9IHtcbiAgbGlua1RvPzogc3RyaW5nO1xuICBleGFjdE1hdGNoOiBib29sZWFuO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBvbkNsaWNrPzogKGV2ZW50OiBTeW50aGV0aWNFdmVudDxIVE1MQW5jaG9yRWxlbWVudD4pID0+IHZvaWQ7XG4gIHVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rcz86IGJvb2xlYW47XG4gIGlzU3VibWVudUxpbms/OiBib29sZWFuO1xufTtcbmNvbnN0IG1lbnVJdGVtTGlua0RlZmF1bHRQcm9wczogUGljazxNZW51SXRlbUxpbmtQcm9wcywgJ2V4YWN0TWF0Y2gnPiA9IHtcbiAgZXhhY3RNYXRjaDogZmFsc2UsXG59O1xuY29uc3QgTmF2TGlua1dyYXBwZXIgPSAocHJvcHM6IE1lbnVJdGVtTGlua1Byb3BzKSA9PiB7XG4gIGlmIChwcm9wcy5pc1N1Ym1lbnVMaW5rKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ3RleHQtbGluay1zdWJsaXN0LXdyYXBwZXInXX0+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5jb25zdCBOYXZMaW5rQ2xpY2thYmxlQ29udGVudFdyYXBwZXIgPSAocHJvcHM6IE1lbnVJdGVtTGlua1Byb3BzKSA9PiB7XG4gIGlmIChwcm9wcy5pc1N1Ym1lbnVMaW5rKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ25hdmxpbmstY2xpY2thYmxlLWNvbnRlbnQnXX0+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5cbmNvbnN0IE1lbnVJdGVtTGluayA9IChwcm9wczogTWVudUl0ZW1MaW5rUHJvcHMpID0+IHtcbiAgY29uc3QgcmVkaXJlY3RUbyA9ICh0YXJnZXRVcmw6IHN0cmluZykgPT4gbG9jYXRpb24ucmVwbGFjZSh0YXJnZXRVcmwpO1xuICBpZiAocHJvcHMubGlua1RvKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxOYXZMaW5rV3JhcHBlciB7Li4ucHJvcHN9PlxuICAgICAgICA8TmF2TGlua1xuICAgICAgICAgIHRvPXtwcm9wcy5saW5rVG99XG4gICAgICAgICAgZXhhY3Q9e3Byb3BzLmV4YWN0TWF0Y2h9XG4gICAgICAgICAgYWN0aXZlQ2xhc3NOYW1lPXtzdHlsZXMuaGlnaGxpZ2h0ZWR9XG4gICAgICAgICAgY2xhc3NOYW1lPXtcbiAgICAgICAgICAgIHByb3BzLmlzU3VibWVudUxpbmtcbiAgICAgICAgICAgICAgPyBzdHlsZXNbJ3RleHQtbGluay1zdWJsaXN0J11cbiAgICAgICAgICAgICAgOiBzdHlsZXNbJ3RleHQtbGluayddXG4gICAgICAgICAgfVxuICAgICAgICAgIG9uQ2xpY2s9eyhldmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKHByb3BzLmxpbmtUbyAmJiBwcm9wcy51c2VGdWxsUmVkaXJlY3RzRm9yTGlua3MpIHtcbiAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgcmVkaXJlY3RUbyhwcm9wcy5saW5rVG8pO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChwcm9wcy5vbkNsaWNrKSB7XG4gICAgICAgICAgICAgIGV2ZW50LnBlcnNpc3QoKTtcbiAgICAgICAgICAgICAgcHJvcHMub25DbGljayhldmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxOYXZMaW5rQ2xpY2thYmxlQ29udGVudFdyYXBwZXIgey4uLnByb3BzfT5cbiAgICAgICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgICAgICA8L05hdkxpbmtDbGlja2FibGVDb250ZW50V3JhcHBlcj5cbiAgICAgICAgPC9OYXZMaW5rPlxuICAgICAgPC9OYXZMaW5rV3JhcHBlcj5cbiAgICApO1xuICB9XG4gIHJldHVybiA8Pntwcm9wcy5jaGlsZHJlbn08Lz47XG59O1xuTWVudUl0ZW1MaW5rLmRpc3BsYXlOYW1lID0gJ01lbnVJdGVtTGluayc7XG5NZW51SXRlbUxpbmsuZGVmYXVsdFByb3BzID0gbWVudUl0ZW1MaW5rRGVmYXVsdFByb3BzO1xuXG5jb25zdCBpc0V2ZXJ5TWVudVZpc2liaWxpdHlTZXRUb0hpZGRlbiA9IChcbiAgbWVudVZpc2liaWxpdGllcz86IFROb3JtYWxpemVkTWVudVZpc2liaWxpdGllcyB8IG51bGwsXG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPzogc3RyaW5nW11cbikgPT5cbiAgQXJyYXkuaXNBcnJheShuYW1lc09mTWVudVZpc2liaWxpdGllcykgJiZcbiAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXMubGVuZ3RoID4gMCAmJlxuICBuYW1lc09mTWVudVZpc2liaWxpdGllcy5ldmVyeShcbiAgICAobmFtZU9mTWVudVZpc2liaWxpdHkpID0+XG4gICAgICBtZW51VmlzaWJpbGl0aWVzICYmIG1lbnVWaXNpYmlsaXRpZXNbbmFtZU9mTWVudVZpc2liaWxpdHldID09PSB0cnVlXG4gICk7XG5cbnR5cGUgUmVzdHJpY3RlZE1lbnVJdGVtUHJvcHMgPSB7XG4gIGZlYXR1cmVUb2dnbGU/OiBzdHJpbmc7XG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPzogc3RyaW5nW107XG4gIHByb2plY3RQZXJtaXNzaW9uczogVFByb2plY3RQZXJtaXNzaW9ucztcbiAgbWVudVZpc2liaWxpdGllczogVE5vcm1hbGl6ZWRNZW51VmlzaWJpbGl0aWVzIHwgbnVsbDtcbiAga2V5T2ZNZW51SXRlbTogc3RyaW5nO1xuICBwZXJtaXNzaW9uczogc3RyaW5nW107XG4gIGFjdGlvblJpZ2h0cz86IFRBY3Rpb25SaWdodFtdO1xuICBkYXRhRmVuY2VzPzogVERhdGFGZW5jZVtdO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xufTtcbnR5cGUgVExvbmdMaXZlZEZsYWcgPSB7XG4gIHZhbHVlOiBib29sZWFuO1xuICByZWFzb24/OiBzdHJpbmc7XG59O1xuY29uc3QgcmVzdHJpY3RlZE1lbnVJdGVtRGVmYXVsdFByb3BzOiBQaWNrPFxuICBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcyxcbiAgJ3Blcm1pc3Npb25zJ1xuPiA9IHtcbiAgcGVybWlzc2lvbnM6IFtdLFxufTtcbmZ1bmN0aW9uIGlzTG9uZ0xpdmVkRmxhZyhcbiAgZmxhZzogVEZsYWdWYXJpYXRpb24gfCBUTG9uZ0xpdmVkRmxhZ1xuKTogZmxhZyBpcyBUTG9uZ0xpdmVkRmxhZyB7XG4gIHJldHVybiB0eXBlb2YgKGZsYWcgYXMgVExvbmdMaXZlZEZsYWcpPy52YWx1ZSA9PT0gJ2Jvb2xlYW4nO1xufVxuY29uc3QgUmVzdHJpY3RlZE1lbnVJdGVtID0gKHByb3BzOiBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcykgPT4ge1xuICAvLyBOT1RFOiBDdXN0b20gYXBwbGljYXRpb24gYXJlIGFjdGl2YXRlZC9kZWFjdGl2YXRlZCB3aGlsZSB0aGVpclxuICAvLyB2aXNpYmlsaXR5IGlzIG5vdCBjb250cm9sbGVkIHZpYSBhIHZpc2liaWlsaXR5IG92ZXJ3cml0ZS5cbiAgY29uc3QgZmxhZ1ZhcmlhdGlvbiA9IHVzZUZsYWdWYXJpYXRpb24ocHJvcHMuZmVhdHVyZVRvZ2dsZSk7XG4gIGlmIChcbiAgICBpc0V2ZXJ5TWVudVZpc2liaWxpdHlTZXRUb0hpZGRlbihcbiAgICAgIHByb3BzLm1lbnVWaXNpYmlsaXRpZXMsXG4gICAgICBwcm9wcy5uYW1lc09mTWVudVZpc2liaWxpdGllc1xuICAgIClcbiAgKVxuICAgIHJldHVybiBudWxsO1xuXG4gIGNvbnN0IHBlcm1pc3Npb25zV3JhcHBlciA9XG4gICAgKEFycmF5LmlzQXJyYXkocHJvcHMucGVybWlzc2lvbnMpICYmIHByb3BzLnBlcm1pc3Npb25zLmxlbmd0aCA+IDApIHx8XG4gICAgKEFycmF5LmlzQXJyYXkocHJvcHMuZGF0YUZlbmNlcykgJiYgcHJvcHMuZGF0YUZlbmNlcy5sZW5ndGggPiAwKSA/IChcbiAgICAgIDxSZXN0cmljdGVkQnlQZXJtaXNzaW9uc1xuICAgICAgICBwZXJtaXNzaW9ucz17cHJvcHMucGVybWlzc2lvbnN9XG4gICAgICAgIGFjdGlvblJpZ2h0cz17cHJvcHMuYWN0aW9uUmlnaHRzfVxuICAgICAgICBkYXRhRmVuY2VzPXtwcm9wcy5kYXRhRmVuY2VzfVxuICAgICAgICBzZWxlY3REYXRhRmVuY2VEYXRhPXsoZGVtYW5kZWREYXRhRmVuY2UpID0+IHtcbiAgICAgICAgICBzd2l0Y2ggKGRlbWFuZGVkRGF0YUZlbmNlLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ3N0b3JlJzpcbiAgICAgICAgICAgICAgcmV0dXJuIGRlbWFuZGVkRGF0YUZlbmNlLmFjdHVhbERhdGFGZW5jZVZhbHVlcztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfX1cbiAgICAgICAgLy8gQWx3YXlzIGNoZWNrIHRoYXQgc29tZSBvZiB0aGUgZ2l2ZW4gcGVybWlzc2lvbnMgbWF0Y2guXG4gICAgICAgIHNob3VsZE1hdGNoU29tZVBlcm1pc3Npb25zPXt0cnVlfVxuICAgICAgICBwcm9qZWN0UGVybWlzc2lvbnM9e3Byb3BzLnByb2plY3RQZXJtaXNzaW9uc31cbiAgICAgID5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9SZXN0cmljdGVkQnlQZXJtaXNzaW9ucz5cbiAgICApIDogKFxuICAgICAgPD57cHJvcHMuY2hpbGRyZW59PC8+XG4gICAgKTtcblxuICBpZiAocHJvcHMuZmVhdHVyZVRvZ2dsZSkge1xuICAgIC8vIEEgcmVndWxhciBzaG9ydC1saXZlZCBmZWF0dXJlIHRvZ2dsZVxuICAgIGlmIChmbGFnVmFyaWF0aW9uID09PSB0cnVlKSByZXR1cm4gcGVybWlzc2lvbnNXcmFwcGVyO1xuICAgIC8vIEEgbG9uZy1saXZlZCBmZWF0dXJlIHRvZ2dsZSB3aXRoIGB7IHZhbHVlOiBib29sZWFuLCBzdHJpbmc6IHJlYXNvbiB9YFxuICAgIGlmIChpc0xvbmdMaXZlZEZsYWcoZmxhZ1ZhcmlhdGlvbikgJiYgZmxhZ1ZhcmlhdGlvbi52YWx1ZSA9PT0gdHJ1ZSlcbiAgICAgIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG59O1xuUmVzdHJpY3RlZE1lbnVJdGVtLmRpc3BsYXlOYW1lID0gJ1Jlc3RyaWN0ZWRNZW51SXRlbSc7XG5SZXN0cmljdGVkTWVudUl0ZW0uZGVmYXVsdFByb3BzID0gcmVzdHJpY3RlZE1lbnVJdGVtRGVmYXVsdFByb3BzO1xuXG50eXBlIE1lbnVMYWJlbFByb3BzID0ge1xuICBsYWJlbEFsbExvY2FsZXM6IFRMb2NhbGl6ZWRGaWVsZFtdO1xuICBkZWZhdWx0TGFiZWw/OiBzdHJpbmc7XG4gIGFwcGxpY2F0aW9uTG9jYWxlOiBzdHJpbmc7XG59O1xuY29uc3QgTWVudUxhYmVsID0gKHByb3BzOiBNZW51TGFiZWxQcm9wcykgPT4ge1xuICBjb25zdCBsb2NhbGl6ZWRMYWJlbCA9IHByb3BzLmxhYmVsQWxsTG9jYWxlcy5maW5kKChsb2MpID0+XG4gICAgcHJvcHMuYXBwbGljYXRpb25Mb2NhbGUuc3RhcnRzV2l0aChsb2MubG9jYWxlKVxuICApO1xuICBpZiAobG9jYWxpemVkTGFiZWwpIHJldHVybiA8Pntsb2NhbGl6ZWRMYWJlbC52YWx1ZX08Lz47XG4gIGlmIChwcm9wcy5kZWZhdWx0TGFiZWwpIHJldHVybiA8Pntwcm9wcy5kZWZhdWx0TGFiZWx9PC8+O1xuICByZXR1cm4gPD57Tk9fVkFMVUVfRkFMTEJBQ0t9PC8+O1xufTtcblxudHlwZSBUTmF2QmFyTGF5b3V0UHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59O1xuY29uc3QgTmF2QmFyTGF5b3V0ID0gZm9yd2FyZFJlZjxIVE1MRWxlbWVudCwgVE5hdkJhckxheW91dFByb3BzPihcbiAgKHByb3BzLCByZWYpID0+IChcbiAgICA8PlxuICAgICAgPEdsb2JhbFxuICAgICAgICBzdHlsZXM9e2Nzc2BcbiAgICAgICAgICAke2NvbXBpbGVkU3R5bGVzLmdsb2JhbH1cbiAgICAgICAgYH1cbiAgICAgIC8+XG4gICAgICA8bmF2XG4gICAgICAgIHJlZj17cmVmfVxuICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1snbGVmdC1uYXZpZ2F0aW9uJ119XG4gICAgICAgIGRhdGEtdGVzdD1cImxlZnQtbmF2aWdhdGlvblwiXG4gICAgICAgIGRhdGEtdGVzdGlkPVwibGVmdC1uYXZpZ2F0aW9uXCJcbiAgICAgID5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9uYXY+XG4gICAgPC8+XG4gIClcbik7XG5OYXZCYXJMYXlvdXQuZGlzcGxheU5hbWUgPSAnTmF2QmFyTGF5b3V0JztcblxudHlwZSBJdGVtQ29udGFpbmVyUHJvcHMgPSB7XG4gIGxhYmVsQWxsTG9jYWxlczogVExvY2FsaXplZEZpZWxkW107XG4gIGRlZmF1bHRMYWJlbD86IHN0cmluZztcbiAgYXBwbGljYXRpb25Mb2NhbGU6IHN0cmluZztcbiAgaWNvbjogc3RyaW5nO1xuICBpc01lbnVPcGVuPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IEl0ZW1Db250YWluZXIgPSAocHJvcHM6IEl0ZW1Db250YWluZXJQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2l0ZW0taWNvbi10ZXh0J119PlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaWNvbi1jb250YWluZXInXX0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMuaWNvbn0+XG4gICAgICAgICAgPEljb25Td2l0Y2hlciBpY29uPXtwcm9wcy5pY29ufSBzaXplPVwic2NhbGVcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAge3Byb3BzLmlzTWVudU9wZW4gPyAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMudGl0bGV9PlxuICAgICAgICAgIDxNZW51TGFiZWxcbiAgICAgICAgICAgIGxhYmVsQWxsTG9jYWxlcz17cHJvcHMubGFiZWxBbGxMb2NhbGVzfVxuICAgICAgICAgICAgZGVmYXVsdExhYmVsPXtwcm9wcy5kZWZhdWx0TGFiZWx9XG4gICAgICAgICAgICBhcHBsaWNhdGlvbkxvY2FsZT17cHJvcHMuYXBwbGljYXRpb25Mb2NhbGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApIDogbnVsbH1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbkl0ZW1Db250YWluZXIuZGlzcGxheU5hbWUgPSAnSXRlbUNvbnRhaW5lcic7XG5cbmV4cG9ydCB7XG4gIFJlc3RyaWN0ZWRNZW51SXRlbSxcbiAgTWVudUl0ZW0sXG4gIE1lbnVJdGVtTGluayxcbiAgSWNvblN3aXRjaGVyLFxuICBNZW51R3JvdXAsXG4gIE1lbnVMYWJlbCxcbiAgTWVudUV4cGFuZGVyLFxuICBGYWRlZCxcbiAgTmF2QmFyTGF5b3V0LFxuICBJdGVtQ29udGFpbmVyLFxufTtcbiJdfQ== */",
490
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__$1
491
+ };
492
+ const getContainerPositionBasedOnMenuItemPosition = (isSubmenuAboveMenuItem, isSublistActiveWhileIsMenuExpanded, isSublistActiveWhileIsMenuCollapsed) => [isSublistActiveWhileIsMenuCollapsed && /*#__PURE__*/css(isSubmenuAboveMenuItem ? 'bottom' : 'top', ":-", DIMENSIONS.navMenuItemHeight, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:getContainerPositionBasedOnMenuItemPosition;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1lbnUtaXRlbXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXVMTyIsImZpbGUiOiJtZW51LWl0ZW1zLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGZvcndhcmRSZWYsXG4gIGxhenksXG4gIE1vdXNlRXZlbnRIYW5kbGVyLFxuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdHlwZSBTeW50aGV0aWNFdmVudCxcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgR2xvYmFsLCBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3JlYWN0LWJyb2FkY2FzdCc7XG5pbXBvcnQgdHlwZSB7IFRGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3R5cGVzJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgTmF2TGluayB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHR5cGUge1xuICBUTm9ybWFsaXplZE1lbnVWaXNpYmlsaXRpZXMsXG4gIFROb3JtYWxpemVkUGVybWlzc2lvbnMsXG4gIFROb3JtYWxpemVkQWN0aW9uUmlnaHRzLFxuICBUTm9ybWFsaXplZERhdGFGZW5jZXMsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnO1xuaW1wb3J0IE1pc3NpbmdJbWFnZVN2ZyBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hc3NldHMvaW1hZ2VzL2RpYWdvbmFsLWxpbmUuc3ZnJztcbmltcG9ydCB7IE5PX1ZBTFVFX0ZBTExCQUNLIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvY29uc3RhbnRzJztcbmltcG9ydCB7IFJlc3RyaWN0ZWRCeVBlcm1pc3Npb25zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvcGVybWlzc2lvbnMnO1xuaW1wb3J0IHtcbiAgQmFja0ljb24sXG4gIFNpZGViYXJFeHBhbmRJY29uLFxuICBTaWRlYmFyQ29sbGFwc2VJY29uLFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucyc7XG5pbXBvcnQgSW5saW5lU3ZnIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ljb25zL2lubGluZS1zdmcnO1xuaW1wb3J0IHsgRElNRU5TSU9OUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgdHlwZSB7XG4gIFREYXRhRmVuY2UsXG4gIFRBY3Rpb25SaWdodCxcbiAgVExvY2FsaXplZEZpZWxkLFxufSBmcm9tICcuLi8uLi8uLi90eXBlcy9nZW5lcmF0ZWQvcHJveHknO1xuaW1wb3J0IHsgbG9jYXRpb24gfSBmcm9tICcuLi8uLi8uLi91dGlscy9sb2NhdGlvbic7XG4vLyBodHRwczovL2JhYmVsanMuaW8vYmxvZy8yMDE3LzA5LzExL3plcm8tY29uZmlnLXdpdGgtYmFiZWwtbWFjcm9zXG5pbXBvcnQgY29tcGlsZWRTdHlsZXMgZnJvbSAvKiBwcmV2YWwgKi8gJy4vbmF2YmFyLnN0eWxlcyc7XG5cbmNvbnN0IHN0eWxlcyA9IGNvbXBpbGVkU3R5bGVzLmpzb25NYXA7XG5cbnR5cGUgVFByb2plY3RQZXJtaXNzaW9ucyA9IHtcbiAgcGVybWlzc2lvbnM6IFROb3JtYWxpemVkUGVybWlzc2lvbnMgfCBudWxsO1xuICBhY3Rpb25SaWdodHM6IFROb3JtYWxpemVkQWN0aW9uUmlnaHRzIHwgbnVsbDtcbiAgZGF0YUZlbmNlczogVE5vcm1hbGl6ZWREYXRhRmVuY2VzIHwgbnVsbDtcbn07XG5cbmNvbnN0IEhlYXJ0SWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvaGVhcnQnKSk7XG5jb25zdCBQYXBlcmNsaXBJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9wYXBlcmNsaXAnKSk7XG5jb25zdCBQbHVnaW5JY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9wbHVnaW4nKSk7XG5jb25zdCBSb2NrZXRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9yb2NrZXQnKSk7XG5jb25zdCBTdGFySWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvc3RhcicpKTtcbmNvbnN0IENvbm5lY3RlZFNxdWFyZUljb24gPSBsYXp5KFxuICAoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9jb25uZWN0ZWQtc3F1YXJlJylcbik7XG5jb25zdCBXb3JsZEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3dvcmxkJykpO1xuY29uc3QgVHJlZVN0cnVjdHVyZUljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3RyZWUtc3RydWN0dXJlJykpO1xuY29uc3QgVXNlckZpbGxlZEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3VzZXItZmlsbGVkJykpO1xuY29uc3QgU3BlZWRvbWV0ZXJJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9zcGVlZG9tZXRlcicpKTtcbmNvbnN0IFRhZ011bHRpSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvdGFnLW11bHRpJykpO1xuY29uc3QgQ2FydEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL2NhcnQnKSk7XG5jb25zdCBCb3hJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9ib3gnKSk7XG5jb25zdCBHZWFySWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvZ2VhcicpKTtcbmNvbnN0IExpc3RXaXRoU2VhcmNoSWNvbiA9IGxhenkoXG4gICgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL2xpc3Qtd2l0aC1zZWFyY2gnKVxuKTtcblxudHlwZSBJY29uUHJvcHMgPSBQYXJhbWV0ZXJzPHR5cGVvZiBCYWNrSWNvbj5bMF07XG50eXBlIEljb25Td2l0Y2hlclByb3BzID0geyBpY29uOiBzdHJpbmcgfSAmIEljb25Qcm9wcztcbi8vIFRoZSBpY29uIGlzIGV4cGVjdGVkIHRvIGJlIHRoZSBgc3ZnYCBkb2N1bWVudCBhcyBhIHN0cmluZy5cbi8vIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBwdXJwb3Nlcywgd2Ugc3RpbGwgc3VwcG9ydCB0aGUgbGVnYWN5IFwiaWNvbiBuYW1lXCIsXG4vLyB3aGljaCB3ZSB0aGVuIG1hcCB0byBvbmUgb2YgdGhlIHByZS1kZWZpbmVkIGljb25zLlxuLy8gRXZlbnR1YWxseSwgd2Ugd2FudCB0byBnZXQgcmlkIG9mIHRoaXMgXCJzd2l0Y2hcIiBsb2dpYy5cbmNvbnN0IEljb25Td2l0Y2hlciA9ICh7IGljb24sIC4uLmljb25Qcm9wcyB9OiBJY29uU3dpdGNoZXJQcm9wcykgPT4ge1xuICBpZiAoaWNvbi5pbmNsdWRlcygnPHN2ZycpKSB7XG4gICAgcmV0dXJuIDxJbmxpbmVTdmcgZGF0YT17aWNvbn0gey4uLmljb25Qcm9wc30gLz47XG4gIH1cbiAgLy8gQmFja3dhcmRzIGNvbXBhdGliaWxpdHkgZm9yIGFwcHMgdXNpbmcgdGhlIFwiaWNvbiBuYW1lXCIuXG4gIHN3aXRjaCAoaWNvbikge1xuICAgIC8vIExlZ2FjeSBhcHBsaWNhdGlvbiBpY29uc1xuICAgIC8vIFRPRE86IFRvIGJlIHJlbW92ZWQgb25jZSBNQyBhcHBsaWNhdGlvbnMgaWNvbnMgdXBkYXRlcyBhcmUgcHVibGlzaGVkXG4gICAgY2FzZSAnVHJlZVN0cnVjdHVyZUljb24nOlxuICAgICAgcmV0dXJuIDxUcmVlU3RydWN0dXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdVc2VyRmlsbGVkSWNvbic6XG4gICAgICByZXR1cm4gPFVzZXJGaWxsZWRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1NwZWVkb21ldGVySWNvbic6XG4gICAgICByZXR1cm4gPFNwZWVkb21ldGVySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdUYWdNdWx0aUljb24nOlxuICAgICAgcmV0dXJuIDxUYWdNdWx0aUljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnQ2FydEljb24nOlxuICAgICAgcmV0dXJuIDxDYXJ0SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdCb3hJY29uJzpcbiAgICAgIHJldHVybiA8Qm94SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdHZWFySWNvbic6XG4gICAgICByZXR1cm4gPEdlYXJJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ0xpc3RXaXRoU2VhcmNoSWNvbic6XG4gICAgICByZXR1cm4gPExpc3RXaXRoU2VhcmNoSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcblxuICAgIC8vIEN1c3RvbSBhcHBsaWNhdGlvbiBpY29ucyBzZXRcbiAgICBjYXNlICdIZWFydEljb24nOlxuICAgICAgcmV0dXJuIDxIZWFydEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUGFwZXJjbGlwSWNvbic6XG4gICAgICByZXR1cm4gPFBhcGVyY2xpcEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUGx1Z2luSWNvbic6XG4gICAgICByZXR1cm4gPFBsdWdpbkljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUm9ja2V0SWNvbic6XG4gICAgICByZXR1cm4gPFJvY2tldEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnU3Rhckljb24nOlxuICAgICAgcmV0dXJuIDxTdGFySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdDb25uZWN0ZWRTcXVhcmVJY29uJzpcbiAgICAgIHJldHVybiA8Q29ubmVjdGVkU3F1YXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICAvLyBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcbiAgICBjYXNlICdXb3JsZEljb24nOlxuICAgICAgcmV0dXJuIDxXb3JsZEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiA8aW1nIHNyYz17TWlzc2luZ0ltYWdlU3ZnfSBhbHQ9XCJtaXNzaW5nIGljb25cIiAvPjtcbiAgfVxufTtcbkljb25Td2l0Y2hlci5kaXNwbGF5TmFtZSA9ICdJY29uU3dpdGNoZXInO1xuXG50eXBlIE1lbnVFeHBhbmRlclByb3BzID0ge1xuICBpc1Zpc2libGU6IGJvb2xlYW47XG4gIG9uQ2xpY2s6IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50PjtcbiAgaXNNZW51T3BlbjogYm9vbGVhbjtcbn07XG5cbmNvbnN0IGdldEljb24gPSAoeyBpc01lbnVPcGVuIH06IE1lbnVFeHBhbmRlclByb3BzKSA9PiB7XG4gIGNvbnN0IEljb24gPSBpc01lbnVPcGVuID8gU2lkZWJhckNvbGxhcHNlSWNvbiA6IFNpZGViYXJFeHBhbmRJY29uO1xuICByZXR1cm4gPEljb24gY29sb3I9XCJzdXJmYWNlXCIgc2l6ZT1cImJpZ1wiIC8+O1xufTtcblxuY29uc3QgTWVudUV4cGFuZGVyID0gKHByb3BzOiBNZW51RXhwYW5kZXJQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxsaVxuICAgICAga2V5PVwiZXhwYW5kZXJcIlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKHN0eWxlc1snbGlzdC1pdGVtJ10sIHN0eWxlcy5leHBhbmRlciwge1xuICAgICAgICBbc3R5bGVzLmhpZGRlbl06ICFwcm9wcy5pc1Zpc2libGUsXG4gICAgICB9KX1cbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIG9uQ2xpY2s9e3Byb3BzLm9uQ2xpY2t9XG4gICAgICAgIGNsYXNzTmFtZT17c3R5bGVzWydleHBhbmQtaWNvbiddfVxuICAgICAgICBkYXRhLXRlc3RpZD1cIm1lbnUtZXhwYW5kZXJcIlxuICAgICAgPlxuICAgICAgICB7Z2V0SWNvbihwcm9wcyl9XG4gICAgICA8L2Rpdj5cbiAgICA8L2xpPlxuICApO1xufTtcbk1lbnVFeHBhbmRlci5kaXNwbGF5TmFtZSA9ICdNZW51RXhwYW5kZXInO1xuXG5jb25zdCBGYWRlZCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgwLCAxNTMsIDEzNSwgMCkgMCUsICMwMGIzOWUgMTAwJSk7XG4gIHotaW5kZXg6IDE7XG5gO1xuXG50eXBlIE1lbnVHcm91cFByb3BzID0ge1xuICBpZDogc3RyaW5nO1xuICBsZXZlbDogMSB8IDI7XG4gIGlzQWN0aXZlPzogYm9vbGVhbjtcbiAgaXNFeHBhbmRlZD86IGJvb2xlYW47XG4gIGhhc1N1Ym1lbnU/OiBib29sZWFuO1xuICBjaGlsZHJlbj86IFJlYWN0Tm9kZTtcbiAgc3VibWVudVZlcnRpY2FsUG9zaXRpb24/OiBudW1iZXI7XG4gIGlzU3VibWVudUFib3ZlTWVudUl0ZW0/OiBib29sZWFuO1xufTtcblxuY29uc3QgZ2V0U3VibWVudVBvc2l0aW9uQmFzZWRPbk1lbnVJdGVtUG9zaXRpb24gPSAoXG4gIGlzU3VibWVudUFib3ZlTWVudUl0ZW0/OiBib29sZWFuLFxuICBzdWJtZW51VmVydGljYWxQb3NpdGlvbj86IG51bWJlclxuKSA9PiBjc3NgXG4gICR7aXNTdWJtZW51QWJvdmVNZW51SXRlbSA/ICdib3R0b20nIDogJ3RvcCd9OiAke3N1Ym1lbnVWZXJ0aWNhbFBvc2l0aW9ufXB4XG5gO1xuXG5jb25zdCBnZXRDb250YWluZXJQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uID0gKFxuICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtPzogYm9vbGVhbixcbiAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZD86IGJvb2xlYW4sXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkPzogYm9vbGVhblxuKSA9PiBbXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmXG4gICAgY3NzYFxuICAgICAgJHtpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtXG4gICAgICAgID8gJ2JvdHRvbSdcbiAgICAgICAgOiAndG9wJ306IC0ke0RJTUVOU0lPTlMubmF2TWVudUl0ZW1IZWlnaHR9O1xuICAgIGAsXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgJiZcbiAgICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtICYmXG4gICAgY3NzYFxuICAgICAgYm90dG9tOiAwO1xuICAgIGAsXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgJiZcbiAgICAhaXNTdWJtZW51QWJvdmVNZW51SXRlbSAmJlxuICAgIGNzc2BcbiAgICAgIHRvcDogMDtcbiAgICBgLFxuXTtcblxuY29uc3QgTWVudUdyb3VwID0gZm9yd2FyZFJlZjxIVE1MVUxpc3RFbGVtZW50LCBNZW51R3JvdXBQcm9wcz4oKHByb3BzLCByZWYpID0+IHtcbiAgaWYgKFxuICAgIHByb3BzLmlzRXhwYW5kZWQgJiZcbiAgICAoKHByb3BzLmxldmVsID09PSAyICYmICFwcm9wcy5oYXNTdWJtZW51KSB8fFxuICAgICAgKHByb3BzLmxldmVsID09PSAyICYmICFwcm9wcy5pc0FjdGl2ZSkpXG4gICkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGNvbnN0IGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgPVxuICAgIHByb3BzLmxldmVsID09PSAyICYmIHByb3BzLmlzQWN0aXZlICYmIHByb3BzLmlzRXhwYW5kZWQ7XG4gIGNvbnN0IGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkID1cbiAgICBwcm9wcy5sZXZlbCA9PT0gMiAmJiBwcm9wcy5pc0FjdGl2ZSAmJiAhcHJvcHMuaXNFeHBhbmRlZDtcbiAgcmV0dXJuIChcbiAgICA8dWxcbiAgICAgIHJlZj17cmVmICYmIHByb3BzLmxldmVsID09PSAyID8gcmVmIDogbnVsbH1cbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICAke2dldFN1Ym1lbnVQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uKFxuICAgICAgICAgIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgICAgcHJvcHMuc3VibWVudVZlcnRpY2FsUG9zaXRpb25cbiAgICAgICAgKX07XG4gICAgICBcbiAgICAgIC8vIHByZXZlbnQgZ2xpdGNoeSBiZWhhdmlvciBkdXJpbmcgdGhlIGluaXRpYWwgcmVuZGVyIHdoZW4gdGhlIHN1Ym1lbnUncyB2ZXJ0aWNhbCBwb3NpdGlvbiBpcyBldmFsdWF0ZWQgYXMgMFxuICAgICAgJHtcbiAgICAgICAgcHJvcHMuc3VibWVudVZlcnRpY2FsUG9zaXRpb24gPT09IDAgJiZcbiAgICAgICAgY3NzYFxuICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgYFxuICAgICAgfVxuXG4gICAgICAgIC8vIGFkZGl0aW9uYWwgc3R5bGluZyBvZiB0aGUgcHNldWRvLWVsZW1lbnQgZW5hYmxpbmcgc21vb3RoIGNvdXJzb3IgbW92ZW1lbnRcbiAgICAgICAgOjpiZWZvcmUge1xuICAgICAgICAgICR7Z2V0Q29udGFpbmVyUG9zaXRpb25CYXNlZE9uTWVudUl0ZW1Qb3NpdGlvbihcbiAgICAgICAgICAgIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkLFxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWRcbiAgICAgICAgICApfVxuICAgICAgYH1cbiAgICAgIGlkPXtgZ3JvdXAtJHtwcm9wcy5pZH1gfVxuICAgICAgZGF0YS10ZXN0aWQ9e2Bncm91cC0ke3Byb3BzLmlkfWB9XG4gICAgICByb2xlPVwibWVudVwiXG4gICAgICBhcmlhLWV4cGFuZGVkPXtcbiAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCB8fFxuICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZFxuICAgICAgfVxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKFxuICAgICAgICB7IFtzdHlsZXMubGlzdF06IHByb3BzLmxldmVsID09PSAxIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0J11dOiBwcm9wcy5sZXZlbCA9PT0gMixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtZXhwYW5kZWRfX2FjdGl2ZSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0LWNvbGxhcHNlZF9fZW1wdHknXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCAmJiAhcHJvcHMuaGFzU3VibWVudSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtY29sbGFwc2VkX19hY3RpdmUnXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCAmJlxuICAgICAgICAgICAgIXByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0LWNvbGxhcHNlZF9fYWN0aXZlX19hYm92ZSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzLnN1Ymxpc3RfX2luYWN0aXZlXTogIWlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkLFxuICAgICAgICB9XG4gICAgICApfVxuICAgID5cbiAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICA8L3VsPlxuICApO1xufSk7XG5NZW51R3JvdXAuZGlzcGxheU5hbWUgPSAnTWVudUdyb3VwJztcblxudHlwZSBNZW51SXRlbVByb3BzID0ge1xuICBoYXNTdWJtZW51OiBib29sZWFuO1xuICBpc0FjdGl2ZTogYm9vbGVhbjtcbiAgaXNNYWluTWVudVJvdXRlQWN0aXZlPzogYm9vbGVhbjtcbiAgaXNNZW51T3BlbjogYm9vbGVhbjtcbiAgb25DbGljazogTW91c2VFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+O1xuICBvbk1vdXNlRW50ZXI/OiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD47XG4gIG9uTW91c2VMZWF2ZT86IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50PjtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgaWRlbnRpZmllcj86IHN0cmluZztcbn07XG5jb25zdCBNZW51SXRlbSA9IChwcm9wczogTWVudUl0ZW1Qcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxsaVxuICAgICAgcm9sZT1cIm1lbnVpdGVtXCJcbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcyhzdHlsZXNbJ2xpc3QtaXRlbSddLCB7XG4gICAgICAgIFtzdHlsZXMuaXRlbV9fYWN0aXZlXTogcHJvcHMuaXNBY3RpdmUsXG4gICAgICAgIFtzdHlsZXNbJ2l0ZW1fbWVudV9fYWN0aXZlJ11dOiBwcm9wcy5pc01haW5NZW51Um91dGVBY3RpdmUgPz8gZmFsc2UsXG4gICAgICAgIFtzdHlsZXNbJ2l0ZW1fbWVudS1jb2xsYXBzZWQnXV06ICFwcm9wcy5pc01lbnVPcGVuLFxuICAgICAgfSl9XG4gICAgICBvbkNsaWNrPXtwcm9wcy5vbkNsaWNrfVxuICAgICAgb25Nb3VzZUVudGVyPXtwcm9wcy5vbk1vdXNlRW50ZXJ9XG4gICAgICBvbk1vdXNlTGVhdmU9e3Byb3BzLm9uTW91c2VMZWF2ZX1cbiAgICAgIGRhdGEtbWVudWl0ZW09e3Byb3BzLmlkZW50aWZpZXJ9XG4gICAgPlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaXRlbS1saW5rJ119Pntwcm9wcy5jaGlsZHJlbn08L2Rpdj5cbiAgICA8L2xpPlxuICApO1xufTtcblxuTWVudUl0ZW0uZGlzcGxheU5hbWUgPSAnTWVudUl0ZW0nO1xuXG5leHBvcnQgdHlwZSBNZW51SXRlbUxpbmtQcm9wcyA9IHtcbiAgbGlua1RvPzogc3RyaW5nO1xuICBleGFjdE1hdGNoOiBib29sZWFuO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBvbkNsaWNrPzogKGV2ZW50OiBTeW50aGV0aWNFdmVudDxIVE1MQW5jaG9yRWxlbWVudD4pID0+IHZvaWQ7XG4gIHVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rcz86IGJvb2xlYW47XG4gIGlzU3VibWVudUxpbms/OiBib29sZWFuO1xufTtcbmNvbnN0IG1lbnVJdGVtTGlua0RlZmF1bHRQcm9wczogUGljazxNZW51SXRlbUxpbmtQcm9wcywgJ2V4YWN0TWF0Y2gnPiA9IHtcbiAgZXhhY3RNYXRjaDogZmFsc2UsXG59O1xuY29uc3QgTmF2TGlua1dyYXBwZXIgPSAocHJvcHM6IE1lbnVJdGVtTGlua1Byb3BzKSA9PiB7XG4gIGlmIChwcm9wcy5pc1N1Ym1lbnVMaW5rKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ3RleHQtbGluay1zdWJsaXN0LXdyYXBwZXInXX0+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5jb25zdCBOYXZMaW5rQ2xpY2thYmxlQ29udGVudFdyYXBwZXIgPSAocHJvcHM6IE1lbnVJdGVtTGlua1Byb3BzKSA9PiB7XG4gIGlmIChwcm9wcy5pc1N1Ym1lbnVMaW5rKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ25hdmxpbmstY2xpY2thYmxlLWNvbnRlbnQnXX0+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5cbmNvbnN0IE1lbnVJdGVtTGluayA9IChwcm9wczogTWVudUl0ZW1MaW5rUHJvcHMpID0+IHtcbiAgY29uc3QgcmVkaXJlY3RUbyA9ICh0YXJnZXRVcmw6IHN0cmluZykgPT4gbG9jYXRpb24ucmVwbGFjZSh0YXJnZXRVcmwpO1xuICBpZiAocHJvcHMubGlua1RvKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxOYXZMaW5rV3JhcHBlciB7Li4ucHJvcHN9PlxuICAgICAgICA8TmF2TGlua1xuICAgICAgICAgIHRvPXtwcm9wcy5saW5rVG99XG4gICAgICAgICAgZXhhY3Q9e3Byb3BzLmV4YWN0TWF0Y2h9XG4gICAgICAgICAgYWN0aXZlQ2xhc3NOYW1lPXtzdHlsZXMuaGlnaGxpZ2h0ZWR9XG4gICAgICAgICAgY2xhc3NOYW1lPXtcbiAgICAgICAgICAgIHByb3BzLmlzU3VibWVudUxpbmtcbiAgICAgICAgICAgICAgPyBzdHlsZXNbJ3RleHQtbGluay1zdWJsaXN0J11cbiAgICAgICAgICAgICAgOiBzdHlsZXNbJ3RleHQtbGluayddXG4gICAgICAgICAgfVxuICAgICAgICAgIG9uQ2xpY2s9eyhldmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKHByb3BzLmxpbmtUbyAmJiBwcm9wcy51c2VGdWxsUmVkaXJlY3RzRm9yTGlua3MpIHtcbiAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgcmVkaXJlY3RUbyhwcm9wcy5saW5rVG8pO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChwcm9wcy5vbkNsaWNrKSB7XG4gICAgICAgICAgICAgIGV2ZW50LnBlcnNpc3QoKTtcbiAgICAgICAgICAgICAgcHJvcHMub25DbGljayhldmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxOYXZMaW5rQ2xpY2thYmxlQ29udGVudFdyYXBwZXIgey4uLnByb3BzfT5cbiAgICAgICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgICAgICA8L05hdkxpbmtDbGlja2FibGVDb250ZW50V3JhcHBlcj5cbiAgICAgICAgPC9OYXZMaW5rPlxuICAgICAgPC9OYXZMaW5rV3JhcHBlcj5cbiAgICApO1xuICB9XG4gIHJldHVybiA8Pntwcm9wcy5jaGlsZHJlbn08Lz47XG59O1xuTWVudUl0ZW1MaW5rLmRpc3BsYXlOYW1lID0gJ01lbnVJdGVtTGluayc7XG5NZW51SXRlbUxpbmsuZGVmYXVsdFByb3BzID0gbWVudUl0ZW1MaW5rRGVmYXVsdFByb3BzO1xuXG5jb25zdCBpc0V2ZXJ5TWVudVZpc2liaWxpdHlTZXRUb0hpZGRlbiA9IChcbiAgbWVudVZpc2liaWxpdGllcz86IFROb3JtYWxpemVkTWVudVZpc2liaWxpdGllcyB8IG51bGwsXG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPzogc3RyaW5nW11cbikgPT5cbiAgQXJyYXkuaXNBcnJheShuYW1lc09mTWVudVZpc2liaWxpdGllcykgJiZcbiAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXMubGVuZ3RoID4gMCAmJlxuICBuYW1lc09mTWVudVZpc2liaWxpdGllcy5ldmVyeShcbiAgICAobmFtZU9mTWVudVZpc2liaWxpdHkpID0+XG4gICAgICBtZW51VmlzaWJpbGl0aWVzICYmIG1lbnVWaXNpYmlsaXRpZXNbbmFtZU9mTWVudVZpc2liaWxpdHldID09PSB0cnVlXG4gICk7XG5cbnR5cGUgUmVzdHJpY3RlZE1lbnVJdGVtUHJvcHMgPSB7XG4gIGZlYXR1cmVUb2dnbGU/OiBzdHJpbmc7XG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPzogc3RyaW5nW107XG4gIHByb2plY3RQZXJtaXNzaW9uczogVFByb2plY3RQZXJtaXNzaW9ucztcbiAgbWVudVZpc2liaWxpdGllczogVE5vcm1hbGl6ZWRNZW51VmlzaWJpbGl0aWVzIHwgbnVsbDtcbiAga2V5T2ZNZW51SXRlbTogc3RyaW5nO1xuICBwZXJtaXNzaW9uczogc3RyaW5nW107XG4gIGFjdGlvblJpZ2h0cz86IFRBY3Rpb25SaWdodFtdO1xuICBkYXRhRmVuY2VzPzogVERhdGFGZW5jZVtdO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xufTtcbnR5cGUgVExvbmdMaXZlZEZsYWcgPSB7XG4gIHZhbHVlOiBib29sZWFuO1xuICByZWFzb24/OiBzdHJpbmc7XG59O1xuY29uc3QgcmVzdHJpY3RlZE1lbnVJdGVtRGVmYXVsdFByb3BzOiBQaWNrPFxuICBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcyxcbiAgJ3Blcm1pc3Npb25zJ1xuPiA9IHtcbiAgcGVybWlzc2lvbnM6IFtdLFxufTtcbmZ1bmN0aW9uIGlzTG9uZ0xpdmVkRmxhZyhcbiAgZmxhZzogVEZsYWdWYXJpYXRpb24gfCBUTG9uZ0xpdmVkRmxhZ1xuKTogZmxhZyBpcyBUTG9uZ0xpdmVkRmxhZyB7XG4gIHJldHVybiB0eXBlb2YgKGZsYWcgYXMgVExvbmdMaXZlZEZsYWcpPy52YWx1ZSA9PT0gJ2Jvb2xlYW4nO1xufVxuY29uc3QgUmVzdHJpY3RlZE1lbnVJdGVtID0gKHByb3BzOiBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcykgPT4ge1xuICAvLyBOT1RFOiBDdXN0b20gYXBwbGljYXRpb24gYXJlIGFjdGl2YXRlZC9kZWFjdGl2YXRlZCB3aGlsZSB0aGVpclxuICAvLyB2aXNpYmlsaXR5IGlzIG5vdCBjb250cm9sbGVkIHZpYSBhIHZpc2liaWlsaXR5IG92ZXJ3cml0ZS5cbiAgY29uc3QgZmxhZ1ZhcmlhdGlvbiA9IHVzZUZsYWdWYXJpYXRpb24ocHJvcHMuZmVhdHVyZVRvZ2dsZSk7XG4gIGlmIChcbiAgICBpc0V2ZXJ5TWVudVZpc2liaWxpdHlTZXRUb0hpZGRlbihcbiAgICAgIHByb3BzLm1lbnVWaXNpYmlsaXRpZXMsXG4gICAgICBwcm9wcy5uYW1lc09mTWVudVZpc2liaWxpdGllc1xuICAgIClcbiAgKVxuICAgIHJldHVybiBudWxsO1xuXG4gIGNvbnN0IHBlcm1pc3Npb25zV3JhcHBlciA9XG4gICAgKEFycmF5LmlzQXJyYXkocHJvcHMucGVybWlzc2lvbnMpICYmIHByb3BzLnBlcm1pc3Npb25zLmxlbmd0aCA+IDApIHx8XG4gICAgKEFycmF5LmlzQXJyYXkocHJvcHMuZGF0YUZlbmNlcykgJiYgcHJvcHMuZGF0YUZlbmNlcy5sZW5ndGggPiAwKSA/IChcbiAgICAgIDxSZXN0cmljdGVkQnlQZXJtaXNzaW9uc1xuICAgICAgICBwZXJtaXNzaW9ucz17cHJvcHMucGVybWlzc2lvbnN9XG4gICAgICAgIGFjdGlvblJpZ2h0cz17cHJvcHMuYWN0aW9uUmlnaHRzfVxuICAgICAgICBkYXRhRmVuY2VzPXtwcm9wcy5kYXRhRmVuY2VzfVxuICAgICAgICBzZWxlY3REYXRhRmVuY2VEYXRhPXsoZGVtYW5kZWREYXRhRmVuY2UpID0+IHtcbiAgICAgICAgICBzd2l0Y2ggKGRlbWFuZGVkRGF0YUZlbmNlLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ3N0b3JlJzpcbiAgICAgICAgICAgICAgcmV0dXJuIGRlbWFuZGVkRGF0YUZlbmNlLmFjdHVhbERhdGFGZW5jZVZhbHVlcztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfX1cbiAgICAgICAgLy8gQWx3YXlzIGNoZWNrIHRoYXQgc29tZSBvZiB0aGUgZ2l2ZW4gcGVybWlzc2lvbnMgbWF0Y2guXG4gICAgICAgIHNob3VsZE1hdGNoU29tZVBlcm1pc3Npb25zPXt0cnVlfVxuICAgICAgICBwcm9qZWN0UGVybWlzc2lvbnM9e3Byb3BzLnByb2plY3RQZXJtaXNzaW9uc31cbiAgICAgID5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9SZXN0cmljdGVkQnlQZXJtaXNzaW9ucz5cbiAgICApIDogKFxuICAgICAgPD57cHJvcHMuY2hpbGRyZW59PC8+XG4gICAgKTtcblxuICBpZiAocHJvcHMuZmVhdHVyZVRvZ2dsZSkge1xuICAgIC8vIEEgcmVndWxhciBzaG9ydC1saXZlZCBmZWF0dXJlIHRvZ2dsZVxuICAgIGlmIChmbGFnVmFyaWF0aW9uID09PSB0cnVlKSByZXR1cm4gcGVybWlzc2lvbnNXcmFwcGVyO1xuICAgIC8vIEEgbG9uZy1saXZlZCBmZWF0dXJlIHRvZ2dsZSB3aXRoIGB7IHZhbHVlOiBib29sZWFuLCBzdHJpbmc6IHJlYXNvbiB9YFxuICAgIGlmIChpc0xvbmdMaXZlZEZsYWcoZmxhZ1ZhcmlhdGlvbikgJiYgZmxhZ1ZhcmlhdGlvbi52YWx1ZSA9PT0gdHJ1ZSlcbiAgICAgIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG59O1xuUmVzdHJpY3RlZE1lbnVJdGVtLmRpc3BsYXlOYW1lID0gJ1Jlc3RyaWN0ZWRNZW51SXRlbSc7XG5SZXN0cmljdGVkTWVudUl0ZW0uZGVmYXVsdFByb3BzID0gcmVzdHJpY3RlZE1lbnVJdGVtRGVmYXVsdFByb3BzO1xuXG50eXBlIE1lbnVMYWJlbFByb3BzID0ge1xuICBsYWJlbEFsbExvY2FsZXM6IFRMb2NhbGl6ZWRGaWVsZFtdO1xuICBkZWZhdWx0TGFiZWw/OiBzdHJpbmc7XG4gIGFwcGxpY2F0aW9uTG9jYWxlOiBzdHJpbmc7XG59O1xuY29uc3QgTWVudUxhYmVsID0gKHByb3BzOiBNZW51TGFiZWxQcm9wcykgPT4ge1xuICBjb25zdCBsb2NhbGl6ZWRMYWJlbCA9IHByb3BzLmxhYmVsQWxsTG9jYWxlcy5maW5kKChsb2MpID0+XG4gICAgcHJvcHMuYXBwbGljYXRpb25Mb2NhbGUuc3RhcnRzV2l0aChsb2MubG9jYWxlKVxuICApO1xuICBpZiAobG9jYWxpemVkTGFiZWwpIHJldHVybiA8Pntsb2NhbGl6ZWRMYWJlbC52YWx1ZX08Lz47XG4gIGlmIChwcm9wcy5kZWZhdWx0TGFiZWwpIHJldHVybiA8Pntwcm9wcy5kZWZhdWx0TGFiZWx9PC8+O1xuICByZXR1cm4gPD57Tk9fVkFMVUVfRkFMTEJBQ0t9PC8+O1xufTtcblxudHlwZSBUTmF2QmFyTGF5b3V0UHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59O1xuY29uc3QgTmF2QmFyTGF5b3V0ID0gZm9yd2FyZFJlZjxIVE1MRWxlbWVudCwgVE5hdkJhckxheW91dFByb3BzPihcbiAgKHByb3BzLCByZWYpID0+IChcbiAgICA8PlxuICAgICAgPEdsb2JhbFxuICAgICAgICBzdHlsZXM9e2Nzc2BcbiAgICAgICAgICAke2NvbXBpbGVkU3R5bGVzLmdsb2JhbH1cbiAgICAgICAgYH1cbiAgICAgIC8+XG4gICAgICA8bmF2XG4gICAgICAgIHJlZj17cmVmfVxuICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1snbGVmdC1uYXZpZ2F0aW9uJ119XG4gICAgICAgIGRhdGEtdGVzdD1cImxlZnQtbmF2aWdhdGlvblwiXG4gICAgICAgIGRhdGEtdGVzdGlkPVwibGVmdC1uYXZpZ2F0aW9uXCJcbiAgICAgID5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9uYXY+XG4gICAgPC8+XG4gIClcbik7XG5OYXZCYXJMYXlvdXQuZGlzcGxheU5hbWUgPSAnTmF2QmFyTGF5b3V0JztcblxudHlwZSBJdGVtQ29udGFpbmVyUHJvcHMgPSB7XG4gIGxhYmVsQWxsTG9jYWxlczogVExvY2FsaXplZEZpZWxkW107XG4gIGRlZmF1bHRMYWJlbD86IHN0cmluZztcbiAgYXBwbGljYXRpb25Mb2NhbGU6IHN0cmluZztcbiAgaWNvbjogc3RyaW5nO1xuICBpc01lbnVPcGVuPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IEl0ZW1Db250YWluZXIgPSAocHJvcHM6IEl0ZW1Db250YWluZXJQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2l0ZW0taWNvbi10ZXh0J119PlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaWNvbi1jb250YWluZXInXX0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMuaWNvbn0+XG4gICAgICAgICAgPEljb25Td2l0Y2hlciBpY29uPXtwcm9wcy5pY29ufSBzaXplPVwic2NhbGVcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAge3Byb3BzLmlzTWVudU9wZW4gPyAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMudGl0bGV9PlxuICAgICAgICAgIDxNZW51TGFiZWxcbiAgICAgICAgICAgIGxhYmVsQWxsTG9jYWxlcz17cHJvcHMubGFiZWxBbGxMb2NhbGVzfVxuICAgICAgICAgICAgZGVmYXVsdExhYmVsPXtwcm9wcy5kZWZhdWx0TGFiZWx9XG4gICAgICAgICAgICBhcHBsaWNhdGlvbkxvY2FsZT17cHJvcHMuYXBwbGljYXRpb25Mb2NhbGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApIDogbnVsbH1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbkl0ZW1Db250YWluZXIuZGlzcGxheU5hbWUgPSAnSXRlbUNvbnRhaW5lcic7XG5cbmV4cG9ydCB7XG4gIFJlc3RyaWN0ZWRNZW51SXRlbSxcbiAgTWVudUl0ZW0sXG4gIE1lbnVJdGVtTGluayxcbiAgSWNvblN3aXRjaGVyLFxuICBNZW51R3JvdXAsXG4gIE1lbnVMYWJlbCxcbiAgTWVudUV4cGFuZGVyLFxuICBGYWRlZCxcbiAgTmF2QmFyTGF5b3V0LFxuICBJdGVtQ29udGFpbmVyLFxufTtcbiJdfQ== */"), isSublistActiveWhileIsMenuExpanded && isSubmenuAboveMenuItem && _ref3, isSublistActiveWhileIsMenuExpanded && !isSubmenuAboveMenuItem && _ref2];
493
+ var _ref = process.env.NODE_ENV === "production" ? {
494
+ name: "6dhm9o",
495
+ styles: "visibility:hidden"
496
+ } : {
497
+ name: "1nk9wny-MenuGroup",
498
+ styles: "visibility:hidden;label:MenuGroup;",
499
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1lbnUtaXRlbXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdPVyIsImZpbGUiOiJtZW51LWl0ZW1zLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGZvcndhcmRSZWYsXG4gIGxhenksXG4gIE1vdXNlRXZlbnRIYW5kbGVyLFxuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdHlwZSBTeW50aGV0aWNFdmVudCxcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgR2xvYmFsLCBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3JlYWN0LWJyb2FkY2FzdCc7XG5pbXBvcnQgdHlwZSB7IFRGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3R5cGVzJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgTmF2TGluayB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHR5cGUge1xuICBUTm9ybWFsaXplZE1lbnVWaXNpYmlsaXRpZXMsXG4gIFROb3JtYWxpemVkUGVybWlzc2lvbnMsXG4gIFROb3JtYWxpemVkQWN0aW9uUmlnaHRzLFxuICBUTm9ybWFsaXplZERhdGFGZW5jZXMsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnO1xuaW1wb3J0IE1pc3NpbmdJbWFnZVN2ZyBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hc3NldHMvaW1hZ2VzL2RpYWdvbmFsLWxpbmUuc3ZnJztcbmltcG9ydCB7IE5PX1ZBTFVFX0ZBTExCQUNLIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvY29uc3RhbnRzJztcbmltcG9ydCB7IFJlc3RyaWN0ZWRCeVBlcm1pc3Npb25zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvcGVybWlzc2lvbnMnO1xuaW1wb3J0IHtcbiAgQmFja0ljb24sXG4gIFNpZGViYXJFeHBhbmRJY29uLFxuICBTaWRlYmFyQ29sbGFwc2VJY29uLFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucyc7XG5pbXBvcnQgSW5saW5lU3ZnIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ljb25zL2lubGluZS1zdmcnO1xuaW1wb3J0IHsgRElNRU5TSU9OUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgdHlwZSB7XG4gIFREYXRhRmVuY2UsXG4gIFRBY3Rpb25SaWdodCxcbiAgVExvY2FsaXplZEZpZWxkLFxufSBmcm9tICcuLi8uLi8uLi90eXBlcy9nZW5lcmF0ZWQvcHJveHknO1xuaW1wb3J0IHsgbG9jYXRpb24gfSBmcm9tICcuLi8uLi8uLi91dGlscy9sb2NhdGlvbic7XG4vLyBodHRwczovL2JhYmVsanMuaW8vYmxvZy8yMDE3LzA5LzExL3plcm8tY29uZmlnLXdpdGgtYmFiZWwtbWFjcm9zXG5pbXBvcnQgY29tcGlsZWRTdHlsZXMgZnJvbSAvKiBwcmV2YWwgKi8gJy4vbmF2YmFyLnN0eWxlcyc7XG5cbmNvbnN0IHN0eWxlcyA9IGNvbXBpbGVkU3R5bGVzLmpzb25NYXA7XG5cbnR5cGUgVFByb2plY3RQZXJtaXNzaW9ucyA9IHtcbiAgcGVybWlzc2lvbnM6IFROb3JtYWxpemVkUGVybWlzc2lvbnMgfCBudWxsO1xuICBhY3Rpb25SaWdodHM6IFROb3JtYWxpemVkQWN0aW9uUmlnaHRzIHwgbnVsbDtcbiAgZGF0YUZlbmNlczogVE5vcm1hbGl6ZWREYXRhRmVuY2VzIHwgbnVsbDtcbn07XG5cbmNvbnN0IEhlYXJ0SWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvaGVhcnQnKSk7XG5jb25zdCBQYXBlcmNsaXBJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9wYXBlcmNsaXAnKSk7XG5jb25zdCBQbHVnaW5JY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9wbHVnaW4nKSk7XG5jb25zdCBSb2NrZXRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9yb2NrZXQnKSk7XG5jb25zdCBTdGFySWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvc3RhcicpKTtcbmNvbnN0IENvbm5lY3RlZFNxdWFyZUljb24gPSBsYXp5KFxuICAoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9jb25uZWN0ZWQtc3F1YXJlJylcbik7XG5jb25zdCBXb3JsZEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3dvcmxkJykpO1xuY29uc3QgVHJlZVN0cnVjdHVyZUljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3RyZWUtc3RydWN0dXJlJykpO1xuY29uc3QgVXNlckZpbGxlZEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3VzZXItZmlsbGVkJykpO1xuY29uc3QgU3BlZWRvbWV0ZXJJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9zcGVlZG9tZXRlcicpKTtcbmNvbnN0IFRhZ011bHRpSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvdGFnLW11bHRpJykpO1xuY29uc3QgQ2FydEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL2NhcnQnKSk7XG5jb25zdCBCb3hJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9ib3gnKSk7XG5jb25zdCBHZWFySWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvZ2VhcicpKTtcbmNvbnN0IExpc3RXaXRoU2VhcmNoSWNvbiA9IGxhenkoXG4gICgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL2xpc3Qtd2l0aC1zZWFyY2gnKVxuKTtcblxudHlwZSBJY29uUHJvcHMgPSBQYXJhbWV0ZXJzPHR5cGVvZiBCYWNrSWNvbj5bMF07XG50eXBlIEljb25Td2l0Y2hlclByb3BzID0geyBpY29uOiBzdHJpbmcgfSAmIEljb25Qcm9wcztcbi8vIFRoZSBpY29uIGlzIGV4cGVjdGVkIHRvIGJlIHRoZSBgc3ZnYCBkb2N1bWVudCBhcyBhIHN0cmluZy5cbi8vIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBwdXJwb3Nlcywgd2Ugc3RpbGwgc3VwcG9ydCB0aGUgbGVnYWN5IFwiaWNvbiBuYW1lXCIsXG4vLyB3aGljaCB3ZSB0aGVuIG1hcCB0byBvbmUgb2YgdGhlIHByZS1kZWZpbmVkIGljb25zLlxuLy8gRXZlbnR1YWxseSwgd2Ugd2FudCB0byBnZXQgcmlkIG9mIHRoaXMgXCJzd2l0Y2hcIiBsb2dpYy5cbmNvbnN0IEljb25Td2l0Y2hlciA9ICh7IGljb24sIC4uLmljb25Qcm9wcyB9OiBJY29uU3dpdGNoZXJQcm9wcykgPT4ge1xuICBpZiAoaWNvbi5pbmNsdWRlcygnPHN2ZycpKSB7XG4gICAgcmV0dXJuIDxJbmxpbmVTdmcgZGF0YT17aWNvbn0gey4uLmljb25Qcm9wc30gLz47XG4gIH1cbiAgLy8gQmFja3dhcmRzIGNvbXBhdGliaWxpdHkgZm9yIGFwcHMgdXNpbmcgdGhlIFwiaWNvbiBuYW1lXCIuXG4gIHN3aXRjaCAoaWNvbikge1xuICAgIC8vIExlZ2FjeSBhcHBsaWNhdGlvbiBpY29uc1xuICAgIC8vIFRPRE86IFRvIGJlIHJlbW92ZWQgb25jZSBNQyBhcHBsaWNhdGlvbnMgaWNvbnMgdXBkYXRlcyBhcmUgcHVibGlzaGVkXG4gICAgY2FzZSAnVHJlZVN0cnVjdHVyZUljb24nOlxuICAgICAgcmV0dXJuIDxUcmVlU3RydWN0dXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdVc2VyRmlsbGVkSWNvbic6XG4gICAgICByZXR1cm4gPFVzZXJGaWxsZWRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1NwZWVkb21ldGVySWNvbic6XG4gICAgICByZXR1cm4gPFNwZWVkb21ldGVySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdUYWdNdWx0aUljb24nOlxuICAgICAgcmV0dXJuIDxUYWdNdWx0aUljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnQ2FydEljb24nOlxuICAgICAgcmV0dXJuIDxDYXJ0SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdCb3hJY29uJzpcbiAgICAgIHJldHVybiA8Qm94SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdHZWFySWNvbic6XG4gICAgICByZXR1cm4gPEdlYXJJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ0xpc3RXaXRoU2VhcmNoSWNvbic6XG4gICAgICByZXR1cm4gPExpc3RXaXRoU2VhcmNoSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcblxuICAgIC8vIEN1c3RvbSBhcHBsaWNhdGlvbiBpY29ucyBzZXRcbiAgICBjYXNlICdIZWFydEljb24nOlxuICAgICAgcmV0dXJuIDxIZWFydEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUGFwZXJjbGlwSWNvbic6XG4gICAgICByZXR1cm4gPFBhcGVyY2xpcEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUGx1Z2luSWNvbic6XG4gICAgICByZXR1cm4gPFBsdWdpbkljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUm9ja2V0SWNvbic6XG4gICAgICByZXR1cm4gPFJvY2tldEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnU3Rhckljb24nOlxuICAgICAgcmV0dXJuIDxTdGFySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdDb25uZWN0ZWRTcXVhcmVJY29uJzpcbiAgICAgIHJldHVybiA8Q29ubmVjdGVkU3F1YXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICAvLyBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcbiAgICBjYXNlICdXb3JsZEljb24nOlxuICAgICAgcmV0dXJuIDxXb3JsZEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiA8aW1nIHNyYz17TWlzc2luZ0ltYWdlU3ZnfSBhbHQ9XCJtaXNzaW5nIGljb25cIiAvPjtcbiAgfVxufTtcbkljb25Td2l0Y2hlci5kaXNwbGF5TmFtZSA9ICdJY29uU3dpdGNoZXInO1xuXG50eXBlIE1lbnVFeHBhbmRlclByb3BzID0ge1xuICBpc1Zpc2libGU6IGJvb2xlYW47XG4gIG9uQ2xpY2s6IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50PjtcbiAgaXNNZW51T3BlbjogYm9vbGVhbjtcbn07XG5cbmNvbnN0IGdldEljb24gPSAoeyBpc01lbnVPcGVuIH06IE1lbnVFeHBhbmRlclByb3BzKSA9PiB7XG4gIGNvbnN0IEljb24gPSBpc01lbnVPcGVuID8gU2lkZWJhckNvbGxhcHNlSWNvbiA6IFNpZGViYXJFeHBhbmRJY29uO1xuICByZXR1cm4gPEljb24gY29sb3I9XCJzdXJmYWNlXCIgc2l6ZT1cImJpZ1wiIC8+O1xufTtcblxuY29uc3QgTWVudUV4cGFuZGVyID0gKHByb3BzOiBNZW51RXhwYW5kZXJQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxsaVxuICAgICAga2V5PVwiZXhwYW5kZXJcIlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKHN0eWxlc1snbGlzdC1pdGVtJ10sIHN0eWxlcy5leHBhbmRlciwge1xuICAgICAgICBbc3R5bGVzLmhpZGRlbl06ICFwcm9wcy5pc1Zpc2libGUsXG4gICAgICB9KX1cbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIG9uQ2xpY2s9e3Byb3BzLm9uQ2xpY2t9XG4gICAgICAgIGNsYXNzTmFtZT17c3R5bGVzWydleHBhbmQtaWNvbiddfVxuICAgICAgICBkYXRhLXRlc3RpZD1cIm1lbnUtZXhwYW5kZXJcIlxuICAgICAgPlxuICAgICAgICB7Z2V0SWNvbihwcm9wcyl9XG4gICAgICA8L2Rpdj5cbiAgICA8L2xpPlxuICApO1xufTtcbk1lbnVFeHBhbmRlci5kaXNwbGF5TmFtZSA9ICdNZW51RXhwYW5kZXInO1xuXG5jb25zdCBGYWRlZCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgwLCAxNTMsIDEzNSwgMCkgMCUsICMwMGIzOWUgMTAwJSk7XG4gIHotaW5kZXg6IDE7XG5gO1xuXG50eXBlIE1lbnVHcm91cFByb3BzID0ge1xuICBpZDogc3RyaW5nO1xuICBsZXZlbDogMSB8IDI7XG4gIGlzQWN0aXZlPzogYm9vbGVhbjtcbiAgaXNFeHBhbmRlZD86IGJvb2xlYW47XG4gIGhhc1N1Ym1lbnU/OiBib29sZWFuO1xuICBjaGlsZHJlbj86IFJlYWN0Tm9kZTtcbiAgc3VibWVudVZlcnRpY2FsUG9zaXRpb24/OiBudW1iZXI7XG4gIGlzU3VibWVudUFib3ZlTWVudUl0ZW0/OiBib29sZWFuO1xufTtcblxuY29uc3QgZ2V0U3VibWVudVBvc2l0aW9uQmFzZWRPbk1lbnVJdGVtUG9zaXRpb24gPSAoXG4gIGlzU3VibWVudUFib3ZlTWVudUl0ZW0/OiBib29sZWFuLFxuICBzdWJtZW51VmVydGljYWxQb3NpdGlvbj86IG51bWJlclxuKSA9PiBjc3NgXG4gICR7aXNTdWJtZW51QWJvdmVNZW51SXRlbSA/ICdib3R0b20nIDogJ3RvcCd9OiAke3N1Ym1lbnVWZXJ0aWNhbFBvc2l0aW9ufXB4XG5gO1xuXG5jb25zdCBnZXRDb250YWluZXJQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uID0gKFxuICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtPzogYm9vbGVhbixcbiAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZD86IGJvb2xlYW4sXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkPzogYm9vbGVhblxuKSA9PiBbXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmXG4gICAgY3NzYFxuICAgICAgJHtpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtXG4gICAgICAgID8gJ2JvdHRvbSdcbiAgICAgICAgOiAndG9wJ306IC0ke0RJTUVOU0lPTlMubmF2TWVudUl0ZW1IZWlnaHR9O1xuICAgIGAsXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgJiZcbiAgICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtICYmXG4gICAgY3NzYFxuICAgICAgYm90dG9tOiAwO1xuICAgIGAsXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgJiZcbiAgICAhaXNTdWJtZW51QWJvdmVNZW51SXRlbSAmJlxuICAgIGNzc2BcbiAgICAgIHRvcDogMDtcbiAgICBgLFxuXTtcblxuY29uc3QgTWVudUdyb3VwID0gZm9yd2FyZFJlZjxIVE1MVUxpc3RFbGVtZW50LCBNZW51R3JvdXBQcm9wcz4oKHByb3BzLCByZWYpID0+IHtcbiAgaWYgKFxuICAgIHByb3BzLmlzRXhwYW5kZWQgJiZcbiAgICAoKHByb3BzLmxldmVsID09PSAyICYmICFwcm9wcy5oYXNTdWJtZW51KSB8fFxuICAgICAgKHByb3BzLmxldmVsID09PSAyICYmICFwcm9wcy5pc0FjdGl2ZSkpXG4gICkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGNvbnN0IGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgPVxuICAgIHByb3BzLmxldmVsID09PSAyICYmIHByb3BzLmlzQWN0aXZlICYmIHByb3BzLmlzRXhwYW5kZWQ7XG4gIGNvbnN0IGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkID1cbiAgICBwcm9wcy5sZXZlbCA9PT0gMiAmJiBwcm9wcy5pc0FjdGl2ZSAmJiAhcHJvcHMuaXNFeHBhbmRlZDtcbiAgcmV0dXJuIChcbiAgICA8dWxcbiAgICAgIHJlZj17cmVmICYmIHByb3BzLmxldmVsID09PSAyID8gcmVmIDogbnVsbH1cbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICAke2dldFN1Ym1lbnVQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uKFxuICAgICAgICAgIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgICAgcHJvcHMuc3VibWVudVZlcnRpY2FsUG9zaXRpb25cbiAgICAgICAgKX07XG4gICAgICBcbiAgICAgIC8vIHByZXZlbnQgZ2xpdGNoeSBiZWhhdmlvciBkdXJpbmcgdGhlIGluaXRpYWwgcmVuZGVyIHdoZW4gdGhlIHN1Ym1lbnUncyB2ZXJ0aWNhbCBwb3NpdGlvbiBpcyBldmFsdWF0ZWQgYXMgMFxuICAgICAgJHtcbiAgICAgICAgcHJvcHMuc3VibWVudVZlcnRpY2FsUG9zaXRpb24gPT09IDAgJiZcbiAgICAgICAgY3NzYFxuICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgYFxuICAgICAgfVxuXG4gICAgICAgIC8vIGFkZGl0aW9uYWwgc3R5bGluZyBvZiB0aGUgcHNldWRvLWVsZW1lbnQgZW5hYmxpbmcgc21vb3RoIGNvdXJzb3IgbW92ZW1lbnRcbiAgICAgICAgOjpiZWZvcmUge1xuICAgICAgICAgICR7Z2V0Q29udGFpbmVyUG9zaXRpb25CYXNlZE9uTWVudUl0ZW1Qb3NpdGlvbihcbiAgICAgICAgICAgIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkLFxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWRcbiAgICAgICAgICApfVxuICAgICAgYH1cbiAgICAgIGlkPXtgZ3JvdXAtJHtwcm9wcy5pZH1gfVxuICAgICAgZGF0YS10ZXN0aWQ9e2Bncm91cC0ke3Byb3BzLmlkfWB9XG4gICAgICByb2xlPVwibWVudVwiXG4gICAgICBhcmlhLWV4cGFuZGVkPXtcbiAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCB8fFxuICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZFxuICAgICAgfVxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKFxuICAgICAgICB7IFtzdHlsZXMubGlzdF06IHByb3BzLmxldmVsID09PSAxIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0J11dOiBwcm9wcy5sZXZlbCA9PT0gMixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtZXhwYW5kZWRfX2FjdGl2ZSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0LWNvbGxhcHNlZF9fZW1wdHknXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCAmJiAhcHJvcHMuaGFzU3VibWVudSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtY29sbGFwc2VkX19hY3RpdmUnXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCAmJlxuICAgICAgICAgICAgIXByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0LWNvbGxhcHNlZF9fYWN0aXZlX19hYm92ZSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzLnN1Ymxpc3RfX2luYWN0aXZlXTogIWlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkLFxuICAgICAgICB9XG4gICAgICApfVxuICAgID5cbiAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICA8L3VsPlxuICApO1xufSk7XG5NZW51R3JvdXAuZGlzcGxheU5hbWUgPSAnTWVudUdyb3VwJztcblxudHlwZSBNZW51SXRlbVByb3BzID0ge1xuICBoYXNTdWJtZW51OiBib29sZWFuO1xuICBpc0FjdGl2ZTogYm9vbGVhbjtcbiAgaXNNYWluTWVudVJvdXRlQWN0aXZlPzogYm9vbGVhbjtcbiAgaXNNZW51T3BlbjogYm9vbGVhbjtcbiAgb25DbGljazogTW91c2VFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+O1xuICBvbk1vdXNlRW50ZXI/OiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD47XG4gIG9uTW91c2VMZWF2ZT86IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50PjtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgaWRlbnRpZmllcj86IHN0cmluZztcbn07XG5jb25zdCBNZW51SXRlbSA9IChwcm9wczogTWVudUl0ZW1Qcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxsaVxuICAgICAgcm9sZT1cIm1lbnVpdGVtXCJcbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcyhzdHlsZXNbJ2xpc3QtaXRlbSddLCB7XG4gICAgICAgIFtzdHlsZXMuaXRlbV9fYWN0aXZlXTogcHJvcHMuaXNBY3RpdmUsXG4gICAgICAgIFtzdHlsZXNbJ2l0ZW1fbWVudV9fYWN0aXZlJ11dOiBwcm9wcy5pc01haW5NZW51Um91dGVBY3RpdmUgPz8gZmFsc2UsXG4gICAgICAgIFtzdHlsZXNbJ2l0ZW1fbWVudS1jb2xsYXBzZWQnXV06ICFwcm9wcy5pc01lbnVPcGVuLFxuICAgICAgfSl9XG4gICAgICBvbkNsaWNrPXtwcm9wcy5vbkNsaWNrfVxuICAgICAgb25Nb3VzZUVudGVyPXtwcm9wcy5vbk1vdXNlRW50ZXJ9XG4gICAgICBvbk1vdXNlTGVhdmU9e3Byb3BzLm9uTW91c2VMZWF2ZX1cbiAgICAgIGRhdGEtbWVudWl0ZW09e3Byb3BzLmlkZW50aWZpZXJ9XG4gICAgPlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaXRlbS1saW5rJ119Pntwcm9wcy5jaGlsZHJlbn08L2Rpdj5cbiAgICA8L2xpPlxuICApO1xufTtcblxuTWVudUl0ZW0uZGlzcGxheU5hbWUgPSAnTWVudUl0ZW0nO1xuXG5leHBvcnQgdHlwZSBNZW51SXRlbUxpbmtQcm9wcyA9IHtcbiAgbGlua1RvPzogc3RyaW5nO1xuICBleGFjdE1hdGNoOiBib29sZWFuO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBvbkNsaWNrPzogKGV2ZW50OiBTeW50aGV0aWNFdmVudDxIVE1MQW5jaG9yRWxlbWVudD4pID0+IHZvaWQ7XG4gIHVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rcz86IGJvb2xlYW47XG4gIGlzU3VibWVudUxpbms/OiBib29sZWFuO1xufTtcbmNvbnN0IG1lbnVJdGVtTGlua0RlZmF1bHRQcm9wczogUGljazxNZW51SXRlbUxpbmtQcm9wcywgJ2V4YWN0TWF0Y2gnPiA9IHtcbiAgZXhhY3RNYXRjaDogZmFsc2UsXG59O1xuY29uc3QgTmF2TGlua1dyYXBwZXIgPSAocHJvcHM6IE1lbnVJdGVtTGlua1Byb3BzKSA9PiB7XG4gIGlmIChwcm9wcy5pc1N1Ym1lbnVMaW5rKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ3RleHQtbGluay1zdWJsaXN0LXdyYXBwZXInXX0+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5jb25zdCBOYXZMaW5rQ2xpY2thYmxlQ29udGVudFdyYXBwZXIgPSAocHJvcHM6IE1lbnVJdGVtTGlua1Byb3BzKSA9PiB7XG4gIGlmIChwcm9wcy5pc1N1Ym1lbnVMaW5rKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ25hdmxpbmstY2xpY2thYmxlLWNvbnRlbnQnXX0+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5cbmNvbnN0IE1lbnVJdGVtTGluayA9IChwcm9wczogTWVudUl0ZW1MaW5rUHJvcHMpID0+IHtcbiAgY29uc3QgcmVkaXJlY3RUbyA9ICh0YXJnZXRVcmw6IHN0cmluZykgPT4gbG9jYXRpb24ucmVwbGFjZSh0YXJnZXRVcmwpO1xuICBpZiAocHJvcHMubGlua1RvKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxOYXZMaW5rV3JhcHBlciB7Li4ucHJvcHN9PlxuICAgICAgICA8TmF2TGlua1xuICAgICAgICAgIHRvPXtwcm9wcy5saW5rVG99XG4gICAgICAgICAgZXhhY3Q9e3Byb3BzLmV4YWN0TWF0Y2h9XG4gICAgICAgICAgYWN0aXZlQ2xhc3NOYW1lPXtzdHlsZXMuaGlnaGxpZ2h0ZWR9XG4gICAgICAgICAgY2xhc3NOYW1lPXtcbiAgICAgICAgICAgIHByb3BzLmlzU3VibWVudUxpbmtcbiAgICAgICAgICAgICAgPyBzdHlsZXNbJ3RleHQtbGluay1zdWJsaXN0J11cbiAgICAgICAgICAgICAgOiBzdHlsZXNbJ3RleHQtbGluayddXG4gICAgICAgICAgfVxuICAgICAgICAgIG9uQ2xpY2s9eyhldmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKHByb3BzLmxpbmtUbyAmJiBwcm9wcy51c2VGdWxsUmVkaXJlY3RzRm9yTGlua3MpIHtcbiAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgcmVkaXJlY3RUbyhwcm9wcy5saW5rVG8pO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChwcm9wcy5vbkNsaWNrKSB7XG4gICAgICAgICAgICAgIGV2ZW50LnBlcnNpc3QoKTtcbiAgICAgICAgICAgICAgcHJvcHMub25DbGljayhldmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxOYXZMaW5rQ2xpY2thYmxlQ29udGVudFdyYXBwZXIgey4uLnByb3BzfT5cbiAgICAgICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgICAgICA8L05hdkxpbmtDbGlja2FibGVDb250ZW50V3JhcHBlcj5cbiAgICAgICAgPC9OYXZMaW5rPlxuICAgICAgPC9OYXZMaW5rV3JhcHBlcj5cbiAgICApO1xuICB9XG4gIHJldHVybiA8Pntwcm9wcy5jaGlsZHJlbn08Lz47XG59O1xuTWVudUl0ZW1MaW5rLmRpc3BsYXlOYW1lID0gJ01lbnVJdGVtTGluayc7XG5NZW51SXRlbUxpbmsuZGVmYXVsdFByb3BzID0gbWVudUl0ZW1MaW5rRGVmYXVsdFByb3BzO1xuXG5jb25zdCBpc0V2ZXJ5TWVudVZpc2liaWxpdHlTZXRUb0hpZGRlbiA9IChcbiAgbWVudVZpc2liaWxpdGllcz86IFROb3JtYWxpemVkTWVudVZpc2liaWxpdGllcyB8IG51bGwsXG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPzogc3RyaW5nW11cbikgPT5cbiAgQXJyYXkuaXNBcnJheShuYW1lc09mTWVudVZpc2liaWxpdGllcykgJiZcbiAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXMubGVuZ3RoID4gMCAmJlxuICBuYW1lc09mTWVudVZpc2liaWxpdGllcy5ldmVyeShcbiAgICAobmFtZU9mTWVudVZpc2liaWxpdHkpID0+XG4gICAgICBtZW51VmlzaWJpbGl0aWVzICYmIG1lbnVWaXNpYmlsaXRpZXNbbmFtZU9mTWVudVZpc2liaWxpdHldID09PSB0cnVlXG4gICk7XG5cbnR5cGUgUmVzdHJpY3RlZE1lbnVJdGVtUHJvcHMgPSB7XG4gIGZlYXR1cmVUb2dnbGU/OiBzdHJpbmc7XG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPzogc3RyaW5nW107XG4gIHByb2plY3RQZXJtaXNzaW9uczogVFByb2plY3RQZXJtaXNzaW9ucztcbiAgbWVudVZpc2liaWxpdGllczogVE5vcm1hbGl6ZWRNZW51VmlzaWJpbGl0aWVzIHwgbnVsbDtcbiAga2V5T2ZNZW51SXRlbTogc3RyaW5nO1xuICBwZXJtaXNzaW9uczogc3RyaW5nW107XG4gIGFjdGlvblJpZ2h0cz86IFRBY3Rpb25SaWdodFtdO1xuICBkYXRhRmVuY2VzPzogVERhdGFGZW5jZVtdO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xufTtcbnR5cGUgVExvbmdMaXZlZEZsYWcgPSB7XG4gIHZhbHVlOiBib29sZWFuO1xuICByZWFzb24/OiBzdHJpbmc7XG59O1xuY29uc3QgcmVzdHJpY3RlZE1lbnVJdGVtRGVmYXVsdFByb3BzOiBQaWNrPFxuICBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcyxcbiAgJ3Blcm1pc3Npb25zJ1xuPiA9IHtcbiAgcGVybWlzc2lvbnM6IFtdLFxufTtcbmZ1bmN0aW9uIGlzTG9uZ0xpdmVkRmxhZyhcbiAgZmxhZzogVEZsYWdWYXJpYXRpb24gfCBUTG9uZ0xpdmVkRmxhZ1xuKTogZmxhZyBpcyBUTG9uZ0xpdmVkRmxhZyB7XG4gIHJldHVybiB0eXBlb2YgKGZsYWcgYXMgVExvbmdMaXZlZEZsYWcpPy52YWx1ZSA9PT0gJ2Jvb2xlYW4nO1xufVxuY29uc3QgUmVzdHJpY3RlZE1lbnVJdGVtID0gKHByb3BzOiBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcykgPT4ge1xuICAvLyBOT1RFOiBDdXN0b20gYXBwbGljYXRpb24gYXJlIGFjdGl2YXRlZC9kZWFjdGl2YXRlZCB3aGlsZSB0aGVpclxuICAvLyB2aXNpYmlsaXR5IGlzIG5vdCBjb250cm9sbGVkIHZpYSBhIHZpc2liaWlsaXR5IG92ZXJ3cml0ZS5cbiAgY29uc3QgZmxhZ1ZhcmlhdGlvbiA9IHVzZUZsYWdWYXJpYXRpb24ocHJvcHMuZmVhdHVyZVRvZ2dsZSk7XG4gIGlmIChcbiAgICBpc0V2ZXJ5TWVudVZpc2liaWxpdHlTZXRUb0hpZGRlbihcbiAgICAgIHByb3BzLm1lbnVWaXNpYmlsaXRpZXMsXG4gICAgICBwcm9wcy5uYW1lc09mTWVudVZpc2liaWxpdGllc1xuICAgIClcbiAgKVxuICAgIHJldHVybiBudWxsO1xuXG4gIGNvbnN0IHBlcm1pc3Npb25zV3JhcHBlciA9XG4gICAgKEFycmF5LmlzQXJyYXkocHJvcHMucGVybWlzc2lvbnMpICYmIHByb3BzLnBlcm1pc3Npb25zLmxlbmd0aCA+IDApIHx8XG4gICAgKEFycmF5LmlzQXJyYXkocHJvcHMuZGF0YUZlbmNlcykgJiYgcHJvcHMuZGF0YUZlbmNlcy5sZW5ndGggPiAwKSA/IChcbiAgICAgIDxSZXN0cmljdGVkQnlQZXJtaXNzaW9uc1xuICAgICAgICBwZXJtaXNzaW9ucz17cHJvcHMucGVybWlzc2lvbnN9XG4gICAgICAgIGFjdGlvblJpZ2h0cz17cHJvcHMuYWN0aW9uUmlnaHRzfVxuICAgICAgICBkYXRhRmVuY2VzPXtwcm9wcy5kYXRhRmVuY2VzfVxuICAgICAgICBzZWxlY3REYXRhRmVuY2VEYXRhPXsoZGVtYW5kZWREYXRhRmVuY2UpID0+IHtcbiAgICAgICAgICBzd2l0Y2ggKGRlbWFuZGVkRGF0YUZlbmNlLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ3N0b3JlJzpcbiAgICAgICAgICAgICAgcmV0dXJuIGRlbWFuZGVkRGF0YUZlbmNlLmFjdHVhbERhdGFGZW5jZVZhbHVlcztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfX1cbiAgICAgICAgLy8gQWx3YXlzIGNoZWNrIHRoYXQgc29tZSBvZiB0aGUgZ2l2ZW4gcGVybWlzc2lvbnMgbWF0Y2guXG4gICAgICAgIHNob3VsZE1hdGNoU29tZVBlcm1pc3Npb25zPXt0cnVlfVxuICAgICAgICBwcm9qZWN0UGVybWlzc2lvbnM9e3Byb3BzLnByb2plY3RQZXJtaXNzaW9uc31cbiAgICAgID5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9SZXN0cmljdGVkQnlQZXJtaXNzaW9ucz5cbiAgICApIDogKFxuICAgICAgPD57cHJvcHMuY2hpbGRyZW59PC8+XG4gICAgKTtcblxuICBpZiAocHJvcHMuZmVhdHVyZVRvZ2dsZSkge1xuICAgIC8vIEEgcmVndWxhciBzaG9ydC1saXZlZCBmZWF0dXJlIHRvZ2dsZVxuICAgIGlmIChmbGFnVmFyaWF0aW9uID09PSB0cnVlKSByZXR1cm4gcGVybWlzc2lvbnNXcmFwcGVyO1xuICAgIC8vIEEgbG9uZy1saXZlZCBmZWF0dXJlIHRvZ2dsZSB3aXRoIGB7IHZhbHVlOiBib29sZWFuLCBzdHJpbmc6IHJlYXNvbiB9YFxuICAgIGlmIChpc0xvbmdMaXZlZEZsYWcoZmxhZ1ZhcmlhdGlvbikgJiYgZmxhZ1ZhcmlhdGlvbi52YWx1ZSA9PT0gdHJ1ZSlcbiAgICAgIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG59O1xuUmVzdHJpY3RlZE1lbnVJdGVtLmRpc3BsYXlOYW1lID0gJ1Jlc3RyaWN0ZWRNZW51SXRlbSc7XG5SZXN0cmljdGVkTWVudUl0ZW0uZGVmYXVsdFByb3BzID0gcmVzdHJpY3RlZE1lbnVJdGVtRGVmYXVsdFByb3BzO1xuXG50eXBlIE1lbnVMYWJlbFByb3BzID0ge1xuICBsYWJlbEFsbExvY2FsZXM6IFRMb2NhbGl6ZWRGaWVsZFtdO1xuICBkZWZhdWx0TGFiZWw/OiBzdHJpbmc7XG4gIGFwcGxpY2F0aW9uTG9jYWxlOiBzdHJpbmc7XG59O1xuY29uc3QgTWVudUxhYmVsID0gKHByb3BzOiBNZW51TGFiZWxQcm9wcykgPT4ge1xuICBjb25zdCBsb2NhbGl6ZWRMYWJlbCA9IHByb3BzLmxhYmVsQWxsTG9jYWxlcy5maW5kKChsb2MpID0+XG4gICAgcHJvcHMuYXBwbGljYXRpb25Mb2NhbGUuc3RhcnRzV2l0aChsb2MubG9jYWxlKVxuICApO1xuICBpZiAobG9jYWxpemVkTGFiZWwpIHJldHVybiA8Pntsb2NhbGl6ZWRMYWJlbC52YWx1ZX08Lz47XG4gIGlmIChwcm9wcy5kZWZhdWx0TGFiZWwpIHJldHVybiA8Pntwcm9wcy5kZWZhdWx0TGFiZWx9PC8+O1xuICByZXR1cm4gPD57Tk9fVkFMVUVfRkFMTEJBQ0t9PC8+O1xufTtcblxudHlwZSBUTmF2QmFyTGF5b3V0UHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59O1xuY29uc3QgTmF2QmFyTGF5b3V0ID0gZm9yd2FyZFJlZjxIVE1MRWxlbWVudCwgVE5hdkJhckxheW91dFByb3BzPihcbiAgKHByb3BzLCByZWYpID0+IChcbiAgICA8PlxuICAgICAgPEdsb2JhbFxuICAgICAgICBzdHlsZXM9e2Nzc2BcbiAgICAgICAgICAke2NvbXBpbGVkU3R5bGVzLmdsb2JhbH1cbiAgICAgICAgYH1cbiAgICAgIC8+XG4gICAgICA8bmF2XG4gICAgICAgIHJlZj17cmVmfVxuICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1snbGVmdC1uYXZpZ2F0aW9uJ119XG4gICAgICAgIGRhdGEtdGVzdD1cImxlZnQtbmF2aWdhdGlvblwiXG4gICAgICAgIGRhdGEtdGVzdGlkPVwibGVmdC1uYXZpZ2F0aW9uXCJcbiAgICAgID5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9uYXY+XG4gICAgPC8+XG4gIClcbik7XG5OYXZCYXJMYXlvdXQuZGlzcGxheU5hbWUgPSAnTmF2QmFyTGF5b3V0JztcblxudHlwZSBJdGVtQ29udGFpbmVyUHJvcHMgPSB7XG4gIGxhYmVsQWxsTG9jYWxlczogVExvY2FsaXplZEZpZWxkW107XG4gIGRlZmF1bHRMYWJlbD86IHN0cmluZztcbiAgYXBwbGljYXRpb25Mb2NhbGU6IHN0cmluZztcbiAgaWNvbjogc3RyaW5nO1xuICBpc01lbnVPcGVuPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IEl0ZW1Db250YWluZXIgPSAocHJvcHM6IEl0ZW1Db250YWluZXJQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2l0ZW0taWNvbi10ZXh0J119PlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaWNvbi1jb250YWluZXInXX0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMuaWNvbn0+XG4gICAgICAgICAgPEljb25Td2l0Y2hlciBpY29uPXtwcm9wcy5pY29ufSBzaXplPVwic2NhbGVcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAge3Byb3BzLmlzTWVudU9wZW4gPyAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMudGl0bGV9PlxuICAgICAgICAgIDxNZW51TGFiZWxcbiAgICAgICAgICAgIGxhYmVsQWxsTG9jYWxlcz17cHJvcHMubGFiZWxBbGxMb2NhbGVzfVxuICAgICAgICAgICAgZGVmYXVsdExhYmVsPXtwcm9wcy5kZWZhdWx0TGFiZWx9XG4gICAgICAgICAgICBhcHBsaWNhdGlvbkxvY2FsZT17cHJvcHMuYXBwbGljYXRpb25Mb2NhbGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApIDogbnVsbH1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbkl0ZW1Db250YWluZXIuZGlzcGxheU5hbWUgPSAnSXRlbUNvbnRhaW5lcic7XG5cbmV4cG9ydCB7XG4gIFJlc3RyaWN0ZWRNZW51SXRlbSxcbiAgTWVudUl0ZW0sXG4gIE1lbnVJdGVtTGluayxcbiAgSWNvblN3aXRjaGVyLFxuICBNZW51R3JvdXAsXG4gIE1lbnVMYWJlbCxcbiAgTWVudUV4cGFuZGVyLFxuICBGYWRlZCxcbiAgTmF2QmFyTGF5b3V0LFxuICBJdGVtQ29udGFpbmVyLFxufTtcbiJdfQ== */",
490
500
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__$1
491
501
  };
492
- const getContainerPositionBasedOnMenuItemPosition = (isSubmenuAboveMenuItem, isSublistActiveWhileIsMenuExpanded, isSublistActiveWhileIsMenuCollapsed) => [isSublistActiveWhileIsMenuCollapsed && /*#__PURE__*/css(isSubmenuAboveMenuItem ? 'bottom' : 'top', ":-", DIMENSIONS.navMenuItemHeight, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:getContainerPositionBasedOnMenuItemPosition;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1lbnUtaXRlbXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXVMTyIsImZpbGUiOiJtZW51LWl0ZW1zLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGZvcndhcmRSZWYsXG4gIGxhenksXG4gIE1vdXNlRXZlbnRIYW5kbGVyLFxuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdHlwZSBTeW50aGV0aWNFdmVudCxcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgR2xvYmFsLCBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3JlYWN0LWJyb2FkY2FzdCc7XG5pbXBvcnQgdHlwZSB7IFRGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3R5cGVzJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgTmF2TGluayB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHR5cGUge1xuICBUTm9ybWFsaXplZE1lbnVWaXNpYmlsaXRpZXMsXG4gIFROb3JtYWxpemVkUGVybWlzc2lvbnMsXG4gIFROb3JtYWxpemVkQWN0aW9uUmlnaHRzLFxuICBUTm9ybWFsaXplZERhdGFGZW5jZXMsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnO1xuaW1wb3J0IE1pc3NpbmdJbWFnZVN2ZyBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hc3NldHMvaW1hZ2VzL2RpYWdvbmFsLWxpbmUuc3ZnJztcbmltcG9ydCB7IE5PX1ZBTFVFX0ZBTExCQUNLIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvY29uc3RhbnRzJztcbmltcG9ydCB7IFJlc3RyaWN0ZWRCeVBlcm1pc3Npb25zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvcGVybWlzc2lvbnMnO1xuaW1wb3J0IHtcbiAgQmFja0ljb24sXG4gIFNpZGViYXJFeHBhbmRJY29uLFxuICBTaWRlYmFyQ29sbGFwc2VJY29uLFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucyc7XG5pbXBvcnQgSW5saW5lU3ZnIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ljb25zL2lubGluZS1zdmcnO1xuaW1wb3J0IHsgRElNRU5TSU9OUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgdHlwZSB7XG4gIFREYXRhRmVuY2UsXG4gIFRBY3Rpb25SaWdodCxcbiAgVExvY2FsaXplZEZpZWxkLFxufSBmcm9tICcuLi8uLi8uLi90eXBlcy9nZW5lcmF0ZWQvcHJveHknO1xuaW1wb3J0IHsgbG9jYXRpb24gfSBmcm9tICcuLi8uLi8uLi91dGlscy9sb2NhdGlvbic7XG4vLyBodHRwczovL2JhYmVsanMuaW8vYmxvZy8yMDE3LzA5LzExL3plcm8tY29uZmlnLXdpdGgtYmFiZWwtbWFjcm9zXG5pbXBvcnQgY29tcGlsZWRTdHlsZXMgZnJvbSAvKiBwcmV2YWwgKi8gJy4vbmF2YmFyLnN0eWxlcyc7XG5cbmNvbnN0IHN0eWxlcyA9IGNvbXBpbGVkU3R5bGVzLmpzb25NYXA7XG5cbnR5cGUgVFByb2plY3RQZXJtaXNzaW9ucyA9IHtcbiAgcGVybWlzc2lvbnM6IFROb3JtYWxpemVkUGVybWlzc2lvbnMgfCBudWxsO1xuICBhY3Rpb25SaWdodHM6IFROb3JtYWxpemVkQWN0aW9uUmlnaHRzIHwgbnVsbDtcbiAgZGF0YUZlbmNlczogVE5vcm1hbGl6ZWREYXRhRmVuY2VzIHwgbnVsbDtcbn07XG5cbmNvbnN0IEhlYXJ0SWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvaGVhcnQnKSk7XG5jb25zdCBQYXBlcmNsaXBJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9wYXBlcmNsaXAnKSk7XG5jb25zdCBQbHVnaW5JY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9wbHVnaW4nKSk7XG5jb25zdCBSb2NrZXRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9yb2NrZXQnKSk7XG5jb25zdCBTdGFySWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvc3RhcicpKTtcbmNvbnN0IENvbm5lY3RlZFNxdWFyZUljb24gPSBsYXp5KFxuICAoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9jb25uZWN0ZWQtc3F1YXJlJylcbik7XG5jb25zdCBXb3JsZEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3dvcmxkJykpO1xuY29uc3QgVHJlZVN0cnVjdHVyZUljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3RyZWUtc3RydWN0dXJlJykpO1xuY29uc3QgVXNlckZpbGxlZEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3VzZXItZmlsbGVkJykpO1xuY29uc3QgU3BlZWRvbWV0ZXJJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9zcGVlZG9tZXRlcicpKTtcbmNvbnN0IFRhZ011bHRpSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvdGFnLW11bHRpJykpO1xuY29uc3QgQ2FydEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL2NhcnQnKSk7XG5jb25zdCBCb3hJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9ib3gnKSk7XG5jb25zdCBHZWFySWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvZ2VhcicpKTtcbmNvbnN0IExpc3RXaXRoU2VhcmNoSWNvbiA9IGxhenkoXG4gICgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL2xpc3Qtd2l0aC1zZWFyY2gnKVxuKTtcblxudHlwZSBJY29uUHJvcHMgPSBQYXJhbWV0ZXJzPHR5cGVvZiBCYWNrSWNvbj5bMF07XG50eXBlIEljb25Td2l0Y2hlclByb3BzID0geyBpY29uOiBzdHJpbmcgfSAmIEljb25Qcm9wcztcbi8vIFRoZSBpY29uIGlzIGV4cGVjdGVkIHRvIGJlIHRoZSBgc3ZnYCBkb2N1bWVudCBhcyBhIHN0cmluZy5cbi8vIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBwdXJwb3Nlcywgd2Ugc3RpbGwgc3VwcG9ydCB0aGUgbGVnYWN5IFwiaWNvbiBuYW1lXCIsXG4vLyB3aGljaCB3ZSB0aGVuIG1hcCB0byBvbmUgb2YgdGhlIHByZS1kZWZpbmVkIGljb25zLlxuLy8gRXZlbnR1YWxseSwgd2Ugd2FudCB0byBnZXQgcmlkIG9mIHRoaXMgXCJzd2l0Y2hcIiBsb2dpYy5cbmNvbnN0IEljb25Td2l0Y2hlciA9ICh7IGljb24sIC4uLmljb25Qcm9wcyB9OiBJY29uU3dpdGNoZXJQcm9wcykgPT4ge1xuICBpZiAoaWNvbi5pbmNsdWRlcygnPHN2ZycpKSB7XG4gICAgcmV0dXJuIDxJbmxpbmVTdmcgZGF0YT17aWNvbn0gey4uLmljb25Qcm9wc30gLz47XG4gIH1cbiAgLy8gQmFja3dhcmRzIGNvbXBhdGliaWxpdHkgZm9yIGFwcHMgdXNpbmcgdGhlIFwiaWNvbiBuYW1lXCIuXG4gIHN3aXRjaCAoaWNvbikge1xuICAgIC8vIExlZ2FjeSBhcHBsaWNhdGlvbiBpY29uc1xuICAgIC8vIFRPRE86IFRvIGJlIHJlbW92ZWQgb25jZSBNQyBhcHBsaWNhdGlvbnMgaWNvbnMgdXBkYXRlcyBhcmUgcHVibGlzaGVkXG4gICAgY2FzZSAnVHJlZVN0cnVjdHVyZUljb24nOlxuICAgICAgcmV0dXJuIDxUcmVlU3RydWN0dXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdVc2VyRmlsbGVkSWNvbic6XG4gICAgICByZXR1cm4gPFVzZXJGaWxsZWRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1NwZWVkb21ldGVySWNvbic6XG4gICAgICByZXR1cm4gPFNwZWVkb21ldGVySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdUYWdNdWx0aUljb24nOlxuICAgICAgcmV0dXJuIDxUYWdNdWx0aUljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnQ2FydEljb24nOlxuICAgICAgcmV0dXJuIDxDYXJ0SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdCb3hJY29uJzpcbiAgICAgIHJldHVybiA8Qm94SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdHZWFySWNvbic6XG4gICAgICByZXR1cm4gPEdlYXJJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ0xpc3RXaXRoU2VhcmNoSWNvbic6XG4gICAgICByZXR1cm4gPExpc3RXaXRoU2VhcmNoSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcblxuICAgIC8vIEN1c3RvbSBhcHBsaWNhdGlvbiBpY29ucyBzZXRcbiAgICBjYXNlICdIZWFydEljb24nOlxuICAgICAgcmV0dXJuIDxIZWFydEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUGFwZXJjbGlwSWNvbic6XG4gICAgICByZXR1cm4gPFBhcGVyY2xpcEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUGx1Z2luSWNvbic6XG4gICAgICByZXR1cm4gPFBsdWdpbkljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUm9ja2V0SWNvbic6XG4gICAgICByZXR1cm4gPFJvY2tldEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnU3Rhckljb24nOlxuICAgICAgcmV0dXJuIDxTdGFySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdDb25uZWN0ZWRTcXVhcmVJY29uJzpcbiAgICAgIHJldHVybiA8Q29ubmVjdGVkU3F1YXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICAvLyBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcbiAgICBjYXNlICdXb3JsZEljb24nOlxuICAgICAgcmV0dXJuIDxXb3JsZEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiA8aW1nIHNyYz17TWlzc2luZ0ltYWdlU3ZnfSBhbHQ9XCJtaXNzaW5nIGljb25cIiAvPjtcbiAgfVxufTtcbkljb25Td2l0Y2hlci5kaXNwbGF5TmFtZSA9ICdJY29uU3dpdGNoZXInO1xuXG50eXBlIE1lbnVFeHBhbmRlclByb3BzID0ge1xuICBpc1Zpc2libGU6IGJvb2xlYW47XG4gIG9uQ2xpY2s6IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50PjtcbiAgaXNNZW51T3BlbjogYm9vbGVhbjtcbn07XG5cbmNvbnN0IGdldEljb24gPSAoeyBpc01lbnVPcGVuIH06IE1lbnVFeHBhbmRlclByb3BzKSA9PiB7XG4gIGNvbnN0IEljb24gPSBpc01lbnVPcGVuID8gU2lkZWJhckNvbGxhcHNlSWNvbiA6IFNpZGViYXJFeHBhbmRJY29uO1xuICByZXR1cm4gPEljb24gY29sb3I9XCJzdXJmYWNlXCIgc2l6ZT1cImJpZ1wiIC8+O1xufTtcblxuY29uc3QgTWVudUV4cGFuZGVyID0gKHByb3BzOiBNZW51RXhwYW5kZXJQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxsaVxuICAgICAga2V5PVwiZXhwYW5kZXJcIlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKHN0eWxlc1snbGlzdC1pdGVtJ10sIHN0eWxlcy5leHBhbmRlciwge1xuICAgICAgICBbc3R5bGVzLmhpZGRlbl06ICFwcm9wcy5pc1Zpc2libGUsXG4gICAgICB9KX1cbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIG9uQ2xpY2s9e3Byb3BzLm9uQ2xpY2t9XG4gICAgICAgIGNsYXNzTmFtZT17c3R5bGVzWydleHBhbmQtaWNvbiddfVxuICAgICAgICBkYXRhLXRlc3RpZD1cIm1lbnUtZXhwYW5kZXJcIlxuICAgICAgPlxuICAgICAgICB7Z2V0SWNvbihwcm9wcyl9XG4gICAgICA8L2Rpdj5cbiAgICA8L2xpPlxuICApO1xufTtcbk1lbnVFeHBhbmRlci5kaXNwbGF5TmFtZSA9ICdNZW51RXhwYW5kZXInO1xuXG5jb25zdCBGYWRlZCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgwLCAxNTMsIDEzNSwgMCkgMCUsICMwMGIzOWUgMTAwJSk7XG4gIHotaW5kZXg6IDE7XG5gO1xuXG50eXBlIE1lbnVHcm91cFByb3BzID0ge1xuICBpZDogc3RyaW5nO1xuICBsZXZlbDogMSB8IDI7XG4gIGlzQWN0aXZlPzogYm9vbGVhbjtcbiAgaXNFeHBhbmRlZD86IGJvb2xlYW47XG4gIGhhc1N1Ym1lbnU/OiBib29sZWFuO1xuICBjaGlsZHJlbj86IFJlYWN0Tm9kZTtcbiAgc3VibWVudVZlcnRpY2FsUG9zaXRpb24/OiBudW1iZXI7XG4gIGlzU3VibWVudUFib3ZlTWVudUl0ZW0/OiBib29sZWFuO1xufTtcblxuY29uc3QgZ2V0U3VibWVudVBvc2l0aW9uQmFzZWRPbk1lbnVJdGVtUG9zaXRpb24gPSAoXG4gIGlzU3VibWVudUFib3ZlTWVudUl0ZW0/OiBib29sZWFuLFxuICBzdWJtZW51VmVydGljYWxQb3NpdGlvbj86IG51bWJlclxuKSA9PiBjc3NgXG4gICR7aXNTdWJtZW51QWJvdmVNZW51SXRlbSA/ICdib3R0b20nIDogJ3RvcCd9OiAke3N1Ym1lbnVWZXJ0aWNhbFBvc2l0aW9ufXB4XG5gO1xuXG5jb25zdCBnZXRDb250YWluZXJQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uID0gKFxuICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtPzogYm9vbGVhbixcbiAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZD86IGJvb2xlYW4sXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkPzogYm9vbGVhblxuKSA9PiBbXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmXG4gICAgY3NzYFxuICAgICAgJHtpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtXG4gICAgICAgID8gJ2JvdHRvbSdcbiAgICAgICAgOiAndG9wJ306IC0ke0RJTUVOU0lPTlMubmF2TWVudUl0ZW1IZWlnaHR9O1xuICAgIGAsXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgJiZcbiAgICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtICYmXG4gICAgY3NzYFxuICAgICAgYm90dG9tOiAwO1xuICAgIGAsXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgJiZcbiAgICAhaXNTdWJtZW51QWJvdmVNZW51SXRlbSAmJlxuICAgIGNzc2BcbiAgICAgIHRvcDogMDtcbiAgICBgLFxuXTtcblxuY29uc3QgTWVudUdyb3VwID0gZm9yd2FyZFJlZjxIVE1MVUxpc3RFbGVtZW50LCBNZW51R3JvdXBQcm9wcz4oKHByb3BzLCByZWYpID0+IHtcbiAgaWYgKFxuICAgIHByb3BzLmlzRXhwYW5kZWQgJiZcbiAgICAoKHByb3BzLmxldmVsID09PSAyICYmICFwcm9wcy5oYXNTdWJtZW51KSB8fFxuICAgICAgKHByb3BzLmxldmVsID09PSAyICYmICFwcm9wcy5pc0FjdGl2ZSkpXG4gICkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGNvbnN0IGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgPVxuICAgIHByb3BzLmxldmVsID09PSAyICYmIHByb3BzLmlzQWN0aXZlICYmIHByb3BzLmlzRXhwYW5kZWQ7XG4gIGNvbnN0IGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkID1cbiAgICBwcm9wcy5sZXZlbCA9PT0gMiAmJiBwcm9wcy5pc0FjdGl2ZSAmJiAhcHJvcHMuaXNFeHBhbmRlZDtcbiAgcmV0dXJuIChcbiAgICA8dWxcbiAgICAgIHJlZj17cmVmICYmIHByb3BzLmxldmVsID09PSAyID8gcmVmIDogbnVsbH1cbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICAke2dldFN1Ym1lbnVQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uKFxuICAgICAgICAgIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgICAgcHJvcHMuc3VibWVudVZlcnRpY2FsUG9zaXRpb25cbiAgICAgICAgKX07XG5cbiAgICAgICAgLy8gYWRkaXRpb25hbCBzdHlsaW5nIG9mIHRoZSBwc2V1ZG8tZWxlbWVudCBlbmFibGluZyBzbW9vdGggY291cnNvciBtb3ZlbWVudFxuICAgICAgICA6OmJlZm9yZSB7XG4gICAgICAgICAgJHtnZXRDb250YWluZXJQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uKFxuICAgICAgICAgICAgcHJvcHMuaXNTdWJtZW51QWJvdmVNZW51SXRlbSxcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQsXG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZFxuICAgICAgICAgICl9XG4gICAgICBgfVxuICAgICAgaWQ9e2Bncm91cC0ke3Byb3BzLmlkfWB9XG4gICAgICBkYXRhLXRlc3RpZD17YGdyb3VwLSR7cHJvcHMuaWR9YH1cbiAgICAgIHJvbGU9XCJtZW51XCJcbiAgICAgIGFyaWEtZXhwYW5kZWQ9e1xuICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkIHx8XG4gICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkXG4gICAgICB9XG4gICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoXG4gICAgICAgIHsgW3N0eWxlcy5saXN0XTogcHJvcHMubGV2ZWwgPT09IDEgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QnXV06IHByb3BzLmxldmVsID09PSAyLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlc1snc3VibGlzdC1leHBhbmRlZF9fYWN0aXZlJ11dOlxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtY29sbGFwc2VkX19lbXB0eSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmICFwcm9wcy5oYXNTdWJtZW51LFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlc1snc3VibGlzdC1jb2xsYXBzZWRfX2FjdGl2ZSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmXG4gICAgICAgICAgICAhcHJvcHMuaXNTdWJtZW51QWJvdmVNZW51SXRlbSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtY29sbGFwc2VkX19hY3RpdmVfX2Fib3ZlJ11dOlxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQgJiYgcHJvcHMuaXNTdWJtZW51QWJvdmVNZW51SXRlbSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXMuc3VibGlzdF9faW5hY3RpdmVdOiAhaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQsXG4gICAgICAgIH1cbiAgICAgICl9XG4gICAgPlxuICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgIDwvdWw+XG4gICk7XG59KTtcbk1lbnVHcm91cC5kaXNwbGF5TmFtZSA9ICdNZW51R3JvdXAnO1xuXG50eXBlIE1lbnVJdGVtUHJvcHMgPSB7XG4gIGhhc1N1Ym1lbnU6IGJvb2xlYW47XG4gIGlzQWN0aXZlOiBib29sZWFuO1xuICBpc01haW5NZW51Um91dGVBY3RpdmU/OiBib29sZWFuO1xuICBpc01lbnVPcGVuOiBib29sZWFuO1xuICBvbkNsaWNrOiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD47XG4gIG9uTW91c2VFbnRlcj86IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50PjtcbiAgb25Nb3VzZUxlYXZlPzogTW91c2VFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+O1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBpZGVudGlmaWVyPzogc3RyaW5nO1xufTtcbmNvbnN0IE1lbnVJdGVtID0gKHByb3BzOiBNZW51SXRlbVByb3BzKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGxpXG4gICAgICByb2xlPVwibWVudWl0ZW1cIlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKHN0eWxlc1snbGlzdC1pdGVtJ10sIHtcbiAgICAgICAgW3N0eWxlcy5pdGVtX19hY3RpdmVdOiBwcm9wcy5pc0FjdGl2ZSxcbiAgICAgICAgW3N0eWxlc1snaXRlbV9tZW51X19hY3RpdmUnXV06IHByb3BzLmlzTWFpbk1lbnVSb3V0ZUFjdGl2ZSA/PyBmYWxzZSxcbiAgICAgICAgW3N0eWxlc1snaXRlbV9tZW51LWNvbGxhcHNlZCddXTogIXByb3BzLmlzTWVudU9wZW4sXG4gICAgICB9KX1cbiAgICAgIG9uQ2xpY2s9e3Byb3BzLm9uQ2xpY2t9XG4gICAgICBvbk1vdXNlRW50ZXI9e3Byb3BzLm9uTW91c2VFbnRlcn1cbiAgICAgIG9uTW91c2VMZWF2ZT17cHJvcHMub25Nb3VzZUxlYXZlfVxuICAgICAgZGF0YS1tZW51aXRlbT17cHJvcHMuaWRlbnRpZmllcn1cbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydpdGVtLWxpbmsnXX0+e3Byb3BzLmNoaWxkcmVufTwvZGl2PlxuICAgIDwvbGk+XG4gICk7XG59O1xuXG5NZW51SXRlbS5kaXNwbGF5TmFtZSA9ICdNZW51SXRlbSc7XG5cbmV4cG9ydCB0eXBlIE1lbnVJdGVtTGlua1Byb3BzID0ge1xuICBsaW5rVG8/OiBzdHJpbmc7XG4gIGV4YWN0TWF0Y2g6IGJvb2xlYW47XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIG9uQ2xpY2s/OiAoZXZlbnQ6IFN5bnRoZXRpY0V2ZW50PEhUTUxBbmNob3JFbGVtZW50PikgPT4gdm9pZDtcbiAgdXNlRnVsbFJlZGlyZWN0c0ZvckxpbmtzPzogYm9vbGVhbjtcbiAgaXNTdWJtZW51TGluaz86IGJvb2xlYW47XG59O1xuY29uc3QgbWVudUl0ZW1MaW5rRGVmYXVsdFByb3BzOiBQaWNrPE1lbnVJdGVtTGlua1Byb3BzLCAnZXhhY3RNYXRjaCc+ID0ge1xuICBleGFjdE1hdGNoOiBmYWxzZSxcbn07XG5jb25zdCBOYXZMaW5rV3JhcHBlciA9IChwcm9wczogTWVudUl0ZW1MaW5rUHJvcHMpID0+IHtcbiAgaWYgKHByb3BzLmlzU3VibWVudUxpbmspIHtcbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1sndGV4dC1saW5rLXN1Ymxpc3Qtd3JhcHBlciddfT5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxuICByZXR1cm4gPD57cHJvcHMuY2hpbGRyZW59PC8+O1xufTtcbmNvbnN0IE5hdkxpbmtDbGlja2FibGVDb250ZW50V3JhcHBlciA9IChwcm9wczogTWVudUl0ZW1MaW5rUHJvcHMpID0+IHtcbiAgaWYgKHByb3BzLmlzU3VibWVudUxpbmspIHtcbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snbmF2bGluay1jbGlja2FibGUtY29udGVudCddfT5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxuICByZXR1cm4gPD57cHJvcHMuY2hpbGRyZW59PC8+O1xufTtcblxuY29uc3QgTWVudUl0ZW1MaW5rID0gKHByb3BzOiBNZW51SXRlbUxpbmtQcm9wcykgPT4ge1xuICBjb25zdCByZWRpcmVjdFRvID0gKHRhcmdldFVybDogc3RyaW5nKSA9PiBsb2NhdGlvbi5yZXBsYWNlKHRhcmdldFVybCk7XG4gIGlmIChwcm9wcy5saW5rVG8pIHtcbiAgICByZXR1cm4gKFxuICAgICAgPE5hdkxpbmtXcmFwcGVyIHsuLi5wcm9wc30+XG4gICAgICAgIDxOYXZMaW5rXG4gICAgICAgICAgdG89e3Byb3BzLmxpbmtUb31cbiAgICAgICAgICBleGFjdD17cHJvcHMuZXhhY3RNYXRjaH1cbiAgICAgICAgICBhY3RpdmVDbGFzc05hbWU9e3N0eWxlcy5oaWdobGlnaHRlZH1cbiAgICAgICAgICBjbGFzc05hbWU9e1xuICAgICAgICAgICAgcHJvcHMuaXNTdWJtZW51TGlua1xuICAgICAgICAgICAgICA/IHN0eWxlc1sndGV4dC1saW5rLXN1Ymxpc3QnXVxuICAgICAgICAgICAgICA6IHN0eWxlc1sndGV4dC1saW5rJ11cbiAgICAgICAgICB9XG4gICAgICAgICAgb25DbGljaz17KGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBpZiAocHJvcHMubGlua1RvICYmIHByb3BzLnVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rcykge1xuICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICByZWRpcmVjdFRvKHByb3BzLmxpbmtUbyk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHByb3BzLm9uQ2xpY2spIHtcbiAgICAgICAgICAgICAgZXZlbnQucGVyc2lzdCgpO1xuICAgICAgICAgICAgICBwcm9wcy5vbkNsaWNrKGV2ZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAgPE5hdkxpbmtDbGlja2FibGVDb250ZW50V3JhcHBlciB7Li4ucHJvcHN9PlxuICAgICAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgICAgIDwvTmF2TGlua0NsaWNrYWJsZUNvbnRlbnRXcmFwcGVyPlxuICAgICAgICA8L05hdkxpbms+XG4gICAgICA8L05hdkxpbmtXcmFwcGVyPlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5NZW51SXRlbUxpbmsuZGlzcGxheU5hbWUgPSAnTWVudUl0ZW1MaW5rJztcbk1lbnVJdGVtTGluay5kZWZhdWx0UHJvcHMgPSBtZW51SXRlbUxpbmtEZWZhdWx0UHJvcHM7XG5cbmNvbnN0IGlzRXZlcnlNZW51VmlzaWJpbGl0eVNldFRvSGlkZGVuID0gKFxuICBtZW51VmlzaWJpbGl0aWVzPzogVE5vcm1hbGl6ZWRNZW51VmlzaWJpbGl0aWVzIHwgbnVsbCxcbiAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXM/OiBzdHJpbmdbXVxuKSA9PlxuICBBcnJheS5pc0FycmF5KG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzKSAmJlxuICBuYW1lc09mTWVudVZpc2liaWxpdGllcy5sZW5ndGggPiAwICYmXG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzLmV2ZXJ5KFxuICAgIChuYW1lT2ZNZW51VmlzaWJpbGl0eSkgPT5cbiAgICAgIG1lbnVWaXNpYmlsaXRpZXMgJiYgbWVudVZpc2liaWxpdGllc1tuYW1lT2ZNZW51VmlzaWJpbGl0eV0gPT09IHRydWVcbiAgKTtcblxudHlwZSBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcyA9IHtcbiAgZmVhdHVyZVRvZ2dsZT86IHN0cmluZztcbiAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXM/OiBzdHJpbmdbXTtcbiAgcHJvamVjdFBlcm1pc3Npb25zOiBUUHJvamVjdFBlcm1pc3Npb25zO1xuICBtZW51VmlzaWJpbGl0aWVzOiBUTm9ybWFsaXplZE1lbnVWaXNpYmlsaXRpZXMgfCBudWxsO1xuICBrZXlPZk1lbnVJdGVtOiBzdHJpbmc7XG4gIHBlcm1pc3Npb25zOiBzdHJpbmdbXTtcbiAgYWN0aW9uUmlnaHRzPzogVEFjdGlvblJpZ2h0W107XG4gIGRhdGFGZW5jZXM/OiBURGF0YUZlbmNlW107XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59O1xudHlwZSBUTG9uZ0xpdmVkRmxhZyA9IHtcbiAgdmFsdWU6IGJvb2xlYW47XG4gIHJlYXNvbj86IHN0cmluZztcbn07XG5jb25zdCByZXN0cmljdGVkTWVudUl0ZW1EZWZhdWx0UHJvcHM6IFBpY2s8XG4gIFJlc3RyaWN0ZWRNZW51SXRlbVByb3BzLFxuICAncGVybWlzc2lvbnMnXG4+ID0ge1xuICBwZXJtaXNzaW9uczogW10sXG59O1xuZnVuY3Rpb24gaXNMb25nTGl2ZWRGbGFnKFxuICBmbGFnOiBURmxhZ1ZhcmlhdGlvbiB8IFRMb25nTGl2ZWRGbGFnXG4pOiBmbGFnIGlzIFRMb25nTGl2ZWRGbGFnIHtcbiAgcmV0dXJuIHR5cGVvZiAoZmxhZyBhcyBUTG9uZ0xpdmVkRmxhZyk/LnZhbHVlID09PSAnYm9vbGVhbic7XG59XG5jb25zdCBSZXN0cmljdGVkTWVudUl0ZW0gPSAocHJvcHM6IFJlc3RyaWN0ZWRNZW51SXRlbVByb3BzKSA9PiB7XG4gIC8vIE5PVEU6IEN1c3RvbSBhcHBsaWNhdGlvbiBhcmUgYWN0aXZhdGVkL2RlYWN0aXZhdGVkIHdoaWxlIHRoZWlyXG4gIC8vIHZpc2liaWxpdHkgaXMgbm90IGNvbnRyb2xsZWQgdmlhIGEgdmlzaWJpaWxpdHkgb3ZlcndyaXRlLlxuICBjb25zdCBmbGFnVmFyaWF0aW9uID0gdXNlRmxhZ1ZhcmlhdGlvbihwcm9wcy5mZWF0dXJlVG9nZ2xlKTtcbiAgaWYgKFxuICAgIGlzRXZlcnlNZW51VmlzaWJpbGl0eVNldFRvSGlkZGVuKFxuICAgICAgcHJvcHMubWVudVZpc2liaWxpdGllcyxcbiAgICAgIHByb3BzLm5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzXG4gICAgKVxuICApXG4gICAgcmV0dXJuIG51bGw7XG5cbiAgY29uc3QgcGVybWlzc2lvbnNXcmFwcGVyID1cbiAgICAoQXJyYXkuaXNBcnJheShwcm9wcy5wZXJtaXNzaW9ucykgJiYgcHJvcHMucGVybWlzc2lvbnMubGVuZ3RoID4gMCkgfHxcbiAgICAoQXJyYXkuaXNBcnJheShwcm9wcy5kYXRhRmVuY2VzKSAmJiBwcm9wcy5kYXRhRmVuY2VzLmxlbmd0aCA+IDApID8gKFxuICAgICAgPFJlc3RyaWN0ZWRCeVBlcm1pc3Npb25zXG4gICAgICAgIHBlcm1pc3Npb25zPXtwcm9wcy5wZXJtaXNzaW9uc31cbiAgICAgICAgYWN0aW9uUmlnaHRzPXtwcm9wcy5hY3Rpb25SaWdodHN9XG4gICAgICAgIGRhdGFGZW5jZXM9e3Byb3BzLmRhdGFGZW5jZXN9XG4gICAgICAgIHNlbGVjdERhdGFGZW5jZURhdGE9eyhkZW1hbmRlZERhdGFGZW5jZSkgPT4ge1xuICAgICAgICAgIHN3aXRjaCAoZGVtYW5kZWREYXRhRmVuY2UudHlwZSkge1xuICAgICAgICAgICAgY2FzZSAnc3RvcmUnOlxuICAgICAgICAgICAgICByZXR1cm4gZGVtYW5kZWREYXRhRmVuY2UuYWN0dWFsRGF0YUZlbmNlVmFsdWVzO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9fVxuICAgICAgICAvLyBBbHdheXMgY2hlY2sgdGhhdCBzb21lIG9mIHRoZSBnaXZlbiBwZXJtaXNzaW9ucyBtYXRjaC5cbiAgICAgICAgc2hvdWxkTWF0Y2hTb21lUGVybWlzc2lvbnM9e3RydWV9XG4gICAgICAgIHByb2plY3RQZXJtaXNzaW9ucz17cHJvcHMucHJvamVjdFBlcm1pc3Npb25zfVxuICAgICAgPlxuICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICA8L1Jlc3RyaWN0ZWRCeVBlcm1pc3Npb25zPlxuICAgICkgOiAoXG4gICAgICA8Pntwcm9wcy5jaGlsZHJlbn08Lz5cbiAgICApO1xuXG4gIGlmIChwcm9wcy5mZWF0dXJlVG9nZ2xlKSB7XG4gICAgLy8gQSByZWd1bGFyIHNob3J0LWxpdmVkIGZlYXR1cmUgdG9nZ2xlXG4gICAgaWYgKGZsYWdWYXJpYXRpb24gPT09IHRydWUpIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG4gICAgLy8gQSBsb25nLWxpdmVkIGZlYXR1cmUgdG9nZ2xlIHdpdGggYHsgdmFsdWU6IGJvb2xlYW4sIHN0cmluZzogcmVhc29uIH1gXG4gICAgaWYgKGlzTG9uZ0xpdmVkRmxhZyhmbGFnVmFyaWF0aW9uKSAmJiBmbGFnVmFyaWF0aW9uLnZhbHVlID09PSB0cnVlKVxuICAgICAgcmV0dXJuIHBlcm1pc3Npb25zV3JhcHBlcjtcblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIHBlcm1pc3Npb25zV3JhcHBlcjtcbn07XG5SZXN0cmljdGVkTWVudUl0ZW0uZGlzcGxheU5hbWUgPSAnUmVzdHJpY3RlZE1lbnVJdGVtJztcblJlc3RyaWN0ZWRNZW51SXRlbS5kZWZhdWx0UHJvcHMgPSByZXN0cmljdGVkTWVudUl0ZW1EZWZhdWx0UHJvcHM7XG5cbnR5cGUgTWVudUxhYmVsUHJvcHMgPSB7XG4gIGxhYmVsQWxsTG9jYWxlczogVExvY2FsaXplZEZpZWxkW107XG4gIGRlZmF1bHRMYWJlbD86IHN0cmluZztcbiAgYXBwbGljYXRpb25Mb2NhbGU6IHN0cmluZztcbn07XG5jb25zdCBNZW51TGFiZWwgPSAocHJvcHM6IE1lbnVMYWJlbFByb3BzKSA9PiB7XG4gIGNvbnN0IGxvY2FsaXplZExhYmVsID0gcHJvcHMubGFiZWxBbGxMb2NhbGVzLmZpbmQoKGxvYykgPT5cbiAgICBwcm9wcy5hcHBsaWNhdGlvbkxvY2FsZS5zdGFydHNXaXRoKGxvYy5sb2NhbGUpXG4gICk7XG4gIGlmIChsb2NhbGl6ZWRMYWJlbCkgcmV0dXJuIDw+e2xvY2FsaXplZExhYmVsLnZhbHVlfTwvPjtcbiAgaWYgKHByb3BzLmRlZmF1bHRMYWJlbCkgcmV0dXJuIDw+e3Byb3BzLmRlZmF1bHRMYWJlbH08Lz47XG4gIHJldHVybiA8PntOT19WQUxVRV9GQUxMQkFDS308Lz47XG59O1xuXG50eXBlIFROYXZCYXJMYXlvdXRQcm9wcyA9IHtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbn07XG5jb25zdCBOYXZCYXJMYXlvdXQgPSBmb3J3YXJkUmVmPEhUTUxFbGVtZW50LCBUTmF2QmFyTGF5b3V0UHJvcHM+KFxuICAocHJvcHMsIHJlZikgPT4gKFxuICAgIDw+XG4gICAgICA8R2xvYmFsXG4gICAgICAgIHN0eWxlcz17Y3NzYFxuICAgICAgICAgICR7Y29tcGlsZWRTdHlsZXMuZ2xvYmFsfVxuICAgICAgICBgfVxuICAgICAgLz5cbiAgICAgIDxuYXZcbiAgICAgICAgcmVmPXtyZWZ9XG4gICAgICAgIGNsYXNzTmFtZT17c3R5bGVzWydsZWZ0LW5hdmlnYXRpb24nXX1cbiAgICAgICAgZGF0YS10ZXN0PVwibGVmdC1uYXZpZ2F0aW9uXCJcbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJsZWZ0LW5hdmlnYXRpb25cIlxuICAgICAgPlxuICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICA8L25hdj5cbiAgICA8Lz5cbiAgKVxuKTtcbk5hdkJhckxheW91dC5kaXNwbGF5TmFtZSA9ICdOYXZCYXJMYXlvdXQnO1xuXG50eXBlIEl0ZW1Db250YWluZXJQcm9wcyA9IHtcbiAgbGFiZWxBbGxMb2NhbGVzOiBUTG9jYWxpemVkRmllbGRbXTtcbiAgZGVmYXVsdExhYmVsPzogc3RyaW5nO1xuICBhcHBsaWNhdGlvbkxvY2FsZTogc3RyaW5nO1xuICBpY29uOiBzdHJpbmc7XG4gIGlzTWVudU9wZW4/OiBib29sZWFuO1xufTtcblxuY29uc3QgSXRlbUNvbnRhaW5lciA9IChwcm9wczogSXRlbUNvbnRhaW5lclByb3BzKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaXRlbS1pY29uLXRleHQnXX0+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydpY29uLWNvbnRhaW5lciddfT5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlcy5pY29ufT5cbiAgICAgICAgICA8SWNvblN3aXRjaGVyIGljb249e3Byb3BzLmljb259IHNpemU9XCJzY2FsZVwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICB7cHJvcHMuaXNNZW51T3BlbiA/IChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlcy50aXRsZX0+XG4gICAgICAgICAgPE1lbnVMYWJlbFxuICAgICAgICAgICAgbGFiZWxBbGxMb2NhbGVzPXtwcm9wcy5sYWJlbEFsbExvY2FsZXN9XG4gICAgICAgICAgICBkZWZhdWx0TGFiZWw9e3Byb3BzLmRlZmF1bHRMYWJlbH1cbiAgICAgICAgICAgIGFwcGxpY2F0aW9uTG9jYWxlPXtwcm9wcy5hcHBsaWNhdGlvbkxvY2FsZX1cbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICkgOiBudWxsfVxuICAgIDwvZGl2PlxuICApO1xufTtcblxuSXRlbUNvbnRhaW5lci5kaXNwbGF5TmFtZSA9ICdJdGVtQ29udGFpbmVyJztcblxuZXhwb3J0IHtcbiAgUmVzdHJpY3RlZE1lbnVJdGVtLFxuICBNZW51SXRlbSxcbiAgTWVudUl0ZW1MaW5rLFxuICBJY29uU3dpdGNoZXIsXG4gIE1lbnVHcm91cCxcbiAgTWVudUxhYmVsLFxuICBNZW51RXhwYW5kZXIsXG4gIEZhZGVkLFxuICBOYXZCYXJMYXlvdXQsXG4gIEl0ZW1Db250YWluZXIsXG59O1xuIl19 */"), isSublistActiveWhileIsMenuExpanded && isSubmenuAboveMenuItem && _ref2, isSublistActiveWhileIsMenuExpanded && !isSubmenuAboveMenuItem && _ref];
493
502
  const MenuGroup$1 = /*#__PURE__*/forwardRef((props, ref) => {
494
503
  if (props.isExpanded && (props.level === 2 && !props.hasSubmenu || props.level === 2 && !props.isActive)) {
495
504
  return null;
@@ -498,7 +507,7 @@ const MenuGroup$1 = /*#__PURE__*/forwardRef((props, ref) => {
498
507
  const isSublistActiveWhileIsMenuCollapsed = props.level === 2 && props.isActive && !props.isExpanded;
499
508
  return jsx("ul", {
500
509
  ref: ref && props.level === 2 ? ref : null,
501
- css: /*#__PURE__*/css(getSubmenuPositionBasedOnMenuItemPosition(props.isSubmenuAboveMenuItem, props.submenuVerticalPosition), ";::before{", getContainerPositionBasedOnMenuItemPosition(props.isSubmenuAboveMenuItem, isSublistActiveWhileIsMenuExpanded, isSublistActiveWhileIsMenuCollapsed), ";}" + (process.env.NODE_ENV === "production" ? "" : ";label:MenuGroup;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1lbnUtaXRlbXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXVOYyIsImZpbGUiOiJtZW51LWl0ZW1zLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGZvcndhcmRSZWYsXG4gIGxhenksXG4gIE1vdXNlRXZlbnRIYW5kbGVyLFxuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdHlwZSBTeW50aGV0aWNFdmVudCxcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgR2xvYmFsLCBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3JlYWN0LWJyb2FkY2FzdCc7XG5pbXBvcnQgdHlwZSB7IFRGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3R5cGVzJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgTmF2TGluayB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHR5cGUge1xuICBUTm9ybWFsaXplZE1lbnVWaXNpYmlsaXRpZXMsXG4gIFROb3JtYWxpemVkUGVybWlzc2lvbnMsXG4gIFROb3JtYWxpemVkQWN0aW9uUmlnaHRzLFxuICBUTm9ybWFsaXplZERhdGFGZW5jZXMsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnO1xuaW1wb3J0IE1pc3NpbmdJbWFnZVN2ZyBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hc3NldHMvaW1hZ2VzL2RpYWdvbmFsLWxpbmUuc3ZnJztcbmltcG9ydCB7IE5PX1ZBTFVFX0ZBTExCQUNLIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvY29uc3RhbnRzJztcbmltcG9ydCB7IFJlc3RyaWN0ZWRCeVBlcm1pc3Npb25zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvcGVybWlzc2lvbnMnO1xuaW1wb3J0IHtcbiAgQmFja0ljb24sXG4gIFNpZGViYXJFeHBhbmRJY29uLFxuICBTaWRlYmFyQ29sbGFwc2VJY29uLFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucyc7XG5pbXBvcnQgSW5saW5lU3ZnIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ljb25zL2lubGluZS1zdmcnO1xuaW1wb3J0IHsgRElNRU5TSU9OUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgdHlwZSB7XG4gIFREYXRhRmVuY2UsXG4gIFRBY3Rpb25SaWdodCxcbiAgVExvY2FsaXplZEZpZWxkLFxufSBmcm9tICcuLi8uLi8uLi90eXBlcy9nZW5lcmF0ZWQvcHJveHknO1xuaW1wb3J0IHsgbG9jYXRpb24gfSBmcm9tICcuLi8uLi8uLi91dGlscy9sb2NhdGlvbic7XG4vLyBodHRwczovL2JhYmVsanMuaW8vYmxvZy8yMDE3LzA5LzExL3plcm8tY29uZmlnLXdpdGgtYmFiZWwtbWFjcm9zXG5pbXBvcnQgY29tcGlsZWRTdHlsZXMgZnJvbSAvKiBwcmV2YWwgKi8gJy4vbmF2YmFyLnN0eWxlcyc7XG5cbmNvbnN0IHN0eWxlcyA9IGNvbXBpbGVkU3R5bGVzLmpzb25NYXA7XG5cbnR5cGUgVFByb2plY3RQZXJtaXNzaW9ucyA9IHtcbiAgcGVybWlzc2lvbnM6IFROb3JtYWxpemVkUGVybWlzc2lvbnMgfCBudWxsO1xuICBhY3Rpb25SaWdodHM6IFROb3JtYWxpemVkQWN0aW9uUmlnaHRzIHwgbnVsbDtcbiAgZGF0YUZlbmNlczogVE5vcm1hbGl6ZWREYXRhRmVuY2VzIHwgbnVsbDtcbn07XG5cbmNvbnN0IEhlYXJ0SWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvaGVhcnQnKSk7XG5jb25zdCBQYXBlcmNsaXBJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9wYXBlcmNsaXAnKSk7XG5jb25zdCBQbHVnaW5JY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9wbHVnaW4nKSk7XG5jb25zdCBSb2NrZXRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9yb2NrZXQnKSk7XG5jb25zdCBTdGFySWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvc3RhcicpKTtcbmNvbnN0IENvbm5lY3RlZFNxdWFyZUljb24gPSBsYXp5KFxuICAoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9jb25uZWN0ZWQtc3F1YXJlJylcbik7XG5jb25zdCBXb3JsZEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3dvcmxkJykpO1xuY29uc3QgVHJlZVN0cnVjdHVyZUljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3RyZWUtc3RydWN0dXJlJykpO1xuY29uc3QgVXNlckZpbGxlZEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3VzZXItZmlsbGVkJykpO1xuY29uc3QgU3BlZWRvbWV0ZXJJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9zcGVlZG9tZXRlcicpKTtcbmNvbnN0IFRhZ011bHRpSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvdGFnLW11bHRpJykpO1xuY29uc3QgQ2FydEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL2NhcnQnKSk7XG5jb25zdCBCb3hJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9ib3gnKSk7XG5jb25zdCBHZWFySWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvZ2VhcicpKTtcbmNvbnN0IExpc3RXaXRoU2VhcmNoSWNvbiA9IGxhenkoXG4gICgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL2xpc3Qtd2l0aC1zZWFyY2gnKVxuKTtcblxudHlwZSBJY29uUHJvcHMgPSBQYXJhbWV0ZXJzPHR5cGVvZiBCYWNrSWNvbj5bMF07XG50eXBlIEljb25Td2l0Y2hlclByb3BzID0geyBpY29uOiBzdHJpbmcgfSAmIEljb25Qcm9wcztcbi8vIFRoZSBpY29uIGlzIGV4cGVjdGVkIHRvIGJlIHRoZSBgc3ZnYCBkb2N1bWVudCBhcyBhIHN0cmluZy5cbi8vIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBwdXJwb3Nlcywgd2Ugc3RpbGwgc3VwcG9ydCB0aGUgbGVnYWN5IFwiaWNvbiBuYW1lXCIsXG4vLyB3aGljaCB3ZSB0aGVuIG1hcCB0byBvbmUgb2YgdGhlIHByZS1kZWZpbmVkIGljb25zLlxuLy8gRXZlbnR1YWxseSwgd2Ugd2FudCB0byBnZXQgcmlkIG9mIHRoaXMgXCJzd2l0Y2hcIiBsb2dpYy5cbmNvbnN0IEljb25Td2l0Y2hlciA9ICh7IGljb24sIC4uLmljb25Qcm9wcyB9OiBJY29uU3dpdGNoZXJQcm9wcykgPT4ge1xuICBpZiAoaWNvbi5pbmNsdWRlcygnPHN2ZycpKSB7XG4gICAgcmV0dXJuIDxJbmxpbmVTdmcgZGF0YT17aWNvbn0gey4uLmljb25Qcm9wc30gLz47XG4gIH1cbiAgLy8gQmFja3dhcmRzIGNvbXBhdGliaWxpdHkgZm9yIGFwcHMgdXNpbmcgdGhlIFwiaWNvbiBuYW1lXCIuXG4gIHN3aXRjaCAoaWNvbikge1xuICAgIC8vIExlZ2FjeSBhcHBsaWNhdGlvbiBpY29uc1xuICAgIC8vIFRPRE86IFRvIGJlIHJlbW92ZWQgb25jZSBNQyBhcHBsaWNhdGlvbnMgaWNvbnMgdXBkYXRlcyBhcmUgcHVibGlzaGVkXG4gICAgY2FzZSAnVHJlZVN0cnVjdHVyZUljb24nOlxuICAgICAgcmV0dXJuIDxUcmVlU3RydWN0dXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdVc2VyRmlsbGVkSWNvbic6XG4gICAgICByZXR1cm4gPFVzZXJGaWxsZWRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1NwZWVkb21ldGVySWNvbic6XG4gICAgICByZXR1cm4gPFNwZWVkb21ldGVySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdUYWdNdWx0aUljb24nOlxuICAgICAgcmV0dXJuIDxUYWdNdWx0aUljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnQ2FydEljb24nOlxuICAgICAgcmV0dXJuIDxDYXJ0SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdCb3hJY29uJzpcbiAgICAgIHJldHVybiA8Qm94SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdHZWFySWNvbic6XG4gICAgICByZXR1cm4gPEdlYXJJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ0xpc3RXaXRoU2VhcmNoSWNvbic6XG4gICAgICByZXR1cm4gPExpc3RXaXRoU2VhcmNoSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcblxuICAgIC8vIEN1c3RvbSBhcHBsaWNhdGlvbiBpY29ucyBzZXRcbiAgICBjYXNlICdIZWFydEljb24nOlxuICAgICAgcmV0dXJuIDxIZWFydEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUGFwZXJjbGlwSWNvbic6XG4gICAgICByZXR1cm4gPFBhcGVyY2xpcEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUGx1Z2luSWNvbic6XG4gICAgICByZXR1cm4gPFBsdWdpbkljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUm9ja2V0SWNvbic6XG4gICAgICByZXR1cm4gPFJvY2tldEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnU3Rhckljb24nOlxuICAgICAgcmV0dXJuIDxTdGFySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdDb25uZWN0ZWRTcXVhcmVJY29uJzpcbiAgICAgIHJldHVybiA8Q29ubmVjdGVkU3F1YXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICAvLyBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcbiAgICBjYXNlICdXb3JsZEljb24nOlxuICAgICAgcmV0dXJuIDxXb3JsZEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiA8aW1nIHNyYz17TWlzc2luZ0ltYWdlU3ZnfSBhbHQ9XCJtaXNzaW5nIGljb25cIiAvPjtcbiAgfVxufTtcbkljb25Td2l0Y2hlci5kaXNwbGF5TmFtZSA9ICdJY29uU3dpdGNoZXInO1xuXG50eXBlIE1lbnVFeHBhbmRlclByb3BzID0ge1xuICBpc1Zpc2libGU6IGJvb2xlYW47XG4gIG9uQ2xpY2s6IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50PjtcbiAgaXNNZW51T3BlbjogYm9vbGVhbjtcbn07XG5cbmNvbnN0IGdldEljb24gPSAoeyBpc01lbnVPcGVuIH06IE1lbnVFeHBhbmRlclByb3BzKSA9PiB7XG4gIGNvbnN0IEljb24gPSBpc01lbnVPcGVuID8gU2lkZWJhckNvbGxhcHNlSWNvbiA6IFNpZGViYXJFeHBhbmRJY29uO1xuICByZXR1cm4gPEljb24gY29sb3I9XCJzdXJmYWNlXCIgc2l6ZT1cImJpZ1wiIC8+O1xufTtcblxuY29uc3QgTWVudUV4cGFuZGVyID0gKHByb3BzOiBNZW51RXhwYW5kZXJQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxsaVxuICAgICAga2V5PVwiZXhwYW5kZXJcIlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKHN0eWxlc1snbGlzdC1pdGVtJ10sIHN0eWxlcy5leHBhbmRlciwge1xuICAgICAgICBbc3R5bGVzLmhpZGRlbl06ICFwcm9wcy5pc1Zpc2libGUsXG4gICAgICB9KX1cbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIG9uQ2xpY2s9e3Byb3BzLm9uQ2xpY2t9XG4gICAgICAgIGNsYXNzTmFtZT17c3R5bGVzWydleHBhbmQtaWNvbiddfVxuICAgICAgICBkYXRhLXRlc3RpZD1cIm1lbnUtZXhwYW5kZXJcIlxuICAgICAgPlxuICAgICAgICB7Z2V0SWNvbihwcm9wcyl9XG4gICAgICA8L2Rpdj5cbiAgICA8L2xpPlxuICApO1xufTtcbk1lbnVFeHBhbmRlci5kaXNwbGF5TmFtZSA9ICdNZW51RXhwYW5kZXInO1xuXG5jb25zdCBGYWRlZCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgwLCAxNTMsIDEzNSwgMCkgMCUsICMwMGIzOWUgMTAwJSk7XG4gIHotaW5kZXg6IDE7XG5gO1xuXG50eXBlIE1lbnVHcm91cFByb3BzID0ge1xuICBpZDogc3RyaW5nO1xuICBsZXZlbDogMSB8IDI7XG4gIGlzQWN0aXZlPzogYm9vbGVhbjtcbiAgaXNFeHBhbmRlZD86IGJvb2xlYW47XG4gIGhhc1N1Ym1lbnU/OiBib29sZWFuO1xuICBjaGlsZHJlbj86IFJlYWN0Tm9kZTtcbiAgc3VibWVudVZlcnRpY2FsUG9zaXRpb24/OiBudW1iZXI7XG4gIGlzU3VibWVudUFib3ZlTWVudUl0ZW0/OiBib29sZWFuO1xufTtcblxuY29uc3QgZ2V0U3VibWVudVBvc2l0aW9uQmFzZWRPbk1lbnVJdGVtUG9zaXRpb24gPSAoXG4gIGlzU3VibWVudUFib3ZlTWVudUl0ZW0/OiBib29sZWFuLFxuICBzdWJtZW51VmVydGljYWxQb3NpdGlvbj86IG51bWJlclxuKSA9PiBjc3NgXG4gICR7aXNTdWJtZW51QWJvdmVNZW51SXRlbSA/ICdib3R0b20nIDogJ3RvcCd9OiAke3N1Ym1lbnVWZXJ0aWNhbFBvc2l0aW9ufXB4XG5gO1xuXG5jb25zdCBnZXRDb250YWluZXJQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uID0gKFxuICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtPzogYm9vbGVhbixcbiAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZD86IGJvb2xlYW4sXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkPzogYm9vbGVhblxuKSA9PiBbXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmXG4gICAgY3NzYFxuICAgICAgJHtpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtXG4gICAgICAgID8gJ2JvdHRvbSdcbiAgICAgICAgOiAndG9wJ306IC0ke0RJTUVOU0lPTlMubmF2TWVudUl0ZW1IZWlnaHR9O1xuICAgIGAsXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgJiZcbiAgICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtICYmXG4gICAgY3NzYFxuICAgICAgYm90dG9tOiAwO1xuICAgIGAsXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgJiZcbiAgICAhaXNTdWJtZW51QWJvdmVNZW51SXRlbSAmJlxuICAgIGNzc2BcbiAgICAgIHRvcDogMDtcbiAgICBgLFxuXTtcblxuY29uc3QgTWVudUdyb3VwID0gZm9yd2FyZFJlZjxIVE1MVUxpc3RFbGVtZW50LCBNZW51R3JvdXBQcm9wcz4oKHByb3BzLCByZWYpID0+IHtcbiAgaWYgKFxuICAgIHByb3BzLmlzRXhwYW5kZWQgJiZcbiAgICAoKHByb3BzLmxldmVsID09PSAyICYmICFwcm9wcy5oYXNTdWJtZW51KSB8fFxuICAgICAgKHByb3BzLmxldmVsID09PSAyICYmICFwcm9wcy5pc0FjdGl2ZSkpXG4gICkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGNvbnN0IGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgPVxuICAgIHByb3BzLmxldmVsID09PSAyICYmIHByb3BzLmlzQWN0aXZlICYmIHByb3BzLmlzRXhwYW5kZWQ7XG4gIGNvbnN0IGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkID1cbiAgICBwcm9wcy5sZXZlbCA9PT0gMiAmJiBwcm9wcy5pc0FjdGl2ZSAmJiAhcHJvcHMuaXNFeHBhbmRlZDtcbiAgcmV0dXJuIChcbiAgICA8dWxcbiAgICAgIHJlZj17cmVmICYmIHByb3BzLmxldmVsID09PSAyID8gcmVmIDogbnVsbH1cbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICAke2dldFN1Ym1lbnVQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uKFxuICAgICAgICAgIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgICAgcHJvcHMuc3VibWVudVZlcnRpY2FsUG9zaXRpb25cbiAgICAgICAgKX07XG5cbiAgICAgICAgLy8gYWRkaXRpb25hbCBzdHlsaW5nIG9mIHRoZSBwc2V1ZG8tZWxlbWVudCBlbmFibGluZyBzbW9vdGggY291cnNvciBtb3ZlbWVudFxuICAgICAgICA6OmJlZm9yZSB7XG4gICAgICAgICAgJHtnZXRDb250YWluZXJQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uKFxuICAgICAgICAgICAgcHJvcHMuaXNTdWJtZW51QWJvdmVNZW51SXRlbSxcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQsXG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZFxuICAgICAgICAgICl9XG4gICAgICBgfVxuICAgICAgaWQ9e2Bncm91cC0ke3Byb3BzLmlkfWB9XG4gICAgICBkYXRhLXRlc3RpZD17YGdyb3VwLSR7cHJvcHMuaWR9YH1cbiAgICAgIHJvbGU9XCJtZW51XCJcbiAgICAgIGFyaWEtZXhwYW5kZWQ9e1xuICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkIHx8XG4gICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkXG4gICAgICB9XG4gICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoXG4gICAgICAgIHsgW3N0eWxlcy5saXN0XTogcHJvcHMubGV2ZWwgPT09IDEgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QnXV06IHByb3BzLmxldmVsID09PSAyLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlc1snc3VibGlzdC1leHBhbmRlZF9fYWN0aXZlJ11dOlxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtY29sbGFwc2VkX19lbXB0eSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmICFwcm9wcy5oYXNTdWJtZW51LFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlc1snc3VibGlzdC1jb2xsYXBzZWRfX2FjdGl2ZSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmXG4gICAgICAgICAgICAhcHJvcHMuaXNTdWJtZW51QWJvdmVNZW51SXRlbSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtY29sbGFwc2VkX19hY3RpdmVfX2Fib3ZlJ11dOlxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQgJiYgcHJvcHMuaXNTdWJtZW51QWJvdmVNZW51SXRlbSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXMuc3VibGlzdF9faW5hY3RpdmVdOiAhaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQsXG4gICAgICAgIH1cbiAgICAgICl9XG4gICAgPlxuICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgIDwvdWw+XG4gICk7XG59KTtcbk1lbnVHcm91cC5kaXNwbGF5TmFtZSA9ICdNZW51R3JvdXAnO1xuXG50eXBlIE1lbnVJdGVtUHJvcHMgPSB7XG4gIGhhc1N1Ym1lbnU6IGJvb2xlYW47XG4gIGlzQWN0aXZlOiBib29sZWFuO1xuICBpc01haW5NZW51Um91dGVBY3RpdmU/OiBib29sZWFuO1xuICBpc01lbnVPcGVuOiBib29sZWFuO1xuICBvbkNsaWNrOiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD47XG4gIG9uTW91c2VFbnRlcj86IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50PjtcbiAgb25Nb3VzZUxlYXZlPzogTW91c2VFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+O1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBpZGVudGlmaWVyPzogc3RyaW5nO1xufTtcbmNvbnN0IE1lbnVJdGVtID0gKHByb3BzOiBNZW51SXRlbVByb3BzKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGxpXG4gICAgICByb2xlPVwibWVudWl0ZW1cIlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKHN0eWxlc1snbGlzdC1pdGVtJ10sIHtcbiAgICAgICAgW3N0eWxlcy5pdGVtX19hY3RpdmVdOiBwcm9wcy5pc0FjdGl2ZSxcbiAgICAgICAgW3N0eWxlc1snaXRlbV9tZW51X19hY3RpdmUnXV06IHByb3BzLmlzTWFpbk1lbnVSb3V0ZUFjdGl2ZSA/PyBmYWxzZSxcbiAgICAgICAgW3N0eWxlc1snaXRlbV9tZW51LWNvbGxhcHNlZCddXTogIXByb3BzLmlzTWVudU9wZW4sXG4gICAgICB9KX1cbiAgICAgIG9uQ2xpY2s9e3Byb3BzLm9uQ2xpY2t9XG4gICAgICBvbk1vdXNlRW50ZXI9e3Byb3BzLm9uTW91c2VFbnRlcn1cbiAgICAgIG9uTW91c2VMZWF2ZT17cHJvcHMub25Nb3VzZUxlYXZlfVxuICAgICAgZGF0YS1tZW51aXRlbT17cHJvcHMuaWRlbnRpZmllcn1cbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydpdGVtLWxpbmsnXX0+e3Byb3BzLmNoaWxkcmVufTwvZGl2PlxuICAgIDwvbGk+XG4gICk7XG59O1xuXG5NZW51SXRlbS5kaXNwbGF5TmFtZSA9ICdNZW51SXRlbSc7XG5cbmV4cG9ydCB0eXBlIE1lbnVJdGVtTGlua1Byb3BzID0ge1xuICBsaW5rVG8/OiBzdHJpbmc7XG4gIGV4YWN0TWF0Y2g6IGJvb2xlYW47XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIG9uQ2xpY2s/OiAoZXZlbnQ6IFN5bnRoZXRpY0V2ZW50PEhUTUxBbmNob3JFbGVtZW50PikgPT4gdm9pZDtcbiAgdXNlRnVsbFJlZGlyZWN0c0ZvckxpbmtzPzogYm9vbGVhbjtcbiAgaXNTdWJtZW51TGluaz86IGJvb2xlYW47XG59O1xuY29uc3QgbWVudUl0ZW1MaW5rRGVmYXVsdFByb3BzOiBQaWNrPE1lbnVJdGVtTGlua1Byb3BzLCAnZXhhY3RNYXRjaCc+ID0ge1xuICBleGFjdE1hdGNoOiBmYWxzZSxcbn07XG5jb25zdCBOYXZMaW5rV3JhcHBlciA9IChwcm9wczogTWVudUl0ZW1MaW5rUHJvcHMpID0+IHtcbiAgaWYgKHByb3BzLmlzU3VibWVudUxpbmspIHtcbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1sndGV4dC1saW5rLXN1Ymxpc3Qtd3JhcHBlciddfT5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxuICByZXR1cm4gPD57cHJvcHMuY2hpbGRyZW59PC8+O1xufTtcbmNvbnN0IE5hdkxpbmtDbGlja2FibGVDb250ZW50V3JhcHBlciA9IChwcm9wczogTWVudUl0ZW1MaW5rUHJvcHMpID0+IHtcbiAgaWYgKHByb3BzLmlzU3VibWVudUxpbmspIHtcbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snbmF2bGluay1jbGlja2FibGUtY29udGVudCddfT5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxuICByZXR1cm4gPD57cHJvcHMuY2hpbGRyZW59PC8+O1xufTtcblxuY29uc3QgTWVudUl0ZW1MaW5rID0gKHByb3BzOiBNZW51SXRlbUxpbmtQcm9wcykgPT4ge1xuICBjb25zdCByZWRpcmVjdFRvID0gKHRhcmdldFVybDogc3RyaW5nKSA9PiBsb2NhdGlvbi5yZXBsYWNlKHRhcmdldFVybCk7XG4gIGlmIChwcm9wcy5saW5rVG8pIHtcbiAgICByZXR1cm4gKFxuICAgICAgPE5hdkxpbmtXcmFwcGVyIHsuLi5wcm9wc30+XG4gICAgICAgIDxOYXZMaW5rXG4gICAgICAgICAgdG89e3Byb3BzLmxpbmtUb31cbiAgICAgICAgICBleGFjdD17cHJvcHMuZXhhY3RNYXRjaH1cbiAgICAgICAgICBhY3RpdmVDbGFzc05hbWU9e3N0eWxlcy5oaWdobGlnaHRlZH1cbiAgICAgICAgICBjbGFzc05hbWU9e1xuICAgICAgICAgICAgcHJvcHMuaXNTdWJtZW51TGlua1xuICAgICAgICAgICAgICA/IHN0eWxlc1sndGV4dC1saW5rLXN1Ymxpc3QnXVxuICAgICAgICAgICAgICA6IHN0eWxlc1sndGV4dC1saW5rJ11cbiAgICAgICAgICB9XG4gICAgICAgICAgb25DbGljaz17KGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBpZiAocHJvcHMubGlua1RvICYmIHByb3BzLnVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rcykge1xuICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICByZWRpcmVjdFRvKHByb3BzLmxpbmtUbyk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHByb3BzLm9uQ2xpY2spIHtcbiAgICAgICAgICAgICAgZXZlbnQucGVyc2lzdCgpO1xuICAgICAgICAgICAgICBwcm9wcy5vbkNsaWNrKGV2ZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAgPE5hdkxpbmtDbGlja2FibGVDb250ZW50V3JhcHBlciB7Li4ucHJvcHN9PlxuICAgICAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgICAgIDwvTmF2TGlua0NsaWNrYWJsZUNvbnRlbnRXcmFwcGVyPlxuICAgICAgICA8L05hdkxpbms+XG4gICAgICA8L05hdkxpbmtXcmFwcGVyPlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5NZW51SXRlbUxpbmsuZGlzcGxheU5hbWUgPSAnTWVudUl0ZW1MaW5rJztcbk1lbnVJdGVtTGluay5kZWZhdWx0UHJvcHMgPSBtZW51SXRlbUxpbmtEZWZhdWx0UHJvcHM7XG5cbmNvbnN0IGlzRXZlcnlNZW51VmlzaWJpbGl0eVNldFRvSGlkZGVuID0gKFxuICBtZW51VmlzaWJpbGl0aWVzPzogVE5vcm1hbGl6ZWRNZW51VmlzaWJpbGl0aWVzIHwgbnVsbCxcbiAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXM/OiBzdHJpbmdbXVxuKSA9PlxuICBBcnJheS5pc0FycmF5KG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzKSAmJlxuICBuYW1lc09mTWVudVZpc2liaWxpdGllcy5sZW5ndGggPiAwICYmXG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzLmV2ZXJ5KFxuICAgIChuYW1lT2ZNZW51VmlzaWJpbGl0eSkgPT5cbiAgICAgIG1lbnVWaXNpYmlsaXRpZXMgJiYgbWVudVZpc2liaWxpdGllc1tuYW1lT2ZNZW51VmlzaWJpbGl0eV0gPT09IHRydWVcbiAgKTtcblxudHlwZSBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcyA9IHtcbiAgZmVhdHVyZVRvZ2dsZT86IHN0cmluZztcbiAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXM/OiBzdHJpbmdbXTtcbiAgcHJvamVjdFBlcm1pc3Npb25zOiBUUHJvamVjdFBlcm1pc3Npb25zO1xuICBtZW51VmlzaWJpbGl0aWVzOiBUTm9ybWFsaXplZE1lbnVWaXNpYmlsaXRpZXMgfCBudWxsO1xuICBrZXlPZk1lbnVJdGVtOiBzdHJpbmc7XG4gIHBlcm1pc3Npb25zOiBzdHJpbmdbXTtcbiAgYWN0aW9uUmlnaHRzPzogVEFjdGlvblJpZ2h0W107XG4gIGRhdGFGZW5jZXM/OiBURGF0YUZlbmNlW107XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59O1xudHlwZSBUTG9uZ0xpdmVkRmxhZyA9IHtcbiAgdmFsdWU6IGJvb2xlYW47XG4gIHJlYXNvbj86IHN0cmluZztcbn07XG5jb25zdCByZXN0cmljdGVkTWVudUl0ZW1EZWZhdWx0UHJvcHM6IFBpY2s8XG4gIFJlc3RyaWN0ZWRNZW51SXRlbVByb3BzLFxuICAncGVybWlzc2lvbnMnXG4+ID0ge1xuICBwZXJtaXNzaW9uczogW10sXG59O1xuZnVuY3Rpb24gaXNMb25nTGl2ZWRGbGFnKFxuICBmbGFnOiBURmxhZ1ZhcmlhdGlvbiB8IFRMb25nTGl2ZWRGbGFnXG4pOiBmbGFnIGlzIFRMb25nTGl2ZWRGbGFnIHtcbiAgcmV0dXJuIHR5cGVvZiAoZmxhZyBhcyBUTG9uZ0xpdmVkRmxhZyk/LnZhbHVlID09PSAnYm9vbGVhbic7XG59XG5jb25zdCBSZXN0cmljdGVkTWVudUl0ZW0gPSAocHJvcHM6IFJlc3RyaWN0ZWRNZW51SXRlbVByb3BzKSA9PiB7XG4gIC8vIE5PVEU6IEN1c3RvbSBhcHBsaWNhdGlvbiBhcmUgYWN0aXZhdGVkL2RlYWN0aXZhdGVkIHdoaWxlIHRoZWlyXG4gIC8vIHZpc2liaWxpdHkgaXMgbm90IGNvbnRyb2xsZWQgdmlhIGEgdmlzaWJpaWxpdHkgb3ZlcndyaXRlLlxuICBjb25zdCBmbGFnVmFyaWF0aW9uID0gdXNlRmxhZ1ZhcmlhdGlvbihwcm9wcy5mZWF0dXJlVG9nZ2xlKTtcbiAgaWYgKFxuICAgIGlzRXZlcnlNZW51VmlzaWJpbGl0eVNldFRvSGlkZGVuKFxuICAgICAgcHJvcHMubWVudVZpc2liaWxpdGllcyxcbiAgICAgIHByb3BzLm5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzXG4gICAgKVxuICApXG4gICAgcmV0dXJuIG51bGw7XG5cbiAgY29uc3QgcGVybWlzc2lvbnNXcmFwcGVyID1cbiAgICAoQXJyYXkuaXNBcnJheShwcm9wcy5wZXJtaXNzaW9ucykgJiYgcHJvcHMucGVybWlzc2lvbnMubGVuZ3RoID4gMCkgfHxcbiAgICAoQXJyYXkuaXNBcnJheShwcm9wcy5kYXRhRmVuY2VzKSAmJiBwcm9wcy5kYXRhRmVuY2VzLmxlbmd0aCA+IDApID8gKFxuICAgICAgPFJlc3RyaWN0ZWRCeVBlcm1pc3Npb25zXG4gICAgICAgIHBlcm1pc3Npb25zPXtwcm9wcy5wZXJtaXNzaW9uc31cbiAgICAgICAgYWN0aW9uUmlnaHRzPXtwcm9wcy5hY3Rpb25SaWdodHN9XG4gICAgICAgIGRhdGFGZW5jZXM9e3Byb3BzLmRhdGFGZW5jZXN9XG4gICAgICAgIHNlbGVjdERhdGFGZW5jZURhdGE9eyhkZW1hbmRlZERhdGFGZW5jZSkgPT4ge1xuICAgICAgICAgIHN3aXRjaCAoZGVtYW5kZWREYXRhRmVuY2UudHlwZSkge1xuICAgICAgICAgICAgY2FzZSAnc3RvcmUnOlxuICAgICAgICAgICAgICByZXR1cm4gZGVtYW5kZWREYXRhRmVuY2UuYWN0dWFsRGF0YUZlbmNlVmFsdWVzO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9fVxuICAgICAgICAvLyBBbHdheXMgY2hlY2sgdGhhdCBzb21lIG9mIHRoZSBnaXZlbiBwZXJtaXNzaW9ucyBtYXRjaC5cbiAgICAgICAgc2hvdWxkTWF0Y2hTb21lUGVybWlzc2lvbnM9e3RydWV9XG4gICAgICAgIHByb2plY3RQZXJtaXNzaW9ucz17cHJvcHMucHJvamVjdFBlcm1pc3Npb25zfVxuICAgICAgPlxuICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICA8L1Jlc3RyaWN0ZWRCeVBlcm1pc3Npb25zPlxuICAgICkgOiAoXG4gICAgICA8Pntwcm9wcy5jaGlsZHJlbn08Lz5cbiAgICApO1xuXG4gIGlmIChwcm9wcy5mZWF0dXJlVG9nZ2xlKSB7XG4gICAgLy8gQSByZWd1bGFyIHNob3J0LWxpdmVkIGZlYXR1cmUgdG9nZ2xlXG4gICAgaWYgKGZsYWdWYXJpYXRpb24gPT09IHRydWUpIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG4gICAgLy8gQSBsb25nLWxpdmVkIGZlYXR1cmUgdG9nZ2xlIHdpdGggYHsgdmFsdWU6IGJvb2xlYW4sIHN0cmluZzogcmVhc29uIH1gXG4gICAgaWYgKGlzTG9uZ0xpdmVkRmxhZyhmbGFnVmFyaWF0aW9uKSAmJiBmbGFnVmFyaWF0aW9uLnZhbHVlID09PSB0cnVlKVxuICAgICAgcmV0dXJuIHBlcm1pc3Npb25zV3JhcHBlcjtcblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIHBlcm1pc3Npb25zV3JhcHBlcjtcbn07XG5SZXN0cmljdGVkTWVudUl0ZW0uZGlzcGxheU5hbWUgPSAnUmVzdHJpY3RlZE1lbnVJdGVtJztcblJlc3RyaWN0ZWRNZW51SXRlbS5kZWZhdWx0UHJvcHMgPSByZXN0cmljdGVkTWVudUl0ZW1EZWZhdWx0UHJvcHM7XG5cbnR5cGUgTWVudUxhYmVsUHJvcHMgPSB7XG4gIGxhYmVsQWxsTG9jYWxlczogVExvY2FsaXplZEZpZWxkW107XG4gIGRlZmF1bHRMYWJlbD86IHN0cmluZztcbiAgYXBwbGljYXRpb25Mb2NhbGU6IHN0cmluZztcbn07XG5jb25zdCBNZW51TGFiZWwgPSAocHJvcHM6IE1lbnVMYWJlbFByb3BzKSA9PiB7XG4gIGNvbnN0IGxvY2FsaXplZExhYmVsID0gcHJvcHMubGFiZWxBbGxMb2NhbGVzLmZpbmQoKGxvYykgPT5cbiAgICBwcm9wcy5hcHBsaWNhdGlvbkxvY2FsZS5zdGFydHNXaXRoKGxvYy5sb2NhbGUpXG4gICk7XG4gIGlmIChsb2NhbGl6ZWRMYWJlbCkgcmV0dXJuIDw+e2xvY2FsaXplZExhYmVsLnZhbHVlfTwvPjtcbiAgaWYgKHByb3BzLmRlZmF1bHRMYWJlbCkgcmV0dXJuIDw+e3Byb3BzLmRlZmF1bHRMYWJlbH08Lz47XG4gIHJldHVybiA8PntOT19WQUxVRV9GQUxMQkFDS308Lz47XG59O1xuXG50eXBlIFROYXZCYXJMYXlvdXRQcm9wcyA9IHtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbn07XG5jb25zdCBOYXZCYXJMYXlvdXQgPSBmb3J3YXJkUmVmPEhUTUxFbGVtZW50LCBUTmF2QmFyTGF5b3V0UHJvcHM+KFxuICAocHJvcHMsIHJlZikgPT4gKFxuICAgIDw+XG4gICAgICA8R2xvYmFsXG4gICAgICAgIHN0eWxlcz17Y3NzYFxuICAgICAgICAgICR7Y29tcGlsZWRTdHlsZXMuZ2xvYmFsfVxuICAgICAgICBgfVxuICAgICAgLz5cbiAgICAgIDxuYXZcbiAgICAgICAgcmVmPXtyZWZ9XG4gICAgICAgIGNsYXNzTmFtZT17c3R5bGVzWydsZWZ0LW5hdmlnYXRpb24nXX1cbiAgICAgICAgZGF0YS10ZXN0PVwibGVmdC1uYXZpZ2F0aW9uXCJcbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJsZWZ0LW5hdmlnYXRpb25cIlxuICAgICAgPlxuICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICA8L25hdj5cbiAgICA8Lz5cbiAgKVxuKTtcbk5hdkJhckxheW91dC5kaXNwbGF5TmFtZSA9ICdOYXZCYXJMYXlvdXQnO1xuXG50eXBlIEl0ZW1Db250YWluZXJQcm9wcyA9IHtcbiAgbGFiZWxBbGxMb2NhbGVzOiBUTG9jYWxpemVkRmllbGRbXTtcbiAgZGVmYXVsdExhYmVsPzogc3RyaW5nO1xuICBhcHBsaWNhdGlvbkxvY2FsZTogc3RyaW5nO1xuICBpY29uOiBzdHJpbmc7XG4gIGlzTWVudU9wZW4/OiBib29sZWFuO1xufTtcblxuY29uc3QgSXRlbUNvbnRhaW5lciA9IChwcm9wczogSXRlbUNvbnRhaW5lclByb3BzKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaXRlbS1pY29uLXRleHQnXX0+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydpY29uLWNvbnRhaW5lciddfT5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlcy5pY29ufT5cbiAgICAgICAgICA8SWNvblN3aXRjaGVyIGljb249e3Byb3BzLmljb259IHNpemU9XCJzY2FsZVwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICB7cHJvcHMuaXNNZW51T3BlbiA/IChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlcy50aXRsZX0+XG4gICAgICAgICAgPE1lbnVMYWJlbFxuICAgICAgICAgICAgbGFiZWxBbGxMb2NhbGVzPXtwcm9wcy5sYWJlbEFsbExvY2FsZXN9XG4gICAgICAgICAgICBkZWZhdWx0TGFiZWw9e3Byb3BzLmRlZmF1bHRMYWJlbH1cbiAgICAgICAgICAgIGFwcGxpY2F0aW9uTG9jYWxlPXtwcm9wcy5hcHBsaWNhdGlvbkxvY2FsZX1cbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICkgOiBudWxsfVxuICAgIDwvZGl2PlxuICApO1xufTtcblxuSXRlbUNvbnRhaW5lci5kaXNwbGF5TmFtZSA9ICdJdGVtQ29udGFpbmVyJztcblxuZXhwb3J0IHtcbiAgUmVzdHJpY3RlZE1lbnVJdGVtLFxuICBNZW51SXRlbSxcbiAgTWVudUl0ZW1MaW5rLFxuICBJY29uU3dpdGNoZXIsXG4gIE1lbnVHcm91cCxcbiAgTWVudUxhYmVsLFxuICBNZW51RXhwYW5kZXIsXG4gIEZhZGVkLFxuICBOYXZCYXJMYXlvdXQsXG4gIEl0ZW1Db250YWluZXIsXG59O1xuIl19 */"),
510
+ css: /*#__PURE__*/css(getSubmenuPositionBasedOnMenuItemPosition(props.isSubmenuAboveMenuItem, props.submenuVerticalPosition), ";", props.submenuVerticalPosition === 0 && _ref, "::before{", getContainerPositionBasedOnMenuItemPosition(props.isSubmenuAboveMenuItem, isSublistActiveWhileIsMenuExpanded, isSublistActiveWhileIsMenuCollapsed), ";}" + (process.env.NODE_ENV === "production" ? "" : ";label:MenuGroup;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1lbnUtaXRlbXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXVOYyIsImZpbGUiOiJtZW51LWl0ZW1zLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGZvcndhcmRSZWYsXG4gIGxhenksXG4gIE1vdXNlRXZlbnRIYW5kbGVyLFxuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdHlwZSBTeW50aGV0aWNFdmVudCxcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgR2xvYmFsLCBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3JlYWN0LWJyb2FkY2FzdCc7XG5pbXBvcnQgdHlwZSB7IFRGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3R5cGVzJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgTmF2TGluayB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHR5cGUge1xuICBUTm9ybWFsaXplZE1lbnVWaXNpYmlsaXRpZXMsXG4gIFROb3JtYWxpemVkUGVybWlzc2lvbnMsXG4gIFROb3JtYWxpemVkQWN0aW9uUmlnaHRzLFxuICBUTm9ybWFsaXplZERhdGFGZW5jZXMsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnO1xuaW1wb3J0IE1pc3NpbmdJbWFnZVN2ZyBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hc3NldHMvaW1hZ2VzL2RpYWdvbmFsLWxpbmUuc3ZnJztcbmltcG9ydCB7IE5PX1ZBTFVFX0ZBTExCQUNLIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvY29uc3RhbnRzJztcbmltcG9ydCB7IFJlc3RyaWN0ZWRCeVBlcm1pc3Npb25zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvcGVybWlzc2lvbnMnO1xuaW1wb3J0IHtcbiAgQmFja0ljb24sXG4gIFNpZGViYXJFeHBhbmRJY29uLFxuICBTaWRlYmFyQ29sbGFwc2VJY29uLFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucyc7XG5pbXBvcnQgSW5saW5lU3ZnIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ljb25zL2lubGluZS1zdmcnO1xuaW1wb3J0IHsgRElNRU5TSU9OUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgdHlwZSB7XG4gIFREYXRhRmVuY2UsXG4gIFRBY3Rpb25SaWdodCxcbiAgVExvY2FsaXplZEZpZWxkLFxufSBmcm9tICcuLi8uLi8uLi90eXBlcy9nZW5lcmF0ZWQvcHJveHknO1xuaW1wb3J0IHsgbG9jYXRpb24gfSBmcm9tICcuLi8uLi8uLi91dGlscy9sb2NhdGlvbic7XG4vLyBodHRwczovL2JhYmVsanMuaW8vYmxvZy8yMDE3LzA5LzExL3plcm8tY29uZmlnLXdpdGgtYmFiZWwtbWFjcm9zXG5pbXBvcnQgY29tcGlsZWRTdHlsZXMgZnJvbSAvKiBwcmV2YWwgKi8gJy4vbmF2YmFyLnN0eWxlcyc7XG5cbmNvbnN0IHN0eWxlcyA9IGNvbXBpbGVkU3R5bGVzLmpzb25NYXA7XG5cbnR5cGUgVFByb2plY3RQZXJtaXNzaW9ucyA9IHtcbiAgcGVybWlzc2lvbnM6IFROb3JtYWxpemVkUGVybWlzc2lvbnMgfCBudWxsO1xuICBhY3Rpb25SaWdodHM6IFROb3JtYWxpemVkQWN0aW9uUmlnaHRzIHwgbnVsbDtcbiAgZGF0YUZlbmNlczogVE5vcm1hbGl6ZWREYXRhRmVuY2VzIHwgbnVsbDtcbn07XG5cbmNvbnN0IEhlYXJ0SWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvaGVhcnQnKSk7XG5jb25zdCBQYXBlcmNsaXBJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9wYXBlcmNsaXAnKSk7XG5jb25zdCBQbHVnaW5JY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9wbHVnaW4nKSk7XG5jb25zdCBSb2NrZXRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9yb2NrZXQnKSk7XG5jb25zdCBTdGFySWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvc3RhcicpKTtcbmNvbnN0IENvbm5lY3RlZFNxdWFyZUljb24gPSBsYXp5KFxuICAoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9jb25uZWN0ZWQtc3F1YXJlJylcbik7XG5jb25zdCBXb3JsZEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3dvcmxkJykpO1xuY29uc3QgVHJlZVN0cnVjdHVyZUljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3RyZWUtc3RydWN0dXJlJykpO1xuY29uc3QgVXNlckZpbGxlZEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3VzZXItZmlsbGVkJykpO1xuY29uc3QgU3BlZWRvbWV0ZXJJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9zcGVlZG9tZXRlcicpKTtcbmNvbnN0IFRhZ011bHRpSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvdGFnLW11bHRpJykpO1xuY29uc3QgQ2FydEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL2NhcnQnKSk7XG5jb25zdCBCb3hJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9ib3gnKSk7XG5jb25zdCBHZWFySWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvZ2VhcicpKTtcbmNvbnN0IExpc3RXaXRoU2VhcmNoSWNvbiA9IGxhenkoXG4gICgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL2xpc3Qtd2l0aC1zZWFyY2gnKVxuKTtcblxudHlwZSBJY29uUHJvcHMgPSBQYXJhbWV0ZXJzPHR5cGVvZiBCYWNrSWNvbj5bMF07XG50eXBlIEljb25Td2l0Y2hlclByb3BzID0geyBpY29uOiBzdHJpbmcgfSAmIEljb25Qcm9wcztcbi8vIFRoZSBpY29uIGlzIGV4cGVjdGVkIHRvIGJlIHRoZSBgc3ZnYCBkb2N1bWVudCBhcyBhIHN0cmluZy5cbi8vIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBwdXJwb3Nlcywgd2Ugc3RpbGwgc3VwcG9ydCB0aGUgbGVnYWN5IFwiaWNvbiBuYW1lXCIsXG4vLyB3aGljaCB3ZSB0aGVuIG1hcCB0byBvbmUgb2YgdGhlIHByZS1kZWZpbmVkIGljb25zLlxuLy8gRXZlbnR1YWxseSwgd2Ugd2FudCB0byBnZXQgcmlkIG9mIHRoaXMgXCJzd2l0Y2hcIiBsb2dpYy5cbmNvbnN0IEljb25Td2l0Y2hlciA9ICh7IGljb24sIC4uLmljb25Qcm9wcyB9OiBJY29uU3dpdGNoZXJQcm9wcykgPT4ge1xuICBpZiAoaWNvbi5pbmNsdWRlcygnPHN2ZycpKSB7XG4gICAgcmV0dXJuIDxJbmxpbmVTdmcgZGF0YT17aWNvbn0gey4uLmljb25Qcm9wc30gLz47XG4gIH1cbiAgLy8gQmFja3dhcmRzIGNvbXBhdGliaWxpdHkgZm9yIGFwcHMgdXNpbmcgdGhlIFwiaWNvbiBuYW1lXCIuXG4gIHN3aXRjaCAoaWNvbikge1xuICAgIC8vIExlZ2FjeSBhcHBsaWNhdGlvbiBpY29uc1xuICAgIC8vIFRPRE86IFRvIGJlIHJlbW92ZWQgb25jZSBNQyBhcHBsaWNhdGlvbnMgaWNvbnMgdXBkYXRlcyBhcmUgcHVibGlzaGVkXG4gICAgY2FzZSAnVHJlZVN0cnVjdHVyZUljb24nOlxuICAgICAgcmV0dXJuIDxUcmVlU3RydWN0dXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdVc2VyRmlsbGVkSWNvbic6XG4gICAgICByZXR1cm4gPFVzZXJGaWxsZWRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1NwZWVkb21ldGVySWNvbic6XG4gICAgICByZXR1cm4gPFNwZWVkb21ldGVySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdUYWdNdWx0aUljb24nOlxuICAgICAgcmV0dXJuIDxUYWdNdWx0aUljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnQ2FydEljb24nOlxuICAgICAgcmV0dXJuIDxDYXJ0SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdCb3hJY29uJzpcbiAgICAgIHJldHVybiA8Qm94SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdHZWFySWNvbic6XG4gICAgICByZXR1cm4gPEdlYXJJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ0xpc3RXaXRoU2VhcmNoSWNvbic6XG4gICAgICByZXR1cm4gPExpc3RXaXRoU2VhcmNoSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcblxuICAgIC8vIEN1c3RvbSBhcHBsaWNhdGlvbiBpY29ucyBzZXRcbiAgICBjYXNlICdIZWFydEljb24nOlxuICAgICAgcmV0dXJuIDxIZWFydEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUGFwZXJjbGlwSWNvbic6XG4gICAgICByZXR1cm4gPFBhcGVyY2xpcEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUGx1Z2luSWNvbic6XG4gICAgICByZXR1cm4gPFBsdWdpbkljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUm9ja2V0SWNvbic6XG4gICAgICByZXR1cm4gPFJvY2tldEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnU3Rhckljb24nOlxuICAgICAgcmV0dXJuIDxTdGFySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdDb25uZWN0ZWRTcXVhcmVJY29uJzpcbiAgICAgIHJldHVybiA8Q29ubmVjdGVkU3F1YXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICAvLyBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcbiAgICBjYXNlICdXb3JsZEljb24nOlxuICAgICAgcmV0dXJuIDxXb3JsZEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiA8aW1nIHNyYz17TWlzc2luZ0ltYWdlU3ZnfSBhbHQ9XCJtaXNzaW5nIGljb25cIiAvPjtcbiAgfVxufTtcbkljb25Td2l0Y2hlci5kaXNwbGF5TmFtZSA9ICdJY29uU3dpdGNoZXInO1xuXG50eXBlIE1lbnVFeHBhbmRlclByb3BzID0ge1xuICBpc1Zpc2libGU6IGJvb2xlYW47XG4gIG9uQ2xpY2s6IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50PjtcbiAgaXNNZW51T3BlbjogYm9vbGVhbjtcbn07XG5cbmNvbnN0IGdldEljb24gPSAoeyBpc01lbnVPcGVuIH06IE1lbnVFeHBhbmRlclByb3BzKSA9PiB7XG4gIGNvbnN0IEljb24gPSBpc01lbnVPcGVuID8gU2lkZWJhckNvbGxhcHNlSWNvbiA6IFNpZGViYXJFeHBhbmRJY29uO1xuICByZXR1cm4gPEljb24gY29sb3I9XCJzdXJmYWNlXCIgc2l6ZT1cImJpZ1wiIC8+O1xufTtcblxuY29uc3QgTWVudUV4cGFuZGVyID0gKHByb3BzOiBNZW51RXhwYW5kZXJQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxsaVxuICAgICAga2V5PVwiZXhwYW5kZXJcIlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKHN0eWxlc1snbGlzdC1pdGVtJ10sIHN0eWxlcy5leHBhbmRlciwge1xuICAgICAgICBbc3R5bGVzLmhpZGRlbl06ICFwcm9wcy5pc1Zpc2libGUsXG4gICAgICB9KX1cbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIG9uQ2xpY2s9e3Byb3BzLm9uQ2xpY2t9XG4gICAgICAgIGNsYXNzTmFtZT17c3R5bGVzWydleHBhbmQtaWNvbiddfVxuICAgICAgICBkYXRhLXRlc3RpZD1cIm1lbnUtZXhwYW5kZXJcIlxuICAgICAgPlxuICAgICAgICB7Z2V0SWNvbihwcm9wcyl9XG4gICAgICA8L2Rpdj5cbiAgICA8L2xpPlxuICApO1xufTtcbk1lbnVFeHBhbmRlci5kaXNwbGF5TmFtZSA9ICdNZW51RXhwYW5kZXInO1xuXG5jb25zdCBGYWRlZCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgwLCAxNTMsIDEzNSwgMCkgMCUsICMwMGIzOWUgMTAwJSk7XG4gIHotaW5kZXg6IDE7XG5gO1xuXG50eXBlIE1lbnVHcm91cFByb3BzID0ge1xuICBpZDogc3RyaW5nO1xuICBsZXZlbDogMSB8IDI7XG4gIGlzQWN0aXZlPzogYm9vbGVhbjtcbiAgaXNFeHBhbmRlZD86IGJvb2xlYW47XG4gIGhhc1N1Ym1lbnU/OiBib29sZWFuO1xuICBjaGlsZHJlbj86IFJlYWN0Tm9kZTtcbiAgc3VibWVudVZlcnRpY2FsUG9zaXRpb24/OiBudW1iZXI7XG4gIGlzU3VibWVudUFib3ZlTWVudUl0ZW0/OiBib29sZWFuO1xufTtcblxuY29uc3QgZ2V0U3VibWVudVBvc2l0aW9uQmFzZWRPbk1lbnVJdGVtUG9zaXRpb24gPSAoXG4gIGlzU3VibWVudUFib3ZlTWVudUl0ZW0/OiBib29sZWFuLFxuICBzdWJtZW51VmVydGljYWxQb3NpdGlvbj86IG51bWJlclxuKSA9PiBjc3NgXG4gICR7aXNTdWJtZW51QWJvdmVNZW51SXRlbSA/ICdib3R0b20nIDogJ3RvcCd9OiAke3N1Ym1lbnVWZXJ0aWNhbFBvc2l0aW9ufXB4XG5gO1xuXG5jb25zdCBnZXRDb250YWluZXJQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uID0gKFxuICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtPzogYm9vbGVhbixcbiAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZD86IGJvb2xlYW4sXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkPzogYm9vbGVhblxuKSA9PiBbXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmXG4gICAgY3NzYFxuICAgICAgJHtpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtXG4gICAgICAgID8gJ2JvdHRvbSdcbiAgICAgICAgOiAndG9wJ306IC0ke0RJTUVOU0lPTlMubmF2TWVudUl0ZW1IZWlnaHR9O1xuICAgIGAsXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgJiZcbiAgICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtICYmXG4gICAgY3NzYFxuICAgICAgYm90dG9tOiAwO1xuICAgIGAsXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgJiZcbiAgICAhaXNTdWJtZW51QWJvdmVNZW51SXRlbSAmJlxuICAgIGNzc2BcbiAgICAgIHRvcDogMDtcbiAgICBgLFxuXTtcblxuY29uc3QgTWVudUdyb3VwID0gZm9yd2FyZFJlZjxIVE1MVUxpc3RFbGVtZW50LCBNZW51R3JvdXBQcm9wcz4oKHByb3BzLCByZWYpID0+IHtcbiAgaWYgKFxuICAgIHByb3BzLmlzRXhwYW5kZWQgJiZcbiAgICAoKHByb3BzLmxldmVsID09PSAyICYmICFwcm9wcy5oYXNTdWJtZW51KSB8fFxuICAgICAgKHByb3BzLmxldmVsID09PSAyICYmICFwcm9wcy5pc0FjdGl2ZSkpXG4gICkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGNvbnN0IGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgPVxuICAgIHByb3BzLmxldmVsID09PSAyICYmIHByb3BzLmlzQWN0aXZlICYmIHByb3BzLmlzRXhwYW5kZWQ7XG4gIGNvbnN0IGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkID1cbiAgICBwcm9wcy5sZXZlbCA9PT0gMiAmJiBwcm9wcy5pc0FjdGl2ZSAmJiAhcHJvcHMuaXNFeHBhbmRlZDtcbiAgcmV0dXJuIChcbiAgICA8dWxcbiAgICAgIHJlZj17cmVmICYmIHByb3BzLmxldmVsID09PSAyID8gcmVmIDogbnVsbH1cbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICAke2dldFN1Ym1lbnVQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uKFxuICAgICAgICAgIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgICAgcHJvcHMuc3VibWVudVZlcnRpY2FsUG9zaXRpb25cbiAgICAgICAgKX07XG4gICAgICBcbiAgICAgIC8vIHByZXZlbnQgZ2xpdGNoeSBiZWhhdmlvciBkdXJpbmcgdGhlIGluaXRpYWwgcmVuZGVyIHdoZW4gdGhlIHN1Ym1lbnUncyB2ZXJ0aWNhbCBwb3NpdGlvbiBpcyBldmFsdWF0ZWQgYXMgMFxuICAgICAgJHtcbiAgICAgICAgcHJvcHMuc3VibWVudVZlcnRpY2FsUG9zaXRpb24gPT09IDAgJiZcbiAgICAgICAgY3NzYFxuICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgYFxuICAgICAgfVxuXG4gICAgICAgIC8vIGFkZGl0aW9uYWwgc3R5bGluZyBvZiB0aGUgcHNldWRvLWVsZW1lbnQgZW5hYmxpbmcgc21vb3RoIGNvdXJzb3IgbW92ZW1lbnRcbiAgICAgICAgOjpiZWZvcmUge1xuICAgICAgICAgICR7Z2V0Q29udGFpbmVyUG9zaXRpb25CYXNlZE9uTWVudUl0ZW1Qb3NpdGlvbihcbiAgICAgICAgICAgIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkLFxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWRcbiAgICAgICAgICApfVxuICAgICAgYH1cbiAgICAgIGlkPXtgZ3JvdXAtJHtwcm9wcy5pZH1gfVxuICAgICAgZGF0YS10ZXN0aWQ9e2Bncm91cC0ke3Byb3BzLmlkfWB9XG4gICAgICByb2xlPVwibWVudVwiXG4gICAgICBhcmlhLWV4cGFuZGVkPXtcbiAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCB8fFxuICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZFxuICAgICAgfVxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKFxuICAgICAgICB7IFtzdHlsZXMubGlzdF06IHByb3BzLmxldmVsID09PSAxIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0J11dOiBwcm9wcy5sZXZlbCA9PT0gMixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtZXhwYW5kZWRfX2FjdGl2ZSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0LWNvbGxhcHNlZF9fZW1wdHknXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCAmJiAhcHJvcHMuaGFzU3VibWVudSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtY29sbGFwc2VkX19hY3RpdmUnXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCAmJlxuICAgICAgICAgICAgIXByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0LWNvbGxhcHNlZF9fYWN0aXZlX19hYm92ZSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzLnN1Ymxpc3RfX2luYWN0aXZlXTogIWlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkLFxuICAgICAgICB9XG4gICAgICApfVxuICAgID5cbiAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICA8L3VsPlxuICApO1xufSk7XG5NZW51R3JvdXAuZGlzcGxheU5hbWUgPSAnTWVudUdyb3VwJztcblxudHlwZSBNZW51SXRlbVByb3BzID0ge1xuICBoYXNTdWJtZW51OiBib29sZWFuO1xuICBpc0FjdGl2ZTogYm9vbGVhbjtcbiAgaXNNYWluTWVudVJvdXRlQWN0aXZlPzogYm9vbGVhbjtcbiAgaXNNZW51T3BlbjogYm9vbGVhbjtcbiAgb25DbGljazogTW91c2VFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+O1xuICBvbk1vdXNlRW50ZXI/OiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD47XG4gIG9uTW91c2VMZWF2ZT86IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50PjtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgaWRlbnRpZmllcj86IHN0cmluZztcbn07XG5jb25zdCBNZW51SXRlbSA9IChwcm9wczogTWVudUl0ZW1Qcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxsaVxuICAgICAgcm9sZT1cIm1lbnVpdGVtXCJcbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcyhzdHlsZXNbJ2xpc3QtaXRlbSddLCB7XG4gICAgICAgIFtzdHlsZXMuaXRlbV9fYWN0aXZlXTogcHJvcHMuaXNBY3RpdmUsXG4gICAgICAgIFtzdHlsZXNbJ2l0ZW1fbWVudV9fYWN0aXZlJ11dOiBwcm9wcy5pc01haW5NZW51Um91dGVBY3RpdmUgPz8gZmFsc2UsXG4gICAgICAgIFtzdHlsZXNbJ2l0ZW1fbWVudS1jb2xsYXBzZWQnXV06ICFwcm9wcy5pc01lbnVPcGVuLFxuICAgICAgfSl9XG4gICAgICBvbkNsaWNrPXtwcm9wcy5vbkNsaWNrfVxuICAgICAgb25Nb3VzZUVudGVyPXtwcm9wcy5vbk1vdXNlRW50ZXJ9XG4gICAgICBvbk1vdXNlTGVhdmU9e3Byb3BzLm9uTW91c2VMZWF2ZX1cbiAgICAgIGRhdGEtbWVudWl0ZW09e3Byb3BzLmlkZW50aWZpZXJ9XG4gICAgPlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaXRlbS1saW5rJ119Pntwcm9wcy5jaGlsZHJlbn08L2Rpdj5cbiAgICA8L2xpPlxuICApO1xufTtcblxuTWVudUl0ZW0uZGlzcGxheU5hbWUgPSAnTWVudUl0ZW0nO1xuXG5leHBvcnQgdHlwZSBNZW51SXRlbUxpbmtQcm9wcyA9IHtcbiAgbGlua1RvPzogc3RyaW5nO1xuICBleGFjdE1hdGNoOiBib29sZWFuO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBvbkNsaWNrPzogKGV2ZW50OiBTeW50aGV0aWNFdmVudDxIVE1MQW5jaG9yRWxlbWVudD4pID0+IHZvaWQ7XG4gIHVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rcz86IGJvb2xlYW47XG4gIGlzU3VibWVudUxpbms/OiBib29sZWFuO1xufTtcbmNvbnN0IG1lbnVJdGVtTGlua0RlZmF1bHRQcm9wczogUGljazxNZW51SXRlbUxpbmtQcm9wcywgJ2V4YWN0TWF0Y2gnPiA9IHtcbiAgZXhhY3RNYXRjaDogZmFsc2UsXG59O1xuY29uc3QgTmF2TGlua1dyYXBwZXIgPSAocHJvcHM6IE1lbnVJdGVtTGlua1Byb3BzKSA9PiB7XG4gIGlmIChwcm9wcy5pc1N1Ym1lbnVMaW5rKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ3RleHQtbGluay1zdWJsaXN0LXdyYXBwZXInXX0+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5jb25zdCBOYXZMaW5rQ2xpY2thYmxlQ29udGVudFdyYXBwZXIgPSAocHJvcHM6IE1lbnVJdGVtTGlua1Byb3BzKSA9PiB7XG4gIGlmIChwcm9wcy5pc1N1Ym1lbnVMaW5rKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ25hdmxpbmstY2xpY2thYmxlLWNvbnRlbnQnXX0+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5cbmNvbnN0IE1lbnVJdGVtTGluayA9IChwcm9wczogTWVudUl0ZW1MaW5rUHJvcHMpID0+IHtcbiAgY29uc3QgcmVkaXJlY3RUbyA9ICh0YXJnZXRVcmw6IHN0cmluZykgPT4gbG9jYXRpb24ucmVwbGFjZSh0YXJnZXRVcmwpO1xuICBpZiAocHJvcHMubGlua1RvKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxOYXZMaW5rV3JhcHBlciB7Li4ucHJvcHN9PlxuICAgICAgICA8TmF2TGlua1xuICAgICAgICAgIHRvPXtwcm9wcy5saW5rVG99XG4gICAgICAgICAgZXhhY3Q9e3Byb3BzLmV4YWN0TWF0Y2h9XG4gICAgICAgICAgYWN0aXZlQ2xhc3NOYW1lPXtzdHlsZXMuaGlnaGxpZ2h0ZWR9XG4gICAgICAgICAgY2xhc3NOYW1lPXtcbiAgICAgICAgICAgIHByb3BzLmlzU3VibWVudUxpbmtcbiAgICAgICAgICAgICAgPyBzdHlsZXNbJ3RleHQtbGluay1zdWJsaXN0J11cbiAgICAgICAgICAgICAgOiBzdHlsZXNbJ3RleHQtbGluayddXG4gICAgICAgICAgfVxuICAgICAgICAgIG9uQ2xpY2s9eyhldmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKHByb3BzLmxpbmtUbyAmJiBwcm9wcy51c2VGdWxsUmVkaXJlY3RzRm9yTGlua3MpIHtcbiAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgcmVkaXJlY3RUbyhwcm9wcy5saW5rVG8pO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChwcm9wcy5vbkNsaWNrKSB7XG4gICAgICAgICAgICAgIGV2ZW50LnBlcnNpc3QoKTtcbiAgICAgICAgICAgICAgcHJvcHMub25DbGljayhldmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxOYXZMaW5rQ2xpY2thYmxlQ29udGVudFdyYXBwZXIgey4uLnByb3BzfT5cbiAgICAgICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgICAgICA8L05hdkxpbmtDbGlja2FibGVDb250ZW50V3JhcHBlcj5cbiAgICAgICAgPC9OYXZMaW5rPlxuICAgICAgPC9OYXZMaW5rV3JhcHBlcj5cbiAgICApO1xuICB9XG4gIHJldHVybiA8Pntwcm9wcy5jaGlsZHJlbn08Lz47XG59O1xuTWVudUl0ZW1MaW5rLmRpc3BsYXlOYW1lID0gJ01lbnVJdGVtTGluayc7XG5NZW51SXRlbUxpbmsuZGVmYXVsdFByb3BzID0gbWVudUl0ZW1MaW5rRGVmYXVsdFByb3BzO1xuXG5jb25zdCBpc0V2ZXJ5TWVudVZpc2liaWxpdHlTZXRUb0hpZGRlbiA9IChcbiAgbWVudVZpc2liaWxpdGllcz86IFROb3JtYWxpemVkTWVudVZpc2liaWxpdGllcyB8IG51bGwsXG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPzogc3RyaW5nW11cbikgPT5cbiAgQXJyYXkuaXNBcnJheShuYW1lc09mTWVudVZpc2liaWxpdGllcykgJiZcbiAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXMubGVuZ3RoID4gMCAmJlxuICBuYW1lc09mTWVudVZpc2liaWxpdGllcy5ldmVyeShcbiAgICAobmFtZU9mTWVudVZpc2liaWxpdHkpID0+XG4gICAgICBtZW51VmlzaWJpbGl0aWVzICYmIG1lbnVWaXNpYmlsaXRpZXNbbmFtZU9mTWVudVZpc2liaWxpdHldID09PSB0cnVlXG4gICk7XG5cbnR5cGUgUmVzdHJpY3RlZE1lbnVJdGVtUHJvcHMgPSB7XG4gIGZlYXR1cmVUb2dnbGU/OiBzdHJpbmc7XG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPzogc3RyaW5nW107XG4gIHByb2plY3RQZXJtaXNzaW9uczogVFByb2plY3RQZXJtaXNzaW9ucztcbiAgbWVudVZpc2liaWxpdGllczogVE5vcm1hbGl6ZWRNZW51VmlzaWJpbGl0aWVzIHwgbnVsbDtcbiAga2V5T2ZNZW51SXRlbTogc3RyaW5nO1xuICBwZXJtaXNzaW9uczogc3RyaW5nW107XG4gIGFjdGlvblJpZ2h0cz86IFRBY3Rpb25SaWdodFtdO1xuICBkYXRhRmVuY2VzPzogVERhdGFGZW5jZVtdO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xufTtcbnR5cGUgVExvbmdMaXZlZEZsYWcgPSB7XG4gIHZhbHVlOiBib29sZWFuO1xuICByZWFzb24/OiBzdHJpbmc7XG59O1xuY29uc3QgcmVzdHJpY3RlZE1lbnVJdGVtRGVmYXVsdFByb3BzOiBQaWNrPFxuICBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcyxcbiAgJ3Blcm1pc3Npb25zJ1xuPiA9IHtcbiAgcGVybWlzc2lvbnM6IFtdLFxufTtcbmZ1bmN0aW9uIGlzTG9uZ0xpdmVkRmxhZyhcbiAgZmxhZzogVEZsYWdWYXJpYXRpb24gfCBUTG9uZ0xpdmVkRmxhZ1xuKTogZmxhZyBpcyBUTG9uZ0xpdmVkRmxhZyB7XG4gIHJldHVybiB0eXBlb2YgKGZsYWcgYXMgVExvbmdMaXZlZEZsYWcpPy52YWx1ZSA9PT0gJ2Jvb2xlYW4nO1xufVxuY29uc3QgUmVzdHJpY3RlZE1lbnVJdGVtID0gKHByb3BzOiBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcykgPT4ge1xuICAvLyBOT1RFOiBDdXN0b20gYXBwbGljYXRpb24gYXJlIGFjdGl2YXRlZC9kZWFjdGl2YXRlZCB3aGlsZSB0aGVpclxuICAvLyB2aXNpYmlsaXR5IGlzIG5vdCBjb250cm9sbGVkIHZpYSBhIHZpc2liaWlsaXR5IG92ZXJ3cml0ZS5cbiAgY29uc3QgZmxhZ1ZhcmlhdGlvbiA9IHVzZUZsYWdWYXJpYXRpb24ocHJvcHMuZmVhdHVyZVRvZ2dsZSk7XG4gIGlmIChcbiAgICBpc0V2ZXJ5TWVudVZpc2liaWxpdHlTZXRUb0hpZGRlbihcbiAgICAgIHByb3BzLm1lbnVWaXNpYmlsaXRpZXMsXG4gICAgICBwcm9wcy5uYW1lc09mTWVudVZpc2liaWxpdGllc1xuICAgIClcbiAgKVxuICAgIHJldHVybiBudWxsO1xuXG4gIGNvbnN0IHBlcm1pc3Npb25zV3JhcHBlciA9XG4gICAgKEFycmF5LmlzQXJyYXkocHJvcHMucGVybWlzc2lvbnMpICYmIHByb3BzLnBlcm1pc3Npb25zLmxlbmd0aCA+IDApIHx8XG4gICAgKEFycmF5LmlzQXJyYXkocHJvcHMuZGF0YUZlbmNlcykgJiYgcHJvcHMuZGF0YUZlbmNlcy5sZW5ndGggPiAwKSA/IChcbiAgICAgIDxSZXN0cmljdGVkQnlQZXJtaXNzaW9uc1xuICAgICAgICBwZXJtaXNzaW9ucz17cHJvcHMucGVybWlzc2lvbnN9XG4gICAgICAgIGFjdGlvblJpZ2h0cz17cHJvcHMuYWN0aW9uUmlnaHRzfVxuICAgICAgICBkYXRhRmVuY2VzPXtwcm9wcy5kYXRhRmVuY2VzfVxuICAgICAgICBzZWxlY3REYXRhRmVuY2VEYXRhPXsoZGVtYW5kZWREYXRhRmVuY2UpID0+IHtcbiAgICAgICAgICBzd2l0Y2ggKGRlbWFuZGVkRGF0YUZlbmNlLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ3N0b3JlJzpcbiAgICAgICAgICAgICAgcmV0dXJuIGRlbWFuZGVkRGF0YUZlbmNlLmFjdHVhbERhdGFGZW5jZVZhbHVlcztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfX1cbiAgICAgICAgLy8gQWx3YXlzIGNoZWNrIHRoYXQgc29tZSBvZiB0aGUgZ2l2ZW4gcGVybWlzc2lvbnMgbWF0Y2guXG4gICAgICAgIHNob3VsZE1hdGNoU29tZVBlcm1pc3Npb25zPXt0cnVlfVxuICAgICAgICBwcm9qZWN0UGVybWlzc2lvbnM9e3Byb3BzLnByb2plY3RQZXJtaXNzaW9uc31cbiAgICAgID5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9SZXN0cmljdGVkQnlQZXJtaXNzaW9ucz5cbiAgICApIDogKFxuICAgICAgPD57cHJvcHMuY2hpbGRyZW59PC8+XG4gICAgKTtcblxuICBpZiAocHJvcHMuZmVhdHVyZVRvZ2dsZSkge1xuICAgIC8vIEEgcmVndWxhciBzaG9ydC1saXZlZCBmZWF0dXJlIHRvZ2dsZVxuICAgIGlmIChmbGFnVmFyaWF0aW9uID09PSB0cnVlKSByZXR1cm4gcGVybWlzc2lvbnNXcmFwcGVyO1xuICAgIC8vIEEgbG9uZy1saXZlZCBmZWF0dXJlIHRvZ2dsZSB3aXRoIGB7IHZhbHVlOiBib29sZWFuLCBzdHJpbmc6IHJlYXNvbiB9YFxuICAgIGlmIChpc0xvbmdMaXZlZEZsYWcoZmxhZ1ZhcmlhdGlvbikgJiYgZmxhZ1ZhcmlhdGlvbi52YWx1ZSA9PT0gdHJ1ZSlcbiAgICAgIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG59O1xuUmVzdHJpY3RlZE1lbnVJdGVtLmRpc3BsYXlOYW1lID0gJ1Jlc3RyaWN0ZWRNZW51SXRlbSc7XG5SZXN0cmljdGVkTWVudUl0ZW0uZGVmYXVsdFByb3BzID0gcmVzdHJpY3RlZE1lbnVJdGVtRGVmYXVsdFByb3BzO1xuXG50eXBlIE1lbnVMYWJlbFByb3BzID0ge1xuICBsYWJlbEFsbExvY2FsZXM6IFRMb2NhbGl6ZWRGaWVsZFtdO1xuICBkZWZhdWx0TGFiZWw/OiBzdHJpbmc7XG4gIGFwcGxpY2F0aW9uTG9jYWxlOiBzdHJpbmc7XG59O1xuY29uc3QgTWVudUxhYmVsID0gKHByb3BzOiBNZW51TGFiZWxQcm9wcykgPT4ge1xuICBjb25zdCBsb2NhbGl6ZWRMYWJlbCA9IHByb3BzLmxhYmVsQWxsTG9jYWxlcy5maW5kKChsb2MpID0+XG4gICAgcHJvcHMuYXBwbGljYXRpb25Mb2NhbGUuc3RhcnRzV2l0aChsb2MubG9jYWxlKVxuICApO1xuICBpZiAobG9jYWxpemVkTGFiZWwpIHJldHVybiA8Pntsb2NhbGl6ZWRMYWJlbC52YWx1ZX08Lz47XG4gIGlmIChwcm9wcy5kZWZhdWx0TGFiZWwpIHJldHVybiA8Pntwcm9wcy5kZWZhdWx0TGFiZWx9PC8+O1xuICByZXR1cm4gPD57Tk9fVkFMVUVfRkFMTEJBQ0t9PC8+O1xufTtcblxudHlwZSBUTmF2QmFyTGF5b3V0UHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59O1xuY29uc3QgTmF2QmFyTGF5b3V0ID0gZm9yd2FyZFJlZjxIVE1MRWxlbWVudCwgVE5hdkJhckxheW91dFByb3BzPihcbiAgKHByb3BzLCByZWYpID0+IChcbiAgICA8PlxuICAgICAgPEdsb2JhbFxuICAgICAgICBzdHlsZXM9e2Nzc2BcbiAgICAgICAgICAke2NvbXBpbGVkU3R5bGVzLmdsb2JhbH1cbiAgICAgICAgYH1cbiAgICAgIC8+XG4gICAgICA8bmF2XG4gICAgICAgIHJlZj17cmVmfVxuICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1snbGVmdC1uYXZpZ2F0aW9uJ119XG4gICAgICAgIGRhdGEtdGVzdD1cImxlZnQtbmF2aWdhdGlvblwiXG4gICAgICAgIGRhdGEtdGVzdGlkPVwibGVmdC1uYXZpZ2F0aW9uXCJcbiAgICAgID5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9uYXY+XG4gICAgPC8+XG4gIClcbik7XG5OYXZCYXJMYXlvdXQuZGlzcGxheU5hbWUgPSAnTmF2QmFyTGF5b3V0JztcblxudHlwZSBJdGVtQ29udGFpbmVyUHJvcHMgPSB7XG4gIGxhYmVsQWxsTG9jYWxlczogVExvY2FsaXplZEZpZWxkW107XG4gIGRlZmF1bHRMYWJlbD86IHN0cmluZztcbiAgYXBwbGljYXRpb25Mb2NhbGU6IHN0cmluZztcbiAgaWNvbjogc3RyaW5nO1xuICBpc01lbnVPcGVuPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IEl0ZW1Db250YWluZXIgPSAocHJvcHM6IEl0ZW1Db250YWluZXJQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2l0ZW0taWNvbi10ZXh0J119PlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaWNvbi1jb250YWluZXInXX0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMuaWNvbn0+XG4gICAgICAgICAgPEljb25Td2l0Y2hlciBpY29uPXtwcm9wcy5pY29ufSBzaXplPVwic2NhbGVcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAge3Byb3BzLmlzTWVudU9wZW4gPyAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMudGl0bGV9PlxuICAgICAgICAgIDxNZW51TGFiZWxcbiAgICAgICAgICAgIGxhYmVsQWxsTG9jYWxlcz17cHJvcHMubGFiZWxBbGxMb2NhbGVzfVxuICAgICAgICAgICAgZGVmYXVsdExhYmVsPXtwcm9wcy5kZWZhdWx0TGFiZWx9XG4gICAgICAgICAgICBhcHBsaWNhdGlvbkxvY2FsZT17cHJvcHMuYXBwbGljYXRpb25Mb2NhbGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApIDogbnVsbH1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbkl0ZW1Db250YWluZXIuZGlzcGxheU5hbWUgPSAnSXRlbUNvbnRhaW5lcic7XG5cbmV4cG9ydCB7XG4gIFJlc3RyaWN0ZWRNZW51SXRlbSxcbiAgTWVudUl0ZW0sXG4gIE1lbnVJdGVtTGluayxcbiAgSWNvblN3aXRjaGVyLFxuICBNZW51R3JvdXAsXG4gIE1lbnVMYWJlbCxcbiAgTWVudUV4cGFuZGVyLFxuICBGYWRlZCxcbiAgTmF2QmFyTGF5b3V0LFxuICBJdGVtQ29udGFpbmVyLFxufTtcbiJdfQ== */"),
502
511
  id: "group-".concat(props.id),
503
512
  "data-testid": "group-".concat(props.id),
504
513
  role: "menu",
@@ -713,7 +722,7 @@ MenuLabel$1.propTypes = {
713
722
  };
714
723
  const NavBarLayout$2 = /*#__PURE__*/forwardRef((props, ref) => jsxs(Fragment, {
715
724
  children: [jsx(Global, {
716
- styles: /*#__PURE__*/css(compiledStyles$4.global, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:NavBarLayout;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1lbnUtaXRlbXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQStkbUIiLCJmaWxlIjoibWVudS1pdGVtcy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBmb3J3YXJkUmVmLFxuICBsYXp5LFxuICBNb3VzZUV2ZW50SGFuZGxlcixcbiAgdHlwZSBSZWFjdE5vZGUsXG4gIHR5cGUgU3ludGhldGljRXZlbnQsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEdsb2JhbCwgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgdXNlRmxhZ1ZhcmlhdGlvbiB9IGZyb20gJ0BmbG9wZmxpcC9yZWFjdC1icm9hZGNhc3QnO1xuaW1wb3J0IHR5cGUgeyBURmxhZ1ZhcmlhdGlvbiB9IGZyb20gJ0BmbG9wZmxpcC90eXBlcyc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCB7IE5hdkxpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB0eXBlIHtcbiAgVE5vcm1hbGl6ZWRNZW51VmlzaWJpbGl0aWVzLFxuICBUTm9ybWFsaXplZFBlcm1pc3Npb25zLFxuICBUTm9ybWFsaXplZEFjdGlvblJpZ2h0cyxcbiAgVE5vcm1hbGl6ZWREYXRhRmVuY2VzLFxufSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hcHBsaWNhdGlvbi1zaGVsbC1jb25uZWN0b3JzJztcbmltcG9ydCBNaXNzaW5nSW1hZ2VTdmcgZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXNzZXRzL2ltYWdlcy9kaWFnb25hbC1saW5lLnN2Zyc7XG5pbXBvcnQgeyBOT19WQUxVRV9GQUxMQkFDSyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBSZXN0cmljdGVkQnlQZXJtaXNzaW9ucyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL3Blcm1pc3Npb25zJztcbmltcG9ydCB7XG4gIEJhY2tJY29uLFxuICBTaWRlYmFyRXhwYW5kSWNvbixcbiAgU2lkZWJhckNvbGxhcHNlSWNvbixcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaWNvbnMnO1xuaW1wb3J0IElubGluZVN2ZyBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucy9pbmxpbmUtc3ZnJztcbmltcG9ydCB7IERJTUVOU0lPTlMgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHR5cGUge1xuICBURGF0YUZlbmNlLFxuICBUQWN0aW9uUmlnaHQsXG4gIFRMb2NhbGl6ZWRGaWVsZCxcbn0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvZ2VuZXJhdGVkL3Byb3h5JztcbmltcG9ydCB7IGxvY2F0aW9uIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvbG9jYXRpb24nO1xuLy8gaHR0cHM6Ly9iYWJlbGpzLmlvL2Jsb2cvMjAxNy8wOS8xMS96ZXJvLWNvbmZpZy13aXRoLWJhYmVsLW1hY3Jvc1xuaW1wb3J0IGNvbXBpbGVkU3R5bGVzIGZyb20gLyogcHJldmFsICovICcuL25hdmJhci5zdHlsZXMnO1xuXG5jb25zdCBzdHlsZXMgPSBjb21waWxlZFN0eWxlcy5qc29uTWFwO1xuXG50eXBlIFRQcm9qZWN0UGVybWlzc2lvbnMgPSB7XG4gIHBlcm1pc3Npb25zOiBUTm9ybWFsaXplZFBlcm1pc3Npb25zIHwgbnVsbDtcbiAgYWN0aW9uUmlnaHRzOiBUTm9ybWFsaXplZEFjdGlvblJpZ2h0cyB8IG51bGw7XG4gIGRhdGFGZW5jZXM6IFROb3JtYWxpemVkRGF0YUZlbmNlcyB8IG51bGw7XG59O1xuXG5jb25zdCBIZWFydEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL2hlYXJ0JykpO1xuY29uc3QgUGFwZXJjbGlwSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvcGFwZXJjbGlwJykpO1xuY29uc3QgUGx1Z2luSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvcGx1Z2luJykpO1xuY29uc3QgUm9ja2V0SWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvcm9ja2V0JykpO1xuY29uc3QgU3Rhckljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3N0YXInKSk7XG5jb25zdCBDb25uZWN0ZWRTcXVhcmVJY29uID0gbGF6eShcbiAgKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvY29ubmVjdGVkLXNxdWFyZScpXG4pO1xuY29uc3QgV29ybGRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy93b3JsZCcpKTtcbmNvbnN0IFRyZWVTdHJ1Y3R1cmVJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy90cmVlLXN0cnVjdHVyZScpKTtcbmNvbnN0IFVzZXJGaWxsZWRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy91c2VyLWZpbGxlZCcpKTtcbmNvbnN0IFNwZWVkb21ldGVySWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvc3BlZWRvbWV0ZXInKSk7XG5jb25zdCBUYWdNdWx0aUljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3RhZy1tdWx0aScpKTtcbmNvbnN0IENhcnRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9jYXJ0JykpO1xuY29uc3QgQm94SWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvYm94JykpO1xuY29uc3QgR2Vhckljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL2dlYXInKSk7XG5jb25zdCBMaXN0V2l0aFNlYXJjaEljb24gPSBsYXp5KFxuICAoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9saXN0LXdpdGgtc2VhcmNoJylcbik7XG5cbnR5cGUgSWNvblByb3BzID0gUGFyYW1ldGVyczx0eXBlb2YgQmFja0ljb24+WzBdO1xudHlwZSBJY29uU3dpdGNoZXJQcm9wcyA9IHsgaWNvbjogc3RyaW5nIH0gJiBJY29uUHJvcHM7XG4vLyBUaGUgaWNvbiBpcyBleHBlY3RlZCB0byBiZSB0aGUgYHN2Z2AgZG9jdW1lbnQgYXMgYSBzdHJpbmcuXG4vLyBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgcHVycG9zZXMsIHdlIHN0aWxsIHN1cHBvcnQgdGhlIGxlZ2FjeSBcImljb24gbmFtZVwiLFxuLy8gd2hpY2ggd2UgdGhlbiBtYXAgdG8gb25lIG9mIHRoZSBwcmUtZGVmaW5lZCBpY29ucy5cbi8vIEV2ZW50dWFsbHksIHdlIHdhbnQgdG8gZ2V0IHJpZCBvZiB0aGlzIFwic3dpdGNoXCIgbG9naWMuXG5jb25zdCBJY29uU3dpdGNoZXIgPSAoeyBpY29uLCAuLi5pY29uUHJvcHMgfTogSWNvblN3aXRjaGVyUHJvcHMpID0+IHtcbiAgaWYgKGljb24uaW5jbHVkZXMoJzxzdmcnKSkge1xuICAgIHJldHVybiA8SW5saW5lU3ZnIGRhdGE9e2ljb259IHsuLi5pY29uUHJvcHN9IC8+O1xuICB9XG4gIC8vIEJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IGZvciBhcHBzIHVzaW5nIHRoZSBcImljb24gbmFtZVwiLlxuICBzd2l0Y2ggKGljb24pIHtcbiAgICAvLyBMZWdhY3kgYXBwbGljYXRpb24gaWNvbnNcbiAgICAvLyBUT0RPOiBUbyBiZSByZW1vdmVkIG9uY2UgTUMgYXBwbGljYXRpb25zIGljb25zIHVwZGF0ZXMgYXJlIHB1Ymxpc2hlZFxuICAgIGNhc2UgJ1RyZWVTdHJ1Y3R1cmVJY29uJzpcbiAgICAgIHJldHVybiA8VHJlZVN0cnVjdHVyZUljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnVXNlckZpbGxlZEljb24nOlxuICAgICAgcmV0dXJuIDxVc2VyRmlsbGVkSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdTcGVlZG9tZXRlckljb24nOlxuICAgICAgcmV0dXJuIDxTcGVlZG9tZXRlckljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnVGFnTXVsdGlJY29uJzpcbiAgICAgIHJldHVybiA8VGFnTXVsdGlJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ0NhcnRJY29uJzpcbiAgICAgIHJldHVybiA8Q2FydEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnQm94SWNvbic6XG4gICAgICByZXR1cm4gPEJveEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnR2Vhckljb24nOlxuICAgICAgcmV0dXJuIDxHZWFySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdMaXN0V2l0aFNlYXJjaEljb24nOlxuICAgICAgcmV0dXJuIDxMaXN0V2l0aFNlYXJjaEljb24gey4uLmljb25Qcm9wc30gLz47XG5cbiAgICAvLyBDdXN0b20gYXBwbGljYXRpb24gaWNvbnMgc2V0XG4gICAgY2FzZSAnSGVhcnRJY29uJzpcbiAgICAgIHJldHVybiA8SGVhcnRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1BhcGVyY2xpcEljb24nOlxuICAgICAgcmV0dXJuIDxQYXBlcmNsaXBJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1BsdWdpbkljb24nOlxuICAgICAgcmV0dXJuIDxQbHVnaW5JY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1JvY2tldEljb24nOlxuICAgICAgcmV0dXJuIDxSb2NrZXRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1N0YXJJY29uJzpcbiAgICAgIHJldHVybiA8U3Rhckljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnQ29ubmVjdGVkU3F1YXJlSWNvbic6XG4gICAgICByZXR1cm4gPENvbm5lY3RlZFNxdWFyZUljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgLy8gRm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG4gICAgY2FzZSAnV29ybGRJY29uJzpcbiAgICAgIHJldHVybiA8V29ybGRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gPGltZyBzcmM9e01pc3NpbmdJbWFnZVN2Z30gYWx0PVwibWlzc2luZyBpY29uXCIgLz47XG4gIH1cbn07XG5JY29uU3dpdGNoZXIuZGlzcGxheU5hbWUgPSAnSWNvblN3aXRjaGVyJztcblxudHlwZSBNZW51RXhwYW5kZXJQcm9wcyA9IHtcbiAgaXNWaXNpYmxlOiBib29sZWFuO1xuICBvbkNsaWNrOiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRGl2RWxlbWVudD47XG4gIGlzTWVudU9wZW46IGJvb2xlYW47XG59O1xuXG5jb25zdCBnZXRJY29uID0gKHsgaXNNZW51T3BlbiB9OiBNZW51RXhwYW5kZXJQcm9wcykgPT4ge1xuICBjb25zdCBJY29uID0gaXNNZW51T3BlbiA/IFNpZGViYXJDb2xsYXBzZUljb24gOiBTaWRlYmFyRXhwYW5kSWNvbjtcbiAgcmV0dXJuIDxJY29uIGNvbG9yPVwic3VyZmFjZVwiIHNpemU9XCJiaWdcIiAvPjtcbn07XG5cbmNvbnN0IE1lbnVFeHBhbmRlciA9IChwcm9wczogTWVudUV4cGFuZGVyUHJvcHMpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8bGlcbiAgICAgIGtleT1cImV4cGFuZGVyXCJcbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcyhzdHlsZXNbJ2xpc3QtaXRlbSddLCBzdHlsZXMuZXhwYW5kZXIsIHtcbiAgICAgICAgW3N0eWxlcy5oaWRkZW5dOiAhcHJvcHMuaXNWaXNpYmxlLFxuICAgICAgfSl9XG4gICAgPlxuICAgICAgPGRpdlxuICAgICAgICBvbkNsaWNrPXtwcm9wcy5vbkNsaWNrfVxuICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1snZXhwYW5kLWljb24nXX1cbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJtZW51LWV4cGFuZGVyXCJcbiAgICAgID5cbiAgICAgICAge2dldEljb24ocHJvcHMpfVxuICAgICAgPC9kaXY+XG4gICAgPC9saT5cbiAgKTtcbn07XG5NZW51RXhwYW5kZXIuZGlzcGxheU5hbWUgPSAnTWVudUV4cGFuZGVyJztcblxuY29uc3QgRmFkZWQgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTMycHg7XG4gIGhlaWdodDogMzJweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMCwgMTUzLCAxMzUsIDApIDAlLCAjMDBiMzllIDEwMCUpO1xuICB6LWluZGV4OiAxO1xuYDtcblxudHlwZSBNZW51R3JvdXBQcm9wcyA9IHtcbiAgaWQ6IHN0cmluZztcbiAgbGV2ZWw6IDEgfCAyO1xuICBpc0FjdGl2ZT86IGJvb2xlYW47XG4gIGlzRXhwYW5kZWQ/OiBib29sZWFuO1xuICBoYXNTdWJtZW51PzogYm9vbGVhbjtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG4gIHN1Ym1lbnVWZXJ0aWNhbFBvc2l0aW9uPzogbnVtYmVyO1xuICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IGdldFN1Ym1lbnVQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uID0gKFxuICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtPzogYm9vbGVhbixcbiAgc3VibWVudVZlcnRpY2FsUG9zaXRpb24/OiBudW1iZXJcbikgPT4gY3NzYFxuICAke2lzU3VibWVudUFib3ZlTWVudUl0ZW0gPyAnYm90dG9tJyA6ICd0b3AnfTogJHtzdWJtZW51VmVydGljYWxQb3NpdGlvbn1weFxuYDtcblxuY29uc3QgZ2V0Q29udGFpbmVyUG9zaXRpb25CYXNlZE9uTWVudUl0ZW1Qb3NpdGlvbiA9IChcbiAgaXNTdWJtZW51QWJvdmVNZW51SXRlbT86IGJvb2xlYW4sXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQ/OiBib29sZWFuLFxuICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZD86IGJvb2xlYW5cbikgPT4gW1xuICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCAmJlxuICAgIGNzc2BcbiAgICAgICR7aXNTdWJtZW51QWJvdmVNZW51SXRlbVxuICAgICAgICA/ICdib3R0b20nXG4gICAgICAgIDogJ3RvcCd9OiAtJHtESU1FTlNJT05TLm5hdk1lbnVJdGVtSGVpZ2h0fTtcbiAgICBgLFxuICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkICYmXG4gICAgaXNTdWJtZW51QWJvdmVNZW51SXRlbSAmJlxuICAgIGNzc2BcbiAgICAgIGJvdHRvbTogMDtcbiAgICBgLFxuICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkICYmXG4gICAgIWlzU3VibWVudUFib3ZlTWVudUl0ZW0gJiZcbiAgICBjc3NgXG4gICAgICB0b3A6IDA7XG4gICAgYCxcbl07XG5cbmNvbnN0IE1lbnVHcm91cCA9IGZvcndhcmRSZWY8SFRNTFVMaXN0RWxlbWVudCwgTWVudUdyb3VwUHJvcHM+KChwcm9wcywgcmVmKSA9PiB7XG4gIGlmIChcbiAgICBwcm9wcy5pc0V4cGFuZGVkICYmXG4gICAgKChwcm9wcy5sZXZlbCA9PT0gMiAmJiAhcHJvcHMuaGFzU3VibWVudSkgfHxcbiAgICAgIChwcm9wcy5sZXZlbCA9PT0gMiAmJiAhcHJvcHMuaXNBY3RpdmUpKVxuICApIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBjb25zdCBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkID1cbiAgICBwcm9wcy5sZXZlbCA9PT0gMiAmJiBwcm9wcy5pc0FjdGl2ZSAmJiBwcm9wcy5pc0V4cGFuZGVkO1xuICBjb25zdCBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCA9XG4gICAgcHJvcHMubGV2ZWwgPT09IDIgJiYgcHJvcHMuaXNBY3RpdmUgJiYgIXByb3BzLmlzRXhwYW5kZWQ7XG4gIHJldHVybiAoXG4gICAgPHVsXG4gICAgICByZWY9e3JlZiAmJiBwcm9wcy5sZXZlbCA9PT0gMiA/IHJlZiA6IG51bGx9XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgJHtnZXRTdWJtZW51UG9zaXRpb25CYXNlZE9uTWVudUl0ZW1Qb3NpdGlvbihcbiAgICAgICAgICBwcm9wcy5pc1N1Ym1lbnVBYm92ZU1lbnVJdGVtLFxuICAgICAgICAgIHByb3BzLnN1Ym1lbnVWZXJ0aWNhbFBvc2l0aW9uXG4gICAgICAgICl9O1xuXG4gICAgICAgIC8vIGFkZGl0aW9uYWwgc3R5bGluZyBvZiB0aGUgcHNldWRvLWVsZW1lbnQgZW5hYmxpbmcgc21vb3RoIGNvdXJzb3IgbW92ZW1lbnRcbiAgICAgICAgOjpiZWZvcmUge1xuICAgICAgICAgICR7Z2V0Q29udGFpbmVyUG9zaXRpb25CYXNlZE9uTWVudUl0ZW1Qb3NpdGlvbihcbiAgICAgICAgICAgIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkLFxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWRcbiAgICAgICAgICApfVxuICAgICAgYH1cbiAgICAgIGlkPXtgZ3JvdXAtJHtwcm9wcy5pZH1gfVxuICAgICAgZGF0YS10ZXN0aWQ9e2Bncm91cC0ke3Byb3BzLmlkfWB9XG4gICAgICByb2xlPVwibWVudVwiXG4gICAgICBhcmlhLWV4cGFuZGVkPXtcbiAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCB8fFxuICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZFxuICAgICAgfVxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKFxuICAgICAgICB7IFtzdHlsZXMubGlzdF06IHByb3BzLmxldmVsID09PSAxIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0J11dOiBwcm9wcy5sZXZlbCA9PT0gMixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtZXhwYW5kZWRfX2FjdGl2ZSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0LWNvbGxhcHNlZF9fZW1wdHknXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCAmJiAhcHJvcHMuaGFzU3VibWVudSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtY29sbGFwc2VkX19hY3RpdmUnXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCAmJlxuICAgICAgICAgICAgIXByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0LWNvbGxhcHNlZF9fYWN0aXZlX19hYm92ZSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzLnN1Ymxpc3RfX2luYWN0aXZlXTogIWlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkLFxuICAgICAgICB9XG4gICAgICApfVxuICAgID5cbiAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICA8L3VsPlxuICApO1xufSk7XG5NZW51R3JvdXAuZGlzcGxheU5hbWUgPSAnTWVudUdyb3VwJztcblxudHlwZSBNZW51SXRlbVByb3BzID0ge1xuICBoYXNTdWJtZW51OiBib29sZWFuO1xuICBpc0FjdGl2ZTogYm9vbGVhbjtcbiAgaXNNYWluTWVudVJvdXRlQWN0aXZlPzogYm9vbGVhbjtcbiAgaXNNZW51T3BlbjogYm9vbGVhbjtcbiAgb25DbGljazogTW91c2VFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+O1xuICBvbk1vdXNlRW50ZXI/OiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD47XG4gIG9uTW91c2VMZWF2ZT86IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50PjtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgaWRlbnRpZmllcj86IHN0cmluZztcbn07XG5jb25zdCBNZW51SXRlbSA9IChwcm9wczogTWVudUl0ZW1Qcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxsaVxuICAgICAgcm9sZT1cIm1lbnVpdGVtXCJcbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcyhzdHlsZXNbJ2xpc3QtaXRlbSddLCB7XG4gICAgICAgIFtzdHlsZXMuaXRlbV9fYWN0aXZlXTogcHJvcHMuaXNBY3RpdmUsXG4gICAgICAgIFtzdHlsZXNbJ2l0ZW1fbWVudV9fYWN0aXZlJ11dOiBwcm9wcy5pc01haW5NZW51Um91dGVBY3RpdmUgPz8gZmFsc2UsXG4gICAgICAgIFtzdHlsZXNbJ2l0ZW1fbWVudS1jb2xsYXBzZWQnXV06ICFwcm9wcy5pc01lbnVPcGVuLFxuICAgICAgfSl9XG4gICAgICBvbkNsaWNrPXtwcm9wcy5vbkNsaWNrfVxuICAgICAgb25Nb3VzZUVudGVyPXtwcm9wcy5vbk1vdXNlRW50ZXJ9XG4gICAgICBvbk1vdXNlTGVhdmU9e3Byb3BzLm9uTW91c2VMZWF2ZX1cbiAgICAgIGRhdGEtbWVudWl0ZW09e3Byb3BzLmlkZW50aWZpZXJ9XG4gICAgPlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaXRlbS1saW5rJ119Pntwcm9wcy5jaGlsZHJlbn08L2Rpdj5cbiAgICA8L2xpPlxuICApO1xufTtcblxuTWVudUl0ZW0uZGlzcGxheU5hbWUgPSAnTWVudUl0ZW0nO1xuXG5leHBvcnQgdHlwZSBNZW51SXRlbUxpbmtQcm9wcyA9IHtcbiAgbGlua1RvPzogc3RyaW5nO1xuICBleGFjdE1hdGNoOiBib29sZWFuO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBvbkNsaWNrPzogKGV2ZW50OiBTeW50aGV0aWNFdmVudDxIVE1MQW5jaG9yRWxlbWVudD4pID0+IHZvaWQ7XG4gIHVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rcz86IGJvb2xlYW47XG4gIGlzU3VibWVudUxpbms/OiBib29sZWFuO1xufTtcbmNvbnN0IG1lbnVJdGVtTGlua0RlZmF1bHRQcm9wczogUGljazxNZW51SXRlbUxpbmtQcm9wcywgJ2V4YWN0TWF0Y2gnPiA9IHtcbiAgZXhhY3RNYXRjaDogZmFsc2UsXG59O1xuY29uc3QgTmF2TGlua1dyYXBwZXIgPSAocHJvcHM6IE1lbnVJdGVtTGlua1Byb3BzKSA9PiB7XG4gIGlmIChwcm9wcy5pc1N1Ym1lbnVMaW5rKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ3RleHQtbGluay1zdWJsaXN0LXdyYXBwZXInXX0+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5jb25zdCBOYXZMaW5rQ2xpY2thYmxlQ29udGVudFdyYXBwZXIgPSAocHJvcHM6IE1lbnVJdGVtTGlua1Byb3BzKSA9PiB7XG4gIGlmIChwcm9wcy5pc1N1Ym1lbnVMaW5rKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ25hdmxpbmstY2xpY2thYmxlLWNvbnRlbnQnXX0+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5cbmNvbnN0IE1lbnVJdGVtTGluayA9IChwcm9wczogTWVudUl0ZW1MaW5rUHJvcHMpID0+IHtcbiAgY29uc3QgcmVkaXJlY3RUbyA9ICh0YXJnZXRVcmw6IHN0cmluZykgPT4gbG9jYXRpb24ucmVwbGFjZSh0YXJnZXRVcmwpO1xuICBpZiAocHJvcHMubGlua1RvKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxOYXZMaW5rV3JhcHBlciB7Li4ucHJvcHN9PlxuICAgICAgICA8TmF2TGlua1xuICAgICAgICAgIHRvPXtwcm9wcy5saW5rVG99XG4gICAgICAgICAgZXhhY3Q9e3Byb3BzLmV4YWN0TWF0Y2h9XG4gICAgICAgICAgYWN0aXZlQ2xhc3NOYW1lPXtzdHlsZXMuaGlnaGxpZ2h0ZWR9XG4gICAgICAgICAgY2xhc3NOYW1lPXtcbiAgICAgICAgICAgIHByb3BzLmlzU3VibWVudUxpbmtcbiAgICAgICAgICAgICAgPyBzdHlsZXNbJ3RleHQtbGluay1zdWJsaXN0J11cbiAgICAgICAgICAgICAgOiBzdHlsZXNbJ3RleHQtbGluayddXG4gICAgICAgICAgfVxuICAgICAgICAgIG9uQ2xpY2s9eyhldmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKHByb3BzLmxpbmtUbyAmJiBwcm9wcy51c2VGdWxsUmVkaXJlY3RzRm9yTGlua3MpIHtcbiAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgcmVkaXJlY3RUbyhwcm9wcy5saW5rVG8pO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChwcm9wcy5vbkNsaWNrKSB7XG4gICAgICAgICAgICAgIGV2ZW50LnBlcnNpc3QoKTtcbiAgICAgICAgICAgICAgcHJvcHMub25DbGljayhldmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxOYXZMaW5rQ2xpY2thYmxlQ29udGVudFdyYXBwZXIgey4uLnByb3BzfT5cbiAgICAgICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgICAgICA8L05hdkxpbmtDbGlja2FibGVDb250ZW50V3JhcHBlcj5cbiAgICAgICAgPC9OYXZMaW5rPlxuICAgICAgPC9OYXZMaW5rV3JhcHBlcj5cbiAgICApO1xuICB9XG4gIHJldHVybiA8Pntwcm9wcy5jaGlsZHJlbn08Lz47XG59O1xuTWVudUl0ZW1MaW5rLmRpc3BsYXlOYW1lID0gJ01lbnVJdGVtTGluayc7XG5NZW51SXRlbUxpbmsuZGVmYXVsdFByb3BzID0gbWVudUl0ZW1MaW5rRGVmYXVsdFByb3BzO1xuXG5jb25zdCBpc0V2ZXJ5TWVudVZpc2liaWxpdHlTZXRUb0hpZGRlbiA9IChcbiAgbWVudVZpc2liaWxpdGllcz86IFROb3JtYWxpemVkTWVudVZpc2liaWxpdGllcyB8IG51bGwsXG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPzogc3RyaW5nW11cbikgPT5cbiAgQXJyYXkuaXNBcnJheShuYW1lc09mTWVudVZpc2liaWxpdGllcykgJiZcbiAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXMubGVuZ3RoID4gMCAmJlxuICBuYW1lc09mTWVudVZpc2liaWxpdGllcy5ldmVyeShcbiAgICAobmFtZU9mTWVudVZpc2liaWxpdHkpID0+XG4gICAgICBtZW51VmlzaWJpbGl0aWVzICYmIG1lbnVWaXNpYmlsaXRpZXNbbmFtZU9mTWVudVZpc2liaWxpdHldID09PSB0cnVlXG4gICk7XG5cbnR5cGUgUmVzdHJpY3RlZE1lbnVJdGVtUHJvcHMgPSB7XG4gIGZlYXR1cmVUb2dnbGU/OiBzdHJpbmc7XG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPzogc3RyaW5nW107XG4gIHByb2plY3RQZXJtaXNzaW9uczogVFByb2plY3RQZXJtaXNzaW9ucztcbiAgbWVudVZpc2liaWxpdGllczogVE5vcm1hbGl6ZWRNZW51VmlzaWJpbGl0aWVzIHwgbnVsbDtcbiAga2V5T2ZNZW51SXRlbTogc3RyaW5nO1xuICBwZXJtaXNzaW9uczogc3RyaW5nW107XG4gIGFjdGlvblJpZ2h0cz86IFRBY3Rpb25SaWdodFtdO1xuICBkYXRhRmVuY2VzPzogVERhdGFGZW5jZVtdO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xufTtcbnR5cGUgVExvbmdMaXZlZEZsYWcgPSB7XG4gIHZhbHVlOiBib29sZWFuO1xuICByZWFzb24/OiBzdHJpbmc7XG59O1xuY29uc3QgcmVzdHJpY3RlZE1lbnVJdGVtRGVmYXVsdFByb3BzOiBQaWNrPFxuICBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcyxcbiAgJ3Blcm1pc3Npb25zJ1xuPiA9IHtcbiAgcGVybWlzc2lvbnM6IFtdLFxufTtcbmZ1bmN0aW9uIGlzTG9uZ0xpdmVkRmxhZyhcbiAgZmxhZzogVEZsYWdWYXJpYXRpb24gfCBUTG9uZ0xpdmVkRmxhZ1xuKTogZmxhZyBpcyBUTG9uZ0xpdmVkRmxhZyB7XG4gIHJldHVybiB0eXBlb2YgKGZsYWcgYXMgVExvbmdMaXZlZEZsYWcpPy52YWx1ZSA9PT0gJ2Jvb2xlYW4nO1xufVxuY29uc3QgUmVzdHJpY3RlZE1lbnVJdGVtID0gKHByb3BzOiBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcykgPT4ge1xuICAvLyBOT1RFOiBDdXN0b20gYXBwbGljYXRpb24gYXJlIGFjdGl2YXRlZC9kZWFjdGl2YXRlZCB3aGlsZSB0aGVpclxuICAvLyB2aXNpYmlsaXR5IGlzIG5vdCBjb250cm9sbGVkIHZpYSBhIHZpc2liaWlsaXR5IG92ZXJ3cml0ZS5cbiAgY29uc3QgZmxhZ1ZhcmlhdGlvbiA9IHVzZUZsYWdWYXJpYXRpb24ocHJvcHMuZmVhdHVyZVRvZ2dsZSk7XG4gIGlmIChcbiAgICBpc0V2ZXJ5TWVudVZpc2liaWxpdHlTZXRUb0hpZGRlbihcbiAgICAgIHByb3BzLm1lbnVWaXNpYmlsaXRpZXMsXG4gICAgICBwcm9wcy5uYW1lc09mTWVudVZpc2liaWxpdGllc1xuICAgIClcbiAgKVxuICAgIHJldHVybiBudWxsO1xuXG4gIGNvbnN0IHBlcm1pc3Npb25zV3JhcHBlciA9XG4gICAgKEFycmF5LmlzQXJyYXkocHJvcHMucGVybWlzc2lvbnMpICYmIHByb3BzLnBlcm1pc3Npb25zLmxlbmd0aCA+IDApIHx8XG4gICAgKEFycmF5LmlzQXJyYXkocHJvcHMuZGF0YUZlbmNlcykgJiYgcHJvcHMuZGF0YUZlbmNlcy5sZW5ndGggPiAwKSA/IChcbiAgICAgIDxSZXN0cmljdGVkQnlQZXJtaXNzaW9uc1xuICAgICAgICBwZXJtaXNzaW9ucz17cHJvcHMucGVybWlzc2lvbnN9XG4gICAgICAgIGFjdGlvblJpZ2h0cz17cHJvcHMuYWN0aW9uUmlnaHRzfVxuICAgICAgICBkYXRhRmVuY2VzPXtwcm9wcy5kYXRhRmVuY2VzfVxuICAgICAgICBzZWxlY3REYXRhRmVuY2VEYXRhPXsoZGVtYW5kZWREYXRhRmVuY2UpID0+IHtcbiAgICAgICAgICBzd2l0Y2ggKGRlbWFuZGVkRGF0YUZlbmNlLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ3N0b3JlJzpcbiAgICAgICAgICAgICAgcmV0dXJuIGRlbWFuZGVkRGF0YUZlbmNlLmFjdHVhbERhdGFGZW5jZVZhbHVlcztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfX1cbiAgICAgICAgLy8gQWx3YXlzIGNoZWNrIHRoYXQgc29tZSBvZiB0aGUgZ2l2ZW4gcGVybWlzc2lvbnMgbWF0Y2guXG4gICAgICAgIHNob3VsZE1hdGNoU29tZVBlcm1pc3Npb25zPXt0cnVlfVxuICAgICAgICBwcm9qZWN0UGVybWlzc2lvbnM9e3Byb3BzLnByb2plY3RQZXJtaXNzaW9uc31cbiAgICAgID5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9SZXN0cmljdGVkQnlQZXJtaXNzaW9ucz5cbiAgICApIDogKFxuICAgICAgPD57cHJvcHMuY2hpbGRyZW59PC8+XG4gICAgKTtcblxuICBpZiAocHJvcHMuZmVhdHVyZVRvZ2dsZSkge1xuICAgIC8vIEEgcmVndWxhciBzaG9ydC1saXZlZCBmZWF0dXJlIHRvZ2dsZVxuICAgIGlmIChmbGFnVmFyaWF0aW9uID09PSB0cnVlKSByZXR1cm4gcGVybWlzc2lvbnNXcmFwcGVyO1xuICAgIC8vIEEgbG9uZy1saXZlZCBmZWF0dXJlIHRvZ2dsZSB3aXRoIGB7IHZhbHVlOiBib29sZWFuLCBzdHJpbmc6IHJlYXNvbiB9YFxuICAgIGlmIChpc0xvbmdMaXZlZEZsYWcoZmxhZ1ZhcmlhdGlvbikgJiYgZmxhZ1ZhcmlhdGlvbi52YWx1ZSA9PT0gdHJ1ZSlcbiAgICAgIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG59O1xuUmVzdHJpY3RlZE1lbnVJdGVtLmRpc3BsYXlOYW1lID0gJ1Jlc3RyaWN0ZWRNZW51SXRlbSc7XG5SZXN0cmljdGVkTWVudUl0ZW0uZGVmYXVsdFByb3BzID0gcmVzdHJpY3RlZE1lbnVJdGVtRGVmYXVsdFByb3BzO1xuXG50eXBlIE1lbnVMYWJlbFByb3BzID0ge1xuICBsYWJlbEFsbExvY2FsZXM6IFRMb2NhbGl6ZWRGaWVsZFtdO1xuICBkZWZhdWx0TGFiZWw/OiBzdHJpbmc7XG4gIGFwcGxpY2F0aW9uTG9jYWxlOiBzdHJpbmc7XG59O1xuY29uc3QgTWVudUxhYmVsID0gKHByb3BzOiBNZW51TGFiZWxQcm9wcykgPT4ge1xuICBjb25zdCBsb2NhbGl6ZWRMYWJlbCA9IHByb3BzLmxhYmVsQWxsTG9jYWxlcy5maW5kKChsb2MpID0+XG4gICAgcHJvcHMuYXBwbGljYXRpb25Mb2NhbGUuc3RhcnRzV2l0aChsb2MubG9jYWxlKVxuICApO1xuICBpZiAobG9jYWxpemVkTGFiZWwpIHJldHVybiA8Pntsb2NhbGl6ZWRMYWJlbC52YWx1ZX08Lz47XG4gIGlmIChwcm9wcy5kZWZhdWx0TGFiZWwpIHJldHVybiA8Pntwcm9wcy5kZWZhdWx0TGFiZWx9PC8+O1xuICByZXR1cm4gPD57Tk9fVkFMVUVfRkFMTEJBQ0t9PC8+O1xufTtcblxudHlwZSBUTmF2QmFyTGF5b3V0UHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59O1xuY29uc3QgTmF2QmFyTGF5b3V0ID0gZm9yd2FyZFJlZjxIVE1MRWxlbWVudCwgVE5hdkJhckxheW91dFByb3BzPihcbiAgKHByb3BzLCByZWYpID0+IChcbiAgICA8PlxuICAgICAgPEdsb2JhbFxuICAgICAgICBzdHlsZXM9e2Nzc2BcbiAgICAgICAgICAke2NvbXBpbGVkU3R5bGVzLmdsb2JhbH1cbiAgICAgICAgYH1cbiAgICAgIC8+XG4gICAgICA8bmF2XG4gICAgICAgIHJlZj17cmVmfVxuICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1snbGVmdC1uYXZpZ2F0aW9uJ119XG4gICAgICAgIGRhdGEtdGVzdD1cImxlZnQtbmF2aWdhdGlvblwiXG4gICAgICAgIGRhdGEtdGVzdGlkPVwibGVmdC1uYXZpZ2F0aW9uXCJcbiAgICAgID5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9uYXY+XG4gICAgPC8+XG4gIClcbik7XG5OYXZCYXJMYXlvdXQuZGlzcGxheU5hbWUgPSAnTmF2QmFyTGF5b3V0JztcblxudHlwZSBJdGVtQ29udGFpbmVyUHJvcHMgPSB7XG4gIGxhYmVsQWxsTG9jYWxlczogVExvY2FsaXplZEZpZWxkW107XG4gIGRlZmF1bHRMYWJlbD86IHN0cmluZztcbiAgYXBwbGljYXRpb25Mb2NhbGU6IHN0cmluZztcbiAgaWNvbjogc3RyaW5nO1xuICBpc01lbnVPcGVuPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IEl0ZW1Db250YWluZXIgPSAocHJvcHM6IEl0ZW1Db250YWluZXJQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2l0ZW0taWNvbi10ZXh0J119PlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaWNvbi1jb250YWluZXInXX0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMuaWNvbn0+XG4gICAgICAgICAgPEljb25Td2l0Y2hlciBpY29uPXtwcm9wcy5pY29ufSBzaXplPVwic2NhbGVcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAge3Byb3BzLmlzTWVudU9wZW4gPyAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMudGl0bGV9PlxuICAgICAgICAgIDxNZW51TGFiZWxcbiAgICAgICAgICAgIGxhYmVsQWxsTG9jYWxlcz17cHJvcHMubGFiZWxBbGxMb2NhbGVzfVxuICAgICAgICAgICAgZGVmYXVsdExhYmVsPXtwcm9wcy5kZWZhdWx0TGFiZWx9XG4gICAgICAgICAgICBhcHBsaWNhdGlvbkxvY2FsZT17cHJvcHMuYXBwbGljYXRpb25Mb2NhbGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApIDogbnVsbH1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbkl0ZW1Db250YWluZXIuZGlzcGxheU5hbWUgPSAnSXRlbUNvbnRhaW5lcic7XG5cbmV4cG9ydCB7XG4gIFJlc3RyaWN0ZWRNZW51SXRlbSxcbiAgTWVudUl0ZW0sXG4gIE1lbnVJdGVtTGluayxcbiAgSWNvblN3aXRjaGVyLFxuICBNZW51R3JvdXAsXG4gIE1lbnVMYWJlbCxcbiAgTWVudUV4cGFuZGVyLFxuICBGYWRlZCxcbiAgTmF2QmFyTGF5b3V0LFxuICBJdGVtQ29udGFpbmVyLFxufTtcbiJdfQ== */")
725
+ styles: /*#__PURE__*/css(compiledStyles$4.global, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:NavBarLayout;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1lbnUtaXRlbXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXVlbUIiLCJmaWxlIjoibWVudS1pdGVtcy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBmb3J3YXJkUmVmLFxuICBsYXp5LFxuICBNb3VzZUV2ZW50SGFuZGxlcixcbiAgdHlwZSBSZWFjdE5vZGUsXG4gIHR5cGUgU3ludGhldGljRXZlbnQsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEdsb2JhbCwgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgdXNlRmxhZ1ZhcmlhdGlvbiB9IGZyb20gJ0BmbG9wZmxpcC9yZWFjdC1icm9hZGNhc3QnO1xuaW1wb3J0IHR5cGUgeyBURmxhZ1ZhcmlhdGlvbiB9IGZyb20gJ0BmbG9wZmxpcC90eXBlcyc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCB7IE5hdkxpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB0eXBlIHtcbiAgVE5vcm1hbGl6ZWRNZW51VmlzaWJpbGl0aWVzLFxuICBUTm9ybWFsaXplZFBlcm1pc3Npb25zLFxuICBUTm9ybWFsaXplZEFjdGlvblJpZ2h0cyxcbiAgVE5vcm1hbGl6ZWREYXRhRmVuY2VzLFxufSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hcHBsaWNhdGlvbi1zaGVsbC1jb25uZWN0b3JzJztcbmltcG9ydCBNaXNzaW5nSW1hZ2VTdmcgZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXNzZXRzL2ltYWdlcy9kaWFnb25hbC1saW5lLnN2Zyc7XG5pbXBvcnQgeyBOT19WQUxVRV9GQUxMQkFDSyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBSZXN0cmljdGVkQnlQZXJtaXNzaW9ucyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL3Blcm1pc3Npb25zJztcbmltcG9ydCB7XG4gIEJhY2tJY29uLFxuICBTaWRlYmFyRXhwYW5kSWNvbixcbiAgU2lkZWJhckNvbGxhcHNlSWNvbixcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaWNvbnMnO1xuaW1wb3J0IElubGluZVN2ZyBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucy9pbmxpbmUtc3ZnJztcbmltcG9ydCB7IERJTUVOU0lPTlMgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHR5cGUge1xuICBURGF0YUZlbmNlLFxuICBUQWN0aW9uUmlnaHQsXG4gIFRMb2NhbGl6ZWRGaWVsZCxcbn0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvZ2VuZXJhdGVkL3Byb3h5JztcbmltcG9ydCB7IGxvY2F0aW9uIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvbG9jYXRpb24nO1xuLy8gaHR0cHM6Ly9iYWJlbGpzLmlvL2Jsb2cvMjAxNy8wOS8xMS96ZXJvLWNvbmZpZy13aXRoLWJhYmVsLW1hY3Jvc1xuaW1wb3J0IGNvbXBpbGVkU3R5bGVzIGZyb20gLyogcHJldmFsICovICcuL25hdmJhci5zdHlsZXMnO1xuXG5jb25zdCBzdHlsZXMgPSBjb21waWxlZFN0eWxlcy5qc29uTWFwO1xuXG50eXBlIFRQcm9qZWN0UGVybWlzc2lvbnMgPSB7XG4gIHBlcm1pc3Npb25zOiBUTm9ybWFsaXplZFBlcm1pc3Npb25zIHwgbnVsbDtcbiAgYWN0aW9uUmlnaHRzOiBUTm9ybWFsaXplZEFjdGlvblJpZ2h0cyB8IG51bGw7XG4gIGRhdGFGZW5jZXM6IFROb3JtYWxpemVkRGF0YUZlbmNlcyB8IG51bGw7XG59O1xuXG5jb25zdCBIZWFydEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL2hlYXJ0JykpO1xuY29uc3QgUGFwZXJjbGlwSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvcGFwZXJjbGlwJykpO1xuY29uc3QgUGx1Z2luSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvcGx1Z2luJykpO1xuY29uc3QgUm9ja2V0SWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvcm9ja2V0JykpO1xuY29uc3QgU3Rhckljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3N0YXInKSk7XG5jb25zdCBDb25uZWN0ZWRTcXVhcmVJY29uID0gbGF6eShcbiAgKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvY29ubmVjdGVkLXNxdWFyZScpXG4pO1xuY29uc3QgV29ybGRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy93b3JsZCcpKTtcbmNvbnN0IFRyZWVTdHJ1Y3R1cmVJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy90cmVlLXN0cnVjdHVyZScpKTtcbmNvbnN0IFVzZXJGaWxsZWRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy91c2VyLWZpbGxlZCcpKTtcbmNvbnN0IFNwZWVkb21ldGVySWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvc3BlZWRvbWV0ZXInKSk7XG5jb25zdCBUYWdNdWx0aUljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3RhZy1tdWx0aScpKTtcbmNvbnN0IENhcnRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9jYXJ0JykpO1xuY29uc3QgQm94SWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvYm94JykpO1xuY29uc3QgR2Vhckljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL2dlYXInKSk7XG5jb25zdCBMaXN0V2l0aFNlYXJjaEljb24gPSBsYXp5KFxuICAoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9saXN0LXdpdGgtc2VhcmNoJylcbik7XG5cbnR5cGUgSWNvblByb3BzID0gUGFyYW1ldGVyczx0eXBlb2YgQmFja0ljb24+WzBdO1xudHlwZSBJY29uU3dpdGNoZXJQcm9wcyA9IHsgaWNvbjogc3RyaW5nIH0gJiBJY29uUHJvcHM7XG4vLyBUaGUgaWNvbiBpcyBleHBlY3RlZCB0byBiZSB0aGUgYHN2Z2AgZG9jdW1lbnQgYXMgYSBzdHJpbmcuXG4vLyBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgcHVycG9zZXMsIHdlIHN0aWxsIHN1cHBvcnQgdGhlIGxlZ2FjeSBcImljb24gbmFtZVwiLFxuLy8gd2hpY2ggd2UgdGhlbiBtYXAgdG8gb25lIG9mIHRoZSBwcmUtZGVmaW5lZCBpY29ucy5cbi8vIEV2ZW50dWFsbHksIHdlIHdhbnQgdG8gZ2V0IHJpZCBvZiB0aGlzIFwic3dpdGNoXCIgbG9naWMuXG5jb25zdCBJY29uU3dpdGNoZXIgPSAoeyBpY29uLCAuLi5pY29uUHJvcHMgfTogSWNvblN3aXRjaGVyUHJvcHMpID0+IHtcbiAgaWYgKGljb24uaW5jbHVkZXMoJzxzdmcnKSkge1xuICAgIHJldHVybiA8SW5saW5lU3ZnIGRhdGE9e2ljb259IHsuLi5pY29uUHJvcHN9IC8+O1xuICB9XG4gIC8vIEJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IGZvciBhcHBzIHVzaW5nIHRoZSBcImljb24gbmFtZVwiLlxuICBzd2l0Y2ggKGljb24pIHtcbiAgICAvLyBMZWdhY3kgYXBwbGljYXRpb24gaWNvbnNcbiAgICAvLyBUT0RPOiBUbyBiZSByZW1vdmVkIG9uY2UgTUMgYXBwbGljYXRpb25zIGljb25zIHVwZGF0ZXMgYXJlIHB1Ymxpc2hlZFxuICAgIGNhc2UgJ1RyZWVTdHJ1Y3R1cmVJY29uJzpcbiAgICAgIHJldHVybiA8VHJlZVN0cnVjdHVyZUljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnVXNlckZpbGxlZEljb24nOlxuICAgICAgcmV0dXJuIDxVc2VyRmlsbGVkSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdTcGVlZG9tZXRlckljb24nOlxuICAgICAgcmV0dXJuIDxTcGVlZG9tZXRlckljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnVGFnTXVsdGlJY29uJzpcbiAgICAgIHJldHVybiA8VGFnTXVsdGlJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ0NhcnRJY29uJzpcbiAgICAgIHJldHVybiA8Q2FydEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnQm94SWNvbic6XG4gICAgICByZXR1cm4gPEJveEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnR2Vhckljb24nOlxuICAgICAgcmV0dXJuIDxHZWFySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdMaXN0V2l0aFNlYXJjaEljb24nOlxuICAgICAgcmV0dXJuIDxMaXN0V2l0aFNlYXJjaEljb24gey4uLmljb25Qcm9wc30gLz47XG5cbiAgICAvLyBDdXN0b20gYXBwbGljYXRpb24gaWNvbnMgc2V0XG4gICAgY2FzZSAnSGVhcnRJY29uJzpcbiAgICAgIHJldHVybiA8SGVhcnRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1BhcGVyY2xpcEljb24nOlxuICAgICAgcmV0dXJuIDxQYXBlcmNsaXBJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1BsdWdpbkljb24nOlxuICAgICAgcmV0dXJuIDxQbHVnaW5JY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1JvY2tldEljb24nOlxuICAgICAgcmV0dXJuIDxSb2NrZXRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1N0YXJJY29uJzpcbiAgICAgIHJldHVybiA8U3Rhckljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnQ29ubmVjdGVkU3F1YXJlSWNvbic6XG4gICAgICByZXR1cm4gPENvbm5lY3RlZFNxdWFyZUljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgLy8gRm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG4gICAgY2FzZSAnV29ybGRJY29uJzpcbiAgICAgIHJldHVybiA8V29ybGRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gPGltZyBzcmM9e01pc3NpbmdJbWFnZVN2Z30gYWx0PVwibWlzc2luZyBpY29uXCIgLz47XG4gIH1cbn07XG5JY29uU3dpdGNoZXIuZGlzcGxheU5hbWUgPSAnSWNvblN3aXRjaGVyJztcblxudHlwZSBNZW51RXhwYW5kZXJQcm9wcyA9IHtcbiAgaXNWaXNpYmxlOiBib29sZWFuO1xuICBvbkNsaWNrOiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRGl2RWxlbWVudD47XG4gIGlzTWVudU9wZW46IGJvb2xlYW47XG59O1xuXG5jb25zdCBnZXRJY29uID0gKHsgaXNNZW51T3BlbiB9OiBNZW51RXhwYW5kZXJQcm9wcykgPT4ge1xuICBjb25zdCBJY29uID0gaXNNZW51T3BlbiA/IFNpZGViYXJDb2xsYXBzZUljb24gOiBTaWRlYmFyRXhwYW5kSWNvbjtcbiAgcmV0dXJuIDxJY29uIGNvbG9yPVwic3VyZmFjZVwiIHNpemU9XCJiaWdcIiAvPjtcbn07XG5cbmNvbnN0IE1lbnVFeHBhbmRlciA9IChwcm9wczogTWVudUV4cGFuZGVyUHJvcHMpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8bGlcbiAgICAgIGtleT1cImV4cGFuZGVyXCJcbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcyhzdHlsZXNbJ2xpc3QtaXRlbSddLCBzdHlsZXMuZXhwYW5kZXIsIHtcbiAgICAgICAgW3N0eWxlcy5oaWRkZW5dOiAhcHJvcHMuaXNWaXNpYmxlLFxuICAgICAgfSl9XG4gICAgPlxuICAgICAgPGRpdlxuICAgICAgICBvbkNsaWNrPXtwcm9wcy5vbkNsaWNrfVxuICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1snZXhwYW5kLWljb24nXX1cbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJtZW51LWV4cGFuZGVyXCJcbiAgICAgID5cbiAgICAgICAge2dldEljb24ocHJvcHMpfVxuICAgICAgPC9kaXY+XG4gICAgPC9saT5cbiAgKTtcbn07XG5NZW51RXhwYW5kZXIuZGlzcGxheU5hbWUgPSAnTWVudUV4cGFuZGVyJztcblxuY29uc3QgRmFkZWQgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTMycHg7XG4gIGhlaWdodDogMzJweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMCwgMTUzLCAxMzUsIDApIDAlLCAjMDBiMzllIDEwMCUpO1xuICB6LWluZGV4OiAxO1xuYDtcblxudHlwZSBNZW51R3JvdXBQcm9wcyA9IHtcbiAgaWQ6IHN0cmluZztcbiAgbGV2ZWw6IDEgfCAyO1xuICBpc0FjdGl2ZT86IGJvb2xlYW47XG4gIGlzRXhwYW5kZWQ/OiBib29sZWFuO1xuICBoYXNTdWJtZW51PzogYm9vbGVhbjtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG4gIHN1Ym1lbnVWZXJ0aWNhbFBvc2l0aW9uPzogbnVtYmVyO1xuICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IGdldFN1Ym1lbnVQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uID0gKFxuICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtPzogYm9vbGVhbixcbiAgc3VibWVudVZlcnRpY2FsUG9zaXRpb24/OiBudW1iZXJcbikgPT4gY3NzYFxuICAke2lzU3VibWVudUFib3ZlTWVudUl0ZW0gPyAnYm90dG9tJyA6ICd0b3AnfTogJHtzdWJtZW51VmVydGljYWxQb3NpdGlvbn1weFxuYDtcblxuY29uc3QgZ2V0Q29udGFpbmVyUG9zaXRpb25CYXNlZE9uTWVudUl0ZW1Qb3NpdGlvbiA9IChcbiAgaXNTdWJtZW51QWJvdmVNZW51SXRlbT86IGJvb2xlYW4sXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQ/OiBib29sZWFuLFxuICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZD86IGJvb2xlYW5cbikgPT4gW1xuICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCAmJlxuICAgIGNzc2BcbiAgICAgICR7aXNTdWJtZW51QWJvdmVNZW51SXRlbVxuICAgICAgICA/ICdib3R0b20nXG4gICAgICAgIDogJ3RvcCd9OiAtJHtESU1FTlNJT05TLm5hdk1lbnVJdGVtSGVpZ2h0fTtcbiAgICBgLFxuICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkICYmXG4gICAgaXNTdWJtZW51QWJvdmVNZW51SXRlbSAmJlxuICAgIGNzc2BcbiAgICAgIGJvdHRvbTogMDtcbiAgICBgLFxuICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkICYmXG4gICAgIWlzU3VibWVudUFib3ZlTWVudUl0ZW0gJiZcbiAgICBjc3NgXG4gICAgICB0b3A6IDA7XG4gICAgYCxcbl07XG5cbmNvbnN0IE1lbnVHcm91cCA9IGZvcndhcmRSZWY8SFRNTFVMaXN0RWxlbWVudCwgTWVudUdyb3VwUHJvcHM+KChwcm9wcywgcmVmKSA9PiB7XG4gIGlmIChcbiAgICBwcm9wcy5pc0V4cGFuZGVkICYmXG4gICAgKChwcm9wcy5sZXZlbCA9PT0gMiAmJiAhcHJvcHMuaGFzU3VibWVudSkgfHxcbiAgICAgIChwcm9wcy5sZXZlbCA9PT0gMiAmJiAhcHJvcHMuaXNBY3RpdmUpKVxuICApIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBjb25zdCBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkID1cbiAgICBwcm9wcy5sZXZlbCA9PT0gMiAmJiBwcm9wcy5pc0FjdGl2ZSAmJiBwcm9wcy5pc0V4cGFuZGVkO1xuICBjb25zdCBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCA9XG4gICAgcHJvcHMubGV2ZWwgPT09IDIgJiYgcHJvcHMuaXNBY3RpdmUgJiYgIXByb3BzLmlzRXhwYW5kZWQ7XG4gIHJldHVybiAoXG4gICAgPHVsXG4gICAgICByZWY9e3JlZiAmJiBwcm9wcy5sZXZlbCA9PT0gMiA/IHJlZiA6IG51bGx9XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgJHtnZXRTdWJtZW51UG9zaXRpb25CYXNlZE9uTWVudUl0ZW1Qb3NpdGlvbihcbiAgICAgICAgICBwcm9wcy5pc1N1Ym1lbnVBYm92ZU1lbnVJdGVtLFxuICAgICAgICAgIHByb3BzLnN1Ym1lbnVWZXJ0aWNhbFBvc2l0aW9uXG4gICAgICAgICl9O1xuICAgICAgXG4gICAgICAvLyBwcmV2ZW50IGdsaXRjaHkgYmVoYXZpb3IgZHVyaW5nIHRoZSBpbml0aWFsIHJlbmRlciB3aGVuIHRoZSBzdWJtZW51J3MgdmVydGljYWwgcG9zaXRpb24gaXMgZXZhbHVhdGVkIGFzIDBcbiAgICAgICR7XG4gICAgICAgIHByb3BzLnN1Ym1lbnVWZXJ0aWNhbFBvc2l0aW9uID09PSAwICYmXG4gICAgICAgIGNzc2BcbiAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIGBcbiAgICAgIH1cblxuICAgICAgICAvLyBhZGRpdGlvbmFsIHN0eWxpbmcgb2YgdGhlIHBzZXVkby1lbGVtZW50IGVuYWJsaW5nIHNtb290aCBjb3Vyc29yIG1vdmVtZW50XG4gICAgICAgIDo6YmVmb3JlIHtcbiAgICAgICAgICAke2dldENvbnRhaW5lclBvc2l0aW9uQmFzZWRPbk1lbnVJdGVtUG9zaXRpb24oXG4gICAgICAgICAgICBwcm9wcy5pc1N1Ym1lbnVBYm92ZU1lbnVJdGVtLFxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCxcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkXG4gICAgICAgICAgKX1cbiAgICAgIGB9XG4gICAgICBpZD17YGdyb3VwLSR7cHJvcHMuaWR9YH1cbiAgICAgIGRhdGEtdGVzdGlkPXtgZ3JvdXAtJHtwcm9wcy5pZH1gfVxuICAgICAgcm9sZT1cIm1lbnVcIlxuICAgICAgYXJpYS1leHBhbmRlZD17XG4gICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgfHxcbiAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWRcbiAgICAgIH1cbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcyhcbiAgICAgICAgeyBbc3R5bGVzLmxpc3RdOiBwcm9wcy5sZXZlbCA9PT0gMSB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlc1snc3VibGlzdCddXTogcHJvcHMubGV2ZWwgPT09IDIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0LWV4cGFuZGVkX19hY3RpdmUnXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlc1snc3VibGlzdC1jb2xsYXBzZWRfX2VtcHR5J11dOlxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQgJiYgIXByb3BzLmhhc1N1Ym1lbnUsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0LWNvbGxhcHNlZF9fYWN0aXZlJ11dOlxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQgJiZcbiAgICAgICAgICAgICFwcm9wcy5pc1N1Ym1lbnVBYm92ZU1lbnVJdGVtLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlc1snc3VibGlzdC1jb2xsYXBzZWRfX2FjdGl2ZV9fYWJvdmUnXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCAmJiBwcm9wcy5pc1N1Ym1lbnVBYm92ZU1lbnVJdGVtLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlcy5zdWJsaXN0X19pbmFjdGl2ZV06ICFpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCxcbiAgICAgICAgfVxuICAgICAgKX1cbiAgICA+XG4gICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgPC91bD5cbiAgKTtcbn0pO1xuTWVudUdyb3VwLmRpc3BsYXlOYW1lID0gJ01lbnVHcm91cCc7XG5cbnR5cGUgTWVudUl0ZW1Qcm9wcyA9IHtcbiAgaGFzU3VibWVudTogYm9vbGVhbjtcbiAgaXNBY3RpdmU6IGJvb2xlYW47XG4gIGlzTWFpbk1lbnVSb3V0ZUFjdGl2ZT86IGJvb2xlYW47XG4gIGlzTWVudU9wZW46IGJvb2xlYW47XG4gIG9uQ2xpY2s6IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50PjtcbiAgb25Nb3VzZUVudGVyPzogTW91c2VFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+O1xuICBvbk1vdXNlTGVhdmU/OiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD47XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIGlkZW50aWZpZXI/OiBzdHJpbmc7XG59O1xuY29uc3QgTWVudUl0ZW0gPSAocHJvcHM6IE1lbnVJdGVtUHJvcHMpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8bGlcbiAgICAgIHJvbGU9XCJtZW51aXRlbVwiXG4gICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoc3R5bGVzWydsaXN0LWl0ZW0nXSwge1xuICAgICAgICBbc3R5bGVzLml0ZW1fX2FjdGl2ZV06IHByb3BzLmlzQWN0aXZlLFxuICAgICAgICBbc3R5bGVzWydpdGVtX21lbnVfX2FjdGl2ZSddXTogcHJvcHMuaXNNYWluTWVudVJvdXRlQWN0aXZlID8/IGZhbHNlLFxuICAgICAgICBbc3R5bGVzWydpdGVtX21lbnUtY29sbGFwc2VkJ11dOiAhcHJvcHMuaXNNZW51T3BlbixcbiAgICAgIH0pfVxuICAgICAgb25DbGljaz17cHJvcHMub25DbGlja31cbiAgICAgIG9uTW91c2VFbnRlcj17cHJvcHMub25Nb3VzZUVudGVyfVxuICAgICAgb25Nb3VzZUxlYXZlPXtwcm9wcy5vbk1vdXNlTGVhdmV9XG4gICAgICBkYXRhLW1lbnVpdGVtPXtwcm9wcy5pZGVudGlmaWVyfVxuICAgID5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2l0ZW0tbGluayddfT57cHJvcHMuY2hpbGRyZW59PC9kaXY+XG4gICAgPC9saT5cbiAgKTtcbn07XG5cbk1lbnVJdGVtLmRpc3BsYXlOYW1lID0gJ01lbnVJdGVtJztcblxuZXhwb3J0IHR5cGUgTWVudUl0ZW1MaW5rUHJvcHMgPSB7XG4gIGxpbmtUbz86IHN0cmluZztcbiAgZXhhY3RNYXRjaDogYm9vbGVhbjtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgb25DbGljaz86IChldmVudDogU3ludGhldGljRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQ+KSA9PiB2b2lkO1xuICB1c2VGdWxsUmVkaXJlY3RzRm9yTGlua3M/OiBib29sZWFuO1xuICBpc1N1Ym1lbnVMaW5rPzogYm9vbGVhbjtcbn07XG5jb25zdCBtZW51SXRlbUxpbmtEZWZhdWx0UHJvcHM6IFBpY2s8TWVudUl0ZW1MaW5rUHJvcHMsICdleGFjdE1hdGNoJz4gPSB7XG4gIGV4YWN0TWF0Y2g6IGZhbHNlLFxufTtcbmNvbnN0IE5hdkxpbmtXcmFwcGVyID0gKHByb3BzOiBNZW51SXRlbUxpbmtQcm9wcykgPT4ge1xuICBpZiAocHJvcHMuaXNTdWJtZW51TGluaykge1xuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWyd0ZXh0LWxpbmstc3VibGlzdC13cmFwcGVyJ119PlxuICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG4gIHJldHVybiA8Pntwcm9wcy5jaGlsZHJlbn08Lz47XG59O1xuY29uc3QgTmF2TGlua0NsaWNrYWJsZUNvbnRlbnRXcmFwcGVyID0gKHByb3BzOiBNZW51SXRlbUxpbmtQcm9wcykgPT4ge1xuICBpZiAocHJvcHMuaXNTdWJtZW51TGluaykge1xuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWyduYXZsaW5rLWNsaWNrYWJsZS1jb250ZW50J119PlxuICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG4gIHJldHVybiA8Pntwcm9wcy5jaGlsZHJlbn08Lz47XG59O1xuXG5jb25zdCBNZW51SXRlbUxpbmsgPSAocHJvcHM6IE1lbnVJdGVtTGlua1Byb3BzKSA9PiB7XG4gIGNvbnN0IHJlZGlyZWN0VG8gPSAodGFyZ2V0VXJsOiBzdHJpbmcpID0+IGxvY2F0aW9uLnJlcGxhY2UodGFyZ2V0VXJsKTtcbiAgaWYgKHByb3BzLmxpbmtUbykge1xuICAgIHJldHVybiAoXG4gICAgICA8TmF2TGlua1dyYXBwZXIgey4uLnByb3BzfT5cbiAgICAgICAgPE5hdkxpbmtcbiAgICAgICAgICB0bz17cHJvcHMubGlua1RvfVxuICAgICAgICAgIGV4YWN0PXtwcm9wcy5leGFjdE1hdGNofVxuICAgICAgICAgIGFjdGl2ZUNsYXNzTmFtZT17c3R5bGVzLmhpZ2hsaWdodGVkfVxuICAgICAgICAgIGNsYXNzTmFtZT17XG4gICAgICAgICAgICBwcm9wcy5pc1N1Ym1lbnVMaW5rXG4gICAgICAgICAgICAgID8gc3R5bGVzWyd0ZXh0LWxpbmstc3VibGlzdCddXG4gICAgICAgICAgICAgIDogc3R5bGVzWyd0ZXh0LWxpbmsnXVxuICAgICAgICAgIH1cbiAgICAgICAgICBvbkNsaWNrPXsoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIGlmIChwcm9wcy5saW5rVG8gJiYgcHJvcHMudXNlRnVsbFJlZGlyZWN0c0ZvckxpbmtzKSB7XG4gICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgIHJlZGlyZWN0VG8ocHJvcHMubGlua1RvKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAocHJvcHMub25DbGljaykge1xuICAgICAgICAgICAgICBldmVudC5wZXJzaXN0KCk7XG4gICAgICAgICAgICAgIHByb3BzLm9uQ2xpY2soZXZlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICA8TmF2TGlua0NsaWNrYWJsZUNvbnRlbnRXcmFwcGVyIHsuLi5wcm9wc30+XG4gICAgICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICAgICAgPC9OYXZMaW5rQ2xpY2thYmxlQ29udGVudFdyYXBwZXI+XG4gICAgICAgIDwvTmF2TGluaz5cbiAgICAgIDwvTmF2TGlua1dyYXBwZXI+XG4gICAgKTtcbiAgfVxuICByZXR1cm4gPD57cHJvcHMuY2hpbGRyZW59PC8+O1xufTtcbk1lbnVJdGVtTGluay5kaXNwbGF5TmFtZSA9ICdNZW51SXRlbUxpbmsnO1xuTWVudUl0ZW1MaW5rLmRlZmF1bHRQcm9wcyA9IG1lbnVJdGVtTGlua0RlZmF1bHRQcm9wcztcblxuY29uc3QgaXNFdmVyeU1lbnVWaXNpYmlsaXR5U2V0VG9IaWRkZW4gPSAoXG4gIG1lbnVWaXNpYmlsaXRpZXM/OiBUTm9ybWFsaXplZE1lbnVWaXNpYmlsaXRpZXMgfCBudWxsLFxuICBuYW1lc09mTWVudVZpc2liaWxpdGllcz86IHN0cmluZ1tdXG4pID0+XG4gIEFycmF5LmlzQXJyYXkobmFtZXNPZk1lbnVWaXNpYmlsaXRpZXMpICYmXG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzLmxlbmd0aCA+IDAgJiZcbiAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXMuZXZlcnkoXG4gICAgKG5hbWVPZk1lbnVWaXNpYmlsaXR5KSA9PlxuICAgICAgbWVudVZpc2liaWxpdGllcyAmJiBtZW51VmlzaWJpbGl0aWVzW25hbWVPZk1lbnVWaXNpYmlsaXR5XSA9PT0gdHJ1ZVxuICApO1xuXG50eXBlIFJlc3RyaWN0ZWRNZW51SXRlbVByb3BzID0ge1xuICBmZWF0dXJlVG9nZ2xlPzogc3RyaW5nO1xuICBuYW1lc09mTWVudVZpc2liaWxpdGllcz86IHN0cmluZ1tdO1xuICBwcm9qZWN0UGVybWlzc2lvbnM6IFRQcm9qZWN0UGVybWlzc2lvbnM7XG4gIG1lbnVWaXNpYmlsaXRpZXM6IFROb3JtYWxpemVkTWVudVZpc2liaWxpdGllcyB8IG51bGw7XG4gIGtleU9mTWVudUl0ZW06IHN0cmluZztcbiAgcGVybWlzc2lvbnM6IHN0cmluZ1tdO1xuICBhY3Rpb25SaWdodHM/OiBUQWN0aW9uUmlnaHRbXTtcbiAgZGF0YUZlbmNlcz86IFREYXRhRmVuY2VbXTtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbn07XG50eXBlIFRMb25nTGl2ZWRGbGFnID0ge1xuICB2YWx1ZTogYm9vbGVhbjtcbiAgcmVhc29uPzogc3RyaW5nO1xufTtcbmNvbnN0IHJlc3RyaWN0ZWRNZW51SXRlbURlZmF1bHRQcm9wczogUGljazxcbiAgUmVzdHJpY3RlZE1lbnVJdGVtUHJvcHMsXG4gICdwZXJtaXNzaW9ucydcbj4gPSB7XG4gIHBlcm1pc3Npb25zOiBbXSxcbn07XG5mdW5jdGlvbiBpc0xvbmdMaXZlZEZsYWcoXG4gIGZsYWc6IFRGbGFnVmFyaWF0aW9uIHwgVExvbmdMaXZlZEZsYWdcbik6IGZsYWcgaXMgVExvbmdMaXZlZEZsYWcge1xuICByZXR1cm4gdHlwZW9mIChmbGFnIGFzIFRMb25nTGl2ZWRGbGFnKT8udmFsdWUgPT09ICdib29sZWFuJztcbn1cbmNvbnN0IFJlc3RyaWN0ZWRNZW51SXRlbSA9IChwcm9wczogUmVzdHJpY3RlZE1lbnVJdGVtUHJvcHMpID0+IHtcbiAgLy8gTk9URTogQ3VzdG9tIGFwcGxpY2F0aW9uIGFyZSBhY3RpdmF0ZWQvZGVhY3RpdmF0ZWQgd2hpbGUgdGhlaXJcbiAgLy8gdmlzaWJpbGl0eSBpcyBub3QgY29udHJvbGxlZCB2aWEgYSB2aXNpYmlpbGl0eSBvdmVyd3JpdGUuXG4gIGNvbnN0IGZsYWdWYXJpYXRpb24gPSB1c2VGbGFnVmFyaWF0aW9uKHByb3BzLmZlYXR1cmVUb2dnbGUpO1xuICBpZiAoXG4gICAgaXNFdmVyeU1lbnVWaXNpYmlsaXR5U2V0VG9IaWRkZW4oXG4gICAgICBwcm9wcy5tZW51VmlzaWJpbGl0aWVzLFxuICAgICAgcHJvcHMubmFtZXNPZk1lbnVWaXNpYmlsaXRpZXNcbiAgICApXG4gIClcbiAgICByZXR1cm4gbnVsbDtcblxuICBjb25zdCBwZXJtaXNzaW9uc1dyYXBwZXIgPVxuICAgIChBcnJheS5pc0FycmF5KHByb3BzLnBlcm1pc3Npb25zKSAmJiBwcm9wcy5wZXJtaXNzaW9ucy5sZW5ndGggPiAwKSB8fFxuICAgIChBcnJheS5pc0FycmF5KHByb3BzLmRhdGFGZW5jZXMpICYmIHByb3BzLmRhdGFGZW5jZXMubGVuZ3RoID4gMCkgPyAoXG4gICAgICA8UmVzdHJpY3RlZEJ5UGVybWlzc2lvbnNcbiAgICAgICAgcGVybWlzc2lvbnM9e3Byb3BzLnBlcm1pc3Npb25zfVxuICAgICAgICBhY3Rpb25SaWdodHM9e3Byb3BzLmFjdGlvblJpZ2h0c31cbiAgICAgICAgZGF0YUZlbmNlcz17cHJvcHMuZGF0YUZlbmNlc31cbiAgICAgICAgc2VsZWN0RGF0YUZlbmNlRGF0YT17KGRlbWFuZGVkRGF0YUZlbmNlKSA9PiB7XG4gICAgICAgICAgc3dpdGNoIChkZW1hbmRlZERhdGFGZW5jZS50eXBlKSB7XG4gICAgICAgICAgICBjYXNlICdzdG9yZSc6XG4gICAgICAgICAgICAgIHJldHVybiBkZW1hbmRlZERhdGFGZW5jZS5hY3R1YWxEYXRhRmVuY2VWYWx1ZXM7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICB9XG4gICAgICAgIH19XG4gICAgICAgIC8vIEFsd2F5cyBjaGVjayB0aGF0IHNvbWUgb2YgdGhlIGdpdmVuIHBlcm1pc3Npb25zIG1hdGNoLlxuICAgICAgICBzaG91bGRNYXRjaFNvbWVQZXJtaXNzaW9ucz17dHJ1ZX1cbiAgICAgICAgcHJvamVjdFBlcm1pc3Npb25zPXtwcm9wcy5wcm9qZWN0UGVybWlzc2lvbnN9XG4gICAgICA+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvUmVzdHJpY3RlZEJ5UGVybWlzc2lvbnM+XG4gICAgKSA6IChcbiAgICAgIDw+e3Byb3BzLmNoaWxkcmVufTwvPlxuICAgICk7XG5cbiAgaWYgKHByb3BzLmZlYXR1cmVUb2dnbGUpIHtcbiAgICAvLyBBIHJlZ3VsYXIgc2hvcnQtbGl2ZWQgZmVhdHVyZSB0b2dnbGVcbiAgICBpZiAoZmxhZ1ZhcmlhdGlvbiA9PT0gdHJ1ZSkgcmV0dXJuIHBlcm1pc3Npb25zV3JhcHBlcjtcbiAgICAvLyBBIGxvbmctbGl2ZWQgZmVhdHVyZSB0b2dnbGUgd2l0aCBgeyB2YWx1ZTogYm9vbGVhbiwgc3RyaW5nOiByZWFzb24gfWBcbiAgICBpZiAoaXNMb25nTGl2ZWRGbGFnKGZsYWdWYXJpYXRpb24pICYmIGZsYWdWYXJpYXRpb24udmFsdWUgPT09IHRydWUpXG4gICAgICByZXR1cm4gcGVybWlzc2lvbnNXcmFwcGVyO1xuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICByZXR1cm4gcGVybWlzc2lvbnNXcmFwcGVyO1xufTtcblJlc3RyaWN0ZWRNZW51SXRlbS5kaXNwbGF5TmFtZSA9ICdSZXN0cmljdGVkTWVudUl0ZW0nO1xuUmVzdHJpY3RlZE1lbnVJdGVtLmRlZmF1bHRQcm9wcyA9IHJlc3RyaWN0ZWRNZW51SXRlbURlZmF1bHRQcm9wcztcblxudHlwZSBNZW51TGFiZWxQcm9wcyA9IHtcbiAgbGFiZWxBbGxMb2NhbGVzOiBUTG9jYWxpemVkRmllbGRbXTtcbiAgZGVmYXVsdExhYmVsPzogc3RyaW5nO1xuICBhcHBsaWNhdGlvbkxvY2FsZTogc3RyaW5nO1xufTtcbmNvbnN0IE1lbnVMYWJlbCA9IChwcm9wczogTWVudUxhYmVsUHJvcHMpID0+IHtcbiAgY29uc3QgbG9jYWxpemVkTGFiZWwgPSBwcm9wcy5sYWJlbEFsbExvY2FsZXMuZmluZCgobG9jKSA9PlxuICAgIHByb3BzLmFwcGxpY2F0aW9uTG9jYWxlLnN0YXJ0c1dpdGgobG9jLmxvY2FsZSlcbiAgKTtcbiAgaWYgKGxvY2FsaXplZExhYmVsKSByZXR1cm4gPD57bG9jYWxpemVkTGFiZWwudmFsdWV9PC8+O1xuICBpZiAocHJvcHMuZGVmYXVsdExhYmVsKSByZXR1cm4gPD57cHJvcHMuZGVmYXVsdExhYmVsfTwvPjtcbiAgcmV0dXJuIDw+e05PX1ZBTFVFX0ZBTExCQUNLfTwvPjtcbn07XG5cbnR5cGUgVE5hdkJhckxheW91dFByb3BzID0ge1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xufTtcbmNvbnN0IE5hdkJhckxheW91dCA9IGZvcndhcmRSZWY8SFRNTEVsZW1lbnQsIFROYXZCYXJMYXlvdXRQcm9wcz4oXG4gIChwcm9wcywgcmVmKSA9PiAoXG4gICAgPD5cbiAgICAgIDxHbG9iYWxcbiAgICAgICAgc3R5bGVzPXtjc3NgXG4gICAgICAgICAgJHtjb21waWxlZFN0eWxlcy5nbG9iYWx9XG4gICAgICAgIGB9XG4gICAgICAvPlxuICAgICAgPG5hdlxuICAgICAgICByZWY9e3JlZn1cbiAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXNbJ2xlZnQtbmF2aWdhdGlvbiddfVxuICAgICAgICBkYXRhLXRlc3Q9XCJsZWZ0LW5hdmlnYXRpb25cIlxuICAgICAgICBkYXRhLXRlc3RpZD1cImxlZnQtbmF2aWdhdGlvblwiXG4gICAgICA+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvbmF2PlxuICAgIDwvPlxuICApXG4pO1xuTmF2QmFyTGF5b3V0LmRpc3BsYXlOYW1lID0gJ05hdkJhckxheW91dCc7XG5cbnR5cGUgSXRlbUNvbnRhaW5lclByb3BzID0ge1xuICBsYWJlbEFsbExvY2FsZXM6IFRMb2NhbGl6ZWRGaWVsZFtdO1xuICBkZWZhdWx0TGFiZWw/OiBzdHJpbmc7XG4gIGFwcGxpY2F0aW9uTG9jYWxlOiBzdHJpbmc7XG4gIGljb246IHN0cmluZztcbiAgaXNNZW51T3Blbj86IGJvb2xlYW47XG59O1xuXG5jb25zdCBJdGVtQ29udGFpbmVyID0gKHByb3BzOiBJdGVtQ29udGFpbmVyUHJvcHMpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydpdGVtLWljb24tdGV4dCddfT5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2ljb24tY29udGFpbmVyJ119PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzLmljb259PlxuICAgICAgICAgIDxJY29uU3dpdGNoZXIgaWNvbj17cHJvcHMuaWNvbn0gc2l6ZT1cInNjYWxlXCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIHtwcm9wcy5pc01lbnVPcGVuID8gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzLnRpdGxlfT5cbiAgICAgICAgICA8TWVudUxhYmVsXG4gICAgICAgICAgICBsYWJlbEFsbExvY2FsZXM9e3Byb3BzLmxhYmVsQWxsTG9jYWxlc31cbiAgICAgICAgICAgIGRlZmF1bHRMYWJlbD17cHJvcHMuZGVmYXVsdExhYmVsfVxuICAgICAgICAgICAgYXBwbGljYXRpb25Mb2NhbGU9e3Byb3BzLmFwcGxpY2F0aW9uTG9jYWxlfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKSA6IG51bGx9XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5JdGVtQ29udGFpbmVyLmRpc3BsYXlOYW1lID0gJ0l0ZW1Db250YWluZXInO1xuXG5leHBvcnQge1xuICBSZXN0cmljdGVkTWVudUl0ZW0sXG4gIE1lbnVJdGVtLFxuICBNZW51SXRlbUxpbmssXG4gIEljb25Td2l0Y2hlcixcbiAgTWVudUdyb3VwLFxuICBNZW51TGFiZWwsXG4gIE1lbnVFeHBhbmRlcixcbiAgRmFkZWQsXG4gIE5hdkJhckxheW91dCxcbiAgSXRlbUNvbnRhaW5lcixcbn07XG4iXX0= */")
717
726
  }), jsx("nav", {
718
727
  ref: ref,
719
728
  className: styles$4['left-navigation'],