@plumile/router 0.1.200 → 0.1.201

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 (61) hide show
  1. package/lib/esm/ResourcePage.d.ts +5 -4
  2. package/lib/esm/ResourcePage.d.ts.map +1 -1
  3. package/lib/esm/ResourcePage.js +5 -2
  4. package/lib/esm/history/BrowserHistory.d.ts +2 -2
  5. package/lib/esm/history/BrowserHistory.d.ts.map +1 -1
  6. package/lib/esm/history/BrowserHistory.js +1 -1
  7. package/lib/esm/history/types.d.ts +7 -1
  8. package/lib/esm/history/types.d.ts.map +1 -1
  9. package/lib/esm/history/types.js +1 -1
  10. package/lib/esm/instrumentation/adapters/devtoolsBridge.js +2 -2
  11. package/lib/esm/routing/Link.d.ts +2 -2
  12. package/lib/esm/routing/Link.d.ts.map +1 -1
  13. package/lib/esm/routing/Link.js +3 -6
  14. package/lib/esm/routing/RouteComponentWrapper.d.ts.map +1 -1
  15. package/lib/esm/routing/RouteComponentWrapper.js +8 -4
  16. package/lib/esm/routing/RouterPrimitives.stories.d.ts.map +1 -1
  17. package/lib/esm/routing/RouterPrimitives.stories.js +1 -7
  18. package/lib/esm/routing/RoutingContext.d.ts +2 -2
  19. package/lib/esm/routing/RoutingContext.d.ts.map +1 -1
  20. package/lib/esm/routing/RoutingContext.js +1 -1
  21. package/lib/esm/routing/createStaticRouter.d.ts.map +1 -1
  22. package/lib/esm/routing/createStaticRouter.js +4 -1
  23. package/lib/esm/routing/useFilters.d.ts.map +1 -1
  24. package/lib/esm/routing/useFilters.js +16 -9
  25. package/lib/esm/routing/useLocation.d.ts +2 -1
  26. package/lib/esm/routing/useLocation.d.ts.map +1 -1
  27. package/lib/esm/routing/useLocation.js +1 -1
  28. package/lib/esm/routing/useRouteTelemetry.d.ts +2 -1
  29. package/lib/esm/routing/useRouteTelemetry.d.ts.map +1 -1
  30. package/lib/esm/routing/useRouteTelemetry.js +1 -1
  31. package/lib/esm/tools/buildCombinedSearch.js +1 -1
  32. package/lib/esm/tools.d.ts +2 -1
  33. package/lib/esm/tools.d.ts.map +1 -1
  34. package/lib/esm/tools.js +2 -2
  35. package/lib/esm/types.d.ts +9 -9
  36. package/lib/esm/types.d.ts.map +1 -1
  37. package/lib/esm/types.js +1 -1
  38. package/lib/tsconfig.esm.tsbuildinfo +1 -1
  39. package/lib/types/ResourcePage.d.ts +5 -4
  40. package/lib/types/ResourcePage.d.ts.map +1 -1
  41. package/lib/types/history/BrowserHistory.d.ts +2 -2
  42. package/lib/types/history/BrowserHistory.d.ts.map +1 -1
  43. package/lib/types/history/types.d.ts +7 -1
  44. package/lib/types/history/types.d.ts.map +1 -1
  45. package/lib/types/routing/Link.d.ts +2 -2
  46. package/lib/types/routing/Link.d.ts.map +1 -1
  47. package/lib/types/routing/RouteComponentWrapper.d.ts.map +1 -1
  48. package/lib/types/routing/RouterPrimitives.stories.d.ts.map +1 -1
  49. package/lib/types/routing/RoutingContext.d.ts +2 -2
  50. package/lib/types/routing/RoutingContext.d.ts.map +1 -1
  51. package/lib/types/routing/createStaticRouter.d.ts.map +1 -1
  52. package/lib/types/routing/useFilters.d.ts.map +1 -1
  53. package/lib/types/routing/useLocation.d.ts +2 -1
  54. package/lib/types/routing/useLocation.d.ts.map +1 -1
  55. package/lib/types/routing/useRouteTelemetry.d.ts +2 -1
  56. package/lib/types/routing/useRouteTelemetry.d.ts.map +1 -1
  57. package/lib/types/tools.d.ts +2 -1
  58. package/lib/types/tools.d.ts.map +1 -1
  59. package/lib/types/types.d.ts +9 -9
  60. package/lib/types/types.d.ts.map +1 -1
  61. package/package.json +3 -3
@@ -44,12 +44,6 @@ const storybookResourcePage = new ResourcePage(async () => {
44
44
  }, 'storybook-resource-page');
45
45
  const LazyResourcePageFixture = () => {
46
46
  const Component = storybookResourcePage.read();
47
- if (Component instanceof Promise || Component instanceof Error) {
48
- throw Component;
49
- }
50
- if ('default' in Component) {
51
- return createElement(Component.default);
52
- }
53
47
  return createElement(Component);
54
48
  };
55
49
  const meta = {
@@ -93,4 +87,4 @@ export const ResourcePageSuspense = {
93
87
  expectTextContent(canvasElement, 'div', /lazy resource loaded/i);
94
88
  },
95
89
  };
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUm91dGVyUHJpbWl0aXZlcy5zdG9yaWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3JvdXRpbmcvUm91dGVyUHJpbWl0aXZlcy5zdG9yaWVzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFHaEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sSUFBSSxNQUFNLFdBQVcsQ0FBQztBQUM3QixPQUFPLGNBQWMsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRCxPQUFPLGNBQWMsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRCxPQUFPLFdBQVcsTUFBTSxrQkFBa0IsQ0FBQztBQUMzQyxPQUFPLFdBQVcsTUFBTSxrQkFBa0IsQ0FBQztBQUMzQyxPQUFPLFFBQVEsTUFBTSxlQUFlLENBQUM7QUFFckMsTUFBTSxnQkFBZ0IsR0FBRyxLQUFLLElBQW1CLEVBQUU7SUFDakQsTUFBTSxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1FBQzVCLE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2hDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBRUYsTUFBTSxXQUFXLEdBQUcsS0FBSyxFQUN2QixJQUFnQixFQUNoQixRQUFnQixFQUNoQixPQUFlLEVBQ0EsRUFBRTtJQUNqQixNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBYyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDM0UsQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUNQLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDeEMsQ0FBQyxDQUNGLENBQUM7SUFDRixJQUFJLE9BQU8sSUFBSSxJQUFJLEVB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QUFFLGNBQUssSUFBSSxFQUFDLFFBQVEsbUNBQXlCLEdBQ3BELEVBQ0Ysc0tBSU0sSUFDRixDQUNQLENBQUM7SUFDSixDQUFDO0NBQ0YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFVO0lBQ3pDLE1BQU0sRUFBRSxHQUFHLEVBQUU7UUFDWCxPQUFPLENBQ0wsZUFBSyxLQUFLLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsYUFDdEMsS0FBQyxjQUFjLElBQ2IsT0FBTyxFQUFFLGNBQUssSUFBSSxFQUFDLFFBQVEseUNBQStCLEVBQzFELGtCQUFrQixFQUFFLElBQUksR0FDeEIsRUFDRixLQUFDLGNBQWMsSUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFDLFFBQVEsR0FBRyxJQUN6RCxDQUNQLENBQUM7SUFDSixDQUFDO0NBQ0YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFVO0lBQ3pDLE1BQU0sRUFBRSxHQUFHLEVBQUU7UUFDWCxPQUFPLENBQ0wsS0FBQyxRQUFRLElBQUMsUUFBUSxFQUFFLGNBQUssSUFBSSxFQUFDLFFBQVEsaUNBQXVCLFlBQzNELEtBQUMsdUJBQXVCLEtBQUcsR0FDbEIsQ0FDWixDQUFDO0lBQ0osQ0FBQztJQUNELElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxhQUFhLEVBQUUsRUFBRSxFQUFFO1FBQ2hDLE1BQU0sZ0JBQWdCLEVBQUUsQ0FBQztRQUN6QixpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsS0FBSyxFQUFFLHVCQUF1QixDQUFDLENBQUM7SUFDbkUsQ0FBQztDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdXNwZW5zZSwgY3JlYXRlRWxlbWVudCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB0eXBlIHsgTWV0YSwgU3RvcnlPYmogfSBmcm9tICdAc3Rvcnlib29rL3JlYWN0JztcblxuaW1wb3J0IHsgUmVzb3VyY2VQYWdlIH0gZnJvbSAnLi4vUmVzb3VyY2VQYWdlLmpzJztcbmltcG9ydCBMaW5rIGZyb20gJy4vTGluay5qcyc7XG5pbXBvcnQgUm91dGVDb21wb25lbnQgZnJvbSAnLi9Sb3V0ZUNvbXBvbmVudC5qcyc7XG5pbXBvcnQgUm91dGVyUmVuZGVyZXIgZnJvbSAnLi9Sb3V0ZXJSZW5kZXJlci5qcyc7XG5pbXBvcnQgdXNlTG9jYXRpb24gZnJvbSAnLi91c2VMb2NhdGlvbi5qcyc7XG5pbXBvcnQgdXNlTmF2aWdhdGUgZnJvbSAnLi91c2VOYXZpZ2F0ZS5qcyc7XG5pbXBvcnQgdXNlUXVlcnkgZnJvbSAnLi91c2VRdWVyeS5qcyc7XG5cbmNvbnN0IHdhaXRGb3JTdG9yeUlkbGUgPSBhc3luYyAoKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgd2luZG93LnNldFRpbWVvdXQocmVzb2x2ZSwgMCk7XG4gIH0pO1xufTtcblxuY29uc3QgY2xpY2tCeVRleHQgPSBhc3luYyAoXG4gIHJvb3Q6IFBhcmVudE5vZGUsXG4gIHNlbGVjdG9yOiBzdHJpbmcsXG4gIHBhdHRlcm46IFJlZ0V4cCxcbik6IFByb21pc2U8dm9pZD4gPT4ge1xuICBjb25zdCBlbGVtZW50ID0gQXJyYXkuZnJvbShyb290LnF1ZXJ5U2VsZWN0b3JBbGw8SFRNTEVsZW1lbnQ+KHNlbGVjdG9yKSkuZmluZChcbiAgICAoaXRlbSkgPT4ge1xuICAgICAgcmV0dXJuIHBhdHRlcm4udGVzdChpdGVtLnRleHRDb250ZW50KTtcbiAgICB9LFxuICApO1xuICBpZiAoZWxlbWVudCA9PSBudWxsKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCAke3NlbGVjdG9yfSBtYXRjaGluZyAke3BhdHRlcm4uc291cmNlfS5gKTtcbiAgfVxuICBlbGVtZW50LmNsaWNrKCk7XG4gIGF3YWl0IHdhaXRGb3JTdG9yeUlkbGUoKTtcbn07XG5cbmNvbnN0IGV4cGVjdFRleHRDb250ZW50ID0gKFxuICByb290OiBQYXJlbnROb2RlLFxuICBzZWxlY3Rvcjogc3RyaW5nLFxuICBwYXR0ZXJuOiBSZWdFeHAsXG4pOiB2b2lkID0+IHtcbiAgY29uc3QgZWxlbWVudCA9IHJvb3QucXVlcnlTZWxlY3RvcihzZWxlY3Rvcik7XG4gIGlmIChlbGVtZW50ID09IG51bGwgfHwgIXBhdHRlcm4udGVzdChlbGVtZW50LnRleHRDb250ZW50KSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgRXhwZWN0ZWQgJHtzZWxlY3Rvcn0gdG8gY29udGFpbiAke3BhdHRlcm4uc291cmNlfS5gKTtcbiAgfVxufTtcblxuY29uc3QgUm91dGVyU3RhdGVQYW5lbCA9ICgpID0+IHtcbiAgY29uc3QgbG9jYXRpb24gPSB1c2VMb2NhdGlvbigpO1xuICBjb25zdCBxdWVyeSA9IHVzZVF1ZXJ5KCk7XG4gIGNvbnN0IG5hdmlnYXRlID0gdXNlTmF2aWdhdGUoKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogJ2dyaWQnLCBnYXA6IDEyIH19PlxuICAgICAgPGRpdiByb2xlPVwic3RhdHVzXCI+XG4gICAgICAgIEN1cnJlbnQgbG9jYXRpb246IHtsb2NhdGlvbi5wYXRobmFtZX1cbiAgICAgICAge2xvY2F0aW9uLnNlYXJjaH1cbiAgICAgIDwvZGl2PlxuICAgICAgPHByZT57SlNPTi5zdHJpbmdpZnkocXVlcnksIG51bGwsIDIpfTwvcHJlPlxuICAgICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgIG5hdmlnYXRlKHsgcGF0aG5hbWU6ICcvcHJvamVjdHMnLCBxdWVyeTogeyBzdGF0dXM6ICdhY3RpdmUnIH0gfSk7XG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIE5hdmlnYXRlIHRvIHByb2plY3RzXG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmNvbnN0IExvYWRlZFJlc291cmNlUGFnZSA9ICgpID0+IHtcbiAgcmV0dXJuIDxkaXY+TGF6eSByZXNvdXJjZSBsb2FkZWQ8L2Rpdj47XG59O1xuXG5jb25zdCBzdG9yeWJvb2tSZXNvdXJjZVBhZ2UgPSBuZXcgUmVzb3VyY2VQYWdlKGFzeW5jICgpID0+IHtcbiAgcmV0dXJuIExvYWRlZFJlc291cmNlUGFnZTtcbn0sICdzdG9yeWJvb2stcmVzb3VyY2UtcGFnZScpO1xuXG5jb25zdCBMYXp5UmVzb3VyY2VQYWdlRml4dHVyZSA9ICgpID0+IHtcbiAgY29uc3QgQ29tcG9uZW50ID0gc3Rvcnlib29rUmVzb3VyY2VQYWdlLnJlYWQoKTtcbiAgaWYgKENvbXBvbmVudCBpbnN0YW5jZW9mIFByb21pc2UgfHwgQ29tcG9uZW50IGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAvLyBSZWFjdCBTdXNwZW5zZSBleHBlY3RzIHByb21pc2VzIHRvIGJlIHRocm93biB3aGlsZSBsYXp5IHJlc291cmNlcyBsb2FkLlxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvb25seS10aHJvdy1lcnJvclxuICAgIHRocm93IENvbXBvbmVudDtcbiAgfVxuICBpZiAoJ2RlZmF1bHQnIGluIENvbXBvbmVudCkge1xuICAgIHJldHVybiBjcmVhdGVFbGVtZW50KENvbXBvbmVudC5kZWZhdWx0KTtcbiAgfVxuICByZXR1cm4gY3JlYXRlRWxlbWVudChDb21wb25lbnQpO1xufTtcblxuY29uc3QgbWV0YSA9IHtcbiAgdGl0bGU6ICdAcGx1bWlsZS9yb3V0ZXIvUm91dGluZy9MaW5rJyxcbiAgcGFyYW1ldGVyczoge1xuICAgIGRvY3M6IHtcbiAgICAgIGRlc2NyaXB0aW9uOiB7XG4gICAgICAgIGNvbXBvbmVudDpcbiAgICAgICAgICAnQmVoYXZpb3JhbCBTdG9yeWJvb2sgZGVtb3MgZm9yIHJvdXRlciBsaW5rcywgcXVlcnkgc3RhdGUsIHJlbmRlciBmYWxsYmFja3MsIHJvdXRlIGNvbXBvbmVudHMsIGFuZCByZXNvdXJjZSBwYWdlcy4nLFxuICAgICAgfSxcbiAgICB9LFxuICB9LFxufSBzYXRpc2ZpZXMgTWV0YTtcblxuZXhwb3J0IGRlZmF1bHQgbWV0YTtcblxudHlwZSBTdG9yeSA9IFN0b3J5T2JqPHR5cGVvZiBtZXRhPjtcblxuZXhwb3J0IGNvbnN0IE5hdmlnYXRpb25BbmRRdWVyeVBhcmFtczogU3RvcnkgPSB7XG4gIHJlbmRlcjogKCkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdncmlkJywgZ2FwOiAxNiB9fT5cbiAgICAgICAgPG5hdiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGdhcDogMTIgfX0+XG4gICAgICAgICAgPExpbmsgdG89XCIvZGFzaGJvYXJkXCIgZXhhY3QgYWN0aXZlQ2xhc3NOYW1lPVwiYWN0aXZlXCI+XG4gICAgICAgICAgICBEYXNoYm9hcmRcbiAgICAgICAgICA8L0xpbms+XG4gICAgICAgICAgPExpbmtcbiAgICAgICAgICAgIHRvPVwiL3Byb2plY3RzXCJcbiAgICAgICAgICAgIGZpbHRlcnM9e3sgc3RhdHVzOiB7IGVxOiAnYWN0aXZlJyB9LCBwYWdlOiB7IGVxOiAyIH0gfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICBBY3RpdmUgcHJvamVjdHNcbiAgICAgICAgICA8L0xpbms+XG4gICAgICAgICAgPExpbmsgdG89XCIvc2V0dGluZ3NcIiBpc0Rpc2FibGVkPlxuICAgICAgICAgICAgRGlzYWJsZWQgc2V0dGluZ3NcbiAgICAgICAgICA8L0xpbms+XG4gICAgICAgIDwvbmF2PlxuICAgICAgICA8Um91dGVyU3RhdGVQYW5lbCAvPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfSxcbiAgcGxheTogYXN5bmMgKHsgY2FudmFzRWxlbWVudCB9KSA9PiB7XG4gICAgYXdhaXQgY2xpY2tCeVRleHQoY2FudmFzRWxlbWVudCwgJ2EnLCAvYWN0aXZlIHByb2plY3RzL2kpO1xuICAgIGV4cGVjdFRleHRDb250ZW50KFxuICAgICAgY2FudmFzRWxlbWVudCxcbiAgICAgICdbcm9sZT1cInN0YXR1c1wiXScsXG4gICAgICAvXFwvcHJvamVjdHNcXD9zdGF0dXM9YWN0aXZlJnBhZ2U9Mi9pLFxuICAgICk7XG4gICAgYXdhaXQgY2xpY2tCeVRleHQoY2FudmFzRWxlbWVudCwgJ2J1dHRvbicsIC9uYXZpZ2F0ZSB0byBwcm9qZWN0cy9pKTtcbiAgICBleHBlY3RUZXh0Q29udGVudChjYW52YXNFbGVtZW50LCAncHJlJywgL1wic3RhdHVzXCI6IFwiYWN0aXZlXCIvaSk7XG4gIH0sXG59O1xuXG5leHBvcnQgY29uc3QgUmVuZGVyZXJQZW5kaW5nQW5kRW1wdHk6IFN0b3J5ID0ge1xuICByZW5kZXI6ICgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiAnZ3JpZCcsIGdhcDogMTIgfX0+XG4gICAgICAgIDxSb3V0ZXJSZW5kZXJlclxuICAgICAgICAgIGVuYWJsZVRyYW5zaXRpb25cbiAgICAgICAgICBmYWxsYmFjaz17PGRpdiByb2xlPVwic3RhdHVzXCI+TG9hZGluZyByb3V0ZTwvZGl2Pn1cbiAgICAgICAgICBwZW5kaW5nPXs8ZGl2IHJvbGU9XCJzdGF0dXNcIj5OYXZpZ2F0aW9uIHBlbmRpbmc8L2Rpdj59XG4gICAgICAgIC8+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgTm8gcm91dGUgc2VnbWVudHMgYXJlIHByZXBhcmVkIGluIHRoaXMgZml4dHVyZSwgc28gdGhlIHJlbmRlcmVyXG4gICAgICAgICAgcmV0dXJucyBhbiBlbXB0eSByb3V0ZSBib2R5IHdoaWxlIHByZXNlcnZpbmcgZmFsbGJhY2sgYW5kIHBlbmRpbmdcbiAgICAgICAgICB3aXJpbmcuXG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfSxcbn07XG5cbmV4cG9ydCBjb25zdCBSb3V0ZUNvbXBvbmVudFN0YXRlczogU3RvcnkgPSB7XG4gIHJlbmRlcjogKCkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdncmlkJywgZ2FwOiAxMiB9fT5cbiAgICAgICAgPFJvdXRlQ29tcG9uZW50XG4gICAgICAgICAgY29udGVudD17PGRpdiByb2xlPVwic3RhdHVzXCI+UmVzb2x2ZWQgcm91dGUgY29tcG9uZW50PC9kaXY+fVxuICAgICAgICAgIHJlZGlyZWN0VG9QYXRobmFtZT17bnVsbH1cbiAgICAgICAgLz5cbiAgICAgICAgPFJvdXRlQ29tcG9uZW50IGNvbnRlbnQ9e251bGx9IHJlZGlyZWN0VG9QYXRobmFtZT1cIi9sb2dpblwiIC8+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9LFxufTtcblxuZXhwb3J0IGNvbnN0IFJlc291cmNlUGFnZVN1c3BlbnNlOiBTdG9yeSA9IHtcbiAgcmVuZGVyOiAoKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdXNwZW5zZSBmYWxsYmFjaz17PGRpdiByb2xlPVwic3RhdHVzXCI+TG9hZGluZyByZXNvdXJjZTwvZGl2Pn0+XG4gICAgICAgIDxMYXp5UmVzb3VyY2VQYWdlRml4dHVyZSAvPlxuICAgICAgPC9TdXNwZW5zZT5cbiAgICApO1xuICB9LFxuICBwbGF5OiBhc3luYyAoeyBjYW52YXNFbGVtZW50IH0pID0+IHtcbiAgICBhd2FpdCB3YWl0Rm9yU3RvcnlJZGxlKCk7XG4gICAgZXhwZWN0VGV4dENvbnRlbnQoY2FudmFzRWxlbWVudCwgJ2RpdicsIC9sYXp5IHJlc291cmNlIGxvYWRlZC9pKTtcbiAgfSxcbn07XG4iXX0=
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUm91dGVyUHJpbWl0aXZlcy5zdG9yaWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3JvdXRpbmcvUm91dGVyUHJpbWl0aXZlcy5zdG9yaWVzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFHaEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sSUFBSSxNQUFNLFdBQVcsQ0FBQztBQUM3QixPQUFPLGNBQWMsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRCxPQUFPLGNBQWMsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRCxPQUFPLFdBQVcsTUFBTSxrQkFBa0IsQ0FBQztBQUMzQyxPQUFPLFdBQVcsTUFBTSxrQkFBa0IsQ0FBQztBQUMzQyxPQUFPLFFBQVEsTUFBTSxlQUFlLENBQUM7QUFFckMsTUFBTSxnQkFBZ0IsR0FBRyxLQUFLLElBQW1CLEVBQUU7SUFDakQsTUFBTSxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1FBQzVCLE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2hDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBRUYsTUFBTSxXQUFXLEdBQUcsS0FBSyxFQUN2QixJQUFnQixFQUNoQixRQUFnQixFQUNoQixPQUFlLEVBQ0EsRUFBRTtJQUNqQixNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBYyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDM0UsQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUNQLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDeEMsQ0FBQyxDQUNGLENBQUM7SUFDRixJQUFJLE9BQU8sSUFBSSxJQUFJLEVB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TyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLGFBQ3RDLEtBQUMsY0FBYyxJQUNiLE9BQU8sRUFBRSxjQUFLLElBQUksRUFBQyxRQUFRLHlDQUErQixFQUMxRCxrQkFBa0IsRUFBRSxJQUFJLEdBQ3hCLEVBQ0YsS0FBQyxjQUFjLElBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBQyxRQUFRLEdBQUcsSUFDekQsQ0FDUCxDQUFDO0lBQ0osQ0FBQztDQUNGLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBVTtJQUN6QyxNQUFNLEVBQUUsR0FBRyxFQUFFO1FBQ1gsT0FBTyxDQUNMLEtBQUMsUUFBUSxJQUFDLFFBQVEsRUFBRSxjQUFLLElBQUksRUFBQyxRQUFRLGlDQUF1QixZQUMzRCxLQUFDLHVCQUF1QixLQUFHLEdBQ2xCLENBQ1osQ0FBQztJQUNKLENBQUM7SUFDRCxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsYUFBYSxFQUFFLEVBQUUsRUFBRTtRQUNoQyxNQUFNLGdCQUFnQixFQUFFLENBQUM7UUFDekIsaUJBQWlCLENBQUMsYUFBYSxFQUFFLEtBQUssRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO0lBQ25FLENBQUM7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3VzcGVuc2UsIGNyZWF0ZUVsZW1lbnQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdHlwZSB7IE1ldGEsIFN0b3J5T2JqIH0gZnJvbSAnQHN0b3J5Ym9vay9yZWFjdCc7XG5cbmltcG9ydCB7IFJlc291cmNlUGFnZSB9IGZyb20gJy4uL1Jlc291cmNlUGFnZS5qcyc7XG5pbXBvcnQgTGluayBmcm9tICcuL0xpbmsuanMnO1xuaW1wb3J0IFJvdXRlQ29tcG9uZW50IGZyb20gJy4vUm91dGVDb21wb25lbnQuanMnO1xuaW1wb3J0IFJvdXRlclJlbmRlcmVyIGZyb20gJy4vUm91dGVyUmVuZGVyZXIuanMnO1xuaW1wb3J0IHVzZUxvY2F0aW9uIGZyb20gJy4vdXNlTG9jYXRpb24uanMnO1xuaW1wb3J0IHVzZU5hdmlnYXRlIGZyb20gJy4vdXNlTmF2aWdhdGUuanMnO1xuaW1wb3J0IHVzZVF1ZXJ5IGZyb20gJy4vdXNlUXVlcnkuanMnO1xuXG5jb25zdCB3YWl0Rm9yU3RvcnlJZGxlID0gYXN5bmMgKCk6IFByb21pc2U8dm9pZD4gPT4ge1xuICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgIHdpbmRvdy5zZXRUaW1lb3V0KHJlc29sdmUsIDApO1xuICB9KTtcbn07XG5cbmNvbnN0IGNsaWNrQnlUZXh0ID0gYXN5bmMgKFxuICByb290OiBQYXJlbnROb2RlLFxuICBzZWxlY3Rvcjogc3RyaW5nLFxuICBwYXR0ZXJuOiBSZWdFeHAsXG4pOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgY29uc3QgZWxlbWVudCA9IEFycmF5LmZyb20ocm9vdC5xdWVyeVNlbGVjdG9yQWxsPEhUTUxFbGVtZW50PihzZWxlY3RvcikpLmZpbmQoXG4gICAgKGl0ZW0pID0+IHtcbiAgICAgIHJldHVybiBwYXR0ZXJuLnRlc3QoaXRlbS50ZXh0Q29udGVudCk7XG4gICAgfSxcbiAgKTtcbiAgaWYgKGVsZW1lbnQgPT0gbnVsbCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgRXhwZWN0ZWQgJHtzZWxlY3Rvcn0gbWF0Y2hpbmcgJHtwYXR0ZXJuLnNvdXJjZX0uYCk7XG4gIH1cbiAgZWxlbWVudC5jbGljaygpO1xuICBhd2FpdCB3YWl0Rm9yU3RvcnlJZGxlKCk7XG59O1xuXG5jb25zdCBleHBlY3RUZXh0Q29udGVudCA9IChcbiAgcm9vdDogUGFyZW50Tm9kZSxcbiAgc2VsZWN0b3I6IHN0cmluZyxcbiAgcGF0dGVybjogUmVnRXhwLFxuKTogdm9pZCA9PiB7XG4gIGNvbnN0IGVsZW1lbnQgPSByb290LnF1ZXJ5U2VsZWN0b3Ioc2VsZWN0b3IpO1xuICBpZiAoZWxlbWVudCA9PSBudWxsIHx8ICFwYXR0ZXJuLnRlc3QoZWxlbWVudC50ZXh0Q29udGVudCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEV4cGVjdGVkICR7c2VsZWN0b3J9IHRvIGNvbnRhaW4gJHtwYXR0ZXJuLnNvdXJjZX0uYCk7XG4gIH1cbn07XG5cbmNvbnN0IFJvdXRlclN0YXRlUGFuZWwgPSAoKSA9PiB7XG4gIGNvbnN0IGxvY2F0aW9uID0gdXNlTG9jYXRpb24oKTtcbiAgY29uc3QgcXVlcnkgPSB1c2VRdWVyeSgpO1xuICBjb25zdCBuYXZpZ2F0ZSA9IHVzZU5hdmlnYXRlKCk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdncmlkJywgZ2FwOiAxMiB9fT5cbiAgICAgIDxkaXYgcm9sZT1cInN0YXR1c1wiPlxuICAgICAgICBDdXJyZW50IGxvY2F0aW9uOiB7bG9jYXRpb24ucGF0aG5hbWV9XG4gICAgICAgIHtsb2NhdGlvbi5zZWFyY2h9XG4gICAgICA8L2Rpdj5cbiAgICAgIDxwcmU+e0pTT04uc3RyaW5naWZ5KHF1ZXJ5LCBudWxsLCAyKX08L3ByZT5cbiAgICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICBuYXZpZ2F0ZSh7IHBhdGhuYW1lOiAnL3Byb2plY3RzJywgcXVlcnk6IHsgc3RhdHVzOiAnYWN0aXZlJyB9IH0pO1xuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICBOYXZpZ2F0ZSB0byBwcm9qZWN0c1xuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5jb25zdCBMb2FkZWRSZXNvdXJjZVBhZ2UgPSAoKSA9PiB7XG4gIHJldHVybiA8ZGl2PkxhenkgcmVzb3VyY2UgbG9hZGVkPC9kaXY+O1xufTtcblxuY29uc3Qgc3Rvcnlib29rUmVzb3VyY2VQYWdlID0gbmV3IFJlc291cmNlUGFnZShhc3luYyAoKSA9PiB7XG4gIHJldHVybiBMb2FkZWRSZXNvdXJjZVBhZ2U7XG59LCAnc3Rvcnlib29rLXJlc291cmNlLXBhZ2UnKTtcblxuY29uc3QgTGF6eVJlc291cmNlUGFnZUZpeHR1cmUgPSAoKSA9PiB7XG4gIGNvbnN0IENvbXBvbmVudCA9IHN0b3J5Ym9va1Jlc291cmNlUGFnZS5yZWFkKCk7XG4gIHJldHVybiBjcmVhdGVFbGVtZW50KENvbXBvbmVudCk7XG59O1xuXG5jb25zdCBtZXRhID0ge1xuICB0aXRsZTogJ0BwbHVtaWxlL3JvdXRlci9Sb3V0aW5nL0xpbmsnLFxuICBwYXJhbWV0ZXJzOiB7XG4gICAgZG9jczoge1xuICAgICAgZGVzY3JpcHRpb246IHtcbiAgICAgICAgY29tcG9uZW50OlxuICAgICAgICAgICdCZWhhdmlvcmFsIFN0b3J5Ym9vayBkZW1vcyBmb3Igcm91dGVyIGxpbmtzLCBxdWVyeSBzdGF0ZSwgcmVuZGVyIGZhbGxiYWNrcywgcm91dGUgY29tcG9uZW50cywgYW5kIHJlc291cmNlIHBhZ2VzLicsXG4gICAgICB9LFxuICAgIH0sXG4gIH0sXG59IHNhdGlzZmllcyBNZXRhO1xuXG5leHBvcnQgZGVmYXVsdCBtZXRhO1xuXG50eXBlIFN0b3J5ID0gU3RvcnlPYmo8dHlwZW9mIG1ldGE+O1xuXG5leHBvcnQgY29uc3QgTmF2aWdhdGlvbkFuZFF1ZXJ5UGFyYW1zOiBTdG9yeSA9IHtcbiAgcmVuZGVyOiAoKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogJ2dyaWQnLCBnYXA6IDE2IH19PlxuICAgICAgICA8bmF2IHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgZ2FwOiAxMiB9fT5cbiAgICAgICAgICA8TGluayB0bz1cIi9kYXNoYm9hcmRcIiBleGFjdCBhY3RpdmVDbGFzc05hbWU9XCJhY3RpdmVcIj5cbiAgICAgICAgICAgIERhc2hib2FyZFxuICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICA8TGlua1xuICAgICAgICAgICAgdG89XCIvcHJvamVjdHNcIlxuICAgICAgICAgICAgZmlsdGVycz17eyBzdGF0dXM6IHsgZXE6ICdhY3RpdmUnIH0sIHBhZ2U6IHsgZXE6IDIgfSB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIEFjdGl2ZSBwcm9qZWN0c1xuICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICA8TGluayB0bz1cIi9zZXR0aW5nc1wiIGlzRGlzYWJsZWQ+XG4gICAgICAgICAgICBEaXNhYmxlZCBzZXR0aW5nc1xuICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgPC9uYXY+XG4gICAgICAgIDxSb3V0ZXJTdGF0ZVBhbmVsIC8+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9LFxuICBwbGF5OiBhc3luYyAoeyBjYW52YXNFbGVtZW50IH0pID0+IHtcbiAgICBhd2FpdCBjbGlja0J5VGV4dChjYW52YXNFbGVtZW50LCAnYScsIC9hY3RpdmUgcHJvamVjdHMvaSk7XG4gICAgZXhwZWN0VGV4dENvbnRlbnQoXG4gICAgICBjYW52YXNFbGVtZW50LFxuICAgICAgJ1tyb2xlPVwic3RhdHVzXCJdJyxcbiAgICAgIC9cXC9wcm9qZWN0c1xcP3N0YXR1cz1hY3RpdmUmcGFnZT0yL2ksXG4gICAgKTtcbiAgICBhd2FpdCBjbGlja0J5VGV4dChjYW52YXNFbGVtZW50LCAnYnV0dG9uJywgL25hdmlnYXRlIHRvIHByb2plY3RzL2kpO1xuICAgIGV4cGVjdFRleHRDb250ZW50KGNhbnZhc0VsZW1lbnQsICdwcmUnLCAvXCJzdGF0dXNcIjogXCJhY3RpdmVcIi9pKTtcbiAgfSxcbn07XG5cbmV4cG9ydCBjb25zdCBSZW5kZXJlclBlbmRpbmdBbmRFbXB0eTogU3RvcnkgPSB7XG4gIHJlbmRlcjogKCkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdncmlkJywgZ2FwOiAxMiB9fT5cbiAgICAgICAgPFJvdXRlclJlbmRlcmVyXG4gICAgICAgICAgZW5hYmxlVHJhbnNpdGlvblxuICAgICAgICAgIGZhbGxiYWNrPXs8ZGl2IHJvbGU9XCJzdGF0dXNcIj5Mb2FkaW5nIHJvdXRlPC9kaXY+fVxuICAgICAgICAgIHBlbmRpbmc9ezxkaXYgcm9sZT1cInN0YXR1c1wiPk5hdmlnYXRpb24gcGVuZGluZzwvZGl2Pn1cbiAgICAgICAgLz5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICBObyByb3V0ZSBzZWdtZW50cyBhcmUgcHJlcGFyZWQgaW4gdGhpcyBmaXh0dXJlLCBzbyB0aGUgcmVuZGVyZXJcbiAgICAgICAgICByZXR1cm5zIGFuIGVtcHR5IHJvdXRlIGJvZHkgd2hpbGUgcHJlc2VydmluZyBmYWxsYmFjayBhbmQgcGVuZGluZ1xuICAgICAgICAgIHdpcmluZy5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9LFxufTtcblxuZXhwb3J0IGNvbnN0IFJvdXRlQ29tcG9uZW50U3RhdGVzOiBTdG9yeSA9IHtcbiAgcmVuZGVyOiAoKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogJ2dyaWQnLCBnYXA6IDEyIH19PlxuICAgICAgICA8Um91dGVDb21wb25lbnRcbiAgICAgICAgICBjb250ZW50PXs8ZGl2IHJvbGU9XCJzdGF0dXNcIj5SZXNvbHZlZCByb3V0ZSBjb21wb25lbnQ8L2Rpdj59XG4gICAgICAgICAgcmVkaXJlY3RUb1BhdGhuYW1lPXtudWxsfVxuICAgICAgICAvPlxuICAgICAgICA8Um91dGVDb21wb25lbnQgY29udGVudD17bnVsbH0gcmVkaXJlY3RUb1BhdGhuYW1lPVwiL2xvZ2luXCIgLz5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH0sXG59O1xuXG5leHBvcnQgY29uc3QgUmVzb3VyY2VQYWdlU3VzcGVuc2U6IFN0b3J5ID0ge1xuICByZW5kZXI6ICgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgPFN1c3BlbnNlIGZhbGxiYWNrPXs8ZGl2IHJvbGU9XCJzdGF0dXNcIj5Mb2FkaW5nIHJlc291cmNlPC9kaXY+fT5cbiAgICAgICAgPExhenlSZXNvdXJjZVBhZ2VGaXh0dXJlIC8+XG4gICAgICA8L1N1c3BlbnNlPlxuICAgICk7XG4gIH0sXG4gIHBsYXk6IGFzeW5jICh7IGNhbnZhc0VsZW1lbnQgfSkgPT4ge1xuICAgIGF3YWl0IHdhaXRGb3JTdG9yeUlkbGUoKTtcbiAgICBleHBlY3RUZXh0Q29udGVudChjYW52YXNFbGVtZW50LCAnZGl2JywgL2xhenkgcmVzb3VyY2UgbG9hZGVkL2kpO1xuICB9LFxufTtcbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import type { RoutingContextType, UnknownQueryShape } from '../types.js';
3
- declare const RoutingContext: React.Context<RoutingContextType<any, Readonly<Record<string, import("@plumile/filter-query/types.js.js").FieldDescriptor>> | undefined, UnknownQueryShape, any> | null>;
2
+ import type { RoutingContextType } from '../types.js';
3
+ declare const RoutingContext: React.Context<RoutingContextType<Partial<Record<string, string | string[]>>> | null>;
4
4
  export default RoutingContext;
