@kepler.gl/utils 3.0.0-alpha.0 → 3.0.0-alpha.1

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 (55) hide show
  1. package/dist/aggregate-utils.js +2 -2
  2. package/dist/color-utils.d.ts +4 -0
  3. package/dist/color-utils.js +28 -3
  4. package/dist/data-container-interface.js +1 -1
  5. package/dist/data-container-utils.js +2 -2
  6. package/dist/data-row.js +2 -2
  7. package/dist/data-scale-utils.js +4 -4
  8. package/dist/data-utils.d.ts +10 -12
  9. package/dist/data-utils.js +120 -44
  10. package/dist/dataset-utils.d.ts +12 -1
  11. package/dist/dataset-utils.js +74 -9
  12. package/dist/dom-to-image.d.ts +14 -14
  13. package/dist/dom-to-image.js +23 -69
  14. package/dist/dom-utils.d.ts +3 -0
  15. package/dist/dom-utils.js +29 -3
  16. package/dist/effect-utils.d.ts +13 -0
  17. package/dist/effect-utils.js +129 -0
  18. package/dist/export-map-html.js +2 -2
  19. package/dist/export-utils.js +13 -4
  20. package/dist/filter-utils.d.ts +11 -9
  21. package/dist/filter-utils.js +66 -36
  22. package/dist/format.d.ts +1 -0
  23. package/dist/format.js +33 -0
  24. package/dist/gl-utils.js +2 -2
  25. package/dist/h3-utils.d.ts +2 -1
  26. package/dist/h3-utils.js +5 -4
  27. package/dist/index.d.ts +14 -9
  28. package/dist/index.js +230 -555
  29. package/dist/indexed-data-container.js +2 -2
  30. package/dist/locale-utils.js +2 -2
  31. package/dist/map-info-utils.js +2 -2
  32. package/dist/map-style-utils/mapbox-gl-style-editor.d.ts +2 -1
  33. package/dist/map-style-utils/mapbox-gl-style-editor.js +9 -3
  34. package/dist/map-style-utils/mapbox-utils.js +2 -2
  35. package/dist/map-utils.d.ts +8 -2
  36. package/dist/map-utils.js +24 -7
  37. package/dist/mapbox-utils.js +2 -2
  38. package/dist/noop.d.ts +1 -0
  39. package/dist/noop.js +29 -0
  40. package/dist/notifications-utils.d.ts +14 -26
  41. package/dist/notifications-utils.js +9 -11
  42. package/dist/observe-dimensions.js +10 -6
  43. package/dist/plot.d.ts +6 -0
  44. package/dist/plot.js +46 -0
  45. package/dist/projection-utils.d.ts +9 -0
  46. package/dist/projection-utils.js +36 -2
  47. package/dist/row-data-container.js +2 -2
  48. package/dist/searcher-utils.js +2 -2
  49. package/dist/split-map-utils.d.ts +4 -1
  50. package/dist/split-map-utils.js +10 -4
  51. package/dist/time.d.ts +16 -0
  52. package/dist/time.js +105 -0
  53. package/dist/utils.d.ts +36 -10
  54. package/dist/utils.js +38 -6
  55. package/package.json +11 -11
@@ -1,4 +1,4 @@
1
- // Copyright (c) 2022 Uber Technologies, Inc.
1
+ // Copyright (c) 2023 Uber Technologies, Inc.
2
2
  //
3
3
  // Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  // of this software and associated documentation files (the "Software"), to deal
@@ -71,12 +71,16 @@ function getObserverRegistry() {
71
71
  });
72
72
  _observerRegistry = {
73
73
  subscribe: function subscribe(target, callback) {
74
- resizeObserver.observe(target);
75
- callbacks.set(target, callback);
74
+ if (target instanceof Element) {
75
+ resizeObserver.observe(target);
76
+ callbacks.set(target, callback);
77
+ }
76
78
  },
77
79
  unsubscribe: function unsubscribe(target) {
78
- resizeObserver.unobserve(target);
79
- callbacks["delete"](target);
80
+ if (target instanceof Element) {
81
+ resizeObserver.unobserve(target);
82
+ callbacks["delete"](target);
83
+ }
80
84
  }
81
85
  };
82
86
  }
@@ -164,4 +168,4 @@ function useDimensions() {
164
168
  }, [throttleDelay]);
165
169
  return [ref, size];
166
170
  }
167
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9vYnNlcnZlLWRpbWVuc2lvbnMudHMiXSwibmFtZXMiOlsiREVGQVVMVF9USFJPVFRMRV9ERUxBWSIsIl9vYnNlcnZlclJlZ2lzdHJ5IiwiZ2V0T2JzZXJ2ZXJSZWdpc3RyeSIsInVuZGVmaW5lZCIsImNhbGxiYWNrcyIsIk1hcCIsInJlc2l6ZU9ic2VydmVyIiwiUmVzaXplT2JzZXJ2ZXIiLCJlbnRyaWVzIiwib2JzZXJ2ZXIiLCJlbnRyeSIsImdldCIsInRhcmdldCIsInN1YnNjcmliZSIsImNhbGxiYWNrIiwib2JzZXJ2ZSIsInNldCIsInVuc3Vic2NyaWJlIiwidW5vYnNlcnZlIiwib2JzZXJ2ZURpbWVuc2lvbnMiLCJoYW5kbGVSZXNpemUiLCJ0aHJvdHRsZURlbGF5IiwicmVnaXN0cnkiLCJoYW5kbGVyIiwiZ2V0U2l6ZSIsInVub2JzZXJ2ZURpbWVuc2lvbnMiLCJub2RlIiwiY29udGVudFJlY3QiLCJ3aWR0aCIsImhlaWdodCIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsInVzZURpbWVuc2lvbnMiLCJyZWYiLCJzaXplIiwic2V0U2l6ZSIsImN1cnJlbnQiLCJkaWRVbm9ic2VydmUiLCJuZXdTaXplIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBb0JBOztBQUNBOztBQUNBOzs7Ozs7OztBQU9BLElBQU1BLHNCQUFzQixHQUFHLEdBQS9CLEMsQ0FFQTtBQUNBO0FBQ0E7O0FBQ0EsSUFBSUMsaUJBQUo7O0FBRUEsU0FBU0MsbUJBQVQsR0FBK0I7QUFDN0IsTUFBSUQsaUJBQWlCLEtBQUtFLFNBQTFCLEVBQXFDO0FBQ25DLFFBQU1DLFNBQVMsR0FBRyxJQUFJQyxHQUFKLEVBQWxCO0FBQ0EsUUFBTUMsY0FBYyxHQUFHLElBQUlDLGtDQUFKLENBQW1CLFVBQUNDLE9BQUQsRUFBVUMsUUFBVixFQUF1QjtBQUFBLGlEQUMzQ0QsT0FEMkM7QUFBQTs7QUFBQTtBQUMvRCw0REFBNkI7QUFBQTs7QUFBQSxjQUFsQkUsS0FBa0I7QUFDM0Is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VUFBTUMsT0FBTyxHQUFHYixPQUFPLENBQUNXLE9BQUQsRUFBVXpCLEtBQVYsQ0FBdkI7O0FBQ0EsVUFBSTJCLE9BQUosRUFBYTtBQUNYO0FBQ0FILFFBQUFBLE9BQU8sQ0FBQ0csT0FBRCxDQUFQO0FBQ0Q7QUFDRixLQVRjLEVBVWZoQixhQVZlLENBQWpCO0FBWUEsV0FBTyxZQUFNO0FBQ1hlLE1BQUFBLFlBQVksR0FBRyxJQUFmO0FBQ0FYLE1BQUFBLG1CQUFtQixDQUFDVSxPQUFELENBQW5CO0FBQ0QsS0FIRCxDQW5CYyxDQXVCZDtBQUNELEdBeEJELEVBd0JHLENBQUNkLGFBQUQsQ0F4Qkg7QUEwQkEsU0FBTyxDQUFDVyxHQUFELEVBQU1DLElBQU4sQ0FBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IHRocm90dGxlIGZyb20gJ2xvZGFzaC50aHJvdHRsZSc7XG5pbXBvcnQge3VzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSwgUmVmT2JqZWN0fSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUmVzaXplT2JzZXJ2ZXIgZnJvbSAncmVzaXplLW9ic2VydmVyLXBvbHlmaWxsJztcblxuZXhwb3J0IGludGVyZmFjZSBEaW1lbnNpb25zIHtcbiAgcmVhZG9ubHkgaGVpZ2h0OiBudW1iZXI7XG4gIHJlYWRvbmx5IHdpZHRoOiBudW1iZXI7XG59XG5cbmNvbnN0IERFRkFVTFRfVEhST1RUTEVfREVMQVkgPSAxMDA7XG5cbi8vIFVzaW5nIGEgc2luZ2xlIFJlc2l6ZU9ic2VydmVyIGZvciBhbGwgZWxlbWVudHMgY2FuIGJlIDEweFxuLy8gbW9yZSBwZXJmb3JtYW50IHRoYW4gdXNpbmcgYSBzZXBhcmF0ZSBSZXNpemVPYnNlcnZlciBwZXIgZWxlbWVudFxuLy8gaHR0cHM6Ly9ncm91cHMuZ29vZ2xlLmNvbS9hL2Nocm9taXVtLm9yZy9mb3J1bS8jIW1zZy9ibGluay1kZXYvejZpZW5PTlViNUEvRjUtVmNVWnRCQUFKXG5sZXQgX29ic2VydmVyUmVnaXN0cnk7XG5cbmZ1bmN0aW9uIGdldE9ic2VydmVyUmVnaXN0cnkoKSB7XG4gIGlmIChfb2JzZXJ2ZXJSZWdpc3RyeSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgY29uc3QgY2FsbGJhY2tzID0gbmV3IE1hcCgpO1xuICAgIGNvbnN0IHJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKChlbnRyaWVzLCBvYnNlcnZlcikgPT4ge1xuICAgICAgZm9yIChjb25zdCBlbnRyeSBvZiBlbnRyaWVzKSB7XG4gICAgICAgIGNhbGxiYWNrcy5nZXQoZW50cnkudGFyZ2V0KT8uKGVudHJ5LCBvYnNlcnZlcik7XG4gICAgICB9XG4gICAgfSk7XG4gICAgX29ic2VydmVyUmVnaXN0cnkgPSB7XG4gICAgICBzdWJzY3JpYmUodGFyZ2V0LCBjYWxsYmFjaykge1xuICAgICAgICByZXNpemVPYnNlcnZlci5vYnNlcnZlKHRhcmdldCk7XG4gICAgICAgIGNhbGxiYWNrcy5zZXQodGFyZ2V0LCBjYWxsYmFjayk7XG4gICAgICB9LFxuICAgICAgdW5zdWJzY3JpYmUodGFyZ2V0KSB7XG4gICAgICAgIHJlc2l6ZU9ic2VydmVyLnVub2JzZXJ2ZSh0YXJnZXQpO1xuICAgICAgICBjYWxsYmFja3MuZGVsZXRlKHRhcmdldCk7XG4gICAgICB9XG4gICAgfTtcbiAgfVxuICByZXR1cm4gX29ic2VydmVyUmVnaXN0cnk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBvYnNlcnZlRGltZW5zaW9ucyhcbiAgdGFyZ2V0OiBFbGVtZW50LFxuICBoYW5kbGVSZXNpemU6IChzaXplOiBEaW1lbnNpb25zIHwgbnVsbCkgPT4gdm9pZCxcbiAgdGhyb3R0bGVEZWxheSA9IERFRkFVTFRfVEhST1RUTEVfREVMQVlcbikge1xuICBjb25zdCByZWdpc3RyeSA9IGdldE9ic2VydmVyUmVnaXN0cnkoKTtcbiAgY29uc3QgaGFuZGxlciA9IHRocm90dGxlRGVsYXkgPiAwID8gdGhyb3R0bGUoaGFuZGxlUmVzaXplLCB0aHJvdHRsZURlbGF5KSA6IGhhbmRsZVJlc2l6ZTtcbiAgcmVnaXN0cnkuc3Vic2NyaWJlKHRhcmdldCwgZW50cnkgPT4gaGFuZGxlcihnZXRTaXplKHRhcmdldCwgZW50cnkpKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1bm9ic2VydmVEaW1lbnNpb25zKHRhcmdldDogRWxlbWVudCkge1xuICBjb25zdCByZWdpc3RyeSA9IGdldE9ic2VydmVyUmVnaXN0cnkoKTtcbiAgcmVnaXN0cnkudW5zdWJzY3JpYmUodGFyZ2V0KTtcbn1cblxuZnVuY3Rpb24gZ2V0U2l6ZShub2RlLCBlbnRyeSk6IERpbWVuc2lvbnMgfCBudWxsIHtcbiAgaWYgKGVudHJ5LmNvbnRlbnRSZWN0KSB7XG4gICAgY29uc3Qge3dpZHRoLCBoZWlnaHR9ID0gZW50cnkuY29udGVudFJlY3Q7XG4gICAgcmV0dXJuIHt3aWR0aCwgaGVpZ2h0fTtcbiAgfVxuICBpZiAobm9kZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QpIHtcbiAgICBjb25zdCB7d2lkdGgsIGhlaWdodH0gPSBub2RlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIHJldHVybiB7d2lkdGgsIGhlaWdodH07XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59XG5cbi8qKlxuICogVXNhZ2UgZXhhbXBsZTpcbiAqIGNvbnN0IFtyZWYsIGRpbWVuc2lvbnNdID0gdXNlRGltZW5zaW9uczxIVE1MRGl2RWxlbWVudD4oKTtcbiAqXG4gKiBAcGFyYW0gdGhyb3R0bGVEZWxheVxuICogQHJldHVybnNcbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdXNlRGltZW5zaW9uczxUIGV4dGVuZHMgRWxlbWVudD4oXG4gIHRocm90dGxlRGVsYXkgPSBERUZBVUxUX1RIUk9UVExFX0RFTEFZXG4pOiBbUmVmT2JqZWN0PFQ+LCBEaW1lbnNpb25zIHwgbnVsbF0ge1xuICBjb25zdCByZWYgPSB1c2VSZWY8VD4obnVsbCk7XG4gIGNvbnN0IFtzaXplLCBzZXRTaXplXSA9IHVzZVN0YXRlKG51bGwpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3Qge2N1cnJlbnR9ID0gcmVmO1xuICAgIGlmICghY3VycmVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGxldCBkaWRVbm9ic2VydmUgPSBmYWxzZTtcbiAgICBvYnNlcnZlRGltZW5zaW9ucyhcbiAgICAgIGN1cnJlbnQsXG4gICAgICBlbnRyeSA9PiB7XG4gICAgICAgIGlmIChkaWRVbm9ic2VydmUpIHJldHVybjtcbiAgICAgICAgY29uc3QgbmV3U2l6ZSA9IGdldFNpemUoY3VycmVudCwgZW50cnkpO1xuICAgICAgICBpZiAobmV3U2l6ZSkge1xuICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICBzZXRTaXplKG5ld1NpemUpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgdGhyb3R0bGVEZWxheVxuICAgICk7XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGRpZFVub2JzZXJ2ZSA9IHRydWU7XG4gICAgICB1bm9ic2VydmVEaW1lbnNpb25zKGN1cnJlbnQpO1xuICAgIH07XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICB9LCBbdGhyb3R0bGVEZWxheV0pO1xuXG4gIHJldHVybiBbcmVmLCBzaXplXTtcbn1cbiJdfQ==
171
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9vYnNlcnZlLWRpbWVuc2lvbnMudHMiXSwibmFtZXMiOlsiREVGQVVMVF9USFJPVFRMRV9ERUxBWSIsIl9vYnNlcnZlclJlZ2lzdHJ5IiwiZ2V0T2JzZXJ2ZXJSZWdpc3RyeSIsInVuZGVmaW5lZCIsImNhbGxiYWNrcyIsIk1hcCIsInJlc2l6ZU9ic2VydmVyIiwiUmVzaXplT2JzZXJ2ZXIiLCJlbnRyaWVzIiwib2JzZXJ2ZXIiLCJlbnRyeSIsImdldCIsInRhcmdldCIsInN1YnNjcmliZSIsImNhbGxiYWNrIiwiRWxlbWVudCIsIm9ic2VydmUiLCJzZXQiLCJ1bnN1YnNjcmliZSIsInVub2JzZXJ2ZSIsIm9ic2VydmVEaW1lbnNpb25zIiwiaGFuZGxlUmVzaXplIiwidGhyb3R0bGVEZWxheSIsInJlZ2lzdHJ5IiwiaGFuZGxlciIsImdldFNpemUiLCJ1bm9ic2VydmVEaW1lbnNpb25zIiwibm9kZSIsImNvbnRlbnRSZWN0Iiwid2lkdGgiLCJoZWlnaHQiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJ1c2VEaW1lbnNpb25zIiwicmVmIiwic2l6ZSIsInNldFNpemUiLCJjdXJyZW50IiwiZGlkVW5vYnNlcnZlIiwibmV3U2l6ZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQW9CQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7QUFPQSxJQUFNQSxzQkFBc0IsR0FBRyxHQUEvQixDLENBRUE7QUFDQTtBQUNBOztBQUNBLElBQUlDLGlCQUFKOztBQUVBLFNBQVNDLG1CQUFULEdBQStCO0FBQzdCLE1BQUlELGlCQUFpQixLQUFLRSxTQUExQixFQUFxQztBQUNuQyxRQUFNQyxTQUFTLEdBQUcsSUFBSUMsR0FBSixFQUFsQjtBQUNBLFFBQU1DLGNBQWMsR0FBRyxJQUFJQyxrQ0FBSixDQUFtQixVQUFDQyxPQUFELEVBQVVDLFFBQVYsRUFBdUI7QUFBQSxpREFDM0NELE9BRDJDO0FBQUE7O0FBQUE7QUFDL0QsNERBQTZCO0FBQUE7O0FBQUEsY0FBbEJFLEtB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RyxLQUFuQjtBQUNBakIsSUFBQUEsaUJBQWlCLENBQ2ZnQixPQURlLEVBRWYsVUFBQTFCLEtBQUssRUFBSTtBQUNQLFVBQUkyQixZQUFKLEVBQWtCO0FBQ2xCLFVBQU1DLE9BQU8sR0FBR2IsT0FBTyxDQUFDVyxPQUFELEVBQVUxQixLQUFWLENBQXZCOztBQUNBLFVBQUk0QixPQUFKLEVBQWE7QUFDWDtBQUNBSCxRQUFBQSxPQUFPLENBQUNHLE9BQUQsQ0FBUDtBQUNEO0FBQ0YsS0FUYyxFQVVmaEIsYUFWZSxDQUFqQjtBQVlBLFdBQU8sWUFBTTtBQUNYZSxNQUFBQSxZQUFZLEdBQUcsSUFBZjtBQUNBWCxNQUFBQSxtQkFBbUIsQ0FBQ1UsT0FBRCxDQUFuQjtBQUNELEtBSEQsQ0FuQmMsQ0F1QmQ7QUFDRCxHQXhCRCxFQXdCRyxDQUFDZCxhQUFELENBeEJIO0FBMEJBLFNBQU8sQ0FBQ1csR0FBRCxFQUFNQyxJQUFOLENBQVA7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMyBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCB0aHJvdHRsZSBmcm9tICdsb2Rhc2gudGhyb3R0bGUnO1xuaW1wb3J0IHt1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUsIFJlZk9iamVjdH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFJlc2l6ZU9ic2VydmVyIGZyb20gJ3Jlc2l6ZS1vYnNlcnZlci1wb2x5ZmlsbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGltZW5zaW9ucyB7XG4gIHJlYWRvbmx5IGhlaWdodDogbnVtYmVyO1xuICByZWFkb25seSB3aWR0aDogbnVtYmVyO1xufVxuXG5jb25zdCBERUZBVUxUX1RIUk9UVExFX0RFTEFZID0gMTAwO1xuXG4vLyBVc2luZyBhIHNpbmdsZSBSZXNpemVPYnNlcnZlciBmb3IgYWxsIGVsZW1lbnRzIGNhbiBiZSAxMHhcbi8vIG1vcmUgcGVyZm9ybWFudCB0aGFuIHVzaW5nIGEgc2VwYXJhdGUgUmVzaXplT2JzZXJ2ZXIgcGVyIGVsZW1lbnRcbi8vIGh0dHBzOi8vZ3JvdXBzLmdvb2dsZS5jb20vYS9jaHJvbWl1bS5vcmcvZm9ydW0vIyFtc2cvYmxpbmstZGV2L3o2aWVuT05VYjVBL0Y1LVZjVVp0QkFBSlxubGV0IF9vYnNlcnZlclJlZ2lzdHJ5O1xuXG5mdW5jdGlvbiBnZXRPYnNlcnZlclJlZ2lzdHJ5KCkge1xuICBpZiAoX29ic2VydmVyUmVnaXN0cnkgPT09IHVuZGVmaW5lZCkge1xuICAgIGNvbnN0IGNhbGxiYWNrcyA9IG5ldyBNYXAoKTtcbiAgICBjb25zdCByZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigoZW50cmllcywgb2JzZXJ2ZXIpID0+IHtcbiAgICAgIGZvciAoY29uc3QgZW50cnkgb2YgZW50cmllcykge1xuICAgICAgICBjYWxsYmFja3MuZ2V0KGVudHJ5LnRhcmdldCk/LihlbnRyeSwgb2JzZXJ2ZXIpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIF9vYnNlcnZlclJlZ2lzdHJ5ID0ge1xuICAgICAgc3Vic2NyaWJlKHRhcmdldCwgY2FsbGJhY2spIHtcbiAgICAgICAgaWYgKHRhcmdldCBpbnN0YW5jZW9mIEVsZW1lbnQpIHtcbiAgICAgICAgICByZXNpemVPYnNlcnZlci5vYnNlcnZlKHRhcmdldCk7XG4gICAgICAgICAgY2FsbGJhY2tzLnNldCh0YXJnZXQsIGNhbGxiYWNrKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHVuc3Vic2NyaWJlKHRhcmdldCkge1xuICAgICAgICBpZiAodGFyZ2V0IGluc3RhbmNlb2YgRWxlbWVudCkge1xuICAgICAgICAgIHJlc2l6ZU9ic2VydmVyLnVub2JzZXJ2ZSh0YXJnZXQpO1xuICAgICAgICAgIGNhbGxiYWNrcy5kZWxldGUodGFyZ2V0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG4gIH1cbiAgcmV0dXJuIF9vYnNlcnZlclJlZ2lzdHJ5O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb2JzZXJ2ZURpbWVuc2lvbnMoXG4gIHRhcmdldDogRWxlbWVudCxcbiAgaGFuZGxlUmVzaXplOiAoc2l6ZTogRGltZW5zaW9ucyB8IG51bGwpID0+IHZvaWQsXG4gIHRocm90dGxlRGVsYXkgPSBERUZBVUxUX1RIUk9UVExFX0RFTEFZXG4pIHtcbiAgY29uc3QgcmVnaXN0cnkgPSBnZXRPYnNlcnZlclJlZ2lzdHJ5KCk7XG4gIGNvbnN0IGhhbmRsZXIgPSB0aHJvdHRsZURlbGF5ID4gMCA/IHRocm90dGxlKGhhbmRsZVJlc2l6ZSwgdGhyb3R0bGVEZWxheSkgOiBoYW5kbGVSZXNpemU7XG4gIHJlZ2lzdHJ5LnN1YnNjcmliZSh0YXJnZXQsIGVudHJ5ID0+IGhhbmRsZXIoZ2V0U2l6ZSh0YXJnZXQsIGVudHJ5KSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdW5vYnNlcnZlRGltZW5zaW9ucyh0YXJnZXQ6IEVsZW1lbnQpIHtcbiAgY29uc3QgcmVnaXN0cnkgPSBnZXRPYnNlcnZlclJlZ2lzdHJ5KCk7XG4gIHJlZ2lzdHJ5LnVuc3Vic2NyaWJlKHRhcmdldCk7XG59XG5cbmZ1bmN0aW9uIGdldFNpemUobm9kZSwgZW50cnkpOiBEaW1lbnNpb25zIHwgbnVsbCB7XG4gIGlmIChlbnRyeS5jb250ZW50UmVjdCkge1xuICAgIGNvbnN0IHt3aWR0aCwgaGVpZ2h0fSA9IGVudHJ5LmNvbnRlbnRSZWN0O1xuICAgIHJldHVybiB7d2lkdGgsIGhlaWdodH07XG4gIH1cbiAgaWYgKG5vZGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KSB7XG4gICAgY29uc3Qge3dpZHRoLCBoZWlnaHR9ID0gbm9kZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICByZXR1cm4ge3dpZHRoLCBoZWlnaHR9O1xuICB9XG4gIHJldHVybiBudWxsO1xufVxuXG4vKipcbiAqIFVzYWdlIGV4YW1wbGU6XG4gKiBjb25zdCBbcmVmLCBkaW1lbnNpb25zXSA9IHVzZURpbWVuc2lvbnM8SFRNTERpdkVsZW1lbnQ+KCk7XG4gKlxuICogQHBhcmFtIHRocm90dGxlRGVsYXlcbiAqIEByZXR1cm5zXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZURpbWVuc2lvbnM8VCBleHRlbmRzIEVsZW1lbnQ+KFxuICB0aHJvdHRsZURlbGF5ID0gREVGQVVMVF9USFJPVFRMRV9ERUxBWVxuKTogW1JlZk9iamVjdDxUPiwgRGltZW5zaW9ucyB8IG51bGxdIHtcbiAgY29uc3QgcmVmID0gdXNlUmVmPFQ+KG51bGwpO1xuICBjb25zdCBbc2l6ZSwgc2V0U2l6ZV0gPSB1c2VTdGF0ZShudWxsKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHtjdXJyZW50fSA9IHJlZjtcbiAgICBpZiAoIWN1cnJlbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsZXQgZGlkVW5vYnNlcnZlID0gZmFsc2U7XG4gICAgb2JzZXJ2ZURpbWVuc2lvbnMoXG4gICAgICBjdXJyZW50LFxuICAgICAgZW50cnkgPT4ge1xuICAgICAgICBpZiAoZGlkVW5vYnNlcnZlKSByZXR1cm47XG4gICAgICAgIGNvbnN0IG5ld1NpemUgPSBnZXRTaXplKGN1cnJlbnQsIGVudHJ5KTtcbiAgICAgICAgaWYgKG5ld1NpemUpIHtcbiAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgc2V0U2l6ZShuZXdTaXplKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHRocm90dGxlRGVsYXlcbiAgICApO1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBkaWRVbm9ic2VydmUgPSB0cnVlO1xuICAgICAgdW5vYnNlcnZlRGltZW5zaW9ucyhjdXJyZW50KTtcbiAgICB9O1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgfSwgW3Rocm90dGxlRGVsYXldKTtcblxuICByZXR1cm4gW3JlZiwgc2l6ZV07XG59XG4iXX0=
package/dist/plot.d.ts ADDED
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Use in slider, given a number and an array of numbers, return the nears number from the array
3
+ * @param value
4
+ * @param marks
5
+ */
6
+ export declare function snapToMarks(value: number, marks: number[]): number;
package/dist/plot.js ADDED
@@ -0,0 +1,46 @@
1
+ // Copyright (c) 2023 Uber Technologies, Inc.
2
+ //
3
+ // Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ // of this software and associated documentation files (the "Software"), to deal
5
+ // in the Software without restriction, including without limitation the rights
6
+ // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ // copies of the Software, and to permit persons to whom the Software is
8
+ // furnished to do so, subject to the following conditions:
9
+ //
10
+ // The above copyright notice and this permission notice shall be included in
11
+ // all copies or substantial portions of the Software.
12
+ //
13
+ // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
+ // THE SOFTWARE.
20
+
21
+ "use strict";
22
+
23
+ Object.defineProperty(exports, "__esModule", {
24
+ value: true
25
+ });
26
+ exports.snapToMarks = snapToMarks;
27
+
28
+ var _d3Array = require("d3-array");/**
29
+ * Use in slider, given a number and an array of numbers, return the nears number from the array
30
+ * @param value
31
+ * @param marks
32
+ */
33
+ function snapToMarks(value, marks) {
34
+ // always use bin x0
35
+ var i = (0, _d3Array.bisectLeft)(marks, value);
36
+
37
+ if (i === 0) {
38
+ return marks[i];
39
+ } else if (i === marks.length) {
40
+ return marks[i - 1];
41
+ }
42
+
43
+ var idx = marks[i] - value < value - marks[i - 1] ? i : i - 1;
44
+ return marks[idx];
45
+ }
46
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9wbG90LnRzIl0sIm5hbWVzIjpbInNuYXBUb01hcmtzIiwidmFsdWUiLCJtYXJrcyIsImkiLCJsZW5ndGgiLCJpZHgiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFvQkE7O0FBcEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTyxTQUFTQSxXQUFULENBQXFCQyxLQUFyQixFQUFvQ0MsS0FBcEMsRUFBNkQ7QUFDbEU7QUFDQSxNQUFNQyxDQUFDLEdBQUcseUJBQVdELEtBQVgsRUFBa0JELEtBQWxCLENBQVY7O0FBQ0EsTUFBSUUsQ0FBQyxLQUFLLENBQVYsRUFBYTtBQUNYLFdBQU9ELEtBQUssQ0FBQ0MsQ0FBRCxDQUFaO0FBQ0QsR0FGRCxNQUVPLElBQUlBLENBQUMsS0FBS0QsS0FBSyxDQUFDRSxNQUFoQixFQUF3QjtBQUM3QixXQUFPRixLQUFLLENBQUNDLENBQUMsR0FBRyxDQUFMLENBQVo7QUFDRDs7QUFDRCxNQUFNRSxHQUFHLEdBQUdILEtBQUssQ0FBQ0MsQ0FBRCxDQUFMLEdBQVdGLEtBQVgsR0FBbUJBLEtBQUssR0FBR0MsS0FBSyxDQUFDQyxDQUFDLEdBQUcsQ0FBTCxDQUFoQyxHQUEwQ0EsQ0FBMUMsR0FBOENBLENBQUMsR0FBRyxDQUE5RDtBQUNBLFNBQU9ELEtBQUssQ0FBQ0csR0FBRCxDQUFaO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjMgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQge2Jpc2VjdExlZnR9IGZyb20gJ2QzLWFycmF5JztcblxuLyoqXG4gKiBVc2UgaW4gc2xpZGVyLCBnaXZlbiBhIG51bWJlciBhbmQgYW4gYXJyYXkgb2YgbnVtYmVycywgcmV0dXJuIHRoZSBuZWFycyBudW1iZXIgZnJvbSB0aGUgYXJyYXlcbiAqIEBwYXJhbSB2YWx1ZVxuICogQHBhcmFtIG1hcmtzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzbmFwVG9NYXJrcyh2YWx1ZTogbnVtYmVyLCBtYXJrczogbnVtYmVyW10pOiBudW1iZXIge1xuICAvLyBhbHdheXMgdXNlIGJpbiB4MFxuICBjb25zdCBpID0gYmlzZWN0TGVmdChtYXJrcywgdmFsdWUpO1xuICBpZiAoaSA9PT0gMCkge1xuICAgIHJldHVybiBtYXJrc1tpXTtcbiAgfSBlbHNlIGlmIChpID09PSBtYXJrcy5sZW5ndGgpIHtcbiAgICByZXR1cm4gbWFya3NbaSAtIDFdO1xuICB9XG4gIGNvbnN0IGlkeCA9IG1hcmtzW2ldIC0gdmFsdWUgPCB2YWx1ZSAtIG1hcmtzW2kgLSAxXSA/IGkgOiBpIC0gMTtcbiAgcmV0dXJuIG1hcmtzW2lkeF07XG59XG4iXX0=
@@ -1,3 +1,5 @@
1
+ import WebMercatorViewport from 'viewport-mercator-project';
2
+ export declare const MAPBOX_TILE_SIZE = 512;
1
3
  /**
2
4
  * bounds should be [minLng, minLat, maxLng, maxLat]
3
5
  * @param {*} bounds
@@ -10,3 +12,10 @@ export declare function getCenterAndZoomFromBounds(bounds: any, { width, height
10
12
  zoom: number;
11
13
  center: number[];
12
14
  } | null;
15
+ /**
16
+ * Add extra info about screen space position and world position to the event.
17
+ * @param {*} event Event to normalize.
18
+ * @param {*} viewport Current viewport.
19
+ * @returns Normalized event with extra information.
20
+ */
21
+ export declare function normalizeEvent(event: any, viewport: WebMercatorViewport): any;
@@ -1,4 +1,4 @@
1
- // Copyright (c) 2022 Uber Technologies, Inc.
1
+ // Copyright (c) 2023 Uber Technologies, Inc.
2
2
  //