5
5
  //# sourceMappingURL=RoutingContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RoutingContext.d.ts","sourceRoot":"","sources":["../../../src/routing/RoutingContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAEV,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,aAAa,CAAC;AAErB,QAAA,MAAM,cAAc,0KAKL,CAAC;eAKD,cAAc"}
1
+ {"version":3,"file":"RoutingContext.d.ts","sourceRoot":"","sources":["../../../src/routing/RoutingContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGtD,QAAA,MAAM,cAAc,sFAC6C,CAAC;eAKnD,cAAc"}
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
2
  const RoutingContext = React.createContext(null);
3
3
  export default RoutingContext;
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUm91dGluZ0NvbnRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcm91dGluZy9Sb3V0aW5nQ29udGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFRMUIsTUFBTSxjQUFjLEdBQUcsS0FBSyxDQUFDLGFBQWEsQ0FLaEMsSUFBSSxDQUFDLENBQUM7QUFLaEIsZUFBZSxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgdHlwZSB7XG4gIEZpbHRlclNjaGVtYSxcbiAgUm91dGluZ0NvbnRleHRUeXBlLFxuICBVbmtub3duUXVlcnlTaGFwZSxcbn0gZnJvbSAnLi4vdHlwZXMuanMnO1xuXG5jb25zdCBSb3V0aW5nQ29udGV4dCA9IFJlYWN0LmNyZWF0ZUNvbnRleHQ8Um91dGluZ0NvbnRleHRUeXBlPFxuICBhbnksXG4gIEZpbHRlclNjaGVtYSB8IHVuZGVmaW5lZCxcbiAgVW5rbm93blF1ZXJ5U2hhcGUsXG4gIGFueVxuPiB8IG51bGw+KG51bGwpO1xuXG4vKipcbiAqIEEgY3VzdG9tIGNvbnRleHQgaW5zdGFuY2UgZm9yIG91ciByb3V0ZXIgdHlwZVxuICovXG5leHBvcnQgZGVmYXVsdCBSb3V0aW5nQ29udGV4dDtcbiJdfQ==
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUm91dGluZ0NvbnRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcm91dGluZy9Sb3V0aW5nQ29udGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFLMUIsTUFBTSxjQUFjLEdBQ2xCLEtBQUssQ0FBQyxhQUFhLENBQXVDLElBQUksQ0FBQyxDQUFDO0FBS2xFLGVBQWUsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHR5cGUgeyBSb3V0aW5nQ29udGV4dFR5cGUgfSBmcm9tICcuLi90eXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7IFBhcmFtRGF0YSB9IGZyb20gJ3BhdGgtdG8tcmVnZXhwJztcblxuY29uc3QgUm91dGluZ0NvbnRleHQgPVxuICBSZWFjdC5jcmVhdGVDb250ZXh0PFJvdXRpbmdDb250ZXh0VHlwZTxQYXJhbURhdGE+IHwgbnVsbD4obnVsbCk7XG5cbi8qKlxuICogQSBjdXN0b20gY29udGV4dCBpbnN0YW5jZSBmb3Igb3VyIHJvdXRlciB0eXBlXG4gKi9cbmV4cG9ydCBkZWZhdWx0IFJvdXRpbmdDb250ZXh0O1xuIl19
@@ -1 +1 @@
1
- {"version":3,"file":"createStaticRouter.d.ts","sourceRoot":"","sources":["../../../src/routing/createStaticRouter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,MAAM,IAAI,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC7E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAMhD,OAAO,KAAK,EACV,QAAQ,EACR,UAAU,EACV,kBAAkB,EAElB,iBAAiB,EAIlB,MAAM,aAAa,CAAC;AAErB,KAAK,iBAAiB,GAAG,YAAY,GAAG,SAAS,CAAC;AAElD,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,yBAAyB,CAAC,QAAQ,IAAI;IAChD,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,oBAAoB,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,wBAAwB,CAAC,QAAQ,EAAE,CAAC,SAAS,QAAQ,EAAE,IAAI;IACrE,OAAO,EAAE,kBAAkB,CACzB,SAAS,EACT,iBAAiB,EACjB,iBAAiB,EACjB,QAAQ,CACT,CAAC;IACF,KAAK,EAAE,UAAU,CAAC,SAAS,EAAE,iBAAiB,EAAE,QAAQ,CAAC,CAAC;IAC1D,MAAM,EAAE,CAAC,CAAC;CACX,CAAC;AAiLF,wBAAsB,kBAAkB,CACtC,QAAQ,GAAG,OAAO,EAClB,CAAC,SAAS,QAAQ,EAAE,GAAG,QAAQ,EAAE,EAEjC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,EAAE,EAC3B,OAAO,EAAE,yBAAyB,CAAC,QAAQ,CAAC,GAC3C,OAAO,CAAC,wBAAwB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAiDhD;eAEc,kBAAkB"}
1
+ {"version":3,"file":"createStaticRouter.d.ts","sourceRoot":"","sources":["../../../src/routing/createStaticRouter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,MAAM,IAAI,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC7E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAOhD,OAAO,KAAK,EACV,QAAQ,EACR,UAAU,EACV,kBAAkB,EAElB,iBAAiB,EAIlB,MAAM,aAAa,CAAC;AAErB,KAAK,iBAAiB,GAAG,YAAY,GAAG,SAAS,CAAC;AAElD,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,yBAAyB,CAAC,QAAQ,IAAI;IAChD,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,oBAAoB,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,wBAAwB,CAAC,QAAQ,EAAE,CAAC,SAAS,QAAQ,EAAE,IAAI;IACrE,OAAO,EAAE,kBAAkB,CACzB,SAAS,EACT,iBAAiB,EACjB,iBAAiB,EACjB,QAAQ,CACT,CAAC;IACF,KAAK,EAAE,UAAU,CAAC,SAAS,EAAE,iBAAiB,EAAE,QAAQ,CAAC,CAAC;IAC1D,MAAM,EAAE,CAAC,CAAC;CACX,CAAC;AAiLF,wBAAsB,kBAAkB,CACtC,QAAQ,GAAG,OAAO,EAClB,CAAC,SAAS,QAAQ,EAAE,GAAG,QAAQ,EAAE,EAEjC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,EAAE,EAC3B,OAAO,EAAE,yBAAyB,CAAC,QAAQ,CAAC,GAC3C,OAAO,CAAC,wBAAwB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAiDhD;eAEc,kBAAkB"}
@@ -96,6 +96,9 @@ function createStaticRoutingContext(entry, flatRoutes) {
96
96
  return entry;
97
97
  },
98
98
  history: {
99
+ get location() {
100
+ return entry.location;
101
+ },
99
102
  init() { },
100
103
  push() {
101
104
  throw new Error('Static router cannot push history');
@@ -155,4 +158,4 @@ export async function createStaticRouter(routes, options) {
155
158
  };
156
159
  }
157
160
  export default createStaticRouter;
158
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlU3RhdGljUm91dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3JvdXRpbmcvY3JlYXRlU3RhdGljUm91dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxLQUFLLElBQUksWUFBWSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFJdkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQTZDMUQsU0FBUyxzQkFBc0IsQ0FDN0IsYUFJa0I7SUFLbEIsTUFBTSxlQUFlLEdBQTBCO1FBQzdDLE1BQU0sRUFBRSxVQUFVO1FBQ2xCLFlBQVksRUFBRSxDQUFDO1FBQ2YsYUFBYSxFQUFFLENBQUM7UUFDaEIsT0FBTyxFQUFFLENBQUM7S0FDWCxDQUFDO0lBQ0YsT0FBTztRQUNMLGVBQWU7UUFDZixTQUFTLEVBQUU7WUFDVCxHQUFHLGVBQWU7WUFDbEIsUUFBUSxFQUFFLGFBQWEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7Z0JBQy9DLE9BQU87b0JBQ0wsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO29CQUNsQixRQUFRLEVBQUUsT0FBTyxDQUFDLFFBQVE7b0JBQzFCLFlBQVksRUFBRSxPQUFPLENBQUMsWUFBWTtvQkFDbEMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsSUFBSSxNQUFNO29CQUM5RCxVQUFVLEVBQUUsT0FBTyxDQUFDLFlBQVksRUFBRSxTQUFTLEVBQUUsSUFBSSxNQUFNO29CQUN2RCxNQUFNLEVBQUUsVUFBVTtpQkFDbkIsQ0FBQztZQUNKLENBQUMsQ0FBQztTQUNI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Q2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osU0FBUyxFQUNUO1FBQ0UsUUFBUSxFQUFFLFdBQVcsQ0FBQyxLQUFLO1FBQzNCLE9BQU8sRUFBRSxXQUFXLENBQUMsT0FBTztLQUM3QixDQUNGLENBQUM7SUFFRixNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQ2YsYUFBYSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFO1FBQzNDLE1BQU0sT0FBTyxDQUFDLGdCQUFnQixFQUFFLElBQUksRUFBRSxDQUFDO1FBQ3ZDLE1BQU0sT0FBTyxDQUFDLFlBQVksRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUNyQyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0YsTUFBTSxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsR0FBRyxzQkFBc0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUU3RSxNQUFNLEtBQUssR0FBdUQ7UUFDaEUsaUJBQWlCO1FBQ2pCLGVBQWU7UUFDZixPQUFPLEVBQUUsWUFBWTtRQUNyQixpQkFBaUIsRUFBRSxXQUFXLENBQUMsaUJBQWlCO1FBQ2hELE9BQU8sRUFBRSxXQUFXLENBQUMsT0FBTztRQUM1QixhQUFhLEVBQUUsS0FBSztRQUNwQixRQUFRO1FBQ1IsYUFBYTtRQUNiLEtBQUssRUFBRSxXQUFXLENBQUMsS0FBSztRQUN4QixTQUFTLEVBQUUsUUFBUSxDQUFDLE1BQU07UUFDMUIsS0FBSztRQUNMLFNBQVM7S0FDVixDQUFDO0lBRUYsTUFBTSxhQUFhLEdBQUcsMEJBQTBCLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBRXBFLE9BQU87UUFDTCxPQUFPLEVBQUUsYUFBYTtRQUN0QixLQUFLO1FBQ0wsTUFBTSxFQUFFLE1BQVc7S0FDcEIsQ0FBQztBQUNKLENBQUM7QUFFRCxlQUFlLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBEaWFnbm9zdGljIGFzIEZpbHRlckRpYWdub3N0aWMgfSBmcm9tICdAcGx1bWlsZS9maWx0ZXItcXVlcnkvZXJyb3JzLmpzJztcbmltcG9ydCB7IHBhcnNlIGFzIHBhcnNlRmlsdGVycyB9IGZyb20gJ0BwbHVtaWxlL2ZpbHRlci1xdWVyeS9wYXJzZS5qcyc7XG5pbXBvcnQgeyB0eXBlIFNjaGVtYSBhcyBGaWx0ZXJTY2hlbWEgfSBmcm9tICdAcGx1bWlsZS9maWx0ZXItcXVlcnkvdHlwZXMuanMnO1xuaW1wb3J0IHR5cGUgeyBQYXJhbURhdGEgfSBmcm9tICdwYXRoLXRvLXJlZ2V4cCc7XG5cbmltcG9ydCB7IGJ1aWxkUm91dGVzIH0gZnJvbSAnLi4vYnVpbGRlci5qcyc7XG5pbXBvcnQgeyBwcmVwYXJlTWF0Y2ggfSBmcm9tICcuLi90b29scy5qcyc7XG5pbXBvcnQgeyBwYXJzZVJhd1F1ZXJ5IH0gZnJvbSAnLi4vdG9vbHMvcXVlcnkuanMnO1xuaW1wb3J0IHsgYnVpbGREZXN0aW5hdGlvblNlYXJjaCB9IGZyb20gJy4vZGVzdGluYXRpb24uanMnO1xuaW1wb3J0IHR5cGUge1xuICBBbnlSb3V0ZSxcbiAgUm91dGVFbnRyeSxcbiAgUm91dGluZ0NvbnRleHRUeXBlLFxuICBVbmtub3duRmlsdGVycyxcbiAgVW5rbm93blF1ZXJ5U2hhcGUsXG4gIFJhd1F1ZXJ5LFxuICBSb3V0ZXJBY3RpdmVMb2FkU3RhdGUsXG4gIFJvdXRlckxvYWRTdGF0ZSxcbn0gZnJvbSAnLi4vdHlwZXMuanMnO1xuXG50eXBlIFJvdXRlclF1ZXJ5U2NoZW1hID0gRmlsdGVyU2NoZW1hIHwgdW5kZWZpbmVkO1xuXG5leHBvcnQgdHlwZSBTdGF0aWNSb3V0ZXJMb2NhdGlvbiA9IHtcbiAgaGFzaD86IHN0cmluZztcbiAgcGF0aG5hbWU6IHN0cmluZztcbiAgc2VhcmNoPzogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgQ3JlYXRlU3RhdGljUm91dGVyT3B0aW9uczxUQ29udGV4dD4gPSB7XG4gIGNvbnRleHQ/OiBUQ29udGV4dDtcbiAgbG9jYXRpb246IFN0YXRpY1JvdXRlckxvY2F0aW9uO1xufTtcblxuZXhwb3J0IHR5cGUgQ3JlYXRlU3RhdGljUm91dGVyUmV0dXJuPFRDb250ZXh0LCBSIGV4dGVuZHMgQW55Um91dGVbXT4gPSB7XG4gIGNvbnRleHQ6IFJvdXRpbmdDb250ZXh0VHlwZTxcbiAgICBQYXJhbURhdGEsXG4gICAgUm91dGVyUXVlcnlTY2hlbWEsXG4gICAgVW5rbm93blF1ZXJ5U2hhcGUsXG4gICAgVENvbnRleHRcbiAgPjtcbiAgZW50cnk6IFJvdXRlRW50cnk8UGFyYW1EYXRhLCBSb3V0ZXJRdWVyeVNjaGVtYSwgVENvbnRleHQ+O1xuICByb3V0ZXM6IFI7XG59O1xuXG50eXBlIFBhcnNlZFNlYXJjaFN0YXRlID0ge1xuICBxdWVyeTogUmF3UXVlcnk7XG4gIGZpbHRlcnM/OiBVbmtub3duRmlsdGVycztcbiAgZmlsdGVyRGlhZ25vc3RpY3M/OiBGaWx0ZXJEaWFnbm9zdGljW107XG59O1xuXG4vKipcbiAqXG4gKi9cbmZ1bmN0aW9uIGJ1aWxkUmVzb2x2ZWRMb2FkU3RhdGU8VENvbnRleHQ+KFxuICBwcmVwYXJlZE1hdGNoOiBSb3V0ZUVudHJ5PFxuICAgIFBhcmFtRGF0YSxcbiAgICBSb3V0ZXJRdWVyeVNjaGVtYSxcbiAgICBUQ29udGV4dFxuICA+WydwcmVwYXJlZE1hdGNoJ10sXG4pOiB7XG4gIGFjdGl2ZUxvYWRTdGF0ZTogUm91dGVyQWN0aXZlTG9hZFN0YXRlO1xuICBsb2FkU3RhdGU6IFJvdXRlckxvYWRTdGF0ZTtcbn0ge1xuICBjb25zdCBhY3RpdmVMb2FkU3RhdGU6IFJvdXRlckFjdGl2ZUxvYWRTdGF0ZSA9IHtcbiAgICBzdGF0dXM6ICdyZXNvbHZlZCcsXG4gICAgcGVuZGluZ0NvdW50OiAwLFxuICAgIHJlamVjdGVkQ291bnQ6IDAsXG4gICAgdmVyc2lvbjogMCxcbiAgfTtcbiAgcmV0dXJuIHtcbiAgICBhY3RpdmVMb2FkU3RhdGUsXG4gICAgbG9hZFN0YXRlOiB7XG4gICAgICAuLi5hY3RpdmVMb2FkU3RhdGUsXG4gICAgICBzZWdtZW50czogcHJlcGFyZWRNYXRjaC5zZWdtZW50cy5tYXAoKHNlZ21lbnQpID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBwYXRoOiBzZWdtZW50LnBhdGgsXG4gICAgICAgICAgZnVsbFBhdGg6IHNlZ21lbnQuZnVsbFBhdGgsXG4gICAgICAgICAgc2VnbWVudEluZGV4OiBzZWdtZW50LnNlZ21lbnRJbmRleCxcbiAgICAgICAgICBwcmVwYXJlU3RhdHVzOiBzZWdtZW50LnByZXBhcmVkUmVzb3VyY2U/LmdldFN0YXR1cygpID8/ICdpZGxlJyxcbiAgICAgICAgICBjb2RlU3RhdHVzOiBzZWdtZW50LnJlc291cmNlUGFnZT8uZ2V0U3RhdHVzKCkgPz8gJ2lkbGUnLFxuICAgICAgICAgIHN0YXR1czogJ3Jlc29sdmVkJyxcbiAgICAgICAgfTtcbiAgICAgIH0pLFxuICAgIH0sXG4gIH07XG59XG5cbi8qKlxuICpcbiAqL1xuZnVuY3Rpb24gbm9ybWFsaXplU2VhcmNoKHNlYXJjaDogc3RyaW5nIHwgdW5kZWZpbmVkKTogc3RyaW5nIHtcbiAgaWYgKHNlYXJjaCA9PSBudWxsIHx8IHNlYXJjaCA9PT0gJycpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cbiAgaWYgKHNlYXJjaC5zdGFydHNXaXRoKCc/JykpIHtcbiAgICByZXR1cm4gc2VhcmNoO1xuICB9XG4gIHJldHVybiBgPyR7c2VhcmNofWA7XG59XG5cbi8qKlxuICpcbiAqL1xuZnVuY3Rpb24gbm9ybWFsaXplU3RhdGljTG9jYXRpb24obG9jYXRpb246IFN0YXRpY1JvdXRlckxvY2F0aW9uKTogTG9jYXRpb24ge1xuICBsZXQgeyBwYXRobmFtZSB9ID0gbG9jYXRpb247XG4gIGlmICghcGF0aG5hbWUuc3RhcnRzV2l0aCgnLycpKSB7XG4gICAgcGF0aG5hbWUgPSBgLyR7cGF0aG5hbWV9YDtcbiAgfVxuICByZXR1cm4ge1xuICAgIGhhc2g6IGxvY2F0aW9uLmhhc2ggPz8gJycsXG4gICAgcGF0aG5hbWUsXG4gICAgc2VhcmNoOiBub3JtYWxpemVTZWFyY2gobG9jYXRpb24uc2VhcmNoKSxcbiAgfSBhcyBMb2NhdGlvbjtcbn1cblxuLyoqXG4gKlxuICovXG5mdW5jdGlvbiBmaW5kU3RhdGljTWF0Y2hlZFJvdXRlKFxuICByb3V0ZXM6IFJldHVyblR5cGU8dHlwZW9mIGJ1aWxkUm91dGVzPixcbiAgbG9jYXRpb246IExvY2F0aW9uLFxuKSB7XG4gIGZvciAoY29uc3Qgcm91dGUgb2Ygcm91dGVzKSB7XG4gICAgY29uc3QgbWF0Y2ggPSByb3V0ZS5tYXRjaEZ1bmN0aW9uKGxvY2F0aW9uLnBhdGhuYW1lKTtcbiAgICBpZiAobWF0Y2ggIT09IGZhbHNlKSB7XG4gICAgICBjb25zdCB7IHBhdGgsIHBhcmFtcyB9ID0gbWF0Y2g7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBtYXRjaCxcbiAgICAgICAgcm91dGUsXG4gICAgICAgIHBhdGgsXG4gICAgICAgIHBhcmFtcyxcbiAgICAgIH07XG4gICAgfVxuICB9XG4gIHJldHVybiBudWxsO1xufVxuXG4vKipcbiAqXG4gKi9cbmZ1bmN0aW9uIHBhcnNlU2VhcmNoU3RhdGUoXG4gIHNlYXJjaDogc3RyaW5nLFxuICBxdWVyeVNjaGVtYTogUm91dGVyUXVlcnlTY2hlbWEsXG4pOiBQYXJzZWRTZWFyY2hTdGF0ZSB7XG4gIGNvbnN0IHF1ZXJ5ID0gcGFyc2VSYXdRdWVyeShzZWFyY2gpO1xuICBpZiAocXVlcnlTY2hlbWEgPT0gbnVsbCkge1xuICAgIHJldHVybiB7IHF1ZXJ5IH07XG4gIH1cbiAgY29uc3QgcGFyc2VkID0gcGFyc2VGaWx0ZXJzKHNlYXJjaCwgcXVlcnlTY2hlbWEpO1xuICByZXR1cm4ge1xuICAgIHF1ZXJ5LFxuICAgIGZpbHRlcnM6IHBhcnNlZC5maWx0ZXJzLFxuICAgIGZpbHRlckRpYWdub3N0aWNzOiBwYXJzZWQuZGlhZ25vc3RpY3MsXG4gIH07XG59XG5cbi8qKlxuICpcbiAqL1xuZnVuY3Rpb24gY3JlYXRlU3RhdGljUm91dGluZ0NvbnRleHQ8VENvbnRleHQ+KFxuICBlbnRyeTogUm91dGVFbnRyeTxQYXJhbURhdGEsIFJvdXRlclF1ZXJ5U2NoZW1hLCBUQ29udGV4dD4sXG4gIGZsYXRSb3V0ZXM6IFJldHVyblR5cGU8dHlwZW9mIGJ1aWxkUm91dGVzPixcbik6IFJvdXRpbmdDb250ZXh0VHlwZTxcbiAgUGFyYW1EYXRhLFxuICBSb3V0ZXJRdWVyeVNjaGVtYSxcbiAgVW5rbm93blF1ZXJ5U2hhcGUsXG4gIFRDb250ZXh0XG4+IHtcbiAgcmV0dXJuIHtcbiAgICBidWlsZFNlYXJjaCh7IHBhdGhuYW1lLCBxdWVyeSwgZmlsdGVycyB9KSB7XG4gICAgICBjb25zdCB0YXJnZXRQYXRobmFtZSA9IHBhdGhuYW1lID8/IGVudHJ5LmxvY2F0aW9uLnBhdGhuYW1lO1xuICAgICAgY29uc3QgZGVzdGluYXRpb24gPSBmaW5kU3RhdGljTWF0Y2hlZFJvdXRlKGZsYXRSb3V0ZXMsIHtcbiAgICAgICAgLi4uZW50cnkubG9jYXRpb24sXG4gICAgICAgIHBhdGhuYW1lOiB0YXJnZXRQYXRobmFtZSxcbiAgICAgIH0pO1xuICAgICAgbGV0IHF1ZXJ5U2NoZW1hID0gZW50cnkuYWN0aXZlUXVlcnlTY2hlbWE7XG4gICAgICBpZiAoZGVzdGluYXRpb24gIT0gbnVsbCkge1xuICAgICAgICBxdWVyeVNjaGVtYSA9IGRlc3RpbmF0aW9uLnJvdXRlLnJvdXRlcy5hdCgtMSk/LnF1ZXJ5U2NoZW1hO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGJ1aWxkRGVzdGluYXRpb25TZWFyY2goe1xuICAgICAgICBmaWx0ZXJzLFxuICAgICAgICBxdWVyeSxcbiAgICAgICAgcXVlcnlTY2hlbWEsXG4gICAgICB9KTtcbiAgICB9LFxuICAgIGdldDogKCkgPT4ge1xuICAgICAgcmV0dXJuIGVudHJ5O1xuICAgIH0sXG4gICAgaGlzdG9yeToge1xuICAgICAgaW5pdCgpIHt9LFxuICAgICAgcHVzaCgpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdTdGF0aWMgcm91dGVyIGNhbm5vdCBwdXNoIGhpc3RvcnknKTtcbiAgICAgIH0sXG4gICAgICBzZXQoKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignU3RhdGljIHJvdXRlciBjYW5ub3QgcmVwbGFjZSBoaXN0b3J5Jyk7XG4gICAgICB9LFxuICAgICAgc3Vic2NyaWJlKCkge1xuICAgICAgICByZXR1cm4gKCkgPT4ge307XG4gICAgICB9LFxuICAgIH0gYXMgdW5rbm93biBhcyBSb3V0aW5nQ29udGV4dFR5cGU8XG4gICAgICBQYXJhbURhdGEsXG4gICAgICBSb3V0ZXJRdWVyeVNjaGVtYSxcbiAgICAgIFVua25vd25RdWVyeVNoYXBlLFxuICAgICAgVENvbnRleHRcbiAgICA+WydoaXN0b3J5J10sXG4gICAgbmF2aWdhdGUoKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1N0YXRpYyByb3V0ZXIgY2Fubm90IG5hdmlnYXRlJyk7XG4gICAgfSxcbiAgICBwcmVsb2FkKCkge30sXG4gICAgcHJlbG9hZENvZGUoKSB7fSxcbiAgICBzdWJzY3JpYmUoKSB7XG4gICAgICByZXR1cm4gKCkgPT4ge307XG4gICAgfSxcbiAgfTtcbn1cblxuLyoqXG4gKlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlU3RhdGljUm91dGVyPFxuICBUQ29udGV4dCA9IHVua25vd24sXG4gIFIgZXh0ZW5kcyBBbnlSb3V0ZVtdID0gQW55Um91dGVbXSxcbj4oXG4gIHJvdXRlczogWy4uLlJdIHwgQW55Um91dGVbXSxcbiAgb3B0aW9uczogQ3JlYXRlU3RhdGljUm91dGVyT3B0aW9uczxUQ29udGV4dD4sXG4pOiBQcm9taXNlPENyZWF0ZVN0YXRpY1JvdXRlclJldHVybjxUQ29udGV4dCwgUj4+IHtcbiAgY29uc3QgbG9jYXRpb24gPSBub3JtYWxpemVTdGF0aWNMb2NhdGlvbihvcHRpb25zLmxvY2F0aW9uKTtcbiAgY29uc3QgZmxhdFJvdXRlcyA9IGJ1aWxkUm91dGVzKHJvdXRlcyk7XG4gIGNvbnN0IHJvdXRlID0gZmluZFN0YXRpY01hdGNoZWRSb3V0ZShmbGF0Um91dGVzLCBsb2NhdGlvbik7XG4gIGNvbnN0IGFjdGl2ZVF1ZXJ5U2NoZW1hID0gcm91dGU/LnJvdXRlLnJvdXRlcy5hdCgtMSk/LnF1ZXJ5U2NoZW1hO1xuICBjb25zdCBzZWFyY2hTdGF0ZSA9IHBhcnNlU2VhcmNoU3RhdGUobG9jYXRpb24uc2VhcmNoLCBhY3RpdmVRdWVyeVNjaGVtYSk7XG4gIGNvbnN0IHJvdXRlQ29udGV4dCA9IG9wdGlvbnMuY29udGV4dCBhcyBUQ29udGV4dDtcbiAgY29uc3QgcHJlcGFyZWRNYXRjaCA9IHByZXBhcmVNYXRjaChcbiAgICByb3V0ZSxcbiAgICBzZWFyY2hTdGF0ZS5xdWVyeSxcbiAgICB1bmRlZmluZWQsXG4gICAgcm91dGVDb250ZXh0LFxuICAgIHVuZGVmaW5lZCxcbiAgICB7XG4gICAgICByYXdRdWVyeTogc2VhcmNoU3RhdGUucXVlcnksXG4gICAgICBmaWx0ZXJzOiBzZWFyY2hTdGF0ZS5maWx0ZXJzLFxuICAgIH0sXG4gICk7XG5cbiAgYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgcHJlcGFyZWRNYXRjaC5zZWdtZW50cy5tYXAoYXN5bmMgKHNlZ21lbnQpID0+IHtcbiAgICAgIGF3YWl0IHNlZ21lbnQucHJlcGFyZWRSZXNvdXJjZT8ubG9hZCgpO1xuICAgICAgYXdhaXQgc2VnbWVudC5yZXNvdXJjZVBhZ2U/LmxvYWQoKTtcbiAgICB9KSxcbiAgKTtcbiAgY29uc3QgeyBhY3RpdmVMb2FkU3RhdGUsIGxvYWRTdGF0ZSB9ID0gYnVpbGRSZXNvbHZlZExvYWRTdGF0ZShwcmVwYXJlZE1hdGNoKTtcblxuICBjb25zdCBlbnRyeTogUm91dGVFbnRyeTxQYXJhbURhdGEsIFJvdXRlclF1ZXJ5U2NoZW1hLCBUQ29udGV4dD4gPSB7XG4gICAgYWN0aXZlUXVlcnlTY2hlbWEsXG4gICAgYWN0aXZlTG9hZFN0YXRlLFxuICAgIGNvbnRleHQ6IHJvdXRlQ29udGV4dCxcbiAgICBmaWx0ZXJEaWFnbm9zdGljczogc2VhcmNoU3RhdGUuZmlsdGVyRGlhZ25vc3RpY3MsXG4gICAgZmlsdGVyczogc2VhcmNoU3RhdGUuZmlsdGVycyxcbiAgICBmb3JjZVJlcmVuZGVyOiBmYWxzZSxcbiAgICBsb2NhdGlvbixcbiAgICBwcmVwYXJlZE1hdGNoLFxuICAgIHF1ZXJ5OiBzZWFyY2hTdGF0ZS5xdWVyeSxcbiAgICByYXdTZWFyY2g6IGxvY2F0aW9uLnNlYXJjaCxcbiAgICByb3V0ZSxcbiAgICBsb2FkU3RhdGUsXG4gIH07XG5cbiAgY29uc3Qgcm91dGVyQ29udGV4dCA9IGNyZWF0ZVN0YXRpY1JvdXRpbmdDb250ZXh0KGVudHJ5LCBmbGF0Um91dGVzKTtcblxuICByZXR1cm4ge1xuICAgIGNvbnRleHQ6IHJvdXRlckNvbnRleHQsXG4gICAgZW50cnksXG4gICAgcm91dGVzOiByb3V0ZXMgYXMgUixcbiAgfTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgY3JlYXRlU3RhdGljUm91dGVyO1xuIl19
161
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlU3RhdGljUm91dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3JvdXRpbmcvY3JlYXRlU3RhdGljUm91dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxLQUFLLElBQUksWUFBWSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFJdkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU1QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQTZDMUQsU0FBUyxzQkFBc0IsQ0FDN0IsYUFJa0I7SUFLbEIsTUFBTSxlQUFlLEdBQTBCO1FBQzdDLE1BQU0sRUFBRSxVQUFVO1FBQ2xCLFlBQVksRUFBRSxDQUFDO1FBQ2YsYUFBYSxFQUFFLENBQUM7UUFDaEIsT0FBTyxFQUFFLENBQUM7S0FDWCxDQUFDO0lBQ0YsT0FBTztRQUNMLGVBQWU7UUFDZixTQUFTLEVBQUU7WUFDVCxHQUFHLGVBQWU7WUFDbEIsUUFBUSxFQUFFLGFBQWEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7Z0JBQy9DLE9BQU87b0JBQ0wsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO29CQUNsQixRQUFRLEVBQUUsT0FBTyxDQUFDLFFBQVE7b0JBQzFCLFlBQVksRUFBRSxPQUFPLENBQUMsWUFBWTtvQkFDbEMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsSUFBSSxNQUFNO29CQUM5RCxVQUFVLEVBQUUsT0FBTyxDQUFDLFlBQVksRUFBRSxTQUFTLEVBQUUsSUFBSSxNQUFNO29CQUN2RCxNQUFNLEVBQUUsVUFBVTtpQkFDbkIsQ0FBQztZQUNKLENBQUMsQ0FBQztTQUNI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eXBlIERpYWdub3N0aWMgYXMgRmlsdGVyRGlhZ25vc3RpYyB9IGZyb20gJ0BwbHVtaWxlL2ZpbHRlci1xdWVyeS9lcnJvcnMuanMnO1xuaW1wb3J0IHsgcGFyc2UgYXMgcGFyc2VGaWx0ZXJzIH0gZnJvbSAnQHBsdW1pbGUvZmlsdGVyLXF1ZXJ5L3BhcnNlLmpzJztcbmltcG9ydCB7IHR5cGUgU2NoZW1hIGFzIEZpbHRlclNjaGVtYSB9IGZyb20gJ0BwbHVtaWxlL2ZpbHRlci1xdWVyeS90eXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7IFBhcmFtRGF0YSB9IGZyb20gJ3BhdGgtdG8tcmVnZXhwJztcblxuaW1wb3J0IHsgYnVpbGRSb3V0ZXMgfSBmcm9tICcuLi9idWlsZGVyLmpzJztcbmltcG9ydCB0eXBlIHsgSGlzdG9yeSwgSGlzdG9yeUxvY2F0aW9uU25hcHNob3QgfSBmcm9tICcuLi9oaXN0b3J5L3R5cGVzLmpzJztcbmltcG9ydCB7IHByZXBhcmVNYXRjaCB9IGZyb20gJy4uL3Rvb2xzLmpzJztcbmltcG9ydCB7IHBhcnNlUmF3UXVlcnkgfSBmcm9tICcuLi90b29scy9xdWVyeS5qcyc7XG5pbXBvcnQgeyBidWlsZERlc3RpbmF0aW9uU2VhcmNoIH0gZnJvbSAnLi9kZXN0aW5hdGlvbi5qcyc7XG5pbXBvcnQgdHlwZSB7XG4gIEFueVJvdXRlLFxuICBSb3V0ZUVudHJ5LFxuICBSb3V0aW5nQ29udGV4dFR5cGUsXG4gIFVua25vd25GaWx0ZXJzLFxuICBVbmtub3duUXVlcnlTaGFwZSxcbiAgUmF3UXVlcnksXG4gIFJvdXRlckFjdGl2ZUxvYWRTdGF0ZSxcbiAgUm91dGVyTG9hZFN0YXRlLFxufSBmcm9tICcuLi90eXBlcy5qcyc7XG5cbnR5cGUgUm91dGVyUXVlcnlTY2hlbWEgPSBGaWx0ZXJTY2hlbWEgfCB1bmRlZmluZWQ7XG5cbmV4cG9ydCB0eXBlIFN0YXRpY1JvdXRlckxvY2F0aW9uID0ge1xuICBoYXNoPzogc3RyaW5nO1xuICBwYXRobmFtZTogc3RyaW5nO1xuICBzZWFyY2g/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBDcmVhdGVTdGF0aWNSb3V0ZXJPcHRpb25zPFRDb250ZXh0PiA9IHtcbiAgY29udGV4dD86IFRDb250ZXh0O1xuICBsb2NhdGlvbjogU3RhdGljUm91dGVyTG9jYXRpb247XG59O1xuXG5leHBvcnQgdHlwZSBDcmVhdGVTdGF0aWNSb3V0ZXJSZXR1cm48VENvbnRleHQsIFIgZXh0ZW5kcyBBbnlSb3V0ZVtdPiA9IHtcbiAgY29udGV4dDogUm91dGluZ0NvbnRleHRUeXBlPFxuICAgIFBhcmFtRGF0YSxcbiAgICBSb3V0ZXJRdWVyeVNjaGVtYSxcbiAgICBVbmtub3duUXVlcnlTaGFwZSxcbiAgICBUQ29udGV4dFxuICA+O1xuICBlbnRyeTogUm91dGVFbnRyeTxQYXJhbURhdGEsIFJvdXRlclF1ZXJ5U2NoZW1hLCBUQ29udGV4dD47XG4gIHJvdXRlczogUjtcbn07XG5cbnR5cGUgUGFyc2VkU2VhcmNoU3RhdGUgPSB7XG4gIHF1ZXJ5OiBSYXdRdWVyeTtcbiAgZmlsdGVycz86IFVua25vd25GaWx0ZXJzO1xuICBmaWx0ZXJEaWFnbm9zdGljcz86IEZpbHRlckRpYWdub3N0aWNbXTtcbn07XG5cbi8qKlxuICpcbiAqL1xuZnVuY3Rpb24gYnVpbGRSZXNvbHZlZExvYWRTdGF0ZTxUQ29udGV4dD4oXG4gIHByZXBhcmVkTWF0Y2g6IFJvdXRlRW50cnk8XG4gICAgUGFyYW1EYXRhLFxuICAgIFJvdXRlclF1ZXJ5U2NoZW1hLFxuICAgIFRDb250ZXh0XG4gID5bJ3ByZXBhcmVkTWF0Y2gnXSxcbik6IHtcbiAgYWN0aXZlTG9hZFN0YXRlOiBSb3V0ZXJBY3RpdmVMb2FkU3RhdGU7XG4gIGxvYWRTdGF0ZTogUm91dGVyTG9hZFN0YXRlO1xufSB7XG4gIGNvbnN0IGFjdGl2ZUxvYWRTdGF0ZTogUm91dGVyQWN0aXZlTG9hZFN0YXRlID0ge1xuICAgIHN0YXR1czogJ3Jlc29sdmVkJyxcbiAgICBwZW5kaW5nQ291bnQ6IDAsXG4gICAgcmVqZWN0ZWRDb3VudDogMCxcbiAgICB2ZXJzaW9uOiAwLFxuICB9O1xuICByZXR1cm4ge1xuICAgIGFjdGl2ZUxvYWRTdGF0ZSxcbiAgICBsb2FkU3RhdGU6IHtcbiAgICAgIC4uLmFjdGl2ZUxvYWRTdGF0ZSxcbiAgICAgIHNlZ21lbnRzOiBwcmVwYXJlZE1hdGNoLnNlZ21lbnRzLm1hcCgoc2VnbWVudCkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHBhdGg6IHNlZ21lbnQucGF0aCxcbiAgICAgICAgICBmdWxsUGF0aDogc2VnbWVudC5mdWxsUGF0aCxcbiAgICAgICAgICBzZWdtZW50SW5kZXg6IHNlZ21lbnQuc2VnbWVudEluZGV4LFxuICAgICAgICAgIHByZXBhcmVTdGF0dXM6IHNlZ21lbnQucHJlcGFyZWRSZXNvdXJjZT8uZ2V0U3RhdHVzKCkgPz8gJ2lkbGUnLFxuICAgICAgICAgIGNvZGVTdGF0dXM6IHNlZ21lbnQucmVzb3VyY2VQYWdlPy5nZXRTdGF0dXMoKSA/PyAnaWRsZScsXG4gICAgICAgICAgc3RhdHVzOiAncmVzb2x2ZWQnLFxuICAgICAgICB9O1xuICAgICAgfSksXG4gICAgfSxcbiAgfTtcbn1cblxuLyoqXG4gKlxuICovXG5mdW5jdGlvbiBub3JtYWxpemVTZWFyY2goc2VhcmNoOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBzdHJpbmcge1xuICBpZiAoc2VhcmNoID09IG51bGwgfHwgc2VhcmNoID09PSAnJykge1xuICAgIHJldHVybiAnJztcbiAgfVxuICBpZiAoc2VhcmNoLnN0YXJ0c1dpdGgoJz8nKSkge1xuICAgIHJldHVybiBzZWFyY2g7XG4gIH1cbiAgcmV0dXJuIGA/JHtzZWFyY2h9YDtcbn1cblxuLyoqXG4gKlxuICovXG5mdW5jdGlvbiBub3JtYWxpemVTdGF0aWNMb2NhdGlvbihcbiAgbG9jYXRpb246IFN0YXRpY1JvdXRlckxvY2F0aW9uLFxuKTogSGlzdG9yeUxvY2F0aW9uU25hcHNob3Qge1xuICBsZXQgeyBwYXRobmFtZSB9ID0gbG9jYXRpb247XG4gIGlmICghcGF0aG5hbWUuc3RhcnRzV2l0aCgnLycpKSB7XG4gICAgcGF0aG5hbWUgPSBgLyR7cGF0aG5hbWV9YDtcbiAgfVxuICByZXR1cm4ge1xuICAgIGhhc2g6IGxvY2F0aW9uLmhhc2ggPz8gJycsXG4gICAgcGF0aG5hbWUsXG4gICAgc2VhcmNoOiBub3JtYWxpemVTZWFyY2gobG9jYXRpb24uc2VhcmNoKSxcbiAgfTtcbn1cblxuLyoqXG4gKlxuICovXG5mdW5jdGlvbiBmaW5kU3RhdGljTWF0Y2hlZFJvdXRlKFxuICByb3V0ZXM6IFJldHVyblR5cGU8dHlwZW9mIGJ1aWxkUm91dGVzPixcbiAgbG9jYXRpb246IEhpc3RvcnlMb2NhdGlvblNuYXBzaG90LFxuKSB7XG4gIGZvciAoY29uc3Qgcm91dGUgb2Ygcm91dGVzKSB7XG4gICAgY29uc3QgbWF0Y2ggPSByb3V0ZS5tYXRjaEZ1bmN0aW9uKGxvY2F0aW9uLnBhdGhuYW1lKTtcbiAgICBpZiAobWF0Y2ggIT09IGZhbHNlKSB7XG4gICAgICBjb25zdCB7IHBhdGgsIHBhcmFtcyB9ID0gbWF0Y2g7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBtYXRjaCxcbiAgICAgICAgcm91dGUsXG4gICAgICAgIHBhdGgsXG4gICAgICAgIHBhcmFtcyxcbiAgICAgIH07XG4gICAgfVxuICB9XG4gIHJldHVybiBudWxsO1xufVxuXG4vKipcbiAqXG4gKi9cbmZ1bmN0aW9uIHBhcnNlU2VhcmNoU3RhdGUoXG4gIHNlYXJjaDogc3RyaW5nLFxuICBxdWVyeVNjaGVtYTogUm91dGVyUXVlcnlTY2hlbWEsXG4pOiBQYXJzZWRTZWFyY2hTdGF0ZSB7XG4gIGNvbnN0IHF1ZXJ5ID0gcGFyc2VSYXdRdWVyeShzZWFyY2gpO1xuICBpZiAocXVlcnlTY2hlbWEgPT0gbnVsbCkge1xuICAgIHJldHVybiB7IHF1ZXJ5IH07XG4gIH1cbiAgY29uc3QgcGFyc2VkID0gcGFyc2VGaWx0ZXJzKHNlYXJjaCwgcXVlcnlTY2hlbWEpO1xuICByZXR1cm4ge1xuICAgIHF1ZXJ5LFxuICAgIGZpbHRlcnM6IHBhcnNlZC5maWx0ZXJzLFxuICAgIGZpbHRlckRpYWdub3N0aWNzOiBwYXJzZWQuZGlhZ25vc3RpY3MsXG4gIH07XG59XG5cbi8qKlxuICpcbiAqL1xuZnVuY3Rpb24gY3JlYXRlU3RhdGljUm91dGluZ0NvbnRleHQ8VENvbnRleHQ+KFxuICBlbnRyeTogUm91dGVFbnRyeTxQYXJhbURhdGEsIFJvdXRlclF1ZXJ5U2NoZW1hLCBUQ29udGV4dD4sXG4gIGZsYXRSb3V0ZXM6IFJldHVyblR5cGU8dHlwZW9mIGJ1aWxkUm91dGVzPixcbik6IFJvdXRpbmdDb250ZXh0VHlwZTxcbiAgUGFyYW1EYXRhLFxuICBSb3V0ZXJRdWVyeVNjaGVtYSxcbiAgVW5rbm93blF1ZXJ5U2hhcGUsXG4gIFRDb250ZXh0XG4+IHtcbiAgcmV0dXJuIHtcbiAgICBidWlsZFNlYXJjaCh7IHBhdGhuYW1lLCBxdWVyeSwgZmlsdGVycyB9KSB7XG4gICAgICBjb25zdCB0YXJnZXRQYXRobmFtZSA9IHBhdGhuYW1lID8/IGVudHJ5LmxvY2F0aW9uLnBhdGhuYW1lO1xuICAgICAgY29uc3QgZGVzdGluYXRpb24gPSBmaW5kU3RhdGljTWF0Y2hlZFJvdXRlKGZsYXRSb3V0ZXMsIHtcbiAgICAgICAgLi4uZW50cnkubG9jYXRpb24sXG4gICAgICAgIHBhdGhuYW1lOiB0YXJnZXRQYXRobmFtZSxcbiAgICAgIH0pO1xuICAgICAgbGV0IHF1ZXJ5U2NoZW1hID0gZW50cnkuYWN0aXZlUXVlcnlTY2hlbWE7XG4gICAgICBpZiAoZGVzdGluYXRpb24gIT0gbnVsbCkge1xuICAgICAgICBxdWVyeVNjaGVtYSA9IGRlc3RpbmF0aW9uLnJvdXRlLnJvdXRlcy5hdCgtMSk/LnF1ZXJ5U2NoZW1hO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGJ1aWxkRGVzdGluYXRpb25TZWFyY2goe1xuICAgICAgICBmaWx0ZXJzLFxuICAgICAgICBxdWVyeSxcbiAgICAgICAgcXVlcnlTY2hlbWEsXG4gICAgICB9KTtcbiAgICB9LFxuICAgIGdldDogKCkgPT4ge1xuICAgICAgcmV0dXJuIGVudHJ5O1xuICAgIH0sXG4gICAgaGlzdG9yeToge1xuICAgICAgZ2V0IGxvY2F0aW9uKCkge1xuICAgICAgICByZXR1cm4gZW50cnkubG9jYXRpb247XG4gICAgICB9LFxuICAgICAgaW5pdCgpIHt9LFxuICAgICAgcHVzaCgpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdTdGF0aWMgcm91dGVyIGNhbm5vdCBwdXNoIGhpc3RvcnknKTtcbiAgICAgIH0sXG4gICAgICBzZXQoKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignU3RhdGljIHJvdXRlciBjYW5ub3QgcmVwbGFjZSBoaXN0b3J5Jyk7XG4gICAgICB9LFxuICAgICAgc3Vic2NyaWJlKCkge1xuICAgICAgICByZXR1cm4gKCkgPT4ge307XG4gICAgICB9LFxuICAgIH0gc2F0aXNmaWVzIEhpc3RvcnksXG4gICAgbmF2aWdhdGUoKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1N0YXRpYyByb3V0ZXIgY2Fubm90IG5hdmlnYXRlJyk7XG4gICAgfSxcbiAgICBwcmVsb2FkKCkge30sXG4gICAgcHJlbG9hZENvZGUoKSB7fSxcbiAgICBzdWJzY3JpYmUoKSB7XG4gICAgICByZXR1cm4gKCkgPT4ge307XG4gICAgfSxcbiAgfTtcbn1cblxuLyoqXG4gKlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlU3RhdGljUm91dGVyPFxuICBUQ29udGV4dCA9IHVua25vd24sXG4gIFIgZXh0ZW5kcyBBbnlSb3V0ZVtdID0gQW55Um91dGVbXSxcbj4oXG4gIHJvdXRlczogWy4uLlJdIHwgQW55Um91dGVbXSxcbiAgb3B0aW9uczogQ3JlYXRlU3RhdGljUm91dGVyT3B0aW9uczxUQ29udGV4dD4sXG4pOiBQcm9taXNlPENyZWF0ZVN0YXRpY1JvdXRlclJldHVybjxUQ29udGV4dCwgUj4+IHtcbiAgY29uc3QgbG9jYXRpb24gPSBub3JtYWxpemVTdGF0aWNMb2NhdGlvbihvcHRpb25zLmxvY2F0aW9uKTtcbiAgY29uc3QgZmxhdFJvdXRlcyA9IGJ1aWxkUm91dGVzKHJvdXRlcyk7XG4gIGNvbnN0IHJvdXRlID0gZmluZFN0YXRpY01hdGNoZWRSb3V0ZShmbGF0Um91dGVzLCBsb2NhdGlvbik7XG4gIGNvbnN0IGFjdGl2ZVF1ZXJ5U2NoZW1hID0gcm91dGU/LnJvdXRlLnJvdXRlcy5hdCgtMSk/LnF1ZXJ5U2NoZW1hO1xuICBjb25zdCBzZWFyY2hTdGF0ZSA9IHBhcnNlU2VhcmNoU3RhdGUobG9jYXRpb24uc2VhcmNoLCBhY3RpdmVRdWVyeVNjaGVtYSk7XG4gIGNvbnN0IHJvdXRlQ29udGV4dCA9IG9wdGlvbnMuY29udGV4dCBhcyBUQ29udGV4dDtcbiAgY29uc3QgcHJlcGFyZWRNYXRjaCA9IHByZXBhcmVNYXRjaChcbiAgICByb3V0ZSxcbiAgICBzZWFyY2hTdGF0ZS5xdWVyeSxcbiAgICB1bmRlZmluZWQsXG4gICAgcm91dGVDb250ZXh0LFxuICAgIHVuZGVmaW5lZCxcbiAgICB7XG4gICAgICByYXdRdWVyeTogc2VhcmNoU3RhdGUucXVlcnksXG4gICAgICBmaWx0ZXJzOiBzZWFyY2hTdGF0ZS5maWx0ZXJzLFxuICAgIH0sXG4gICk7XG5cbiAgYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgcHJlcGFyZWRNYXRjaC5zZWdtZW50cy5tYXAoYXN5bmMgKHNlZ21lbnQpID0+IHtcbiAgICAgIGF3YWl0IHNlZ21lbnQucHJlcGFyZWRSZXNvdXJjZT8ubG9hZCgpO1xuICAgICAgYXdhaXQgc2VnbWVudC5yZXNvdXJjZVBhZ2U/LmxvYWQoKTtcbiAgICB9KSxcbiAgKTtcbiAgY29uc3QgeyBhY3RpdmVMb2FkU3RhdGUsIGxvYWRTdGF0ZSB9ID0gYnVpbGRSZXNvbHZlZExvYWRTdGF0ZShwcmVwYXJlZE1hdGNoKTtcblxuICBjb25zdCBlbnRyeTogUm91dGVFbnRyeTxQYXJhbURhdGEsIFJvdXRlclF1ZXJ5U2NoZW1hLCBUQ29udGV4dD4gPSB7XG4gICAgYWN0aXZlUXVlcnlTY2hlbWEsXG4gICAgYWN0aXZlTG9hZFN0YXRlLFxuICAgIGNvbnRleHQ6IHJvdXRlQ29udGV4dCxcbiAgICBmaWx0ZXJEaWFnbm9zdGljczogc2VhcmNoU3RhdGUuZmlsdGVyRGlhZ25vc3RpY3MsXG4gICAgZmlsdGVyczogc2VhcmNoU3RhdGUuZmlsdGVycyxcbiAgICBmb3JjZVJlcmVuZGVyOiBmYWxzZSxcbiAgICBsb2NhdGlvbixcbiAgICBwcmVwYXJlZE1hdGNoLFxuICAgIHF1ZXJ5OiBzZWFyY2hTdGF0ZS5xdWVyeSxcbiAgICByYXdTZWFyY2g6IGxvY2F0aW9uLnNlYXJjaCxcbiAgICByb3V0ZSxcbiAgICBsb2FkU3RhdGUsXG4gIH07XG5cbiAgY29uc3Qgcm91dGVyQ29udGV4dCA9IGNyZWF0ZVN0YXRpY1JvdXRpbmdDb250ZXh0KGVudHJ5LCBmbGF0Um91dGVzKTtcblxuICByZXR1cm4ge1xuICAgIGNvbnRleHQ6IHJvdXRlckNvbnRleHQsXG4gICAgZW50cnksXG4gICAgcm91dGVzOiByb3V0ZXMgYXMgUixcbiAgfTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgY3JlYXRlU3RhdGljUm91dGVyO1xuIl19
@@ -1 +1 @@
1
- {"version":3,"file":"useFilters.d.ts","sourceRoot":"","sources":["../../../src/routing/useFilters.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,YAAY,EACZ,kBAAkB,EAClB,YAAY,EACb,MAAM,aAAa,CAAC;AASrB,iBAAS,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO,CAgBrD;AAED,eAAO,MAAM,MAAM;;CAET,CAAC;AAQX,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,CAAC,SAAS,YAAY,EACvD,MAAM,EAAE,CAAC,GACR,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAoD1C"}
1
+ {"version":3,"file":"useFilters.d.ts","sourceRoot":"","sources":["../../../src/routing/useFilters.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,YAAY,EACZ,kBAAkB,EAClB,YAAY,EACb,MAAM,aAAa,CAAC;AAIrB,iBAAS,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO,CAgBrD;AAED,eAAO,MAAM,MAAM;;CAET,CAAC;AAQX,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,CAAC,SAAS,YAAY,EACvD,MAAM,EAAE,CAAC,GACR,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAqD1C"}
@@ -1,6 +1,6 @@
1
1
  import { useContext, useMemo } from 'react';
2
2
  import RoutingContext from './RoutingContext.js';
3
- import { setFilter, removeFilter as removeFilterOp, mergeFilters, isEmpty, } from '@plumile/filter-query/mutate.js';
3
+ import { createFilterOperations } from '@plumile/filter-query/mutate.js';
4
4
  function shallowEqual(a, b) {
5
5
  if (a === b)
6
6
  return true;
@@ -31,8 +31,14 @@ export default function useFilters(schema) {
31
31
  const entry = ctx.get();
32
32
  const { query } = entry;
33
33
  const currentFilters = useMemo(() => {
34
+ if (entry.activeQuerySchema !== schema) {
35
+ throw new Error('useFilters schema must be the active route query schema instance');
36
+ }
34
37
  return (entry.filters ?? {});
35
- }, [entry.filters]);
38
+ }, [entry.activeQuerySchema, entry.filters, schema]);
39
+ const filterOperations = useMemo(() => {
40
+ return createFilterOperations(schema);
41
+ }, [schema]);
36
42
  const baseCtx = ctx;
37
43
  const actions = useMemo(() => {
38
44
  function navigateWith(nextFilters, replace) {
@@ -42,24 +48,25 @@ export default function useFilters(schema) {
42
48
  }
43
49
  return {
44
50
  set(field, operator, value, opts) {
45
- const next = setFilter(currentFilters, schema, field, operator, value);
51
+ const next = filterOperations.set(currentFilters, field, operator, value);
46
52
  navigateWith(next, opts?.replace);
47
53
  },
48
54
  remove(field, operator, opts) {
49
- const next = removeFilterOp(currentFilters, field, operator);
55
+ const next = filterOperations.remove(currentFilters, field, operator);
50
56
  navigateWith(next, opts?.replace);
51
57
  },
52
58
  merge(patch, opts) {
53
- const next = mergeFilters(currentFilters, patch);
59
+ const next = filterOperations.merge(currentFilters, patch);
54
60
  navigateWith(next, opts?.replace);
55
61
  },
56
62
  clear(opts) {
57
- if (isEmpty(currentFilters))
63
+ if (filterOperations.isEmpty(currentFilters))
58
64
  return;
59
- navigateWith({}, opts?.replace);
65
+ const emptyFilters = {};
66
+ navigateWith(emptyFilters, opts?.replace);
60
67
  },
61
68
  };
62
- }, [baseCtx, currentFilters, schema, query]);
69
+ }, [baseCtx, currentFilters, filterOperations, query]);
63
70
  return [currentFilters, actions];
64
71
  }
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlRmlsdGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yb3V0aW5nL3VzZUZpbHRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDNUMsT0FBTyxjQUFjLE1BQU0scUJBQXFCLENBQUM7QUFNakQsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLElBQUksY0FBYyxFQUM5QixZQUFZLEVBQ1osT0FBTyxHQUNSLE1BQU0saUNBQWlDLENBQUM7QUFHekMsU0FBUyxZQUFZLENBQUMsQ0FBVSxFQUFFLENBQVU7SUFDMUMsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUFFLE9BQU8sSUFBSSxDQUFDO0lBQ3pCLElBQ0UsT0FBTyxDQUFDLEtBQUssUUFBUTtRQUNyQixDQUFDLEtBQUssSUFBSTtRQUNWLE9BQU8sQ0FBQyxLQUFLLFFBQVE7UUFDckIsQ0FBQyxLQUFLLElBQUksRUFDVixDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBQ0QsTUFBTSxJQUFJLEdBQUcsQ0FBNEIsQ0FBQztJQUMxQyxNQUFNLElBQUksR0FBRyxDQUE0QixDQUFDO0lBQzFDLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTTtRQUFFLE9BQU8sS0FBSyxDQUFDO0lBQzVELEtBQUssTUFBTSxDQUFDLElBQUksS0FBSztRQUFFLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUM7WUFBRSxPQUFPLEtBQUssQ0FBQztJQUM3RCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUc7SUFDcEIsWUFBWTtDQUNKLENBQUM7QUFRWCxNQUFNLENBQUMsT0FBTyxVQUFVLFVBQVUsQ0FDaEMsTUFBUztJQUVULE1BQU0sR0FBRyxHQUFHLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN2QyxJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNoQixNQUFNLElBQUksS0FBSyxDQUFDLDBEQUEwRCxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUNELE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN4QixNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUU7UUFDbEMsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFvQixDQUFDO0lBQ2xELENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3BCLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQztJQUVwQixNQUFNLE9BQU8sR0FBMEIsT0FBTyxDQUFDLEdBQUcsRUFBRTtRQUVsRCxTQUFTLFlBQVksQ0FBQyxXQUE0QixFQUFFLE9BQWlCO1lBQ25FLElBQUksWUFBWSxDQUFDLGNBQWMsRUFBRSxXQUFXLENBQUM7Z0JBQUUsT0FBTztZQUN0RCxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUM3RCxDQUFDO1FBQ0QsT0FBTztZQUNMLEdBQUcsQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxJQUFJO2dCQUM5QixNQUFNLElBQUksR0FBRyxTQUFTLENBQ3BCLGNBQXFCLEVBQ3JCLE1BQWEsRUFDYixLQUFZLEVBQ1osUUFBZSxFQUNmLEtBQVksQ0FDTSxDQUFDO2dCQUNyQixZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztZQUNwQyxDQUFDO1lBQ0QsTUFBTSxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSTtnQkFDMUIsTUFBTSxJQUFJLEdBQUcsY0FBYyxDQUN6QixjQUFxQixFQUNyQixLQUFZLEVBQ1osUUFBZSxDQUNHLENBQUM7Z0JBQ3JCLFlBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ3BDLENBQUM7WUFDRCxLQUFLLENBQUMsS0FBSyxFQUFFLElBQUk7Z0JBQ2YsTUFBTSxJQUFJLEdBQUcsWUFBWSxDQUN2QixjQUFxQixFQUNyQixLQUFZLENBQ00sQ0FBQztnQkFDckIsWUFBWSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDcEMsQ0FBQztZQUNELEtBQUssQ0FBQyxJQUFJO2dCQUNSLElBQUksT0FBTyxDQUFDLGNBQXFCLENBQUM7b0JBQUUsT0FBTztnQkFDM0MsWUFBWSxDQUFDLEVBQXFCLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ3JELENBQUM7U0FDRixDQUFDO0lBQ0osQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUU3QyxPQUFPLENBQUMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ25DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VDb250ZXh0LCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFJvdXRpbmdDb250ZXh0IGZyb20gJy4vUm91dGluZ0NvbnRleHQuanMnO1xuaW1wb3J0IHR5cGUge1xuICBGaWx0ZXJTY2hlbWEsXG4gIFR5cGVkRmlsdGVyQWN0aW9ucyxcbiAgSW5mZXJGaWx0ZXJzLFxufSBmcm9tICcuLi90eXBlcy5qcyc7XG5pbXBvcnQge1xuICBzZXRGaWx0ZXIsXG4gIHJlbW92ZUZpbHRlciBhcyByZW1vdmVGaWx0ZXJPcCxcbiAgbWVyZ2VGaWx0ZXJzLFxuICBpc0VtcHR5LFxufSBmcm9tICdAcGx1bWlsZS9maWx0ZXItcXVlcnkvbXV0YXRlLmpzJztcblxuLyoqIEludGVybmFsIGhlbHBlcjogc2hhbGxvdyBlcXVhbGl0eSAqL1xuZnVuY3Rpb24gc2hhbGxvd0VxdWFsKGE6IHVua25vd24sIGI6IHVua25vd24pOiBib29sZWFuIHtcbiAgaWYgKGEgPT09IGIpIHJldHVybiB0cnVlO1xuICBpZiAoXG4gICAgdHlwZW9mIGEgIT09ICdvYmplY3QnIHx8XG4gICAgYSA9PT0gbnVsbCB8fFxuICAgIHR5cGVvZiBiICE9PSAnb2JqZWN0JyB8fFxuICAgIGIgPT09IG51bGxcbiAgKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGNvbnN0IGFPYmogPSBhIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICBjb25zdCBiT2JqID0gYiBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgY29uc3QgYUtleXMgPSBPYmplY3Qua2V5cyhhT2JqKTtcbiAgaWYgKGFLZXlzLmxlbmd0aCAhPT0gT2JqZWN0LmtleXMoYk9iaikubGVuZ3RoKSByZXR1cm4gZmFsc2U7XG4gIGZvciAoY29uc3QgayBvZiBhS2V5cykgaWYgKGFPYmpba10gIT09IGJPYmpba10pIHJldHVybiBmYWxzZTtcbiAgcmV0dXJuIHRydWU7XG59XG5cbmV4cG9ydCBjb25zdCBfX3Rlc3QgPSB7XG4gIHNoYWxsb3dFcXVhbCxcbn0gYXMgY29uc3Q7XG5cbi8qKlxuICogU3Ryb25nbHkgdHlwZWQgaG9vayBmb3IgcmVhZGluZyBhbmQgbXV0YXRpbmcgZmlsdGVycyBkZWNsYXJlZCBieSBhIHNjaGVtYS5cbiAqXG4gKiBAcGFyYW0gc2NoZW1hIC0gRmlsdGVyIHNjaGVtYSBhc3NvY2lhdGVkIHdpdGggdGhlIGN1cnJlbnQgcm91dGUuXG4gKiBAcmV0dXJucyBUdXBsZSBjb250YWluaW5nIHRoZSBjdXJyZW50IGZpbHRlcnMgb2JqZWN0IGFuZCB0eXBlZCBhY3Rpb25zLlxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VGaWx0ZXJzPFMgZXh0ZW5kcyBGaWx0ZXJTY2hlbWE+KFxuICBzY2hlbWE6IFMsXG4pOiBbSW5mZXJGaWx0ZXJzPFM+LCBUeXBlZEZpbHRlckFjdGlvbnM8Uz5dIHtcbiAgY29uc3QgY3R4ID0gdXNlQ29udGV4dChSb3V0aW5nQ29udGV4dCk7XG4gIGlmIChjdHggPT0gbnVsbCkge1xuICAgIHRocm93IG5ldyBFcnJvcigndXNlRmlsdGVycyBtdXN0IGJlIHVzZWQgd2l0aGluIGEgUm91dGluZ0NvbnRleHQuUHJvdmlkZXInKTtcbiAgfVxuICBjb25zdCBlbnRyeSA9IGN0eC5nZXQoKTtcbiAgY29uc3QgeyBxdWVyeSB9ID0gZW50cnk7XG4gIGNvbnN0IGN1cnJlbnRGaWx0ZXJzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIChlbnRyeS5maWx0ZXJzID8/IHt9KSBhcyBJbmZlckZpbHRlcnM8Uz47XG4gIH0sIFtlbnRyeS5maWx0ZXJzXSk7XG4gIGNvbnN0IGJhc2VDdHggPSBjdHg7IC8vIG5vbi1udWxsIGFsaWFzIGZvciBjbG9zdXJlc1xuXG4gIGNvbnN0IGFjdGlvbnM6IFR5cGVkRmlsdGVyQWN0aW9uczxTPiA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIC8qKiBOYXZpZ2F0ZSBvbmx5IGlmIHN0cnVjdHVyYWwgY2hhbmdlICovXG4gICAgZnVuY3Rpb24gbmF2aWdhdGVXaXRoKG5leHRGaWx0ZXJzOiBJbmZlckZpbHRlcnM8Uz4sIHJlcGxhY2U/OiBib29sZWFuKSB7XG4gICAgICBpZiAoc2hhbGxvd0VxdWFsKGN1cnJlbnRGaWx0ZXJzLCBuZXh0RmlsdGVycykpIHJldHVybjtcbiAgICAgIGJhc2VDdHgubmF2aWdhdGUoeyBxdWVyeSwgZmlsdGVyczogbmV4dEZpbHRlcnMsIHJlcGxhY2UgfSk7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBzZXQoZmllbGQsIG9wZXJhdG9yLCB2YWx1ZSwgb3B0cykge1xuICAgICAgICBjb25zdCBuZXh0ID0gc2V0RmlsdGVyKFxuICAgICAgICAgIGN1cnJlbnRGaWx0ZXJzIGFzIGFueSxcbiAgICAgICAgICBzY2hlbWEgYXMgYW55LFxuICAgICAgICAgIGZpZWxkIGFzIGFueSxcbiAgICAgICAgICBvcGVyYXRvciBhcyBhbnksXG4gICAgICAgICAgdmFsdWUgYXMgYW55LFxuICAgICAgICApIGFzIEluZmVyRmlsdGVyczxTPjtcbiAgICAgICAgbmF2aWdhdGVXaXRoKG5leHQsIG9wdHM/LnJlcGxhY2UpO1xuICAgICAgfSxcbiAgICAgIHJlbW92ZShmaWVsZCwgb3BlcmF0b3IsIG9wdHMpIHtcbiAgICAgICAgY29uc3QgbmV4dCA9IHJlbW92ZUZpbHRlck9wKFxuICAgICAgICAgIGN1cnJlbnRGaWx0ZXJzIGFzIGFueSxcbiAgICAgICAgICBmaWVsZCBhcyBhbnksXG4gICAgICAgICAgb3BlcmF0b3IgYXMgYW55LFxuICAgICAgICApIGFzIEluZmVyRmlsdGVyczxTPjtcbiAgICAgICAgbmF2aWdhdGVXaXRoKG5leHQsIG9wdHM/LnJlcGxhY2UpO1xuICAgICAgfSxcbiAgICAgIG1lcmdlKHBhdGNoLCBvcHRzKSB7XG4gICAgICAgIGNvbnN0IG5leHQgPSBtZXJnZUZpbHRlcnMoXG4gICAgICAgICAgY3VycmVudEZpbHRlcnMgYXMgYW55LFxuICAgICAgICAgIHBhdGNoIGFzIGFueSxcbiAgICAgICAgKSBhcyBJbmZlckZpbHRlcnM8Uz47XG4gICAgICAgIG5hdmlnYXRlV2l0aChuZXh0LCBvcHRzPy5yZXBsYWNlKTtcbiAgICAgIH0sXG4gICAgICBjbGVhcihvcHRzKSB7XG4gICAgICAgIGlmIChpc0VtcHR5KGN1cnJlbnRGaWx0ZXJzIGFzIGFueSkpIHJldHVybjtcbiAgICAgICAgbmF2aWdhdGVXaXRoKHt9IGFzIEluZmVyRmlsdGVyczxTPiwgb3B0cz8ucmVwbGFjZSk7XG4gICAgICB9LFxuICAgIH07XG4gIH0sIFtiYXNlQ3R4LCBjdXJyZW50RmlsdGVycywgc2NoZW1hLCBxdWVyeV0pO1xuXG4gIHJldHVybiBbY3VycmVudEZpbHRlcnMsIGFjdGlvbnNdO1xufVxuIl19
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlRmlsdGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yb3V0aW5nL3VzZUZpbHRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDNUMsT0FBTyxjQUFjLE1BQU0scUJBQXFCLENBQUM7QUFNakQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFHekUsU0FBUyxZQUFZLENBQUMsQ0FBVSxFQUFFLENBQVU7SUFDMUMsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUFFLE9BQU8sSUFBSSxDQUFDO0lBQ3pCLElBQ0UsT0FBTyxDQUFDLEtBQUssUUFBUTtRQUNyQixDQUFDLEtBQUssSUFBSTtRQUNWLE9BQU8sQ0FBQyxLQUFLLFFBQVE7UUFDckIsQ0FBQyxLQUFLLElBQUksRUFDVixDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBQ0QsTUFBTSxJQUFJLEdBQUcsQ0FBNEIsQ0FBQztJQUMxQyxNQUFNLElBQUksR0FBRyxDQUE0QixDQUFDO0lBQzFDLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTTtRQUFFLE9BQU8sS0FBSyxDQUFDO0lBQzVELEtBQUssTUFBTSxDQUFDLElBQUksS0FBSztRQUFFLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUM7WUFBRSxPQUFPLEtBQUssQ0FBQztJQUM3RCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUc7SUFDcEIsWUFBWTtDQUNKLENBQUM7QUFRWCxNQUFNLENBQUMsT0FBTyxVQUFVLFVBQVUs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J3JlYWN0JztcbmltcG9ydCBSb3V0aW5nQ29udGV4dCBmcm9tICcuL1JvdXRpbmdDb250ZXh0LmpzJztcbmltcG9ydCB0eXBlIHtcbiAgRmlsdGVyU2NoZW1hLFxuICBUeXBlZEZpbHRlckFjdGlvbnMsXG4gIEluZmVyRmlsdGVycyxcbn0gZnJvbSAnLi4vdHlwZXMuanMnO1xuaW1wb3J0IHsgY3JlYXRlRmlsdGVyT3BlcmF0aW9ucyB9IGZyb20gJ0BwbHVtaWxlL2ZpbHRlci1xdWVyeS9tdXRhdGUuanMnO1xuXG4vKiogSW50ZXJuYWwgaGVscGVyOiBzaGFsbG93IGVxdWFsaXR5ICovXG5mdW5jdGlvbiBzaGFsbG93RXF1YWwoYTogdW5rbm93biwgYjogdW5rbm93bik6IGJvb2xlYW4ge1xuICBpZiAoYSA9PT0gYikgcmV0dXJuIHRydWU7XG4gIGlmIChcbiAgICB0eXBlb2YgYSAhPT0gJ29iamVjdCcgfHxcbiAgICBhID09PSBudWxsIHx8XG4gICAgdHlwZW9mIGIgIT09ICdvYmplY3QnIHx8XG4gICAgYiA9PT0gbnVsbFxuICApIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgY29uc3QgYU9iaiA9IGEgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gIGNvbnN0IGJPYmogPSBiIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICBjb25zdCBhS2V5cyA9IE9iamVjdC5rZXlzKGFPYmopO1xuICBpZiAoYUtleXMubGVuZ3RoICE9PSBPYmplY3Qua2V5cyhiT2JqKS5sZW5ndGgpIHJldHVybiBmYWxzZTtcbiAgZm9yIChjb25zdCBrIG9mIGFLZXlzKSBpZiAoYU9ialtrXSAhPT0gYk9ialtrXSkgcmV0dXJuIGZhbHNlO1xuICByZXR1cm4gdHJ1ZTtcbn1cblxuZXhwb3J0IGNvbnN0IF9fdGVzdCA9IHtcbiAgc2hhbGxvd0VxdWFsLFxufSBhcyBjb25zdDtcblxuLyoqXG4gKiBTdHJvbmdseSB0eXBlZCBob29rIGZvciByZWFkaW5nIGFuZCBtdXRhdGluZyBmaWx0ZXJzIGRlY2xhcmVkIGJ5IGEgc2NoZW1hLlxuICpcbiAqIEBwYXJhbSBzY2hlbWEgLSBGaWx0ZXIgc2NoZW1hIGFzc29jaWF0ZWQgd2l0aCB0aGUgY3VycmVudCByb3V0ZS5cbiAqIEByZXR1cm5zIFR1cGxlIGNvbnRhaW5pbmcgdGhlIGN1cnJlbnQgZmlsdGVycyBvYmplY3QgYW5kIHR5cGVkIGFjdGlvbnMuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZUZpbHRlcnM8UyBleHRlbmRzIEZpbHRlclNjaGVtYT4oXG4gIHNjaGVtYTogUyxcbik6IFtJbmZlckZpbHRlcnM8Uz4sIFR5cGVkRmlsdGVyQWN0aW9uczxTPl0ge1xuICBjb25zdCBjdHggPSB1c2VDb250ZXh0KFJvdXRpbmdDb250ZXh0KTtcbiAgaWYgKGN0eCA9PSBudWxsKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd1c2VGaWx0ZXJzIG11c3QgYmUgdXNlZCB3aXRoaW4gYSBSb3V0aW5nQ29udGV4dC5Qcm92aWRlcicpO1xuICB9XG4gIGNvbnN0IGVudHJ5ID0gY3R4LmdldCgpO1xuICBjb25zdCB7IHF1ZXJ5IH0gPSBlbnRyeTtcbiAgY29uc3QgY3VycmVudEZpbHRlcnMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoZW50cnkuYWN0aXZlUXVlcnlTY2hlbWEgIT09IHNjaGVtYSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAndXNlRmlsdGVycyBzY2hlbWEgbXVzdCBiZSB0aGUgYWN0aXZlIHJvdXRlIHF1ZXJ5IHNjaGVtYSBpbnN0YW5jZScsXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gKGVudHJ5LmZpbHRlcnMgPz8ge30pIGFzIEluZmVyRmlsdGVyczxTPjtcbiAgfSwgW2VudHJ5LmFjdGl2ZVF1ZXJ5U2NoZW1hLCBlbnRyeS5maWx0ZXJzLCBzY2hlbWFdKTtcbiAgY29uc3QgZmlsdGVyT3BlcmF0aW9ucyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiBjcmVhdGVGaWx0ZXJPcGVyYXRpb25zKHNjaGVtYSk7XG4gIH0sIFtzY2hlbWFdKTtcbiAgY29uc3QgYmFzZUN0eCA9IGN0eDsgLy8gbm9uLW51bGwgYWxpYXMgZm9yIGNsb3N1cmVzXG5cbiAgY29uc3QgYWN0aW9uczogVHlwZWRGaWx0ZXJBY3Rpb25zPFM+ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgLyoqIE5hdmlnYXRlIG9ubHkgaWYgc3RydWN0dXJhbCBjaGFuZ2UgKi9cbiAgICBmdW5jdGlvbiBuYXZpZ2F0ZVdpdGgobmV4dEZpbHRlcnM6IEluZmVyRmlsdGVyczxTPiwgcmVwbGFjZT86IGJvb2xlYW4pIHtcbiAgICAgIGlmIChzaGFsbG93RXF1YWwoY3VycmVudEZpbHRlcnMsIG5leHRGaWx0ZXJzKSkgcmV0dXJuO1xuICAgICAgYmFzZUN0eC5uYXZpZ2F0ZSh7IHF1ZXJ5LCBmaWx0ZXJzOiBuZXh0RmlsdGVycywgcmVwbGFjZSB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIHNldChmaWVsZCwgb3BlcmF0b3IsIHZhbHVlLCBvcHRzKSB7XG4gICAgICAgIGNvbnN0IG5leHQgPSBmaWx0ZXJPcGVyYXRpb25zLnNldChcbiAgICAgICAgICBjdXJyZW50RmlsdGVycyxcbiAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICBvcGVyYXRvcixcbiAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgKTtcbiAgICAgICAgbmF2aWdhdGVXaXRoKG5leHQsIG9wdHM/LnJlcGxhY2UpO1xuICAgICAgfSxcbiAgICAgIHJlbW92ZShmaWVsZCwgb3BlcmF0b3IsIG9wdHMpIHtcbiAgICAgICAgY29uc3QgbmV4dCA9IGZpbHRlck9wZXJhdGlvbnMucmVtb3ZlKGN1cnJlbnRGaWx0ZXJzLCBmaWVsZCwgb3BlcmF0b3IpO1xuICAgICAgICBuYXZpZ2F0ZVdpdGgobmV4dCwgb3B0cz8ucmVwbGFjZSk7XG4gICAgICB9LFxuICAgICAgbWVyZ2UocGF0Y2gsIG9wdHMpIHtcbiAgICAgICAgY29uc3QgbmV4dCA9IGZpbHRlck9wZXJhdGlvbnMubWVyZ2UoY3VycmVudEZpbHRlcnMsIHBhdGNoKTtcbiAgICAgICAgbmF2aWdhdGVXaXRoKG5leHQsIG9wdHM/LnJlcGxhY2UpO1xuICAgICAgfSxcbiAgICAgIGNsZWFyKG9wdHMpIHtcbiAgICAgICAgaWYgKGZpbHRlck9wZXJhdGlvbnMuaXNFbXB0eShjdXJyZW50RmlsdGVycykpIHJldHVybjtcbiAgICAgICAgY29uc3QgZW1wdHlGaWx0ZXJzOiBJbmZlckZpbHRlcnM8Uz4gPSB7fTtcbiAgICAgICAgbmF2aWdhdGVXaXRoKGVtcHR5RmlsdGVycywgb3B0cz8ucmVwbGFjZSk7XG4gICAgICB9LFxuICAgIH07XG4gIH0sIFtiYXNlQ3R4LCBjdXJyZW50RmlsdGVycywgZmlsdGVyT3BlcmF0aW9ucywgcXVlcnldKTtcblxuICByZXR1cm4gW2N1cnJlbnRGaWx0ZXJzLCBhY3Rpb25zXTtcbn1cbiJdfQ==
@@ -1,2 +1,3 @@
1
- export default function useLocation(): Location;
1
+ import type { HistoryLocationSnapshot } from '../history/types.js';
2
+ export default function useLocation(): HistoryLocationSnapshot;
2
3
  //# sourceMappingURL=useLocation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useLocation.d.ts","sourceRoot":"","sources":["../../../src/routing/useLocation.ts"],"names":[],"mappings":"AAYA,MAAM,CAAC,OAAO,UAAU,WAAW,IAAI,QAAQ,CAiB9C"}
1
+ {"version":3,"file":"useLocation.d.ts","sourceRoot":"","sources":["../../../src/routing/useLocation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAYnE,MAAM,CAAC,OAAO,UAAU,WAAW,IAAI,uBAAuB,CAiB7D"}
@@ -21,4 +21,4 @@ export default function useLocation() {
21
21
  }, [routing]);
22
22
  return location;
23
23
  }
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlTG9jYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcm91dGluZy91c2VMb2NhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDeEQsT0FBTyxjQUFjLE1BQU0scUJBQXFCLENBQUM7QUFFakQsTUFBTSxjQUFjLEdBQUc7SUFDckIsUUFBUSxFQUFFLEVBQUU7SUFDWixNQUFNLEVBQUUsRUFBRTtJQUNWLElBQUksRUFBRSxFQUFFO0NBQ0csQ0FBQztBQUtkLE1BQU0sQ0FBQyxPQUFPLFVBQVUsV0FBVztJQUNqQyxNQUFNLE9BQU8sR0FBRyxVQUFVLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDM0MsTUFBTSxDQUFDLFFBQVEsRUFBRSxXQUFXLENBQUMsR0FBRyxRQUFRLENBQVcsR0FBRyxFQUFFO1FBQ3RELE9BQU8sT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLFFBQVEsSUFBSSxjQUFjLENBQUM7SUFDbkQsQ0FBQyxDQUFDLENBQUM7SUFFSCxTQUFTLENBQUMsR0FBRyxFQUFFO1FBQ2IsSUFBSSxPQUFPLElBQUksSUFBSSxFQUFFLENBQUM7WUFDcEIsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztRQUNELE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsWUFBWSxFQUFFLEVBQUU7WUFDN0QsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUVkLE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VDb250ZXh0LCB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFJvdXRpbmdDb250ZXh0IGZyb20gJy4vUm91dGluZ0NvbnRleHQuanMnO1xuXG5jb25zdCBFTVBUWV9MT0NBVElPTiA9IHtcbiAgcGF0aG5hbWU6ICcnLFxuICBzZWFyY2g6ICcnLFxuICBoYXNoOiAnJyxcbn0gYXMgTG9jYXRpb247XG5cbi8qKlxuICogUmV0dXJucyB0aGUgY3VycmVudCByb3V0ZXIgbG9jYXRpb24gYW5kIHVwZGF0ZXMgb24gbmF2aWdhdGlvbi5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdXNlTG9jYXRpb24oKTogTG9jYXRpb24ge1xuICBjb25zdCByb3V0aW5nID0gdXNlQ29udGV4dChSb3V0aW5nQ29udGV4dCk7XG4gIGNvbnN0IFtsb2NhdGlvbiwgc2V0TG9jYXRpb25dID0gdXNlU3RhdGU8TG9jYXRpb24+KCgpID0+IHtcbiAgICByZXR1cm4gcm91dGluZz8uZ2V0KCkubG9jYXRpb24gPz8gRU1QVFlfTE9DQVRJT047XG4gIH0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHJvdXRpbmcgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgY29uc3QgdW5zdWJzY3JpYmUgPSByb3V0aW5nLmhpc3Rvcnkuc3Vic2NyaWJlKChuZXh0TG9jYXRpb24pID0+IHtcbiAgICAgIHNldExvY2F0aW9uKG5leHRMb2NhdGlvbik7XG4gICAgfSk7XG4gICAgcmV0dXJuIHVuc3Vic2NyaWJlO1xuICB9LCBbcm91dGluZ10pO1xuXG4gIHJldHVybiBsb2NhdGlvbjtcbn1cbiJdfQ==
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlTG9jYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcm91dGluZy91c2VMb2NhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFFeEQsT0FBTyxjQUFjLE1BQU0scUJBQXFCLENBQUM7QUFFakQsTUFBTSxjQUFjLEdBQUc7SUFDckIsUUFBUSxFQUFFLEVBQUU7SUFDWixNQUFNLEVBQUUsRUFBRTtJQUNWLElBQUksRUFBRSxFQUFFO0NBQ3lCLENBQUM7QUFLcEMsTUFBTSxDQUFDLE9BQU8sVUFBVSxXQUFXO0lBQ2pDLE1BQU0sT0FBTyxHQUFHLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUMzQyxNQUFNLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQyxHQUFHLFFBQVEsQ0FBMEIsR0FBRyxFQUFFO1FBQ3JFLE9BQU8sT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLFFBQVEsSUFBSSxjQUFjLENBQUM7SUFDbkQsQ0FBQyxDQUFDLENBQUM7SUFFSCxTQUFTLENBQUMsR0FBRyxFQUFFO1FBQ2IsSUFBSSxPQUFPLElBQUksSUFBSSxFQUFFLENBQUM7WUFDcEIsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztRQUNELE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsWUFBWSxFQUFFLEVBQUU7WUFDN0QsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUVkLE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VDb250ZXh0LCB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHR5cGUgeyBIaXN0b3J5TG9jYXRpb25TbmFwc2hvdCB9IGZyb20gJy4uL2hpc3RvcnkvdHlwZXMuanMnO1xuaW1wb3J0IFJvdXRpbmdDb250ZXh0IGZyb20gJy4vUm91dGluZ0NvbnRleHQuanMnO1xuXG5jb25zdCBFTVBUWV9MT0NBVElPTiA9IHtcbiAgcGF0aG5hbWU6ICcnLFxuICBzZWFyY2g6ICcnLFxuICBoYXNoOiAnJyxcbn0gc2F0aXNmaWVzIEhpc3RvcnlMb2NhdGlvblNuYXBzaG90O1xuXG4vKipcbiAqIFJldHVybnMgdGhlIGN1cnJlbnQgcm91dGVyIGxvY2F0aW9uIGFuZCB1cGRhdGVzIG9uIG5hdmlnYXRpb24uXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZUxvY2F0aW9uKCk6IEhpc3RvcnlMb2NhdGlvblNuYXBzaG90IHtcbiAgY29uc3Qgcm91dGluZyA9IHVzZUNvbnRleHQoUm91dGluZ0NvbnRleHQpO1xuICBjb25zdCBbbG9jYXRpb24sIHNldExvY2F0aW9uXSA9IHVzZVN0YXRlPEhpc3RvcnlMb2NhdGlvblNuYXBzaG90PigoKSA9PiB7XG4gICAgcmV0dXJuIHJvdXRpbmc/LmdldCgpLmxvY2F0aW9uID8/IEVNUFRZX0xPQ0FUSU9OO1xuICB9KTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChyb3V0aW5nID09IG51bGwpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGNvbnN0IHVuc3Vic2NyaWJlID0gcm91dGluZy5oaXN0b3J5LnN1YnNjcmliZSgobmV4dExvY2F0aW9uKSA9PiB7XG4gICAgICBzZXRMb2NhdGlvbihuZXh0TG9jYXRpb24pO1xuICAgIH0pO1xuICAgIHJldHVybiB1bnN1YnNjcmliZTtcbiAgfSwgW3JvdXRpbmddKTtcblxuICByZXR1cm4gbG9jYXRpb247XG59XG4iXX0=
@@ -1,4 +1,5 @@
1
1
  import type { RouterLocationSnapshot } from '../instrumentation/Instrumentation.js';
2
+ import type { HistoryLocationSnapshot } from '../history/types.js';
2
3
  export type RouteTelemetryEvent = {
3
4
  location: RouterLocationSnapshot;
4
5
  previousLocation: RouterLocationSnapshot | null;
@@ -8,7 +9,7 @@ export type UseRouteTelemetryOptions = {
8
9
  enabled?: boolean;
9
10
  onChange: (event: RouteTelemetryEvent) => void;
10
11
  };
11
- declare const toRouterLocationSnapshot: (location: Location) => RouterLocationSnapshot;
12
+ declare const toRouterLocationSnapshot: (location: HistoryLocationSnapshot) => RouterLocationSnapshot;
12
13
  export declare function useRouteTelemetry({ enabled, onChange, }: UseRouteTelemetryOptions): void;
13
14
  export declare const __testUseRouteTelemetry: {
14
15
  readonly toRouterLocationSnapshot: typeof toRouterLocationSnapshot;
@@ -1 +1 @@
1
- {"version":3,"file":"useRouteTelemetry.d.ts","sourceRoot":"","sources":["../../../src/routing/useRouteTelemetry.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAGpF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,sBAAsB,CAAC;IACjC,gBAAgB,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAChD,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;CAChD,CAAC;AAEF,QAAA,MAAM,wBAAwB,aAClB,QAAQ,KACjB,sBAMF,CAAC;AAKF,wBAAgB,iBAAiB,CAAC,EAChC,OAAc,EACd,QAAQ,GACT,EAAE,wBAAwB,GAAG,IAAI,CAmBjC;AAED,eAAO,MAAM,uBAAuB;;CAE1B,CAAC"}
1
+ {"version":3,"file":"useRouteTelemetry.d.ts","sourceRoot":"","sources":["../../../src/routing/useRouteTelemetry.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AACpF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAGnE,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,sBAAsB,CAAC;IACjC,gBAAgB,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAChD,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;CAChD,CAAC;AAEF,QAAA,MAAM,wBAAwB,aAClB,uBAAuB,KAChC,sBAMF,CAAC;AAKF,wBAAgB,iBAAiB,CAAC,EAChC,OAAc,EACd,QAAQ,GACT,EAAE,wBAAwB,GAAG,IAAI,CAmBjC;AAED,eAAO,MAAM,uBAAuB;;CAE1B,CAAC"}
@@ -27,4 +27,4 @@ export function useRouteTelemetry({ enabled = true, onChange, }) {
27
27
  export const __testUseRouteTelemetry = {
28
28
  toRouterLocationSnapshot,
29
29
  };
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlUm91dGVUZWxlbWV0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcm91dGluZy91c2VSb3V0ZVRlbGVtZXRyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUcxQyxPQUFPLFdBQVcsTUFBTSxrQkFBa0IsQ0FBQztBQWEzQyxNQUFNLHdCQUF3QixHQUFHLENBQy9CLFFBQWtCLEVBQ00sRUFBRTtJQUMxQixPQUFPO1FBQ0wsUUFBUSxFQUFFLFFBQVEsQ0FBQyxRQUFRO1FBQzNCLE1BQU0sRUFBRSxRQUFRLENBQUMsTUFBTTtRQUN2QixJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUk7S0FDcEIsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUtGLE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxFQUNoQyxPQUFPLEdBQUcsSUFBSSxFQUNkLFFBQVEsR0FDaUI7SUFDekIsTUFBTSxRQUFRLEdBQUcsV0FBVyxFQUFFLENBQUM7SUFDL0IsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLENBQWdDLElBQUksQ0FBQyxDQUFDO0lBRXhFLFNBQVMsQ0FBQyxHQUFHLEVBQUU7UUFDYixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDYixPQUFPO1FBQ1QsQ0FBQztRQUVELE1BQU0sWUFBWSxHQUFHLHdCQUF3QixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hELE1BQU0sZ0JBQWdCLEdBQUcsbUJBQW1CLENBQUMsT0FBTyxDQUFDO1FBQ3JELG1CQUFtQixDQUFDLE9BQU8sR0FBRyxZQUFZLENBQUM7UUFFM0MsUUFBUSxDQUFDO1lBQ1AsUUFBUSxFQUFFLFlBQVk7WUFDdEIsZ0JBQWdCO1lBQ2hCLFNBQVMsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFO1NBQ3RCLENBQUMsQ0FBQztJQUNMLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztBQUNwQyxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUc7SUFDckMsd0JBQXdCO0NBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVJlZiB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHR5cGUgeyBSb3V0ZXJMb2NhdGlvblNuYXBzaG90IH0gZnJvbSAnLi4vaW5zdHJ1bWVudGF0aW9uL0luc3RydW1lbnRhdGlvbi5qcyc7XG5pbXBvcnQgdXNlTG9jYXRpb24gZnJvbSAnLi91c2VMb2NhdGlvbi5qcyc7XG5cbmV4cG9ydCB0eXBlIFJvdXRlVGVsZW1ldHJ5RXZlbnQgPSB7XG4gIGxvY2F0aW9uOiBSb3V0ZXJMb2NhdGlvblNuYXBzaG90O1xuICBwcmV2aW91c0xvY2F0aW9uOiBSb3V0ZXJMb2NhdGlvblNuYXBzaG90IHwgbnVsbDtcbiAgdGltZXN0YW1wOiBudW1iZXI7XG59O1xuXG5leHBvcnQgdHlwZSBVc2VSb3V0ZVRlbGVtZXRyeU9wdGlvbnMgPSB7XG4gIGVuYWJsZWQ/OiBib29sZWFuO1xuICBvbkNoYW5nZTogKGV2ZW50OiBSb3V0ZVRlbGVtZXRyeUV2ZW50KSA9PiB2b2lkO1xufTtcblxuY29uc3QgdG9Sb3V0ZXJMb2NhdGlvblNuYXBzaG90ID0gKFxuICBsb2NhdGlvbjogTG9jYXRpb24sXG4pOiBSb3V0ZXJMb2NhdGlvblNuYXBzaG90ID0+IHtcbiAgcmV0dXJuIHtcbiAgICBwYXRobmFtZTogbG9jYXRpb24ucGF0aG5hbWUsXG4gICAgc2VhcmNoOiBsb2NhdGlvbi5zZWFyY2gsXG4gICAgaGFzaDogbG9jYXRpb24uaGFzaCxcbiAgfTtcbn07XG5cbi8qKlxuICpcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZVJvdXRlVGVsZW1ldHJ5KHtcbiAgZW5hYmxlZCA9IHRydWUsXG4gIG9uQ2hhbmdlLFxufTogVXNlUm91dGVUZWxlbWV0cnlPcHRpb25zKTogdm9pZCB7XG4gIGNvbnN0IGxvY2F0aW9uID0gdXNlTG9jYXRpb24oKTtcbiAgY29uc3QgcHJldmlvdXNMb2NhdGlvblJlZiA9IHVzZVJlZjxSb3V0ZXJMb2NhdGlvblNuYXBzaG90IHwgbnVsbD4obnVsbCk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWVuYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBuZXh0TG9jYXRpb24gPSB0b1JvdXRlckxvY2F0aW9uU25hcHNob3QobG9jYXRpb24pO1xuICAgIGNvbnN0IHByZXZpb3VzTG9jYXRpb24gPSBwcmV2aW91c0xvY2F0aW9uUmVmLmN1cnJlbnQ7XG4gICAgcHJldmlvdXNMb2NhdGlvblJlZi5jdXJyZW50ID0gbmV4dExvY2F0aW9uO1xuXG4gICAgb25DaGFuZ2Uoe1xuICAgICAgbG9jYXRpb246IG5leHRMb2NhdGlvbixcbiAgICAgIHByZXZpb3VzTG9jYXRpb24sXG4gICAgICB0aW1lc3RhbXA6IERhdGUubm93KCksXG4gICAgfSk7XG4gIH0sIFtlbmFibGVkLCBsb2NhdGlvbiwgb25DaGFuZ2VdKTtcbn1cblxuZXhwb3J0IGNvbnN0IF9fdGVzdFVzZVJvdXRlVGVsZW1ldHJ5ID0ge1xuICB0b1JvdXRlckxvY2F0aW9uU25hcHNob3QsXG59IGFzIGNvbnN0O1xuIl19
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlUm91dGVUZWxlbWV0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcm91dGluZy91c2VSb3V0ZVRlbGVtZXRyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUkxQyxPQUFPLFdBQVcsTUFBTSxrQkFBa0IsQ0FBQztBQWEzQyxNQUFNLHdCQUF3QixHQUFHLENBQy9CLFFBQWlDLEVBQ1QsRUFBRTtJQUMxQixPQUFPO1FBQ0wsUUFBUSxFQUFFLFFBQVEsQ0FBQyxRQUFRO1FBQzNCLE1BQU0sRUFBRSxRQUFRLENBQUMsTUFBTTtRQUN2QixJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUk7S0FDcEIsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUtGLE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxFQUNoQyxPQUFPLEdBQUcsSUFBSSxFQUNkLFFBQVEsR0FDaUI7SUFDekIsTUFBTSxRQUFRLEdBQUcsV0FBVyxFQUFFLENBQUM7SUFDL0IsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLENBQWdDLElBQUksQ0FBQyxDQUFDO0lBRXhFLFNBQVMsQ0FBQyxHQUFHLEVBQUU7UUFDYixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDYixPQUFPO1FBQ1QsQ0FBQztRQUVELE1BQU0sWUFBWSxHQUFHLHdCQUF3QixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hELE1BQU0sZ0JBQWdCLEdBQUcsbUJBQW1CLENBQUMsT0FBTyxDQUFDO1FBQ3JELG1CQUFtQixDQUFDLE9BQU8sR0FBRyxZQUFZLENBQUM7UUFFM0MsUUFBUSxDQUFDO1lBQ1AsUUFBUSxFQUFFLFlBQVk7WUFDdEIsZ0JBQWdCO1lBQ2hCLFNBQVMsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFO1NBQ3RCLENBQUMsQ0FBQztJQUNMLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztBQUNwQyxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUc7SUFDckMsd0JBQXdCO0NBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVJlZiB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHR5cGUgeyBSb3V0ZXJMb2NhdGlvblNuYXBzaG90IH0gZnJvbSAnLi4vaW5zdHJ1bWVudGF0aW9uL0luc3RydW1lbnRhdGlvbi5qcyc7XG5pbXBvcnQgdHlwZSB7IEhpc3RvcnlMb2NhdGlvblNuYXBzaG90IH0gZnJvbSAnLi4vaGlzdG9yeS90eXBlcy5qcyc7XG5pbXBvcnQgdXNlTG9jYXRpb24gZnJvbSAnLi91c2VMb2NhdGlvbi5qcyc7XG5cbmV4cG9ydCB0eXBlIFJvdXRlVGVsZW1ldHJ5RXZlbnQgPSB7XG4gIGxvY2F0aW9uOiBSb3V0ZXJMb2NhdGlvblNuYXBzaG90O1xuICBwcmV2aW91c0xvY2F0aW9uOiBSb3V0ZXJMb2NhdGlvblNuYXBzaG90IHwgbnVsbDtcbiAgdGltZXN0YW1wOiBudW1iZXI7XG59O1xuXG5leHBvcnQgdHlwZSBVc2VSb3V0ZVRlbGVtZXRyeU9wdGlvbnMgPSB7XG4gIGVuYWJsZWQ/OiBib29sZWFuO1xuICBvbkNoYW5nZTogKGV2ZW50OiBSb3V0ZVRlbGVtZXRyeUV2ZW50KSA9PiB2b2lkO1xufTtcblxuY29uc3QgdG9Sb3V0ZXJMb2NhdGlvblNuYXBzaG90ID0gKFxuICBsb2NhdGlvbjogSGlzdG9yeUxvY2F0aW9uU25hcHNob3QsXG4pOiBSb3V0ZXJMb2NhdGlvblNuYXBzaG90ID0+IHtcbiAgcmV0dXJuIHtcbiAgICBwYXRobmFtZTogbG9jYXRpb24ucGF0aG5hbWUsXG4gICAgc2VhcmNoOiBsb2NhdGlvbi5zZWFyY2gsXG4gICAgaGFzaDogbG9jYXRpb24uaGFzaCxcbiAgfTtcbn07XG5cbi8qKlxuICpcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZVJvdXRlVGVsZW1ldHJ5KHtcbiAgZW5hYmxlZCA9IHRydWUsXG4gIG9uQ2hhbmdlLFxufTogVXNlUm91dGVUZWxlbWV0cnlPcHRpb25zKTogdm9pZCB7XG4gIGNvbnN0IGxvY2F0aW9uID0gdXNlTG9jYXRpb24oKTtcbiAgY29uc3QgcHJldmlvdXNMb2NhdGlvblJlZiA9IHVzZVJlZjxSb3V0ZXJMb2NhdGlvblNuYXBzaG90IHwgbnVsbD4obnVsbCk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWVuYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBuZXh0TG9jYXRpb24gPSB0b1JvdXRlckxvY2F0aW9uU25hcHNob3QobG9jYXRpb24pO1xuICAgIGNvbnN0IHByZXZpb3VzTG9jYXRpb24gPSBwcmV2aW91c0xvY2F0aW9uUmVmLmN1cnJlbnQ7XG4gICAgcHJldmlvdXNMb2NhdGlvblJlZi5jdXJyZW50ID0gbmV4dExvY2F0aW9uO1xuXG4gICAgb25DaGFuZ2Uoe1xuICAgICAgbG9jYXRpb246IG5leHRMb2NhdGlvbixcbiAgICAgIHByZXZpb3VzTG9jYXRpb24sXG4gICAgICB0aW1lc3RhbXA6IERhdGUubm93KCksXG4gICAgfSk7XG4gIH0sIFtlbmFibGVkLCBsb2NhdGlvbiwgb25DaGFuZ2VdKTtcbn1cblxuZXhwb3J0IGNvbnN0IF9fdGVzdFVzZVJvdXRlVGVsZW1ldHJ5ID0ge1xuICB0b1JvdXRlckxvY2F0aW9uU25hcHNob3QsXG59IGFzIGNvbnN0O1xuIl19
@@ -73,4 +73,4 @@ export function buildCombinedSearch(opts) {
73
73
  return `?${combined}`;
74
74
  }
75
75
  export default buildCombinedSearch;
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRDb21iaW5lZFNlYXJjaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90b29scy9idWlsZENvbWJpbmVkU2VhcmNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLElBQUksZ0JBQWdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQWNuRixTQUFTLGlCQUFpQixDQUFDLE1BQW9CO0lBQzdDLE1BQU0sSUFBSSxHQUFHLElBQUksR0FBRyxFQUFVLENBQUM7SUFDL0IsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNuQyxLQUFLLE1BQU0sS0FBSyxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQzNCLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQyxJQUFJLFVBQVUsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUN2QixNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDL0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNuQixLQUFLLE1BQU0sUUFBUSxJQUFJLFVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDNUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFFBQVEsSUFBSSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQ3RDLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUtELFNBQVMsaUJBQWlCLENBQ3hCLEtBQThCLEVBQzlCLFlBQTBCO0lBRTFCLE1BQU0sS0FBSyxHQUFhLEVBQUUsQ0FBQztJQUMzQixNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZDLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDdkIsSUFBSSxD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b3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzdHJpbmdpZnkgYXMgc3RyaW5naWZ5RmlsdGVycyB9IGZyb20gJ0BwbHVtaWxlL2ZpbHRlci1xdWVyeS9zdHJpbmdpZnkuanMnO1xuaW1wb3J0IHsgdHlwZSBTY2hlbWEgYXMgRmlsdGVyU2NoZW1hIH0gZnJvbSAnQHBsdW1pbGUvZmlsdGVyLXF1ZXJ5L3R5cGVzLmpzJztcblxudHlwZSBSYXdRdWVyeVNjYWxhciA9IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW47XG50eXBlIFJhd1F1ZXJ5VmFsdWUgPVxuICB8IFJhd1F1ZXJ5U2NhbGFyXG4gIHwgbnVsbFxuICB8IHVuZGVmaW5lZFxuICB8IHJlYWRvbmx5IChSYXdRdWVyeVNjYWxhciB8IG51bGwgfCB1bmRlZmluZWQpW11cbiAgfCAoUmF3UXVlcnlTY2FsYXIgfCBudWxsIHwgdW5kZWZpbmVkKVtdO1xuXG4vKipcbiAqIEJ1aWxkIGEgc2V0IG9mIHJlc2VydmVkIGtleXMgZGVyaXZlZCBmcm9tIHNjaGVtYSBvcGVyYXRvcnMuXG4gKi9cbmZ1bmN0aW9uIGJ1aWxkU2NoZW1hS2V5U2V0KHNjaGVtYTogRmlsdGVyU2NoZW1hKTogU2V0PHN0cmluZz4ge1xuICBjb25zdCBrZXlzID0gbmV3IFNldDxzdHJpbmc+KCk7XG4gIGNvbnN0IGZpZWxkcyA9IE9iamVjdC5rZXlzKHNjaGVtYSk7XG4gIGZvciAoY29uc3QgZmllbGQgb2YgZmllbGRzKSB7XG4gICAgY29uc3QgZGVzY3JpcHRvciA9IHNjaGVtYVtmaWVsZF07XG4gICAgaWYgKGRlc2NyaXB0b3IgIT0gbnVsbCkge1xuICAgICAgY29uc3QgZmllbGRLZXkgPSBTdHJpbmcoZmllbGQpO1xuICAgICAga2V5cy5hZGQoZmllbGRLZXkpO1xuICAgICAgZm9yIChjb25zdCBvcGVyYXRvciBvZiBkZXNjcmlwdG9yLm9wZXJhdG9ycykge1xuICAgICAgICBrZXlzLmFkZChgJHtmaWVsZEtleX0uJHtvcGVyYXRvcn1gKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIGtleXM7XG59XG5cbi8qKlxuICogU3RyaW5naWZ5IGEgcmF3IHF1ZXJ5IG9iamVjdCwgaWdub3JpbmcgcmVzZXJ2ZWQga2V5cyBhbmQgbmlsIHZhbHVlcy5cbiAqL1xuZnVuY3Rpb24gc3RyaW5naWZ5UmF3UXVlcnkoXG4gIHF1ZXJ5OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgcmVzZXJ2ZWRLZXlzPzogU2V0PHN0cmluZz4sXG4pOiBzdHJpbmcge1xuICBjb25zdCBwYXJ0czogc3RyaW5nW10gPSBbXTtcbiAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKHF1ZXJ5KS5zb3J0KCk7XG4gIGZvciAoY29uc3Qga2V5IG9mIGtleXMpIHtcbiAgICBpZiAoIXJlc2VydmVkS2V5cz8uaGFzKGtleSkpIHtcbiAgICAgIGNvbnN0IHZhbHVlID0gcXVlcnlba2V5XSBhcyBSYXdRdWVyeVZhbHVlIHwgUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gICAgICBpZiAodmFsdWUgIT0gbnVsbCkge1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICBmb3IgKGNvbnN0IGVudHJ5IG9mIHZhbHVlKSB7XG4gICAgICAgICAgICBpZiAoZW50cnkgIT0gbnVsbCkge1xuICAgICAgICAgICAgICBwYXJ0cy5wdXNoKFxuICAgICAgICAgICAgICAgIGAke2VuY29kZVVSSUNvbXBvbmVudChrZXkpfT0ke2VuY29kZVVSSUNvbXBvbmVudChcbiAgICAgICAgICAgICAgICAgIFN0cmluZyhlbnRyeSksXG4gICAgICAgICAgICAgICAgKX1gLFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgY29uc3Qgc2VyaWFsaXplZCA9IEpTT04uc3RyaW5naWZ5KHZhbHVlKTtcbiAgICAgICAgICBwYXJ0cy5wdXNoKFxuICAgICAgICAgICAgYCR7ZW5jb2RlVVJJQ29tcG9uZW50KGtleSl9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KHNlcmlhbGl6ZWQpfWAsXG4gICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBwYXJ0cy5wdXNoKFxuICAgICAgICAgICAgYCR7ZW5jb2RlVVJJQ29tcG9uZW50KGtleSl9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyh2YWx1ZSkpfWAsXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gcGFydHMuam9pbignJicpO1xufVxuXG4vKipcbiAqIEJ1aWxkcyBhIHVuaWZpZWQgc2VhcmNoIHN0cmluZyAocHJlZml4ZWQgd2l0aCBgP2ApIGZyb20gZmlsdGVycyB1c2luZyB0aGUgcHJvdmlkZWQgc2NoZW1hLlxuICpcbiAqIEBwYXJhbSBvcHRzLmZpbHRlcnMgLSBGaWx0ZXJzIG9iamVjdCB0byBzZXJpYWxpc2UuXG4gKiBAcGFyYW0gb3B0cy5xdWVyeVNjaGVtYSAtIFNjaGVtYSBkZXNjcmliaW5nIGFsbG93ZWQgb3BlcmF0b3JzIChvcHRpb25hbCkuXG4gKiBAcGFyYW0gb3B0cy5xdWVyeSAtIFJhdyBxdWVyeSBvYmplY3QgZm9yIG5vbi1zY2hlbWEga2V5cyAob3B0aW9uYWwpLlxuICogQHJldHVybnMgRW1wdHkgc3RyaW5nIHdoZW4gbm8gZmlsdGVycyBhcmUgcHJvdmlkZWQsIG90aGVyd2lzZSBgP2AgZm9sbG93ZWQgYnkgdGhlIHNlcmlhbGlzZWQgZmlsdGVycy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkQ29tYmluZWRTZWFyY2gob3B0czoge1xuICBmaWx0ZXJzPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gIHF1ZXJ5U2NoZW1hPzogRmlsdGVyU2NoZW1hO1xuICBxdWVyeT86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xufSk6IHN0cmluZyB7XG4gIGNvbnN0IHsgZmlsdGVycywgcXVlcnlTY2hlbWEsIHF1ZXJ5IH0gPSBvcHRzO1xuICBsZXQgZmlsdGVyUGFydCA9ICcnO1xuICBsZXQgcmVzZXJ2ZWRLZXlzOiBTZXQ8c3RyaW5nPiB8IHVuZGVmaW5lZDtcbiAgaWYgKHF1ZXJ5U2NoZW1hICE9IG51bGwpIHtcbiAgICByZXNlcnZlZEtleXMgPSBidWlsZFNjaGVtYUtleVNldChxdWVyeVNjaGVtYSk7XG4gIH1cbiAgaWYgKHF1ZXJ5U2NoZW1hICE9IG51bGwgJiYgZmlsdGVycyAhPSBudWxsKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJhdyA9IHN0cmluZ2lmeUZpbHRlcnMoZmlsdGVycyBhcyBhbnksIHF1ZXJ5U2NoZW1hIGFzIGFueSk7XG4gICAgICBpZiAocmF3ICE9PSAnJykgZmlsdGVyUGFydCA9IHJhdzsgLy8gcmF3IGhhcyBubyBsZWFkaW5nID8gYnkgZGVzaWduIGluIGZpbHRlci1xdWVyeVxuICAgIH0gY2F0Y2gge1xuICAgICAgLy8gSWdub3JlIHNlcmlhbGl6YXRpb24gZXJyb3JzOyB0cmVhdCBhcyBhYnNlbnQgZmlsdGVyc1xuICAgIH1cbiAgfVxuICBsZXQgcmF3UGFydCA9ICcnO1xuICBsZXQgcmF3U291cmNlOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IHVuZGVmaW5lZDtcbiAgaWYgKHF1ZXJ5ICE9IG51bGwpIHtcbiAgICByYXdTb3VyY2UgPSBxdWVyeTtcbiAgfSBlbHNlIGlmIChxdWVyeVNjaGVtYSA9PSBudWxsKSB7XG4gICAgcmF3U291cmNlID0gZmlsdGVycztcbiAgfVxuICBpZiAocmF3U291cmNlICE9IG51bGwpIHtcbiAgICByYXdQYXJ0ID0gc3RyaW5naWZ5UmF3UXVlcnkocmF3U291cmNlLCByZXNlcnZlZEtleXMpO1xuICB9XG5cbiAgY29uc3QgY29tYmluZWQgPSBbZmlsdGVyUGFydCwgcmF3UGFydF0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oJyYnKTtcbiAgaWYgKGNvbWJpbmVkID09PSAnJykgcmV0dXJuICcnO1xuICByZXR1cm4gYD8ke2NvbWJpbmVkfWA7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGJ1aWxkQ29tYmluZWRTZWFyY2g7XG4iXX0=
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRDb21iaW5lZFNlYXJjaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90b29scy9idWlsZENvbWJpbmVkU2VhcmNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLElBQUksZ0JBQWdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQWNuRixTQUFTLGlCQUFpQixDQUFDLE1BQW9CO0lBQzdDLE1BQU0sSUFBSSxHQUFHLElBQUksR0FBRyxFQUFVLENBQUM7SUFDL0IsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNuQyxLQUFLLE1BQU0sS0FBSyxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQzNCLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQyxJQUFJLFVBQVUsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUN2QixNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDL0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNuQixLQUFLLE1BQU0sUUFBUSxJQUFJLFVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDNUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFFBQVEsSUFBSSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQ3RDLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUtELFNBQVMsaUJBQWlCLENBQ3hCLEtBQThCLEVBQzlCLFlBQTBCO0lBRTFCLE1BQU0sS0FBSyxHQUFhLEVBQUUsQ0FBQztJQUMzQixNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZDLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDdkIsSUFBSSxD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dXJjZXNDb250ZW50IjpbImltcG9ydCB7IHN0cmluZ2lmeSBhcyBzdHJpbmdpZnlGaWx0ZXJzIH0gZnJvbSAnQHBsdW1pbGUvZmlsdGVyLXF1ZXJ5L3N0cmluZ2lmeS5qcyc7XG5pbXBvcnQgeyB0eXBlIFNjaGVtYSBhcyBGaWx0ZXJTY2hlbWEgfSBmcm9tICdAcGx1bWlsZS9maWx0ZXItcXVlcnkvdHlwZXMuanMnO1xuXG50eXBlIFJhd1F1ZXJ5U2NhbGFyID0gc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbjtcbnR5cGUgUmF3UXVlcnlWYWx1ZSA9XG4gIHwgUmF3UXVlcnlTY2FsYXJcbiAgfCBudWxsXG4gIHwgdW5kZWZpbmVkXG4gIHwgcmVhZG9ubHkgKFJhd1F1ZXJ5U2NhbGFyIHwgbnVsbCB8IHVuZGVmaW5lZClbXVxuICB8IChSYXdRdWVyeVNjYWxhciB8IG51bGwgfCB1bmRlZmluZWQpW107XG5cbi8qKlxuICogQnVpbGQgYSBzZXQgb2YgcmVzZXJ2ZWQga2V5cyBkZXJpdmVkIGZyb20gc2NoZW1hIG9wZXJhdG9ycy5cbiAqL1xuZnVuY3Rpb24gYnVpbGRTY2hlbWFLZXlTZXQoc2NoZW1hOiBGaWx0ZXJTY2hlbWEpOiBTZXQ8c3RyaW5nPiB7XG4gIGNvbnN0IGtleXMgPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgY29uc3QgZmllbGRzID0gT2JqZWN0LmtleXMoc2NoZW1hKTtcbiAgZm9yIChjb25zdCBmaWVsZCBvZiBmaWVsZHMpIHtcbiAgICBjb25zdCBkZXNjcmlwdG9yID0gc2NoZW1hW2ZpZWxkXTtcbiAgICBpZiAoZGVzY3JpcHRvciAhPSBudWxsKSB7XG4gICAgICBjb25zdCBmaWVsZEtleSA9IFN0cmluZyhmaWVsZCk7XG4gICAgICBrZXlzLmFkZChmaWVsZEtleSk7XG4gICAgICBmb3IgKGNvbnN0IG9wZXJhdG9yIG9mIGRlc2NyaXB0b3Iub3BlcmF0b3JzKSB7XG4gICAgICAgIGtleXMuYWRkKGAke2ZpZWxkS2V5fS4ke29wZXJhdG9yfWApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4ga2V5cztcbn1cblxuLyoqXG4gKiBTdHJpbmdpZnkgYSByYXcgcXVlcnkgb2JqZWN0LCBpZ25vcmluZyByZXNlcnZlZCBrZXlzIGFuZCBuaWwgdmFsdWVzLlxuICovXG5mdW5jdGlvbiBzdHJpbmdpZnlSYXdRdWVyeShcbiAgcXVlcnk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICByZXNlcnZlZEtleXM/OiBTZXQ8c3RyaW5nPixcbik6IHN0cmluZyB7XG4gIGNvbnN0IHBhcnRzOiBzdHJpbmdbXSA9IFtdO1xuICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMocXVlcnkpLnNvcnQoKTtcbiAgZm9yIChjb25zdCBrZXkgb2Yga2V5cykge1xuICAgIGlmICghcmVzZXJ2ZWRLZXlzPy5oYXMoa2V5KSkge1xuICAgICAgY29uc3QgdmFsdWUgPSBxdWVyeVtrZXldIGFzIFJhd1F1ZXJ5VmFsdWUgfCBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgICAgIGlmICh2YWx1ZSAhPSBudWxsKSB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgIGZvciAoY29uc3QgZW50cnkgb2YgdmFsdWUpIHtcbiAgICAgICAgICAgIGlmIChlbnRyeSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgIHBhcnRzLnB1c2goXG4gICAgICAgICAgICAgICAgYCR7ZW5jb2RlVVJJQ29tcG9uZW50KGtleSl9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KFxuICAgICAgICAgICAgICAgICAgU3RyaW5nKGVudHJ5KSxcbiAgICAgICAgICAgICAgICApfWAsXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICBjb25zdCBzZXJpYWxpemVkID0gSlNPTi5zdHJpbmdpZnkodmFsdWUpO1xuICAgICAgICAgIHBhcnRzLnB1c2goXG4gICAgICAgICAgICBgJHtlbmNvZGVVUklDb21wb25lbnQoa2V5KX09JHtlbmNvZGVVUklDb21wb25lbnQoc2VyaWFsaXplZCl9YCxcbiAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHBhcnRzLnB1c2goXG4gICAgICAgICAgICBgJHtlbmNvZGVVUklDb21wb25lbnQoa2V5KX09JHtlbmNvZGVVUklDb21wb25lbnQoU3RyaW5nKHZhbHVlKSl9YCxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBwYXJ0cy5qb2luKCcmJyk7XG59XG5cbi8qKlxuICogQnVpbGRzIGEgdW5pZmllZCBzZWFyY2ggc3RyaW5nIChwcmVmaXhlZCB3aXRoIGA/YCkgZnJvbSBmaWx0ZXJzIHVzaW5nIHRoZSBwcm92aWRlZCBzY2hlbWEuXG4gKlxuICogQHBhcmFtIG9wdHMuZmlsdGVycyAtIEZpbHRlcnMgb2JqZWN0IHRvIHNlcmlhbGlzZS5cbiAqIEBwYXJhbSBvcHRzLnF1ZXJ5U2NoZW1hIC0gU2NoZW1hIGRlc2NyaWJpbmcgYWxsb3dlZCBvcGVyYXRvcnMgKG9wdGlvbmFsKS5cbiAqIEBwYXJhbSBvcHRzLnF1ZXJ5IC0gUmF3IHF1ZXJ5IG9iamVjdCBmb3Igbm9uLXNjaGVtYSBrZXlzIChvcHRpb25hbCkuXG4gKiBAcmV0dXJucyBFbXB0eSBzdHJpbmcgd2hlbiBubyBmaWx0ZXJzIGFyZSBwcm92aWRlZCwgb3RoZXJ3aXNlIGA/YCBmb2xsb3dlZCBieSB0aGUgc2VyaWFsaXNlZCBmaWx0ZXJzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRDb21iaW5lZFNlYXJjaChvcHRzOiB7XG4gIGZpbHRlcnM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgcXVlcnlTY2hlbWE/OiBGaWx0ZXJTY2hlbWE7XG4gIHF1ZXJ5PzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG59KTogc3RyaW5nIHtcbiAgY29uc3QgeyBmaWx0ZXJzLCBxdWVyeVNjaGVtYSwgcXVlcnkgfSA9IG9wdHM7XG4gIGxldCBmaWx0ZXJQYXJ0ID0gJyc7XG4gIGxldCByZXNlcnZlZEtleXM6IFNldDxzdHJpbmc+IHwgdW5kZWZpbmVkO1xuICBpZiAocXVlcnlTY2hlbWEgIT0gbnVsbCkge1xuICAgIHJlc2VydmVkS2V5cyA9IGJ1aWxkU2NoZW1hS2V5U2V0KHF1ZXJ5U2NoZW1hKTtcbiAgfVxuICBpZiAocXVlcnlTY2hlbWEgIT0gbnVsbCAmJiBmaWx0ZXJzICE9IG51bGwpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmF3ID0gc3RyaW5naWZ5RmlsdGVycyhmaWx0ZXJzLCBxdWVyeVNjaGVtYSk7XG4gICAgICBpZiAocmF3ICE9PSAnJykgZmlsdGVyUGFydCA9IHJhdzsgLy8gcmF3IGhhcyBubyBsZWFkaW5nID8gYnkgZGVzaWduIGluIGZpbHRlci1xdWVyeVxuICAgIH0gY2F0Y2gge1xuICAgICAgLy8gSWdub3JlIHNlcmlhbGl6YXRpb24gZXJyb3JzOyB0cmVhdCBhcyBhYnNlbnQgZmlsdGVyc1xuICAgIH1cbiAgfVxuICBsZXQgcmF3UGFydCA9ICcnO1xuICBsZXQgcmF3U291cmNlOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IHVuZGVmaW5lZDtcbiAgaWYgKHF1ZXJ5ICE9IG51bGwpIHtcbiAgICByYXdTb3VyY2UgPSBxdWVyeTtcbiAgfSBlbHNlIGlmIChxdWVyeVNjaGVtYSA9PSBudWxsKSB7XG4gICAgcmF3U291cmNlID0gZmlsdGVycztcbiAgfVxuICBpZiAocmF3U291cmNlICE9IG51bGwpIHtcbiAgICByYXdQYXJ0ID0gc3RyaW5naWZ5UmF3UXVlcnkocmF3U291cmNlLCByZXNlcnZlZEtleXMpO1xuICB9XG5cbiAgY29uc3QgY29tYmluZWQgPSBbZmlsdGVyUGFydCwgcmF3UGFydF0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oJyYnKTtcbiAgaWYgKGNvbWJpbmVkID09PSAnJykgcmV0dXJuICcnO1xuICByZXR1cm4gYD8ke2NvbWJpbmVkfWA7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGJ1aWxkQ29tYmluZWRTZWFyY2g7XG4iXX0=
@@ -1,4 +1,5 @@
1
1
  import type { ParamData } from 'path-to-regexp';
2
+ import type { HistoryLocationSnapshot } from './history/types.js';
2
3
  import { type FilterSchema, type PrepareResult, type PreparedMatch, type PreparedRouteSegment, type Redirect, type ResolvedPreparedMatch, type Route, type RouteNode, type RouterMatchedRoute, type RawQuery, type UnknownFilters } from './types.js';
3
4
  import type { RouterPrepareEvent, RouterNavigationSource, RouterLocationSnapshot } from './instrumentation/Instrumentation.js';
4
5
  import type { FlatRoute } from './builder.js';
@@ -17,7 +18,7 @@ type PrepareSearchState = {
17
18
  filters?: UnknownFilters;
18
19
  };
19
20
  declare const areSegmentParamsEqual: (paramNames: readonly string[], left: ParamData | undefined, right: ParamData) => boolean;
20
- export declare function getMatchedRoute<TParams extends ParamData>(routes: FlatRoute<TParams>[], location: Location): RouterMatchedRoute<TParams> | null;
21
+ export declare function getMatchedRoute<TParams extends ParamData>(routes: FlatRoute<TParams>[], location: HistoryLocationSnapshot): RouterMatchedRoute<TParams> | null;
21
22
  declare function buildHighlightId(routePath: string | undefined, index: number, moduleId?: string): string;
22
23
  export declare const __testTools: {
23
24
  readonly buildHighlightId: typeof buildHighlightId;
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/tools.ts"],"names":[],"mappings":"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"}
package/lib/esm/tools.js CHANGED
@@ -113,7 +113,7 @@ export function prepareMatch(match, query, instrumentation, context, reuse, sear
113
113
  return prepare({
114
114
  match,
115
115
  matchedRoute,
116
- context: context,
116
+ context,
117
117
  resourcePage,
118
118
  variables: { ...match.params },
119
119
  query: query ?? {},
@@ -236,4 +236,4 @@ export async function prepareMatchAsync(match, query, instrumentation, context)
236
236
  export function r(route) {
237
237
  return route;
238
238
  }
239
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdG9vbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBeUJBLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBbUJuRSxNQUFNLGlCQUFpQixHQUFHLENBQ3hCLElBQXVCLEVBQ3ZCLEtBQXdCLEVBQ2YsRUFBRTtJQUNYLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDaEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDbEQsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNqQyxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDakMsT0FBTyxLQUFLLEtBQUssS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELE9BQU8sSUFBSSxLQUFLLEtBQUssQ0FBQztBQUN4QixDQUFDLENBQUM7QUFFRixNQUFNLHFCQUFxQixHQUFHLENBQzVCLFVBQTZCLEVBQzdCLElBQTJCLEVBQzNCLEtBQWdCLEVBQ1AsRUFBRTtJQUNYLElBQUksVUFBVSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUM1QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFDRCxJQUFJLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNqQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFD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QUFDO1FBQ3RCLElBQUksS0FBSyxDQUFDLGdCQUFnQixJQUFJLElBQUksRUFBRSxDQUFDO1lBQ25DLFFBQVEsR0FBRyxNQUFNLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNqRCxDQUFDO1FBQ0QsT0FBTztZQUNMLFNBQVMsRUFBRSxLQUFLLENBQUMsU0FBUztZQUMxQixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7WUFDaEIsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO1lBQ3hCLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVTtZQUM1QixVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVU7WUFDNUIsWUFBWSxFQUFFLEtBQUssQ0FBQyxZQUFZO1lBQ2hDLFFBQVE7WUFDUixVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVU7WUFDNUIsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNO1lBQ3BCLFlBQVksRUFBRSxLQUFLLENBQUMsWUFBWTtZQUNoQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsZ0JBQWdCO1lBQ3hDLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTtZQUN4QixXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7WUFDOUIsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXO1NBQy9CLENBQUM7SUFDSixDQUFDLENBQ0YsQ0FDRixDQUFDO0lBRUYsT0FBTztRQUNMLEtBQUssRUFBRSxhQUFhLENBQUMsS0FBSztRQUMxQixRQUFRO1FBQ1IsTUFBTSxFQUFFLFFBQVE7S0FDakIsQ0FBQztBQUNKLENBQUM7QUFPRCxNQUFNLFVBQVUsQ0FBQyxDQVNmLEtBQW1FO0lBRW5FLE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUGFyYW1EYXRhIH0gZnJvbSAncGF0aC10by1yZWdleHAnO1xuXG5pbXBvcnQge1xuICB0eXBlIEZpbHRlclNjaGVtYSxcbiAgdHlwZSBQcmVwYXJlUmVzdWx0LFxuICB0eXBlIFByZXBhcmVkTWF0Y2gsXG4gIHR5cGUgUHJlcGFyZWRNYXRjaFJvdXRlLFxuICB0eXBlIFByZXBhcmVkUm91dGVTZWdtZW50LFxuICB0eXBlIFJlZGlyZWN0LFxuICB0eXBlIFJlc29sdmVkUHJlcGFyZWRNYXRjaCxcbiAgdHlwZSBSZXNvbHZlZFByZXBhcmVkUm91dGVTZWdtZW50LFxuICB0eXBlIFJvdXRlLFxuICB0eXBlIFJvdXRlTm9kZSxcbiAgdHlwZSBSb3V0ZXJNYXRjaGVkUm91dGUsXG4gIHR5cGUgUmF3UXVlcnksXG4gIHR5cGUgVW5rbm93bkZpbHRlcnMsXG59IGZyb20gJy4vdHlwZXMuanMnO1xuXG5pbXBvcnQgdHlwZSB7XG4gIFJvdXRlclByZXBhcmVFdmVudCxcbiAgUm91dGVyTmF2aWdhdGlvblNvdXJjZSxcbiAgUm91dGVyTG9jYXRpb25TbmFwc2hvdCxcbn0gZnJvbSAnLi9pbnN0cnVtZW50YXRpb24vSW5zdHJ1bWVudGF0aW9uLmpzJztcblxuaW1wb3J0IHR5cGUgeyBGbGF0Um91dGUgfSBmcm9tICcuL2J1aWxkZXIuanMnO1xuaW1wb3J0IHsgY3JlYXRlUHJlcGFyZWRWYWx1ZVJlc291cmNlIH0gZnJvbSAnLi9wcmVwYXJlUmVzb3VyY2UuanMnO1xuXG50eXBlIFByZXBhcmVJbnN0cnVtZW50YXRpb24gPSB7XG4gIGVtaXQ6IChldmVudDogUm91dGVyUHJlcGFyZUV2ZW50KSA9PiB2b2lkO1xuICBzb3VyY2U6IFJvdXRlck5hdmlnYXRpb25Tb3VyY2U7XG4gIGxvY2F0aW9uOiBSb3V0ZXJMb2NhdGlvblNuYXBzaG90O1xufTtcblxudHlwZSBQcmVwYXJlUmV1c2VJbnB1dDxUQ29udGV4dD4gPSB7XG4gIHByZXZpb3VzU2VnbWVudHM/OiBQcmVwYXJlZFJvdXRlU2VnbWVudDxUQ29udGV4dD5bXTtcbiAgcHJldmlvdXNQYXJhbXM/OiBQYXJhbURhdGE7XG4gIHNhbWVTZWFyY2g/OiBib29sZWFuO1xufTtcblxudHlwZSBQcmVwYXJlU2VhcmNoU3RhdGUgPSB7XG4gIHJhd1F1ZXJ5PzogUmF3UXVlcnk7XG4gIGZpbHRlcnM/OiBVbmtub3duRmlsdGVycztcbn07XG5cbmNvbnN0IGlzUGFyYW1WYWx1ZUVxdWFsID0gKFxuICBsZWZ0OiBQYXJhbURhdGFbc3RyaW5nXSxcbiAgcmlnaHQ6IFBhcmFtRGF0YVtzdHJpbmddLFxuKTogYm9vbGVhbiA9PiB7XG4gIGlmIChBcnJheS5pc0FycmF5KGxlZnQpIHx8IEFycmF5LmlzQXJyYXkocmlnaHQpKSB7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KGxlZnQpIHx8ICFBcnJheS5pc0FycmF5KHJpZ2h0KSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAobGVmdC5sZW5ndGggIT09IHJpZ2h0Lmxlbmd0aCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gbGVmdC5ldmVyeSgodmFsdWUsIGluZGV4KSA9PiB7XG4gICAgICByZXR1cm4gdmFsdWUgPT09IHJpZ2h0W2luZGV4XTtcbiAgICB9KTtcbiAgfVxuICByZXR1cm4gbGVmdCA9PT0gcmlnaHQ7XG59O1xuXG5jb25zdCBhcmVTZWdtZW50UGFyYW1zRXF1YWwgPSAoXG4gIHBhcmFtTmFtZXM6IHJlYWRvbmx5IHN0cmluZ1tdLFxuICBsZWZ0OiBQYXJhbURhdGEgfCB1bmRlZmluZWQsXG4gIHJpZ2h0OiBQYXJhbURhdGEsXG4pOiBib29sZWFuID0+IHtcbiAgaWYgKHBhcmFtTmFtZXMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgaWYgKGxlZnQgPT0gbnVsbCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICByZXR1cm4gcGFyYW1OYW1lcy5ldmVyeSgocGFyYW1OYW1lKSA9PiB7XG4gICAgcmV0dXJuIGlzUGFyYW1WYWx1ZUVxdWFsKGxlZnRbcGFyYW1OYW1lXSwgcmlnaHRbcGFyYW1OYW1lXSk7XG4gIH0pO1xufTtcblxuLyoqIEVtaXRzIHByZXBhcmUgaW5zdHJ1bWVudGF0aW9uIHdpdGhvdXQgYWxsb3dpbmcgaW5zdHJ1bWVudGF0aW9uIGZhaWx1cmVzIHRvIGFmZmVjdCByb3V0aW5nLiAqL1xuZnVuY3Rpb24gZW1pdFByZXBhcmVJbnN0cnVtZW50YXRpb24oXG4gIGluc3RydW1lbnRhdGlvbjogUHJlcGFyZUluc3RydW1lbnRhdGlvbiB8IHVuZGVmaW5lZCxcbiAgZXZlbnQ6IFJvdXRlclByZXBhcmVFdmVudCxcbik6IHZvaWQge1xuICBpZiAoaW5zdHJ1bWVudGF0aW9uID09IG51bGwpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgdHJ5IHtcbiAgICBpbnN0cnVtZW50YXRpb24uZW1pdChldmVudCk7XG4gIH0gY2F0Y2gge1xuICAgIC8vIEluc3RydW1lbnRhdGlvbiBtdXN0IG5ldmVyIGJyZWFrIHJvdXRpbmcgb3IgcHJlcGFyZSBsaWZlY3ljbGUuXG4gIH1cbn1cblxuLyoqXG4gKiBGaW5kcyB0aGUgZmlyc3QgZmxhdCByb3V0ZSBtYXRjaGluZyB0aGUgcHJvdmlkZWQgbG9jYXRpb24uXG4gKlxuICogQHBhcmFtIHJvdXRlcyAtIEZsYXR0ZW5lZCByb3V0ZSBsaXN0IHRvIGV2YWx1YXRlLlxuICogQHBhcmFtIGxvY2F0aW9uIC0gQnJvd3NlciBsb2NhdGlvbiB3aG9zZSBwYXRobmFtZSBzaG91bGQgYmUgbWF0Y2hlZC5cbiAqIEByZXR1cm5zIE1hdGNoZWQgcm91dGUgd2l0aCBwYXJhbXMgb3IgYG51bGxgIGlmIG5vbmUgbWF0Y2guXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRNYXRjaGVkUm91dGU8VFBhcmFtcyBleHRlbmRzIFBhcmFtRGF0YT4oXG4gIHJvdXRlczogRmxhdFJvdXRlPFRQYXJhbXM+W10sXG4gIGxvY2F0aW9uOiBMb2NhdGlvbixcbik6IFJvdXRlck1hdGNoZWRSb3V0ZTxUUGFyYW1zPiB8IG51bGwge1xuICBmb3IgKGNvbnN0IHJvdXRlIG9mIHJvdXRlcykge1xuICAgIGNvbnN0IG1hdGNoID0gcm91dGUubWF0Y2hGdW5jdGlvbihsb2NhdGlvbi5wYXRobmFtZSk7XG4gICAgaWYgKG1hdGNoICE9PSBmYWxzZSkge1xuICAgICAgY29uc3QgeyBwYXRoLCBwYXJhbXMgfSA9IG1hdGNoO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbWF0Y2gsXG4gICAgICAgIHJvdXRlLFxuICAgICAgICBwYXRoLFxuICAgICAgICBwYXJhbXMsXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG4vKipcbiAqIERlcml2ZXMgYSBkZXRlcm1pbmlzdGljIGlkZW50aWZpZXIgdGhhdCBsaW5rcyBwcmVwYXJlZCByb3V0ZXMgdG8gRE9NIG1hcmtlcnMuXG4gKi9cbmZ1bmN0aW9uIGJ1aWxkSGlnaGxpZ2h0SWQoXG4gIHJvdXRlUGF0aDogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICBpbmRleDogbnVtYmVyLFxuICBtb2R1bGVJZD86IHN0cmluZyxcbik6IHN0cmluZyB7XG4gIGNvbnN0IHBhcnRzOiBzdHJpbmdbXSA9IFtdO1xuICBpZiAodHlwZW9mIG1vZHVsZUlkID09PSAnc3RyaW5nJyAmJiBtb2R1bGVJZC50cmltKCkgIT09ICcnKSB7XG4gICAgcGFydHMucHVzaChgbW9kdWxlOiR7bW9kdWxlSWR9YCk7XG4gIH1cbiAgaWYgKHR5cGVvZiByb3V0ZVBhdGggPT09ICdzdHJpbmcnICYmIHJvdXRlUGF0aC50cmltKCkgIT09ICcnKSB7XG4gICAgcGFydHMucHVzaChgcGF0aDoke3JvdXRlUGF0aH1gKTtcbiAgfVxuICBpZiAocGFydHMubGVuZ3RoID09PSAwKSB7XG4gICAgcGFydHMucHVzaCgncm91dGUnKTtcbiAgfVxuICBwYXJ0cy5wdXNoKGBpbmRleDoke2luZGV4fWApO1xuICByZXR1cm4gcGFydHMuam9pbignfCcpO1xufVxuXG5leHBvcnQgY29uc3QgX190ZXN0VG9vbHMgPSB7XG4gIGJ1aWxkSGlnaGxpZ2h0SWQsXG4gIGFyZVNlZ21lbnRQYXJhbXNFcXVhbCxcbn0gYXMgY29uc3Q7XG5cbi8qKlxuICogUHJlcGFyZXMgYSBtYXRjaGVkIHJvdXRlIGJ5IGV4ZWN1dGluZyBgcHJlcGFyZWAgY2FsbGJhY2tzIGFuZCByZXNvbHZpbmcgcmVzb3VyY2UgcGFnZXMuXG4gKlxuICogQHBhcmFtIG1hdGNoIC0gTWF0Y2hlZCByb3V0ZSBkZXNjcmlwdG9yIChvciBgbnVsbGAgd2hlbiBub3RoaW5nIG1hdGNoZWQpLlxuICogQHBhcmFtIHF1ZXJ5IC0gT3B0aW9uYWwgcXVlcnkgb2JqZWN0IGZvcndhcmRlZCB0byBwcmVwYXJlIGZ1bmN0aW9ucy5cbiAqIEBwYXJhbSBjb250ZXh0IC0gT3B0aW9uYWwgcm91dGVyIGNvbnRleHQgZm9yd2FyZGVkIHRvIHByZXBhcmUgZnVuY3Rpb25zLlxuICogQHJldHVybnMgUHJlcGFyZWQgaGllcmFyY2h5IHJlYWR5IGZvciB0aGUgcmVuZGVyZXIuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcmVwYXJlTWF0Y2g8VFBhcmFtcyBleHRlbmRzIFBhcmFtRGF0YSwgVENvbnRleHQgPSB1bmtub3duPihcbiAgbWF0Y2g6IFJvdXRlck1hdGNoZWRSb3V0ZTxUUGFyYW1zPiB8IG51bGwsXG4gIHF1ZXJ5PzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIGluc3RydW1lbnRhdGlvbj86IFByZXBhcmVJbnN0cnVtZW50YXRpb24sXG4gIGNvbnRleHQ/OiBUQ29udGV4dCxcbiAgcmV1c2U/OiBQcmVwYXJlUmV1c2VJbnB1dDxUQ29udGV4dD4sXG4gIHNlYXJjaFN0YXRlPzogUHJlcGFyZVNlYXJjaFN0YXRlLFxuKTogUHJlcGFyZWRNYXRjaDxUUGFyYW1zLCBUQ29udGV4dD4ge1xuICAvLyBOT1RFOiBSdW50aW1lIHJldGFpbnMgYSBnZW5lcmljIFByZXBhcmVkUmVzdWx0OyB0eXBlLWxldmVsIG5hcnJvd2luZyBpcyBhY2hpZXZlZCBleHRlcm5hbGx5XG4gIC8vIHRocm91Z2ggdGhlIHJvdXRlIHVuaW9uIGFuZCBQcmVwYXJlZEFjY2VzcyBoZWxwZXJzLiBXZSBpbnRlbnRpb25hbGx5IGF2b2lkIGluamVjdGluZ1xuICAvLyBnZW5lcmljIHBhcmFtZXRlcnMgaGVyZSB0byBrZWVwIHJ1bnRpbWUgbGlnaHR3ZWlnaHQgd2hpbGUgc3RpbGwgZW5hYmxpbmcgY29tcGlsZS10aW1lXG4gIC8vIGRpc2NyaW1pbmF0aW9uIGluIHVzZXJsYW5kIHZpYSBjcmVhdGVSb3V0ZXIgZ2VuZXJpY3MuXG4gIGlmIChtYXRjaCA9PSBudWxsKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG1hdGNoLFxuICAgICAgc2VnbWVudHM6IFtdLFxuICAgICAgcm91dGVzOiBbXSxcbiAgICB9O1xuICB9XG5cbiAgY29uc3QgbWF0Y2hlZFJvdXRlID0gbWF0Y2gucm91dGU7XG5cbiAgY29uc3Qgc2VnbWVudHM6IFByZXBhcmVkUm91dGVTZWdtZW50PFRDb250ZXh0PltdID0gbWF0Y2gucm91dGUucm91dGVzLm1hcChcbiAgICAocm91dGUsIHJvdXRlSW5kZXgpID0+IHtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgcGF0aCxcbiAgICAgICAgcHJlcGFyZSxcbiAgICAgICAgcXVlcnlTY2hlbWEsXG4gICAgICAgIHJlc291cmNlUGFnZSxcbiAgICAgICAgcmVuZGVyLFxuICAgICAgICBzdXNwZW5zZUJvdW5kYXJ5LFxuICAgICAgICBmYWxsYmFjayxcbiAgICAgIH0gPSByb3V0ZTtcbiAgICAgIGNvbnN0IHJvdXRlU2VnbWVudCA9IG1hdGNoLnJvdXRlLnJvdXRlU2VnbWVudHM/Lltyb3V0ZUluZGV4XTtcbiAgICAgIGNvbnN0IHByZXZpb3VzU2VnbWVudCA9IHJldXNlPy5wcmV2aW91c1NlZ21lbnRzPy5bcm91dGVJbmRleF07XG4gICAgICBpZiAoXG4gICAgICAgIHByZXZpb3VzU2VnbWVudD8ucm91dGVOb2RlID09PSByb3V0ZSAmJlxuICAgICAgICAocmV1c2U/LnNhbWVTZWFyY2ggPT09IHRydWUgfHxcbiAgICAgICAgICByb3V0ZS5wcmVwYXJlU2VhcmNoQmVoYXZpb3IgPT09ICdwYXRoJyB8fFxuICAgICAgICAgIHByZXBhcmUgPT0gbnVsbCkgJiZcbiAgICAgICAgYXJlU2VnbWVudFBhcmFtc0VxdWFsKFxuICAgICAgICAgIHJvdXRlU2VnbWVudD8ucGFyYW1OYW1lcyA/PyBbXSxcbiAgICAgICAgICByZXVzZT8ucHJldmlvdXNQYXJhbXMsXG4gICAgICAgICAgbWF0Y2gucGFyYW1zLFxuICAgICAgICApXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIHByZXZpb3VzU2VnbWVudDtcbiAgICAgIH1cblxuICAgICAgbGV0IG1vZHVsZUlkOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgICBpZiAoXG4gICAgICAgIHJlc291cmNlUGFnZSAhPSBudWxsICYmXG4gICAgICAgIHR5cGVvZiByZXNvdXJjZVBhZ2UuZ2V0TW9kdWxlSWQgPT09ICdmdW5jdGlvbidcbiAgICAgICkge1xuICAgICAgICBjb25zdCByZXNvbHZlZE1vZHVsZUlkID0gcmVzb3VyY2VQYWdlLmdldE1vZHVsZUlkKCk7XG4gICAgICAgIGlmICh0eXBlb2YgcmVzb2x2ZWRNb2R1bGVJZCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICBtb2R1bGVJZCA9IHJlc29sdmVkTW9kdWxlSWQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgbGV0IHByZXBhcmVTdGFydGVkQXQgPSAwO1xuICAgICAgaWYgKGluc3RydW1lbnRhdGlvbiAhPSBudWxsKSB7XG4gICAgICAgIHByZXBhcmVTdGFydGVkQXQgPSBEYXRlLm5vdygpO1xuICAgICAgICBlbWl0UHJlcGFyZUluc3RydW1lbnRhdGlvbihpbnN0cnVtZW50YXRpb24sIHtcbiAgICAgICAgICBraW5kOiAncHJlcGFyZS1zdGFydCcsXG4gICAgICAgICAgc291cmNlOiBpbnN0cnVtZW50YXRpb24uc291cmNlLFxuICAgICAgICAgIHRpbWVzdGFtcDogcHJlcGFyZVN0YXJ0ZWRBdCxcbiAgICAgICAgICBsb2NhdGlvbjogaW5zdHJ1bWVudGF0aW9uLmxvY2F0aW9uLFxuICAgICAgICAgIHJvdXRlUGF0aDogcGF0aCxcbiAgICAgICAgICBtb2R1bGVJZCxcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIGxldCBwcmVwYXJlZFJlc291cmNlOiBQcmVwYXJlZE1hdGNoUm91dGVbJ3ByZXBhcmVkUmVzb3VyY2UnXTtcbiAgICAgIGlmIChwcmVwYXJlICE9IG51bGwpIHtcbiAgICAgICAgcHJlcGFyZWRSZXNvdXJjZSA9IGNyZWF0ZVByZXBhcmVkVmFsdWVSZXNvdXJjZSgoKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHByZXBhcmUoe1xuICAgICAgICAgICAgbWF0Y2gsXG4gICAgICAgICAgICBtYXRjaGVkUm91dGUsXG4gICAgICAgICAgICBjb250ZXh0OiBjb250ZXh0IGFzIFRDb250ZXh0LFxuICAgICAgICAgICAgcmVzb3VyY2VQYWdlLFxuICAgICAgICAgICAgLy8gRml4IE9iamVjdC5jcmVhdGUobnVsbCkgaXNzdWUgaW4gcGF0aC10by1yZWdleHBcbiAgICAgICAgICAgIHZhcmlhYmxlczogeyAuLi5tYXRjaC5wYXJhbXMgfSxcbiAgICAgICAgICAgIHF1ZXJ5OiBxdWVyeSA/PyB7fSxcbiAgICAgICAgICAgIHJhd1F1ZXJ5OlxuICAgICAgICAgICAgICBzZWFyY2hTdGF0ZT8ucmF3UXVlcnkgPz8gKHF1ZXJ5IGFzIFJhd1F1ZXJ5IHwgdW5kZWZpbmVkKSA/PyB7fSxcbiAgICAgICAgICAgIGZpbHRlcnM6IHNlYXJjaFN0YXRlPy5maWx0ZXJzLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgICAgLy8gRWFnZXJseSBldmFsdWF0ZSBwcmVwYXJlIHNvIHRoZSBwcmVwYXJlZCByZXNvdXJjZSBpbW1lZGlhdGVseSByZWZsZWN0c1xuICAgICAgICAvLyBzeW5jIHJlc29sdXRpb24gb3IgYXN5bmMgcGVuZGluZyBzdGF0ZSBmb3IgdGhlIGN1cnJlbnQgcm91dGUgc25hcHNob3QuXG4gICAgICAgIGNvbnN0IHByZXBhcmVkTG9hZCA9IHByZXBhcmVkUmVzb3VyY2UubG9hZCgpO1xuXG4gICAgICAgIGlmIChpbnN0cnVtZW50YXRpb24gIT0gbnVsbCkge1xuICAgICAgICAgIHByZXBhcmVkTG9hZFxuICAgICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBmaW5pc2hlZEF0ID0gRGF0ZS5ub3coKTtcbiAgICAgICAgICAgICAgZW1pdFByZXBhcmVJbnN0cnVtZW50YXRpb24oaW5zdHJ1bWVudGF0aW9uLCB7XG4gICAgICAgICAgICAgICAga2luZDogJ3ByZXBhcmUtY29tcGxldGUnLFxuICAgICAgICAgICAgICAgIHNvdXJjZTogaW5zdHJ1bWVudGF0aW9uLnNvdXJjZSxcbiAgICAgICAgICAgICAgICB0aW1lc3RhbXA6IGZpbmlzaGVkQXQsXG4gICAgICAgICAgICAgICAgbG9jYXRpb246IGluc3RydW1lbnRhdGlvbi5sb2NhdGlvbixcbiAgICAgICAgICAgICAgICByb3V0ZVBhdGg6IHBhdGgsXG4gICAgICAgICAgICAgICAgbW9kdWxlSWQsXG4gICAgICAgICAgICAgICAgZHVyYXRpb25NczogZmluaXNoZWRBdCAtIHByZXBhcmVTdGFydGVkQXQsXG4gICAgICAgICAgICAgICAgaGFzUHJlcGFyZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgc3RhdHVzOiAncmVzb2x2ZWQnLFxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuY2F0Y2goKCkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBmaW5pc2hlZEF0ID0gRGF0ZS5ub3coKTtcbiAgICAgICAgICAgICAgZW1pdFByZXBhcmVJbnN0cnVtZW50YXRpb24oaW5zdHJ1bWVudGF0aW9uLCB7XG4gICAgICAgICAgICAgICAga2luZDogJ3ByZXBhcmUtY29tcGxldGUnLFxuICAgICAgICAgICAgICAgIHNvdXJjZTogaW5zdHJ1bWVudGF0aW9uLnNvdXJjZSxcbiAgICAgICAgICAgICAgICB0aW1lc3RhbXA6IGZpbmlzaGVkQXQsXG4gICAgICAgICAgICAgICAgbG9jYXRpb246IGluc3RydW1lbnRhdGlvbi5sb2NhdGlvbixcbiAgICAgICAgICAgICAgICByb3V0ZVBhdGg6IHBhdGgsXG4gICAgICAgICAgICAgICAgbW9kdWxlSWQsXG4gICAgICAgICAgICAgICAgZHVyYXRpb25NczogZmluaXNoZWRBdCAtIHByZXBhcmVTdGFydGVkQXQsXG4gICAgICAgICAgICAgICAgaGFzUHJlcGFyZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgc3RhdHVzOiAncmVqZWN0ZWQnLFxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHByZXBhcmVkTG9hZC5jYXRjaCgoKSA9PiB7XG4gICAgICAgICAgICAvLyBJbnRlbnRpb25hbGx5IGlnbm9yZWQ6IHJvdXRlIHJlbmRlcmluZy9lcnJvciBib3VuZGFyaWVzIG93biB0aGUgZmFpbHVyZS5cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoaW5zdHJ1bWVudGF0aW9uICE9IG51bGwgJiYgcHJlcGFyZSA9PSBudWxsKSB7XG4gICAgICAgIGNvbnN0IGZpbmlzaGVkQXQgPSBEYXRlLm5vdygpO1xuICAgICAgICBlbWl0UHJlcGFyZUluc3RydW1lbnRhdGlvbihpbnN0cnVtZW50YXRpb24sIHtcbiAgICAgICAgICBraW5kOiAncHJlcGFyZS1jb21wbGV0ZScsXG4gICAgICAgICAgc291cmNlOiBpbnN0cnVtZW50YXRpb24uc291cmNlLFxuICAgICAgICAgIHRpbWVzdGFtcDogZmluaXNoZWRBdCxcbiAgICAgICAgICBsb2NhdGlvbjogaW5zdHJ1bWVudGF0aW9uLmxvY2F0aW9uLFxuICAgICAgICAgIHJvdXRlUGF0aDogcGF0aCxcbiAgICAgICAgICBtb2R1bGVJZCxcbiAgICAgICAgICBkdXJhdGlvbk1zOiBmaW5pc2hlZEF0IC0gcHJlcGFyZVN0YXJ0ZWRBdCxcbiAgICAgICAgICBoYXNQcmVwYXJlZDogZmFsc2UsXG4gICAgICAgICAgc3RhdHVzOiAncmVzb2x2ZWQnLFxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgaWYgKHJlc291cmNlUGFnZSAhPSBudWxsICYmIHJlc291cmNlUGFnZS5nZXQoKSA9PSBudWxsKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgUHJvbWlzZS5yZXNvbHZlKHJlc291cmNlUGFnZS5sb2FkKCkpLmNhdGNoKCgpID0+IHtcbiAgICAgICAgICAgIC8vIEludGVudGlvbmFsbHkgaWdub3JlZDogcm91dGUgcmVuZGVyaW5nL2Vycm9yIGJvdW5kYXJpZXMgb3duIHRoZSBmYWlsdXJlLlxuICAgICAgICAgIH0pO1xuICAgICAgICB9IGNhdGNoIHtcbiAgICAgICAgICAvLyBJbnRlbnRpb25hbGx5IGlnbm9yZWQ6IHJvdXRlIHJlbmRlcmluZy9lcnJvciBib3VuZGFyaWVzIG93biB0aGUgZmFpbHVyZS5cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcm91dGVOb2RlOiByb3V0ZSxcbiAgICAgICAgcGF0aCxcbiAgICAgICAgZnVsbFBhdGg6IHJvdXRlU2VnbWVudD8uZnVsbFBhdGggPz8gcGF0aCxcbiAgICAgICAgc2VnbWVudEtleTpcbiAgICAgICAgICByb3V0ZVNlZ21lbnQ/LmtleSA/PyBidWlsZEhpZ2hsaWdodElkKHBhdGgsIHJvdXRlSW5kZXgsIG1vZHVsZUlkKSxcbiAgICAgICAgcGFyYW1OYW1lczogcm91dGVTZWdtZW50Py5wYXJhbU5hbWVzID8/IFtdLFxuICAgICAgICBzZWdtZW50SW5kZXg6IHJvdXRlSW5kZXgsXG4gICAgICAgIHByZXBhcmVkUmVzb3VyY2UsXG4gICAgICAgIHJlZGlyZWN0VG86IG1hdGNoZWRSb3V0ZS5yZWRpcmVjdFRvID8/IG51bGwsXG4gICAgICAgIHJlbmRlcixcbiAgICAgICAgcmVzb3VyY2VQYWdlLFxuICAgICAgICBzdXNwZW5zZUJvdW5kYXJ5OiBzdXNwZW5zZUJvdW5kYXJ5ID8/ICdpbmhlcml0JyxcbiAgICAgICAgZmFsbGJhY2ssXG4gICAgICAgIGhpZ2hsaWdodElkOiBidWlsZEhpZ2hsaWdodElkKHBhdGgsIHJvdXRlSW5kZXgsIG1vZHVsZUlkKSxcbiAgICAgICAgcXVlcnlTY2hlbWEsXG4gICAgICB9O1xuICAgIH0sXG4gICk7XG5cbiAgcmV0dXJuIHtcbiAgICBtYXRjaCxcbiAgICBzZWdtZW50cyxcbiAgICByb3V0ZXM6IHNlZ21lbnRzLFxuICB9O1xufVxuXG4vKipcbiAqIFJlc29sdmVzIGV2ZXJ5IGFzeW5jIHByZXBhcmUgcmVzb3VyY2UgZm9yIGEgbWF0Y2hlZCByb3V0ZSBoaWVyYXJjaHkuXG4gKlxuICogQHBhcmFtIG1hdGNoIC0gTWF0Y2hlZCByb3V0ZSBkZXNjcmlwdG9yIChvciBgbnVsbGAgd2hlbiBub3RoaW5nIG1hdGNoZWQpLlxuICogQHBhcmFtIHF1ZXJ5IC0gT3B0aW9uYWwgcXVlcnkgb2JqZWN0IGZvcndhcmRlZCB0byBwcmVwYXJlIGZ1bmN0aW9ucy5cbiAqIEBwYXJhbSBpbnN0cnVtZW50YXRpb24gLSBPcHRpb25hbCBpbnN0cnVtZW50YXRpb24gc2luayBmb3IgcHJlcGFyZSBsaWZlY3ljbGUgZXZlbnRzLlxuICogQHBhcmFtIGNvbnRleHQgLSBPcHRpb25hbCByb3V0ZXIgY29udGV4dCBmb3J3YXJkZWQgdG8gcHJlcGFyZSBmdW5jdGlvbnMuXG4gKiBAcmV0dXJucyBQcmVwYXJlZCBoaWVyYXJjaHkgd2l0aCBjb25jcmV0ZSBwcmVwYXJlZCB2YWx1ZXMgaW5zdGVhZCBvZiByZXNvdXJjZXMuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwcmVwYXJlTWF0Y2hBc3luYzxcbiAgVFBhcmFtcyBleHRlbmRzIFBhcmFtRGF0YSxcbiAgVENvbnRleHQgPSB1bmtub3duLFxuPihcbiAgbWF0Y2g6IFJvdXRlck1hdGNoZWRSb3V0ZTxUUGFyYW1zPiB8IG51bGwsXG4gIHF1ZXJ5PzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIGluc3RydW1lbnRhdGlvbj86IFByZXBhcmVJbnN0cnVtZW50YXRpb24sXG4gIGNvbnRleHQ/OiBUQ29udGV4dCxcbik6IFByb21pc2U8UmVzb2x2ZWRQcmVwYXJlZE1hdGNoPFRQYXJhbXMsIFRDb250ZXh0Pj4ge1xuICBjb25zdCBwcmVwYXJlZE1hdGNoID0gcHJlcGFyZU1hdGNoKG1hdGNoLCBxdWVyeSwgaW5zdHJ1bWVudGF0aW9uLCBjb250ZXh0KTtcbiAgY29uc3Qgc2VnbWVudHMgPSBhd2FpdCBQcm9taXNlLmFsbChcbiAgICBwcmVwYXJlZE1hdGNoLnNlZ21lbnRzLm1hcChcbiAgICAgIGFzeW5jIChyb3V0ZSk6IFByb21pc2U8UmVzb2x2ZWRQcmVwYXJlZFJvdXRlU2VnbWVudDxUQ29udGV4dD4+ID0+IHtcbiAgICAgICAgbGV0IHByZXBhcmVkOiB1bmtub3duO1xuICAgICAgICBpZiAocm91dGUucHJlcGFyZWRSZXNvdXJjZSAhPSBudWxsKSB7XG4gICAgICAgICAgcHJlcGFyZWQgPSBhd2FpdCByb3V0ZS5wcmVwYXJlZFJlc291cmNlLmxvYWQoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHJvdXRlTm9kZTogcm91dGUucm91dGVOb2RlLFxuICAgICAgICAgIHBhdGg6IHJvdXRlLnBhdGgsXG4gICAgICAgICAgZnVsbFBhdGg6IHJvdXRlLmZ1bGxQYXRoLFxuICAgICAgICAgIHNlZ21lbnRLZXk6IHJvdXRlLnNlZ21lbnRLZXksXG4gICAgICAgICAgcGFyYW1OYW1lczogcm91dGUucGFyYW1OYW1lcyxcbiAgICAgICAgICBzZWdtZW50SW5kZXg6IHJvdXRlLnNlZ21lbnRJbmRleCxcbiAgICAgICAgICBwcmVwYXJlZCxcbiAgICAgICAgICByZWRpcmVjdFRvOiByb3V0ZS5yZWRpcmVjdFRvLFxuICAgICAgICAgIHJlbmRlcjogcm91dGUucmVuZGVyLFxuICAgICAgICAgIHJlc291cmNlUGFnZTogcm91dGUucmVzb3VyY2VQYWdlLFxuICAgICAgICAgIHN1c3BlbnNlQm91bmRhcnk6IHJvdXRlLnN1c3BlbnNlQm91bmRhcnksXG4gICAgICAgICAgZmFsbGJhY2s6IHJvdXRlLmZhbGxiYWNrLFxuICAgICAgICAgIGhpZ2hsaWdodElkOiByb3V0ZS5oaWdobGlnaHRJZCxcbiAgICAgICAgICBxdWVyeVNjaGVtYTogcm91dGUucXVlcnlTY2hlbWEsXG4gICAgICAgIH07XG4gICAgICB9LFxuICAgICksXG4gICk7XG5cbiAgcmV0dXJuIHtcbiAgICBtYXRjaDogcHJlcGFyZWRNYXRjaC5tYXRjaCxcbiAgICBzZWdtZW50cyxcbiAgICByb3V0ZXM6IHNlZ21lbnRzLFxuICB9O1xufVxuXG4vKipcbiAqIFJvdXRlIGhlbHBlciB0aGF0IHByZXNlcnZlcyBUeXBlU2NyaXB0IGluZmVyZW5jZSAoaW5jbHVkaW5nIGNvbmRpdGlvbmFsIHF1ZXJ5LXNjaGVtYSBpbmZlcmVuY2UpLlxuICpcbiAqIEBwYXJhbSByb3V0ZSAtIFJvdXRlIGRlZmluaXRpb24gdG8gcmV0dXJuIHVuY2hhbmdlZCB3aXRoIGluZmVycmVkIGdlbmVyaWNzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcjxcbiAgVENvbnRleHQgPSB1bmtub3duLFxuICBUUHJlcGFyZWQgZXh0ZW5kcyBQcmVwYXJlUmVzdWx0ID0gUHJlcGFyZVJlc3VsdCxcbiAgVFZhcmlhYmxlcyBleHRlbmRzIFBhcmFtRGF0YSA9IFBhcmFtRGF0YSxcbiAgVFF1ZXJ5IGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgUyBleHRlbmRzIEZpbHRlclNjaGVtYSB8IHVuZGVmaW5lZCA9IEZpbHRlclNjaGVtYSB8IHVuZGVmaW5lZCxcbiAgVENoaWxkcmVuIGV4dGVuZHMgcmVhZG9ubHkgKFJvdXRlTm9kZSB8IFJlZGlyZWN0KVtdIHwgdW5kZWZpbmVkID1cbiAgICByZWFkb25seSAoUm91dGVOb2RlIHwgUmVkaXJlY3QpW10gfCB1bmRlZmluZWQsXG4+KFxuICByb3V0ZTogUm91dGU8VENvbnRleHQsIFRQcmVwYXJlZCwgVFZhcmlhYmxlcywgVFF1ZXJ5LCBTLCBUQ2hpbGRyZW4+LFxuKTogUm91dGU8VENvbnRleHQsIFRQcmVwYXJlZCwgVFZhcmlhYmxlcywgVFF1ZXJ5LCBTLCBUQ2hpbGRyZW4+IHtcbiAgcmV0dXJuIHJvdXRlO1xufVxuIl19
239
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdG9vbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMEJBLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBbUJuRSxNQUFNLGlCQUFpQixHQUFHLENBQ3hCLElBQXVCLEVBQ3ZCLEtBQXdCLEVBQ2YsRUFBRTtJQUNYLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDaEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDbEQsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNqQyxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDakMsT0FBTyxLQUFLLEtBQUssS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELE9BQU8sSUFBSSxLQUFLLEtBQUssQ0FBQztBQUN4QixDQUFDLENBQUM7QUFFRixNQUFNLHFCQUFxQixHQUFHLENBQzVCLFVBQTZCLEVBQzdCLElBQTJCLEVBQzNCLEtBQWdCLEVBQ1AsRUFBRTtJQUNYLElBQUksVUFBVSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUM1QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFDRCxJQUFJLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNqQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFD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QUksS0FBSyxDQUFDLGdCQUFnQixJQUFJLElBQUksRUFBRSxDQUFDO1lBQ25DLFFBQVEsR0FBRyxNQUFNLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNqRCxDQUFDO1FBQ0QsT0FBTztZQUNMLFNBQVMsRUFBRSxLQUFLLENBQUMsU0FBUztZQUMxQixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7WUFDaEIsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO1lBQ3hCLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVTtZQUM1QixVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVU7WUFDNUIsWUFBWSxFQUFFLEtBQUssQ0FBQyxZQUFZO1lBQ2hDLFFBQVE7WUFDUixVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVU7WUFDNUIsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNO1lBQ3BCLFlBQVksRUFBRSxLQUFLLENBQUMsWUFBWTtZQUNoQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsZ0JBQWdCO1lBQ3hDLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTtZQUN4QixXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7WUFDOUIsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXO1NBQy9CLENBQUM7SUFDSixDQUFDLENBQ0YsQ0FDRixDQUFDO0lBRUYsT0FBTztRQUNMLEtBQUssRUFBRSxhQUFhLENBQUMsS0FBSztRQUMxQixRQUFRO1FBQ1IsTUFBTSxFQUFFLFFBQVE7S0FDakIsQ0FBQztBQUNKLENBQUM7QUFPRCxNQUFNLFVBQVUsQ0FBQyxDQVNmLEtBQW1FO0lBRW5FLE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUGFyYW1EYXRhIH0gZnJvbSAncGF0aC10by1yZWdleHAnO1xuaW1wb3J0IHR5cGUgeyBIaXN0b3J5TG9jYXRpb25TbmFwc2hvdCB9IGZyb20gJy4vaGlzdG9yeS90eXBlcy5qcyc7XG5cbmltcG9ydCB7XG4gIHR5cGUgRmlsdGVyU2NoZW1hLFxuICB0eXBlIFByZXBhcmVSZXN1bHQsXG4gIHR5cGUgUHJlcGFyZWRNYXRjaCxcbiAgdHlwZSBQcmVwYXJlZE1hdGNoUm91dGUsXG4gIHR5cGUgUHJlcGFyZWRSb3V0ZVNlZ21lbnQsXG4gIHR5cGUgUmVkaXJlY3QsXG4gIHR5cGUgUmVzb2x2ZWRQcmVwYXJlZE1hdGNoLFxuICB0eXBlIFJlc29sdmVkUHJlcGFyZWRSb3V0ZVNlZ21lbnQsXG4gIHR5cGUgUm91dGUsXG4gIHR5cGUgUm91dGVOb2RlLFxuICB0eXBlIFJvdXRlck1hdGNoZWRSb3V0ZSxcbiAgdHlwZSBSYXdRdWVyeSxcbiAgdHlwZSBVbmtub3duRmlsdGVycyxcbn0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbmltcG9ydCB0eXBlIHtcbiAgUm91dGVyUHJlcGFyZUV2ZW50LFxuICBSb3V0ZXJOYXZpZ2F0aW9uU291cmNlLFxuICBSb3V0ZXJMb2NhdGlvblNuYXBzaG90LFxufSBmcm9tICcuL2luc3RydW1lbnRhdGlvbi9JbnN0cnVtZW50YXRpb24uanMnO1xuXG5pbXBvcnQgdHlwZSB7IEZsYXRSb3V0ZSB9IGZyb20gJy4vYnVpbGRlci5qcyc7XG5pbXBvcnQgeyBjcmVhdGVQcmVwYXJlZFZhbHVlUmVzb3VyY2UgfSBmcm9tICcuL3ByZXBhcmVSZXNvdXJjZS5qcyc7XG5cbnR5cGUgUHJlcGFyZUluc3RydW1lbnRhdGlvbiA9IHtcbiAgZW1pdDogKGV2ZW50OiBSb3V0ZXJQcmVwYXJlRXZlbnQpID0+IHZvaWQ7XG4gIHNvdXJjZTogUm91dGVyTmF2aWdhdGlvblNvdXJjZTtcbiAgbG9jYXRpb246IFJvdXRlckxvY2F0aW9uU25hcHNob3Q7XG59O1xuXG50eXBlIFByZXBhcmVSZXVzZUlucHV0PFRDb250ZXh0PiA9IHtcbiAgcHJldmlvdXNTZWdtZW50cz86IFByZXBhcmVkUm91dGVTZWdtZW50PFRDb250ZXh0PltdO1xuICBwcmV2aW91c1BhcmFtcz86IFBhcmFtRGF0YTtcbiAgc2FtZVNlYXJjaD86IGJvb2xlYW47XG59O1xuXG50eXBlIFByZXBhcmVTZWFyY2hTdGF0ZSA9IHtcbiAgcmF3UXVlcnk/OiBSYXdRdWVyeTtcbiAgZmlsdGVycz86IFVua25vd25GaWx0ZXJzO1xufTtcblxuY29uc3QgaXNQYXJhbVZhbHVlRXF1YWwgPSAoXG4gIGxlZnQ6IFBhcmFtRGF0YVtzdHJpbmddLFxuICByaWdodDogUGFyYW1EYXRhW3N0cmluZ10sXG4pOiBib29sZWFuID0+IHtcbiAgaWYgKEFycmF5LmlzQXJyYXkobGVmdCkgfHwgQXJyYXkuaXNBcnJheShyaWdodCkpIHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkobGVmdCkgfHwgIUFycmF5LmlzQXJyYXkocmlnaHQpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmIChsZWZ0Lmxlbmd0aCAhPT0gcmlnaHQubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiBsZWZ0LmV2ZXJ5KCh2YWx1ZSwgaW5kZXgpID0+IHtcbiAgICAgIHJldHVybiB2YWx1ZSA9PT0gcmlnaHRbaW5kZXhdO1xuICAgIH0pO1xuICB9XG4gIHJldHVybiBsZWZ0ID09PSByaWdodDtcbn07XG5cbmNvbnN0IGFyZVNlZ21lbnRQYXJhbXNFcXVhbCA9IChcbiAgcGFyYW1OYW1lczogcmVhZG9ubHkgc3RyaW5nW10sXG4gIGxlZnQ6IFBhcmFtRGF0YSB8IHVuZGVmaW5lZCxcbiAgcmlnaHQ6IFBhcmFtRGF0YSxcbik6IGJvb2xlYW4gPT4ge1xuICBpZiAocGFyYW1OYW1lcy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICBpZiAobGVmdCA9PSBudWxsKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHJldHVybiBwYXJhbU5hbWVzLmV2ZXJ5KChwYXJhbU5hbWUpID0+IHtcbiAgICByZXR1cm4gaXNQYXJhbVZhbHVlRXF1YWwobGVmdFtwYXJhbU5hbWVdLCByaWdodFtwYXJhbU5hbWVdKTtcbiAgfSk7XG59O1xuXG4vKiogRW1pdHMgcHJlcGFyZSBpbnN0cnVtZW50YXRpb24gd2l0aG91dCBhbGxvd2luZyBpbnN0cnVtZW50YXRpb24gZmFpbHVyZXMgdG8gYWZmZWN0IHJvdXRpbmcuICovXG5mdW5jdGlvbiBlbWl0UHJlcGFyZUluc3RydW1lbnRhdGlvbihcbiAgaW5zdHJ1bWVudGF0aW9uOiBQcmVwYXJlSW5zdHJ1bWVudGF0aW9uIHwgdW5kZWZpbmVkLFxuICBldmVudDogUm91dGVyUHJlcGFyZUV2ZW50LFxuKTogdm9pZCB7XG4gIGlmIChpbnN0cnVtZW50YXRpb24gPT0gbnVsbCkge1xuICAgIHJldHVybjtcbiAgfVxuICB0cnkge1xuICAgIGluc3RydW1lbnRhdGlvbi5lbWl0KGV2ZW50KTtcbiAgfSBjYXRjaCB7XG4gICAgLy8gSW5zdHJ1bWVudGF0aW9uIG11c3QgbmV2ZXIgYnJlYWsgcm91dGluZyBvciBwcmVwYXJlIGxpZmVjeWNsZS5cbiAgfVxufVxuXG4vKipcbiAqIEZpbmRzIHRoZSBmaXJzdCBmbGF0IHJvdXRlIG1hdGNoaW5nIHRoZSBwcm92aWRlZCBsb2NhdGlvbi5cbiAqXG4gKiBAcGFyYW0gcm91dGVzIC0gRmxhdHRlbmVkIHJvdXRlIGxpc3QgdG8gZXZhbHVhdGUuXG4gKiBAcGFyYW0gbG9jYXRpb24gLSBCcm93c2VyIGxvY2F0aW9uIHdob3NlIHBhdGhuYW1lIHNob3VsZCBiZSBtYXRjaGVkLlxuICogQHJldHVybnMgTWF0Y2hlZCByb3V0ZSB3aXRoIHBhcmFtcyBvciBgbnVsbGAgaWYgbm9uZSBtYXRjaC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldE1hdGNoZWRSb3V0ZTxUUGFyYW1zIGV4dGVuZHMgUGFyYW1EYXRhPihcbiAgcm91dGVzOiBGbGF0Um91dGU8VFBhcmFtcz5bXSxcbiAgbG9jYXRpb246IEhpc3RvcnlMb2NhdGlvblNuYXBzaG90LFxuKTogUm91dGVyTWF0Y2hlZFJvdXRlPFRQYXJhbXM+IHwgbnVsbCB7XG4gIGZvciAoY29uc3Qgcm91dGUgb2Ygcm91dGVzKSB7XG4gICAgY29uc3QgbWF0Y2ggPSByb3V0ZS5tYXRjaEZ1bmN0aW9uKGxvY2F0aW9uLnBhdGhuYW1lKTtcbiAgICBpZiAobWF0Y2ggIT09IGZhbHNlKSB7XG4gICAgICBjb25zdCB7IHBhdGgsIHBhcmFtcyB9ID0gbWF0Y2g7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBtYXRjaCxcbiAgICAgICAgcm91dGUsXG4gICAgICAgIHBhdGgsXG4gICAgICAgIHBhcmFtcyxcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbi8qKlxuICogRGVyaXZlcyBhIGRldGVybWluaXN0aWMgaWRlbnRpZmllciB0aGF0IGxpbmtzIHByZXBhcmVkIHJvdXRlcyB0byBET00gbWFya2Vycy5cbiAqL1xuZnVuY3Rpb24gYnVpbGRIaWdobGlnaHRJZChcbiAgcm91dGVQYXRoOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gIGluZGV4OiBudW1iZXIsXG4gIG1vZHVsZUlkPzogc3RyaW5nLFxuKTogc3RyaW5nIHtcbiAgY29uc3QgcGFydHM6IHN0cmluZ1tdID0gW107XG4gIGlmICh0eXBlb2YgbW9kdWxlSWQgPT09ICdzdHJpbmcnICYmIG1vZHVsZUlkLnRyaW0oKSAhPT0gJycpIHtcbiAgICBwYXJ0cy5wdXNoKGBtb2R1bGU6JHttb2R1bGVJZH1gKTtcbiAgfVxuICBpZiAodHlwZW9mIHJvdXRlUGF0aCA9PT0gJ3N0cmluZycgJiYgcm91dGVQYXRoLnRyaW0oKSAhPT0gJycpIHtcbiAgICBwYXJ0cy5wdXNoKGBwYXRoOiR7cm91dGVQYXRofWApO1xuICB9XG4gIGlmIChwYXJ0cy5sZW5ndGggPT09IDApIHtcbiAgICBwYXJ0cy5wdXNoKCdyb3V0ZScpO1xuICB9XG4gIHBhcnRzLnB1c2goYGluZGV4OiR7aW5kZXh9YCk7XG4gIHJldHVybiBwYXJ0cy5qb2luKCd8Jyk7XG59XG5cbmV4cG9ydCBjb25zdCBfX3Rlc3RUb29scyA9IHtcbiAgYnVpbGRIaWdobGlnaHRJZCxcbiAgYXJlU2VnbWVudFBhcmFtc0VxdWFsLFxufSBhcyBjb25zdDtcblxuLyoqXG4gKiBQcmVwYXJlcyBhIG1hdGNoZWQgcm91dGUgYnkgZXhlY3V0aW5nIGBwcmVwYXJlYCBjYWxsYmFja3MgYW5kIHJlc29sdmluZyByZXNvdXJjZSBwYWdlcy5cbiAqXG4gKiBAcGFyYW0gbWF0Y2ggLSBNYXRjaGVkIHJvdXRlIGRlc2NyaXB0b3IgKG9yIGBudWxsYCB3aGVuIG5vdGhpbmcgbWF0Y2hlZCkuXG4gKiBAcGFyYW0gcXVlcnkgLSBPcHRpb25hbCBxdWVyeSBvYmplY3QgZm9yd2FyZGVkIHRvIHByZXBhcmUgZnVuY3Rpb25zLlxuICogQHBhcmFtIGNvbnRleHQgLSBPcHRpb25hbCByb3V0ZXIgY29udGV4dCBmb3J3YXJkZWQgdG8gcHJlcGFyZSBmdW5jdGlvbnMuXG4gKiBAcmV0dXJucyBQcmVwYXJlZCBoaWVyYXJjaHkgcmVhZHkgZm9yIHRoZSByZW5kZXJlci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByZXBhcmVNYXRjaDxUUGFyYW1zIGV4dGVuZHMgUGFyYW1EYXRhLCBUQ29udGV4dCA9IHVua25vd24+KFxuICBtYXRjaDogUm91dGVyTWF0Y2hlZFJvdXRlPFRQYXJhbXM+IHwgbnVsbCxcbiAgcXVlcnk/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgaW5zdHJ1bWVudGF0aW9uPzogUHJlcGFyZUluc3RydW1lbnRhdGlvbixcbiAgY29udGV4dD86IFRDb250ZXh0LFxuICByZXVzZT86IFByZXBhcmVSZXVzZUlucHV0PFRDb250ZXh0PixcbiAgc2VhcmNoU3RhdGU/OiBQcmVwYXJlU2VhcmNoU3RhdGUsXG4pOiBQcmVwYXJlZE1hdGNoPFRQYXJhbXMsIFRDb250ZXh0PiB7XG4gIC8vIE5PVEU6IFJ1bnRpbWUgcmV0YWlucyBhIGdlbmVyaWMgUHJlcGFyZWRSZXN1bHQ7IHR5cGUtbGV2ZWwgbmFycm93aW5nIGlzIGFjaGlldmVkIGV4dGVybmFsbHlcbiAgLy8gdGhyb3VnaCB0aGUgcm91dGUgdW5pb24gYW5kIFByZXBhcmVkQWNjZXNzIGhlbHBlcnMuIFdlIGludGVudGlvbmFsbHkgYXZvaWQgaW5qZWN0aW5nXG4gIC8vIGdlbmVyaWMgcGFyYW1ldGVycyBoZXJlIHRvIGtlZXAgcnVudGltZSBsaWdodHdlaWdodCB3aGlsZSBzdGlsbCBlbmFibGluZyBjb21waWxlLXRpbWVcbiAgLy8gZGlzY3JpbWluYXRpb24gaW4gdXNlcmxhbmQgdmlhIGNyZWF0ZVJvdXRlciBnZW5lcmljcy5cbiAgaWYgKG1hdGNoID09IG51bGwpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbWF0Y2gsXG4gICAgICBzZWdtZW50czogW10sXG4gICAgICByb3V0ZXM6IFtdLFxuICAgIH07XG4gIH1cblxuICBjb25zdCBtYXRjaGVkUm91dGUgPSBtYXRjaC5yb3V0ZTtcblxuICBjb25zdCBzZWdtZW50czogUHJlcGFyZWRSb3V0ZVNlZ21lbnQ8VENvbnRleHQ+W10gPSBtYXRjaC5yb3V0ZS5yb3V0ZXMubWFwKFxuICAgIChyb3V0ZSwgcm91dGVJbmRleCkgPT4ge1xuICAgICAgY29uc3Qge1xuICAgICAgICBwYXRoLFxuICAgICAgICBwcmVwYXJlLFxuICAgICAgICBxdWVyeVNjaGVtYSxcbiAgICAgICAgcmVzb3VyY2VQYWdlLFxuICAgICAgICByZW5kZXIsXG4gICAgICAgIHN1c3BlbnNlQm91bmRhcnksXG4gICAgICAgIGZhbGxiYWNrLFxuICAgICAgfSA9IHJvdXRlO1xuICAgICAgY29uc3Qgcm91dGVTZWdtZW50ID0gbWF0Y2gucm91dGUucm91dGVTZWdtZW50cz8uW3JvdXRlSW5kZXhdO1xuICAgICAgY29uc3QgcHJldmlvdXNTZWdtZW50ID0gcmV1c2U/LnByZXZpb3VzU2VnbWVudHM/Lltyb3V0ZUluZGV4XTtcbiAgICAgIGlmIChcbiAgICAgICAgcHJldmlvdXNTZWdtZW50Py5yb3V0ZU5vZGUgPT09IHJvdXRlICYmXG4gICAgICAgIChyZXVzZT8uc2FtZVNlYXJjaCA9PT0gdHJ1ZSB8fFxuICAgICAgICAgIHJvdXRlLnByZXBhcmVTZWFyY2hCZWhhdmlvciA9PT0gJ3BhdGgnIHx8XG4gICAgICAgICAgcHJlcGFyZSA9PSBudWxsKSAmJlxuICAgICAgICBhcmVTZWdtZW50UGFyYW1zRXF1YWwoXG4gICAgICAgICAgcm91dGVTZWdtZW50Py5wYXJhbU5hbWVzID8/IFtdLFxuICAgICAgICAgIHJldXNlPy5wcmV2aW91c1BhcmFtcyxcbiAgICAgICAgICBtYXRjaC5wYXJhbXMsXG4gICAgICAgIClcbiAgICAgICkge1xuICAgICAgICByZXR1cm4gcHJldmlvdXNTZWdtZW50O1xuICAgICAgfVxuXG4gICAgICBsZXQgbW9kdWxlSWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAgIGlmIChcbiAgICAgICAgcmVzb3VyY2VQYWdlICE9IG51bGwgJiZcbiAgICAgICAgdHlwZW9mIHJlc291cmNlUGFnZS5nZXRNb2R1bGVJZCA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgKSB7XG4gICAgICAgIGNvbnN0IHJlc29sdmVkTW9kdWxlSWQgPSByZXNvdXJjZVBhZ2UuZ2V0TW9kdWxlSWQoKTtcbiAgICAgICAgaWYgKHR5cGVvZiByZXNvbHZlZE1vZHVsZUlkID09PSAnc3RyaW5nJykge1xuICAgICAgICAgIG1vZHVsZUlkID0gcmVzb2x2ZWRNb2R1bGVJZDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBsZXQgcHJlcGFyZVN0YXJ0ZWRBdCA9IDA7XG4gICAgICBpZiAoaW5zdHJ1bWVudGF0aW9uICE9IG51bGwpIHtcbiAgICAgICAgcHJlcGFyZVN0YXJ0ZWRBdCA9IERhdGUubm93KCk7XG4gICAgICAgIGVtaXRQcmVwYXJlSW5zdHJ1bWVudGF0aW9uKGluc3RydW1lbnRhdGlvbiwge1xuICAgICAgICAgIGtpbmQ6ICdwcmVwYXJlLXN0YXJ0JyxcbiAgICAgICAgICBzb3VyY2U6IGluc3RydW1lbnRhdGlvbi5zb3VyY2UsXG4gICAgICAgICAgdGltZXN0YW1wOiBwcmVwYXJlU3RhcnRlZEF0LFxuICAgICAgICAgIGxvY2F0aW9uOiBpbnN0cnVtZW50YXRpb24ubG9jYXRpb24sXG4gICAgICAgICAgcm91dGVQYXRoOiBwYXRoLFxuICAgICAgICAgIG1vZHVsZUlkLFxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgbGV0IHByZXBhcmVkUmVzb3VyY2U6IFByZXBhcmVkTWF0Y2hSb3V0ZVsncHJlcGFyZWRSZXNvdXJjZSddO1xuICAgICAgaWYgKHByZXBhcmUgIT0gbnVsbCkge1xuICAgICAgICBwcmVwYXJlZFJlc291cmNlID0gY3JlYXRlUHJlcGFyZWRWYWx1ZVJlc291cmNlKCgpID0+IHtcbiAgICAgICAgICByZXR1cm4gcHJlcGFyZSh7XG4gICAgICAgICAgICBtYXRjaCxcbiAgICAgICAgICAgIG1hdGNoZWRSb3V0ZSxcbiAgICAgICAgICAgIGNvbnRleHQsXG4gICAgICAgICAgICByZXNvdXJjZVBhZ2UsXG4gICAgICAgICAgICAvLyBGaXggT2JqZWN0LmNyZWF0ZShudWxsKSBpc3N1ZSBpbiBwYXRoLXRvLXJlZ2V4cFxuICAgICAgICAgICAgdmFyaWFibGVzOiB7IC4uLm1hdGNoLnBhcmFtcyB9LFxuICAgICAgICAgICAgcXVlcnk6IHF1ZXJ5ID8/IHt9LFxuICAgICAgICAgICAgcmF3UXVlcnk6XG4gICAgICAgICAgICAgIHNlYXJjaFN0YXRlPy5yYXdRdWVyeSA/PyAocXVlcnkgYXMgUmF3UXVlcnkgfCB1bmRlZmluZWQpID8/IHt9LFxuICAgICAgICAgICAgZmlsdGVyczogc2VhcmNoU3RhdGU/LmZpbHRlcnMsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgICAvLyBFYWdlcmx5IGV2YWx1YXRlIHByZXBhcmUgc28gdGhlIHByZXBhcmVkIHJlc291cmNlIGltbWVkaWF0ZWx5IHJlZmxlY3RzXG4gICAgICAgIC8vIHN5bmMgcmVzb2x1dGlvbiBvciBhc3luYyBwZW5kaW5nIHN0YXRlIGZvciB0aGUgY3VycmVudCByb3V0ZSBzbmFwc2hvdC5cbiAgICAgICAgY29uc3QgcHJlcGFyZWRMb2FkID0gcHJlcGFyZWRSZXNvdXJjZS5sb2FkKCk7XG5cbiAgICAgICAgaWYgKGluc3RydW1lbnRhdGlvbiAhPSBudWxsKSB7XG4gICAgICAgICAgcHJlcGFyZWRMb2FkXG4gICAgICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGZpbmlzaGVkQXQgPSBEYXRlLm5vdygpO1xuICAgICAgICAgICAgICBlbWl0UHJlcGFyZUluc3RydW1lbnRhdGlvbihpbnN0cnVtZW50YXRpb24sIHtcbiAgICAgICAgICAgICAgICBraW5kOiAncHJlcGFyZS1jb21wbGV0ZScsXG4gICAgICAgICAgICAgICAgc291cmNlOiBpbnN0cnVtZW50YXRpb24uc291cmNlLFxuICAgICAgICAgICAgICAgIHRpbWVzdGFtcDogZmluaXNoZWRBdCxcbiAgICAgICAgICAgICAgICBsb2NhdGlvbjogaW5zdHJ1bWVudGF0aW9uLmxvY2F0aW9uLFxuICAgICAgICAgICAgICAgIHJvdXRlUGF0aDogcGF0aCxcbiAgICAgICAgICAgICAgICBtb2R1bGVJZCxcbiAgICAgICAgICAgICAgICBkdXJhdGlvbk1zOiBmaW5pc2hlZEF0IC0gcHJlcGFyZVN0YXJ0ZWRBdCxcbiAgICAgICAgICAgICAgICBoYXNQcmVwYXJlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICBzdGF0dXM6ICdyZXNvbHZlZCcsXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5jYXRjaCgoKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGZpbmlzaGVkQXQgPSBEYXRlLm5vdygpO1xuICAgICAgICAgICAgICBlbWl0UHJlcGFyZUluc3RydW1lbnRhdGlvbihpbnN0cnVtZW50YXRpb24sIHtcbiAgICAgICAgICAgICAgICBraW5kOiAncHJlcGFyZS1jb21wbGV0ZScsXG4gICAgICAgICAgICAgICAgc291cmNlOiBpbnN0cnVtZW50YXRpb24uc291cmNlLFxuICAgICAgICAgICAgICAgIHRpbWVzdGFtcDogZmluaXNoZWRBdCxcbiAgICAgICAgICAgICAgICBsb2NhdGlvbjogaW5zdHJ1bWVudGF0aW9uLmxvY2F0aW9uLFxuICAgICAgICAgICAgICAgIHJvdXRlUGF0aDogcGF0aCxcbiAgICAgICAgICAgICAgICBtb2R1bGVJZCxcbiAgICAgICAgICAgICAgICBkdXJhdGlvbk1zOiBmaW5pc2hlZEF0IC0gcHJlcGFyZVN0YXJ0ZWRBdCxcbiAgICAgICAgICAgICAgICBoYXNQcmVwYXJlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICBzdGF0dXM6ICdyZWplY3RlZCcsXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcHJlcGFyZWRMb2FkLmNhdGNoKCgpID0+IHtcbiAgICAgICAgICAgIC8vIEludGVudGlvbmFsbHkgaWdub3JlZDogcm91dGUgcmVuZGVyaW5nL2Vycm9yIGJvdW5kYXJpZXMgb3duIHRoZSBmYWlsdXJlLlxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChpbnN0cnVtZW50YXRpb24gIT0gbnVsbCAmJiBwcmVwYXJlID09IG51bGwpIHtcbiAgICAgICAgY29uc3QgZmluaXNoZWRBdCA9IERhdGUubm93KCk7XG4gICAgICAgIGVtaXRQcmVwYXJlSW5zdHJ1bWVudGF0aW9uKGluc3RydW1lbnRhdGlvbiwge1xuICAgICAgICAgIGtpbmQ6ICdwcmVwYXJlLWNvbXBsZXRlJyxcbiAgICAgICAgICBzb3VyY2U6IGluc3RydW1lbnRhdGlvbi5zb3VyY2UsXG4gICAgICAgICAgdGltZXN0YW1wOiBmaW5pc2hlZEF0LFxuICAgICAgICAgIGxvY2F0aW9uOiBpbnN0cnVtZW50YXRpb24ubG9jYXRpb24sXG4gICAgICAgICAgcm91dGVQYXRoOiBwYXRoLFxuICAgICAgICAgIG1vZHVsZUlkLFxuICAgICAgICAgIGR1cmF0aW9uTXM6IGZpbmlzaGVkQXQgLSBwcmVwYXJlU3RhcnRlZEF0LFxuICAgICAgICAgIGhhc1ByZXBhcmVkOiBmYWxzZSxcbiAgICAgICAgICBzdGF0dXM6ICdyZXNvbHZlZCcsXG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBpZiAocmVzb3VyY2VQYWdlICE9IG51bGwgJiYgcmVzb3VyY2VQYWdlLmdldCgpID09IG51bGwpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBQcm9taXNlLnJlc29sdmUocmVzb3VyY2VQYWdlLmxvYWQoKSkuY2F0Y2goKCkgPT4ge1xuICAgICAgICAgICAgLy8gSW50ZW50aW9uYWxseSBpZ25vcmVkOiByb3V0ZSByZW5kZXJpbmcvZXJyb3IgYm91bmRhcmllcyBvd24gdGhlIGZhaWx1cmUuXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gY2F0Y2gge1xuICAgICAgICAgIC8vIEludGVudGlvbmFsbHkgaWdub3JlZDogcm91dGUgcmVuZGVyaW5nL2Vycm9yIGJvdW5kYXJpZXMgb3duIHRoZSBmYWlsdXJlLlxuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4ge1xuICAgICAgICByb3V0ZU5vZGU6IHJvdXRlLFxuICAgICAgICBwYXRoLFxuICAgICAgICBmdWxsUGF0aDogcm91dGVTZWdtZW50Py5mdWxsUGF0aCA/PyBwYXRoLFxuICAgICAgICBzZWdtZW50S2V5OlxuICAgICAgICAgIHJvdXRlU2VnbWVudD8ua2V5ID8/IGJ1aWxkSGlnaGxpZ2h0SWQocGF0aCwgcm91dGVJbmRleCwgbW9kdWxlSWQpLFxuICAgICAgICBwYXJhbU5hbWVzOiByb3V0ZVNlZ21lbnQ/LnBhcmFtTmFtZXMgPz8gW10sXG4gICAgICAgIHNlZ21lbnRJbmRleDogcm91dGVJbmRleCxcbiAgICAgICAgcHJlcGFyZWRSZXNvdXJjZSxcbiAgICAgICAgcmVkaXJlY3RUbzogbWF0Y2hlZFJvdXRlLnJlZGlyZWN0VG8gPz8gbnVsbCxcbiAgICAgICAgcmVuZGVyLFxuICAgICAgICByZXNvdXJjZVBhZ2UsXG4gICAgICAgIHN1c3BlbnNlQm91bmRhcnk6IHN1c3BlbnNlQm91bmRhcnkgPz8gJ2luaGVyaXQnLFxuICAgICAgICBmYWxsYmFjayxcbiAgICAgICAgaGlnaGxpZ2h0SWQ6IGJ1aWxkSGlnaGxpZ2h0SWQocGF0aCwgcm91dGVJbmRleCwgbW9kdWxlSWQpLFxuICAgICAgICBxdWVyeVNjaGVtYSxcbiAgICAgIH07XG4gICAgfSxcbiAgKTtcblxuICByZXR1cm4ge1xuICAgIG1hdGNoLFxuICAgIHNlZ21lbnRzLFxuICAgIHJvdXRlczogc2VnbWVudHMsXG4gIH07XG59XG5cbi8qKlxuICogUmVzb2x2ZXMgZXZlcnkgYXN5bmMgcHJlcGFyZSByZXNvdXJjZSBmb3IgYSBtYXRjaGVkIHJvdXRlIGhpZXJhcmNoeS5cbiAqXG4gKiBAcGFyYW0gbWF0Y2ggLSBNYXRjaGVkIHJvdXRlIGRlc2NyaXB0b3IgKG9yIGBudWxsYCB3aGVuIG5vdGhpbmcgbWF0Y2hlZCkuXG4gKiBAcGFyYW0gcXVlcnkgLSBPcHRpb25hbCBxdWVyeSBvYmplY3QgZm9yd2FyZGVkIHRvIHByZXBhcmUgZnVuY3Rpb25zLlxuICogQHBhcmFtIGluc3RydW1lbnRhdGlvbiAtIE9wdGlvbmFsIGluc3RydW1lbnRhdGlvbiBzaW5rIGZvciBwcmVwYXJlIGxpZmVjeWNsZSBldmVudHMuXG4gKiBAcGFyYW0gY29udGV4dCAtIE9wdGlvbmFsIHJvdXRlciBjb250ZXh0IGZvcndhcmRlZCB0byBwcmVwYXJlIGZ1bmN0aW9ucy5cbiAqIEByZXR1cm5zIFByZXBhcmVkIGhpZXJhcmNoeSB3aXRoIGNvbmNyZXRlIHByZXBhcmVkIHZhbHVlcyBpbnN0ZWFkIG9mIHJlc291cmNlcy5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHByZXBhcmVNYXRjaEFzeW5jPFxuICBUUGFyYW1zIGV4dGVuZHMgUGFyYW1EYXRhLFxuICBUQ29udGV4dCA9IHVua25vd24sXG4+KFxuICBtYXRjaDogUm91dGVyTWF0Y2hlZFJvdXRlPFRQYXJhbXM+IHwgbnVsbCxcbiAgcXVlcnk/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgaW5zdHJ1bWVudGF0aW9uPzogUHJlcGFyZUluc3RydW1lbnRhdGlvbixcbiAgY29udGV4dD86IFRDb250ZXh0LFxuKTogUHJvbWlzZTxSZXNvbHZlZFByZXBhcmVkTWF0Y2g8VFBhcmFtcywgVENvbnRleHQ+PiB7XG4gIGNvbnN0IHByZXBhcmVkTWF0Y2ggPSBwcmVwYXJlTWF0Y2gobWF0Y2gsIHF1ZXJ5LCBpbnN0cnVtZW50YXRpb24sIGNvbnRleHQpO1xuICBjb25zdCBzZWdtZW50cyA9IGF3YWl0IFByb21pc2UuYWxsKFxuICAgIHByZXBhcmVkTWF0Y2guc2VnbWVudHMubWFwKFxuICAgICAgYXN5bmMgKHJvdXRlKTogUHJvbWlzZTxSZXNvbHZlZFByZXBhcmVkUm91dGVTZWdtZW50PFRDb250ZXh0Pj4gPT4ge1xuICAgICAgICBsZXQgcHJlcGFyZWQ6IHVua25vd247XG4gICAgICAgIGlmIChyb3V0ZS5wcmVwYXJlZFJlc291cmNlICE9IG51bGwpIHtcbiAgICAgICAgICBwcmVwYXJlZCA9IGF3YWl0IHJvdXRlLnByZXBhcmVkUmVzb3VyY2UubG9hZCgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgcm91dGVOb2RlOiByb3V0ZS5yb3V0ZU5vZGUsXG4gICAgICAgICAgcGF0aDogcm91dGUucGF0aCxcbiAgICAgICAgICBmdWxsUGF0aDogcm91dGUuZnVsbFBhdGgsXG4gICAgICAgICAgc2VnbWVudEtleTogcm91dGUuc2VnbWVudEtleSxcbiAgICAgICAgICBwYXJhbU5hbWVzOiByb3V0ZS5wYXJhbU5hbWVzLFxuICAgICAgICAgIHNlZ21lbnRJbmRleDogcm91dGUuc2VnbWVudEluZGV4LFxuICAgICAgICAgIHByZXBhcmVkLFxuICAgICAgICAgIHJlZGlyZWN0VG86IHJvdXRlLnJlZGlyZWN0VG8sXG4gICAgICAgICAgcmVuZGVyOiByb3V0ZS5yZW5kZXIsXG4gICAgICAgICAgcmVzb3VyY2VQYWdlOiByb3V0ZS5yZXNvdXJjZVBhZ2UsXG4gICAgICAgICAgc3VzcGVuc2VCb3VuZGFyeTogcm91dGUuc3VzcGVuc2VCb3VuZGFyeSxcbiAgICAgICAgICBmYWxsYmFjazogcm91dGUuZmFsbGJhY2ssXG4gICAgICAgICAgaGlnaGxpZ2h0SWQ6IHJvdXRlLmhpZ2hsaWdodElkLFxuICAgICAgICAgIHF1ZXJ5U2NoZW1hOiByb3V0ZS5xdWVyeVNjaGVtYSxcbiAgICAgICAgfTtcbiAgICAgIH0sXG4gICAgKSxcbiAgKTtcblxuICByZXR1cm4ge1xuICAgIG1hdGNoOiBwcmVwYXJlZE1hdGNoLm1hdGNoLFxuICAgIHNlZ21lbnRzLFxuICAgIHJvdXRlczogc2VnbWVudHMsXG4gIH07XG59XG5cbi8qKlxuICogUm91dGUgaGVscGVyIHRoYXQgcHJlc2VydmVzIFR5cGVTY3JpcHQgaW5mZXJlbmNlIChpbmNsdWRpbmcgY29uZGl0aW9uYWwgcXVlcnktc2NoZW1hIGluZmVyZW5jZSkuXG4gKlxuICogQHBhcmFtIHJvdXRlIC0gUm91dGUgZGVmaW5pdGlvbiB0byByZXR1cm4gdW5jaGFuZ2VkIHdpdGggaW5mZXJyZWQgZ2VuZXJpY3MuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByPFxuICBUQ29udGV4dCA9IHVua25vd24sXG4gIFRQcmVwYXJlZCBleHRlbmRzIFByZXBhcmVSZXN1bHQgPSBQcmVwYXJlUmVzdWx0LFxuICBUVmFyaWFibGVzIGV4dGVuZHMgUGFyYW1EYXRhID0gUGFyYW1EYXRhLFxuICBUUXVlcnkgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICBTIGV4dGVuZHMgRmlsdGVyU2NoZW1hIHwgdW5kZWZpbmVkID0gRmlsdGVyU2NoZW1hIHwgdW5kZWZpbmVkLFxuICBUQ2hpbGRyZW4gZXh0ZW5kcyByZWFkb25seSAoUm91dGVOb2RlIHwgUmVkaXJlY3QpW10gfCB1bmRlZmluZWQgPVxuICAgIHJlYWRvbmx5IChSb3V0ZU5vZGUgfCBSZWRpcmVjdClbXSB8IHVuZGVmaW5lZCxcbj4oXG4gIHJvdXRlOiBSb3V0ZTxUQ29udGV4dCwgVFByZXBhcmVkLCBUVmFyaWFibGVzLCBUUXVlcnksIFMsIFRDaGlsZHJlbj4sXG4pOiBSb3V0ZTxUQ29udGV4dCwgVFByZXBhcmVkLCBUVmFyaWFibGVzLCBUUXVlcnksIFMsIFRDaGlsZHJlbj4ge1xuICByZXR1cm4gcm91dGU7XG59XG4iXX0=