3
3
  // Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  // of this software and associated documentation files (the "Software"), to deal
@@ -27,10 +27,13 @@ Object.defineProperty(exports, "__esModule", {
27
27
  });
28
28
  exports.validateBounds = validateBounds;
29
29
  exports.getCenterAndZoomFromBounds = getCenterAndZoomFromBounds;
30
+ exports.normalizeEvent = normalizeEvent;
31
+ exports.MAPBOX_TILE_SIZE = void 0;
30
32
 
31
33
  var _geoViewport = _interopRequireDefault(require("@mapbox/geo-viewport"));
32
34
 
33
35
  var _console = _interopRequireDefault(require("global/console"));var MAPBOX_TILE_SIZE = 512;
36
+ exports.MAPBOX_TILE_SIZE = MAPBOX_TILE_SIZE;
34
37
 
35
38
  function isLat(num) {
36
39
  return Number.isFinite(num) && num <= 90 && num >= -90;
@@ -79,4 +82,35 @@ function getCenterAndZoomFromBounds(bounds, _ref) {
79
82
  center: center
80
83
  };
81
84
  }
82
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9wcm9qZWN0aW9uLXV0aWxzLnRzIl0sIm5hbWVzIjpbIk1BUEJPWF9USUxFX1NJWkUiLCJpc0xhdCIsIm51bSIsIk51bWJlciIsImlzRmluaXRlIiwiaXNMbmciLCJ2YWxpZGF0ZUJvdW5kcyIsImJvdW5kcyIsIkFycmF5IiwiaXNBcnJheSIsImxlbmd0aCIsImV2ZXJ5IiwiZ2V0Q2VudGVyQW5kWm9vbUZyb21Cb3VuZHMiLCJ3aWR0aCIsImhlaWdodCIsInZhbGlkQm91bmRzIiwiQ29uc29sZSIsIndhcm4iLCJnZW9WaWV3cG9ydCIsInZpZXdwb3J0IiwidW5kZWZpbmVkIiwiem9vbSIsImNlbnRlciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQW9CQTs7QUFDQTs7QUFyQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFLQSxJQUFNQSxnQkFBZ0IsR0FBRyxHQUF6Qjs7QUFFQSxTQUFTQyxLQUFULENBQWVDLEdBQWYsRUFBb0I7QUFDbEIsU0FBT0MsTUFBTSxDQUFDQyxRQUFQLENBQWdCRixHQUFoQixLQUF3QkEsR0FBRyxJQUFJLEVBQS9CLElBQXFDQSxHQUFHLElBQUksQ0FBQyxFQUFwRDtBQUNEOztBQUNELFNBQVNHLEtBQVQsQ0FBZUgsR0FBZixFQUFvQjtBQUNsQixTQUFPQyxNQUFNLENBQUNDLFFBQVAsQ0FBZ0JGLEdBQWhCLEtBQXdCQSxHQUFHLElBQUksR0FBL0IsSUFBc0NBLEdBQUcsSUFBSSxDQUFDLEdBQXJEO0FBQ0Q7QUFFRDtBQUNBO0FBQ0E7QUFDQTs7O0FBQ08sU0FBU0ksY0FBVCxDQUF3QkMsTUFBeEIsRUFBZ0M7QUFDckM7QUFDQTtBQUNBLE1BQ0VDLEtBQUssQ0FBQ0MsT0FBTixDQUFjRixNQUFkLEtBQ0FBLE1BQU0sQ0FBQ0csTUFBUCxLQUFrQixDQURsQixJQUVBLENBQUNILE1BQU0sQ0FBQyxDQUFELENBQVAsRUFBWUEsTUFBTSxDQUFDLENBQUQsQ0FBbEIsRUFBdUJJLEtBQXZCLENBQTZCTixLQUE3QixDQUZBLElBR0EsQ0FBQ0UsTUFBTSxDQUFDLENBQUQsQ0FBUCxFQUFZQSxNQUFNLENBQUMsQ0FBRCxDQUFsQixFQUF1QkksS0FBdkIsQ0FBNkJWLEtBQTdCLENBSkYsRUFLRTtBQUNBLFdBQU9NLE1BQVA7QUFDRDs7QUFDRCxTQUFPLElBQVA7QUFDRDs7QUFFTSxTQUFTSywwQkFBVCxDQUFvQ0wsTUFBcEMsUUFBNkQ7QUFBQSxNQUFoQk0sS0FBZ0IsUUFBaEJBLEtBQWdCO0FBQUEsTUFBVEMsTUFBUyxRQUFUQSxNQUFTO0FBQ2xFLE1BQU1DLFdBQVcsR0FBR1QsY0FBYyxDQUFDQyxNQUFELENBQWxDOztBQUNBLE1BQUksQ0FBQ1EsV0FBTCxFQUFrQjtBQUNoQkMsd0JBQVFDLElBQVIsQ0FBYSw2QkFBYjs7QUFDQSxXQUFPLElBQVA7QUFDRCxHQUxpRSxDQU9sRTs7O0FBUGtFLDhCQVFuREMsd0JBQVlDLFFBQVosQ0FDYlosTUFEYSxFQUViLENBQUNNLEtBQUQsRUFBUUMsTUFBUixDQUZhLEVBR2JNLFNBSGEsRUFJYkEsU0FKYSxFQUticEIsZ0JBTGEsQ0FSbUQ7QUFBQSxNQVEzRHFCLElBUjJELHlCQVEzREEsSUFSMkQsRUFlbEU7QUFDQTtBQUNBOzs7QUFDQSxNQUFNQyxNQUFNLEdBQUcsQ0FBQyxDQUFDZixNQUFNLENBQUMsQ0FBRCxDQUFOLEdBQVlBLE1BQU0sQ0FBQyxDQUFELENBQW5CLElBQTBCLENBQTNCLEVBQThCLENBQUNBLE1BQU0sQ0FBQyxDQUFELENBQU4sR0FBWUEsTUFBTSxDQUFDLENBQUQsQ0FBbkIsSUFBMEIsQ0FBeEQsQ0FBZjtBQUVBLFNBQU87QUFBQ2MsSUFBQUEsSUFBSSxFQUFKQSxJQUFEO0FBQU9DLElBQUFBLE1BQU0sRUFBTkE7QUFBUCxHQUFQO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgZ2VvVmlld3BvcnQgZnJvbSAnQG1hcGJveC9nZW8tdmlld3BvcnQnO1xuaW1wb3J0IENvbnNvbGUgZnJvbSAnZ2xvYmFsL2NvbnNvbGUnO1xuXG5jb25zdCBNQVBCT1hfVElMRV9TSVpFID0gNTEyO1xuXG5mdW5jdGlvbiBpc0xhdChudW0pIHtcbiAgcmV0dXJuIE51bWJlci5pc0Zpbml0ZShudW0pICYmIG51bSA8PSA5MCAmJiBudW0gPj0gLTkwO1xufVxuZnVuY3Rpb24gaXNMbmcobnVtKSB7XG4gIHJldHVybiBOdW1iZXIuaXNGaW5pdGUobnVtKSAmJiBudW0gPD0gMTgwICYmIG51bSA+PSAtMTgwO1xufVxuXG4vKipcbiAqIGJvdW5kcyBzaG91bGQgYmUgW21pbkxuZywgbWluTGF0LCBtYXhMbmcsIG1heExhdF1cbiAqIEBwYXJhbSB7Kn0gYm91bmRzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUJvdW5kcyhib3VuZHMpIHtcbiAgLy8gYXJyYXk6IFsgLTE4MCwgLTg1LjA1MTEyODc3OTgwNjU5LCAxODAsIDg1LjA1MTEyODc3OTgwNjYgXVxuICAvLyB2YWxpZGF0ZSBib3VuZHNcbiAgaWYgKFxuICAgIEFycmF5LmlzQXJyYXkoYm91bmRzKSAmJlxuICAgIGJvdW5kcy5sZW5ndGggPT09IDQgJiZcbiAgICBbYm91bmRzWzBdLCBib3VuZHNbMl1dLmV2ZXJ5KGlzTG5nKSAmJlxuICAgIFtib3VuZHNbMV0sIGJvdW5kc1szXV0uZXZlcnkoaXNMYXQpXG4gICkge1xuICAgIHJldHVybiBib3VuZHM7XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDZW50ZXJBbmRab29tRnJvbUJvdW5kcyhib3VuZHMsIHt3aWR0aCwgaGVpZ2h0fSkge1xuICBjb25zdCB2YWxpZEJvdW5kcyA9IHZhbGlkYXRlQm91bmRzKGJvdW5kcyk7XG4gIGlmICghdmFsaWRCb3VuZHMpIHtcbiAgICBDb25zb2xlLndhcm4oJ2ludmFsaWQgbWFwIGJvdW5kcyBwcm92aWRlZCcpO1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgLy8gdmlld3BvcnQoYm91bmRzLCBkaW1lbnNpb25zLCBtaW56b29tLCBtYXh6b29tLCB0aWxlU2l6ZSwgYWxsb3dGbG9hdClcbiAgY29uc3Qge3pvb219ID0gZ2VvVmlld3BvcnQudmlld3BvcnQoXG4gICAgYm91bmRzLFxuICAgIFt3aWR0aCwgaGVpZ2h0XSxcbiAgICB1bmRlZmluZWQsXG4gICAgdW5kZWZpbmVkLFxuICAgIE1BUEJPWF9USUxFX1NJWkVcbiAgKTtcbiAgLy8gY2VudGVyIGJlaW5nIGNhbGN1bGF0ZWQgYnkgZ2VvLXZpZXdlcG9ydC52aWV3cG9ydCBoYXMgYSBjb21wbGV4IGxvZ2ljIHRoYXRcbiAgLy8gcHJvamVjdHMgYW5kIHRoZW4gdW5wcm9qZWN0cyB0aGUgY29vcmRpbmF0ZXMgdG8gZGV0ZXJtaW5lIHRoZSBjZW50ZXJcbiAgLy8gQ2FsY3VsYXRpbmcgYSBzaW1wbGUgYXZlcmFnZSBpbnN0ZWFkIGFzIHRoYXQgaXMgdGhlIGV4cGVjdGVkIGJlaGF2aW9yIGluIG1vc3Qgb2YgY2FzZXNcbiAgY29uc3QgY2VudGVyID0gWyhib3VuZHNbMF0gKyBib3VuZHNbMl0pIC8gMiwgKGJvdW5kc1sxXSArIGJvdW5kc1szXSkgLyAyXTtcblxuICByZXR1cm4ge3pvb20sIGNlbnRlcn07XG59XG4iXX0=
85
+ /**
86
+ * Add extra info about screen space position and world position to the event.
87
+ * @param {*} event Event to normalize.
88
+ * @param {*} viewport Current viewport.
89
+ * @returns Normalized event with extra information.
90
+ */
91
+
92
+
93
+ function normalizeEvent(event, viewport) {
94
+ var _event$target;
95
+
96
+ var bounds = (_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target.getBoundingClientRect();
97
+
98
+ if (!bounds) {
99
+ return event;
100
+ }
101
+
102
+ var x = event.clientX - bounds.left;
103
+ var y = event.clientY - bounds.top;
104
+
105
+ if (!Number.isFinite(x) || !Number.isFinite(y)) {
106
+ return event;
107
+ }
108
+
109
+ event.point = [x, y];
110
+ var location = viewport.unproject(event.point, {
111
+ targetZ: 0
112
+ });
113
+ event.lngLat = [location[0], location[1]];
114
+ return event;
115
+ }
116
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9wcm9qZWN0aW9uLXV0aWxzLnRzIl0sIm5hbWVzIjpbIk1BUEJPWF9USUxFX1NJWkUiLCJpc0xhdCIsIm51bSIsIk51bWJlciIsImlzRmluaXRlIiwiaXNMbmciLCJ2YWxpZGF0ZUJvdW5kcyIsImJvdW5kcyIsIkFycmF5IiwiaXNBcnJheSIsImxlbmd0aCIsImV2ZXJ5IiwiZ2V0Q2VudGVyQW5kWm9vbUZyb21Cb3VuZHMiLCJ3aWR0aCIsImhlaWdodCIsInZhbGlkQm91bmRzIiwiQ29uc29sZSIsIndhcm4iLCJnZW9WaWV3cG9ydCIsInZpZXdwb3J0IiwidW5kZWZpbmVkIiwiem9vbSIsImNlbnRlciIsIm5vcm1hbGl6ZUV2ZW50IiwiZXZlbnQiLCJ0YXJnZXQiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJ4IiwiY2xpZW50WCIsImxlZnQiLCJ5IiwiY2xpZW50WSIsInRvcCIsInBvaW50IiwibG9jYXRpb24iLCJ1bnByb2plY3QiLCJ0YXJnZXRaIiwibG5nTGF0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFvQkE7O0FBR0E7O0FBdkJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBT08sSUFBTUEsZ0JBQWdCLEdBQUcsR0FBekI7OztBQUVQLFNBQVNDLEtBQVQsQ0FBZUMsR0FBZixFQUFvQjtBQUNsQixTQUFPQyxNQUFNLENBQUNDLFFBQVAsQ0FBZ0JGLEdBQWhCLEtBQXdCQSxHQUFHLElBQUksRUFBL0IsSUFBcUNBLEdBQUcsSUFBSSxDQUFDLEVBQXBEO0FBQ0Q7O0FBQ0QsU0FBU0csS0FBVCxDQUFlSCxHQUFmLEVBQW9CO0FBQ2xCLFNBQU9DLE1BQU0sQ0FBQ0MsUUFBUCxDQUFnQkYsR0FBaEIsS0FBd0JBLEdBQUcsSUFBSSxHQUEvQixJQUFzQ0EsR0FBRyxJQUFJLENBQUMsR0FBckQ7QUFDRDtBQUVEO0FBQ0E7QUFDQTtBQUNBOzs7QUFDTyxTQUFTSSxjQUFULENBQXdCQyxNQUF4QixFQUFnQztBQUNyQztBQUNBO0FBQ0EsTUFDRUMsS0FBSyxDQUFDQyxPQUFOLENBQWNGLE1BQWQsS0FDQUEsTUFBTSxDQUFDRyxNQUFQLEtBQWtCLENBRGxCLElBRUEsQ0FBQ0gsTUFBTSxDQUFDLENBQUQsQ0FBUCxFQUFZQSxNQUFNLENBQUMsQ0FBRCxDQUFsQixFQUF1QkksS0FBdkIsQ0FBNkJOLEtBQTdCLENBRkEsSUFHQSxDQUFDRSxNQUFNLENBQUMsQ0FBRCxDQUFQLEVBQVlBLE1BQU0sQ0FBQyxDQUFELENBQWxCLEVBQXVCSSxLQUF2QixDQUE2QlYsS0FBN0IsQ0FKRixFQUtFO0FBQ0EsV0FBT00sTUFBUDtBQUNEOztBQUNELFNBQU8sSUFBUDtBQUNEOztBQUVNLFNBQVNLLDBCQUFULENBQW9DTCxNQUFwQyxRQUE2RDtBQUFBLE1BQWhCTSxLQUFnQixRQUFoQkEsS0FBZ0I7QUFBQSxNQUFUQyxNQUFTLFFBQVRBLE1BQVM7QUFDbEUsTUFBTUMsV0FBVyxHQUFHVCxjQUFjLENBQUNDLE1BQUQsQ0FBbEM7O0FBQ0EsTUFBSSxDQUFDUSxXQUFMLEVBQWtCO0FBQ2hCQyx3QkFBUUMsSUFBUixDQUFhLDZCQUFiOztBQUNBLFdBQU8sSUFBUDtBQUNELEdBTGlFLENBT2xFOzs7QUFQa0UsOEJBUW5EQyx3QkFBWUMsUUFBWixDQUNiWixNQURhLEVBRWIsQ0FBQ00sS0FBRCxFQUFRQyxNQUFSLENBRmEsRUFHYk0sU0FIYSxFQUliQSxTQUphLEVBS2JwQixnQkFMYSxDQVJtRDtBQUFBLE1BUTNEcUIsSUFSMkQseUJBUTNEQSxJQVIyRCxFQWVsRTtBQUNBO0FBQ0E7OztBQUNBLE1BQU1DLE1BQU0sR0FBRyxDQUFDLENBQUNmLE1BQU0sQ0FBQyxDQUFELENBQU4sR0FBWUEsTUFBTSxDQUFDLENBQUQsQ0FBbkIsSUFBMEIsQ0FBM0IsRUFBOEIsQ0FBQ0EsTUFBTSxDQUFDLENBQUQsQ0FBTixHQUFZQSxNQUFNLENBQUMsQ0FBRCxDQUFuQixJQUEwQixDQUF4RCxDQUFmO0FBRUEsU0FBTztBQUFDYyxJQUFBQSxJQUFJLEVBQUpBLElBQUQ7QUFBT0MsSUFBQUEsTUFBTSxFQUFOQTtBQUFQLEdBQVA7QUFDRDtBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ08sU0FBU0MsY0FBVCxDQUF3QkMsS0FBeEIsRUFBb0NMLFFBQXBDLEVBQW1FO0FBQUE7O0FBQ3hFLE1BQUlaLE1BQU0sb0JBQUdpQixLQUFLLENBQUNDLE1BQVQsa0RBQUcsY0FBY0MscUJBQWQsRUFBYjs7QUFDQSxNQUFJLENBQUNuQixNQUFMLEVBQWE7QUFDWCxXQUFPaUIsS0FBUDtBQUNEOztBQUVELE1BQUlHLENBQUMsR0FBR0gsS0FBSyxDQUFDSSxPQUFOLEdBQWdCckIsTUFBTSxDQUFDc0IsSUFBL0I7QUFDQSxNQUFJQyxDQUFDLEdBQUdOLEtBQUssQ0FBQ08sT0FBTixHQUFnQnhCLE1BQU0sQ0FBQ3lCLEdBQS9COztBQUNBLE1BQUksQ0FBQzdCLE1BQU0sQ0FBQ0MsUUFBUCxDQUFnQnVCLENBQWhCLENBQUQsSUFBdUIsQ0FBQ3hCLE1BQU0sQ0FBQ0MsUUFBUCxDQUFnQjBCLENBQWhCLENBQTVCLEVBQWdEO0FBQzlDLFdBQU9OLEtBQVA7QUFDRDs7QUFFREEsRUFBQUEsS0FBSyxDQUFDUyxLQUFOLEdBQWMsQ0FBQ04sQ0FBRCxFQUFJRyxDQUFKLENBQWQ7QUFDQSxNQUFNSSxRQUFRLEdBQUdmLFFBQVEsQ0FBQ2dCLFNBQVQsQ0FBbUJYLEtBQUssQ0FBQ1MsS0FBekIsRUFBZ0M7QUFBQ0csSUFBQUEsT0FBTyxFQUFFO0FBQVYsR0FBaEMsQ0FBakI7QUFDQVosRUFBQUEsS0FBSyxDQUFDYSxNQUFOLEdBQWUsQ0FBQ0gsUUFBUSxDQUFDLENBQUQsQ0FBVCxFQUFjQSxRQUFRLENBQUMsQ0FBRCxDQUF0QixDQUFmO0FBRUEsU0FBT1YsS0FBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIzIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IGdlb1ZpZXdwb3J0IGZyb20gJ0BtYXBib3gvZ2VvLXZpZXdwb3J0JztcblxuaW1wb3J0IFdlYk1lcmNhdG9yVmlld3BvcnQgZnJvbSAndmlld3BvcnQtbWVyY2F0b3ItcHJvamVjdCc7XG5pbXBvcnQgQ29uc29sZSBmcm9tICdnbG9iYWwvY29uc29sZSc7XG5cbmV4cG9ydCBjb25zdCBNQVBCT1hfVElMRV9TSVpFID0gNTEyO1xuXG5mdW5jdGlvbiBpc0xhdChudW0pIHtcbiAgcmV0dXJuIE51bWJlci5pc0Zpbml0ZShudW0pICYmIG51bSA8PSA5MCAmJiBudW0gPj0gLTkwO1xufVxuZnVuY3Rpb24gaXNMbmcobnVtKSB7XG4gIHJldHVybiBOdW1iZXIuaXNGaW5pdGUobnVtKSAmJiBudW0gPD0gMTgwICYmIG51bSA+PSAtMTgwO1xufVxuXG4vKipcbiAqIGJvdW5kcyBzaG91bGQgYmUgW21pbkxuZywgbWluTGF0LCBtYXhMbmcsIG1heExhdF1cbiAqIEBwYXJhbSB7Kn0gYm91bmRzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUJvdW5kcyhib3VuZHMpIHtcbiAgLy8gYXJyYXk6IFsgLTE4MCwgLTg1LjA1MTEyODc3OTgwNjU5LCAxODAsIDg1LjA1MTEyODc3OTgwNjYgXVxuICAvLyB2YWxpZGF0ZSBib3VuZHNcbiAgaWYgKFxuICAgIEFycmF5LmlzQXJyYXkoYm91bmRzKSAmJlxuICAgIGJvdW5kcy5sZW5ndGggPT09IDQgJiZcbiAgICBbYm91bmRzWzBdLCBib3VuZHNbMl1dLmV2ZXJ5KGlzTG5nKSAmJlxuICAgIFtib3VuZHNbMV0sIGJvdW5kc1szXV0uZXZlcnkoaXNMYXQpXG4gICkge1xuICAgIHJldHVybiBib3VuZHM7XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDZW50ZXJBbmRab29tRnJvbUJvdW5kcyhib3VuZHMsIHt3aWR0aCwgaGVpZ2h0fSkge1xuICBjb25zdCB2YWxpZEJvdW5kcyA9IHZhbGlkYXRlQm91bmRzKGJvdW5kcyk7XG4gIGlmICghdmFsaWRCb3VuZHMpIHtcbiAgICBDb25zb2xlLndhcm4oJ2ludmFsaWQgbWFwIGJvdW5kcyBwcm92aWRlZCcpO1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgLy8gdmlld3BvcnQoYm91bmRzLCBkaW1lbnNpb25zLCBtaW56b29tLCBtYXh6b29tLCB0aWxlU2l6ZSwgYWxsb3dGbG9hdClcbiAgY29uc3Qge3pvb219ID0gZ2VvVmlld3BvcnQudmlld3BvcnQoXG4gICAgYm91bmRzLFxuICAgIFt3aWR0aCwgaGVpZ2h0XSxcbiAgICB1bmRlZmluZWQsXG4gICAgdW5kZWZpbmVkLFxuICAgIE1BUEJPWF9USUxFX1NJWkVcbiAgKTtcbiAgLy8gY2VudGVyIGJlaW5nIGNhbGN1bGF0ZWQgYnkgZ2VvLXZpZXdlcG9ydC52aWV3cG9ydCBoYXMgYSBjb21wbGV4IGxvZ2ljIHRoYXRcbiAgLy8gcHJvamVjdHMgYW5kIHRoZW4gdW5wcm9qZWN0cyB0aGUgY29vcmRpbmF0ZXMgdG8gZGV0ZXJtaW5lIHRoZSBjZW50ZXJcbiAgLy8gQ2FsY3VsYXRpbmcgYSBzaW1wbGUgYXZlcmFnZSBpbnN0ZWFkIGFzIHRoYXQgaXMgdGhlIGV4cGVjdGVkIGJlaGF2aW9yIGluIG1vc3Qgb2YgY2FzZXNcbiAgY29uc3QgY2VudGVyID0gWyhib3VuZHNbMF0gKyBib3VuZHNbMl0pIC8gMiwgKGJvdW5kc1sxXSArIGJvdW5kc1szXSkgLyAyXTtcblxuICByZXR1cm4ge3pvb20sIGNlbnRlcn07XG59XG5cbi8qKlxuICogQWRkIGV4dHJhIGluZm8gYWJvdXQgc2NyZWVuIHNwYWNlIHBvc2l0aW9uIGFuZCB3b3JsZCBwb3NpdGlvbiB0byB0aGUgZXZlbnQuXG4gKiBAcGFyYW0geyp9IGV2ZW50IEV2ZW50IHRvIG5vcm1hbGl6ZS5cbiAqIEBwYXJhbSB7Kn0gdmlld3BvcnQgQ3VycmVudCB2aWV3cG9ydC5cbiAqIEByZXR1cm5zIE5vcm1hbGl6ZWQgZXZlbnQgd2l0aCBleHRyYSBpbmZvcm1hdGlvbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG5vcm1hbGl6ZUV2ZW50KGV2ZW50OiBhbnksIHZpZXdwb3J0OiBXZWJNZXJjYXRvclZpZXdwb3J0KSB7XG4gIHZhciBib3VuZHMgPSBldmVudC50YXJnZXQ/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICBpZiAoIWJvdW5kcykge1xuICAgIHJldHVybiBldmVudDtcbiAgfVxuXG4gIHZhciB4ID0gZXZlbnQuY2xpZW50WCAtIGJvdW5kcy5sZWZ0O1xuICB2YXIgeSA9IGV2ZW50LmNsaWVudFkgLSBib3VuZHMudG9wO1xuICBpZiAoIU51bWJlci5pc0Zpbml0ZSh4KSB8fCAhTnVtYmVyLmlzRmluaXRlKHkpKSB7XG4gICAgcmV0dXJuIGV2ZW50O1xuICB9XG5cbiAgZXZlbnQucG9pbnQgPSBbeCwgeV07XG4gIGNvbnN0IGxvY2F0aW9uID0gdmlld3BvcnQudW5wcm9qZWN0KGV2ZW50LnBvaW50LCB7dGFyZ2V0WjogMH0pO1xuICBldmVudC5sbmdMYXQgPSBbbG9jYXRpb25bMF0sIGxvY2F0aW9uWzFdXTtcblxuICByZXR1cm4gZXZlbnQ7XG59XG4iXX0=
@@ -1,4 +1,4 @@
1
- // Copyright (c) 2022 Uber Technologies, Inc.
1
+ // Copyright (c) 2023 Uber Technologies, Inc.
2
2
  //
3
3
  // Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  // of this software and associated documentation files (the "Software"), to deal
@@ -269,4 +269,4 @@ var RowDataContainer = /*#__PURE__*/function () {
269
269
  }();
270
270
 
271
271
  exports.RowDataContainer = RowDataContainer;
272
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9yb3ctZGF0YS1jb250YWluZXIudHMiXSwibmFtZXMiOlsicm93c0l0ZXJhdG9yIiwiY29sdW1uSXRlcmF0b3IiLCJkYXRhQ29udGFpbmVyIiwic2hhcmVkUm93IiwibnVtUm93cyIsInJvd0luZGV4Iiwicm93IiwiY29sdW1uSW5kZXgiLCJ2YWx1ZUF0IiwiUm93RGF0YUNvbnRhaW5lciIsImRhdGEiLCJyb3dzIiwiRXJyb3IiLCJBcnJheSIsImlzQXJyYXkiLCJfcm93cyIsIl9udW1Db2x1bW5zIiwibGVuZ3RoIiwidFNoYXJlZFJvdyIsIkRhdGFSb3ciLCJjcmVhdGVTaGFyZWRSb3ciLCJzZXRTb3VyY2UiLCJtYXAiLCJfIiwiaSIsImZ1bmMiLCJvcHRpb25zIiwic3RhcnQiLCJlbmQiLCJlbmRSb3ciLCJNYXRoIiwibWluIiwib3V0IiwicHVzaCIsImluZGV4IiwidW5kZWZpbmVkIiwiaW5pdGlhbFZhbHVlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQW9CQTs7d0RBYVVBLFk7eURBV0FDLGM7O0FBZlY7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFVRCxZQUFWLENBQXVCRSxhQUF2QixFQUE4REMsU0FBOUQ7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ1FDLFVBQUFBLE9BRFIsR0FDa0JGLGFBQWEsQ0FBQ0UsT0FBZCxFQURsQjtBQUVXQyxVQUFBQSxRQUZYLEdBRXNCLENBRnRCOztBQUFBO0FBQUEsZ0JBRXlCQSxRQUFRLEdBQUdELE9BRnBDO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBR0ksaUJBQU1GLGFBQWEsQ0FBQ0ksR0FBZCxDQUFrQkQsUUFBbEIsRUFBNEJGLFNBQTVCLENBQU47O0FBSEo7QUFFNkMsWUFBRUUsUUFGL0M7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBT0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNBLFNBQVVKLGNBQVYsQ0FBeUJDLGFBQXpCLEVBQWdFSyxXQUFoRTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDUUgsVUFBQUEsT0FEUixHQUNrQkYsYUFBYSxDQUFDRSxPQUFkLEVBRGxCO0FBRVdDLFVBQUFBLFFBRlgsR0FFc0IsQ0FGdEI7O0FBQUE7QUFBQSxnQkFFeUJBLFFBQVEsR0FBR0QsT0FGcEM7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFHSSxpQkFBTUYsYUFBYSxDQUFDTSxPQUFkLENBQXNCSCxRQUF0QixFQUFnQ0UsV0FBaEMsQ0FBTjs7QUFISjtBQUU2QyxZQUFFRixRQUYvQztBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFPQTtBQUNBO0FBQ0E7OztJQUNhSSxnQjtBQUlYLDRCQUFZQyxJQUFaLEVBQXlDO0FBQUE7O0FBQUE7QUFBQTtBQUFBOztBQUN2QyxRQUFJLENBQUNBLElBQUksQ0FBQ0MsSUFBVixFQUFnQjtBQUNkLFlBQU1DLEtBQUssQ0FBQyxvQ0FBRCxDQUFYO0FBQ0Q7O0FBRUQsUUFBSSxDQUFDQyxLQUFLLENBQUNDLE9BQU4sQ0FBY0osSUFBSSxDQUFDQyxJQUFuQixDQUFMLEVBQStCO0FBQzdCLFlBQU1DLEtBQUssQ0FBQyw4Q0FBRCxDQUFYO0FBQ0Q7O0FBRUQsU0FBS0csS0FBTCxHQUFhTCxJQUFJLENBQUNDLElBQWxCO0FBQ0EsU0FBS0ssV0FBTCxHQUFtQixnQkFBQU4sSUFBSSxDQUFDQyxJQUFMLENBQVUsQ0FBViw2REFBY00sTUFBZCxLQUF3QixDQUEzQztBQUNEOzs7O1dBRUQsbUJBQWtCO0FBQ2hCLGFBQU8sS0FBS0YsS0FBTCxDQUFXRSxNQUFsQjtBQUNEOzs7V0FFRCxzQkFBcUI7QUFDbkIsYUFBTyxLQUFLRCxXQUFaO0FBQ0Q7OztXQUVELGlCQUFRWCxRQUFSLEVBQTBCRSxXQUExQixFQUFvRDtBQUNsRCxVQUFJLEtBQUtRLEtBQUwsQ0FBV1YsUUFBWCxNQUF5QixJQUE3QixFQUFtQztBQUNqQyxlQUFPLElBQVA7QUFDRDs7QUFDRCxhQUFPLEtBQUtVLEtBQUwsQ0FBV1YsUUFBWCxFQUFxQkUsV0FBckIsQ0FBUDtBQUNEOzs7V0FFRCxhQUFJRixRQUFKLEVBQXNCRixTQUF0QixFQUE2RDtBQUMzRCxVQUFNZSxVQUFVLEdBQUdDLGlCQUFRQyxlQUFSLENBQXdCakIsU0FBeEIsQ0FBbkI7O0FBQ0EsVUFBSWUsVUFBSixFQUFnQjtBQUNkQSxRQUFBQSxVQUFVLENBQUNHLFNBQVgsQ0FBcUIsSUFBckIsRUFBMkJoQixRQUEzQjtBQUNBLGVBQU9hLFVBQVA7QUFDRDs7QUFFRCxhQUFPLElBQUlDLGdCQUFKLENBQVksSUFBWixFQUFrQmQsUUFBbEIsQ0FBUDtBQUNEOzs7V0FFRCxvQkFBV0EsUUFBWCxFQUFvQztBQUNsQyxhQUFPLEtBQUtVLEtBQUwsQ0FBV1YsUUFBWCxDQUFQO0FBQ0Q7OztXQUVELGNBQUtGLFNBQUwsRUFBa0M7QUFDaEMsVUFBTWUsVUFBVSxHQUFHQyxpQkFBUUMsZUFBUixDQUF3QmpCLFNBQXhCLENBQW5COztBQUNBLGFBQU9ILFlBQVksQ0FBQyxJQUFELEVBQU9rQixVQUFQLENBQW5CO0FBQ0Q7OztXQUVELGdCQUFPWCxXQUFQLEVBQTRCO0FBQzFCLGFBQU9OLGNBQWMsQ0FBQyxJQUFELEVBQU9NLFdBQVAsQ0FBckI7QUFDRDs7O1dBRUQsdUJBQXVCO0FBQ3JCLGFBQU8sS0FBS1EsS0FBWjtBQUNEOzs7V0FFRCx5QkFBMEI7QUFDeEIsYUFBTyxLQUFLQSxLQUFMLENBQVdPLEdBQVgsQ0FBZSxVQUFDQyxDQUFELEVBQUlDLENBQUo7QUFBQSxlQUFVQSxDQUFWO0FBQUEsT0FBZixDQUFQO0FBQ0Q7OztXQUVELGFBQ0VDLElBREYsRUFFRXRCLFNBRkYsRUFJTztBQUFBLFVBREx1QixPQUNLLHVFQURtQixFQUNuQjs7QUFDTCxVQUFNUixVQUFVLEdBQUdDLGlCQUFRQyxlQUFSLENBQXdCakIsU0FBeEIsQ0FBbkI7O0FBREssMkJBR3FDdUIsT0FIckMsQ0FHRUMsS0FIRjtBQUFBLFVBR0VBLEtBSEYsK0JBR1UsQ0FIVjtBQUFBLHlCQUdxQ0QsT0FIckMsQ0FHYUUsR0FIYjtBQUFBLFVBR2FBLEdBSGIsNkJBR21CLEtBQUt4QixPQUFMLEVBSG5CO0FBSUwsVUFBTXlCLE1BQU0sR0FBR0MsSUFBSSxDQUFDQyxHQUFMLENBQVMsS0FBSzNCLE9BQUwsRUFBVCxFQUF5QndCLEdBQXpCLENBQWY7QUFFQSxVQUFNSSxHQUFRLEdBQUcsRUFBakI7O0FBQ0EsV0FBSyxJQUFJM0IsUUFBUSxHQUFHc0IsS0FBcEIsRUFBMkJ0QixRQUFRLEdBQUd3QixNQUF0QyxFQUE4QyxFQUFFeEIsUUFBaEQsRUFBMEQ7QUFDeEQsWUFBTUMsSUFBRyxHQUFHLEtBQUtBLEdBQUwsQ0FBU0QsUUFBVCxFQUFtQmEsVUFBbkIsQ0FBWjs7QUFDQWMsUUFBQUEsR0FBRyxDQUFDQyxJQUFKLENBQVNSLElBQUksQ0FBQ25CLElBQUQsRUFBTUQsUUFBTixDQUFiO0FBQ0Q7O0FBQ0QsYUFBTzJCLEdBQVA7QUFDRDs7O1dBRUQsa0JBQ0VQLElBREYsRUFHTztBQUFBLFVBRExDLE9BQ0ssdUVBRG1CLEVBQ25CO0FBQUEsNEJBQ3FDQSxPQURyQyxDQUNFQyxLQURGO0FBQUEsVUFDRUEsS0FERixnQ0FDVSxDQURWO0FBQUEsMEJBQ3FDRCxPQURyQyxDQUNhRSxHQURiO0FBQUEsVUFDYUEsR0FEYiw4QkFDbUIsS0FBS3hCLE9BQUwsRUFEbkI7QUFFTCxVQUFNeUIsTUFBTSxHQUFHQyxJQUFJLENBQUNDLEdBQUwsQ0FBUyxLQUFLM0IsT0FBTCxFQUFULEVBQXlCd0IsR0FBekIsQ0FBZjtBQUVBLFVBQU1JLEdBQVEsR0FBRyxFQUFqQjs7QUFDQSxXQUFLLElBQUkzQixRQUFRLEdBQUdzQixLQUFwQixFQUEyQnRCLFFBQVEsR0FBR3dCLE1BQXRDLEVBQThDLEVBQUV4QixRQUFoRCxFQUEwRDtBQUN4RDJCLFFBQUFBLEdBQUcsQ0FBQ0MsSUFBSixDQUFTUixJQUFJLENBQUM7QUFBQ1MsVUFBQUEsS0FBSyxFQUFFN0I7QUFBUixTQUFELEVBQW9CLElBQXBCLENBQWI7QUFDRDs7QUFDRCxhQUFPMkIsR0FBUDtBQUNEOzs7V0FFRCxjQUNFUCxJQURGLEVBRUV0QixTQUZGLEVBR3VCO0FBQ3JCLFVBQU1lLFVBQVUsR0FBR0MsaUJBQVFDLGVBQVIsQ0FBd0JqQixTQUF4QixDQUFuQjs7QUFFQSxXQUFLLElBQUlFLFFBQVEsR0FBRyxDQUFwQixFQUF1QkEsUUFBUSxHQUFHLEtBQUtVLEtBQUwsQ0FBV0UsTUFBN0MsRUFBcUQsRUFBRVosUUFBdkQsRUFBaUU7QUFDL0QsWUFBTUMsS0FBRyxHQUFHLEtBQUtBLEdBQUwsQ0FBU0QsUUFBVCxFQUFtQmEsVUFBbkIsQ0FBWjs7QUFDQSxZQUFJTyxJQUFJLENBQUNuQixLQUFELEVBQU1ELFFBQU4sQ0FBUixFQUF5QjtBQUN2QixpQkFBT0MsS0FBUDtBQUNEO0FBQ0Y7O0FBQ0QsYUFBTzZCLFNBQVA7QUFDRDs7O1dBRUQsZ0JBQ0VWLElBREYsRUFFRVcsWUFGRixFQUdFakMsU0FIRixFQUlLO0FBQ0gsVUFBTWUsVUFBVSxHQUFHQyxpQkFBUUMsZUFBUixDQUF3QmpCLFNBQXhCLENBQW5COztBQUVBLFdBQUssSUFBSUUsUUFBUSxHQUFHLENBQXBCLEVBQXVCQSxRQUFRLEdBQUcsS0FBS1UsS0FBTCxDQUFXRSxNQUE3QyxFQUFxRCxFQUFFWixRQUF2RCxFQUFpRTtBQUMvRCxZQUFNQyxLQUFHLEdBQUcsS0FBS0EsR0FBTCxDQUFTRCxRQUFULEVBQW1CYSxVQUFuQixDQUFaOztBQUNBa0IsUUFBQUEsWUFBWSxHQUFHWCxJQUFJLENBQUNXLFlBQUQsRUFBZTlCLEtBQWYsRUFBb0JELFFBQXBCLENBQW5CO0FBQ0Q7O0FBQ0QsYUFBTytCLFlBQVA7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMiBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCB7RGF0YVJvdywgU2hhcmVkUm93T3B0aW9uc30gZnJvbSAnLi9kYXRhLXJvdyc7XG5pbXBvcnQge0ZpZWxkfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcbmltcG9ydCB7RGF0YUNvbnRhaW5lckludGVyZmFjZSwgUmFuZ2VPcHRpb25zfSBmcm9tICcuL2RhdGEtY29udGFpbmVyLWludGVyZmFjZSc7XG5cbnR5cGUgUm93RGF0YUNvbnRhaW5lcklucHV0ID0ge1xuICByb3dzOiBhbnlbXVtdO1xuICBmaWVsZHM/OiBGaWVsZFtdO1xufTtcblxuLyoqXG4gKiBAcGFyYW0gZGF0YUNvbnRhaW5lclxuICogQHBhcmFtIHNoYXJlZFJvd1xuICovXG5mdW5jdGlvbiogcm93c0l0ZXJhdG9yKGRhdGFDb250YWluZXI6IERhdGFDb250YWluZXJJbnRlcmZhY2UsIHNoYXJlZFJvdzogU2hhcmVkUm93T3B0aW9ucykge1xuICBjb25zdCBudW1Sb3dzID0gZGF0YUNvbnRhaW5lci5udW1Sb3dzKCk7XG4gIGZvciAobGV0IHJvd0luZGV4ID0gMDsgcm93SW5kZXggPCBudW1Sb3dzOyArK3Jvd0luZGV4KSB7XG4gICAgeWllbGQgZGF0YUNvbnRhaW5lci5yb3cocm93SW5kZXgsIHNoYXJlZFJvdyk7XG4gIH1cbn1cblxuLyoqXG4gKiBAcGFyYW0gZGF0YUNvbnRhaW5lclxuICogQHBhcmFtIGNvbHVtbkluZGV4XG4gKi9cbmZ1bmN0aW9uKiBjb2x1bW5JdGVyYXRvcihkYXRhQ29udGFpbmVyOiBEYXRhQ29udGFpbmVySW50ZXJmYWNlLCBjb2x1bW5JbmRleDogbnVtYmVyKSB7XG4gIGNvbnN0IG51bVJvd3MgPSBkYXRhQ29udGFpbmVyLm51bVJvd3MoKTtcbiAgZm9yIChsZXQgcm93SW5kZXggPSAwOyByb3dJbmRleCA8IG51bVJvd3M7ICsrcm93SW5kZXgpIHtcbiAgICB5aWVsZCBkYXRhQ29udGFpbmVyLnZhbHVlQXQocm93SW5kZXgsIGNvbHVtbkluZGV4KTtcbiAgfVxufVxuXG4vKipcbiAqIEEgZGF0YSBjb250YWluZXIgd2hlcmUgYWxsIGRhdGEgaXMgc3RvcmVkIGludGVybmFsbHkgYXMgYSAyRCBhcnJheS5cbiAqL1xuZXhwb3J0IGNsYXNzIFJvd0RhdGFDb250YWluZXIgaW1wbGVtZW50cyBEYXRhQ29udGFpbmVySW50ZXJmYWNlIHtcbiAgX3Jvd3M6IGFueVtdW107XG4gIF9udW1Db2x1bW5zOiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IoZGF0YTogUm93RGF0YUNvbnRhaW5lcklucHV0KSB7XG4gICAgaWYgKCFkYXRhLnJvd3MpIHtcbiAgICAgIHRocm93IEVycm9yKCdSb3dEYXRhQ29udGFpbmVyOiBubyByb3dzIHByb3ZpZGVkJyk7XG4gICAgfVxuXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KGRhdGEucm93cykpIHtcbiAgICAgIHRocm93IEVycm9yKFwiUm93RGF0YUNvbnRhaW5lcjogcm93cyBvYmplY3QgaXNuJ3QgYW4gYXJyYXlcIik7XG4gICAgfVxuXG4gICAgdGhpcy5fcm93cyA9IGRhdGEucm93cztcbiAgICB0aGlzLl9udW1Db2x1bW5zID0gZGF0YS5yb3dzWzBdPy5sZW5ndGggfHwgMDtcbiAgfVxuXG4gIG51bVJvd3MoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fcm93cy5sZW5ndGg7XG4gIH1cblxuICBudW1Db2x1bW5zKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX251bUNvbHVtbnM7XG4gIH1cblxuICB2YWx1ZUF0KHJvd0luZGV4OiBudW1iZXIsIGNvbHVtbkluZGV4OiBudW1iZXIpOiBhbnkge1xuICAgIGlmICh0aGlzLl9yb3dzW3Jvd0luZGV4XSA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9yb3dzW3Jvd0luZGV4XVtjb2x1bW5JbmRleF07XG4gIH1cblxuICByb3cocm93SW5kZXg6IG51bWJlciwgc2hhcmVkUm93PzogU2hhcmVkUm93T3B0aW9ucyk6IERhdGFSb3cge1xuICAgIGNvbnN0IHRTaGFyZWRSb3cgPSBEYXRhUm93LmNyZWF0ZVNoYXJlZFJvdyhzaGFyZWRSb3cpO1xuICAgIGlmICh0U2hhcmVkUm93KSB7XG4gICAgICB0U2hhcmVkUm93LnNldFNvdXJjZSh0aGlzLCByb3dJbmRleCk7XG4gICAgICByZXR1cm4gdFNoYXJlZFJvdztcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IERhdGFSb3codGhpcywgcm93SW5kZXgpO1xuICB9XG5cbiAgcm93QXNBcnJheShyb3dJbmRleDogbnVtYmVyKTogYW55W10ge1xuICAgIHJldHVybiB0aGlzLl9yb3dzW3Jvd0luZGV4XTtcbiAgfVxuXG4gIHJvd3Moc2hhcmVkUm93OiBTaGFyZWRSb3dPcHRpb25zKSB7XG4gICAgY29uc3QgdFNoYXJlZFJvdyA9IERhdGFSb3cuY3JlYXRlU2hhcmVkUm93KHNoYXJlZFJvdyk7XG4gICAgcmV0dXJuIHJvd3NJdGVyYXRvcih0aGlzLCB0U2hhcmVkUm93KTtcbiAgfVxuXG4gIGNvbHVtbihjb2x1bW5JbmRleDogbnVtYmVyKSB7XG4gICAgcmV0dXJuIGNvbHVtbkl0ZXJhdG9yKHRoaXMsIGNvbHVtbkluZGV4KTtcbiAgfVxuXG4gIGZsYXR0ZW5EYXRhKCk6IGFueVtdW10ge1xuICAgIHJldHVybiB0aGlzLl9yb3dzO1xuICB9XG5cbiAgZ2V0UGxhaW5JbmRleCgpOiBudW1iZXJbXSB7XG4gICAgcmV0dXJuIHRoaXMuX3Jvd3MubWFwKChfLCBpKSA9PiBpKTtcbiAgfVxuXG4gIG1hcDxUPihcbiAgICBmdW5jOiAocm93OiBEYXRhUm93LCBpbmRleDogbnVtYmVyKSA9PiBULFxuICAgIHNoYXJlZFJvdz86IFNoYXJlZFJvd09wdGlvbnMsXG4gICAgb3B0aW9uczogUmFuZ2VPcHRpb25zID0ge31cbiAgKTogVFtdIHtcbiAgICBjb25zdCB0U2hhcmVkUm93ID0gRGF0YVJvdy5jcmVhdGVTaGFyZWRSb3coc2hhcmVkUm93KTtcblxuICAgIGNvbnN0IHtzdGFydCA9IDAsIGVuZCA9IHRoaXMubnVtUm93cygpfSA9IG9wdGlvbnM7XG4gICAgY29uc3QgZW5kUm93ID0gTWF0aC5taW4odGhpcy5udW1Sb3dzKCksIGVuZCk7XG5cbiAgICBjb25zdCBvdXQ6IFRbXSA9IFtdO1xuICAgIGZvciAobGV0IHJvd0luZGV4ID0gc3RhcnQ7IHJvd0luZGV4IDwgZW5kUm93OyArK3Jvd0luZGV4KSB7XG4gICAgICBjb25zdCByb3cgPSB0aGlzLnJvdyhyb3dJbmRleCwgdFNoYXJlZFJvdyk7XG4gICAgICBvdXQucHVzaChmdW5jKHJvdywgcm93SW5kZXgpKTtcbiAgICB9XG4gICAgcmV0dXJuIG91dDtcbiAgfVxuXG4gIG1hcEluZGV4PFQ+KFxuICAgIGZ1bmM6ICh7aW5kZXg6IG51bWJlcn0sIGRjOiBEYXRhQ29udGFpbmVySW50ZXJmYWNlKSA9PiBULFxuICAgIG9wdGlvbnM6IFJhbmdlT3B0aW9ucyA9IHt9XG4gICk6IFRbXSB7XG4gICAgY29uc3Qge3N0YXJ0ID0gMCwgZW5kID0gdGhpcy5udW1Sb3dzKCl9ID0gb3B0aW9ucztcbiAgICBjb25zdCBlbmRSb3cgPSBNYXRoLm1pbih0aGlzLm51bVJvd3MoKSwgZW5kKTtcblxuICAgIGNvbnN0IG91dDogVFtdID0gW107XG4gICAgZm9yIChsZXQgcm93SW5kZXggPSBzdGFydDsgcm93SW5kZXggPCBlbmRSb3c7ICsrcm93SW5kZXgpIHtcbiAgICAgIG91dC5wdXNoKGZ1bmMoe2luZGV4OiByb3dJbmRleH0sIHRoaXMpKTtcbiAgICB9XG4gICAgcmV0dXJuIG91dDtcbiAgfVxuXG4gIGZpbmQoXG4gICAgZnVuYzogKHJvdzogRGF0YVJvdywgaW5kZXg6IG51bWJlcikgPT4gYm9vbGVhbixcbiAgICBzaGFyZWRSb3c/OiBTaGFyZWRSb3dPcHRpb25zXG4gICk6IERhdGFSb3cgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHRTaGFyZWRSb3cgPSBEYXRhUm93LmNyZWF0ZVNoYXJlZFJvdyhzaGFyZWRSb3cpO1xuXG4gICAgZm9yIChsZXQgcm93SW5kZXggPSAwOyByb3dJbmRleCA8IHRoaXMuX3Jvd3MubGVuZ3RoOyArK3Jvd0luZGV4KSB7XG4gICAgICBjb25zdCByb3cgPSB0aGlzLnJvdyhyb3dJbmRleCwgdFNoYXJlZFJvdyk7XG4gICAgICBpZiAoZnVuYyhyb3csIHJvd0luZGV4KSkge1xuICAgICAgICByZXR1cm4gcm93O1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcmVkdWNlPFQ+KFxuICAgIGZ1bmM6IChhY2M6IFQsIHJvdzogRGF0YVJvdywgaW5kZXg6IG51bWJlcikgPT4gVCxcbiAgICBpbml0aWFsVmFsdWU6IFQsXG4gICAgc2hhcmVkUm93PzogU2hhcmVkUm93T3B0aW9uc1xuICApOiBUIHtcbiAgICBjb25zdCB0U2hhcmVkUm93ID0gRGF0YVJvdy5jcmVhdGVTaGFyZWRSb3coc2hhcmVkUm93KTtcblxuICAgIGZvciAobGV0IHJvd0luZGV4ID0gMDsgcm93SW5kZXggPCB0aGlzLl9yb3dzLmxlbmd0aDsgKytyb3dJbmRleCkge1xuICAgICAgY29uc3Qgcm93ID0gdGhpcy5yb3cocm93SW5kZXgsIHRTaGFyZWRSb3cpO1xuICAgICAgaW5pdGlhbFZhbHVlID0gZnVuYyhpbml0aWFsVmFsdWUsIHJvdywgcm93SW5kZXgpO1xuICAgIH1cbiAgICByZXR1cm4gaW5pdGlhbFZhbHVlO1xuICB9XG59XG4iXX0=
272
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9yb3ctZGF0YS1jb250YWluZXIudHMiXSwibmFtZXMiOlsicm93c0l0ZXJhdG9yIiwiY29sdW1uSXRlcmF0b3IiLCJkYXRhQ29udGFpbmVyIiwic2hhcmVkUm93IiwibnVtUm93cyIsInJvd0luZGV4Iiwicm93IiwiY29sdW1uSW5kZXgiLCJ2YWx1ZUF0IiwiUm93RGF0YUNvbnRhaW5lciIsImRhdGEiLCJyb3dzIiwiRXJyb3IiLCJBcnJheSIsImlzQXJyYXkiLCJfcm93cyIsIl9udW1Db2x1bW5zIiwibGVuZ3RoIiwidFNoYXJlZFJvdyIsIkRhdGFSb3ciLCJjcmVhdGVTaGFyZWRSb3ciLCJzZXRTb3VyY2UiLCJtYXAiLCJfIiwiaSIsImZ1bmMiLCJvcHRpb25zIiwic3RhcnQiLCJlbmQiLCJlbmRSb3ciLCJNYXRoIiwibWluIiwib3V0IiwicHVzaCIsImluZGV4IiwidW5kZWZpbmVkIiwiaW5pdGlhbFZhbHVlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQW9CQTs7d0RBYVVBLFk7eURBV0FDLGM7O0FBZlY7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFVRCxZQUFWLENBQXVCRSxhQUF2QixFQUE4REMsU0FBOUQ7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ1FDLFVBQUFBLE9BRFIsR0FDa0JGLGFBQWEsQ0FBQ0UsT0FBZCxFQURsQjtBQUVXQyxVQUFBQSxRQUZYLEdBRXNCLENBRnRCOztBQUFBO0FBQUEsZ0JBRXlCQSxRQUFRLEdBQUdELE9BRnBDO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBR0ksaUJBQU1GLGFBQWEsQ0FBQ0ksR0FBZCxDQUFrQkQsUUFBbEIsRUFBNEJGLFNBQTVCLENBQU47O0FBSEo7QUFFNkMsWUFBRUUsUUFGL0M7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBT0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNBLFNBQVVKLGNBQVYsQ0FBeUJDLGFBQXpCLEVBQWdFSyxXQUFo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RCxjQUNFUCxJQURGLEVBRUV0QixTQUZGLEVBR3VCO0FBQ3JCLFVBQU1lLFVBQVUsR0FBR0MsaUJBQVFDLGVBQVIsQ0FBd0JqQixTQUF4QixDQUFuQjs7QUFFQSxXQUFLLElBQUlFLFFBQVEsR0FBRyxDQUFwQixFQUF1QkEsUUFBUSxHQUFHLEtBQUtVLEtBQUwsQ0FBV0UsTUFBN0MsRUFBcUQsRUFBRVosUUFBdkQsRUFBaUU7QUFDL0QsWUFBTUMsS0FBRyxHQUFHLEtBQUtBLEdBQUwsQ0FBU0QsUUFBVCxFQUFtQmEsVUFBbkIsQ0FBWjs7QUFDQSxZQUFJTyxJQUFJLENBQUNuQixLQUFELEVBQU1ELFFBQU4sQ0FBUixFQUF5QjtBQUN2QixpQkFBT0MsS0FBUDtBQUNEO0FBQ0Y7O0FBQ0QsYUFBTzZCLFNBQVA7QUFDRDs7O1dBRUQsZ0JBQ0VWLElBREYsRUFFRVcsWUFGRixFQUdFakMsU0FIRixFQUlLO0FBQ0gsVUFBTWUsVUFBVSxHQUFHQyxpQkFBUUMsZUFBUixDQUF3QmpCLFNBQXhCLENBQW5COztBQUVBLFdBQUssSUFBSUUsUUFBUSxHQUFHLENBQXBCLEVBQXVCQSxRQUFRLEdBQUcsS0FBS1UsS0FBTCxDQUFXRSxNQUE3QyxFQUFxRCxFQUFFWixRQUF2RCxFQUFpRTtBQUMvRCxZQUFNQyxLQUFHLEdBQUcsS0FBS0EsR0FBTCxDQUFTRCxRQUFULEVBQW1CYSxVQUFuQixDQUFaOztBQUNBa0IsUUFBQUEsWUFBWSxHQUFHWCxJQUFJLENBQUNXLFlBQUQsRUFBZTlCLEtBQWYsRUFBb0JELFFBQXBCLENBQW5CO0FBQ0Q7O0FBQ0QsYUFBTytCLFlBQVA7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMyBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCB7RGF0YVJvdywgU2hhcmVkUm93T3B0aW9uc30gZnJvbSAnLi9kYXRhLXJvdyc7XG5pbXBvcnQge0ZpZWxkfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcbmltcG9ydCB7RGF0YUNvbnRhaW5lckludGVyZmFjZSwgUmFuZ2VPcHRpb25zfSBmcm9tICcuL2RhdGEtY29udGFpbmVyLWludGVyZmFjZSc7XG5cbnR5cGUgUm93RGF0YUNvbnRhaW5lcklucHV0ID0ge1xuICByb3dzOiBhbnlbXVtdO1xuICBmaWVsZHM/OiBGaWVsZFtdO1xufTtcblxuLyoqXG4gKiBAcGFyYW0gZGF0YUNvbnRhaW5lclxuICogQHBhcmFtIHNoYXJlZFJvd1xuICovXG5mdW5jdGlvbiogcm93c0l0ZXJhdG9yKGRhdGFDb250YWluZXI6IERhdGFDb250YWluZXJJbnRlcmZhY2UsIHNoYXJlZFJvdzogU2hhcmVkUm93T3B0aW9ucykge1xuICBjb25zdCBudW1Sb3dzID0gZGF0YUNvbnRhaW5lci5udW1Sb3dzKCk7XG4gIGZvciAobGV0IHJvd0luZGV4ID0gMDsgcm93SW5kZXggPCBudW1Sb3dzOyArK3Jvd0luZGV4KSB7XG4gICAgeWllbGQgZGF0YUNvbnRhaW5lci5yb3cocm93SW5kZXgsIHNoYXJlZFJvdyk7XG4gIH1cbn1cblxuLyoqXG4gKiBAcGFyYW0gZGF0YUNvbnRhaW5lclxuICogQHBhcmFtIGNvbHVtbkluZGV4XG4gKi9cbmZ1bmN0aW9uKiBjb2x1bW5JdGVyYXRvcihkYXRhQ29udGFpbmVyOiBEYXRhQ29udGFpbmVySW50ZXJmYWNlLCBjb2x1bW5JbmRleDogbnVtYmVyKSB7XG4gIGNvbnN0IG51bVJvd3MgPSBkYXRhQ29udGFpbmVyLm51bVJvd3MoKTtcbiAgZm9yIChsZXQgcm93SW5kZXggPSAwOyByb3dJbmRleCA8IG51bVJvd3M7ICsrcm93SW5kZXgpIHtcbiAgICB5aWVsZCBkYXRhQ29udGFpbmVyLnZhbHVlQXQocm93SW5kZXgsIGNvbHVtbkluZGV4KTtcbiAgfVxufVxuXG4vKipcbiAqIEEgZGF0YSBjb250YWluZXIgd2hlcmUgYWxsIGRhdGEgaXMgc3RvcmVkIGludGVybmFsbHkgYXMgYSAyRCBhcnJheS5cbiAqL1xuZXhwb3J0IGNsYXNzIFJvd0RhdGFDb250YWluZXIgaW1wbGVtZW50cyBEYXRhQ29udGFpbmVySW50ZXJmYWNlIHtcbiAgX3Jvd3M6IGFueVtdW107XG4gIF9udW1Db2x1bW5zOiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IoZGF0YTogUm93RGF0YUNvbnRhaW5lcklucHV0KSB7XG4gICAgaWYgKCFkYXRhLnJvd3MpIHtcbiAgICAgIHRocm93IEVycm9yKCdSb3dEYXRhQ29udGFpbmVyOiBubyByb3dzIHByb3ZpZGVkJyk7XG4gICAgfVxuXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KGRhdGEucm93cykpIHtcbiAgICAgIHRocm93IEVycm9yKFwiUm93RGF0YUNvbnRhaW5lcjogcm93cyBvYmplY3QgaXNuJ3QgYW4gYXJyYXlcIik7XG4gICAgfVxuXG4gICAgdGhpcy5fcm93cyA9IGRhdGEucm93cztcbiAgICB0aGlzLl9udW1Db2x1bW5zID0gZGF0YS5yb3dzWzBdPy5sZW5ndGggfHwgMDtcbiAgfVxuXG4gIG51bVJvd3MoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fcm93cy5sZW5ndGg7XG4gIH1cblxuICBudW1Db2x1bW5zKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX251bUNvbHVtbnM7XG4gIH1cblxuICB2YWx1ZUF0KHJvd0luZGV4OiBudW1iZXIsIGNvbHVtbkluZGV4OiBudW1iZXIpOiBhbnkge1xuICAgIGlmICh0aGlzLl9yb3dzW3Jvd0luZGV4XSA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9yb3dzW3Jvd0luZGV4XVtjb2x1bW5JbmRleF07XG4gIH1cblxuICByb3cocm93SW5kZXg6IG51bWJlciwgc2hhcmVkUm93PzogU2hhcmVkUm93T3B0aW9ucyk6IERhdGFSb3cge1xuICAgIGNvbnN0IHRTaGFyZWRSb3cgPSBEYXRhUm93LmNyZWF0ZVNoYXJlZFJvdyhzaGFyZWRSb3cpO1xuICAgIGlmICh0U2hhcmVkUm93KSB7XG4gICAgICB0U2hhcmVkUm93LnNldFNvdXJjZSh0aGlzLCByb3dJbmRleCk7XG4gICAgICByZXR1cm4gdFNoYXJlZFJvdztcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IERhdGFSb3codGhpcywgcm93SW5kZXgpO1xuICB9XG5cbiAgcm93QXNBcnJheShyb3dJbmRleDogbnVtYmVyKTogYW55W10ge1xuICAgIHJldHVybiB0aGlzLl9yb3dzW3Jvd0luZGV4XTtcbiAgfVxuXG4gIHJvd3Moc2hhcmVkUm93OiBTaGFyZWRSb3dPcHRpb25zKSB7XG4gICAgY29uc3QgdFNoYXJlZFJvdyA9IERhdGFSb3cuY3JlYXRlU2hhcmVkUm93KHNoYXJlZFJvdyk7XG4gICAgcmV0dXJuIHJvd3NJdGVyYXRvcih0aGlzLCB0U2hhcmVkUm93KTtcbiAgfVxuXG4gIGNvbHVtbihjb2x1bW5JbmRleDogbnVtYmVyKSB7XG4gICAgcmV0dXJuIGNvbHVtbkl0ZXJhdG9yKHRoaXMsIGNvbHVtbkluZGV4KTtcbiAgfVxuXG4gIGZsYXR0ZW5EYXRhKCk6IGFueVtdW10ge1xuICAgIHJldHVybiB0aGlzLl9yb3dzO1xuICB9XG5cbiAgZ2V0UGxhaW5JbmRleCgpOiBudW1iZXJbXSB7XG4gICAgcmV0dXJuIHRoaXMuX3Jvd3MubWFwKChfLCBpKSA9PiBpKTtcbiAgfVxuXG4gIG1hcDxUPihcbiAgICBmdW5jOiAocm93OiBEYXRhUm93LCBpbmRleDogbnVtYmVyKSA9PiBULFxuICAgIHNoYXJlZFJvdz86IFNoYXJlZFJvd09wdGlvbnMsXG4gICAgb3B0aW9uczogUmFuZ2VPcHRpb25zID0ge31cbiAgKTogVFtdIHtcbiAgICBjb25zdCB0U2hhcmVkUm93ID0gRGF0YVJvdy5jcmVhdGVTaGFyZWRSb3coc2hhcmVkUm93KTtcblxuICAgIGNvbnN0IHtzdGFydCA9IDAsIGVuZCA9IHRoaXMubnVtUm93cygpfSA9IG9wdGlvbnM7XG4gICAgY29uc3QgZW5kUm93ID0gTWF0aC5taW4odGhpcy5udW1Sb3dzKCksIGVuZCk7XG5cbiAgICBjb25zdCBvdXQ6IFRbXSA9IFtdO1xuICAgIGZvciAobGV0IHJvd0luZGV4ID0gc3RhcnQ7IHJvd0luZGV4IDwgZW5kUm93OyArK3Jvd0luZGV4KSB7XG4gICAgICBjb25zdCByb3cgPSB0aGlzLnJvdyhyb3dJbmRleCwgdFNoYXJlZFJvdyk7XG4gICAgICBvdXQucHVzaChmdW5jKHJvdywgcm93SW5kZXgpKTtcbiAgICB9XG4gICAgcmV0dXJuIG91dDtcbiAgfVxuXG4gIG1hcEluZGV4PFQ+KFxuICAgIGZ1bmM6ICh7aW5kZXg6IG51bWJlcn0sIGRjOiBEYXRhQ29udGFpbmVySW50ZXJmYWNlKSA9PiBULFxuICAgIG9wdGlvbnM6IFJhbmdlT3B0aW9ucyA9IHt9XG4gICk6IFRbXSB7XG4gICAgY29uc3Qge3N0YXJ0ID0gMCwgZW5kID0gdGhpcy5udW1Sb3dzKCl9ID0gb3B0aW9ucztcbiAgICBjb25zdCBlbmRSb3cgPSBNYXRoLm1pbih0aGlzLm51bVJvd3MoKSwgZW5kKTtcblxuICAgIGNvbnN0IG91dDogVFtdID0gW107XG4gICAgZm9yIChsZXQgcm93SW5kZXggPSBzdGFydDsgcm93SW5kZXggPCBlbmRSb3c7ICsrcm93SW5kZXgpIHtcbiAgICAgIG91dC5wdXNoKGZ1bmMoe2luZGV4OiByb3dJbmRleH0sIHRoaXMpKTtcbiAgICB9XG4gICAgcmV0dXJuIG91dDtcbiAgfVxuXG4gIGZpbmQoXG4gICAgZnVuYzogKHJvdzogRGF0YVJvdywgaW5kZXg6IG51bWJlcikgPT4gYm9vbGVhbixcbiAgICBzaGFyZWRSb3c/OiBTaGFyZWRSb3dPcHRpb25zXG4gICk6IERhdGFSb3cgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHRTaGFyZWRSb3cgPSBEYXRhUm93LmNyZWF0ZVNoYXJlZFJvdyhzaGFyZWRSb3cpO1xuXG4gICAgZm9yIChsZXQgcm93SW5kZXggPSAwOyByb3dJbmRleCA8IHRoaXMuX3Jvd3MubGVuZ3RoOyArK3Jvd0luZGV4KSB7XG4gICAgICBjb25zdCByb3cgPSB0aGlzLnJvdyhyb3dJbmRleCwgdFNoYXJlZFJvdyk7XG4gICAgICBpZiAoZnVuYyhyb3csIHJvd0luZGV4KSkge1xuICAgICAgICByZXR1cm4gcm93O1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcmVkdWNlPFQ+KFxuICAgIGZ1bmM6IChhY2M6IFQsIHJvdzogRGF0YVJvdywgaW5kZXg6IG51bWJlcikgPT4gVCxcbiAgICBpbml0aWFsVmFsdWU6IFQsXG4gICAgc2hhcmVkUm93PzogU2hhcmVkUm93T3B0aW9uc1xuICApOiBUIHtcbiAgICBjb25zdCB0U2hhcmVkUm93ID0gRGF0YVJvdy5jcmVhdGVTaGFyZWRSb3coc2hhcmVkUm93KTtcblxuICAgIGZvciAobGV0IHJvd0luZGV4ID0gMDsgcm93SW5kZXggPCB0aGlzLl9yb3dzLmxlbmd0aDsgKytyb3dJbmRleCkge1xuICAgICAgY29uc3Qgcm93ID0gdGhpcy5yb3cocm93SW5kZXgsIHRTaGFyZWRSb3cpO1xuICAgICAgaW5pdGlhbFZhbHVlID0gZnVuYyhpbml0aWFsVmFsdWUsIHJvdywgcm93SW5kZXgpO1xuICAgIH1cbiAgICByZXR1cm4gaW5pdGlhbFZhbHVlO1xuICB9XG59XG4iXX0=
@@ -1,4 +1,4 @@
1
- // Copyright (c) 2022 Uber Technologies, Inc.
1
+ // Copyright (c) 2023 Uber Technologies, Inc.
2
2
  //
3
3
  // Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  // of this software and associated documentation files (the "Software"), to deal
@@ -40,4 +40,4 @@ function simpleSearcher(autofillValues, page, query, cb) {
40
40
  return matches;
41
41
  }
42
42
  /* eslint-enable callback-return */
43
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zZWFyY2hlci11dGlscy50cyJdLCJuYW1lcyI6WyJzaW1wbGVTZWFyY2hlciIsImF1dG9maWxsVmFsdWVzIiwicGFnZSIsInF1ZXJ5IiwiY2IiLCJyZWdleCIsIlJlZ0V4cCIsImZvdW5kUXVlcnkiLCJtYXRjaGVzIiwiZmlsdGVyIiwiX2ZpbHRlciIsIml0ZW0iLCJ0YWciLCJuYW1lIiwidGVzdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ08sU0FBU0EsY0FBVCxDQUF3QkMsY0FBeEIsRUFBd0NDLElBQXhDLEVBQThDQyxLQUE5QyxFQUFxREMsRUFBckQsRUFBeUQ7QUFDOUQsTUFBSUMsS0FBSyxHQUFHLElBQUlDLE1BQUosQ0FBV0gsS0FBWCxFQUFrQixHQUFsQixDQUFaO0FBQ0EsTUFBSUksVUFBVSxHQUFHLEtBQWpCO0FBQ0EsTUFBSUMsT0FBTyxHQUFHLENBQUNQLGNBQWMsSUFBSSxFQUFuQixFQUF1QlEsTUFBdkIsQ0FBOEIsU0FBU0MsT0FBVCxDQUFpQkMsSUFBakIsRUFBdUI7QUFDakUsUUFBSUMsR0FBRyxHQUFHRCxJQUFJLENBQUNFLElBQWY7QUFDQU4sSUFBQUEsVUFBVSxHQUFHQSxVQUFVLElBQUlLLEdBQUcsS0FBS1QsS0FBbkM7QUFDQSxXQUFPUyxHQUFHLElBQUlQLEtBQUssQ0FBQ1MsSUFBTixDQUFXRixHQUFYLENBQWQ7QUFDRCxHQUphLENBQWQ7O0FBTUEsTUFBSVIsRUFBSixFQUFRO0FBQ05BLElBQUFBLEVBQUUsQ0FBQ0ksT0FBRCxDQUFGO0FBQ0Q7O0FBRUQsU0FBT0EsT0FBUDtBQUNEO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG4vKiBlc2xpbnQtZGlzYWJsZSBjYWxsYmFjay1yZXR1cm4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzaW1wbGVTZWFyY2hlcihhdXRvZmlsbFZhbHVlcywgcGFnZSwgcXVlcnksIGNiKSB7XG4gIHZhciByZWdleCA9IG5ldyBSZWdFeHAocXVlcnksICdpJyk7XG4gIHZhciBmb3VuZFF1ZXJ5ID0gZmFsc2U7XG4gIHZhciBtYXRjaGVzID0gKGF1dG9maWxsVmFsdWVzIHx8IFtdKS5maWx0ZXIoZnVuY3Rpb24gX2ZpbHRlcihpdGVtKSB7XG4gICAgdmFyIHRhZyA9IGl0ZW0ubmFtZTtcbiAgICBmb3VuZFF1ZXJ5ID0gZm91bmRRdWVyeSB8fCB0YWcgPT09IHF1ZXJ5O1xuICAgIHJldHVybiB0YWcgJiYgcmVnZXgudGVzdCh0YWcpO1xuICB9KTtcblxuICBpZiAoY2IpIHtcbiAgICBjYihtYXRjaGVzKTtcbiAgfVxuXG4gIHJldHVybiBtYXRjaGVzO1xufVxuLyogZXNsaW50LWVuYWJsZSBjYWxsYmFjay1yZXR1cm4gKi9cbiJdfQ==
43
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zZWFyY2hlci11dGlscy50cyJdLCJuYW1lcyI6WyJzaW1wbGVTZWFyY2hlciIsImF1dG9maWxsVmFsdWVzIiwicGFnZSIsInF1ZXJ5IiwiY2IiLCJyZWdleCIsIlJlZ0V4cCIsImZvdW5kUXVlcnkiLCJtYXRjaGVzIiwiZmlsdGVyIiwiX2ZpbHRlciIsIml0ZW0iLCJ0YWciLCJuYW1lIiwidGVzdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ08sU0FBU0EsY0FBVCxDQUF3QkMsY0FBeEIsRUFBd0NDLElBQXhDLEVBQThDQyxLQUE5QyxFQUFxREMsRUFBckQsRUFBeUQ7QUFDOUQsTUFBSUMsS0FBSyxHQUFHLElBQUlDLE1BQUosQ0FBV0gsS0FBWCxFQUFrQixHQUFsQixDQUFaO0FBQ0EsTUFBSUksVUFBVSxHQUFHLEtBQWpCO0FBQ0EsTUFBSUMsT0FBTyxHQUFHLENBQUNQLGNBQWMsSUFBSSxFQUFuQixFQUF1QlEsTUFBdkIsQ0FBOEIsU0FBU0MsT0FBVCxDQUFpQkMsSUFBakIsRUFBdUI7QUFDakUsUUFBSUMsR0FBRyxHQUFHRCxJQUFJLENBQUNFLElBQWY7QUFDQU4sSUFBQUEsVUFBVSxHQUFHQSxVQUFVLElBQUlLLEdBQUcsS0FBS1QsS0FBbkM7QUFDQSxXQUFPUyxHQUFHLElBQUlQLEtBQUssQ0FBQ1MsSUFBTixDQUFXRixHQUFYLENBQWQ7QUFDRCxHQUphLENBQWQ7O0FBTUEsTUFBSVIsRUFBSixFQUFRO0FBQ05BLElBQUFBLEVBQUUsQ0FBQ0ksT0FBRCxDQUFGO0FBQ0Q7O0FBRUQsU0FBT0EsT0FBUDtBQUNEO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjMgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG4vKiBlc2xpbnQtZGlzYWJsZSBjYWxsYmFjay1yZXR1cm4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzaW1wbGVTZWFyY2hlcihhdXRvZmlsbFZhbHVlcywgcGFnZSwgcXVlcnksIGNiKSB7XG4gIHZhciByZWdleCA9IG5ldyBSZWdFeHAocXVlcnksICdpJyk7XG4gIHZhciBmb3VuZFF1ZXJ5ID0gZmFsc2U7XG4gIHZhciBtYXRjaGVzID0gKGF1dG9maWxsVmFsdWVzIHx8IFtdKS5maWx0ZXIoZnVuY3Rpb24gX2ZpbHRlcihpdGVtKSB7XG4gICAgdmFyIHRhZyA9IGl0ZW0ubmFtZTtcbiAgICBmb3VuZFF1ZXJ5ID0gZm91bmRRdWVyeSB8fCB0YWcgPT09IHF1ZXJ5O1xuICAgIHJldHVybiB0YWcgJiYgcmVnZXgudGVzdCh0YWcpO1xuICB9KTtcblxuICBpZiAoY2IpIHtcbiAgICBjYihtYXRjaGVzKTtcbiAgfVxuXG4gIHJldHVybiBtYXRjaGVzO1xufVxuLyogZXNsaW50LWVuYWJsZSBjYWxsYmFjay1yZXR1cm4gKi9cbiJdfQ==
@@ -22,8 +22,11 @@ export declare function getInitialMapLayersForSplitMap(layers: any): any;
22
22
  /**
23
23
  * This method will get default splitMap settings based on existing layers
24
24
  * @param {Array<Object>} layers
25
+ * @param {Object} options
25
26
  * @returns {Array<Object>} split map settings
26
27
  */
27
- export declare function computeSplitMapLayers(layers: any): {
28
+ export declare function computeSplitMapLayers(layers: any, options?: {
29
+ duplicate: boolean;
30
+ }): {
28
31
  layers: any;
29
32
  }[];
@@ -1,4 +1,4 @@
1
- // Copyright (c) 2022 Uber Technologies, Inc.
1
+ // Copyright (c) 2023 Uber Technologies, Inc.
2
2
  //
3
3
  // Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  // of this software and associated documentation files (the "Software"), to deal
@@ -113,16 +113,22 @@ function getInitialMapLayersForSplitMap(layers) {
113
113
  /**
114
114
  * This method will get default splitMap settings based on existing layers
115
115
  * @param {Array<Object>} layers
116
+ * @param {Object} options
116
117
  * @returns {Array<Object>} split map settings
117
118
  */
118
119
 
119
120
 
120
- function computeSplitMapLayers(layers) {
121
+ function computeSplitMapLayers(layers, options) {
121
122
  var mapLayers = getInitialMapLayersForSplitMap(layers);
123
+
124
+ var _ref = options || {},
125
+ duplicate = _ref.duplicate; // show all visible layers in left map, leave right map empty
126
+
127
+
122
128
  return [{
123
129
  layers: mapLayers
124
130
  }, {
125
- layers: (0, _lodash["default"])(mapLayers)
131
+ layers: duplicate ? (0, _lodash["default"])(mapLayers) : {}
126
132
  }];
127
133
  }
128
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zcGxpdC1tYXAtdXRpbHMudHMiXSwibmFtZXMiOlsiYWRkTmV3TGF5ZXJzVG9TcGxpdE1hcCIsInNwbGl0TWFwcyIsImxheWVycyIsIm5ld0xheWVycyIsIkFycmF5IiwiaXNBcnJheSIsImxlbmd0aCIsIm1hcCIsInNldHRpbmdzIiwicmVkdWNlIiwiYWNjdSIsIm5ld0xheWVyIiwiaWQiLCJjb25maWciLCJpc1Zpc2libGUiLCJyZW1vdmVMYXllckZyb21TcGxpdE1hcHMiLCJsYXllciIsIl8iLCJnZXRJbml0aWFsTWFwTGF5ZXJzRm9yU3BsaXRNYXAiLCJmaWx0ZXIiLCJjdXJyZW50TGF5ZXIiLCJjb21wdXRlU3BsaXRNYXBMYXllcnMiLCJtYXBMYXllcnMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQW9CQTs7Ozs7Ozs7OztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPLFNBQVNBLHNCQUFULENBQWdDQyxTQUFoQyxFQUEyQ0MsTUFBM0MsRUFBbUQ7QUFDeEQsTUFBTUMsU0FBUyxHQUFHQyxLQUFLLENBQUNDLE9BQU4sQ0FBY0gsTUFBZCxJQUF3QkEsTUFBeEIsR0FBaUMsQ0FBQ0EsTUFBRCxDQUFuRDs7QUFFQSxNQUFJLENBQUNELFNBQVMsQ0FBQ0ssTUFBWCxJQUFxQixDQUFDSCxTQUFTLENBQUNHLE1BQXBDLEVBQTRDO0FBQzFDLFdBQU9MLFNBQVA7QUFDRCxHQUx1RCxDQU94RDtBQUNBOzs7QUFDQSxTQUFPQSxTQUFTLENBQUNNLEdBQVYsQ0FBYyxVQUFBQyxRQUFRO0FBQUEsMkNBQ3hCQSxRQUR3QjtBQUUzQk4sTUFBQUEsTUFBTSxrQ0FDRE0sUUFBUSxDQUFDTixNQURSLEdBRURDLFNBQVMsQ0FBQ00sTUFBVixDQUNELFVBQUNDLElBQUQsRUFBT0MsUUFBUDtBQUFBLGVBQ0U7QUFDQUEsVUFBQUEsUUFBUSxDQUFDQyxFQUFULElBQWVKLFFBQVEsQ0FBQ04sTUFBeEIsSUFBa0MsQ0FBQ1MsUUFBUSxDQUFDRSxNQUFULENBQWdCQyxTQUFuRCxHQUNJSixJQURKLG1DQUdTQSxJQUhULDRDQUlPQyxRQUFRLENBQUNDLEVBSmhCLEVBSXFCRCxRQUFRLENBQUNFLE1BQVQsQ0FBZ0JDLFNBSnJDO0FBRkY7QUFBQSxPQURDLEVBU0QsRUFUQyxDQUZDO0FBRnFCO0FBQUEsR0FBdEIsQ0FBUDtBQWlCRDtBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ08sU0FBU0Msd0JBQVQsQ0FBa0NkLFNBQWxDLEVBQTZDZSxLQUE3QyxFQUFvRDtBQUN6RCxNQUFJLENBQUNmLFNBQVMsQ0FBQ0ssTUFBZixFQUF1QjtBQUNyQixXQUFPTCxTQUFQO0FBQ0Q7O0FBQ0QsU0FBT0EsU0FBUyxDQUFDTSxHQUFWLENBQWMsVUFBQUMsUUFBUSxFQUFJO0FBQy9CO0FBRCtCLDJCQUVPQSxRQUFRLENBQUNOLE1BRmhCO0FBQUEsb0JBRXZCYyxLQUFLLENBQUNKLEVBRmlCO0FBQUEsUUFFWkssQ0FGWTtBQUFBLFFBRU5kLFNBRk07QUFHL0IsMkNBQ0tLLFFBREw7QUFFRU4sTUFBQUEsTUFBTSxFQUFFQztBQUZWO0FBSUQsR0FQTSxDQUFQO0FBUUQ7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNPLFNBQVNlLDhCQUFULENBQXdDaEIsTUFBeEMsRUFBZ0Q7QUFDckQsU0FBT0EsTUFBTSxDQUNWaUIsTUFESSxDQUNHLFVBQUFILEtBQUs7QUFBQSxXQUFJQSxLQUFLLENBQUNILE1BQU4sQ0FBYUMsU0FBakI7QUFBQSxHQURSLEVBRUpMLE1BRkksQ0FHSCxVQUFDTixTQUFELEVBQVlpQixZQUFaO0FBQUEsMkNBQ0tqQixTQURMLDRDQUVHaUIsWUFBWSxDQUFDUixFQUZoQixFQUVxQlEsWUFBWSxDQUFDUCxNQUFiLENBQW9CQyxTQUZ6QztBQUFBLEdBSEcsRUFPSCxFQVBHLENBQVA7QUFTRDtBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNPLFNBQVNPLHFCQUFULENBQStCbkIsTUFBL0IsRUFBdUM7QUFDNUMsTUFBTW9CLFNBQVMsR0FBR0osOEJBQThCLENBQUNoQixNQUFELENBQWhEO0FBRUEsU0FBTyxDQUFDO0FBQUNBLElBQUFBLE1BQU0sRUFBRW9CO0FBQVQsR0FBRCxFQUFzQjtBQUFDcEIsSUFBQUEsTUFBTSxFQUFFLHdCQUFVb0IsU0FBVjtBQUFULEdBQXRCLENBQVA7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMiBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBjbG9uZURlZXAgZnJvbSAnbG9kYXNoLmNsb25lZGVlcCc7XG5cbi8qKlxuICogQWRkIG5ldyBsYXllcnMgdG8gYm90aCBleGlzdGluZyBtYXBzXG4gKiBAcGFyYW0ge09iamVjdH0gc3BsaXRNYXBzXG4gKiBAcGFyYW0ge09iamVjdHxBcnJheTxPYmplY3Q+fSBsYXllcnNcbiAqIEByZXR1cm5zIHtBcnJheTxPYmplY3Q+fSBuZXcgc3BsaXRNYXBzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhZGROZXdMYXllcnNUb1NwbGl0TWFwKHNwbGl0TWFwcywgbGF5ZXJzKSB7XG4gIGNvbnN0IG5ld0xheWVycyA9IEFycmF5LmlzQXJyYXkobGF5ZXJzKSA/IGxheWVycyA6IFtsYXllcnNdO1xuXG4gIGlmICghc3BsaXRNYXBzLmxlbmd0aCB8fCAhbmV3TGF5ZXJzLmxlbmd0aCkge1xuICAgIHJldHVybiBzcGxpdE1hcHM7XG4gIH1cblxuICAvLyBhZGQgbmV3IGxheWVyIHRvIGJvdGggbWFwcyxcbiAgLy8gZG9uJ3Qgb3ZlcnJpZGUsIGlmIGxheWVyLmlkIGlzIGFscmVhZHkgaW4gc3BsaXRNYXBzXG4gIHJldHVybiBzcGxpdE1hcHMubWFwKHNldHRpbmdzID0+ICh7XG4gICAgLi4uc2V0dGluZ3MsXG4gICAgbGF5ZXJzOiB7XG4gICAgICAuLi5zZXR0aW5ncy5sYXllcnMsXG4gICAgICAuLi5uZXdMYXllcnMucmVkdWNlKFxuICAgICAgICAoYWNjdSwgbmV3TGF5ZXIpID0+XG4gICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgIG5ld0xheWVyLmlkIGluIHNldHRpbmdzLmxheWVycyB8fCAhbmV3TGF5ZXIuY29uZmlnLmlzVmlzaWJsZVxuICAgICAgICAgICAgPyBhY2N1XG4gICAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgICAuLi5hY2N1LFxuICAgICAgICAgICAgICAgIFtuZXdMYXllci5pZF06IG5ld0xheWVyLmNvbmZpZy5pc1Zpc2libGVcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAge31cbiAgICAgIClcbiAgICB9XG4gIH0pKTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgYW4gZXhpc3RpbmcgbGF5ZXIgZnJvbSBzcGxpdCBtYXAgc2V0dGluZ3NcbiAqIEBwYXJhbSB7T2JqZWN0fSBzcGxpdE1hcHNcbiAqIEBwYXJhbSB7T2JqZWN0fSBsYXllclxuICogQHJldHVybnMge09iamVjdH0gTWFwcyBvZiBjdXN0b20gbGF5ZXIgb2JqZWN0c1xuICovXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlTGF5ZXJGcm9tU3BsaXRNYXBzKHNwbGl0TWFwcywgbGF5ZXIpIHtcbiAgaWYgKCFzcGxpdE1hcHMubGVuZ3RoKSB7XG4gICAgcmV0dXJuIHNwbGl0TWFwcztcbiAgfVxuICByZXR1cm4gc3BsaXRNYXBzLm1hcChzZXR0aW5ncyA9PiB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXG4gICAgY29uc3Qge1tsYXllci5pZF06IF8sIC4uLm5ld0xheWVyc30gPSBzZXR0aW5ncy5sYXllcnM7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnNldHRpbmdzLFxuICAgICAgbGF5ZXJzOiBuZXdMYXllcnNcbiAgICB9O1xuICB9KTtcbn1cblxuLyoqXG4gKiBUaGlzIG1ldGhvZCB3aWxsIGNvbXB1dGUgdGhlIGRlZmF1bHQgbWFwcyBsYXllciBzZXR0aW5nc1xuICogYmFzZWQgb24gdGhlIGN1cnJlbnQgbGF5ZXJzIHZpc2liaWxpdHlcbiAqIEBwYXJhbSB7QXJyYXk8T2JqZWN0Pn0gbGF5ZXJzXG4gKiBAcmV0dXJucyB7QXJyYXk8T2JqZWN0Pn0gbGF5ZXIgdmlzaWJpbGl0eSBmb3IgZWFjaCBwYW5lbFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0SW5pdGlhbE1hcExheWVyc0ZvclNwbGl0TWFwKGxheWVycykge1xuICByZXR1cm4gbGF5ZXJzXG4gICAgLmZpbHRlcihsYXllciA9PiBsYXllci5jb25maWcuaXNWaXNpYmxlKVxuICAgIC5yZWR1Y2UoXG4gICAgICAobmV3TGF5ZXJzLCBjdXJyZW50TGF5ZXIpID0+ICh7XG4gICAgICAgIC4uLm5ld0xheWVycyxcbiAgICAgICAgW2N1cnJlbnRMYXllci5pZF06IGN1cnJlbnRMYXllci5jb25maWcuaXNWaXNpYmxlXG4gICAgICB9KSxcbiAgICAgIHt9XG4gICAgKTtcbn1cblxuLyoqXG4gKiBUaGlzIG1ldGhvZCB3aWxsIGdldCBkZWZhdWx0IHNwbGl0TWFwIHNldHRpbmdzIGJhc2VkIG9uIGV4aXN0aW5nIGxheWVyc1xuICogQHBhcmFtIHtBcnJheTxPYmplY3Q+fSBsYXllcnNcbiAqIEByZXR1cm5zIHtBcnJheTxPYmplY3Q+fSBzcGxpdCBtYXAgc2V0dGluZ3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbXB1dGVTcGxpdE1hcExheWVycyhsYXllcnMpIHtcbiAgY29uc3QgbWFwTGF5ZXJzID0gZ2V0SW5pdGlhbE1hcExheWVyc0ZvclNwbGl0TWFwKGxheWVycyk7XG5cbiAgcmV0dXJuIFt7bGF5ZXJzOiBtYXBMYXllcnN9LCB7bGF5ZXJzOiBjbG9uZURlZXAobWFwTGF5ZXJzKX1dO1xufVxuIl19
134
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zcGxpdC1tYXAtdXRpbHMudHMiXSwibmFtZXMiOlsiYWRkTmV3TGF5ZXJzVG9TcGxpdE1hcCIsInNwbGl0TWFwcyIsImxheWVycyIsIm5ld0xheWVycyIsIkFycmF5IiwiaXNBcnJheSIsImxlbmd0aCIsIm1hcCIsInNldHRpbmdzIiwicmVkdWNlIiwiYWNjdSIsIm5ld0xheWVyIiwiaWQiLCJjb25maWciLCJpc1Zpc2libGUiLCJyZW1vdmVMYXllckZyb21TcGxpdE1hcHMiLCJsYXllciIsIl8iLCJnZXRJbml0aWFsTWFwTGF5ZXJzRm9yU3BsaXRNYXAiLCJmaWx0ZXIiLCJjdXJyZW50TGF5ZXIiLCJjb21wdXRlU3BsaXRNYXBMYXllcnMiLCJvcHRpb25zIiwibWFwTGF5ZXJzIiwiZHVwbGljYXRlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvQkE7Ozs7Ozs7Ozs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTyxTQUFTQSxzQkFBVCxDQUFnQ0MsU0FBaEMsRUFBMkNDLE1BQTNDLEVBQW1EO0FBQ3hELE1BQU1DLFNBQVMsR0FBR0MsS0FBSyxDQUFDQyxPQUFOLENBQWNILE1BQWQsSUFBd0JBLE1BQXhCLEdBQWlDLENBQUNBLE1BQUQsQ0FBbkQ7O0FBRUEsTUFBSSxDQUFDRCxTQUFTLENBQUNLLE1BQVgsSUFBcUIsQ0FBQ0gsU0FBUyxDQUFDRyxNQUFwQyxFQUE0QztBQUMxQyxXQUFPTCxTQUFQO0FBQ0QsR0FMdUQsQ0FPeEQ7QUFDQTs7O0FBQ0EsU0FBT0EsU0FBUyxDQUFDTSxHQUFWLENBQWMsVUFBQUMsUUFBUTtBQUFBLDJDQUN4QkEsUUFEd0I7QUFFM0JOLE1BQUFBLE1BQU0sa0NBQ0RNLFFBQVEsQ0FBQ04sTUFEUixHQUVEQyxTQUFTLENBQUNNLE1BQVYsQ0FDRCxVQUFDQyxJQUFELEVBQU9DLFFBQVA7QUFBQSxlQUNFO0FBQ0FBLFVBQUFBLFFBQVEsQ0FBQ0MsRUFBVCxJQUFlSixRQUFRLENBQUNOLE1BQXhCLElBQWtDLENBQUNTLFFBQVEsQ0FBQ0UsTUFBVCxDQUFnQkMsU0FBbkQsR0FDSUosSUFESixtQ0FHU0EsSUFIVCw0Q0FJT0MsUUFBUSxDQUFDQyxFQUpoQixFQUlxQkQsUUFBUSxDQUFDRSxNQUFULENBQWdCQyxTQUpyQztBQUZGO0FBQUEsT0FEQyxFQVNELEVBVEMsQ0FGQztBQUZxQjtBQUFBLEdBQXRCLENBQVA7QUFpQkQ7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNPLFNBQVNDLHdCQUFULENBQWtDZCxTQUFsQyxFQUE2Q2UsS0FBN0MsRUFBb0Q7QUFDekQsTUFBSSxDQUFDZixTQUFTLENBQUNLLE1BQWYsRUFBdUI7QUFDckIsV0FBT0wsU0FBUDtBQUNEOztBQUNELFNBQU9BLFNBQVMsQ0FBQ00sR0FBVixDQUFjLFVBQUFDLFFBQVEsRUFBSTtBQUMvQjtBQUQrQiwyQkFFT0EsUUFBUSxDQUFDTixNQUZoQjtBQUFBLG9CQUV2QmMsS0FBSyxDQUFDSixFQUZpQjtBQUFBLFFBRVpLLENBRlk7QUFBQSxRQUVOZCxTQUZNO0FBRy9CLDJDQUNLSyxRQURMO0FBRUVOLE1BQUFBLE1BQU0sRUFBRUM7QUFGVjtBQUlELEdBUE0sQ0FBUDtBQVFEO0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFDTyxTQUFTZSw4QkFBVCxDQUF3Q2hCLE1BQXhDLEVBQWdEO0FBQ3JELFNBQU9BLE1BQU0sQ0FDVmlCLE1BREksQ0FDRyxVQUFBSCxLQUFLO0FBQUEsV0FBSUEsS0FBSyxDQUFDSCxNQUFOLENBQWFDLFNBQWpCO0FBQUEsR0FEUixFQUVKTCxNQUZJLENBR0gsVUFBQ04sU0FBRCxFQUFZaUIsWUFBWjtBQUFBLDJDQUNLakIsU0FETCw0Q0FFR2lCLFlBQVksQ0FBQ1IsRUFGaEIsRUFFcUJRLFlBQVksQ0FBQ1AsTUFBYixDQUFvQkMsU0FGekM7QUFBQSxHQUhHLEVBT0gsRUFQRyxDQUFQO0FBU0Q7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNPLFNBQVNPLHFCQUFULENBQStCbkIsTUFBL0IsRUFBdUNvQixPQUF2QyxFQUF1RTtBQUM1RSxNQUFNQyxTQUFTLEdBQUdMLDhCQUE4QixDQUFDaEIsTUFBRCxDQUFoRDs7QUFENEUsYUFFeERvQixPQUFPLElBQUksRUFGNkM7QUFBQSxNQUVyRUUsU0FGcUUsUUFFckVBLFNBRnFFLEVBRzVFOzs7QUFDQSxTQUFPLENBQUM7QUFBQ3RCLElBQUFBLE1BQU0sRUFBRXFCO0FBQVQsR0FBRCxFQUFzQjtBQUFDckIsSUFBQUEsTUFBTSxFQUFFc0IsU0FBUyxHQUFHLHdCQUFVRCxTQUFWLENBQUgsR0FBMEI7QUFBNUMsR0FBdEIsQ0FBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIzIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IGNsb25lRGVlcCBmcm9tICdsb2Rhc2guY2xvbmVkZWVwJztcblxuLyoqXG4gKiBBZGQgbmV3IGxheWVycyB0byBib3RoIGV4aXN0aW5nIG1hcHNcbiAqIEBwYXJhbSB7T2JqZWN0fSBzcGxpdE1hcHNcbiAqIEBwYXJhbSB7T2JqZWN0fEFycmF5PE9iamVjdD59IGxheWVyc1xuICogQHJldHVybnMge0FycmF5PE9iamVjdD59IG5ldyBzcGxpdE1hcHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFkZE5ld0xheWVyc1RvU3BsaXRNYXAoc3BsaXRNYXBzLCBsYXllcnMpIHtcbiAgY29uc3QgbmV3TGF5ZXJzID0gQXJyYXkuaXNBcnJheShsYXllcnMpID8gbGF5ZXJzIDogW2xheWVyc107XG5cbiAgaWYgKCFzcGxpdE1hcHMubGVuZ3RoIHx8ICFuZXdMYXllcnMubGVuZ3RoKSB7XG4gICAgcmV0dXJuIHNwbGl0TWFwcztcbiAgfVxuXG4gIC8vIGFkZCBuZXcgbGF5ZXIgdG8gYm90aCBtYXBzLFxuICAvLyBkb24ndCBvdmVycmlkZSwgaWYgbGF5ZXIuaWQgaXMgYWxyZWFkeSBpbiBzcGxpdE1hcHNcbiAgcmV0dXJuIHNwbGl0TWFwcy5tYXAoc2V0dGluZ3MgPT4gKHtcbiAgICAuLi5zZXR0aW5ncyxcbiAgICBsYXllcnM6IHtcbiAgICAgIC4uLnNldHRpbmdzLmxheWVycyxcbiAgICAgIC4uLm5ld0xheWVycy5yZWR1Y2UoXG4gICAgICAgIChhY2N1LCBuZXdMYXllcikgPT5cbiAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgbmV3TGF5ZXIuaWQgaW4gc2V0dGluZ3MubGF5ZXJzIHx8ICFuZXdMYXllci5jb25maWcuaXNWaXNpYmxlXG4gICAgICAgICAgICA/IGFjY3VcbiAgICAgICAgICAgIDoge1xuICAgICAgICAgICAgICAgIC4uLmFjY3UsXG4gICAgICAgICAgICAgICAgW25ld0xheWVyLmlkXTogbmV3TGF5ZXIuY29uZmlnLmlzVmlzaWJsZVxuICAgICAgICAgICAgICB9LFxuICAgICAgICB7fVxuICAgICAgKVxuICAgIH1cbiAgfSkpO1xufVxuXG4vKipcbiAqIFJlbW92ZSBhbiBleGlzdGluZyBsYXllciBmcm9tIHNwbGl0IG1hcCBzZXR0aW5nc1xuICogQHBhcmFtIHtPYmplY3R9IHNwbGl0TWFwc1xuICogQHBhcmFtIHtPYmplY3R9IGxheWVyXG4gKiBAcmV0dXJucyB7T2JqZWN0fSBNYXBzIG9mIGN1c3RvbSBsYXllciBvYmplY3RzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVMYXllckZyb21TcGxpdE1hcHMoc3BsaXRNYXBzLCBsYXllcikge1xuICBpZiAoIXNwbGl0TWFwcy5sZW5ndGgpIHtcbiAgICByZXR1cm4gc3BsaXRNYXBzO1xuICB9XG4gIHJldHVybiBzcGxpdE1hcHMubWFwKHNldHRpbmdzID0+IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcbiAgICBjb25zdCB7W2xheWVyLmlkXTogXywgLi4ubmV3TGF5ZXJzfSA9IHNldHRpbmdzLmxheWVycztcbiAgICByZXR1cm4ge1xuICAgICAgLi4uc2V0dGluZ3MsXG4gICAgICBsYXllcnM6IG5ld0xheWVyc1xuICAgIH07XG4gIH0pO1xufVxuXG4vKipcbiAqIFRoaXMgbWV0aG9kIHdpbGwgY29tcHV0ZSB0aGUgZGVmYXVsdCBtYXBzIGxheWVyIHNldHRpbmdzXG4gKiBiYXNlZCBvbiB0aGUgY3VycmVudCBsYXllcnMgdmlzaWJpbGl0eVxuICogQHBhcmFtIHtBcnJheTxPYmplY3Q+fSBsYXllcnNcbiAqIEByZXR1cm5zIHtBcnJheTxPYmplY3Q+fSBsYXllciB2aXNpYmlsaXR5IGZvciBlYWNoIHBhbmVsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRJbml0aWFsTWFwTGF5ZXJzRm9yU3BsaXRNYXAobGF5ZXJzKSB7XG4gIHJldHVybiBsYXllcnNcbiAgICAuZmlsdGVyKGxheWVyID0+IGxheWVyLmNvbmZpZy5pc1Zpc2libGUpXG4gICAgLnJlZHVjZShcbiAgICAgIChuZXdMYXllcnMsIGN1cnJlbnRMYXllcikgPT4gKHtcbiAgICAgICAgLi4ubmV3TGF5ZXJzLFxuICAgICAgICBbY3VycmVudExheWVyLmlkXTogY3VycmVudExheWVyLmNvbmZpZy5pc1Zpc2libGVcbiAgICAgIH0pLFxuICAgICAge31cbiAgICApO1xufVxuXG4vKipcbiAqIFRoaXMgbWV0aG9kIHdpbGwgZ2V0IGRlZmF1bHQgc3BsaXRNYXAgc2V0dGluZ3MgYmFzZWQgb24gZXhpc3RpbmcgbGF5ZXJzXG4gKiBAcGFyYW0ge0FycmF5PE9iamVjdD59IGxheWVyc1xuICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnNcbiAqIEByZXR1cm5zIHtBcnJheTxPYmplY3Q+fSBzcGxpdCBtYXAgc2V0dGluZ3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbXB1dGVTcGxpdE1hcExheWVycyhsYXllcnMsIG9wdGlvbnM/OiB7ZHVwbGljYXRlOiBib29sZWFufSkge1xuICBjb25zdCBtYXBMYXllcnMgPSBnZXRJbml0aWFsTWFwTGF5ZXJzRm9yU3BsaXRNYXAobGF5ZXJzKTtcbiAgY29uc3Qge2R1cGxpY2F0ZX0gPSBvcHRpb25zIHx8IHt9O1xuICAvLyBzaG93IGFsbCB2aXNpYmxlIGxheWVycyBpbiBsZWZ0IG1hcCwgbGVhdmUgcmlnaHQgbWFwIGVtcHR5XG4gIHJldHVybiBbe2xheWVyczogbWFwTGF5ZXJzfSwge2xheWVyczogZHVwbGljYXRlID8gY2xvbmVEZWVwKG1hcExheWVycykgOiB7fX1dO1xufVxuIl19
package/dist/time.d.ts ADDED
@@ -0,0 +1,16 @@
1
+ import { AnimationConfig, Timeline, TimeRangeFilter } from '@kepler.gl/types';
2
+ export declare const TIMELINE_MODES: {
3
+ inner: string;
4
+ outer: string;
5
+ };
6
+ export declare const SAMPLE_TIMELINE: {
7
+ value: number[];
8
+ domain: number[];
9
+ speed: number;
10
+ enableInteraction: boolean;
11
+ isAnimating: boolean;
12
+ step: null;
13
+ mode: string;
14
+ };
15
+ export declare const getTimelineFromAnimationConfig: (animationConfig: AnimationConfig) => Timeline;
16
+ export declare const getTimelineFromFilter: (filter: TimeRangeFilter) => Timeline;
package/dist/time.js ADDED
@@ -0,0 +1,105 @@
1
+ // Copyright (c) 2023 Uber Technologies, Inc.
2
+ //
3
+ // Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ // of this software and associated documentation files (the "Software"), to deal
5
+ // in the Software without restriction, including without limitation the rights
6
+ // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ // copies of the Software, and to permit persons to whom the Software is
8
+ // furnished to do so, subject to the following conditions:
9
+ //
10
+ // The above copyright notice and this permission notice shall be included in
11
+ // all copies or substantial portions of the Software.
12
+ //
13
+ // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
+ // THE SOFTWARE.
20
+
21
+ "use strict";
22
+
23
+ Object.defineProperty(exports, "__esModule", {
24
+ value: true
25
+ });
26
+ exports.getTimelineFromFilter = exports.getTimelineFromAnimationConfig = exports.SAMPLE_TIMELINE = exports.TIMELINE_MODES = void 0;
27
+
28
+ var _utils = require("./utils");var TIMELINE_MODES = {
29
+ inner: 'inner',
30
+ outer: 'outer'
31
+ };
32
+ exports.TIMELINE_MODES = TIMELINE_MODES;
33
+ var SAMPLE_TIMELINE = {
34
+ // value: [15], // represent 15% of the all width
35
+ value: [5, 15],
36
+ // represent start at 5% and ends at 15%
37
+ domain: [1, 100],
38
+ // represent the total domain
39
+ speed: 1,
40
+ enableInteraction: false,
41
+ // can use interact with this timeline
42
+ isAnimating: false,
43
+ step: null,
44
+ // @todo: giuseppe coverType: 'inner' | 'outer'
45
+ mode: TIMELINE_MODES.inner // ....
46
+
47
+ };
48
+ exports.SAMPLE_TIMELINE = SAMPLE_TIMELINE;
49
+
50
+ var getTimelineFromAnimationConfig = function getTimelineFromAnimationConfig(animationConfig) {
51
+ var currentTime = animationConfig.currentTime,
52
+ domain = animationConfig.domain,
53
+ speed = animationConfig.speed,
54
+ isAnimating = animationConfig.isAnimating,
55
+ timeSteps = animationConfig.timeSteps,
56
+ defaultTimeFormat = animationConfig.defaultTimeFormat,
57
+ timeFormat = animationConfig.timeFormat,
58
+ timezone = animationConfig.timezone;
59
+ return {
60
+ // @ts-expect-error
61
+ value: (0, _utils.toArray)(currentTime),
62
+ enableInteraction: true,
63
+ // @ts-expect-error
64
+ domain: domain,
65
+ speed: speed,
66
+ isAnimating: isAnimating || false,
67
+ timeSteps: timeSteps,
68
+ defaultTimeFormat: defaultTimeFormat,
69
+ timeFormat: timeFormat,
70
+ timezone: timezone,
71
+ marks: null
72
+ };
73
+ };
74
+
75
+ exports.getTimelineFromAnimationConfig = getTimelineFromAnimationConfig;
76
+
77
+ var getTimelineFromFilter = function getTimelineFromFilter(filter) {
78
+ var value = filter.value,
79
+ domain = filter.domain,
80
+ speed = filter.speed,
81
+ isAnimating = filter.isAnimating,
82
+ step = filter.step,
83
+ timeSteps = filter.timeSteps,
84
+ defaultTimeFormat = filter.defaultTimeFormat,
85
+ timeFormat = filter.timeFormat,
86
+ timezone = filter.timezone,
87
+ animationWindow = filter.animationWindow;
88
+ return {
89
+ value: value,
90
+ enableInteraction: true,
91
+ domain: domain,
92
+ speed: speed,
93
+ isAnimating: isAnimating,
94
+ step: step,
95
+ timeSteps: timeSteps,
96
+ defaultTimeFormat: defaultTimeFormat,
97
+ timeFormat: timeFormat,
98
+ timezone: timezone,
99
+ animationWindow: animationWindow,
100
+ marks: null
101
+ };
102
+ };
103
+
104
+ exports.getTimelineFromFilter = getTimelineFromFilter;
105
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90aW1lLnRzIl0sIm5hbWVzIjpbIlRJTUVMSU5FX01PREVTIiwiaW5uZXIiLCJvdXRlciIsIlNBTVBMRV9USU1FTElORSIsInZhbHVlIiwiZG9tYWluIiwic3BlZWQiLCJlbmFibGVJbnRlcmFjdGlvbiIsImlzQW5pbWF0aW5nIiwic3RlcCIsIm1vZGUiLCJnZXRUaW1lbGluZUZyb21BbmltYXRpb25Db25maWciLCJhbmltYXRpb25Db25maWciLCJjdXJyZW50VGltZSIsInRpbWVTdGVwcyIsImRlZmF1bHRUaW1lRm9ybWF0IiwidGltZUZvcm1hdCIsInRpbWV6b25lIiwibWFya3MiLCJnZXRUaW1lbGluZUZyb21GaWx0ZXIiLCJmaWx0ZXIiLCJhbmltYXRpb25XaW5kb3ciXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFzQkE7O0FBdEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTU8sSUFBTUEsY0FBYyxHQUFHO0FBQzVCQyxFQUFBQSxLQUFLLEVBQUUsT0FEcUI7QUFFNUJDLEVBQUFBLEtBQUssRUFBRTtBQUZxQixDQUF2Qjs7QUFLQSxJQUFNQyxlQUFlLEdBQUc7QUFDN0I7QUFDQUMsRUFBQUEsS0FBSyxFQUFFLENBQUMsQ0FBRCxFQUFJLEVBQUosQ0FGc0I7QUFFYjtBQUNoQkMsRUFBQUEsTUFBTSxFQUFFLENBQUMsQ0FBRCxFQUFJLEdBQUosQ0FIcUI7QUFHWDtBQUNsQkMsRUFBQUEsS0FBSyxFQUFFLENBSnNCO0FBSzdCQyxFQUFBQSxpQkFBaUIsRUFBRSxLQUxVO0FBS0g7QUFDMUJDLEVBQUFBLFdBQVcsRUFBRSxLQU5nQjtBQU83QkMsRUFBQUEsSUFBSSxFQUFFLElBUHVCO0FBUTdCO0FBQ0FDLEVBQUFBLElBQUksRUFBRVYsY0FBYyxDQUFDQyxLQVRRLENBVTdCOztBQVY2QixDQUF4Qjs7O0FBYUEsSUFBTVUsOEJBQThCLEdBQUcsU0FBakNBLDhCQUFpQyxDQUFDQyxlQUFELEVBQWdEO0FBQUEsTUFFMUZDLFdBRjBGLEdBVXhGRCxlQVZ3RixDQUUxRkMsV0FGMEY7QUFBQSxNQUcxRlIsTUFIMEYsR0FVeEZPLGVBVndGLENBRzFGUCxNQUgwRjtBQUFBLE1BSTFGQyxLQUowRixHQVV4Rk0sZUFWd0YsQ0FJMUZOLEtBSjBGO0FBQUEsTUFLMUZFLFdBTDBGLEdBVXhGSSxlQVZ3RixDQUsxRkosV0FMMEY7QUFBQSxNQU0xRk0sU0FOMEYsR0FVeEZGLGVBVndGLENBTTFGRSxTQU4wRjtBQUFBLE1BTzFGQyxpQkFQMEYsR0FVeEZILGVBVndGLENBTzFGRyxpQkFQMEY7QUFBQSxNQVExRkMsVUFSMEYsR0FVeEZKLGVBVndGLENBUTFGSSxVQVIwRjtBQUFBLE1BUzFGQyxRQVQwRixHQVV4RkwsZUFWd0YsQ0FTMUZLLFFBVDBGO0FBWTVGLFNBQU87QUFDTDtBQUNBYixJQUFBQSxLQUFLLEVBQUUsb0JBQVFTLFdBQVIsQ0FGRjtBQUdMTixJQUFBQSxpQkFBaUIsRUFBRSxJQUhkO0FBSUw7QUFDQUYsSUFBQUEsTUFBTSxFQUFOQSxNQUxLO0FBTUxDLElBQUFBLEtBQUssRUFBTEEsS0FOSztBQU9MRSxJQUFBQSxXQUFXLEVBQUVBLFdBQVcsSUFBSSxLQVB2QjtBQVFMTSxJQUFBQSxTQUFTLEVBQVRBLFNBUks7QUFTTEMsSUFBQUEsaUJBQWlCLEVBQWpCQSxpQkFUSztBQVVMQyxJQUFBQSxVQUFVLEVBQVZBLFVBVks7QUFXTEMsSUFBQUEsUUFBUSxFQUFSQSxRQVhLO0FBWUxDLElBQUFBLEtBQUssRUFBRTtBQVpGLEdBQVA7QUFjRCxDQTFCTTs7OztBQTRCQSxJQUFNQyxxQkFBcUIsR0FBRyxTQUF4QkEscUJBQXdCLENBQUNDLE1BQUQsRUFBdUM7QUFBQSxNQUV4RWhCLEtBRndFLEdBYXRFZ0IsTUFic0UsQ0FFeEVoQixLQUZ3RTtBQUFBLE1BR3hFQyxNQUh3RSxHQWF0RWUsTUFic0UsQ0FHeEVmLE1BSHdFO0FBQUEsTUFJeEVDLEtBSndFLEdBYXRFYyxNQWJzRSxDQUl4RWQsS0FKd0U7QUFBQSxNQUt4RUUsV0FMd0UsR0FhdEVZLE1BYnNFLENBS3hFWixXQUx3RTtBQUFBLE1BTXhFQyxJQU53RSxHQWF0RVcsTUFic0UsQ0FNeEVYLElBTndFO0FBQUEsTUFReEVLLFNBUndFLEdBYXRFTSxNQWJzRSxDQVF4RU4sU0FSd0U7QUFBQSxNQVN4RUMsaUJBVHdFLEdBYXRFSyxNQWJzRSxDQVN4RUwsaUJBVHdFO0FBQUEsTUFVeEVDLFVBVndFLEdBYXRFSSxNQWJzRSxDQVV4RUosVUFWd0U7QUFBQSxNQVd4RUMsUUFYd0UsR0FhdEVHLE1BYnNFLENBV3hFSCxRQVh3RTtBQUFBLE1BWXhFSSxlQVp3RSxHQWF0RUQsTUFic0UsQ0FZeEVDLGVBWndFO0FBZTFFLFNBQU87QUFDTGpCLElBQUFBLEtBQUssRUFBTEEsS0FESztBQUVMRyxJQUFBQSxpQkFBaUIsRUFBRSxJQUZkO0FBR0xGLElBQUFBLE1BQU0sRUFBTkEsTUFISztBQUlMQyxJQUFBQSxLQUFLLEVBQUxBLEtBSks7QUFLTEUsSUFBQUEsV0FBVyxFQUFYQSxXQUxLO0FBTUxDLElBQUFBLElBQUksRUFBSkEsSUFOSztBQU9MSyxJQUFBQSxTQUFTLEVBQVRBLFNBUEs7QUFRTEMsSUFBQUEsaUJBQWlCLEVBQWpCQSxpQkFSSztBQVNMQyxJQUFBQSxVQUFVLEVBQVZBLFVBVEs7QUFVTEMsSUFBQUEsUUFBUSxFQUFSQSxRQVZLO0FBV0xJLElBQUFBLGVBQWUsRUFBZkEsZUFYSztBQVlMSCxJQUFBQSxLQUFLLEVBQUU7QUFaRixHQUFQO0FBY0QsQ0E3Qk0iLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjMgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQge0FuaW1hdGlvbkNvbmZpZywgVGltZWxpbmUsIFRpbWVSYW5nZUZpbHRlcn0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5cbmltcG9ydCB7dG9BcnJheX0gZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCBjb25zdCBUSU1FTElORV9NT0RFUyA9IHtcbiAgaW5uZXI6ICdpbm5lcicsXG4gIG91dGVyOiAnb3V0ZXInXG59O1xuXG5leHBvcnQgY29uc3QgU0FNUExFX1RJTUVMSU5FID0ge1xuICAvLyB2YWx1ZTogWzE1XSwgLy8gcmVwcmVzZW50IDE1JSBvZiB0aGUgYWxsIHdpZHRoXG4gIHZhbHVlOiBbNSwgMTVdLCAvLyByZXByZXNlbnQgc3RhcnQgYXQgNSUgYW5kIGVuZHMgYXQgMTUlXG4gIGRvbWFpbjogWzEsIDEwMF0sIC8vIHJlcHJlc2VudCB0aGUgdG90YWwgZG9tYWluXG4gIHNwZWVkOiAxLFxuICBlbmFibGVJbnRlcmFjdGlvbjogZmFsc2UsIC8vIGNhbiB1c2UgaW50ZXJhY3Qgd2l0aCB0aGlzIHRpbWVsaW5lXG4gIGlzQW5pbWF0aW5nOiBmYWxzZSxcbiAgc3RlcDogbnVsbCxcbiAgLy8gQHRvZG86IGdpdXNlcHBlIGNvdmVyVHlwZTogJ2lubmVyJyB8ICdvdXRlcidcbiAgbW9kZTogVElNRUxJTkVfTU9ERVMuaW5uZXJcbiAgLy8gIC4uLi5cbn07XG5cbmV4cG9ydCBjb25zdCBnZXRUaW1lbGluZUZyb21BbmltYXRpb25Db25maWcgPSAoYW5pbWF0aW9uQ29uZmlnOiBBbmltYXRpb25Db25maWcpOiBUaW1lbGluZSA9PiB7XG4gIGNvbnN0IHtcbiAgICBjdXJyZW50VGltZSxcbiAgICBkb21haW4sXG4gICAgc3BlZWQsXG4gICAgaXNBbmltYXRpbmcsXG4gICAgdGltZVN0ZXBzLFxuICAgIGRlZmF1bHRUaW1lRm9ybWF0LFxuICAgIHRpbWVGb3JtYXQsXG4gICAgdGltZXpvbmVcbiAgfSA9IGFuaW1hdGlvbkNvbmZpZztcblxuICByZXR1cm4ge1xuICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICB2YWx1ZTogdG9BcnJheShjdXJyZW50VGltZSksXG4gICAgZW5hYmxlSW50ZXJhY3Rpb246IHRydWUsXG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgIGRvbWFpbixcbiAgICBzcGVlZCxcbiAgICBpc0FuaW1hdGluZzogaXNBbmltYXRpbmcgfHwgZmFsc2UsXG4gICAgdGltZVN0ZXBzLFxuICAgIGRlZmF1bHRUaW1lRm9ybWF0LFxuICAgIHRpbWVGb3JtYXQsXG4gICAgdGltZXpvbmUsXG4gICAgbWFya3M6IG51bGxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRUaW1lbGluZUZyb21GaWx0ZXIgPSAoZmlsdGVyOiBUaW1lUmFuZ2VGaWx0ZXIpOiBUaW1lbGluZSA9PiB7XG4gIGNvbnN0IHtcbiAgICB2YWx1ZSxcbiAgICBkb21haW4sXG4gICAgc3BlZWQsXG4gICAgaXNBbmltYXRpbmcsXG4gICAgc3RlcCxcbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgdGltZVN0ZXBzLFxuICAgIGRlZmF1bHRUaW1lRm9ybWF0LFxuICAgIHRpbWVGb3JtYXQsXG4gICAgdGltZXpvbmUsXG4gICAgYW5pbWF0aW9uV2luZG93XG4gIH0gPSBmaWx0ZXI7XG5cbiAgcmV0dXJuIHtcbiAgICB2YWx1ZSxcbiAgICBlbmFibGVJbnRlcmFjdGlvbjogdHJ1ZSxcbiAgICBkb21haW4sXG4gICAgc3BlZWQsXG4gICAgaXNBbmltYXRpbmcsXG4gICAgc3RlcCxcbiAgICB0aW1lU3RlcHMsXG4gICAgZGVmYXVsdFRpbWVGb3JtYXQsXG4gICAgdGltZUZvcm1hdCxcbiAgICB0aW1lem9uZSxcbiAgICBhbmltYXRpb25XaW5kb3csXG4gICAgbWFya3M6IG51bGxcbiAgfTtcbn07XG4iXX0=