@kepler.gl/deckgl-layers 3.3.0-alpha.6 → 3.3.0-alpha.8
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.
- package/dist/cjs/globe/atmosphere-layer.js +130 -9
- package/dist/cjs/globe/globe-layers.js +7 -2
- package/dist/cjs/globe/globe-stars-layer.js +45 -15
- package/dist/cjs/globe/globe-stars-layer.spec.js +42 -0
- package/dist/cjs/globe/globe-view.js +1 -4
- package/dist/cjs/globe/index.js +19 -1
- package/dist/cjs/layer-utils/cluster-utils.js +4 -2
- package/dist/cjs/layer-utils/globe-cell-utils.js +3 -3
- package/dist/cjs/raster/images.js +2 -2
- package/dist/esm/globe/atmosphere-layer.js +128 -7
- package/dist/esm/globe/globe-layers.js +8 -3
- package/dist/esm/globe/globe-stars-layer.js +44 -15
- package/dist/esm/globe/globe-stars-layer.spec.js +40 -0
- package/dist/esm/globe/globe-view.js +1 -4
- package/dist/esm/globe/index.js +3 -3
- package/dist/esm/layer-utils/cluster-utils.js +5 -2
- package/dist/esm/layer-utils/globe-cell-utils.js +3 -3
- package/dist/esm/raster/images.js +2 -2
- package/dist/globe/atmosphere-layer.d.ts +22 -1
- package/dist/globe/globe-stars-layer.d.ts +5 -0
- package/dist/globe/globe-stars-layer.spec.d.ts +1 -0
- package/dist/globe/index.d.ts +2 -2
- package/dist/layer-utils/cluster-utils.d.ts +6 -1
- package/package.json +5 -6
- package/dist/cjs/raster/raster-mesh-layer/matrix.js +0 -18
- package/dist/esm/raster/raster-mesh-layer/matrix.js +0 -12
- package/dist/raster/raster-mesh-layer/matrix.d.ts +0 -4
|
@@ -120,9 +120,6 @@ var ZoomToCursorGlobeController = /*#__PURE__*/function (_GlobeController) {
|
|
|
120
120
|
// view can't be centered on the poles. deck.gl's applyConstraints clamps
|
|
121
121
|
// latitude to ~85°, which still lets the camera look straight at a pole.
|
|
122
122
|
function applyConstraints(props) {
|
|
123
|
-
// Avoid `(super.fn as any)(args)` — Babel compiles that to a property GET
|
|
124
|
-
// (`_superPropGet(..., 1)`) that drops `this`. A direct call uses method-CALL
|
|
125
|
-
// form (`_superPropGet(..., 3)`), which preserves the binding.
|
|
126
123
|
var result = _superPropGet(PatchedGlobeState, "applyConstraints", this, 3)([props]);
|
|
127
124
|
var clampedLatitude = clamp(result.latitude, -GLOBE_MAX_LATITUDE, GLOBE_MAX_LATITUDE);
|
|
128
125
|
if (clampedLatitude !== result.latitude) {
|
|
@@ -398,4 +395,4 @@ export var KeplerGlobeView = /*#__PURE__*/function (_DeckGlobeView) {
|
|
|
398
395
|
}]);
|
|
399
396
|
}(DeckGlobeView);
|
|
400
397
|
KeplerGlobeView.displayName = 'KeplerGlobeView';
|
|
401
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJEZWNrQ29yZSIsImNsYW1wIiwidmVjNCIsIkdMT0JFX01BWF9MQVRJVFVERSIsIkdMT0JFX0NPTU1PTl9SQURJVVMiLCJEZWNrR2xvYmVWaWV3IiwiX0dsb2JlVmlldyIsIkdsb2JlQ29udHJvbGxlciIsIl9HbG9iZUNvbnRyb2xsZXIiLCJEZWNrR2xvYmVWaWV3cG9ydCIsIl9HbG9iZVZpZXdwb3J0Iiwiem9vbUFkanVzdCIsImxhdGl0dWRlIiwiTWF0aCIsImxvZzIiLCJQSSIsImNvcyIsImlzUGl4ZWxPbkdsb2JlIiwidmlld3BvcnQiLCJwb3MiLCJtIiwicGl4ZWxVbnByb2plY3Rpb25NYXRyaXgiLCJwMCIsInRyYW5zZm9ybU1hdDQiLCJwMSIsImF4IiwiYXkiLCJheiIsImJ4IiwiYnkiLCJieiIsImR4IiwiZHkiLCJkeiIsImN4IiwiY3kiLCJjeiIsImRTcXIiLCJab29tVG9DdXJzb3JHbG9iZUNvbnRyb2xsZXIiLCJfdGhpcyIsIl9jbGFzc0NhbGxDaGVjayIsIl9sZW4iLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJhcmdzIiwiQXJyYXkiLCJfa2V5IiwiX2NhbGxTdXBlciIsImNvbmNhdCIsIk9yaWdpbmFsR2xvYmVTdGF0ZSIsIkNvbnRyb2xsZXJTdGF0ZSIsIm9mZkdsb2JlWm9vbUF0IiwiX09yaWdpbmFsR2xvYmVTdGF0ZSIsIlBhdGNoZWRHbG9iZVN0YXRlIiwiX2luaGVyaXRzIiwiX2NyZWF0ZUNsYXNzIiwia2V5IiwidmFsdWUiLCJhcHBseUNvbnN0cmFpbnRzIiwicHJvcHMiLCJyZXN1bHQiLCJfc3VwZXJQcm9wR2V0IiwiY2xhbXBlZExhdGl0dWRlIiwiem9vbSIsIl9jb25zdHJhaW5ab29tIiwiZ2V0Vmlld3BvcnRQcm9wcyIsIl9wcm9wcyIsIm1heFpvb20iLCJfcHJvcHMyIiwibWluWm9vbSIsInVuZGVmaW5lZCIsIlpPT00wIiwiem9vbUFkanVzdG1lbnQiLCJfcmVmIiwic3RhcnRQb3MiLCJzY2FsZSIsIl9nZXRTdGF0ZSIsImdldFN0YXRlIiwic3RhcnRab29tIiwic3RhcnRab29tTG5nTGF0IiwiY3VycmVudFByb3BzIiwiQlVSU1RfVElNRU9VVF9NUyIsIm5vdyIsIkRhdGUiLCJhbmNob3JWaWV3cG9ydCIsIm1ha2VWaWV3cG9ydCIsIm9uR2xvYmUiLCJfZ2V0VXBkYXRlZFN0YXRlIiwiX3VucHJvamVjdCIsImlzQXJyYXkiLCJOdW1iZXIiLCJpc0Zpbml0ZSIsInQiLCJtaW4iLCJkTG5nIiwibG9uZ2l0dWRlIiwiem9vbWVkVmlld3BvcnQiLCJfb2JqZWN0U3ByZWFkIiwiZnJvbVBvc2l0aW9uIiwidW5wcm9qZWN0Iiwiem9vbUVuZCIsInBhblN0YXJ0IiwiX3JlZjIiLCJzdGFydFBhbkxuZ0xhdCIsInBhbiIsIl9yZWYzIiwic3RvcmVkU3RhcnQiLCJ2aXN1YWxab29tIiwicGFuRW5kIiwiS2VwbGVyR2xvYmVWaWV3IiwiX0RlY2tHbG9iZVZpZXciLCJnZXQiLCJnZXRWaWV3cG9ydFR5cGUiLCJkaXNwbGF5TmFtZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9nbG9iZS9nbG9iZS12aWV3LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCAqIGFzIERlY2tDb3JlIGZyb20gJ0BkZWNrLmdsL2NvcmUnO1xuaW1wb3J0IHtjbGFtcCwgdmVjNH0gZnJvbSAnQG1hdGguZ2wvY29yZSc7XG5pbXBvcnQge0dMT0JFX01BWF9MQVRJVFVERX0gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuaW1wb3J0IHtHTE9CRV9DT01NT05fUkFESVVTfSBmcm9tICcuL2dsb2JlLWRlcHRoLWRpc2stbGF5ZXInO1xuXG4vLyBkZWNrLmdsIGV4cG9zZXMgR2xvYmVWaWV3IC8gR2xvYmVDb250cm9sbGVyIGFzIGV4cGVyaW1lbnRhbCwgdW5kZXJzY29yZS1wcmVmaXhlZFxuLy8gbWVtYmVycy4gVGhlaXIgbmFtZWQgdHlwZSBiaW5kaW5ncyBhcmVuJ3QgcmVsaWFibHkgcmVzb2x2YWJsZSB0aHJvdWdoIHRoZVxuLy8gcGFja2FnZSBiYXJyZWwgdW5kZXIgdGhpcyBwcm9qZWN0J3MgbW9kdWxlIHJlc29sdXRpb24sIHNvIHdlIHB1bGwgdGhlbSBvZmYgdGhlXG4vLyBuYW1lc3BhY2Ugd2l0aCBhIGxvb3NlIHR5cGUuIFJ1bnRpbWUgYmVoYXZpb3IgaXMgdW5jaGFuZ2VkLlxuY29uc3QgRGVja0dsb2JlVmlldyA9IChEZWNrQ29yZSBhcyBhbnkpLl9HbG9iZVZpZXcgYXMgYW55O1xuY29uc3QgR2xvYmVDb250cm9sbGVyID0gKERlY2tDb3JlIGFzIGFueSkuX0dsb2JlQ29udHJvbGxlciBhcyBhbnk7XG5jb25zdCBEZWNrR2xvYmVWaWV3cG9ydCA9IChEZWNrQ29yZSBhcyBhbnkpLl9HbG9iZVZpZXdwb3J0IGFzIGFueTtcblxuLyoqXG4gKiBMYXRpdHVkZS1iYXNlZCB6b29tIGFkanVzdG1lbnQgdXNlZCBieSBkZWNrLmdsJ3MgR2xvYmVWaWV3cG9ydCwgcmVwbGljYXRlZFxuICogaGVyZSBzbyBvdXIgY3VzdG9tIGBfY29uc3RyYWluWm9vbWAgbWF0Y2hlcyBkZWNrLmdsJ3MgY29vcmRpbmF0ZSBtYXRoLlxuICogU2VlIEBkZWNrLmdsL2NvcmUgZ2xvYmUtdmlld3BvcnQuanMgYHpvb21BZGp1c3RgLlxuICovXG5mdW5jdGlvbiB6b29tQWRqdXN0KGxhdGl0dWRlOiBudW1iZXIpOiBudW1iZXIge1xuICByZXR1cm4gTWF0aC5sb2cyKE1hdGguUEkgKiBNYXRoLmNvcygobGF0aXR1ZGUgKiBNYXRoLlBJKSAvIDE4MCkpO1xufVxuXG4vKipcbiAqIFJldHVybnMgdHJ1ZSBpZiB0aGUgc2NyZWVuIHBpeGVsIGBwb3NgIGxpZXMgd2l0aGluIHRoZSB2aXNpYmxlIGdsb2JlXG4gKiBzaWxob3VldHRlLlxuICpcbiAqIEdsb2JlVmlld3BvcnQudW5wcm9qZWN0KCkgY2xhbXBzIHRoZSByYXnigJNzcGhlcmUgZGlzY3JpbWluYW50IHdpdGhcbiAqIE1hdGgubWF4KDAsIHLCsuKIkmTCsiksIHNvIGl0IGFsd2F5cyByZXR1cm5zIGEgdmFsaWQgbG5nL2xhdCBldmVuIGZvclxuICogb2ZmLWdsb2JlIHBpeGVscyAoc25hcHBpbmcgdG8gdGhlIGxpbWIpLiAgV2UgcmVwbGljYXRlIHRoZSBzYW1lIHJheSBjYXN0XG4gKiBidXQgY2hlY2sgdGhlIGRpc2NyaW1pbmFudCBiZWZvcmUgdGhlIGNsYW1wIHVzaW5nIHRoZSBzdGFuZGFyZFxuICogc3F1YXJlZC1kaXN0YW5jZS1mcm9tLW9yaWdpbi10by1yYXkgZm9ybXVsYTogfFDigoAgw5cgZGlyfMKyIC8gfGRpcnzCsi5cbiAqL1xuZnVuY3Rpb24gaXNQaXhlbE9uR2xvYmUodmlld3BvcnQ6IGFueSwgcG9zOiBbbnVtYmVyLCBudW1iZXJdKTogYm9vbGVhbiB7XG4gIGNvbnN0IG06IG51bWJlcltdID0gdmlld3BvcnQucGl4ZWxVbnByb2plY3Rpb25NYXRyaXg7XG4gIGlmICghbSkgcmV0dXJuIHRydWU7IC8vIGNvbnNlcnZhdGl2ZSBmYWxsYmFjayBpZiBtYXRyaXggdW5hdmFpbGFibGVcblxuICAvLyBDYXN0IGEgcmF5IHRocm91Z2ggdGhlIHBpeGVsIGF0IHRoZSBuZWFyIGFuZCBmYXIgcGxhbmVzLlxuICBjb25zdCBwMCA9IHZlYzQudHJhbnNmb3JtTWF0NChbXSwgW3Bvc1swXSwgcG9zWzFdLCAtMSwgMV0sIG0pO1xuICBjb25zdCBwMSA9IHZlYzQudHJhbnNmb3JtTWF0NChbXSwgW3Bvc1swXSwgcG9zWzFdLCAxLCAxXSwgbSk7XG4gIGlmIChwMFszXSA9PT0gMCB8fCBwMVszXSA9PT0gMCkgcmV0dXJuIHRydWU7IC8vIGRlZ2VuZXJhdGUgcHJvamVjdGlvblxuXG4gIC8vIFBlcnNwZWN0aXZlLWRpdmlkZSB0byB3b3JsZCBzcGFjZS5cbiAgY29uc3QgYXggPSBwMFswXSAvIHAwWzNdLCBheSA9IHAwWzFdIC8gcDBbM10sIGF6ID0gcDBbMl0gLyBwMFszXTtcbiAgY29uc3QgYnggPSBwMVswXSAvIHAxWzNdLCBieSA9IHAxWzFdIC8gcDFbM10sIGJ6ID0gcDFbMl0gLyBwMVszXTtcblxuICAvLyBSYXkgZGlyZWN0aW9uLlxuICBjb25zdCBkeCA9IGJ4IC0gYXgsIGR5ID0gYnkgLSBheSwgZHogPSBieiAtIGF6O1xuXG4gIC8vIFNxdWFyZWQgZGlzdGFuY2UgZnJvbSB0aGUgb3JpZ2luIChnbG9iZSBjZW50ZXIpIHRvIHRoZSByYXk6XG4gIC8vICAgZMKyID0gfFDigoAgw5cgZGlyfMKyIC8gfGRpcnzCslxuICBjb25zdCBjeCA9IGF5ICogZHogLSBheiAqIGR5O1xuICBjb25zdCBjeSA9IGF6ICogZHggLSBheCAqIGR6O1xuICBjb25zdCBjeiA9IGF4ICogZHkgLSBheSAqIGR4O1xuICBjb25zdCBkU3FyID0gKGN4ICogY3ggKyBjeSAqIGN5ICsgY3ogKiBjeikgLyAoZHggKiBkeCArIGR5ICogZHkgKyBkeiAqIGR6KTtcblxuICByZXR1cm4gZFNxciA8PSBHTE9CRV9DT01NT05fUkFESVVTICogR0xPQkVfQ09NTU9OX1JBRElVUztcbn1cblxuLyoqXG4gKiBDdXN0b20gR2xvYmVDb250cm9sbGVyIHRoYXQgcmVzdG9yZXMgem9vbS10by1jdXJzb3IgYmVoYXZpb3IuXG4gKlxuICogSW4gZGVjay5nbCA5LngsIHRoZSBkZWZhdWx0IEdsb2JlQ29udHJvbGxlcidzIEdsb2JlU3RhdGUuem9vbSgpIGlnbm9yZXMgdGhlXG4gKiBjdXJzb3IgcG9zaXRpb24gYW5kIGFsd2F5cyB6b29tcyB0b3dhcmQgdGhlIGNlbnRlci4gVGhpcyBjb250cm9sbGVyIHBhdGNoZXNcbiAqIHRoYXQgYmVoYXZpb3IgYnkgb3ZlcnJpZGluZyB0aGUgQ29udHJvbGxlclN0YXRlJ3Mgem9vbSBtZXRob2QgdG8gcGFuIHRoZVxuICogZ2xvYmUgdW5kZXIgdGhlIGN1cnNvciB3aGlsZSB6b29taW5nLCBzbyB6b29tLXRvLWN1cnNvciB3b3JrcyB0aGUgc2FtZSB3YXkgaXRcbiAqIGRvZXMgZm9yIHRoZSAyRCBNYXBDb250cm9sbGVyLlxuICovXG5jbGFzcyBab29tVG9DdXJzb3JHbG9iZUNvbnRyb2xsZXIgZXh0ZW5kcyBHbG9iZUNvbnRyb2xsZXIge1xuICBjb25zdHJ1Y3RvciguLi5hcmdzOiBhbnlbXSkge1xuICAgIHN1cGVyKC4uLmFyZ3MpO1xuICAgIGNvbnN0IE9yaWdpbmFsR2xvYmVTdGF0ZSA9IHRoaXMuQ29udHJvbGxlclN0YXRlO1xuXG4gICAgLy8gVHJhY2tzIHdoZW4gdGhlIG1vc3QgcmVjZW50IG9mZi1nbG9iZSB3aGVlbC16b29tIHRpY2sgZmlyZWQuXG4gICAgLy8gU3RvcmVkIGFzIGEgY29udHJvbGxlci1sZXZlbCBjbG9zdXJlIHZhcmlhYmxlIHJhdGhlciB0aGFuIGluIFZpZXdTdGF0ZVxuICAgIC8vIGJlY2F1c2UgZGVjay5nbCdzIENvbnRyb2xsZXIgbmV2ZXIgY2FsbHMgem9vbUVuZCgpIGZvciB3aGVlbCBldmVudHMg4oCUXG4gICAgLy8gb25seSBmb3IgcGluY2gvdG91Y2gg4oCUIHNvIHRoZXJlIGlzIG5vIHJlbGlhYmxlIGhvb2sgdG8gY2xlYXIgYVxuICAgIC8vIFZpZXdTdGF0ZS1iYXNlZCBzZW50aW5lbCBhZnRlciBhIHdoZWVsIHNjcm9sbCBzZXNzaW9uIGVuZHMuXG4gICAgLy8gQSBzaW1wbGUgdGltZXN0YW1wIGxldHMgdXMgZGV0ZWN0IHdoZW4gYSBuZXcgc2Nyb2xsIGJ1cnN0IGhhcyBzdGFydGVkXG4gICAgLy8gKD4gQlVSU1RfVElNRU9VVF9NUyBzaW5jZSB0aGUgbGFzdCBvZmYtZ2xvYmUgdGljaykgc28gY3Vyc29yLWFuY2hvcmVkXG4gICAgLy8gem9vbSBjYW4gcmVzdW1lIG5hdHVyYWxseSBvbiB0aGUgbmV4dCBpbmRlcGVuZGVudCBzY3JvbGwuXG4gICAgbGV0IG9mZkdsb2JlWm9vbUF0OiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICAgIC8vIENyZWF0ZSBwYXRjaGVkIEdsb2JlU3RhdGUgdGhhdCBzdXBwb3J0cyB6b29tLXRvLWN1cnNvclxuICAgIHRoaXMuQ29udHJvbGxlclN0YXRlID0gY2xhc3MgUGF0Y2hlZEdsb2JlU3RhdGUgZXh0ZW5kcyBPcmlnaW5hbEdsb2JlU3RhdGUge1xuICAgICAgLy8gQ29uc3RyYWluIHRoZSBjYW1lcmEgdGFyZ2V0IHRvIGEgbGF0aXR1ZGUgYmFuZCBhcm91bmQgdGhlIGVxdWF0b3Igc28gdGhlXG4gICAgICAvLyB2aWV3IGNhbid0IGJlIGNlbnRlcmVkIG9uIHRoZSBwb2xlcy4gZGVjay5nbCdzIGFwcGx5Q29uc3RyYWludHMgY2xhbXBzXG4gICAgICAvLyBsYXRpdHVkZSB0byB+ODXCsCwgd2hpY2ggc3RpbGwgbGV0cyB0aGUgY2FtZXJhIGxvb2sgc3RyYWlnaHQgYXQgYSBwb2xlLlxuICAgICAgYXBwbHlDb25zdHJhaW50cyhwcm9wczogYW55KSB7XG4gICAgICAgIC8vIEF2b2lkIGAoc3VwZXIuZm4gYXMgYW55KShhcmdzKWAg4oCUIEJhYmVsIGNvbXBpbGVzIHRoYXQgdG8gYSBwcm9wZXJ0eSBHRVRcbiAgICAgICAgLy8gKGBfc3VwZXJQcm9wR2V0KC4uLiwgMSlgKSB0aGF0IGRyb3BzIGB0aGlzYC4gQSBkaXJlY3QgY2FsbCB1c2VzIG1ldGhvZC1DQUxMXG4gICAgICAgIC8vIGZvcm0gKGBfc3VwZXJQcm9wR2V0KC4uLiwgMylgKSwgd2hpY2ggcHJlc2VydmVzIHRoZSBiaW5kaW5nLlxuICAgICAgICBjb25zdCByZXN1bHQgPSBzdXBlci5hcHBseUNvbnN0cmFpbnRzKHByb3BzKTtcbiAgICAgICAgY29uc3QgY2xhbXBlZExhdGl0dWRlID0gY2xhbXAocmVzdWx0LmxhdGl0dWRlLCAtR0xPQkVfTUFYX0xBVElUVURFLCBHTE9CRV9NQVhfTEFUSVRVREUpO1xuICAgICAgICBpZiAoY2xhbXBlZExhdGl0dWRlICE9PSByZXN1bHQubGF0aXR1ZGUpIHtcbiAgICAgICAgICAvLyBkZWNrLmdsIGNvdXBsZXMgem9vbSB0byBsYXRpdHVkZSB2aWEgem9vbUFkanVzdDsgd2hlbiB3ZSBmdXJ0aGVyXG4gICAgICAgICAgLy8gY2xhbXAgbGF0aXR1ZGUsIHJlLWFwcGx5IHRoZSBzYW1lIGRlbHRhIHNvIHpvb20gc3RheXMgY29uc2lzdGVudC5cbiAgICAgICAgICByZXN1bHQuem9vbSArPSB6b29tQWRqdXN0KGNsYW1wZWRMYXRpdHVkZSkgLSB6b29tQWRqdXN0KHJlc3VsdC5sYXRpdHVkZSk7XG4gICAgICAgICAgcmVzdWx0LmxhdGl0dWRlID0gY2xhbXBlZExhdGl0dWRlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9XG5cbiAgICAgIC8vIGRlY2suZ2wncyBHbG9iZVN0YXRlLl9jb25zdHJhaW5ab29tIGRlcml2ZXMgYSBtaW5pbXVtIHpvb20gZnJvbSBgbWF4Qm91bmRzYFxuICAgICAgLy8gdGhhdCBmb3JjZXMgdGhlIGdsb2JlIHRvIGZpbGwgdGhlIHZpZXdwb3J0LiBUaGF0IGJvdW5kcy1iYXNlZCBtaW5pbXVtXG4gICAgICAvLyAofjMgZm9yIGEgdHlwaWNhbCB3aW5kb3cpIG92ZXJyaWRlcyBhbnkgY29uZmlndXJlZCBgbWluWm9vbWAsIHNvIHRoZSB1c2VyXG4gICAgICAvLyBjYW4gbmV2ZXIgem9vbSBvdXQgZmFyIGVub3VnaCB0byBzZWUgdGhlIHdob2xlIGdsb2JlIHNtYWxsIG9uIHNjcmVlbi5cbiAgICAgIC8vIE92ZXJyaWRlIGl0IHRvIGhvbm9yIG9ubHkgdGhlIGNvbmZpZ3VyZWQgbWluWm9vbS9tYXhab29tIChwbHVzIHRoZSBzYW1lXG4gICAgICAvLyBsYXRpdHVkZSBhZGp1c3RtZW50IGRlY2suZ2wgdXNlcyksIGlnbm9yaW5nIHRoZSBib3VuZHMtYmFzZWQgZmxvb3IuXG4gICAgICBfY29uc3RyYWluWm9vbSh6b29tOiBudW1iZXIsIHByb3BzPzogYW55KSB7XG4gICAgICAgIHByb3BzID0gcHJvcHMgfHwgKHRoaXMgYXMgYW55KS5nZXRWaWV3cG9ydFByb3BzKCk7XG4gICAgICAgIGNvbnN0IHtsYXRpdHVkZSwgbWF4Wm9vbX0gPSBwcm9wcztcbiAgICAgICAgbGV0IHttaW5ab29tfSA9IHByb3BzO1xuICAgICAgICBpZiAobWluWm9vbSA9PT0gdW5kZWZpbmVkIHx8IG1pblpvb20gPT09IG51bGwpIHtcbiAgICAgICAgICBtaW5ab29tID0gMDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBaT09NMCA9IHpvb21BZGp1c3QoMCk7XG4gICAgICAgIGNvbnN0IHpvb21BZGp1c3RtZW50ID0gem9vbUFkanVzdChsYXRpdHVkZSkgLSBaT09NMDtcbiAgICAgICAgcmV0dXJuIGNsYW1wKHpvb20sIG1pblpvb20gKyB6b29tQWRqdXN0bWVudCwgbWF4Wm9vbSArIHpvb21BZGp1c3RtZW50KTtcbiAgICAgIH1cblxuICAgICAgLy8gRXhhY3Qgem9vbS10by1jdXJzb3IuIGRlY2suZ2wgOS54J3MgR2xvYmVDb250cm9sbGVyIGRvZXMgbm90IGtlZXAgdGhlIHBvaW50XG4gICAgICAvLyB1bmRlciB0aGUgY3Vyc29yIGZpeGVkIHdoaWxlIHpvb21pbmcsIGluIHR3byB3YXlzIHdlIHdvcmsgYXJvdW5kIGhlcmU6XG4gICAgICAvLyAgIDEuIEl0cyBHbG9iZVN0YXRlLnpvb20oKSBpZ25vcmVzIHRoZSBjdXJzb3IgYW5kIHpvb21zIHRvd2FyZCB0aGUgY2VudGVyLlxuICAgICAgLy8gICAyLiBJdHMgR2xvYmVWaWV3cG9ydC5wYW5CeVBvc2l0aW9uIGlzIGEgbG9zc3ksICpsaW5lYXJpemVkKiAzLWFyZ1xuICAgICAgLy8gICAgICByb3RhdGlvbiAobG9uZ2l0dWRlICs9ICgwLjI1L3NjYWxlKSooc3RhcnRQaXhlbC1waXhlbCksIHJlLWRlcml2ZXNcbiAgICAgIC8vICAgICAgem9vbSkuIFVzaW5nIGl0IHBlciB3aGVlbCB0aWNrIGFjY3VtdWxhdGVzIGVycm9yLCBzbyBhZnRlciBhIGxvbmdcbiAgICAgIC8vICAgICAgY29udGludW91cyB6b29tIHRoZSBwb2ludCBlbmRzIHVwIG5vdGljZWFibHkgc2hpZnRlZCBmcm9tIHdoYXQgd2FzXG4gICAgICAvLyAgICAgIG9yaWdpbmFsbHkgdW5kZXIgdGhlIGN1cnNvci5cbiAgICAgIC8vIFRoZSByZWNlbnRlciBiZWxvdyBpcyBhbiAqZXhhY3QgYWJzb2x1dGUqIHRyYW5zbGF0aW9uOiB1bnByb2plY3QgdGhlXG4gICAgICAvLyBjdXJzb3IgcGl4ZWwgaW4gdGhlIHpvb21lZCB2aWV3cG9ydCB0byBnZXQgdGhlIGdlbyBwb2ludCBjdXJyZW50bHkgdW5kZXIgaXQsXG4gICAgICAvLyB0aGVuIHNoaWZ0IHRoZSBjZW50ZXIgYnkgKGFuY2hvciAtIHRoYXRQb2ludCkuIE5vIHpvb20gY291cGxpbmcsIG5vXG4gICAgICAvLyByb3RhdGlvblNwZWVkLCBhbmQgaXQgYXBwbGllcyB0byB6b29tLWluIGFuZCB6b29tLW91dCBzeW1tZXRyaWNhbGx5LCBzb1xuICAgICAgLy8gdGhlcmUgaXMgbm8gcGVyLXRpY2sgYWNjdW11bGF0ZWQgZHJpZnQuXG4gICAgICB6b29tKHtcbiAgICAgICAgcG9zLFxuICAgICAgICBzdGFydFBvcyxcbiAgICAgICAgc2NhbGVcbiAgICAgIH06IHtcbiAgICAgICAgcG9zOiBbbnVtYmVyLCBudW1iZXJdO1xuICAgICAgICBzdGFydFBvcz86IFtudW1iZXIsIG51bWJlcl07XG4gICAgICAgIHNjYWxlOiBudW1iZXI7XG4gICAgICB9KSB7XG4gICAgICAgIGxldCB7c3RhcnRab29tLCBzdGFydFpvb21MbmdMYXR9ID0gKHRoaXMgYXMgYW55KS5nZXRTdGF0ZSgpO1xuICAgICAgICBjb25zdCBjdXJyZW50UHJvcHMgPSAodGhpcyBhcyBhbnkpLmdldFZpZXdwb3J0UHJvcHMoKTtcblxuICAgICAgICBpZiAoIXN0YXJ0Wm9vbUxuZ0xhdCkge1xuICAgICAgICAgIC8vIFdoZWVsIHpvb206IHJlLWRlcml2ZSBhbmNob3IgZWFjaCB0aWNrIChwaW5jaCBzZXRzIGl0IG9uY2UgaW4gem9vbVN0YXJ0KS5cbiAgICAgICAgICBzdGFydFpvb20gPSBjdXJyZW50UHJvcHMuem9vbTtcblxuICAgICAgICAgIC8vIFN1cHByZXNzIGN1cnNvci1hbmNob3Jpbmcgd2hlbiB0aGUgY3Vyc29yIGlzIG9mZi1nbG9iZSBvciB3aGVuIGFcbiAgICAgICAgICAvLyByZWNlbnQgdGljayB3YXMgb2ZmLWdsb2JlICh3aXRoaW4gQlVSU1RfVElNRU9VVF9NUykuICBkZWNrLmdsIG5ldmVyXG4gICAgICAgICAgLy8gY2FsbHMgem9vbUVuZCgpIGZvciB3aGVlbCBldmVudHMgc28gd2UgdHJhY2sgdGhlIHNlc3Npb24gd2l0aCB0aGVcbiAgICAgICAgICAvLyBjbG9zdXJlIHZhcmlhYmxlIGBvZmZHbG9iZVpvb21BdGAgcmF0aGVyIHRoYW4gVmlld1N0YXRlLlxuICAgICAgICAgIGNvbnN0IEJVUlNUX1RJTUVPVVRfTVMgPSAyMDA7XG4gICAgICAgICAgY29uc3Qgbm93ID0gRGF0ZS5ub3coKTtcbiAgICAgICAgICBjb25zdCBhbmNob3JWaWV3cG9ydCA9ICh0aGlzIGFzIGFueSkubWFrZVZpZXdwb3J0KGN1cnJlbnRQcm9wcyk7XG4gICAgICAgICAgY29uc3Qgb25HbG9iZSA9IGlzUGl4ZWxPbkdsb2JlKGFuY2hvclZpZXdwb3J0LCBzdGFydFBvcyB8fCBwb3MpO1xuXG4gICAgICAgICAgaWYgKCFvbkdsb2JlKSBvZmZHbG9iZVpvb21BdCA9IG5vdztcblxuICAgICAgICAgIGlmICghb25HbG9iZSB8fCAob2ZmR2xvYmVab29tQXQgIT09IG51bGwgJiYgbm93IC0gb2ZmR2xvYmVab29tQXQgPCBCVVJTVF9USU1FT1VUX01TKSkge1xuICAgICAgICAgICAgY29uc3Qgem9vbSA9ICh0aGlzIGFzIGFueSkuX2NvbnN0cmFpblpvb20oc3RhcnRab29tICsgTWF0aC5sb2cyKHNjYWxlKSk7XG4gICAgICAgICAgICByZXR1cm4gKHRoaXMgYXMgYW55KS5fZ2V0VXBkYXRlZFN0YXRlKHt6b29tfSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgb2ZmR2xvYmVab29tQXQgPSBudWxsO1xuICAgICAgICAgIHN0YXJ0Wm9vbUxuZ0xhdCA9ICh0aGlzIGFzIGFueSkuX3VucHJvamVjdChzdGFydFBvcykgfHwgKHRoaXMgYXMgYW55KS5fdW5wcm9qZWN0KHBvcyk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB6b29tID0gKHRoaXMgYXMgYW55KS5fY29uc3RyYWluWm9vbShzdGFydFpvb20gKyBNYXRoLmxvZzIoc2NhbGUpKTtcblxuICAgICAgICBpZiAoIXN0YXJ0Wm9vbUxuZ0xhdCkge1xuICAgICAgICAgIHJldHVybiAodGhpcyBhcyBhbnkpLl9nZXRVcGRhdGVkU3RhdGUoe3pvb219KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFpvb20tb3V0IChzY2FsZSA8IDEpOiBleGFjdCBjdXJzb3IgYW5jaG9yaW5nIGlzIHVuc3RhYmxlIG5lYXIgdGhlIGxpbWJcbiAgICAgICAgLy8gKG5vbi1saW5lYXIgZ2VvLXRvLXBpeGVsIG1hcHBpbmcgcHVsbHMgdGhlIHZpZXcgdG93YXJkIHRoZSBwb2xlcykuXG4gICAgICAgIC8vIEluc3RlYWQsIGdlbnRseSBzdGVlciB0aGUgY2VudGVyIHRvd2FyZCB0aGUgY3Vyc29yIGxvY2F0aW9uIHBlciB0aWNrLlxuICAgICAgICBpZiAoc2NhbGUgPCAxKSB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgIUFycmF5LmlzQXJyYXkoc3RhcnRab29tTG5nTGF0KSB8fFxuICAgICAgICAgICAgIU51bWJlci5pc0Zpbml0ZShzdGFydFpvb21MbmdMYXRbMF0pIHx8XG4gICAgICAgICAgICAhTnVtYmVyLmlzRmluaXRlKHN0YXJ0Wm9vbUxuZ0xhdFsxXSlcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiAodGhpcyBhcyBhbnkpLl9nZXRVcGRhdGVkU3RhdGUoe3pvb219KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBQZXItdGljayBsZXJwIHN0cmVuZ3RoIHNjYWxlcyB3aXRoIHpvb20tb3V0IGFtb3VudDsgY2xhbXBlZCB0byBhdm9pZCBvdmVyc2hvb3QuXG4gICAgICAgICAgY29uc3QgdCA9IE1hdGgubWluKDEsICgxIC0gc2NhbGUpICogMC4xMSk7XG5cbiAgICAgICAgICAvLyBTaG9ydGVzdC1wYXRoIGxvbmdpdHVkZSBpbnRlcnBvbGF0aW9uIChoYW5kbGVzIGFudGltZXJpZGlhbiB3cmFwKS5cbiAgICAgICAgICBsZXQgZExuZyA9IHN0YXJ0Wm9vbUxuZ0xhdFswXSAtIGN1cnJlbnRQcm9wcy5sb25naXR1ZGU7XG4gICAgICAgICAgaWYgKGRMbmcgPiAxODApIGRMbmcgLT0gMzYwO1xuICAgICAgICAgIGlmIChkTG5nIDwgLTE4MCkgZExuZyArPSAzNjA7XG5cbiAgICAgICAgICByZXR1cm4gKHRoaXMgYXMgYW55KS5fZ2V0VXBkYXRlZFN0YXRlKHtcbiAgICAgICAgICAgIHpvb20sXG4gICAgICAgICAgICBsb25naXR1ZGU6IGN1cnJlbnRQcm9wcy5sb25naXR1ZGUgKyBkTG5nICogdCxcbiAgICAgICAgICAgIGxhdGl0dWRlOiBjdXJyZW50UHJvcHMubGF0aXR1ZGUgKyAoc3RhcnRab29tTG5nTGF0WzFdIC0gY3VycmVudFByb3BzLmxhdGl0dWRlKSAqIHRcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHpvb21lZFZpZXdwb3J0ID0gKHRoaXMgYXMgYW55KS5tYWtlVmlld3BvcnQoe1xuICAgICAgICAgIC4uLmN1cnJlbnRQcm9wcyxcbiAgICAgICAgICB6b29tXG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIFpvb20taW46IGV4YWN0IGFuY2hvciDigJQgdW5wcm9qZWN0IHRoZSBjdXJzb3IgaW4gdGhlIHBvc3Qtem9vbSB2aWV3cG9ydCBhbmRcbiAgICAgICAgLy8gc2hpZnQgdGhlIGNlbnRlciBzbyB0aGUgZ3JhYmJlZCBnZW8gcG9pbnQgbGFuZHMgYmFjayB1bmRlciB0aGUgY3Vyc29yLlxuICAgICAgICAvLyBHdWFyZCB3aXRoIGlzUGl4ZWxPbkdsb2JlOiBpZiBwb3MgbW92ZWQgb2ZmLWdsb2JlIGR1cmluZyBhIGZhc3QgcGluY2gsXG4gICAgICAgIC8vIGZhbGwgYmFjayB0byBjZW50ZXIgem9vbS5cbiAgICAgICAgaWYgKCFpc1BpeGVsT25HbG9iZSh6b29tZWRWaWV3cG9ydCwgcG9zKSkge1xuICAgICAgICAgIHJldHVybiAodGhpcyBhcyBhbnkpLl9nZXRVcGRhdGVkU3RhdGUoe3pvb219KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGZyb21Qb3NpdGlvbiA9IHpvb21lZFZpZXdwb3J0LnVucHJvamVjdChwb3MpO1xuXG4gICAgICAgIHJldHVybiAodGhpcyBhcyBhbnkpLl9nZXRVcGRhdGVkU3RhdGUoe1xuICAgICAgICAgIHpvb20sXG4gICAgICAgICAgbG9uZ2l0dWRlOiBzdGFydFpvb21MbmdMYXRbMF0gLSBmcm9tUG9zaXRpb25bMF0gKyB6b29tZWRWaWV3cG9ydC5sb25naXR1ZGUsXG4gICAgICAgICAgbGF0aXR1ZGU6IHN0YXJ0Wm9vbUxuZ0xhdFsxXSAtIGZyb21Qb3NpdGlvblsxXSArIHpvb21lZFZpZXdwb3J0LmxhdGl0dWRlXG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICAvLyBDbGVhciB0aGUgcGVyc2lzdGVkIHBpbmNoIGFuY2hvciBhdCBnZXN0dXJlIGVuZC5cbiAgICAgIHpvb21FbmQoKSB7XG4gICAgICAgIHJldHVybiAodGhpcyBhcyBhbnkpLl9nZXRVcGRhdGVkU3RhdGUoe1xuICAgICAgICAgIHN0YXJ0Wm9vbTogbnVsbCxcbiAgICAgICAgICBzdGFydFpvb21MbmdMYXQ6IG51bGxcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIC8vIEV4YWN0LCBjdXJzb3ItYW5jaG9yZWQgcGFuOiB0aGUgZ2VvIHBvaW50IGdyYWJiZWQgb24gbW91c2Vkb3duIHN0YXlzXG4gICAgICAvLyBsb2NrZWQgdW5kZXIgdGhlIGN1cnNvciBmb3IgdGhlIHdob2xlIGRyYWcuXG4gICAgICAvL1xuICAgICAgLy8gZGVjay5nbCA5LngncyBHbG9iZUNvbnRyb2xsZXIgcGFucyB3aXRoIGEgKmxpbmVhcml6ZWQsIGNlbnRlci1hbmNob3JlZCpcbiAgICAgIC8vIHJvdGF0aW9uIChHbG9iZVZpZXdwb3J0LnBhbkJ5UG9zaXRpb24oW2xuZyxsYXQsem9vbV0sIHBpeGVsLCBzdGFydFBpeGVsKTpcbiAgICAgIC8vIGxvbmdpdHVkZSArPSAoMC4yNS9zY2FsZSkqKHN0YXJ0UGl4ZWwtcGl4ZWwpKS4gQmVjYXVzZSB0aGUgYW5jaG9yIGlzIHRoZVxuICAgICAgLy8gdmlldyBDRU5URVIgcmF0aGVyIHRoYW4gdGhlIGdyYWJiZWQgcG9pbnQsIHRoZSBmaXJzdCBkcmFnIGZyYW1lIHNuYXBzIHRoZVxuICAgICAgLy8gY2VudGVyIHRvIHNhdGlzZnkgdGhlIGxpbmVhciBhcHByb3hpbWF0aW9uLCBwcm9kdWNpbmcgdGhlIHZpc2libGUgXCJqdW1wIHRvXG4gICAgICAvLyB0aGUgc2lkZS91cFwiIGF0IHRoZSBzdGFydCBvZiBhIHBhbiAobW9zdCBub3RpY2VhYmxlIGF0IGhpZ2ggem9vbSksIGFmdGVyXG4gICAgICAvLyB3aGljaCBpbmNyZW1lbnRhbCBkZWx0YXMgdHJhY2sgZmluZS4gVGhlIGV4YWN0IGFuY2hvciBiZWxvdyByZW1vdmVzIHRoYXRcbiAgICAgIC8vIGZpcnN0LWZyYW1lIHNuYXAuXG4gICAgICBwYW5TdGFydCh7cG9zfToge3BvczogW251bWJlciwgbnVtYmVyXX0pIHtcbiAgICAgICAgY29uc3Qgdmlld3BvcnQgPSAodGhpcyBhcyBhbnkpLm1ha2VWaWV3cG9ydCgodGhpcyBhcyBhbnkpLmdldFZpZXdwb3J0UHJvcHMoKSk7XG4gICAgICAgIC8vIElmIHRoZSBtb3VzZWRvd24gcGl4ZWwgaXMgb3V0c2lkZSB0aGUgZ2xvYmUgc2lsaG91ZXR0ZSwgc3RvcmUgYGZhbHNlYFxuICAgICAgICAvLyBhcyBhbiBleHBsaWNpdCBzZW50aW5lbCBzbyB0aGF0IGV2ZXJ5IHN1YnNlcXVlbnQgYHBhbmAgY2FsbCBmb3IgdGhpc1xuICAgICAgICAvLyBnZXN0dXJlIGlzIGEgbm8tb3AuICBXZSBjYW4ndCByZWx5IG9uIGBfdW5wcm9qZWN0KHBvcylgIHJldHVybmluZ1xuICAgICAgICAvLyB1bmRlZmluZWQgaGVyZSBiZWNhdXNlIEdsb2JlVmlld3BvcnQudW5wcm9qZWN0IGNsYW1wcyB0aGVcbiAgICAgICAgLy8gcmF54oCTc3BoZXJlIGRpc2NyaW1pbmFudCB0byAwIHZpYSBNYXRoLm1heCgwLCDigKYpLCB3aGljaCBtZWFucyBpdFxuICAgICAgICAvLyBhbHdheXMgcmV0dXJucyBhIHZhbGlkLWxvb2tpbmcgbG5nL2xhdCBldmVuIGZvciBvZmYtZ2xvYmUgcGl4ZWxzLlxuICAgICAgICBpZiAoIWlzUGl4ZWxPbkdsb2JlKHZpZXdwb3J0LCBwb3MpKSB7XG4gICAgICAgICAgcmV0dXJuICh0aGlzIGFzIGFueSkuX2dldFVwZGF0ZWRTdGF0ZSh7c3RhcnRQYW5MbmdMYXQ6IGZhbHNlfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuICh0aGlzIGFzIGFueSkuX2dldFVwZGF0ZWRTdGF0ZSh7XG4gICAgICAgICAgc3RhcnRQYW5MbmdMYXQ6ICh0aGlzIGFzIGFueSkuX3VucHJvamVjdChwb3MpXG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBwYW4oe3Bvcywgc3RhcnRQb3N9OiB7cG9zOiBbbnVtYmVyLCBudW1iZXJdOyBzdGFydFBvcz86IFtudW1iZXIsIG51bWJlcl19KSB7XG4gICAgICAgIGNvbnN0IHN0b3JlZFN0YXJ0ID0gKHRoaXMgYXMgYW55KS5nZXRTdGF0ZSgpLnN0YXJ0UGFuTG5nTGF0O1xuXG4gICAgICAgIGNvbnN0IHByb3BzID0gKHRoaXMgYXMgYW55KS5nZXRWaWV3cG9ydFByb3BzKCk7XG4gICAgICAgIGNvbnN0IHZpZXdwb3J0ID0gKHRoaXMgYXMgYW55KS5tYWtlVmlld3BvcnQocHJvcHMpO1xuXG4gICAgICAgIC8vIGBmYWxzZWAgbWVhbnMgdGhlIGRyYWcgc3RhcnRlZCBvdXRzaWRlIHRoZSBnbG9iZS4gSWYgdGhlIGN1cnNvciBoYXNcbiAgICAgICAgLy8gbm93IG1vdmVkIG9udG8gdGhlIGdsb2JlLCBsYXRjaCB0aGUgY3VycmVudCBwb3NpdGlvbiBhcyB0aGUgYW5jaG9yXG4gICAgICAgIC8vIHNvIHJvdGF0aW9uIGJlZ2lucyBmcm9tIHRoZSBlbnRyeSBwb2ludC4gT3RoZXJ3aXNlIHN0YXkgZnJvemVuLlxuICAgICAgICBpZiAoc3RvcmVkU3RhcnQgPT09IGZhbHNlKSB7XG4gICAgICAgICAgaWYgKCFpc1BpeGVsT25HbG9iZSh2aWV3cG9ydCwgcG9zKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIEN1cnNvciBqdXN0IGVudGVyZWQgdGhlIGdsb2JlIOKAlCBlc3RhYmxpc2ggdGhlIGFuY2hvciBhbmQgcmV0dXJuXG4gICAgICAgICAgLy8gd2l0aG91dCBtb3Zpbmc7IHRoZSBuZXh0IHBhbiBldmVudCB3aWxsIGFwcGx5IHRoZSBmaXJzdCBkZWx0YS5cbiAgICAgICAgICByZXR1cm4gKHRoaXMgYXMgYW55KS5fZ2V0VXBkYXRlZFN0YXRlKHtcbiAgICAgICAgICAgIHN0YXJ0UGFuTG5nTGF0OiAodGhpcyBhcyBhbnkpLl91bnByb2plY3QocG9zKVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc3RhcnRQYW5MbmdMYXQgPSBzdG9yZWRTdGFydCB8fCAodGhpcyBhcyBhbnkpLl91bnByb2plY3Qoc3RhcnRQb3MpO1xuICAgICAgICBpZiAoIXN0YXJ0UGFuTG5nTGF0KSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPbmNlIHRoZSBjdXJzb3IgbGVhdmVzIHRoZSBnbG9iZSBzaWxob3VldHRlIG1pZC1kcmFnLCBmcmVlemUgdGhlIHZpZXcuXG4gICAgICAgIC8vIHZpZXdwb3J0LnVucHJvamVjdCgpIHNuYXBzIG9mZi1nbG9iZSBwaXhlbHMgdG8gdGhlIG5lYXJlc3QgbGltYiBwb2ludFxuICAgICAgICAvLyAodmlhIE1hdGgubWF4KDAsIOKApikgaW4gaXRzIHJheeKAk3NwaGVyZSBkaXNjcmltaW5hbnQpLCBzbyB3aXRob3V0IHRoaXNcbiAgICAgICAgLy8gZ3VhcmQgdGhlIGdsb2JlIHdvdWxkIGtlZXAgcm90YXRpbmcgdG93YXJkIHRoZSBlZGdlIGFzIHRoZSBjdXJzb3IgbW92ZXNcbiAgICAgICAgLy8gZnVydGhlciBvdXRzaWRlLlxuICAgICAgICBpZiAoIWlzUGl4ZWxPbkdsb2JlKHZpZXdwb3J0LCBwb3MpKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBmcm9tUG9zaXRpb24gPSB2aWV3cG9ydC51bnByb2plY3QocG9zKTtcblxuICAgICAgICBjb25zdCBsb25naXR1ZGUgPSBzdGFydFBhbkxuZ0xhdFswXSAtIGZyb21Qb3NpdGlvblswXSArIHByb3BzLmxvbmdpdHVkZTtcbiAgICAgICAgbGV0IGxhdGl0dWRlID0gc3RhcnRQYW5MbmdMYXRbMV0gLSBmcm9tUG9zaXRpb25bMV0gKyBwcm9wcy5sYXRpdHVkZTtcbiAgICAgICAgbGF0aXR1ZGUgPSBjbGFtcChsYXRpdHVkZSwgLUdMT0JFX01BWF9MQVRJVFVERSwgR0xPQkVfTUFYX0xBVElUVURFKTtcblxuICAgICAgICAvLyBkZWNrLmdsIDkncyBHbG9iZVZpZXdwb3J0IHNjYWxlID0gMl4oem9vbSAtIHpvb21BZGp1c3QobGF0aXR1ZGUpKSwgc28gYVxuICAgICAgICAvLyBjb25zdGFudCB6b29tIHdvdWxkIG1ha2UgdGhlIGdsb2JlIGdyb3cgb24gc2NyZWVuIGFzIHRoZSBjZW50ZXIgbW92ZXNcbiAgICAgICAgLy8gdG93YXJkIHRoZSBwb2xlcy4gUmUtY291cGxlIHpvb20gdG8gdGhlIG5ldyBsYXRpdHVkZSAoYXMgZGVjay5nbCA5J3Mgb3duXG4gICAgICAgIC8vIHBhbiBkb2VzKSB0byBrZWVwIHRoZSBvbi1zY3JlZW4gc2NhbGUg4oCUIGFuZCB0aHVzIHRpbGUgTE9EIOKAlCBjb25zdGFudC5cbiAgICAgICAgY29uc3QgdmlzdWFsWm9vbSA9IHByb3BzLnpvb20gLSB6b29tQWRqdXN0KHByb3BzLmxhdGl0dWRlKTtcbiAgICAgICAgY29uc3Qgem9vbSA9IHZpc3VhbFpvb20gKyB6b29tQWRqdXN0KGxhdGl0dWRlKTtcblxuICAgICAgICByZXR1cm4gKHRoaXMgYXMgYW55KS5fZ2V0VXBkYXRlZFN0YXRlKHtsb25naXR1ZGUsIGxhdGl0dWRlLCB6b29tfSk7XG4gICAgICB9XG5cbiAgICAgIHBhbkVuZCgpIHtcbiAgICAgICAgcmV0dXJuICh0aGlzIGFzIGFueSkuX2dldFVwZGF0ZWRTdGF0ZSh7c3RhcnRQYW5MbmdMYXQ6IG51bGx9KTtcbiAgICAgIH1cbiAgICB9IGFzIGFueTtcbiAgfVxufVxuXG4vKipcbiAqIEN1c3RvbSBHbG9iZVZpZXcgdGhhdCB1c2VzIHpvb20tdG8tY3Vyc29yIGNvbnRyb2xsZXIgYmVoYXZpb3IuXG4gKi9cbmV4cG9ydCBjbGFzcyBLZXBsZXJHbG9iZVZpZXcgZXh0ZW5kcyBEZWNrR2xvYmVWaWV3IHtcbiAgLy8gRm9yd2FyZCBjb25zdHJ1Y3RvciBwcm9wcyB0byBkZWNrLmdsJ3MgR2xvYmVWaWV3LiBEZWNsYXJlZCBleHBsaWNpdGx5IGJlY2F1c2VcbiAgLy8gdGhlIGJhc2UgY2xhc3MgaXMgbG9vc2VseSB0eXBlZCAoc2VlIERlY2tHbG9iZVZpZXcgYWJvdmUpLCB3aGljaCB3b3VsZFxuICAvLyBvdGhlcndpc2Ugc3VyZmFjZSBhIHBhcmFtZXRlcmxlc3MgY29uc3RydWN0b3IgdG8gY2FsbGVycy5cbiAgY29uc3RydWN0b3IocHJvcHM/OiBhbnkpIHtcbiAgICBzdXBlcihwcm9wcyk7XG4gIH1cblxuICBnZXQgQ29udHJvbGxlclR5cGUoKSB7XG4gICAgcmV0dXJuIFpvb21Ub0N1cnNvckdsb2JlQ29udHJvbGxlcjtcbiAgfVxuXG4gIC8vIGRlY2suZ2wgOSdzIEdsb2JlVmlldy5nZXRWaWV3cG9ydFR5cGUoKSBzd2FwcyB0aGUgdmlld3BvcnQgY2xhc3MgYmFzZWQgb24gem9vbTpcbiAgLy8gICBgcmV0dXJuIHZpZXdTdGF0ZS56b29tID4gMTIgPyBXZWJNZXJjYXRvclZpZXdwb3J0IDogR2xvYmVWaWV3cG9ydDtgXG4gIC8vIENyb3NzaW5nIHpvb20gMTIgdGhlcmVmb3JlIHJlY29tcHV0ZXMgdGlsZSBib3VuZHMgd2l0aCBjb21wbGV0ZWx5IGRpZmZlcmVudFxuICAvLyBwcm9qZWN0aW9uIG1hdGggKGdsb2JlIHZzIGZsYXQgbWVyY2F0b3IpLiBUaGF0IG1ha2VzIGRlY2sncyBUaWxlTGF5ZXIvTVZUTGF5ZXJcbiAgLy8gcmVzZWxlY3QgdGlsZXMgaW5jb25zaXN0ZW50bHkgYWNyb3NzIHRoZSBib3VuZGFyeSDigJQgbWl4ZWQgTE9EcyAoZS5nLiBhIHo0IHRpbGVcbiAgLy8gbmV4dCB0byB6MTEpLCBhIHZpc2libGUgXCJmbGlja2VyXCIgYXQgMTIsIGFuZCB0aWxlcyB0aGF0IGdldCBkcm9wcGVkIGFuZCBzdGlja1xuICAvLyBhcyBibGFjay9lbXB0eSBxdWFkcyAobW9zdCBvZnRlbiBjcm9zc2luZyAxMiBvbiB0aGUgd2F5ICpvdXQqKS5cbiAgLy9cbiAgLy8gRm9yY2UgR2xvYmVWaWV3cG9ydCBhdCBldmVyeSB6b29tIHRvIGVsaW1pbmF0ZSB0aGUgej0xMiB2aWV3cG9ydCBzd2FwIHNvIHRpbGVcbiAgLy8gc2VsZWN0aW9uIHN0YXlzIGNvbnNpc3RlbnQuIFRoZSB0cmFkZS1vZmYgaXMgdGhhdCB6b29tID4gMTIgbm93IHVzZXMgZmxvYXQzMlxuICAvLyBnbG9iZSBwcmVjaXNpb24gKGRlY2sncyBkb2N1bWVudGVkIFwibm8gaGlnaC1wcmVjaXNpb24gcmVuZGVyaW5nID4gMTJcIiBsaW1pdClcbiAgLy8gaW5zdGVhZCBvZiBzd2l0Y2hpbmcgdG8gbWVyY2F0b3Ig4oCUIGZhciBwcmVmZXJhYmxlIHRvIHRoZSBibGFjayBxdWFkcy5cbiAgZ2V0Vmlld3BvcnRUeXBlKCkge1xuICAgIHJldHVybiBEZWNrR2xvYmVWaWV3cG9ydDtcbiAgfVxufVxuXG5LZXBsZXJHbG9iZVZpZXcuZGlzcGxheU5hbWUgPSAnS2VwbGVyR2xvYmVWaWV3JztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7O0FBRUEsT0FBTyxLQUFLQSxRQUFRLE1BQU0sZUFBZTtBQUN6QyxTQUFRQyxLQUFLLEVBQUVDLElBQUksUUFBTyxlQUFlO0FBQ3pDLFNBQVFDLGtCQUFrQixRQUFPLHNCQUFzQjtBQUN2RCxTQUFRQyxtQkFBbUIsUUFBTywwQkFBMEI7O0FBRTVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBTUMsYUFBYSxHQUFJTCxRQUFRLENBQVNNLFVBQWlCO0FBQ3pELElBQU1DLGVBQWUsR0FBSVAsUUFBUSxDQUFTUSxnQkFBdUI7QUFDakUsSUFBTUMsaUJBQWlCLEdBQUlULFFBQVEsQ0FBU1UsY0FBcUI7O0FBRWpFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTQyxVQUFVQSxDQUFDQyxRQUFnQixFQUFVO0VBQzVDLE9BQU9DLElBQUksQ0FBQ0MsSUFBSSxDQUFDRCxJQUFJLENBQUNFLEVBQUUsR0FBR0YsSUFBSSxDQUFDRyxHQUFHLENBQUVKLFFBQVEsR0FBR0MsSUFBSSxDQUFDRSxFQUFFLEdBQUksR0FBRyxDQUFDLENBQUM7QUFDbEU7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTRSxjQUFjQSxDQUFDQyxRQUFhLEVBQUVDLEdBQXFCLEVBQVc7RUFDckUsSUFBTUMsQ0FBVyxHQUFHRixRQUFRLENBQUNHLHVCQUF1QjtFQUNwRCxJQUFJLENBQUNELENBQUMsRUFBRSxPQUFPLElBQUksQ0FBQyxDQUFDOztFQUVyQjtFQUNBLElBQU1FLEVBQUUsR0FBR3BCLElBQUksQ0FBQ3FCLGFBQWEsQ0FBQyxFQUFFLEVBQUUsQ0FBQ0osR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFQSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUVDLENBQUMsQ0FBQztFQUM3RCxJQUFNSSxFQUFFLEdBQUd0QixJQUFJLENBQUNxQixhQUFhLENBQUMsRUFBRSxFQUFFLENBQUNKLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRUEsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRUMsQ0FBQyxDQUFDO0VBQzVELElBQUlFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUlFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsT0FBTyxJQUFJLENBQUMsQ0FBQzs7RUFFN0M7RUFDQSxJQUFNQyxFQUFFLEdBQUdILEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBR0EsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUFFSSxFQUFFLEdBQUdKLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBR0EsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUFFSyxFQUFFLEdBQUdMLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBR0EsRUFBRSxDQUFDLENBQUMsQ0FBQztFQUNoRSxJQUFNTSxFQUFFLEdBQUdKLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBR0EsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUFFSyxFQUFFLEdBQUdMLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBR0EsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUFFTSxFQUFFLEdBQUdOLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBR0EsRUFBRSxDQUFDLENBQUMsQ0FBQzs7RUFFaEU7RUFDQSxJQUFNTyxFQUFFLEdBQUdILEVBQUUsR0FBR0gsRUFBRTtJQUFFTyxFQUFFLEdBQUdILEVBQUUsR0FBR0gsRUFBRTtJQUFFTyxFQUFFLEdBQUdILEVBQUUsR0FBR0gsRUFBRTs7RUFFOUM7RUFDQTtFQUNBLElBQU1PLEVBQUUsR0FBR1IsRUFBRSxHQUFHTyxFQUFFLEdBQUdOLEVBQUUsR0FBR0ssRUFBRTtFQUM1QixJQUFNRyxFQUFFLEdBQUdSLEVBQUUsR0FBR0ksRUFBRSxHQUFHTixFQUFFLEdBQUdR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UTtVQUNuRUEsUUFBUSxHQUFHWCxLQUFLLENBQUNXLFFBQVEsRUFBRSxDQUFDVCxrQkFBa0IsRUFBRUEsa0JBQWtCLENBQUM7O1VBRW5FO1VBQ0E7VUFDQTtVQUNBO1VBQ0EsSUFBTXdHLFVBQVUsR0FBR2hELEtBQUssQ0FBQ0ksSUFBSSxHQUFHcEQsVUFBVSxDQUFDZ0QsS0FBSyxDQUFDL0MsUUFBUSxDQUFDO1VBQzFELElBQU1tRCxJQUFJLEdBQUc0QyxVQUFVLEdBQUdoRyxVQUFVLENBQUNDLFFBQVEsQ0FBQztVQUU5QyxPQUFRLElBQUksQ0FBUzJFLGdCQUFnQixDQUFDO1lBQUNRLFNBQVMsRUFBVEEsU0FBUztZQUFFbkYsUUFBUSxFQUFSQSxRQUFRO1lBQUVtRCxJQUFJLEVBQUpBO1VBQUksQ0FBQyxDQUFDO1FBQ3BFO01BQUM7UUFBQVAsR0FBQTtRQUFBQyxLQUFBLEVBRUQsU0FBQW1ELE1BQU1BLENBQUEsRUFBRztVQUNQLE9BQVEsSUFBSSxDQUFTckIsZ0JBQWdCLENBQUM7WUFBQ2dCLGNBQWMsRUFBRTtVQUFJLENBQUMsQ0FBQztRQUMvRDtNQUFDO0lBQUEsRUFwT29EdEQsa0JBQWtCLENBcU9qRTtJQUFDLE9BQUFWLEtBQUE7RUFDWDtFQUFDZSxTQUFBLENBQUFoQiwyQkFBQSxFQUFBOUIsZ0JBQUE7RUFBQSxPQUFBK0MsWUFBQSxDQUFBakIsMkJBQUE7QUFBQSxFQXRQdUMvQixlQUFlO0FBeVB6RDtBQUNBO0FBQ0E7QUFDQSxXQUFhc0csZUFBZSwwQkFBQUMsY0FBQTtFQUMxQjtFQUNBO0VBQ0E7RUFDQSxTQUFBRCxnQkFBWWxELEtBQVcsRUFBRTtJQUFBbkIsZUFBQSxPQUFBcUUsZUFBQTtJQUFBLE9BQUE5RCxVQUFBLE9BQUE4RCxlQUFBLEdBQ2pCbEQsS0FBSztFQUNiO0VBQUNMLFNBQUEsQ0FBQXVELGVBQUEsRUFBQUMsY0FBQTtFQUFBLE9BQUF2RCxZQUFBLENBQUFzRCxlQUFBO0lBQUFyRCxHQUFBO0lBQUF1RCxHQUFBLEVBRUQsU0FBQUEsSUFBQSxFQUFxQjtNQUNuQixPQUFPekUsMkJBQTJCO0lBQ3BDOztJQUVBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFQUFBO0lBQUFrQixHQUFBO0lBQUFDLEtBQUEsRUFDQSxTQUFBdUQsZUFBZUEsQ0FBQSxFQUFHO01BQ2hCLE9BQU92RyxpQkFBaUI7SUFDMUI7RUFBQztBQUFBLEVBMUJrQ0osYUFBYTtBQTZCbER3RyxlQUFlLENBQUNJLFdBQVcsR0FBRyxpQkFBaUIiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
398
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJEZWNrQ29yZSIsImNsYW1wIiwidmVjNCIsIkdMT0JFX01BWF9MQVRJVFVERSIsIkdMT0JFX0NPTU1PTl9SQURJVVMiLCJEZWNrR2xvYmVWaWV3IiwiX0dsb2JlVmlldyIsIkdsb2JlQ29udHJvbGxlciIsIl9HbG9iZUNvbnRyb2xsZXIiLCJEZWNrR2xvYmVWaWV3cG9ydCIsIl9HbG9iZVZpZXdwb3J0Iiwiem9vbUFkanVzdCIsImxhdGl0dWRlIiwiTWF0aCIsImxvZzIiLCJQSSIsImNvcyIsImlzUGl4ZWxPbkdsb2JlIiwidmlld3BvcnQiLCJwb3MiLCJtIiwicGl4ZWxVbnByb2plY3Rpb25NYXRyaXgiLCJwMCIsInRyYW5zZm9ybU1hdDQiLCJwMSIsImF4IiwiYXkiLCJheiIsImJ4IiwiYnkiLCJieiIsImR4IiwiZHkiLCJkeiIsImN4IiwiY3kiLCJjeiIsImRTcXIiLCJab29tVG9DdXJzb3JHbG9iZUNvbnRyb2xsZXIiLCJfdGhpcyIsIl9jbGFzc0NhbGxDaGVjayIsIl9sZW4iLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJhcmdzIiwiQXJyYXkiLCJfa2V5IiwiX2NhbGxTdXBlciIsImNvbmNhdCIsIk9yaWdpbmFsR2xvYmVTdGF0ZSIsIkNvbnRyb2xsZXJTdGF0ZSIsIm9mZkdsb2JlWm9vbUF0IiwiX09yaWdpbmFsR2xvYmVTdGF0ZSIsIlBhdGNoZWRHbG9iZVN0YXRlIiwiX2luaGVyaXRzIiwiX2NyZWF0ZUNsYXNzIiwia2V5IiwidmFsdWUiLCJhcHBseUNvbnN0cmFpbnRzIiwicHJvcHMiLCJyZXN1bHQiLCJfc3VwZXJQcm9wR2V0IiwiY2xhbXBlZExhdGl0dWRlIiwiem9vbSIsIl9jb25zdHJhaW5ab29tIiwiZ2V0Vmlld3BvcnRQcm9wcyIsIl9wcm9wcyIsIm1heFpvb20iLCJfcHJvcHMyIiwibWluWm9vbSIsInVuZGVmaW5lZCIsIlpPT00wIiwiem9vbUFkanVzdG1lbnQiLCJfcmVmIiwic3RhcnRQb3MiLCJzY2FsZSIsIl9nZXRTdGF0ZSIsImdldFN0YXRlIiwic3RhcnRab29tIiwic3RhcnRab29tTG5nTGF0IiwiY3VycmVudFByb3BzIiwiQlVSU1RfVElNRU9VVF9NUyIsIm5vdyIsIkRhdGUiLCJhbmNob3JWaWV3cG9ydCIsIm1ha2VWaWV3cG9ydCIsIm9uR2xvYmUiLCJfZ2V0VXBkYXRlZFN0YXRlIiwiX3VucHJvamVjdCIsImlzQXJyYXkiLCJOdW1iZXIiLCJpc0Zpbml0ZSIsInQiLCJtaW4iLCJkTG5nIiwibG9uZ2l0dWRlIiwiem9vbWVkVmlld3BvcnQiLCJfb2JqZWN0U3ByZWFkIiwiZnJvbVBvc2l0aW9uIiwidW5wcm9qZWN0Iiwiem9vbUVuZCIsInBhblN0YXJ0IiwiX3JlZjIiLCJzdGFydFBhbkxuZ0xhdCIsInBhbiIsIl9yZWYzIiwic3RvcmVkU3RhcnQiLCJ2aXN1YWxab29tIiwicGFuRW5kIiwiS2VwbGVyR2xvYmVWaWV3IiwiX0RlY2tHbG9iZVZpZXciLCJnZXQiLCJnZXRWaWV3cG9ydFR5cGUiLCJkaXNwbGF5TmFtZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9nbG9iZS9nbG9iZS12aWV3LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCAqIGFzIERlY2tDb3JlIGZyb20gJ0BkZWNrLmdsL2NvcmUnO1xuaW1wb3J0IHtjbGFtcCwgdmVjNH0gZnJvbSAnQG1hdGguZ2wvY29yZSc7XG5pbXBvcnQge0dMT0JFX01BWF9MQVRJVFVERX0gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuaW1wb3J0IHtHTE9CRV9DT01NT05fUkFESVVTfSBmcm9tICcuL2dsb2JlLWRlcHRoLWRpc2stbGF5ZXInO1xuXG4vLyBkZWNrLmdsIGV4cG9zZXMgR2xvYmVWaWV3IC8gR2xvYmVDb250cm9sbGVyIGFzIGV4cGVyaW1lbnRhbCwgdW5kZXJzY29yZS1wcmVmaXhlZFxuLy8gbWVtYmVycy4gVGhlaXIgbmFtZWQgdHlwZSBiaW5kaW5ncyBhcmVuJ3QgcmVsaWFibHkgcmVzb2x2YWJsZSB0aHJvdWdoIHRoZVxuLy8gcGFja2FnZSBiYXJyZWwgdW5kZXIgdGhpcyBwcm9qZWN0J3MgbW9kdWxlIHJlc29sdXRpb24sIHNvIHdlIHB1bGwgdGhlbSBvZmYgdGhlXG4vLyBuYW1lc3BhY2Ugd2l0aCBhIGxvb3NlIHR5cGUuIFJ1bnRpbWUgYmVoYXZpb3IgaXMgdW5jaGFuZ2VkLlxuY29uc3QgRGVja0dsb2JlVmlldyA9IChEZWNrQ29yZSBhcyBhbnkpLl9HbG9iZVZpZXcgYXMgYW55O1xuY29uc3QgR2xvYmVDb250cm9sbGVyID0gKERlY2tDb3JlIGFzIGFueSkuX0dsb2JlQ29udHJvbGxlciBhcyBhbnk7XG5jb25zdCBEZWNrR2xvYmVWaWV3cG9ydCA9IChEZWNrQ29yZSBhcyBhbnkpLl9HbG9iZVZpZXdwb3J0IGFzIGFueTtcblxuLyoqXG4gKiBMYXRpdHVkZS1iYXNlZCB6b29tIGFkanVzdG1lbnQgdXNlZCBieSBkZWNrLmdsJ3MgR2xvYmVWaWV3cG9ydCwgcmVwbGljYXRlZFxuICogaGVyZSBzbyBvdXIgY3VzdG9tIGBfY29uc3RyYWluWm9vbWAgbWF0Y2hlcyBkZWNrLmdsJ3MgY29vcmRpbmF0ZSBtYXRoLlxuICogU2VlIEBkZWNrLmdsL2NvcmUgZ2xvYmUtdmlld3BvcnQuanMgYHpvb21BZGp1c3RgLlxuICovXG5mdW5jdGlvbiB6b29tQWRqdXN0KGxhdGl0dWRlOiBudW1iZXIpOiBudW1iZXIge1xuICByZXR1cm4gTWF0aC5sb2cyKE1hdGguUEkgKiBNYXRoLmNvcygobGF0aXR1ZGUgKiBNYXRoLlBJKSAvIDE4MCkpO1xufVxuXG4vKipcbiAqIFJldHVybnMgdHJ1ZSBpZiB0aGUgc2NyZWVuIHBpeGVsIGBwb3NgIGxpZXMgd2l0aGluIHRoZSB2aXNpYmxlIGdsb2JlXG4gKiBzaWxob3VldHRlLlxuICpcbiAqIEdsb2JlVmlld3BvcnQudW5wcm9qZWN0KCkgY2xhbXBzIHRoZSByYXnigJNzcGhlcmUgZGlzY3JpbWluYW50IHdpdGhcbiAqIE1hdGgubWF4KDAsIHLCsuKIkmTCsiksIHNvIGl0IGFsd2F5cyByZXR1cm5zIGEgdmFsaWQgbG5nL2xhdCBldmVuIGZvclxuICogb2ZmLWdsb2JlIHBpeGVscyAoc25hcHBpbmcgdG8gdGhlIGxpbWIpLiAgV2UgcmVwbGljYXRlIHRoZSBzYW1lIHJheSBjYXN0XG4gKiBidXQgY2hlY2sgdGhlIGRpc2NyaW1pbmFudCBiZWZvcmUgdGhlIGNsYW1wIHVzaW5nIHRoZSBzdGFuZGFyZFxuICogc3F1YXJlZC1kaXN0YW5jZS1mcm9tLW9yaWdpbi10by1yYXkgZm9ybXVsYTogfFDigoAgw5cgZGlyfMKyIC8gfGRpcnzCsi5cbiAqL1xuZnVuY3Rpb24gaXNQaXhlbE9uR2xvYmUodmlld3BvcnQ6IGFueSwgcG9zOiBbbnVtYmVyLCBudW1iZXJdKTogYm9vbGVhbiB7XG4gIGNvbnN0IG06IG51bWJlcltdID0gdmlld3BvcnQucGl4ZWxVbnByb2plY3Rpb25NYXRyaXg7XG4gIGlmICghbSkgcmV0dXJuIHRydWU7IC8vIGNvbnNlcnZhdGl2ZSBmYWxsYmFjayBpZiBtYXRyaXggdW5hdmFpbGFibGVcblxuICAvLyBDYXN0IGEgcmF5IHRocm91Z2ggdGhlIHBpeGVsIGF0IHRoZSBuZWFyIGFuZCBmYXIgcGxhbmVzLlxuICBjb25zdCBwMCA9IHZlYzQudHJhbnNmb3JtTWF0NChbXSwgW3Bvc1swXSwgcG9zWzFdLCAtMSwgMV0sIG0pO1xuICBjb25zdCBwMSA9IHZlYzQudHJhbnNmb3JtTWF0NChbXSwgW3Bvc1swXSwgcG9zWzFdLCAxLCAxXSwgbSk7XG4gIGlmIChwMFszXSA9PT0gMCB8fCBwMVszXSA9PT0gMCkgcmV0dXJuIHRydWU7IC8vIGRlZ2VuZXJhdGUgcHJvamVjdGlvblxuXG4gIC8vIFBlcnNwZWN0aXZlLWRpdmlkZSB0byB3b3JsZCBzcGFjZS5cbiAgY29uc3QgYXggPSBwMFswXSAvIHAwWzNdLCBheSA9IHAwWzFdIC8gcDBbM10sIGF6ID0gcDBbMl0gLyBwMFszXTtcbiAgY29uc3QgYnggPSBwMVswXSAvIHAxWzNdLCBieSA9IHAxWzFdIC8gcDFbM10sIGJ6ID0gcDFbMl0gLyBwMVszXTtcblxuICAvLyBSYXkgZGlyZWN0aW9uLlxuICBjb25zdCBkeCA9IGJ4IC0gYXgsIGR5ID0gYnkgLSBheSwgZHogPSBieiAtIGF6O1xuXG4gIC8vIFNxdWFyZWQgZGlzdGFuY2UgZnJvbSB0aGUgb3JpZ2luIChnbG9iZSBjZW50ZXIpIHRvIHRoZSByYXk6XG4gIC8vICAgZMKyID0gfFDigoAgw5cgZGlyfMKyIC8gfGRpcnzCslxuICBjb25zdCBjeCA9IGF5ICogZHogLSBheiAqIGR5O1xuICBjb25zdCBjeSA9IGF6ICogZHggLSBheCAqIGR6O1xuICBjb25zdCBjeiA9IGF4ICogZHkgLSBheSAqIGR4O1xuICBjb25zdCBkU3FyID0gKGN4ICogY3ggKyBjeSAqIGN5ICsgY3ogKiBjeikgLyAoZHggKiBkeCArIGR5ICogZHkgKyBkeiAqIGR6KTtcblxuICByZXR1cm4gZFNxciA8PSBHTE9CRV9DT01NT05fUkFESVVTICogR0xPQkVfQ09NTU9OX1JBRElVUztcbn1cblxuLyoqXG4gKiBDdXN0b20gR2xvYmVDb250cm9sbGVyIHRoYXQgcmVzdG9yZXMgem9vbS10by1jdXJzb3IgYmVoYXZpb3IuXG4gKlxuICogSW4gZGVjay5nbCA5LngsIHRoZSBkZWZhdWx0IEdsb2JlQ29udHJvbGxlcidzIEdsb2JlU3RhdGUuem9vbSgpIGlnbm9yZXMgdGhlXG4gKiBjdXJzb3IgcG9zaXRpb24gYW5kIGFsd2F5cyB6b29tcyB0b3dhcmQgdGhlIGNlbnRlci4gVGhpcyBjb250cm9sbGVyIHBhdGNoZXNcbiAqIHRoYXQgYmVoYXZpb3IgYnkgb3ZlcnJpZGluZyB0aGUgQ29udHJvbGxlclN0YXRlJ3Mgem9vbSBtZXRob2QgdG8gcGFuIHRoZVxuICogZ2xvYmUgdW5kZXIgdGhlIGN1cnNvciB3aGlsZSB6b29taW5nLCBzbyB6b29tLXRvLWN1cnNvciB3b3JrcyB0aGUgc2FtZSB3YXkgaXRcbiAqIGRvZXMgZm9yIHRoZSAyRCBNYXBDb250cm9sbGVyLlxuICovXG5jbGFzcyBab29tVG9DdXJzb3JHbG9iZUNvbnRyb2xsZXIgZXh0ZW5kcyBHbG9iZUNvbnRyb2xsZXIge1xuICBjb25zdHJ1Y3RvciguLi5hcmdzOiBhbnlbXSkge1xuICAgIHN1cGVyKC4uLmFyZ3MpO1xuICAgIGNvbnN0IE9yaWdpbmFsR2xvYmVTdGF0ZSA9IHRoaXMuQ29udHJvbGxlclN0YXRlO1xuXG4gICAgLy8gVHJhY2tzIHdoZW4gdGhlIG1vc3QgcmVjZW50IG9mZi1nbG9iZSB3aGVlbC16b29tIHRpY2sgZmlyZWQuXG4gICAgLy8gU3RvcmVkIGFzIGEgY29udHJvbGxlci1sZXZlbCBjbG9zdXJlIHZhcmlhYmxlIHJhdGhlciB0aGFuIGluIFZpZXdTdGF0ZVxuICAgIC8vIGJlY2F1c2UgZGVjay5nbCdzIENvbnRyb2xsZXIgbmV2ZXIgY2FsbHMgem9vbUVuZCgpIGZvciB3aGVlbCBldmVudHMg4oCUXG4gICAgLy8gb25seSBmb3IgcGluY2gvdG91Y2gg4oCUIHNvIHRoZXJlIGlzIG5vIHJlbGlhYmxlIGhvb2sgdG8gY2xlYXIgYVxuICAgIC8vIFZpZXdTdGF0ZS1iYXNlZCBzZW50aW5lbCBhZnRlciBhIHdoZWVsIHNjcm9sbCBzZXNzaW9uIGVuZHMuXG4gICAgLy8gQSBzaW1wbGUgdGltZXN0YW1wIGxldHMgdXMgZGV0ZWN0IHdoZW4gYSBuZXcgc2Nyb2xsIGJ1cnN0IGhhcyBzdGFydGVkXG4gICAgLy8gKD4gQlVSU1RfVElNRU9VVF9NUyBzaW5jZSB0aGUgbGFzdCBvZmYtZ2xvYmUgdGljaykgc28gY3Vyc29yLWFuY2hvcmVkXG4gICAgLy8gem9vbSBjYW4gcmVzdW1lIG5hdHVyYWxseSBvbiB0aGUgbmV4dCBpbmRlcGVuZGVudCBzY3JvbGwuXG4gICAgbGV0IG9mZkdsb2JlWm9vbUF0OiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICAgIC8vIENyZWF0ZSBwYXRjaGVkIEdsb2JlU3RhdGUgdGhhdCBzdXBwb3J0cyB6b29tLXRvLWN1cnNvclxuICAgIHRoaXMuQ29udHJvbGxlclN0YXRlID0gY2xhc3MgUGF0Y2hlZEdsb2JlU3RhdGUgZXh0ZW5kcyBPcmlnaW5hbEdsb2JlU3RhdGUge1xuICAgICAgLy8gQ29uc3RyYWluIHRoZSBjYW1lcmEgdGFyZ2V0IHRvIGEgbGF0aXR1ZGUgYmFuZCBhcm91bmQgdGhlIGVxdWF0b3Igc28gdGhlXG4gICAgICAvLyB2aWV3IGNhbid0IGJlIGNlbnRlcmVkIG9uIHRoZSBwb2xlcy4gZGVjay5nbCdzIGFwcGx5Q29uc3RyYWludHMgY2xhbXBzXG4gICAgICAvLyBsYXRpdHVkZSB0byB+ODXCsCwgd2hpY2ggc3RpbGwgbGV0cyB0aGUgY2FtZXJhIGxvb2sgc3RyYWlnaHQgYXQgYSBwb2xlLlxuICAgICAgYXBwbHlDb25zdHJhaW50cyhwcm9wczogYW55KSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHN1cGVyLmFwcGx5Q29uc3RyYWludHMocHJvcHMpO1xuICAgICAgICBjb25zdCBjbGFtcGVkTGF0aXR1ZGUgPSBjbGFtcChyZXN1bHQubGF0aXR1ZGUsIC1HTE9CRV9NQVhfTEFUSVRVREUsIEdMT0JFX01BWF9MQVRJVFVERSk7XG4gICAgICAgIGlmIChjbGFtcGVkTGF0aXR1ZGUgIT09IHJlc3VsdC5sYXRpdHVkZSkge1xuICAgICAgICAgIC8vIGRlY2suZ2wgY291cGxlcyB6b29tIHRvIGxhdGl0dWRlIHZpYSB6b29tQWRqdXN0OyB3aGVuIHdlIGZ1cnRoZXJcbiAgICAgICAgICAvLyBjbGFtcCBsYXRpdHVkZSwgcmUtYXBwbHkgdGhlIHNhbWUgZGVsdGEgc28gem9vbSBzdGF5cyBjb25zaXN0ZW50LlxuICAgICAgICAgIHJlc3VsdC56b29tICs9IHpvb21BZGp1c3QoY2xhbXBlZExhdGl0dWRlKSAtIHpvb21BZGp1c3QocmVzdWx0LmxhdGl0dWRlKTtcbiAgICAgICAgICByZXN1bHQubGF0aXR1ZGUgPSBjbGFtcGVkTGF0aXR1ZGU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH1cblxuICAgICAgLy8gZGVjay5nbCdzIEdsb2JlU3RhdGUuX2NvbnN0cmFpblpvb20gZGVyaXZlcyBhIG1pbmltdW0gem9vbSBmcm9tIGBtYXhCb3VuZHNgXG4gICAgICAvLyB0aGF0IGZvcmNlcyB0aGUgZ2xvYmUgdG8gZmlsbCB0aGUgdmlld3BvcnQuIFRoYXQgYm91bmRzLWJhc2VkIG1pbmltdW1cbiAgICAgIC8vICh+MyBmb3IgYSB0eXBpY2FsIHdpbmRvdykgb3ZlcnJpZGVzIGFueSBjb25maWd1cmVkIGBtaW5ab29tYCwgc28gdGhlIHVzZXJcbiAgICAgIC8vIGNhbiBuZXZlciB6b29tIG91dCBmYXIgZW5vdWdoIHRvIHNlZSB0aGUgd2hvbGUgZ2xvYmUgc21hbGwgb24gc2NyZWVuLlxuICAgICAgLy8gT3ZlcnJpZGUgaXQgdG8gaG9ub3Igb25seSB0aGUgY29uZmlndXJlZCBtaW5ab29tL21heFpvb20gKHBsdXMgdGhlIHNhbWVcbiAgICAgIC8vIGxhdGl0dWRlIGFkanVzdG1lbnQgZGVjay5nbCB1c2VzKSwgaWdub3JpbmcgdGhlIGJvdW5kcy1iYXNlZCBmbG9vci5cbiAgICAgIF9jb25zdHJhaW5ab29tKHpvb206IG51bWJlciwgcHJvcHM/OiBhbnkpIHtcbiAgICAgICAgcHJvcHMgPSBwcm9wcyB8fCAodGhpcyBhcyBhbnkpLmdldFZpZXdwb3J0UHJvcHMoKTtcbiAgICAgICAgY29uc3Qge2xhdGl0dWRlLCBtYXhab29tfSA9IHByb3BzO1xuICAgICAgICBsZXQge21pblpvb219ID0gcHJvcHM7XG4gICAgICAgIGlmIChtaW5ab29tID09PSB1bmRlZmluZWQgfHwgbWluWm9vbSA9PT0gbnVsbCkge1xuICAgICAgICAgIG1pblpvb20gPSAwO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IFpPT00wID0gem9vbUFkanVzdCgwKTtcbiAgICAgICAgY29uc3Qgem9vbUFkanVzdG1lbnQgPSB6b29tQWRqdXN0KGxhdGl0dWRlKSAtIFpPT00wO1xuICAgICAgICByZXR1cm4gY2xhbXAoem9vbSwgbWluWm9vbSArIHpvb21BZGp1c3RtZW50LCBtYXhab29tICsgem9vbUFkanVzdG1lbnQpO1xuICAgICAgfVxuXG4gICAgICAvLyBFeGFjdCB6b29tLXRvLWN1cnNvci4gZGVjay5nbCA5LngncyBHbG9iZUNvbnRyb2xsZXIgZG9lcyBub3Qga2VlcCB0aGUgcG9pbnRcbiAgICAgIC8vIHVuZGVyIHRoZSBjdXJzb3IgZml4ZWQgd2hpbGUgem9vbWluZywgaW4gdHdvIHdheXMgd2Ugd29yayBhcm91bmQgaGVyZTpcbiAgICAgIC8vICAgMS4gSXRzIEdsb2JlU3RhdGUuem9vbSgpIGlnbm9yZXMgdGhlIGN1cnNvciBhbmQgem9vbXMgdG93YXJkIHRoZSBjZW50ZXIuXG4gICAgICAvLyAgIDIuIEl0cyBHbG9iZVZpZXdwb3J0LnBhbkJ5UG9zaXRpb24gaXMgYSBsb3NzeSwgKmxpbmVhcml6ZWQqIDMtYXJnXG4gICAgICAvLyAgICAgIHJvdGF0aW9uIChsb25naXR1ZGUgKz0gKDAuMjUvc2NhbGUpKihzdGFydFBpeGVsLXBpeGVsKSwgcmUtZGVyaXZlc1xuICAgICAgLy8gICAgICB6b29tKS4gVXNpbmcgaXQgcGVyIHdoZWVsIHRpY2sgYWNjdW11bGF0ZXMgZXJyb3IsIHNvIGFmdGVyIGEgbG9uZ1xuICAgICAgLy8gICAgICBjb250aW51b3VzIHpvb20gdGhlIHBvaW50IGVuZHMgdXAgbm90aWNlYWJseSBzaGlmdGVkIGZyb20gd2hhdCB3YXNcbiAgICAgIC8vICAgICAgb3JpZ2luYWxseSB1bmRlciB0aGUgY3Vyc29yLlxuICAgICAgLy8gVGhlIHJlY2VudGVyIGJlbG93IGlzIGFuICpleGFjdCBhYnNvbHV0ZSogdHJhbnNsYXRpb246IHVucHJvamVjdCB0aGVcbiAgICAgIC8vIGN1cnNvciBwaXhlbCBpbiB0aGUgem9vbWVkIHZpZXdwb3J0IHRvIGdldCB0aGUgZ2VvIHBvaW50IGN1cnJlbnRseSB1bmRlciBpdCxcbiAgICAgIC8vIHRoZW4gc2hpZnQgdGhlIGNlbnRlciBieSAoYW5jaG9yIC0gdGhhdFBvaW50KS4gTm8gem9vbSBjb3VwbGluZywgbm9cbiAgICAgIC8vIHJvdGF0aW9uU3BlZWQsIGFuZCBpdCBhcHBsaWVzIHRvIHpvb20taW4gYW5kIHpvb20tb3V0IHN5bW1ldHJpY2FsbHksIHNvXG4gICAgICAvLyB0aGVyZSBpcyBubyBwZXItdGljayBhY2N1bXVsYXRlZCBkcmlmdC5cbiAgICAgIHpvb20oe1xuICAgICAgICBwb3MsXG4gICAgICAgIHN0YXJ0UG9zLFxuICAgICAgICBzY2FsZVxuICAgICAgfToge1xuICAgICAgICBwb3M6IFtudW1iZXIsIG51bWJlcl07XG4gICAgICAgIHN0YXJ0UG9zPzogW251bWJlciwgbnVtYmVyXTtcbiAgICAgICAgc2NhbGU6IG51bWJlcjtcbiAgICAgIH0pIHtcbiAgICAgICAgbGV0IHtzdGFydFpvb20sIHN0YXJ0Wm9vbUxuZ0xhdH0gPSAodGhpcyBhcyBhbnkpLmdldFN0YXRlKCk7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRQcm9wcyA9ICh0aGlzIGFzIGFueSkuZ2V0Vmlld3BvcnRQcm9wcygpO1xuXG4gICAgICAgIGlmICghc3RhcnRab29tTG5nTGF0KSB7XG4gICAgICAgICAgLy8gV2hlZWwgem9vbTogcmUtZGVyaXZlIGFuY2hvciBlYWNoIHRpY2sgKHBpbmNoIHNldHMgaXQgb25jZSBpbiB6b29tU3RhcnQpLlxuICAgICAgICAgIHN0YXJ0Wm9vbSA9IGN1cnJlbnRQcm9wcy56b29tO1xuXG4gICAgICAgICAgLy8gU3VwcHJlc3MgY3Vyc29yLWFuY2hvcmluZyB3aGVuIHRoZSBjdXJzb3IgaXMgb2ZmLWdsb2JlIG9yIHdoZW4gYVxuICAgICAgICAgIC8vIHJlY2VudCB0aWNrIHdhcyBvZmYtZ2xvYmUgKHdpdGhpbiBCVVJTVF9USU1FT1VUX01TKS4gIGRlY2suZ2wgbmV2ZXJcbiAgICAgICAgICAvLyBjYWxscyB6b29tRW5kKCkgZm9yIHdoZWVsIGV2ZW50cyBzbyB3ZSB0cmFjayB0aGUgc2Vzc2lvbiB3aXRoIHRoZVxuICAgICAgICAgIC8vIGNsb3N1cmUgdmFyaWFibGUgYG9mZkdsb2JlWm9vbUF0YCByYXRoZXIgdGhhbiBWaWV3U3RhdGUuXG4gICAgICAgICAgY29uc3QgQlVSU1RfVElNRU9VVF9NUyA9IDIwMDtcbiAgICAgICAgICBjb25zdCBub3cgPSBEYXRlLm5vdygpO1xuICAgICAgICAgIGNvbnN0IGFuY2hvclZpZXdwb3J0ID0gKHRoaXMgYXMgYW55KS5tYWtlVmlld3BvcnQoY3VycmVudFByb3BzKTtcbiAgICAgICAgICBjb25zdCBvbkdsb2JlID0gaXNQaXhlbE9uR2xvYmUoYW5jaG9yVmlld3BvcnQsIHN0YXJ0UG9zIHx8IHBvcyk7XG5cbiAgICAgICAgICBpZiAoIW9uR2xvYmUpIG9mZkdsb2JlWm9vbUF0ID0gbm93O1xuXG4gICAgICAgICAgaWYgKCFvbkdsb2JlIHx8IChvZmZHbG9iZVpvb21BdCAhPT0gbnVsbCAmJiBub3cgLSBvZmZHbG9iZVpvb21BdCA8IEJVUlNUX1RJTUVPVVRfTVMpKSB7XG4gICAgICAgICAgICBjb25zdCB6b29tID0gKHRoaXMgYXMgYW55KS5fY29uc3RyYWluWm9vbShzdGFydFpvb20gKyBNYXRoLmxvZzIoc2NhbGUpKTtcbiAgICAgICAgICAgIHJldHVybiAodGhpcyBhcyBhbnkpLl9nZXRVcGRhdGVkU3RhdGUoe3pvb219KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBvZmZHbG9iZVpvb21BdCA9IG51bGw7XG4gICAgICAgICAgc3RhcnRab29tTG5nTGF0ID0gKHRoaXMgYXMgYW55KS5fdW5wcm9qZWN0KHN0YXJ0UG9zKSB8fCAodGhpcyBhcyBhbnkpLl91bnByb2plY3QocG9zKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHpvb20gPSAodGhpcyBhcyBhbnkpLl9jb25zdHJhaW5ab29tKHN0YXJ0Wm9vbSArIE1hdGgubG9nMihzY2FsZSkpO1xuXG4gICAgICAgIGlmICghc3RhcnRab29tTG5nTGF0KSB7XG4gICAgICAgICAgcmV0dXJuICh0aGlzIGFzIGFueSkuX2dldFVwZGF0ZWRTdGF0ZSh7em9vbX0pO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gWm9vbS1vdXQgKHNjYWxlIDwgMSk6IGV4YWN0IGN1cnNvciBhbmNob3JpbmcgaXMgdW5zdGFibGUgbmVhciB0aGUgbGltYlxuICAgICAgICAvLyAobm9uLWxpbmVhciBnZW8tdG8tcGl4ZWwgbWFwcGluZyBwdWxscyB0aGUgdmlldyB0b3dhcmQgdGhlIHBvbGVzKS5cbiAgICAgICAgLy8gSW5zdGVhZCwgZ2VudGx5IHN0ZWVyIHRoZSBjZW50ZXIgdG93YXJkIHRoZSBjdXJzb3IgbG9jYXRpb24gcGVyIHRpY2suXG4gICAgICAgIGlmIChzY2FsZSA8IDEpIHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAhQXJyYXkuaXNBcnJheShzdGFydFpvb21MbmdMYXQpIHx8XG4gICAgICAgICAgICAhTnVtYmVyLmlzRmluaXRlKHN0YXJ0Wm9vbUxuZ0xhdFswXSkgfHxcbiAgICAgICAgICAgICFOdW1iZXIuaXNGaW5pdGUoc3RhcnRab29tTG5nTGF0WzFdKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuICh0aGlzIGFzIGFueSkuX2dldFVwZGF0ZWRTdGF0ZSh7em9vbX0pO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIFBlci10aWNrIGxlcnAgc3RyZW5ndGggc2NhbGVzIHdpdGggem9vbS1vdXQgYW1vdW50OyBjbGFtcGVkIHRvIGF2b2lkIG92ZXJzaG9vdC5cbiAgICAgICAgICBjb25zdCB0ID0gTWF0aC5taW4oMSwgKDEgLSBzY2FsZSkgKiAwLjExKTtcblxuICAgICAgICAgIC8vIFNob3J0ZXN0LXBhdGggbG9uZ2l0dWRlIGludGVycG9sYXRpb24gKGhhbmRsZXMgYW50aW1lcmlkaWFuIHdyYXApLlxuICAgICAgICAgIGxldCBkTG5nID0gc3RhcnRab29tTG5nTGF0WzBdIC0gY3VycmVudFByb3BzLmxvbmdpdHVkZTtcbiAgICAgICAgICBpZiAoZExuZyA+IDE4MCkgZExuZyAtPSAzNjA7XG4gICAgICAgICAgaWYgKGRMbmcgPCAtMTgwKSBkTG5nICs9IDM2MDtcblxuICAgICAgICAgIHJldHVybiAodGhpcyBhcyBhbnkpLl9nZXRVcGRhdGVkU3RhdGUoe1xuICAgICAgICAgICAgem9vbSxcbiAgICAgICAgICAgIGxvbmdpdHVkZTogY3VycmVudFByb3BzLmxvbmdpdHVkZSArIGRMbmcgKiB0LFxuICAgICAgICAgICAgbGF0aXR1ZGU6IGN1cnJlbnRQcm9wcy5sYXRpdHVkZSArIChzdGFydFpvb21MbmdMYXRbMV0gLSBjdXJyZW50UHJvcHMubGF0aXR1ZGUpICogdFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgem9vbWVkVmlld3BvcnQgPSAodGhpcyBhcyBhbnkpLm1ha2VWaWV3cG9ydCh7XG4gICAgICAgICAgLi4uY3VycmVudFByb3BzLFxuICAgICAgICAgIHpvb21cbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gWm9vbS1pbjogZXhhY3QgYW5jaG9yIOKAlCB1bnByb2plY3QgdGhlIGN1cnNvciBpbiB0aGUgcG9zdC16b29tIHZpZXdwb3J0IGFuZFxuICAgICAgICAvLyBzaGlmdCB0aGUgY2VudGVyIHNvIHRoZSBncmFiYmVkIGdlbyBwb2ludCBsYW5kcyBiYWNrIHVuZGVyIHRoZSBjdXJzb3IuXG4gICAgICAgIC8vIEd1YXJkIHdpdGggaXNQaXhlbE9uR2xvYmU6IGlmIHBvcyBtb3ZlZCBvZmYtZ2xvYmUgZHVyaW5nIGEgZmFzdCBwaW5jaCxcbiAgICAgICAgLy8gZmFsbCBiYWNrIHRvIGNlbnRlciB6b29tLlxuICAgICAgICBpZiAoIWlzUGl4ZWxPbkdsb2JlKHpvb21lZFZpZXdwb3J0LCBwb3MpKSB7XG4gICAgICAgICAgcmV0dXJuICh0aGlzIGFzIGFueSkuX2dldFVwZGF0ZWRTdGF0ZSh7em9vbX0pO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZnJvbVBvc2l0aW9uID0gem9vbWVkVmlld3BvcnQudW5wcm9qZWN0KHBvcyk7XG5cbiAgICAgICAgcmV0dXJuICh0aGlzIGFzIGFueSkuX2dldFVwZGF0ZWRTdGF0ZSh7XG4gICAgICAgICAgem9vbSxcbiAgICAgICAgICBsb25naXR1ZGU6IHN0YXJ0Wm9vbUxuZ0xhdFswXSAtIGZyb21Qb3NpdGlvblswXSArIHpvb21lZFZpZXdwb3J0LmxvbmdpdHVkZSxcbiAgICAgICAgICBsYXRpdHVkZTogc3RhcnRab29tTG5nTGF0WzFdIC0gZnJvbVBvc2l0aW9uWzFdICsgem9vbWVkVmlld3BvcnQubGF0aXR1ZGVcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIC8vIENsZWFyIHRoZSBwZXJzaXN0ZWQgcGluY2ggYW5jaG9yIGF0IGdlc3R1cmUgZW5kLlxuICAgICAgem9vbUVuZCgpIHtcbiAgICAgICAgcmV0dXJuICh0aGlzIGFzIGFueSkuX2dldFVwZGF0ZWRTdGF0ZSh7XG4gICAgICAgICAgc3RhcnRab29tOiBudWxsLFxuICAgICAgICAgIHN0YXJ0Wm9vbUxuZ0xhdDogbnVsbFxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgLy8gRXhhY3QsIGN1cnNvci1hbmNob3JlZCBwYW46IHRoZSBnZW8gcG9pbnQgZ3JhYmJlZCBvbiBtb3VzZWRvd24gc3RheXNcbiAgICAgIC8vIGxvY2tlZCB1bmRlciB0aGUgY3Vyc29yIGZvciB0aGUgd2hvbGUgZHJhZy5cbiAgICAgIC8vXG4gICAgICAvLyBkZWNrLmdsIDkueCdzIEdsb2JlQ29udHJvbGxlciBwYW5zIHdpdGggYSAqbGluZWFyaXplZCwgY2VudGVyLWFuY2hvcmVkKlxuICAgICAgLy8gcm90YXRpb24gKEdsb2JlVmlld3BvcnQucGFuQnlQb3NpdGlvbihbbG5nLGxhdCx6b29tXSwgcGl4ZWwsIHN0YXJ0UGl4ZWwpOlxuICAgICAgLy8gbG9uZ2l0dWRlICs9ICgwLjI1L3NjYWxlKSooc3RhcnRQaXhlbC1waXhlbCkpLiBCZWNhdXNlIHRoZSBhbmNob3IgaXMgdGhlXG4gICAgICAvLyB2aWV3IENFTlRFUiByYXRoZXIgdGhhbiB0aGUgZ3JhYmJlZCBwb2ludCwgdGhlIGZpcnN0IGRyYWcgZnJhbWUgc25hcHMgdGhlXG4gICAgICAvLyBjZW50ZXIgdG8gc2F0aXNmeSB0aGUgbGluZWFyIGFwcHJveGltYXRpb24sIHByb2R1Y2luZyB0aGUgdmlzaWJsZSBcImp1bXAgdG9cbiAgICAgIC8vIHRoZSBzaWRlL3VwXCIgYXQgdGhlIHN0YXJ0IG9mIGEgcGFuIChtb3N0IG5vdGljZWFibGUgYXQgaGlnaCB6b29tKSwgYWZ0ZXJcbiAgICAgIC8vIHdoaWNoIGluY3JlbWVudGFsIGRlbHRhcyB0cmFjayBmaW5lLiBUaGUgZXhhY3QgYW5jaG9yIGJlbG93IHJlbW92ZXMgdGhhdFxuICAgICAgLy8gZmlyc3QtZnJhbWUgc25hcC5cbiAgICAgIHBhblN0YXJ0KHtwb3N9OiB7cG9zOiBbbnVtYmVyLCBudW1iZXJdfSkge1xuICAgICAgICBjb25zdCB2aWV3cG9ydCA9ICh0aGlzIGFzIGFueSkubWFrZVZpZXdwb3J0KCh0aGlzIGFzIGFueSkuZ2V0Vmlld3BvcnRQcm9wcygpKTtcbiAgICAgICAgLy8gSWYgdGhlIG1vdXNlZG93biBwaXhlbCBpcyBvdXRzaWRlIHRoZSBnbG9iZSBzaWxob3VldHRlLCBzdG9yZSBgZmFsc2VgXG4gICAgICAgIC8vIGFzIGFuIGV4cGxpY2l0IHNlbnRpbmVsIHNvIHRoYXQgZXZlcnkgc3Vic2VxdWVudCBgcGFuYCBjYWxsIGZvciB0aGlzXG4gICAgICAgIC8vIGdlc3R1cmUgaXMgYSBuby1vcC4gIFdlIGNhbid0IHJlbHkgb24gYF91bnByb2plY3QocG9zKWAgcmV0dXJuaW5nXG4gICAgICAgIC8vIHVuZGVmaW5lZCBoZXJlIGJlY2F1c2UgR2xvYmVWaWV3cG9ydC51bnByb2plY3QgY2xhbXBzIHRoZVxuICAgICAgICAvLyByYXnigJNzcGhlcmUgZGlzY3JpbWluYW50IHRvIDAgdmlhIE1hdGgubWF4KDAsIOKApiksIHdoaWNoIG1lYW5zIGl0XG4gICAgICAgIC8vIGFsd2F5cyByZXR1cm5zIGEgdmFsaWQtbG9va2luZyBsbmcvbGF0IGV2ZW4gZm9yIG9mZi1nbG9iZSBwaXhlbHMuXG4gICAgICAgIGlmICghaXNQaXhlbE9uR2xvYmUodmlld3BvcnQsIHBvcykpIHtcbiAgICAgICAgICByZXR1cm4gKHRoaXMgYXMgYW55KS5fZ2V0VXBkYXRlZFN0YXRlKHtzdGFydFBhbkxuZ0xhdDogZmFsc2V9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gKHRoaXMgYXMgYW55KS5fZ2V0VXBkYXRlZFN0YXRlKHtcbiAgICAgICAgICBzdGFydFBhbkxuZ0xhdDogKHRoaXMgYXMgYW55KS5fdW5wcm9qZWN0KHBvcylcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIHBhbih7cG9zLCBzdGFydFBvc306IHtwb3M6IFtudW1iZXIsIG51bWJlcl07IHN0YXJ0UG9zPzogW251bWJlciwgbnVtYmVyXX0pIHtcbiAgICAgICAgY29uc3Qgc3RvcmVkU3RhcnQgPSAodGhpcyBhcyBhbnkpLmdldFN0YXRlKCkuc3RhcnRQYW5MbmdMYXQ7XG5cbiAgICAgICAgY29uc3QgcHJvcHMgPSAodGhpcyBhcyBhbnkpLmdldFZpZXdwb3J0UHJvcHMoKTtcbiAgICAgICAgY29uc3Qgdmlld3BvcnQgPSAodGhpcyBhcyBhbnkpLm1ha2VWaWV3cG9ydChwcm9wcyk7XG5cbiAgICAgICAgLy8gYGZhbHNlYCBtZWFucyB0aGUgZHJhZyBzdGFydGVkIG91dHNpZGUgdGhlIGdsb2JlLiBJZiB0aGUgY3Vyc29yIGhhc1xuICAgICAgICAvLyBub3cgbW92ZWQgb250byB0aGUgZ2xvYmUsIGxhdGNoIHRoZSBjdXJyZW50IHBvc2l0aW9uIGFzIHRoZSBhbmNob3JcbiAgICAgICAgLy8gc28gcm90YXRpb24gYmVnaW5zIGZyb20gdGhlIGVudHJ5IHBvaW50LiBPdGhlcndpc2Ugc3RheSBmcm96ZW4uXG4gICAgICAgIGlmIChzdG9yZWRTdGFydCA9PT0gZmFsc2UpIHtcbiAgICAgICAgICBpZiAoIWlzUGl4ZWxPbkdsb2JlKHZpZXdwb3J0LCBwb3MpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgICAgICB9XG4gICAgICAgICAgLy8gQ3Vyc29yIGp1c3QgZW50ZXJlZCB0aGUgZ2xvYmUg4oCUIGVzdGFibGlzaCB0aGUgYW5jaG9yIGFuZCByZXR1cm5cbiAgICAgICAgICAvLyB3aXRob3V0IG1vdmluZzsgdGhlIG5leHQgcGFuIGV2ZW50IHdpbGwgYXBwbHkgdGhlIGZpcnN0IGRlbHRhLlxuICAgICAgICAgIHJldHVybiAodGhpcyBhcyBhbnkpLl9nZXRVcGRhdGVkU3RhdGUoe1xuICAgICAgICAgICAgc3RhcnRQYW5MbmdMYXQ6ICh0aGlzIGFzIGFueSkuX3VucHJvamVjdChwb3MpXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzdGFydFBhbkxuZ0xhdCA9IHN0b3JlZFN0YXJ0IHx8ICh0aGlzIGFzIGFueSkuX3VucHJvamVjdChzdGFydFBvcyk7XG4gICAgICAgIGlmICghc3RhcnRQYW5MbmdMYXQpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9uY2UgdGhlIGN1cnNvciBsZWF2ZXMgdGhlIGdsb2JlIHNpbGhvdWV0dGUgbWlkLWRyYWcsIGZyZWV6ZSB0aGUgdmlldy5cbiAgICAgICAgLy8gdmlld3BvcnQudW5wcm9qZWN0KCkgc25hcHMgb2ZmLWdsb2JlIHBpeGVscyB0byB0aGUgbmVhcmVzdCBsaW1iIHBvaW50XG4gICAgICAgIC8vICh2aWEgTWF0aC5tYXgoMCwg4oCmKSBpbiBpdHMgcmF54oCTc3BoZXJlIGRpc2NyaW1pbmFudCksIHNvIHdpdGhvdXQgdGhpc1xuICAgICAgICAvLyBndWFyZCB0aGUgZ2xvYmUgd291bGQga2VlcCByb3RhdGluZyB0b3dhcmQgdGhlIGVkZ2UgYXMgdGhlIGN1cnNvciBtb3Zlc1xuICAgICAgICAvLyBmdXJ0aGVyIG91dHNpZGUuXG4gICAgICAgIGlmICghaXNQaXhlbE9uR2xvYmUodmlld3BvcnQsIHBvcykpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGZyb21Qb3NpdGlvbiA9IHZpZXdwb3J0LnVucHJvamVjdChwb3MpO1xuXG4gICAgICAgIGNvbnN0IGxvbmdpdHVkZSA9IHN0YXJ0UGFuTG5nTGF0WzBdIC0gZnJvbVBvc2l0aW9uWzBdICsgcHJvcHMubG9uZ2l0dWRlO1xuICAgICAgICBsZXQgbGF0aXR1ZGUgPSBzdGFydFBhbkxuZ0xhdFsxXSAtIGZyb21Qb3NpdGlvblsxXSArIHByb3BzLmxhdGl0dWRlO1xuICAgICAgICBsYXRpdHVkZSA9IGNsYW1wKGxhdGl0dWRlLCAtR0xPQkVfTUFYX0xBVElUVURFLCBHTE9CRV9NQVhfTEFUSVRVREUpO1xuXG4gICAgICAgIC8vIGRlY2suZ2wgOSdzIEdsb2JlVmlld3BvcnQgc2NhbGUgPSAyXih6b29tIC0gem9vbUFkanVzdChsYXRpdHVkZSkpLCBzbyBhXG4gICAgICAgIC8vIGNvbnN0YW50IHpvb20gd291bGQgbWFrZSB0aGUgZ2xvYmUgZ3JvdyBvbiBzY3JlZW4gYXMgdGhlIGNlbnRlciBtb3Zlc1xuICAgICAgICAvLyB0b3dhcmQgdGhlIHBvbGVzLiBSZS1jb3VwbGUgem9vbSB0byB0aGUgbmV3IGxhdGl0dWRlIChhcyBkZWNrLmdsIDkncyBvd25cbiAgICAgICAgLy8gcGFuIGRvZXMpIHRvIGtlZXAgdGhlIG9uLXNjcmVlbiBzY2FsZSDigJQgYW5kIHRodXMgdGlsZSBMT0Qg4oCUIGNvbnN0YW50LlxuICAgICAgICBjb25zdCB2aXN1YWxab29tID0gcHJvcHMuem9vbSAtIHpvb21BZGp1c3QocHJvcHMubGF0aXR1ZGUpO1xuICAgICAgICBjb25zdCB6b29tID0gdmlzdWFsWm9vbSArIHpvb21BZGp1c3QobGF0aXR1ZGUpO1xuXG4gICAgICAgIHJldHVybiAodGhpcyBhcyBhbnkpLl9nZXRVcGRhdGVkU3RhdGUoe2xvbmdpdHVkZSwgbGF0aXR1ZGUsIHpvb219KTtcbiAgICAgIH1cblxuICAgICAgcGFuRW5kKCkge1xuICAgICAgICByZXR1cm4gKHRoaXMgYXMgYW55KS5fZ2V0VXBkYXRlZFN0YXRlKHtzdGFydFBhbkxuZ0xhdDogbnVsbH0pO1xuICAgICAgfVxuICAgIH0gYXMgYW55O1xuICB9XG59XG5cbi8qKlxuICogQ3VzdG9tIEdsb2JlVmlldyB0aGF0IHVzZXMgem9vbS10by1jdXJzb3IgY29udHJvbGxlciBiZWhhdmlvci5cbiAqL1xuZXhwb3J0IGNsYXNzIEtlcGxlckdsb2JlVmlldyBleHRlbmRzIERlY2tHbG9iZVZpZXcge1xuICAvLyBGb3J3YXJkIGNvbnN0cnVjdG9yIHByb3BzIHRvIGRlY2suZ2wncyBHbG9iZVZpZXcuIERlY2xhcmVkIGV4cGxpY2l0bHkgYmVjYXVzZVxuICAvLyB0aGUgYmFzZSBjbGFzcyBpcyBsb29zZWx5IHR5cGVkIChzZWUgRGVja0dsb2JlVmlldyBhYm92ZSksIHdoaWNoIHdvdWxkXG4gIC8vIG90aGVyd2lzZSBzdXJmYWNlIGEgcGFyYW1ldGVybGVzcyBjb25zdHJ1Y3RvciB0byBjYWxsZXJzLlxuICBjb25zdHJ1Y3Rvcihwcm9wcz86IGFueSkge1xuICAgIHN1cGVyKHByb3BzKTtcbiAgfVxuXG4gIGdldCBDb250cm9sbGVyVHlwZSgpIHtcbiAgICByZXR1cm4gWm9vbVRvQ3Vyc29yR2xvYmVDb250cm9sbGVyO1xuICB9XG5cbiAgLy8gZGVjay5nbCA5J3MgR2xvYmVWaWV3LmdldFZpZXdwb3J0VHlwZSgpIHN3YXBzIHRoZSB2aWV3cG9ydCBjbGFzcyBiYXNlZCBvbiB6b29tOlxuICAvLyAgIGByZXR1cm4gdmlld1N0YXRlLnpvb20gPiAxMiA/IFdlYk1lcmNhdG9yVmlld3BvcnQgOiBHbG9iZVZpZXdwb3J0O2BcbiAgLy8gQ3Jvc3Npbmcgem9vbSAxMiB0aGVyZWZvcmUgcmVjb21wdXRlcyB0aWxlIGJvdW5kcyB3aXRoIGNvbXBsZXRlbHkgZGlmZmVyZW50XG4gIC8vIHByb2plY3Rpb24gbWF0aCAoZ2xvYmUgdnMgZmxhdCBtZXJjYXRvcikuIFRoYXQgbWFrZXMgZGVjaydzIFRpbGVMYXllci9NVlRMYXllclxuICAvLyByZXNlbGVjdCB0aWxlcyBpbmNvbnNpc3RlbnRseSBhY3Jvc3MgdGhlIGJvdW5kYXJ5IOKAlCBtaXhlZCBMT0RzIChlLmcuIGEgejQgdGlsZVxuICAvLyBuZXh0IHRvIHoxMSksIGEgdmlzaWJsZSBcImZsaWNrZXJcIiBhdCAxMiwgYW5kIHRpbGVzIHRoYXQgZ2V0IGRyb3BwZWQgYW5kIHN0aWNrXG4gIC8vIGFzIGJsYWNrL2VtcHR5IHF1YWRzIChtb3N0IG9mdGVuIGNyb3NzaW5nIDEyIG9uIHRoZSB3YXkgKm91dCopLlxuICAvL1xuICAvLyBGb3JjZSBHbG9iZVZpZXdwb3J0IGF0IGV2ZXJ5IHpvb20gdG8gZWxpbWluYXRlIHRoZSB6PTEyIHZpZXdwb3J0IHN3YXAgc28gdGlsZVxuICAvLyBzZWxlY3Rpb24gc3RheXMgY29uc2lzdGVudC4gVGhlIHRyYWRlLW9mZiBpcyB0aGF0IHpvb20gPiAxMiBub3cgdXNlcyBmbG9hdDMyXG4gIC8vIGdsb2JlIHByZWNpc2lvbiAoZGVjaydzIGRvY3VtZW50ZWQgXCJubyBoaWdoLXByZWNpc2lvbiByZW5kZXJpbmcgPiAxMlwiIGxpbWl0KVxuICAvLyBpbnN0ZWFkIG9mIHN3aXRjaGluZyB0byBtZXJjYXRvciDigJQgZmFyIHByZWZlcmFibGUgdG8gdGhlIGJsYWNrIHF1YWRzLlxuICBnZXRWaWV3cG9ydFR5cGUoKSB7XG4gICAgcmV0dXJuIERlY2tHbG9iZVZpZXdwb3J0O1xuICB9XG59XG5cbktlcGxlckdsb2JlVmlldy5kaXNwbGF5TmFtZSA9ICdLZXBsZXJHbG9iZVZpZXcnO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTs7QUFFQSxPQUFPLEtBQUtBLFFBQVEsTUFBTSxlQUFlO0FBQ3pDLFNBQVFDLEtBQUssRUFBRUMsSUFBSSxRQUFPLGVBQWU7QUFDekMsU0FBUUMsa0JBQWtCLFFBQU8sc0JBQXNCO0FBQ3ZELFNBQVFDLG1CQUFtQixRQUFPLDBCQUEwQjs7QUFFNUQ7QUFDQTtB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
|
package/dist/esm/globe/index.js
CHANGED
|
@@ -16,11 +16,11 @@
|
|
|
16
16
|
// vertices on the far side of the globe (dot(surfaceNormal, toCamera) < 0.1) so labels
|
|
17
17
|
// don't show through the planet. Implemented as a GLSL inject.
|
|
18
18
|
|
|
19
|
-
export { AtmosphereLayerRealistic, AtmosphereSkyLayerRealistic, getGlobeAtmosphereLayer, getGlobeAtmosphereSkyLayer } from './atmosphere-layer';
|
|
19
|
+
export { AtmosphereLayerRealistic, AtmosphereSkyLayerRealistic, AtmosphereHugeHaloLayer, getGlobeAtmosphereLayer, getGlobeAtmosphereSkyLayer, getGlobeHugeHaloLayer } from './atmosphere-layer';
|
|
20
20
|
export { GlobeDepthDiskLayer, getGlobeDepthDiskLayer } from './globe-depth-disk-layer';
|
|
21
21
|
export { getGlobeBaseLayers, getGlobeTopLayers, getGlobeClearColor, getGlobeBasemapAttributions, resolveGlobeBasemapProvider, DEFAULT_BASEMAP_COLOR, getBasemapColors, getBasemapColorsForStyle } from './globe-layers';
|
|
22
22
|
export { MVTLabelLayer } from './mvt-label-layer';
|
|
23
23
|
export { default as EnhancedMultiIconLayer } from './enhanced-multi-icon-layer';
|
|
24
24
|
export { KeplerGlobeView } from './globe-view';
|
|
25
|
-
export { getStarsBackgroundImage } from './globe-stars-layer';
|
|
26
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
25
|
+
export { getStarsBackgroundImage, drawStarsBackground } from './globe-stars-layer';
|
|
26
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBdG1vc3BoZXJlTGF5ZXJSZWFsaXN0aWMiLCJBdG1vc3BoZXJlU2t5TGF5ZXJSZWFsaXN0aWMiLCJBdG1vc3BoZXJlSHVnZUhhbG9MYXllciIsImdldEdsb2JlQXRtb3NwaGVyZUxheWVyIiwiZ2V0R2xvYmVBdG1vc3BoZXJlU2t5TGF5ZXIiLCJnZXRHbG9iZUh1Z2VIYWxvTGF5ZXIiLCJHbG9iZURlcHRoRGlza0xheWVyIiwiZ2V0R2xvYmVEZXB0aERpc2tMYXllciIsImdldEdsb2JlQmFzZUxheWVycyIsImdldEdsb2JlVG9wTGF5ZXJzIiwiZ2V0R2xvYmVDbGVhckNvbG9yIiwiZ2V0R2xvYmVCYXNlbWFwQXR0cmlidXRpb25zIiwicmVzb2x2ZUdsb2JlQmFzZW1hcFByb3ZpZGVyIiwiREVGQVVMVF9CQVNFTUFQX0NPTE9SIiwiZ2V0QmFzZW1hcENvbG9ycyIsImdldEJhc2VtYXBDb2xvcnNGb3JTdHlsZSIsIk1WVExhYmVsTGF5ZXIiLCJkZWZhdWx0IiwiRW5oYW5jZWRNdWx0aUljb25MYXllciIsIktlcGxlckdsb2JlVmlldyIsImdldFN0YXJzQmFja2dyb3VuZEltYWdlIiwiZHJhd1N0YXJzQmFja2dyb3VuZCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9nbG9iZS9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG4vLyBHbG9iZSBtb2RlIGxheWVyIGFkanVzdG1lbnRzLlxuLy9cbi8vIEdsb2JlLXNwZWNpZmljIGFkanVzdG1lbnRzIGhhbmRsZWQgaGVyZTpcbi8vIC0gR3JpZCAvIEhleGFnb24gYWdncmVnYXRpb24gY2VsbHMgb24gdGhlIGdsb2JlOiBkZWNrLmdsIDkueCdzIEdyaWRDZWxsTGF5ZXIgL1xuLy8gICBIZXhhZ29uQ2VsbExheWVyIHBvc2l0aW9uIGNlbGxzIGluIGZsYXQgbWVyY2F0b3IgY29tbW9uIHNwYWNlIGFuZCBkcmF3IHRoZW0gd2l0aFxuLy8gICBwcm9qZWN0X2NvbW1vbl9wb3NpdGlvbl90b19jbGlwc3BhY2UsIHdoaWNoIGxlYXZlcyB0aGVtIG9uIHRoZSBYWSBwbGFuZSB0aHJvdWdoIHRoZVxuLy8gICBnbG9iZSBjZW50ZXIgcmF0aGVyIHRoYW4gb24gaXRzIHN1cmZhY2UuIFNjYWxlRW5oYW5jZWRHcmlkTGF5ZXIgL1xuLy8gICBTY2FsZUVuaGFuY2VkSGV4YWdvbkxheWVyIHN3YXAgaW4gYSBnbG9iZS1hd2FyZSBjZWxsIHN1YmNsYXNzIChzZWVcbi8vICAgbGF5ZXItdXRpbHMvZ2xvYmUtY2VsbC11dGlscykgdGhhdCByZW1hcHMgZWFjaCBjZWxsIHZlcnRleCBmcm9tIGNvbW1vbiBzcGFjZSBiYWNrIHRvXG4vLyAgIGxuZy9sYXQgYW5kIG9udG8gdGhlIHNwaGVyZS5cbi8vIC0gVGV4dC9MYWJlbCByZW5kZXJpbmcgd2l0aCBiYWNrLWZhY2UgY3VsbGluZzogTVZUTGFiZWxMYXllciByZW5kZXJzIHBsYWNlIGxhYmVscyB2aWEgYVxuLy8gICBUZXh0TGF5ZXIgd2hvc2UgZ2x5cGggc3VibGF5ZXIgaXMgRW5oYW5jZWRNdWx0aUljb25MYXllciwgd2hpY2ggZGVnZW5lcmF0ZXMgZ2x5cGhcbi8vICAgdmVydGljZXMgb24gdGhlIGZhciBzaWRlIG9mIHRoZSBnbG9iZSAoZG90KHN1cmZhY2VOb3JtYWwsIHRvQ2FtZXJhKSA8IDAuMSkgc28gbGFiZWxzXG4vLyAgIGRvbid0IHNob3cgdGhyb3VnaCB0aGUgcGxhbmV0LiBJbXBsZW1lbnRlZCBhcyBhIEdMU0wgaW5qZWN0LlxuXG5leHBvcnQge1xuICBBdG1vc3BoZXJlTGF5ZXJSZWFsaXN0aWMsXG4gIEF0bW9zcGhlcmVTa3lMYXllclJlYWxpc3RpYyxcbiAgQXRtb3NwaGVyZUh1Z2VIYWxvTGF5ZXIsXG4gIGdldEdsb2JlQXRtb3NwaGVyZUxheWVyLFxuICBnZXRHbG9iZUF0bW9zcGhlcmVTa3lMYXllcixcbiAgZ2V0R2xvYmVIdWdlSGFsb0xheWVyXG59IGZyb20gJy4vYXRtb3NwaGVyZS1sYXllcic7XG5leHBvcnQge0dsb2JlRGVwdGhEaXNrTGF5ZXIsIGdldEdsb2JlRGVwdGhEaXNrTGF5ZXJ9IGZyb20gJy4vZ2xvYmUtZGVwdGgtZGlzay1sYXllcic7XG5leHBvcnQge1xuICBnZXRHbG9iZUJhc2VMYXllcnMsXG4gIGdldEdsb2JlVG9wTGF5ZXJzLFxuICBnZXRHbG9iZUNsZWFyQ29sb3IsXG4gIGdldEdsb2JlQmFzZW1hcEF0dHJpYnV0aW9ucyxcbiAgcmVzb2x2ZUdsb2JlQmFzZW1hcFByb3ZpZGVyLFxuICBERUZBVUxUX0JBU0VNQVBfQ09MT1IsXG4gIGdldEJhc2VtYXBDb2xvcnMsXG4gIGdldEJhc2VtYXBDb2xvcnNGb3JTdHlsZVxufSBmcm9tICcuL2dsb2JlLWxheWVycyc7XG5leHBvcnQgdHlwZSB7R2xvYmVCYXNlbWFwUHJvdmlkZXIsIEdsb2JlQXR0cmlidXRpb259IGZyb20gJy4vZ2xvYmUtbGF5ZXJzJztcbmV4cG9ydCB7TVZUTGFiZWxMYXllcn0gZnJvbSAnLi9tdnQtbGFiZWwtbGF5ZXInO1xuZXhwb3J0IHtkZWZhdWx0IGFzIEVuaGFuY2VkTXVsdGlJY29uTGF5ZXJ9IGZyb20gJy4vZW5oYW5jZWQtbXVsdGktaWNvbi1sYXllcic7XG5leHBvcnQge0tlcGxlckdsb2JlVmlld30gZnJvbSAnLi9nbG9iZS12aWV3JztcbmV4cG9ydCB7Z2V0U3RhcnNCYWNrZ3JvdW5kSW1hZ2UsIGRyYXdTdGFyc0JhY2tncm91bmR9IGZyb20gJy4vZ2xvYmUtc3RhcnMtbGF5ZXInO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsU0FDRUEsd0JBQXdCLEVBQ3hCQywyQkFBMkIsRUFDM0JDLHVCQUF1QixFQUN2QkMsdUJBQXVCLEVBQ3ZCQywwQkFBMEIsRUFDMUJDLHFCQUFxQixRQUNoQixvQkFBb0I7QUFDM0IsU0FBUUMsbUJBQW1CLEVBQUVDLHNCQUFzQixRQUFPLDBCQUEwQjtBQUNwRixTQUNFQyxrQkFBa0IsRUFDbEJDLGlCQUFpQixFQUNqQkMsa0JBQWtCLEVBQ2xCQywyQkFBMkIsRUFDM0JDLDJCQUEyQixFQUMzQkMscUJBQXFCLEVBQ3JCQyxnQkFBZ0IsRUFDaEJDLHdCQUF3QixRQUNuQixnQkFBZ0I7QUFFdkIsU0FBUUMsYUFBYSxRQUFPLG1CQUFtQjtBQUMvQyxTQUFRQyxPQUFPLElBQUlDLHNCQUFzQixRQUFPLDZCQUE2QjtBQUM3RSxTQUFRQyxlQUFlLFFBQU8sY0FBYztBQUM1QyxTQUFRQyx1QkFBdUIsRUFBRUMsbUJBQW1CLFFBQU8scUJBQXFCIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -6,7 +6,10 @@ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
|
6
6
|
// Copyright contributors to the kepler.gl project
|
|
7
7
|
|
|
8
8
|
import Supercluster from 'supercluster';
|
|
9
|
-
import memoize from '
|
|
9
|
+
import memoize from 'es-toolkit/compat/memoize';
|
|
10
|
+
|
|
11
|
+
// es-toolkit/compat memoize does not export lodash's MemoizedFunction type.
|
|
12
|
+
|
|
10
13
|
export function getGeoJSON(data, getPosition, filterData) {
|
|
11
14
|
var raw = typeof filterData === 'function' ? data.filter(filterData) : data;
|
|
12
15
|
return raw.map(function (d) {
|
|
@@ -83,4 +86,4 @@ var ClusterBuilder = /*#__PURE__*/function () {
|
|
|
83
86
|
}]);
|
|
84
87
|
}();
|
|
85
88
|
export { ClusterBuilder as default };
|
|
86
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
89
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTdXBlcmNsdXN0ZXIiLCJtZW1vaXplIiwiZ2V0R2VvSlNPTiIsImRhdGEiLCJnZXRQb3NpdGlvbiIsImZpbHRlckRhdGEiLCJyYXciLCJmaWx0ZXIiLCJtYXAiLCJkIiwidHlwZSIsInByb3BlcnRpZXMiLCJwb2ludHMiLCJwb2ludF9jb3VudCIsInBvaW50X2NvdW50X2FiYnJldmlhdGVkIiwiZ2VvbWV0cnkiLCJjb29yZGluYXRlcyIsImV2ZXJ5IiwiTnVtYmVyIiwiaXNGaW5pdGUiLCJjbHVzdGVyUmVzb2x2ZXIiLCJfcmVmIiwiY2x1c3RlclJhZGl1cyIsImNvbmNhdCIsImdldENsdXN0ZXJlciIsIl9yZWYyIiwiZ2VvSlNPTiIsIm1heFpvb20iLCJyYWRpdXMiLCJyZWR1Y2UiLCJhY2N1bXVsYXRlZCIsInByb3BzIiwiX3RvQ29uc3VtYWJsZUFycmF5IiwibG9hZCIsIkNsdXN0ZXJCdWlsZGVyIiwiX2NsYXNzQ2FsbENoZWNrIiwiX2RlZmluZVByb3BlcnR5IiwiY2x1c3RlcmVyIiwiX2NyZWF0ZUNsYXNzIiwia2V5IiwidmFsdWUiLCJjbHVzdGVyc0F0Wm9vbSIsIl9yZWYzIiwiYmJveCIsInpvb20iLCJjbHVzdGVycyIsImdldENsdXN0ZXJzIiwiYyIsImkiLCJwb3NpdGlvbiIsImluZGV4IiwiY2xlYXJDbHVzdGVyZXJDYWNoZSIsIl90aGlzJGNsdXN0ZXJlciRjYWNoZSIsIl90aGlzJGNsdXN0ZXJlciRjYWNoZTIiLCJjYWNoZSIsImNsZWFyIiwiY2FsbCIsImRlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGF5ZXItdXRpbHMvY2x1c3Rlci11dGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgU3VwZXJjbHVzdGVyIGZyb20gJ3N1cGVyY2x1c3Rlcic7XG5pbXBvcnQgbWVtb2l6ZSBmcm9tICdlcy10b29sa2l0L2NvbXBhdC9tZW1vaXplJztcbmltcG9ydCB7QkJveCwgUG9zaXRpb259IGZyb20gJ2dlb2pzb24nO1xuXG4vLyBlcy10b29sa2l0L2NvbXBhdCBtZW1vaXplIGRvZXMgbm90IGV4cG9ydCBsb2Rhc2gncyBNZW1vaXplZEZ1bmN0aW9uIHR5cGUuXG50eXBlIE1lbW9pemVkRnVuY3Rpb24gPSB7XG4gIGNhY2hlOiB7XG4gICAgY2xlYXI/OiAoKSA9PiB2b2lkO1xuICB9O1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEdlb0pTT04oZGF0YSwgZ2V0UG9zaXRpb24sIGZpbHRlckRhdGEpIHtcbiAgY29uc3QgcmF3ID0gdHlwZW9mIGZpbHRlckRhdGEgPT09ICdmdW5jdGlvbicgPyBkYXRhLmZpbHRlcihmaWx0ZXJEYXRhKSA6IGRhdGE7XG5cbiAgcmV0dXJuIHJhd1xuICAgIC5tYXAoZCA9PiAoe1xuICAgICAgdHlwZTogJ1BvaW50JyxcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgZGF0YTogZCxcbiAgICAgICAgcG9pbnRzOiBbZF0sXG4gICAgICAgIHBvaW50X2NvdW50OiAxLFxuICAgICAgICBwb2ludF9jb3VudF9hYmJyZXZpYXRlZDogJzEnXG4gICAgICB9LFxuICAgICAgZ2VvbWV0cnk6IHtcbiAgICAgICAgY29vcmRpbmF0ZXM6IGdldFBvc2l0aW9uKGQpXG4gICAgICB9XG4gICAgfSkpXG4gICAgLmZpbHRlcihkID0+IGQuZ2VvbWV0cnkuY29vcmRpbmF0ZXMuZXZlcnkoTnVtYmVyLmlzRmluaXRlKSk7XG59XG5cbmNvbnN0IGNsdXN0ZXJSZXNvbHZlciA9ICh7Y2x1c3RlclJhZGl1c306IHtjbHVzdGVyUmFkaXVzOiBudW1iZXJ9KSA9PiBgJHtjbHVzdGVyUmFkaXVzfWA7XG5cbmNvbnN0IGdldENsdXN0ZXJlciA9ICh7Y2x1c3RlclJhZGl1cywgZ2VvSlNPTn06IHtjbHVzdGVyUmFkaXVzOiBudW1iZXI7IGdlb0pTT059KSA9PlxuICBuZXcgU3VwZXJjbHVzdGVyKHtcbiAgICBtYXhab29tOiAyMCxcbiAgICByYWRpdXM6IGNsdXN0ZXJSYWRpdXMsXG4gICAgcmVkdWNlOiAoYWNjdW11bGF0ZWQsIHByb3BzKSA9PiB7XG4gICAgICBhY2N1bXVsYXRlZC5wb2ludHMgPSBbLi4uYWNjdW11bGF0ZWQucG9pbnRzLCAuLi5wcm9wcy5wb2ludHNdO1xuICAgIH0sXG4gICAgbWFwOiBwcm9wcyA9PiAoe3BvaW50czogW3Byb3BzLmRhdGFdfSlcbiAgfSkubG9hZChnZW9KU09OKTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ2x1c3RlckJ1aWxkZXIge1xuICBjbHVzdGVyZXI6ICgoe2NsdXN0ZXJSYWRpdXMsIGdlb0pTT059OiB7Y2x1c3RlclJhZGl1czogbnVtYmVyOyBnZW9KU09OfSkgPT4gU3VwZXJjbHVzdGVyKSAmXG4gICAgTWVtb2l6ZWRGdW5jdGlvbjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmNsdXN0ZXJlciA9IG1lbW9pemUoZ2V0Q2x1c3RlcmVyLCBjbHVzdGVyUmVzb2x2ZXIpO1xuICB9XG5cbiAgY2x1c3RlcnNBdFpvb20oe1xuICAgIGJib3gsXG4gICAgY2x1c3RlclJhZGl1cyxcbiAgICBnZW9KU09OLFxuICAgIHpvb21cbiAgfToge1xuICAgIGJib3g6IEJCb3g7XG4gICAgY2x1c3RlclJhZGl1czogbnVtYmVyO1xuICAgIGdlb0pTT047XG4gICAgem9vbTogbnVtYmVyO1xuICB9KToge1xuICAgIHBvaW50czogYW55O1xuICAgIHBvc2l0aW9uOiBQb3NpdGlvbjtcbiAgICBpbmRleDogbnVtYmVyO1xuICB9W10ge1xuICAgIGNvbnN0IGNsdXN0ZXJlciA9IHRoaXMuY2x1c3RlcmVyKHtjbHVzdGVyUmFkaXVzLCBnZW9KU09OfSk7XG5cbiAgICAvLyBtYXAgY2x1c3RlcnMgdG8gZm9ybWF0dGVkIGJpbnMgdG8gYmUgcGFzc2VkIHRvIGRlY2suZ2wgYmluLXNvcnRlclxuICAgIGNvbnN0IGNsdXN0ZXJzID0gY2x1c3RlcmVyLmdldENsdXN0ZXJzKGJib3gsIHpvb20pLm1hcCgoYywgaSkgPT4gKHtcbiAgICAgIHBvaW50czogYy5wcm9wZXJ0aWVzLnBvaW50cyxcbiAgICAgIHBvc2l0aW9uOiBjLmdlb21ldHJ5LmNvb3JkaW5hdGVzLFxuICAgICAgaW5kZXg6IGlcbiAgICB9KSk7XG5cbiAgICByZXR1cm4gY2x1c3RlcnM7XG4gIH1cblxuICBjbGVhckNsdXN0ZXJlckNhY2hlKCkge1xuICAgIHRoaXMuY2x1c3RlcmVyLmNhY2hlLmNsZWFyPy4oKTtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTs7QUFFQSxPQUFPQSxZQUFZLE1BQU0sY0FBYztBQUN2QyxPQUFPQyxPQUFPLE1BQU0sMkJBQTJCOztBQUcvQzs7QUFPQSxPQUFPLFNBQVNDLFVBQVVBLENBQUNDLElBQUksRUFBRUMsV0FBVyxFQUFFQyxVQUFVLEVBQUU7RUFDeEQsSUFBTUMsR0FBRyxHQUFHLE9BQU9ELFVBQVUsS0FBSyxVQUFVLEdBQUdGLElBQUksQ0FBQ0ksTUFBTSxDQUFDRixVQUFVLENBQUMsR0FBR0YsSUFBSTtFQUU3RSxPQUFPRyxHQUFHLENBQ1BFLEdBQUcsQ0FBQyxVQUFBQyxDQUFDO0lBQUEsT0FBSztNQUNUQyxJQUFJLEVBQUUsT0FBTztNQUNiQyxVQUFVLEVBQUU7UUFDVlIsSUFBSSxFQUFFTSxDQUFDO1FBQ1BHLE1BQU0sRUFBRSxDQUFDSCxDQUFDLENBQUM7UUFDWEksV0FBVyxFQUFFLENBQUM7UUFDZEMsdUJBQXVCLEVBQUU7TUFDM0IsQ0FBQztNQUNEQyxRQUFRLEVBQUU7UUFDUkMsV0FBVyxFQUFFWixXQUFXLENBQUNLLENBQUM7TUFDNUI7SUFDRixDQUFDO0VBQUEsQ0FBQyxDQUFDLENBQ0ZGLE1BQU0sQ0FBQyxVQUFBRSxDQUFDO0lBQUEsT0FBSUEsQ0FBQyxDQUFDTSxRQUFRLENBQUNDLFdBQVcsQ0FBQ0MsS0FBSyxDQUFDQyxNQUFNLENBQUNDLFFBQVEsQ0FBQztFQUFBLEVBQUM7QUFDL0Q7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
|
|
@@ -134,7 +134,7 @@ export function makeGlobeCellLayerClass(BaseCellLayer, type) {
|
|
|
134
134
|
return _createClass(GlobeCellLayer, [{
|
|
135
135
|
key: "getShaders",
|
|
136
136
|
value: function getShaders() {
|
|
137
|
-
var shaders = _superPropGet(GlobeCellLayer, "getShaders", this,
|
|
137
|
+
var shaders = _superPropGet(GlobeCellLayer, "getShaders", this, 3)([]);
|
|
138
138
|
return _objectSpread(_objectSpread({}, shaders), {}, {
|
|
139
139
|
vs: addGlobeCellProjection(shaders.vs, type),
|
|
140
140
|
modules: [].concat(_toConsumableArray(shaders.modules || []), [globeCellUniforms])
|
|
@@ -156,7 +156,7 @@ export function makeGlobeCellLayerClass(BaseCellLayer, type) {
|
|
|
156
156
|
}
|
|
157
157
|
});
|
|
158
158
|
}
|
|
159
|
-
_superPropGet(GlobeCellLayer, "draw", this,
|
|
159
|
+
_superPropGet(GlobeCellLayer, "draw", this, 3)([opts]);
|
|
160
160
|
}
|
|
161
161
|
}]);
|
|
162
162
|
}(BaseCellLayer);
|
|
@@ -164,4 +164,4 @@ export function makeGlobeCellLayerClass(BaseCellLayer, type) {
|
|
|
164
164
|
globeCellClassCache.set(BaseCellLayer, GlobeCellLayer);
|
|
165
165
|
return GlobeCellLayer;
|
|
166
166
|
}
|
|
167
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJXZWJNZXJjYXRvclZpZXdwb3J0IiwiZ2xvYmVDZWxsVW5pZm9ybXMiLCJuYW1lIiwidnMiLCJ1bmlmb3JtVHlwZXMiLCJnbG9iZU1vZGUiLCJHTE9CRV9DRUxMX0RFQ0wiLCJhZGRHbG9iZUNlbGxQcm9qZWN0aW9uIiwidHlwZSIsImRlY2wiLCJjb25jYXQiLCJ3aXRoRGVjbCIsImluY2x1ZGVzIiwicmVwbGFjZSIsInRhcmdldCIsImNvbnNvbGUiLCJlcnJvciIsInJ1bkJpbk9wdGlvbnNXaXRoTWVyY2F0b3JWaWV3cG9ydCIsImxheWVyIiwiY2FsbFN1cGVyIiwiX2xheWVyJGNvbnRleHQiLCJ2aWV3cG9ydCIsImNvbnRleHQiLCJpc0dsb2JlIiwiQm9vbGVhbiIsInJlc29sdXRpb24iLCJtZXJjYXRvclZpZXdwb3J0Iiwid2lkdGgiLCJoZWlnaHQiLCJsb25naXR1ZGUiLCJsYXRpdHVkZSIsInpvb20iLCJvcmlnaW5hbFZpZXdwb3J0IiwiZ2xvYmVDZWxsQ2xhc3NDYWNoZSIsIldlYWtNYXAiLCJtYWtlR2xvYmVDZWxsTGF5ZXJDbGFzcyIsIkJhc2VDZWxsTGF5ZXIiLCJjYWNoZWQiLCJnZXQiLCJHbG9iZUNlbGxMYXllciIsIl9yZWYiLCJfY2xhc3NDYWxsQ2hlY2siLCJfY2FsbFN1cGVyIiwiYXJndW1lbnRzIiwiX2luaGVyaXRzIiwiX2NyZWF0ZUNsYXNzIiwia2V5IiwidmFsdWUiLCJnZXRTaGFkZXJzIiwic2hhZGVycyIsIl9zdXBlclByb3BHZXQiLCJfb2JqZWN0U3ByZWFkIiwibW9kdWxlcyIsIl90b0NvbnN1bWFibGVBcnJheSIsImRyYXciLCJvcHRzIiwibW9kZWwiLCJzdGF0ZSIsImZpbGxNb2RlbCIsInNoYWRlcklucHV0cyIsInNldFByb3BzIiwiZ2xvYmVDZWxsIiwibGF5ZXJOYW1lIiwic2V0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xheWVyLXV0aWxzL2dsb2JlLWNlbGwtdXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IHtXZWJNZXJjYXRvclZpZXdwb3J0fSBmcm9tICdAZGVjay5nbC9jb3JlJztcblxuLyoqXG4gKiBkZWNrLmdsJ3MgYWdncmVnYXRpb24gY2VsbCBsYXllcnMgKEdyaWRDZWxsTGF5ZXIgLyBIZXhhZ29uQ2VsbExheWVyKSBwb3NpdGlvblxuICogZWFjaCBjZWxsIGluIGZsYXQgbWVyY2F0b3IgXCJjb21tb24gc3BhY2VcIiAoYSAyRCBYWSBwbGFuZSkgYW5kIHRoZW4gZHJhdyBpdCB3aXRoXG4gKiBgcHJvamVjdF9jb21tb25fcG9zaXRpb25fdG9fY2xpcHNwYWNlYCwgd2hpY2ggb25seSBtdWx0aXBsaWVzIGJ5IHRoZVxuICogdmlldy1wcm9qZWN0aW9uIG1hdHJpeC4gVW5kZXIgYF9HbG9iZVZpZXdgIHRoaXMgbGVhdmVzIHRoZSBjZWxscyBvbiB0aGUgZmxhdCBYWVxuICogcGxhbmUgdGhhdCBwYXNzZXMgdGhyb3VnaCB0aGUgY2VudGVyIG9mIHRoZSBnbG9iZSBpbnN0ZWFkIG9mIG9uIGl0cyBzdXJmYWNlXG4gKiAodGhlIGJhc2UgQ29sdW1uTGF5ZXIgd29ya3Mgb24gdGhlIGdsb2JlIGJlY2F1c2UgaXQgZmVlZHMgcmVhbCBsbmcvbGF0IHRocm91Z2hcbiAqIGBwcm9qZWN0X3Bvc2l0aW9uYCAtPiBgcHJvamVjdF9nbG9iZV9gOyB0aGUgYWdncmVnYXRpb24gY2VsbCBzaGFkZXJzIHNraXAgdGhhdCkuXG4gKlxuICogVG8gZml4IHRoaXMgd2UgcmVtYXAgdGhlIGFscmVhZHktY29tcHV0ZWQgZmxhdCBjb21tb24tc3BhY2UgdmVydGV4IHBvc2l0aW9uIGJhY2tcbiAqIHRvIGxuZy9sYXQgKGludmVyc2UgV2ViIE1lcmNhdG9yKSBhbmQgdGhlbiBvbnRvIHRoZSBzcGhlcmUgd2l0aCB0aGUgc2FtZSBtYXRoXG4gKiBgcHJvamVjdF9nbG9iZV9gIHVzZXMgZm9yIGdlb2dyYXBoaWMgbGF5ZXJzLiBCZWNhdXNlIHdlIHJlbWFwIGV2ZXJ5IHZlcnRleCBvZiB0aGVcbiAqIGNlbGwgZm9vdHByaW50IChub3QganVzdCB0aGUgY2VudHJvaWQpLCB0aGUgZmxhdCBxdWFkL2hleGFnb24gbmF0dXJhbGx5IGN1cnZlc1xuICogb250byB0aGUgc3VyZmFjZS4gRWxldmF0aW9uIChleHRydWRlZCBjZWxscywgc3RvcmVkIGluIGBnZW9tZXRyeS5wb3NpdGlvbi56YCBpblxuICogY29tbW9uIHVuaXRzKSBpcyBhZGRlZCBhbG9uZyB0aGUgcmFkaXVzIHNvIGNvbHVtbnMgcmlzZSByYWRpYWxseSBvZmYgdGhlIGdsb2JlLlxuICpcbiAqIFRoZSByZW1hcCBpcyBnYXRlZCBieSBhIGBnbG9iZU1vZGVgIHVuaWZvcm0gc28gMkQvM0QgbWVyY2F0b3IgcmVuZGVyaW5nIGlzXG4gKiBieXRlLWZvci1ieXRlIHVuY2hhbmdlZC5cbiAqXG4gKiBgV09STERfU0NBTEVgLCBgUElgLCBgR0xPQkVfUkFESVVTYCBhbmQgYHByb2plY3QuY29tbW9uT3JpZ2luYCBhcmUgYWxsIHByb3ZpZGVkXG4gKiBieSBkZWNrLmdsJ3MgcHJvamVjdCBzaGFkZXIgbW9kdWxlIHdoaWNoIHRoZXNlIGxheWVycyBpbmNsdWRlLlxuICovXG5cbi8vIGRlY2suZ2wgOSAvIGx1bWEgOSBzZXRzIGN1c3RvbSB1bmlmb3JtcyB2aWEgVUJPLWJhY2tlZCBzaGFkZXIgbW9kdWxlcyAodGhlcmUgaXNcbi8vIG5vIE1vZGVsLnNldFVuaWZvcm1zKS4gVGhpcyBtaW5pbWFsIG1vZHVsZSBleHBvc2VzIHRoZSBnbG9iZS1tb2RlIGZsYWcuXG5jb25zdCBnbG9iZUNlbGxVbmlmb3JtcyA9IHtcbiAgbmFtZTogJ2dsb2JlQ2VsbCcsXG4gIHZzOiBgbGF5b3V0KHN0ZDE0MCkgdW5pZm9ybSBnbG9iZUNlbGxVbmlmb3JtcyB7XG4gIGZsb2F0IGdsb2JlTW9kZTtcbn0gZ2xvYmVDZWxsUHJvcHM7XG5gLFxuICB1bmlmb3JtVHlwZXM6IHtcbiAgICBnbG9iZU1vZGU6ICdmMzInXG4gIH1cbn0gYXMgY29uc3Q7XG5cbmNvbnN0IEdMT0JFX0NFTExfREVDTCA9IC8qIGdsc2wgKi8gYFxuLy8gSW52ZXJzZSBvZiBkZWNrLmdsIHByb2plY3RfbWVyY2F0b3JfOiBmbGF0IGNvbW1vbiBYWSAtPiBsbmcvbGF0IChkZWdyZWVzKS5cbnZlYzIga2VwbGVyX2NvbW1vblRvTG5nTGF0KHZlYzIgY29tbW9uWFkpIHtcbiAgZmxvYXQgbG5nID0gZGVncmVlcyhjb21tb25YWS54IC8gV09STERfU0NBTEUgLSBQSSk7XG4gIGZsb2F0IGxhdCA9IGRlZ3JlZXMoMi4wICogYXRhbihleHAoY29tbW9uWFkueSAvIFdPUkxEX1NDQUxFIC0gUEkpKSAtIFBJICogMC41KTtcbiAgcmV0dXJuIHZlYzIobG5nLCBsYXQpO1xufVxuXG4vLyBTYW1lIG1hdGggYXMgZGVjay5nbCBwcm9qZWN0X2dsb2JlXy4gZWxldmF0aW9uQ29tbW9uIGlzIGluIGNvbW1vbiB1bml0cyBhbHJlYWR5XG4vLyAoR0xPQkVfUkFESVVTIHNwYWNlKSwgbWF0Y2hpbmcgaG93IHByb2plY3RfZ2xvYmVfIHNjYWxlcyB6IG9mZiBFQVJUSF9SQURJVVMuXG52ZWMzIGtlcGxlcl9sbmdMYXRUb0dsb2JlKHZlYzIgbG5nTGF0LCBmbG9hdCBlbGV2YXRpb25Db21tb24pIHtcbiAgZmxvYXQgbGFtYmRhID0gcmFkaWFucyhsbmdMYXQueCk7XG4gIGZsb2F0IHBoaSA9IHJhZGlhbnMobG5nTGF0LnkpO1xuICBmbG9hdCBjb3NQaGkgPSBjb3MocGhpKTtcbiAgZmxvYXQgRCA9IEdMT0JFX1JBRElVUyArIGVsZXZhdGlvbkNvbW1vbjtcbiAgcmV0dXJuIHZlYzMoXG4gICAgc2luKGxhbWJkYSkgKiBjb3NQaGksXG4gICAgLWNvcyhsYW1iZGEpICogY29zUGhpLFxuICAgIHNpbihwaGkpXG4gICkgKiBEO1xufVxuYDtcblxuLyoqXG4gKiBSZXdyaXRlcyBhIGdyaWQvaGV4YWdvbiBjZWxsIHZlcnRleCBzaGFkZXIgc28gdGhhdCwgaW4gZ2xvYmUgbW9kZSwgdGhlIGZpbmFsXG4gKiBjbGlwLXNwYWNlIHBvc2l0aW9uIGlzIGRlcml2ZWQgZnJvbSB0aGUgc3BoZXJlIHN1cmZhY2UgaW5zdGVhZCBvZiB0aGUgZmxhdCBYWVxuICogcGxhbmUuIEluIDJELzNEIG1vZGUgdGhlIG9yaWdpbmFsIHBhdGggaXMga2VwdCB1bmNoYW5nZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhZGRHbG9iZUNlbGxQcm9qZWN0aW9uKHZzOiBzdHJpbmcsIHR5cGU6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IGRlY2wgPSBgJHtHTE9CRV9DRUxMX0RFQ0x9XFxudm9pZCBtYWluKHZvaWQpIHtgO1xuICBjb25zdCB3aXRoRGVjbCA9IHZzLmluY2x1ZGVzKCd2b2lkIG1haW4odm9pZCkgeycpID8gdnMucmVwbGFjZSgndm9pZCBtYWluKHZvaWQpIHsnLCBkZWNsKSA6IHZzO1xuXG4gIGNvbnN0IHRhcmdldCA9ICdnbF9Qb3NpdGlvbiA9IHByb2plY3RfY29tbW9uX3Bvc2l0aW9uX3RvX2NsaXBzcGFjZShnZW9tZXRyeS5wb3NpdGlvbik7JztcbiAgaWYgKCF3aXRoRGVjbC5pbmNsdWRlcyh0YXJnZXQpKSB7XG4gICAgLy8gU2hhZGVyIHNoYXBlIGNoYW5nZWQgaW4gYSBkZWNrLmdsIHVwZGF0ZTsgbGVhdmUgdGhlIG9yaWdpbmFsIHNvIHdlIGRvbid0IGNyYXNoLlxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgY29uc29sZS5lcnJvcihgQ2Fubm90IGVkaXQgJHt0eXBlfSBnbG9iZSBjZWxsIHNoYWRlcmApO1xuICAgIHJldHVybiB3aXRoRGVjbDtcbiAgfVxuXG4gIHJldHVybiB3aXRoRGVjbC5yZXBsYWNlKFxuICAgIHRhcmdldCxcbiAgICBgaWYgKGdsb2JlQ2VsbFByb3BzLmdsb2JlTW9kZSA+IDAuNSkge1xuICAgICAgdmVjMiBsbmdMYXQgPSBrZXBsZXJfY29tbW9uVG9MbmdMYXQoZ2VvbWV0cnkucG9zaXRpb24ueHkgKyBwcm9qZWN0LmNvbW1vbk9yaWdpbi54eSk7XG4gICAgICB2ZWMzIGdsb2JlUG9zID0ga2VwbGVyX2xuZ0xhdFRvR2xvYmUobG5nTGF0LCBnZW9tZXRyeS5wb3NpdGlvbi56KTtcbiAgICAgIGdlb21ldHJ5LnBvc2l0aW9uID0gdmVjNChnbG9iZVBvcywgMS4wKTtcbiAgICB9XG4gICAgZ2xfUG9zaXRpb24gPSBwcm9qZWN0X2NvbW1vbl9wb3NpdGlvbl90b19jbGlwc3BhY2UoZ2VvbWV0cnkucG9zaXRpb24pO2BcbiAgKTtcbn1cblxuLyoqXG4gKiBkZWNrLmdsIDkncyBHcmlkL0hleGFnb24gYWdncmVnYXRpb24gY29tcHV0ZSBiaW4gcG9zaXRpb25zIGFuZCB0aGUgY2VsbCBsYXllcidzXG4gKiBcImNvbW1vbiBzcGFjZVwiIGZyb20gYHRoaXMuY29udGV4dC52aWV3cG9ydGAuIFVuZGVyIGBfR2xvYmVWaWV3YCB0aGF0IGNvbW1vbiBzcGFjZVxuICogaXMgdGhlIGdsb2JlJ3MgM0QtcHJvamVjdGVkIHNwYWNlIChwcm9qZWN0RmxhdCBpcyBpZGVudGl0eSBvbiBsbmcvbGF0LCBwb3NpdGlvbnNcbiAqIGJpbiBvZmYgdGhlIHNwaGVyZS1wcm9qZWN0ZWQgWFkpLCB3aGljaCBib3RoIG1pcy1iaW5zIGRhdGEgYW5kIOKAlCBjb21iaW5lZCB3aXRoIHRoZVxuICogZmxhdCBjZWxsIHNoYWRlciDigJQgZHJvcHMgY2VsbHMgb250byB0aGUgcGxhbmUgdGhyb3VnaCB0aGUgZ2xvYmUgY2VudGVyLlxuICpcbiAqIFdlIHNpZGVzdGVwIHRoaXMgYnkgcnVubmluZyBgX3VwZGF0ZUJpbk9wdGlvbnNgIHdpdGggYSBXZWJNZXJjYXRvclZpZXdwb3J0IHRoYXRcbiAqIG1hdGNoZXMgdGhlIGN1cnJlbnQgZ2xvYmUgY2FtZXJhLiBUaGF0IG1ha2VzIGJpbm5pbmcsIGBjZWxsT3JpZ2luQ29tbW9uYCAvXG4gKiBgY2VsbFNpemVDb21tb25gIChvciBgcmFkaXVzQ29tbW9uYCAvIGBoZXhPcmlnaW5Db21tb25gKSBhbmQgdGhlIGNlbGwgc2hhZGVyJ3NcbiAqIGZsYXQgcG9zaXRpb24gYWxsIGxpdmUgaW4gZ2VudWluZSBXZWIgTWVyY2F0b3IgY29tbW9uIHNwYWNlLCB3aGljaCB0aGUgY2VsbCBzaGFkZXJcbiAqIHJlbWFwIChgYWRkR2xvYmVDZWxsUHJvamVjdGlvbmApIHRoZW4gY3VydmVzIGJhY2sgb250byB0aGUgc3BoZXJlLiBJbiAyRC8zRCBtb2RlXG4gKiB0aGlzIGlzIGEgbm8tb3AuXG4gKlxuICogYGNhbGxTdXBlcmAgcnVucyBkZWNrLmdsJ3Mgb3JpZ2luYWwgYF91cGRhdGVCaW5PcHRpb25zYCB3aGlsZSB0aGUgdmlld3BvcnQgaXNcbiAqIHRlbXBvcmFyaWx5IHN3YXBwZWQuIFRoZSBzd2FwIGlzIHN5bmNocm9ub3VzIGFuZCByZXN0b3JlZCBpbiBgZmluYWxseWAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBydW5CaW5PcHRpb25zV2l0aE1lcmNhdG9yVmlld3BvcnQobGF5ZXI6IGFueSwgY2FsbFN1cGVyOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gIGNvbnN0IHZpZXdwb3J0ID0gbGF5ZXIuY29udGV4dD8udmlld3BvcnQ7XG4gIGNvbnN0IGlzR2xvYmUgPSBCb29sZWFuKHZpZXdwb3J0Py5yZXNvbHV0aW9uKTtcbiAgaWYgKCFpc0dsb2JlKSB7XG4gICAgY2FsbFN1cGVyKCk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgbWVyY2F0b3JWaWV3cG9ydCA9IG5ldyBXZWJNZXJjYXRvclZpZXdwb3J0KHtcbiAgICB3aWR0aDogdmlld3BvcnQud2lkdGgsXG4gICAgaGVpZ2h0OiB2aWV3cG9ydC5oZWlnaHQsXG4gICAgbG9uZ2l0dWRlOiB2aWV3cG9ydC5sb25naXR1ZGUsXG4gICAgbGF0aXR1ZGU6IHZpZXdwb3J0LmxhdGl0dWRlLFxuICAgIHpvb206IHZpZXdwb3J0Lnpvb21cbiAgfSk7XG5cbiAgY29uc3Qgb3JpZ2luYWxWaWV3cG9ydCA9IGxheWVyLmNvbnRleHQudmlld3BvcnQ7XG4gIGxheWVyLmNvbnRleHQudmlld3BvcnQgPSBtZXJjYXRvclZpZXdwb3J0O1xuICB0cnkge1xuICAgIGNhbGxTdXBlcigpO1xuICB9IGZpbmFsbHkge1xuICAgIGxheWVyLmNvbnRleHQudmlld3BvcnQgPSBvcmlnaW5hbFZpZXdwb3J0O1xuICB9XG59XG5cbi8qKlxuICogV3JhcHMgYSBkZWNrLmdsIGFnZ3JlZ2F0aW9uIGNlbGwgbGF5ZXIgY2xhc3MgKEdyaWRDZWxsTGF5ZXIgLyBIZXhhZ29uQ2VsbExheWVyKVxuICogd2l0aCBhIHN1YmNsYXNzIHRoYXQgaW5qZWN0cyB0aGUgZ2xvYmUgc3VyZmFjZSByZW1hcCBpbnRvIGl0cyB2ZXJ0ZXggc2hhZGVyLlxuICpcbiAqIFdlIGNyZWF0ZSB0aGUgc3ViY2xhc3MgZHluYW1pY2FsbHkgZnJvbSB3aGF0ZXZlciBkZWZhdWx0IGNsYXNzIGRlY2suZ2wgcHJvdmlkZXNcbiAqIHRvIGBnZXRTdWJMYXllckNsYXNzYCBzbyB3ZSBkb24ndCBoYXZlIHRvIGltcG9ydCB0aGUgKG5vbi1wdWJsaWMpIGNlbGwgbGF5ZXJcbiAqIGNsYXNzZXMgZGlyZWN0bHkuIFJlc3VsdHMgYXJlIGNhY2hlZCBwZXIgYmFzZSBjbGFzcyBzbyBkZWNrLmdsIHNlZXMgYSBzdGFibGVcbiAqIGxheWVyIGNsYXNzIGFjcm9zcyByZW5kZXJzIChsYXllcnMgYXJlIHJlY3JlYXRlZCBldmVyeSBmcmFtZSkgYW5kIHNoYWRlclxuICogY29tcGlsYXRpb24gLyBzdWJsYXllciBkaWZmaW5nIHN0YXlzIHN0YWJsZS5cbiAqL1xuY29uc3QgZ2xvYmVDZWxsQ2xhc3NDYWNoZSA9IG5ldyBXZWFrTWFwPG9iamVjdCwgb2JqZWN0PigpO1xuXG50eXBlIExheWVyQ29uc3RydWN0b3IgPSB7bmV3ICguLi5hcmdzOiBhbnlbXSk6IGFueTsgbGF5ZXJOYW1lPzogc3RyaW5nfTtcblxuZXhwb3J0IGZ1bmN0aW9uIG1ha2VHbG9iZUNlbGxMYXllckNsYXNzPFQgZXh0ZW5kcyBMYXllckNvbnN0cnVjdG9yPihcbiAgQmFzZUNlbGxMYXllcjogVCxcbiAgdHlwZTogc3RyaW5nXG4pOiBUIHtcbiAgY29uc3QgY2FjaGVkID0gZ2xvYmVDZWxsQ2xhc3NDYWNoZS5nZXQoQmFzZUNlbGxMYXllcik7XG4gIGlmIChjYWNoZWQpIHtcbiAgICByZXR1cm4gY2FjaGVkIGFzIFQ7XG4gIH1cblxuICBjbGFzcyBHbG9iZUNlbGxMYXllciBleHRlbmRzIChCYXNlQ2VsbExheWVyIGFzIHtuZXcgKC4uLmFyZ3M6IGFueVtdKTogYW55fSkge1xuICAgIGdldFNoYWRlcnMoKSB7XG4gICAgICBjb25zdCBzaGFkZXJzID0gKHN1cGVyLmdldFNoYWRlcnMgYXMgKCkgPT4gYW55KSgpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc2hhZGVycyxcbiAgICAgICAgdnM6IGFkZEdsb2JlQ2VsbFByb2plY3Rpb24oc2hhZGVycy52cywgdHlwZSksXG4gICAgICAgIG1vZHVsZXM6IFsuLi4oc2hhZGVycy5tb2R1bGVzIHx8IFtdKSwgZ2xvYmVDZWxsVW5pZm9ybXNdXG4gICAgICB9O1xuICAgIH1cblxuICAgIGRyYXcob3B0czogYW55KSB7XG4gICAgICBjb25zdCBnbG9iZU1vZGUgPSAodGhpcy5jb250ZXh0LnZpZXdwb3J0IGFzIGFueSkucmVzb2x1dGlvbiA/IDEuMCA6IDAuMDtcbiAgICAgIC8vIEdyaWRDZWxsTGF5ZXIgLyBIZXhhZ29uQ2VsbExheWVyIHJlbmRlciB0aHJvdWdoIGEgc2luZ2xlIGZpbGxNb2RlbCBhbmQgc2V0XG4gICAgICAvLyB0aGVpciBvd24gbW9kdWxlIHByb3BzIGluIGRyYXcoKTsgc2V0IG91cnMgZmlyc3Qgc28gaXQgbWVyZ2VzIChzZXRQcm9wcyBpc1xuICAgICAgLy8gcGVyLW1vZHVsZSkuIGRlY2suZ2wgOSBoYXMgbm8gTW9kZWwuc2V0VW5pZm9ybXMg4oCUIHVuaWZvcm1zIGdvIHRocm91Z2hcbiAgICAgIC8vIHNoYWRlcklucHV0cyBVQk8gbW9kdWxlcy5cbiAgICAgIGNvbnN0IG1vZGVsID0gKHRoaXMuc3RhdGUgYXMgYW55KS5maWxsTW9kZWw7XG4gICAgICBpZiAobW9kZWw/LnNoYWRlcklucHV0cykge1xuICAgICAgICBtb2RlbC5zaGFkZXJJbnB1dHMuc2V0UHJvcHMoe2dsb2JlQ2VsbDoge2dsb2JlTW9kZX19KTtcbiAgICAgIH1cbiAgICAgIChzdXBlci5kcmF3IGFzIChvOiBhbnkpID0+IHZvaWQpKG9wdHMpO1xuICAgIH1cbiAgfVxuICAoR2xvYmVDZWxsTGF5ZXIgYXMgdW5rbm93biBhcyB7bGF5ZXJOYW1lOiBzdHJpbmd9KS5sYXllck5hbWUgPSBgR2xvYmUke3R5cGV9Q2VsbExheWVyYDtcbiAgZ2xvYmVDZWxsQ2xhc3NDYWNoZS5zZXQoQmFzZUNlbGxMYXllciwgR2xvYmVDZWxsTGF5ZXIpO1xuICByZXR1cm4gR2xvYmVDZWxsTGF5ZXIgYXMgdW5rbm93biBhcyBUO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTs7QUFFQSxTQUFRQSxtQkFBbUIsUUFBTyxlQUFlOztBQUVqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBTUMsaUJBQWlCLEdBQUc7RUFDeEJDLElBQUksRUFBRSxXQUFXO0VBQ2pCQyxFQUFFLHVGQUdIO0VBQ0NDLFlBQVksRUFBRTtJQUNaQyxTQUFTLEVBQUU7RUFDYjtBQUNGLENBQVU7QUFFVixJQUFNQyxlQUFlLEdBQUcsMndCQXFCdkI7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU8sU0FBU0Msc0JBQXNCQSxDQUFDSixFQUFVLEVBQUVLLElBQVksRUFBVTtFQUN2RSxJQUFNQyxJQUFJLE1BQUFDLE1BQUEsQ0FBTUosZUFBZSx3QkFBcUI7RUFDcEQs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
|
|
167
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJXZWJNZXJjYXRvclZpZXdwb3J0IiwiZ2xvYmVDZWxsVW5pZm9ybXMiLCJuYW1lIiwidnMiLCJ1bmlmb3JtVHlwZXMiLCJnbG9iZU1vZGUiLCJHTE9CRV9DRUxMX0RFQ0wiLCJhZGRHbG9iZUNlbGxQcm9qZWN0aW9uIiwidHlwZSIsImRlY2wiLCJjb25jYXQiLCJ3aXRoRGVjbCIsImluY2x1ZGVzIiwicmVwbGFjZSIsInRhcmdldCIsImNvbnNvbGUiLCJlcnJvciIsInJ1bkJpbk9wdGlvbnNXaXRoTWVyY2F0b3JWaWV3cG9ydCIsImxheWVyIiwiY2FsbFN1cGVyIiwiX2xheWVyJGNvbnRleHQiLCJ2aWV3cG9ydCIsImNvbnRleHQiLCJpc0dsb2JlIiwiQm9vbGVhbiIsInJlc29sdXRpb24iLCJtZXJjYXRvclZpZXdwb3J0Iiwid2lkdGgiLCJoZWlnaHQiLCJsb25naXR1ZGUiLCJsYXRpdHVkZSIsInpvb20iLCJvcmlnaW5hbFZpZXdwb3J0IiwiZ2xvYmVDZWxsQ2xhc3NDYWNoZSIsIldlYWtNYXAiLCJtYWtlR2xvYmVDZWxsTGF5ZXJDbGFzcyIsIkJhc2VDZWxsTGF5ZXIiLCJjYWNoZWQiLCJnZXQiLCJHbG9iZUNlbGxMYXllciIsIl9yZWYiLCJfY2xhc3NDYWxsQ2hlY2siLCJfY2FsbFN1cGVyIiwiYXJndW1lbnRzIiwiX2luaGVyaXRzIiwiX2NyZWF0ZUNsYXNzIiwia2V5IiwidmFsdWUiLCJnZXRTaGFkZXJzIiwic2hhZGVycyIsIl9zdXBlclByb3BHZXQiLCJfb2JqZWN0U3ByZWFkIiwibW9kdWxlcyIsIl90b0NvbnN1bWFibGVBcnJheSIsImRyYXciLCJvcHRzIiwibW9kZWwiLCJzdGF0ZSIsImZpbGxNb2RlbCIsInNoYWRlcklucHV0cyIsInNldFByb3BzIiwiZ2xvYmVDZWxsIiwibGF5ZXJOYW1lIiwic2V0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xheWVyLXV0aWxzL2dsb2JlLWNlbGwtdXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IHtXZWJNZXJjYXRvclZpZXdwb3J0fSBmcm9tICdAZGVjay5nbC9jb3JlJztcblxuLyoqXG4gKiBkZWNrLmdsJ3MgYWdncmVnYXRpb24gY2VsbCBsYXllcnMgKEdyaWRDZWxsTGF5ZXIgLyBIZXhhZ29uQ2VsbExheWVyKSBwb3NpdGlvblxuICogZWFjaCBjZWxsIGluIGZsYXQgbWVyY2F0b3IgXCJjb21tb24gc3BhY2VcIiAoYSAyRCBYWSBwbGFuZSkgYW5kIHRoZW4gZHJhdyBpdCB3aXRoXG4gKiBgcHJvamVjdF9jb21tb25fcG9zaXRpb25fdG9fY2xpcHNwYWNlYCwgd2hpY2ggb25seSBtdWx0aXBsaWVzIGJ5IHRoZVxuICogdmlldy1wcm9qZWN0aW9uIG1hdHJpeC4gVW5kZXIgYF9HbG9iZVZpZXdgIHRoaXMgbGVhdmVzIHRoZSBjZWxscyBvbiB0aGUgZmxhdCBYWVxuICogcGxhbmUgdGhhdCBwYXNzZXMgdGhyb3VnaCB0aGUgY2VudGVyIG9mIHRoZSBnbG9iZSBpbnN0ZWFkIG9mIG9uIGl0cyBzdXJmYWNlXG4gKiAodGhlIGJhc2UgQ29sdW1uTGF5ZXIgd29ya3Mgb24gdGhlIGdsb2JlIGJlY2F1c2UgaXQgZmVlZHMgcmVhbCBsbmcvbGF0IHRocm91Z2hcbiAqIGBwcm9qZWN0X3Bvc2l0aW9uYCAtPiBgcHJvamVjdF9nbG9iZV9gOyB0aGUgYWdncmVnYXRpb24gY2VsbCBzaGFkZXJzIHNraXAgdGhhdCkuXG4gKlxuICogVG8gZml4IHRoaXMgd2UgcmVtYXAgdGhlIGFscmVhZHktY29tcHV0ZWQgZmxhdCBjb21tb24tc3BhY2UgdmVydGV4IHBvc2l0aW9uIGJhY2tcbiAqIHRvIGxuZy9sYXQgKGludmVyc2UgV2ViIE1lcmNhdG9yKSBhbmQgdGhlbiBvbnRvIHRoZSBzcGhlcmUgd2l0aCB0aGUgc2FtZSBtYXRoXG4gKiBgcHJvamVjdF9nbG9iZV9gIHVzZXMgZm9yIGdlb2dyYXBoaWMgbGF5ZXJzLiBCZWNhdXNlIHdlIHJlbWFwIGV2ZXJ5IHZlcnRleCBvZiB0aGVcbiAqIGNlbGwgZm9vdHByaW50IChub3QganVzdCB0aGUgY2VudHJvaWQpLCB0aGUgZmxhdCBxdWFkL2hleGFnb24gbmF0dXJhbGx5IGN1cnZlc1xuICogb250byB0aGUgc3VyZmFjZS4gRWxldmF0aW9uIChleHRydWRlZCBjZWxscywgc3RvcmVkIGluIGBnZW9tZXRyeS5wb3NpdGlvbi56YCBpblxuICogY29tbW9uIHVuaXRzKSBpcyBhZGRlZCBhbG9uZyB0aGUgcmFkaXVzIHNvIGNvbHVtbnMgcmlzZSByYWRpYWxseSBvZmYgdGhlIGdsb2JlLlxuICpcbiAqIFRoZSByZW1hcCBpcyBnYXRlZCBieSBhIGBnbG9iZU1vZGVgIHVuaWZvcm0gc28gMkQvM0QgbWVyY2F0b3IgcmVuZGVyaW5nIGlzXG4gKiBieXRlLWZvci1ieXRlIHVuY2hhbmdlZC5cbiAqXG4gKiBgV09STERfU0NBTEVgLCBgUElgLCBgR0xPQkVfUkFESVVTYCBhbmQgYHByb2plY3QuY29tbW9uT3JpZ2luYCBhcmUgYWxsIHByb3ZpZGVkXG4gKiBieSBkZWNrLmdsJ3MgcHJvamVjdCBzaGFkZXIgbW9kdWxlIHdoaWNoIHRoZXNlIGxheWVycyBpbmNsdWRlLlxuICovXG5cbi8vIGRlY2suZ2wgOSAvIGx1bWEgOSBzZXRzIGN1c3RvbSB1bmlmb3JtcyB2aWEgVUJPLWJhY2tlZCBzaGFkZXIgbW9kdWxlcyAodGhlcmUgaXNcbi8vIG5vIE1vZGVsLnNldFVuaWZvcm1zKS4gVGhpcyBtaW5pbWFsIG1vZHVsZSBleHBvc2VzIHRoZSBnbG9iZS1tb2RlIGZsYWcuXG5jb25zdCBnbG9iZUNlbGxVbmlmb3JtcyA9IHtcbiAgbmFtZTogJ2dsb2JlQ2VsbCcsXG4gIHZzOiBgbGF5b3V0KHN0ZDE0MCkgdW5pZm9ybSBnbG9iZUNlbGxVbmlmb3JtcyB7XG4gIGZsb2F0IGdsb2JlTW9kZTtcbn0gZ2xvYmVDZWxsUHJvcHM7XG5gLFxuICB1bmlmb3JtVHlwZXM6IHtcbiAgICBnbG9iZU1vZGU6ICdmMzInXG4gIH1cbn0gYXMgY29uc3Q7XG5cbmNvbnN0IEdMT0JFX0NFTExfREVDTCA9IC8qIGdsc2wgKi8gYFxuLy8gSW52ZXJzZSBvZiBkZWNrLmdsIHByb2plY3RfbWVyY2F0b3JfOiBmbGF0IGNvbW1vbiBYWSAtPiBsbmcvbGF0IChkZWdyZWVzKS5cbnZlYzIga2VwbGVyX2NvbW1vblRvTG5nTGF0KHZlYzIgY29tbW9uWFkpIHtcbiAgZmxvYXQgbG5nID0gZGVncmVlcyhjb21tb25YWS54IC8gV09STERfU0NBTEUgLSBQSSk7XG4gIGZsb2F0IGxhdCA9IGRlZ3JlZXMoMi4wICogYXRhbihleHAoY29tbW9uWFkueSAvIFdPUkxEX1NDQUxFIC0gUEkpKSAtIFBJICogMC41KTtcbiAgcmV0dXJuIHZlYzIobG5nLCBsYXQpO1xufVxuXG4vLyBTYW1lIG1hdGggYXMgZGVjay5nbCBwcm9qZWN0X2dsb2JlXy4gZWxldmF0aW9uQ29tbW9uIGlzIGluIGNvbW1vbiB1bml0cyBhbHJlYWR5XG4vLyAoR0xPQkVfUkFESVVTIHNwYWNlKSwgbWF0Y2hpbmcgaG93IHByb2plY3RfZ2xvYmVfIHNjYWxlcyB6IG9mZiBFQVJUSF9SQURJVVMuXG52ZWMzIGtlcGxlcl9sbmdMYXRUb0dsb2JlKHZlYzIgbG5nTGF0LCBmbG9hdCBlbGV2YXRpb25Db21tb24pIHtcbiAgZmxvYXQgbGFtYmRhID0gcmFkaWFucyhsbmdMYXQueCk7XG4gIGZsb2F0IHBoaSA9IHJhZGlhbnMobG5nTGF0LnkpO1xuICBmbG9hdCBjb3NQaGkgPSBjb3MocGhpKTtcbiAgZmxvYXQgRCA9IEdMT0JFX1JBRElVUyArIGVsZXZhdGlvbkNvbW1vbjtcbiAgcmV0dXJuIHZlYzMoXG4gICAgc2luKGxhbWJkYSkgKiBjb3NQaGksXG4gICAgLWNvcyhsYW1iZGEpICogY29zUGhpLFxuICAgIHNpbihwaGkpXG4gICkgKiBEO1xufVxuYDtcblxuLyoqXG4gKiBSZXdyaXRlcyBhIGdyaWQvaGV4YWdvbiBjZWxsIHZlcnRleCBzaGFkZXIgc28gdGhhdCwgaW4gZ2xvYmUgbW9kZSwgdGhlIGZpbmFsXG4gKiBjbGlwLXNwYWNlIHBvc2l0aW9uIGlzIGRlcml2ZWQgZnJvbSB0aGUgc3BoZXJlIHN1cmZhY2UgaW5zdGVhZCBvZiB0aGUgZmxhdCBYWVxuICogcGxhbmUuIEluIDJELzNEIG1vZGUgdGhlIG9yaWdpbmFsIHBhdGggaXMga2VwdCB1bmNoYW5nZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhZGRHbG9iZUNlbGxQcm9qZWN0aW9uKHZzOiBzdHJpbmcsIHR5cGU6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IGRlY2wgPSBgJHtHTE9CRV9DRUxMX0RFQ0x9XFxudm9pZCBtYWluKHZvaWQpIHtgO1xuICBjb25zdCB3aXRoRGVjbCA9IHZzLmluY2x1ZGVzKCd2b2lkIG1haW4odm9pZCkgeycpID8gdnMucmVwbGFjZSgndm9pZCBtYWluKHZvaWQpIHsnLCBkZWNsKSA6IHZzO1xuXG4gIGNvbnN0IHRhcmdldCA9ICdnbF9Qb3NpdGlvbiA9IHByb2plY3RfY29tbW9uX3Bvc2l0aW9uX3RvX2NsaXBzcGFjZShnZW9tZXRyeS5wb3NpdGlvbik7JztcbiAgaWYgKCF3aXRoRGVjbC5pbmNsdWRlcyh0YXJnZXQpKSB7XG4gICAgLy8gU2hhZGVyIHNoYXBlIGNoYW5nZWQgaW4gYSBkZWNrLmdsIHVwZGF0ZTsgbGVhdmUgdGhlIG9yaWdpbmFsIHNvIHdlIGRvbid0IGNyYXNoLlxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgY29uc29sZS5lcnJvcihgQ2Fubm90IGVkaXQgJHt0eXBlfSBnbG9iZSBjZWxsIHNoYWRlcmApO1xuICAgIHJldHVybiB3aXRoRGVjbDtcbiAgfVxuXG4gIHJldHVybiB3aXRoRGVjbC5yZXBsYWNlKFxuICAgIHRhcmdldCxcbiAgICBgaWYgKGdsb2JlQ2VsbFByb3BzLmdsb2JlTW9kZSA+IDAuNSkge1xuICAgICAgdmVjMiBsbmdMYXQgPSBrZXBsZXJfY29tbW9uVG9MbmdMYXQoZ2VvbWV0cnkucG9zaXRpb24ueHkgKyBwcm9qZWN0LmNvbW1vbk9yaWdpbi54eSk7XG4gICAgICB2ZWMzIGdsb2JlUG9zID0ga2VwbGVyX2xuZ0xhdFRvR2xvYmUobG5nTGF0LCBnZW9tZXRyeS5wb3NpdGlvbi56KTtcbiAgICAgIGdlb21ldHJ5LnBvc2l0aW9uID0gdmVjNChnbG9iZVBvcywgMS4wKTtcbiAgICB9XG4gICAgZ2xfUG9zaXRpb24gPSBwcm9qZWN0X2NvbW1vbl9wb3NpdGlvbl90b19jbGlwc3BhY2UoZ2VvbWV0cnkucG9zaXRpb24pO2BcbiAgKTtcbn1cblxuLyoqXG4gKiBkZWNrLmdsIDkncyBHcmlkL0hleGFnb24gYWdncmVnYXRpb24gY29tcHV0ZSBiaW4gcG9zaXRpb25zIGFuZCB0aGUgY2VsbCBsYXllcidzXG4gKiBcImNvbW1vbiBzcGFjZVwiIGZyb20gYHRoaXMuY29udGV4dC52aWV3cG9ydGAuIFVuZGVyIGBfR2xvYmVWaWV3YCB0aGF0IGNvbW1vbiBzcGFjZVxuICogaXMgdGhlIGdsb2JlJ3MgM0QtcHJvamVjdGVkIHNwYWNlIChwcm9qZWN0RmxhdCBpcyBpZGVudGl0eSBvbiBsbmcvbGF0LCBwb3NpdGlvbnNcbiAqIGJpbiBvZmYgdGhlIHNwaGVyZS1wcm9qZWN0ZWQgWFkpLCB3aGljaCBib3RoIG1pcy1iaW5zIGRhdGEgYW5kIOKAlCBjb21iaW5lZCB3aXRoIHRoZVxuICogZmxhdCBjZWxsIHNoYWRlciDigJQgZHJvcHMgY2VsbHMgb250byB0aGUgcGxhbmUgdGhyb3VnaCB0aGUgZ2xvYmUgY2VudGVyLlxuICpcbiAqIFdlIHNpZGVzdGVwIHRoaXMgYnkgcnVubmluZyBgX3VwZGF0ZUJpbk9wdGlvbnNgIHdpdGggYSBXZWJNZXJjYXRvclZpZXdwb3J0IHRoYXRcbiAqIG1hdGNoZXMgdGhlIGN1cnJlbnQgZ2xvYmUgY2FtZXJhLiBUaGF0IG1ha2VzIGJpbm5pbmcsIGBjZWxsT3JpZ2luQ29tbW9uYCAvXG4gKiBgY2VsbFNpemVDb21tb25gIChvciBgcmFkaXVzQ29tbW9uYCAvIGBoZXhPcmlnaW5Db21tb25gKSBhbmQgdGhlIGNlbGwgc2hhZGVyJ3NcbiAqIGZsYXQgcG9zaXRpb24gYWxsIGxpdmUgaW4gZ2VudWluZSBXZWIgTWVyY2F0b3IgY29tbW9uIHNwYWNlLCB3aGljaCB0aGUgY2VsbCBzaGFkZXJcbiAqIHJlbWFwIChgYWRkR2xvYmVDZWxsUHJvamVjdGlvbmApIHRoZW4gY3VydmVzIGJhY2sgb250byB0aGUgc3BoZXJlLiBJbiAyRC8zRCBtb2RlXG4gKiB0aGlzIGlzIGEgbm8tb3AuXG4gKlxuICogYGNhbGxTdXBlcmAgcnVucyBkZWNrLmdsJ3Mgb3JpZ2luYWwgYF91cGRhdGVCaW5PcHRpb25zYCB3aGlsZSB0aGUgdmlld3BvcnQgaXNcbiAqIHRlbXBvcmFyaWx5IHN3YXBwZWQuIFRoZSBzd2FwIGlzIHN5bmNocm9ub3VzIGFuZCByZXN0b3JlZCBpbiBgZmluYWxseWAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBydW5CaW5PcHRpb25zV2l0aE1lcmNhdG9yVmlld3BvcnQobGF5ZXI6IGFueSwgY2FsbFN1cGVyOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gIGNvbnN0IHZpZXdwb3J0ID0gbGF5ZXIuY29udGV4dD8udmlld3BvcnQ7XG4gIGNvbnN0IGlzR2xvYmUgPSBCb29sZWFuKHZpZXdwb3J0Py5yZXNvbHV0aW9uKTtcbiAgaWYgKCFpc0dsb2JlKSB7XG4gICAgY2FsbFN1cGVyKCk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgbWVyY2F0b3JWaWV3cG9ydCA9IG5ldyBXZWJNZXJjYXRvclZpZXdwb3J0KHtcbiAgICB3aWR0aDogdmlld3BvcnQud2lkdGgsXG4gICAgaGVpZ2h0OiB2aWV3cG9ydC5oZWlnaHQsXG4gICAgbG9uZ2l0dWRlOiB2aWV3cG9ydC5sb25naXR1ZGUsXG4gICAgbGF0aXR1ZGU6IHZpZXdwb3J0LmxhdGl0dWRlLFxuICAgIHpvb206IHZpZXdwb3J0Lnpvb21cbiAgfSk7XG5cbiAgY29uc3Qgb3JpZ2luYWxWaWV3cG9ydCA9IGxheWVyLmNvbnRleHQudmlld3BvcnQ7XG4gIGxheWVyLmNvbnRleHQudmlld3BvcnQgPSBtZXJjYXRvclZpZXdwb3J0O1xuICB0cnkge1xuICAgIGNhbGxTdXBlcigpO1xuICB9IGZpbmFsbHkge1xuICAgIGxheWVyLmNvbnRleHQudmlld3BvcnQgPSBvcmlnaW5hbFZpZXdwb3J0O1xuICB9XG59XG5cbi8qKlxuICogV3JhcHMgYSBkZWNrLmdsIGFnZ3JlZ2F0aW9uIGNlbGwgbGF5ZXIgY2xhc3MgKEdyaWRDZWxsTGF5ZXIgLyBIZXhhZ29uQ2VsbExheWVyKVxuICogd2l0aCBhIHN1YmNsYXNzIHRoYXQgaW5qZWN0cyB0aGUgZ2xvYmUgc3VyZmFjZSByZW1hcCBpbnRvIGl0cyB2ZXJ0ZXggc2hhZGVyLlxuICpcbiAqIFdlIGNyZWF0ZSB0aGUgc3ViY2xhc3MgZHluYW1pY2FsbHkgZnJvbSB3aGF0ZXZlciBkZWZhdWx0IGNsYXNzIGRlY2suZ2wgcHJvdmlkZXNcbiAqIHRvIGBnZXRTdWJMYXllckNsYXNzYCBzbyB3ZSBkb24ndCBoYXZlIHRvIGltcG9ydCB0aGUgKG5vbi1wdWJsaWMpIGNlbGwgbGF5ZXJcbiAqIGNsYXNzZXMgZGlyZWN0bHkuIFJlc3VsdHMgYXJlIGNhY2hlZCBwZXIgYmFzZSBjbGFzcyBzbyBkZWNrLmdsIHNlZXMgYSBzdGFibGVcbiAqIGxheWVyIGNsYXNzIGFjcm9zcyByZW5kZXJzIChsYXllcnMgYXJlIHJlY3JlYXRlZCBldmVyeSBmcmFtZSkgYW5kIHNoYWRlclxuICogY29tcGlsYXRpb24gLyBzdWJsYXllciBkaWZmaW5nIHN0YXlzIHN0YWJsZS5cbiAqL1xuY29uc3QgZ2xvYmVDZWxsQ2xhc3NDYWNoZSA9IG5ldyBXZWFrTWFwPG9iamVjdCwgb2JqZWN0PigpO1xuXG50eXBlIExheWVyQ29uc3RydWN0b3IgPSB7bmV3ICguLi5hcmdzOiBhbnlbXSk6IGFueTsgbGF5ZXJOYW1lPzogc3RyaW5nfTtcblxuZXhwb3J0IGZ1bmN0aW9uIG1ha2VHbG9iZUNlbGxMYXllckNsYXNzPFQgZXh0ZW5kcyBMYXllckNvbnN0cnVjdG9yPihcbiAgQmFzZUNlbGxMYXllcjogVCxcbiAgdHlwZTogc3RyaW5nXG4pOiBUIHtcbiAgY29uc3QgY2FjaGVkID0gZ2xvYmVDZWxsQ2xhc3NDYWNoZS5nZXQoQmFzZUNlbGxMYXllcik7XG4gIGlmIChjYWNoZWQpIHtcbiAgICByZXR1cm4gY2FjaGVkIGFzIFQ7XG4gIH1cblxuICBjbGFzcyBHbG9iZUNlbGxMYXllciBleHRlbmRzIChCYXNlQ2VsbExheWVyIGFzIHtuZXcgKC4uLmFyZ3M6IGFueVtdKTogYW55fSkge1xuICAgIGdldFNoYWRlcnMoKSB7XG4gICAgICBjb25zdCBzaGFkZXJzID0gc3VwZXIuZ2V0U2hhZGVycygpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc2hhZGVycyxcbiAgICAgICAgdnM6IGFkZEdsb2JlQ2VsbFByb2plY3Rpb24oc2hhZGVycy52cywgdHlwZSksXG4gICAgICAgIG1vZHVsZXM6IFsuLi4oc2hhZGVycy5tb2R1bGVzIHx8IFtdKSwgZ2xvYmVDZWxsVW5pZm9ybXNdXG4gICAgICB9O1xuICAgIH1cblxuICAgIGRyYXcob3B0czogYW55KSB7XG4gICAgICBjb25zdCBnbG9iZU1vZGUgPSAodGhpcy5jb250ZXh0LnZpZXdwb3J0IGFzIGFueSkucmVzb2x1dGlvbiA/IDEuMCA6IDAuMDtcbiAgICAgIC8vIEdyaWRDZWxsTGF5ZXIgLyBIZXhhZ29uQ2VsbExheWVyIHJlbmRlciB0aHJvdWdoIGEgc2luZ2xlIGZpbGxNb2RlbCBhbmQgc2V0XG4gICAgICAvLyB0aGVpciBvd24gbW9kdWxlIHByb3BzIGluIGRyYXcoKTsgc2V0IG91cnMgZmlyc3Qgc28gaXQgbWVyZ2VzIChzZXRQcm9wcyBpc1xuICAgICAgLy8gcGVyLW1vZHVsZSkuIGRlY2suZ2wgOSBoYXMgbm8gTW9kZWwuc2V0VW5pZm9ybXMg4oCUIHVuaWZvcm1zIGdvIHRocm91Z2hcbiAgICAgIC8vIHNoYWRlcklucHV0cyBVQk8gbW9kdWxlcy5cbiAgICAgIGNvbnN0IG1vZGVsID0gKHRoaXMuc3RhdGUgYXMgYW55KS5maWxsTW9kZWw7XG4gICAgICBpZiAobW9kZWw/LnNoYWRlcklucHV0cykge1xuICAgICAgICBtb2RlbC5zaGFkZXJJbnB1dHMuc2V0UHJvcHMoe2dsb2JlQ2VsbDoge2dsb2JlTW9kZX19KTtcbiAgICAgIH1cbiAgICAgIHN1cGVyLmRyYXcob3B0cyk7XG4gICAgfVxuICB9XG4gIChHbG9iZUNlbGxMYXllciBhcyB1bmtub3duIGFzIHtsYXllck5hbWU6IHN0cmluZ30pLmxheWVyTmFtZSA9IGBHbG9iZSR7dHlwZX1DZWxsTGF5ZXJgO1xuICBnbG9iZUNlbGxDbGFzc0NhY2hlLnNldChCYXNlQ2VsbExheWVyLCBHbG9iZUNlbGxMYXllcik7XG4gIHJldHVybiBHbG9iZUNlbGxMYXllciBhcyB1bmtub3duIGFzIFQ7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBOztBQUVBLFNBQVFBLG1CQUFtQixRQUFPLGVBQWU7O0FBRWpEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFNQyxpQkFBaUIsR0FBRztFQUN4QkMsSUFBSSxFQUFFLFdBQVc7RUFDakJDLEVBQUUsdUZBR0g7RUFDQ0MsWUFBWSxFQUFFO0lBQ1pDLFNBQVMsRUFBRTtFQUNiO0FBQ0YsQ0FBVTtBQUVWLElBQU1DLGVBQWUsR0FBRywyd0JBcUJ2Qjs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTyxTQUFTQyxzQkFBc0JBLENBQUNKLEVBQVUsRUFBRUssSUFBWSxFQUFVO0VBQ3ZFLElBQU1DLElBQUksTUFBQUMsTUFBQSxDQUFNSixlQUFlLHdCQUFxQjtFQUNwRCxJQUFNSyxRQUFRLEdBQUdSLEVBQUUsQ0FBQ1MsUUFBUSxDQUFD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
|
|
@@ -9,7 +9,7 @@ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length)
|
|
|
9
9
|
|
|
10
10
|
// @ts-ignore GL resolution depends on moduleResolution setting
|
|
11
11
|
import { GL } from '@luma.gl/constants';
|
|
12
|
-
import isEqual from '
|
|
12
|
+
import isEqual from 'es-toolkit/compat/isEqual';
|
|
13
13
|
import { FILTER_MODE, ADDRESS_MODE, TEXTURE_FORMAT } from '@kepler.gl/constants';
|
|
14
14
|
|
|
15
15
|
/**
|
|
@@ -264,4 +264,4 @@ function loadTexture(gl, device, imageData) {
|
|
|
264
264
|
return null;
|
|
265
265
|
}
|
|
266
266
|
}
|
|
267
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJHTCIsImlzRXF1YWwiLCJGSUxURVJfTU9ERSIsIkFERFJFU1NfTU9ERSIsIlRFWFRVUkVfRk9STUFUIiwiREVGQVVMVF9TQU1QTEVSX1BBUkFNRVRFUlMiLCJtaW5GaWx0ZXIiLCJORUFSRVNUIiwibWFnRmlsdGVyIiwiYWRkcmVzc01vZGVVIiwiQ0xBTVBfVE9fRURHRSIsImFkZHJlc3NNb2RlViIsImxvYWRJbWFnZUl0ZW0iLCJnbCIsImRldmljZSIsImltYWdlSXRlbSIsInJlc3VsdCIsIkFycmF5IiwiaXNBcnJheSIsImRpcnR5UmVzdWx0IiwibWFwIiwieCIsImxvYWRUZXh0dXJlIiwiX2l0ZXJhdG9yIiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJfc3RlcCIsInMiLCJuIiwiZG9uZSIsInRleHR1cmUiLCJ2YWx1ZSIsInB1c2giLCJlcnIiLCJlIiwiZiIsImxlbmd0aCIsImxvYWRJbWFnZXMiLCJfcmVmIiwiaW1hZ2VzIiwiaW1hZ2VzRGF0YSIsIm9sZEltYWdlc0RhdGEiLCJpbWFnZXNEaXJ0eSIsImhhc1BlbmRpbmdVcGxvYWRzIiwia2V5IiwiY2hhbmdlZEtleXMiLCJfaSIsIl9jaGFuZ2VkS2V5cyIsImltYWdlRGF0YSIsImxvYWRlZEl0ZW0iLCJtYXBTYW1wbGVyUGFyYW1ldGVycyIsIm9sZFBhcmFtcyIsIl9vYmplY3RTcHJlYWQiLCJtYWdGaWx0ZXJNYXAiLCJfZGVmaW5lUHJvcGVydHkiLCJMSU5FQVIiLCJtaW5GaWx0ZXJNYXAiLCJORUFSRVNUX01JUE1BUF9ORUFSRVNUIiwibWlwbWFwRmlsdGVyIiwiTkVBUkVTVF9NSVBNQVBfTElORUFSIiwiTElORUFSX01JUE1BUF9ORUFSRVNUIiwiTElORUFSX01JUE1BUF9MSU5FQVIiLCJ3cmFwTWFwIiwiUkVQRUFUIiwiTUlSUk9SRURfUkVQRUFUIiwiTUlSUk9SX1JFUEVBVCIsIlRFWFRVUkVfTUlOX0ZJTFRFUiIsInVuZGVmaW5lZCIsIm1hcHBlZCIsIlRFWFRVUkVfTUFHX0ZJTFRFUiIsIlRFWFRVUkVfV1JBUF9TIiwiVEVYVFVSRV9XUkFQX1QiLCJtYXBUZXh0dXJlRm9ybWF0IiwiZ2xGb3JtYXQiLCJfZ2xUeXBlIiwiUjhVSSIsIlI4X1VJTlQiLCJSMTZVSSIsIlIxNl9VSU5UIiwiUjMyVUkiLCJSMzJfVUlOVCIsIlI4SSIsIlI4X1NJTlQiLCJSMTZJIiwiUjE2X1NJTlQiLCJSMzJJIiwiUjMyX1NJTlQiLCJSMzJGIiwiUjMyX0ZMT0FUIiwiUkdCQSIsIlJHQkE4X1VOT1JNIiwiUkdCIiwiZXhwYW5kUkdCdG9SR0JBIiwiZGF0YSIsIndpZHRoIiwiaGVpZ2h0IiwicGl4ZWxDb3VudCIsInJnYmEiLCJVaW50OEFycmF5IiwiaSIsIl9yYXN0ZXJUZXh0dXJlRGF0YSRpZCIsIl9yYXN0ZXJUZXh0dXJlRGF0YSRpZDIiLCJfZ2wkbHVtYSIsInJhc3RlclRleHR1cmVEYXRhIiwiaGFuZGxlIiwiaWQiLCJzdGFydHNXaXRoIiwiY2FsbCIsInJhd0RhdGEiLCJsdW1hRGV2aWNlIiwibHVtYSIsIl9fbHVtYV9kZXZpY2UiLCJjcmVhdGVUZXh0dXJlIiwiY29uc29sZSIsIndhcm4iLCJfcmF3RGF0YSRkYXRhIiwiX3Jhd0RhdGEkZGF0YTIiLCJzYW1wbGVyUGFyYW1zIiwicGFyYW1ldGVycyIsInRleHR1cmVGb3JtYXQiLCJmb3JtYXQiLCJ0eXBlIiwidGV4dHVyZVByb3BzIiwic2FtcGxlciIsIm1pcG1hcHMiLCJIVE1MSW1hZ2VFbGVtZW50IiwiSFRNTENhbnZhc0VsZW1lbnQiLCJJbWFnZUJpdG1hcCIsIkltYWdlRGF0YSIsIkFycmF5QnVmZmVyIiwiaXNWaWV3IiwiVWludDhDbGFtcGVkQXJyYXkiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcmFzdGVyL2ltYWdlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG4vLyBAdHMtaWdub3JlIEdMIHJlc29sdXRpb24gZGVwZW5kcyBvbiBtb2R1bGVSZXNvbHV0aW9uIHNldHRpbmdcbmltcG9ydCB7R0x9IGZyb20gJ0BsdW1hLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQgaXNFcXVhbCBmcm9tICdsb2Rhc2gvaXNFcXVhbCc7XG5cbmltcG9ydCB7RklMVEVSX01PREUsIEFERFJFU1NfTU9ERSwgVEVYVFVSRV9GT1JNQVR9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcbmltcG9ydCB0eXBlIHtUZXh0dXJlfSBmcm9tICdAbHVtYS5nbC9jb3JlJztcbmltcG9ydCB0eXBlIHtJbWFnZUlucHV0LCBJbWFnZVN0YXRlfSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiBMZWdhY3kgdGV4dHVyZSBjcmVhdGlvbiBkZXNjcmlwdG9yIHVzZWQgYnkgcmFzdGVyIHNoYWRlciBtb2R1bGVzLlxuICogQ29udGFpbnMgQ1BVLXNpZGUgZGF0YSArIG9sZCBHTC1lbnVtLWJhc2VkIHBhcmFtZXRlcnMgdGhhdCBnZXRcbiAqIHRyYW5zbGF0ZWQgdG8gbHVtYS5nbCA5J3MgZGV2aWNlLmNyZWF0ZVRleHR1cmUoKSBwcm9wcy5cbiAqL1xudHlwZSBUZXh0dXJlRGF0YVNvdXJjZSA9XG4gIHwgSFRNTEltYWdlRWxlbWVudFxuICB8IEhUTUxDYW52YXNFbGVtZW50XG4gIHwgSW1hZ2VCaXRtYXBcbiAgfCBJbWFnZURhdGFcbiAgfCBBcnJheUJ1ZmZlclZpZXc7XG5cbnR5cGUgUmFzdGVyVGV4dHVyZURhdGEgPSB7XG4gIGhhbmRsZT86IHVua25vd247XG4gIGlkPzogc3RyaW5nO1xuICBkZXZpY2U/OiB1bmtub3duO1xuICB3aWR0aD86IG51bWJlcjtcbiAgaGVpZ2h0PzogbnVtYmVyO1xuICBmb3JtYXQ/OiBudW1iZXI7XG4gIHR5cGU/OiBudW1iZXI7XG4gIHBhcmFtZXRlcnM/OiBSZWNvcmQ8bnVtYmVyLCBudW1iZXI+O1xuICBtaXBtYXBzPzogYm9vbGVhbjtcbiAgZGF0YT86IFRleHR1cmVEYXRhU291cmNlICYge3dpZHRoPzogbnVtYmVyOyBoZWlnaHQ/OiBudW1iZXJ9O1xufTtcblxuLyoqXG4gKiBUZXh0dXJlIHNhbXBsZXIgcGFyYW1ldGVycyBmb3IgbHVtYS5nbCA5IHRleHR1cmVzXG4gKi9cbmNvbnN0IERFRkFVTFRfU0FNUExFUl9QQVJBTUVURVJTID0ge1xuICBtaW5GaWx0ZXI6IEZJTFRFUl9NT0RFLk5FQVJFU1QsXG4gIG1hZ0ZpbHRlcjogRklMVEVSX01PREUuTkVBUkVTVCxcbiAgYWRkcmVzc01vZGVVOiBBRERSRVNTX01PREUuQ0xBTVBfVE9fRURHRSxcbiAgYWRkcmVzc01vZGVWOiBBRERSRVNTX01PREUuQ0xBTVBfVE9fRURHRVxufTtcblxuLyoqIGx1bWEuZ2wgZGV2aWNlIGludGVyZmFjZSBmb3IgdGV4dHVyZSBjcmVhdGlvbiAqL1xuaW50ZXJmYWNlIEx1bWFEZXZpY2Uge1xuICBjcmVhdGVUZXh0dXJlKHByb3BzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik6IFRleHR1cmU7XG4gIGdsPzogV2ViR0wyUmVuZGVyaW5nQ29udGV4dDtcbn1cblxudHlwZSBMb2FkSW1hZ2VzT3B0aW9ucyA9IHtcbiAgZ2w6IFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ7XG4gIGRldmljZT86IEx1bWFEZXZpY2U7XG4gIGltYWdlczogSW1hZ2VTdGF0ZTtcbiAgaW1hZ2VzRGF0YTogSW1hZ2VJbnB1dDtcbiAgb2xkSW1hZ2VzRGF0YTogSW1hZ2VJbnB1dDtcbn07XG5cbi8qKlxuICogTG9hZCBpbWFnZSBpdGVtcyB0byB3ZWJnbCBjb250ZXh0XG4gKi9cbmZ1bmN0aW9uIGxvYWRJbWFnZUl0ZW0oXG4gIGdsOiBXZWJHTDJSZW5kZXJpbmdDb250ZXh0LFxuICBkZXZpY2U6IEx1bWFEZXZpY2UgfCB1bmRlZmluZWQsXG4gIGltYWdlSXRlbTogUmFzdGVyVGV4dHVyZURhdGEgfCBUZXh0dXJlIHwgKFJhc3RlclRleHR1cmVEYXRhIHwgVGV4dHVyZSlbXVxuKTogbnVsbCB8IFRleHR1cmUgfCBUZXh0dXJlW10ge1xuICBsZXQgcmVzdWx0OiBudWxsIHwgVGV4dHVyZSB8IFRleHR1cmVbXTtcbiAgaWYgKEFycmF5LmlzQXJyYXkoaW1hZ2VJdGVtKSkge1xuICAgIGNvbnN0IGRpcnR5UmVzdWx0ID0gaW1hZ2VJdGVtLm1hcCh4ID0+IGxvYWRUZXh0dXJlKGdsLCBkZXZpY2UsIHgpKTtcbiAgICByZXN1bHQgPSBbXTtcbiAgICBmb3IgKGNvbnN0IHRleHR1cmUgb2YgZGlydHlSZXN1bHQpIHtcbiAgICAgIGlmICh0ZXh0dXJlKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKHRleHR1cmUpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoIXJlc3VsdC5sZW5ndGgpIHtcbiAgICAgIHJlc3VsdCA9IG51bGw7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHJlc3VsdCA9IGxvYWRUZXh0dXJlKGdsLCBkZXZpY2UsIGltYWdlSXRlbSk7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuLyoqXG4gKiBMb2FkIGltYWdlIGl0ZW1zIHRvIHdlYmdsIGNvbnRleHRcbiAqL1xudHlwZSBMb2FkSW1hZ2VzUmVzdWx0ID0ge1xuICAvKiogVXBkYXRlZCBpbWFnZXMgc3RhdGUsIG9yIG51bGwgaWYgbm90aGluZyBjaGFuZ2VkICovXG4gIGltYWdlczogSW1hZ2VTdGF0ZSB8IG51bGw7XG4gIC8qKiBUcnVlIHdoZW4gYXQgbGVhc3Qgb25lIHRleHR1cmUgdXBsb2FkIGZhaWxlZCBhbmQgc2hvdWxkIGJlIHJldHJpZWQgKi9cbiAgaGFzUGVuZGluZ1VwbG9hZHM6IGJvb2xlYW47XG59O1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgY29tcGxleGl0eVxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRJbWFnZXMoe1xuICBnbCxcbiAgZGV2aWNlLFxuICBpbWFnZXMsXG4gIGltYWdlc0RhdGEsXG4gIG9sZEltYWdlc0RhdGFcbn06IExvYWRJbWFnZXNPcHRpb25zKTogTG9hZEltYWdlc1Jlc3VsdCB7XG4gIGxldCBpbWFnZXNEaXJ0eSA9IGZhbHNlO1xuICBsZXQgaGFzUGVuZGluZ1VwbG9hZHMgPSBmYWxzZTtcblxuICBpZiAob2xkSW1hZ2VzRGF0YSkge1xuICAgIGZvciAoY29uc3Qga2V5IGluIG9sZEltYWdlc0RhdGEpIHtcbiAgICAgIGlmIChpbWFnZXNEYXRhICYmICEoa2V5IGluIGltYWdlc0RhdGEpICYmIGtleSBpbiBpbWFnZXMpIHtcbiAgICAgICAgZGVsZXRlIGltYWdlc1trZXldO1xuICAgICAgICBpbWFnZXNEaXJ0eSA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29uc3QgY2hhbmdlZEtleXM6IHN0cmluZ1tdID0gW107XG4gIGZvciAoY29uc3Qga2V5IGluIGltYWdlc0RhdGEpIHtcbiAgICBpZiAoIW9sZEltYWdlc0RhdGEgfHwgKG9sZEltYWdlc0RhdGEgJiYgIShrZXkgaW4gb2xkSW1hZ2VzRGF0YSkpKSB7XG4gICAgICBjaGFuZ2VkS2V5cy5wdXNoKGtleSk7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBpZiAoIWlzRXF1YWwoaW1hZ2VzRGF0YVtrZXldLCBvbGRJbWFnZXNEYXRhW2tleV0pKSB7XG4gICAgICBjaGFuZ2VkS2V5cy5wdXNoKGtleSk7XG4gICAgfVxuICB9XG5cbiAgZm9yIChjb25zdCBrZXkgb2YgY2hhbmdlZEtleXMpIHtcbiAgICBjb25zdCBpbWFnZURhdGEgPSBpbWFnZXNEYXRhW2tleV07XG4gICAgaWYgKCFpbWFnZURhdGEpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGNvbnN0IGxvYWRlZEl0ZW0gPSBsb2FkSW1hZ2VJdGVtKGdsLCBkZXZpY2UsIGltYWdlRGF0YSk7XG4gICAgaWYgKGxvYWRlZEl0ZW0pIHtcbiAgICAgIGltYWdlc1trZXldID0gbG9hZGVkSXRlbTtcbiAgICAgIC8vIE9ubHkgbWFyayBkaXJ0eSB3aGVuIHRoZSB0ZXh0dXJlIHdhcyBhY3R1YWxseSB1cGxvYWRlZC5cbiAgICAgIGltYWdlc0RpcnR5ID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVXBsb2FkIGZhaWxlZCAoZGV2aWNlIG5vdCByZWFkeSBvciBjcmVhdGVUZXh0dXJlIHRocmV3KS4gU2lnbmFsIHRoYXRcbiAgICAgIC8vIHRoZSBjYWxsZXIgc2hvdWxkIHJldHJ5IG5leHQgZnJhbWUg4oCUIGRvIE5PVCBzZXQgaW1hZ2VzRGlydHkgc28gd2VcbiAgICAgIC8vIGRvbid0IHByb3BhZ2F0ZSBhbiBpbWFnZXMgb2JqZWN0IHdpdGggYSBtaXNzaW5nIGtleSB0aGF0IGNhdXNlc1xuICAgICAgLy8gZHJhdygpIHRvIGJhaWwgcGVybWFuZW50bHkuXG4gICAgICBoYXNQZW5kaW5nVXBsb2FkcyA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtpbWFnZXM6IGltYWdlc0RpcnR5ID8gaW1hZ2VzIDogbnVsbCwgaGFzUGVuZGluZ1VwbG9hZHN9O1xufVxuXG4vKipcbiAqIE1hcCBvbGQgR0wgdGV4dHVyZSBwYXJhbWV0ZXIgY29uc3RhbnRzIHRvIGx1bWEuZ2wgOSBzYW1wbGVyIHBhcmFtZXRlcnNcbiAqL1xuZnVuY3Rpb24gbWFwU2FtcGxlclBhcmFtZXRlcnMob2xkUGFyYW1zOiBSZWNvcmQ8bnVtYmVyLCBudW1iZXI+KTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB7XG4gIGNvbnN0IHJlc3VsdDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHsuLi5ERUZBVUxUX1NBTVBMRVJfUEFSQU1FVEVSU307XG5cbiAgY29uc3QgbWFnRmlsdGVyTWFwID0ge1xuICAgIFtHTC5ORUFSRVNUXTogRklMVEVSX01PREUuTkVBUkVTVCxcbiAgICBbR0wuTElORUFSXTogRklMVEVSX01PREUuTElORUFSXG4gIH07XG5cbiAgY29uc3QgbWluRmlsdGVyTWFwOiBSZWNvcmQ8bnVtYmVyLCB7bWluRmlsdGVyOiBzdHJpbmc7IG1pcG1hcEZpbHRlcj86IHN0cmluZ30+ID0ge1xuICAgIFtHTC5ORUFSRVNUXToge21pbkZpbHRlcjogRklMVEVSX01PREUuTkVBUkVTVH0sXG4gICAgW0dMLkxJTkVBUl06IHttaW5GaWx0ZXI6IEZJTFRFUl9NT0RFLkxJTkVBUn0sXG4gICAgW0dMLk5FQVJFU1RfTUlQTUFQX05FQVJFU1RdOiB7XG4gICAgICBtaW5GaWx0ZXI6IEZJTFRFUl9NT0RFLk5FQVJFU1QsXG4gICAgICBtaXBtYXBGaWx0ZXI6IEZJTFRFUl9NT0RFLk5FQVJFU1RcbiAgICB9LFxuICAgIFtHTC5ORUFSRVNUX01JUE1BUF9MSU5FQVJdOiB7bWluRmlsdGVyOiBGSUxURVJfTU9ERS5ORUFSRVNULCBtaXBtYXBGaWx0ZXI6IEZJTFRFUl9NT0RFLkxJTkVBUn0sXG4gICAgW0dMLkxJTkVBUl9NSVBNQVBfTkVBUkVTVF06IHttaW5GaWx0ZXI6IEZJTFRFUl9NT0RFLkxJTkVBUiwgbWlwbWFwRmlsdGVyOiBGSUxURVJfTU9ERS5ORUFSRVNUfSxcbiAgICBbR0wuTElORUFSX01JUE1BUF9MSU5FQVJdOiB7bWluRmlsdGVyOiBGSUxURVJfTU9ERS5MSU5FQVIsIG1pcG1hcEZpbHRlcjogRklMVEVSX01PREUuTElORUFSfVxuICB9O1xuXG4gIGNvbnN0IHdyYXBNYXAgPSB7XG4gICAgW0dMLkNMQU1QX1RPX0VER0VdOiBBRERSRVNTX01PREUuQ0xBTVBfVE9fRURHRSxcbiAgICBbR0wuUkVQRUFUXTogQUREUkVTU19NT0RFLlJFUEVBVCxcbiAgICBbR0wuTUlSUk9SRURfUkVQRUFUXTogQUREUkVTU19NT0RFLk1JUlJPUl9SRVBFQVRcbiAgfTtcblxuICBpZiAob2xkUGFyYW1zKSB7XG4gICAgaWYgKG9sZFBhcmFtc1tHTC5URVhUVVJFX01JTl9GSUxURVJdICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnN0IG1hcHBlZCA9IG1pbkZpbHRlck1hcFtvbGRQYXJhbXNbR0wuVEVYVFVSRV9NSU5fRklMVEVSXV07XG4gICAgICBpZiAobWFwcGVkKSB7XG4gICAgICAgIHJlc3VsdC5taW5GaWx0ZXIgPSBtYXBwZWQubWluRmlsdGVyO1xuICAgICAgICBpZiAobWFwcGVkLm1pcG1hcEZpbHRlcikge1xuICAgICAgICAgIHJlc3VsdC5taXBtYXBGaWx0ZXIgPSBtYXBwZWQubWlwbWFwRmlsdGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChvbGRQYXJhbXNbR0wuVEVYVFVSRV9NQUdfRklMVEVSXSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXN1bHQubWFnRmlsdGVyID0gbWFnRmlsdGVyTWFwW29sZFBhcmFtc1tHTC5URVhUVVJFX01BR19GSUxURVJdXSB8fCBGSUxURVJfTU9ERS5ORUFSRVNUO1xuICAgIH1cbiAgICBpZiAob2xkUGFyYW1zW0dMLlRFWFRVUkVfV1JBUF9TXSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXN1bHQuYWRkcmVzc01vZGVVID0gd3JhcE1hcFtvbGRQYXJhbXNbR0wuVEVYVFVSRV9XUkFQX1NdXSB8fCBBRERSRVNTX01PREUuQ0xBTVBfVE9fRURHRTtcbiAgICB9XG4gICAgaWYgKG9sZFBhcmFtc1tHTC5URVhUVVJFX1dSQVBfVF0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmVzdWx0LmFkZHJlc3NNb2RlViA9IHdyYXBNYXBbb2xkUGFyYW1zW0dMLlRFWFRVUkVfV1JBUF9UXV0gfHwgQUREUkVTU19NT0RFLkNMQU1QX1RPX0VER0U7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuLyoqXG4gKiBNYXAgb2xkIEdMIGZvcm1hdC90eXBlIHRvIGx1bWEuZ2wgOSB0ZXh0dXJlIGZvcm1hdCBzdHJpbmdcbiAqL1xuZnVuY3Rpb24gbWFwVGV4dHVyZUZvcm1hdChnbEZvcm1hdDogbnVtYmVyLCBfZ2xUeXBlPzogbnVtYmVyKTogc3RyaW5nIHtcbiAgc3dpdGNoIChnbEZvcm1hdCkge1xuICAgIGNhc2UgR0wuUjhVSTpcbiAgICAgIHJldHVybiBURVhUVVJFX0ZPUk1BVC5SOF9VSU5UO1xuICAgIGNhc2UgR0wuUjE2VUk6XG4gICAgICByZXR1cm4gVEVYVFVSRV9GT1JNQVQuUjE2X1VJTlQ7XG4gICAgY2FzZSBHTC5SMzJVSTpcbiAgICAgIHJldHVybiBURVhUVVJFX0ZPUk1BVC5SMzJfVUlOVDtcbiAgICBjYXNlIEdMLlI4STpcbiAgICAgIHJldHVybiBURVhUVVJFX0ZPUk1BVC5SOF9TSU5UO1xuICAgIGNhc2UgR0wuUjE2STpcbiAgICAgIHJldHVybiBURVhUVVJFX0ZPUk1BVC5SMTZfU0lOVDtcbiAgICBjYXNlIEdMLlIzMkk6XG4gICAgICByZXR1cm4gVEVYVFVSRV9GT1JNQVQuUjMyX1NJTlQ7XG4gICAgY2FzZSBHTC5SMzJGOlxuICAgICAgcmV0dXJuIFRFWFRVUkVfRk9STUFULlIzMl9GTE9BVDtcbiAgICBjYXNlIEdMLlJHQkE6XG4gICAgICByZXR1cm4gVEVYVFVSRV9GT1JNQVQuUkdCQThfVU5PUk07XG4gICAgY2FzZSBHTC5SR0I6XG4gICAgICByZXR1cm4gVEVYVFVSRV9GT1JNQVQuUkdCQThfVU5PUk07XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBURVhUVVJFX0ZPUk1BVC5SR0JBOF9VTk9STTtcbiAgfVxufVxuXG4vKipcbiAqIEV4cGFuZCAzLWJ5dGUtcGVyLXBpeGVsIFJHQiBkYXRhIHRvIDQtYnl0ZS1wZXItcGl4ZWwgUkdCQS5cbiAqIE5lZWRlZCBiZWNhdXNlIFdlYkdQVS9sdW1hLmdsIDkgaGFzIG5vIDMtY2hhbm5lbCB0ZXh0dXJlIGZvcm1hdC5cbiAqL1xuZnVuY3Rpb24gZXhwYW5kUkdCdG9SR0JBKFxuICBkYXRhOiBVaW50OEFycmF5IHwgVWludDhDbGFtcGVkQXJyYXksXG4gIHdpZHRoOiBudW1iZXIsXG4gIGhlaWdodDogbnVtYmVyXG4pOiBVaW50OEFycmF5IHtcbiAgY29uc3QgcGl4ZWxDb3VudCA9IHdpZHRoICogaGVpZ2h0O1xuICBjb25zdCByZ2JhID0gbmV3IFVpbnQ4QXJyYXkocGl4ZWxDb3VudCAqIDQpO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHBpeGVsQ291bnQ7IGkrKykge1xuICAgIHJnYmFbaSAqIDRdID0gZGF0YVtpICogM107XG4gICAgcmdiYVtpICogNCArIDFdID0gZGF0YVtpICogMyArIDFdO1xuICAgIHJnYmFbaSAqIDQgKyAyXSA9IGRhdGFbaSAqIDMgKyAyXTtcbiAgICByZ2JhW2kgKiA0ICsgM10gPSAyNTU7XG4gIH1cbiAgcmV0dXJuIHJnYmE7XG59XG5cbi8qKlxuICogQ3JlYXRlIHRleHR1cmUgb2JqZWN0IGZyb20gaW1hZ2UgZGF0YSB1c2luZyBsdW1hLmdsIDkgZGV2aWNlIEFQSS5cbiAqIFJldHVybnMgYSBwcm9wZXIgbHVtYS5nbCBUZXh0dXJlIG9iamVjdCB0aGF0IHdvcmtzIHdpdGggdGhlIGJpbmRpbmcgc3lzdGVtLlxuICovXG5mdW5jdGlvbiBsb2FkVGV4dHVyZShcbiAgZ2w6IFdlYkdMMlJlbmRlcmluZ0NvbnRleHQsXG4gIGRldmljZTogTHVtYURldmljZSB8IHVuZGVmaW5lZCxcbiAgaW1hZ2VEYXRhOiBUZXh0dXJlIHwgUmFzdGVyVGV4dHVyZURhdGFcbik6IFRleHR1cmUgfCBudWxsIHtcbiAgaWYgKCFpbWFnZURhdGEpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8vIElmIGFscmVhZHkgYSBsdW1hLmdsIFRleHR1cmUgaW5zdGFuY2UsIHJldHVybiBhcy1pc1xuICBjb25zdCByYXN0ZXJUZXh0dXJlRGF0YSA9IGltYWdlRGF0YSBhcyBSYXN0ZXJUZXh0dXJlRGF0YTtcbiAgaWYgKFxuICAgIHJhc3RlclRleHR1cmVEYXRhLmhhbmRsZSB8fFxuICAgIHJhc3RlclRleHR1cmVEYXRhLmlkPy5zdGFydHNXaXRoPy4oJ2x1bWEnKSB8fFxuICAgIHJhc3RlclRleHR1cmVEYXRhLmRldmljZVxuICApIHtcbiAgICByZXR1cm4gaW1hZ2VEYXRhIGFzIFRleHR1cmU7XG4gIH1cblxuICBjb25zdCByYXdEYXRhID0gaW1hZ2VEYXRhIGFzIFJhc3RlclRleHR1cmVEYXRhO1xuXG4gIC8vIEB0cy1leHBlY3QtZXJyb3IgbHVtYSBpbnRlcm5hbCBwcm9wZXJ0aWVzIG5vdCBpbiBXZWJHTDJSZW5kZXJpbmdDb250ZXh0IHR5cGVcbiAgY29uc3QgbHVtYURldmljZSA9IGRldmljZSB8fCBnbC5sdW1hPy5kZXZpY2UgfHwgZ2wuX19sdW1hX2RldmljZTtcblxuICBpZiAoIWx1bWFEZXZpY2U/LmNyZWF0ZVRleHR1cmUpIHtcbiAgICBjb25zb2xlLndhcm4oJ1Jhc3RlckxheWVyOiBObyBsdW1hLmdsIGRldmljZSBhdmFpbGFibGUgZm9yIHRleHR1cmUgY3JlYXRpb24nKTtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHRyeSB7XG4gICAgY29uc3Qgc2FtcGxlclBhcmFtcyA9IG1hcFNhbXBsZXJQYXJhbWV0ZXJzKHJhd0RhdGEucGFyYW1ldGVycyB8fCB7fSk7XG4gICAgY29uc3QgdGV4dHVyZUZvcm1hdCA9IHJhd0RhdGEuZm9ybWF0XG4gICAgICA/IG1hcFRleHR1cmVGb3JtYXQocmF3RGF0YS5mb3JtYXQsIHJhd0RhdGEudHlwZSlcbiAgICAgIDogVEVYVFVSRV9GT1JNQVQuUkdCQThfVU5PUk07XG5cbiAgICBjb25zdCB3aWR0aCA9IHJhd0RhdGEud2lkdGggfHwgcmF3RGF0YS5kYXRhPy53aWR0aCB8fCAxO1xuICAgIGNvbnN0IGhlaWdodCA9IHJhd0RhdGEuaGVpZ2h0IHx8IHJhd0RhdGEuZGF0YT8uaGVpZ2h0IHx8IDE7XG5cbiAgICBjb25zdCB0ZXh0dXJlUHJvcHM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge1xuICAgICAgd2lkdGgsXG4gICAgICBoZWlnaHQsXG4gICAgICBmb3JtYXQ6IHRleHR1cmVGb3JtYXQsXG4gICAgICBzYW1wbGVyOiBzYW1wbGVyUGFyYW1zLFxuICAgICAgLi4uKHJhd0RhdGEubWlwbWFwcyA9PT0gZmFsc2UgPyB7bWlwbWFwczogZmFsc2V9IDoge30pXG4gICAgfTtcblxuICAgIGlmIChyYXdEYXRhLmRhdGEpIHtcbiAgICAgIGlmIChcbiAgICAgICAgcmF3RGF0YS5kYXRhIGluc3RhbmNlb2YgSFRNTEltYWdlRWxlbWVudCB8fFxuICAgICAgICByYXdEYXRhLmRhdGEgaW5zdGFuY2VvZiBIVE1MQ2FudmFzRWxlbWVudCB8fFxuICAgICAgICByYXdEYXRhLmRhdGEgaW5zdGFuY2VvZiBJbWFnZUJpdG1hcCB8fFxuICAgICAgICByYXdEYXRhLmRhdGEgaW5zdGFuY2VvZiBJbWFnZURhdGFcbiAgICAgICkge1xuICAgICAgICB0ZXh0dXJlUHJvcHMuZGF0YSA9IHJhd0RhdGEuZGF0YTtcbiAgICAgIH0gZWxzZSBpZiAoQXJyYXlCdWZmZXIuaXNWaWV3KHJhd0RhdGEuZGF0YSkpIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHJhd0RhdGEuZm9ybWF0ID09PSBHTC5SR0IgJiZcbiAgICAgICAgICAocmF3RGF0YS5kYXRhIGluc3RhbmNlb2YgVWludDhBcnJheSB8fCByYXdEYXRhLmRhdGEgaW5zdGFuY2VvZiBVaW50OENsYW1wZWRBcnJheSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGV4dHVyZVByb3BzLmRhdGEgPSBleHBhbmRSR0J0b1JHQkEocmF3RGF0YS5kYXRhLCB3aWR0aCwgaGVpZ2h0KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0ZXh0dXJlUHJvcHMuZGF0YSA9IHJhd0RhdGEuZGF0YTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBsdW1hRGV2aWNlLmNyZWF0ZVRleHR1cmUodGV4dHVyZVByb3BzKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGNvbnNvbGUud2FybignUmFzdGVyTGF5ZXI6IEZhaWxlZCB0byBjcmVhdGUgdGV4dHVyZSB2aWEgZGV2aWNlLmNyZWF0ZVRleHR1cmU6JywgZSk7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDQTs7QUFFQTtBQUNBLFNBQVFBLEVBQUUsUUFBTyxvQkFBb0I7QUFDckMsT0FBT0MsT0FBTyxNQUFNLGdCQUFnQjtBQUVwQyxTQUFRQyxXQUFXLEVBQUVDLFlBQVksRUFBRUMsY0FBYyxRQUFPLHNCQUFzQjs7QUFJOUU7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
|
|
267
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJHTCIsImlzRXF1YWwiLCJGSUxURVJfTU9ERSIsIkFERFJFU1NfTU9ERSIsIlRFWFRVUkVfRk9STUFUIiwiREVGQVVMVF9TQU1QTEVSX1BBUkFNRVRFUlMiLCJtaW5GaWx0ZXIiLCJORUFSRVNUIiwibWFnRmlsdGVyIiwiYWRkcmVzc01vZGVVIiwiQ0xBTVBfVE9fRURHRSIsImFkZHJlc3NNb2RlViIsImxvYWRJbWFnZUl0ZW0iLCJnbCIsImRldmljZSIsImltYWdlSXRlbSIsInJlc3VsdCIsIkFycmF5IiwiaXNBcnJheSIsImRpcnR5UmVzdWx0IiwibWFwIiwieCIsImxvYWRUZXh0dXJlIiwiX2l0ZXJhdG9yIiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJfc3RlcCIsInMiLCJuIiwiZG9uZSIsInRleHR1cmUiLCJ2YWx1ZSIsInB1c2giLCJlcnIiLCJlIiwiZiIsImxlbmd0aCIsImxvYWRJbWFnZXMiLCJfcmVmIiwiaW1hZ2VzIiwiaW1hZ2VzRGF0YSIsIm9sZEltYWdlc0RhdGEiLCJpbWFnZXNEaXJ0eSIsImhhc1BlbmRpbmdVcGxvYWRzIiwia2V5IiwiY2hhbmdlZEtleXMiLCJfaSIsIl9jaGFuZ2VkS2V5cyIsImltYWdlRGF0YSIsImxvYWRlZEl0ZW0iLCJtYXBTYW1wbGVyUGFyYW1ldGVycyIsIm9sZFBhcmFtcyIsIl9vYmplY3RTcHJlYWQiLCJtYWdGaWx0ZXJNYXAiLCJfZGVmaW5lUHJvcGVydHkiLCJMSU5FQVIiLCJtaW5GaWx0ZXJNYXAiLCJORUFSRVNUX01JUE1BUF9ORUFSRVNUIiwibWlwbWFwRmlsdGVyIiwiTkVBUkVTVF9NSVBNQVBfTElORUFSIiwiTElORUFSX01JUE1BUF9ORUFSRVNUIiwiTElORUFSX01JUE1BUF9MSU5FQVIiLCJ3cmFwTWFwIiwiUkVQRUFUIiwiTUlSUk9SRURfUkVQRUFUIiwiTUlSUk9SX1JFUEVBVCIsIlRFWFRVUkVfTUlOX0ZJTFRFUiIsInVuZGVmaW5lZCIsIm1hcHBlZCIsIlRFWFRVUkVfTUFHX0ZJTFRFUiIsIlRFWFRVUkVfV1JBUF9TIiwiVEVYVFVSRV9XUkFQX1QiLCJtYXBUZXh0dXJlRm9ybWF0IiwiZ2xGb3JtYXQiLCJfZ2xUeXBlIiwiUjhVSSIsIlI4X1VJTlQiLCJSMTZVSSIsIlIxNl9VSU5UIiwiUjMyVUkiLCJSMzJfVUlOVCIsIlI4SSIsIlI4X1NJTlQiLCJSMTZJIiwiUjE2X1NJTlQiLCJSMzJJIiwiUjMyX1NJTlQiLCJSMzJGIiwiUjMyX0ZMT0FUIiwiUkdCQSIsIlJHQkE4X1VOT1JNIiwiUkdCIiwiZXhwYW5kUkdCdG9SR0JBIiwiZGF0YSIsIndpZHRoIiwiaGVpZ2h0IiwicGl4ZWxDb3VudCIsInJnYmEiLCJVaW50OEFycmF5IiwiaSIsIl9yYXN0ZXJUZXh0dXJlRGF0YSRpZCIsIl9yYXN0ZXJUZXh0dXJlRGF0YSRpZDIiLCJfZ2wkbHVtYSIsInJhc3RlclRleHR1cmVEYXRhIiwiaGFuZGxlIiwiaWQiLCJzdGFydHNXaXRoIiwiY2FsbCIsInJhd0RhdGEiLCJsdW1hRGV2aWNlIiwibHVtYSIsIl9fbHVtYV9kZXZpY2UiLCJjcmVhdGVUZXh0dXJlIiwiY29uc29sZSIsIndhcm4iLCJfcmF3RGF0YSRkYXRhIiwiX3Jhd0RhdGEkZGF0YTIiLCJzYW1wbGVyUGFyYW1zIiwicGFyYW1ldGVycyIsInRleHR1cmVGb3JtYXQiLCJmb3JtYXQiLCJ0eXBlIiwidGV4dHVyZVByb3BzIiwic2FtcGxlciIsIm1pcG1hcHMiLCJIVE1MSW1hZ2VFbGVtZW50IiwiSFRNTENhbnZhc0VsZW1lbnQiLCJJbWFnZUJpdG1hcCIsIkltYWdlRGF0YSIsIkFycmF5QnVmZmVyIiwiaXNWaWV3IiwiVWludDhDbGFtcGVkQXJyYXkiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcmFzdGVyL2ltYWdlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG4vLyBAdHMtaWdub3JlIEdMIHJlc29sdXRpb24gZGVwZW5kcyBvbiBtb2R1bGVSZXNvbHV0aW9uIHNldHRpbmdcbmltcG9ydCB7R0x9IGZyb20gJ0BsdW1hLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQgaXNFcXVhbCBmcm9tICdlcy10b29sa2l0L2NvbXBhdC9pc0VxdWFsJztcblxuaW1wb3J0IHtGSUxURVJfTU9ERSwgQUREUkVTU19NT0RFLCBURVhUVVJFX0ZPUk1BVH0gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuaW1wb3J0IHR5cGUge1RleHR1cmV9IGZyb20gJ0BsdW1hLmdsL2NvcmUnO1xuaW1wb3J0IHR5cGUge0ltYWdlSW5wdXQsIEltYWdlU3RhdGV9IGZyb20gJy4vdHlwZXMnO1xuXG4vKipcbiAqIExlZ2FjeSB0ZXh0dXJlIGNyZWF0aW9uIGRlc2NyaXB0b3IgdXNlZCBieSByYXN0ZXIgc2hhZGVyIG1vZHVsZXMuXG4gKiBDb250YWlucyBDUFUtc2lkZSBkYXRhICsgb2xkIEdMLWVudW0tYmFzZWQgcGFyYW1ldGVycyB0aGF0IGdldFxuICogdHJhbnNsYXRlZCB0byBsdW1hLmdsIDkncyBkZXZpY2UuY3JlYXRlVGV4dHVyZSgpIHByb3BzLlxuICovXG50eXBlIFRleHR1cmVEYXRhU291cmNlID1cbiAgfCBIVE1MSW1hZ2VFbGVtZW50XG4gIHwgSFRNTENhbnZhc0VsZW1lbnRcbiAgfCBJbWFnZUJpdG1hcFxuICB8IEltYWdlRGF0YVxuICB8IEFycmF5QnVmZmVyVmlldztcblxudHlwZSBSYXN0ZXJUZXh0dXJlRGF0YSA9IHtcbiAgaGFuZGxlPzogdW5rbm93bjtcbiAgaWQ/OiBzdHJpbmc7XG4gIGRldmljZT86IHVua25vd247XG4gIHdpZHRoPzogbnVtYmVyO1xuICBoZWlnaHQ/OiBudW1iZXI7XG4gIGZvcm1hdD86IG51bWJlcjtcbiAgdHlwZT86IG51bWJlcjtcbiAgcGFyYW1ldGVycz86IFJlY29yZDxudW1iZXIsIG51bWJlcj47XG4gIG1pcG1hcHM/OiBib29sZWFuO1xuICBkYXRhPzogVGV4dHVyZURhdGFTb3VyY2UgJiB7d2lkdGg/OiBudW1iZXI7IGhlaWdodD86IG51bWJlcn07XG59O1xuXG4vKipcbiAqIFRleHR1cmUgc2FtcGxlciBwYXJhbWV0ZXJzIGZvciBsdW1hLmdsIDkgdGV4dHVyZXNcbiAqL1xuY29uc3QgREVGQVVMVF9TQU1QTEVSX1BBUkFNRVRFUlMgPSB7XG4gIG1pbkZpbHRlcjogRklMVEVSX01PREUuTkVBUkVTVCxcbiAgbWFnRmlsdGVyOiBGSUxURVJfTU9ERS5ORUFSRVNULFxuICBhZGRyZXNzTW9kZVU6IEFERFJFU1NfTU9ERS5DTEFNUF9UT19FREdFLFxuICBhZGRyZXNzTW9kZVY6IEFERFJFU1NfTU9ERS5DTEFNUF9UT19FREdFXG59O1xuXG4vKiogbHVtYS5nbCBkZXZpY2UgaW50ZXJmYWNlIGZvciB0ZXh0dXJlIGNyZWF0aW9uICovXG5pbnRlcmZhY2UgTHVtYURldmljZSB7XG4gIGNyZWF0ZVRleHR1cmUocHJvcHM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KTogVGV4dHVyZTtcbiAgZ2w/OiBXZWJHTDJSZW5kZXJpbmdDb250ZXh0O1xufVxuXG50eXBlIExvYWRJbWFnZXNPcHRpb25zID0ge1xuICBnbDogV2ViR0wyUmVuZGVyaW5nQ29udGV4dDtcbiAgZGV2aWNlPzogTHVtYURldmljZTtcbiAgaW1hZ2VzOiBJbWFnZVN0YXRlO1xuICBpbWFnZXNEYXRhOiBJbWFnZUlucHV0O1xuICBvbGRJbWFnZXNEYXRhOiBJbWFnZUlucHV0O1xufTtcblxuLyoqXG4gKiBMb2FkIGltYWdlIGl0ZW1zIHRvIHdlYmdsIGNvbnRleHRcbiAqL1xuZnVuY3Rpb24gbG9hZEltYWdlSXRlbShcbiAgZ2w6IFdlYkdMMlJlbmRlcmluZ0NvbnRleHQsXG4gIGRldmljZTogTHVtYURldmljZSB8IHVuZGVmaW5lZCxcbiAgaW1hZ2VJdGVtOiBSYXN0ZXJUZXh0dXJlRGF0YSB8IFRleHR1cmUgfCAoUmFzdGVyVGV4dHVyZURhdGEgfCBUZXh0dXJlKVtdXG4pOiBudWxsIHwgVGV4dHVyZSB8IFRleHR1cmVbXSB7XG4gIGxldCByZXN1bHQ6IG51bGwgfCBUZXh0dXJlIHwgVGV4dHVyZVtdO1xuICBpZiAoQXJyYXkuaXNBcnJheShpbWFnZUl0ZW0pKSB7XG4gICAgY29uc3QgZGlydHlSZXN1bHQgPSBpbWFnZUl0ZW0ubWFwKHggPT4gbG9hZFRleHR1cmUoZ2wsIGRldmljZSwgeCkpO1xuICAgIHJlc3VsdCA9IFtdO1xuICAgIGZvciAoY29uc3QgdGV4dHVyZSBvZiBkaXJ0eVJlc3VsdCkge1xuICAgICAgaWYgKHRleHR1cmUpIHtcbiAgICAgICAgcmVzdWx0LnB1c2godGV4dHVyZSk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmICghcmVzdWx0Lmxlbmd0aCkge1xuICAgICAgcmVzdWx0ID0gbnVsbDtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgcmVzdWx0ID0gbG9hZFRleHR1cmUoZ2wsIGRldmljZSwgaW1hZ2VJdGVtKTtcbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuXG4vKipcbiAqIExvYWQgaW1hZ2UgaXRlbXMgdG8gd2ViZ2wgY29udGV4dFxuICovXG50eXBlIExvYWRJbWFnZXNSZXN1bHQgPSB7XG4gIC8qKiBVcGRhdGVkIGltYWdlcyBzdGF0ZSwgb3IgbnVsbCBpZiBub3RoaW5nIGNoYW5nZWQgKi9cbiAgaW1hZ2VzOiBJbWFnZVN0YXRlIHwgbnVsbDtcbiAgLyoqIFRydWUgd2hlbiBhdCBsZWFzdCBvbmUgdGV4dHVyZSB1cGxvYWQgZmFpbGVkIGFuZCBzaG91bGQgYmUgcmV0cmllZCAqL1xuICBoYXNQZW5kaW5nVXBsb2FkczogYm9vbGVhbjtcbn07XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBjb21wbGV4aXR5XG5leHBvcnQgZnVuY3Rpb24gbG9hZEltYWdlcyh7XG4gIGdsLFxuICBkZXZpY2UsXG4gIGltYWdlcyxcbiAgaW1hZ2VzRGF0YSxcbiAgb2xkSW1hZ2VzRGF0YVxufTogTG9hZEltYWdlc09wdGlvbnMpOiBMb2FkSW1hZ2VzUmVzdWx0IHtcbiAgbGV0IGltYWdlc0RpcnR5ID0gZmFsc2U7XG4gIGxldCBoYXNQZW5kaW5nVXBsb2FkcyA9IGZhbHNlO1xuXG4gIGlmIChvbGRJbWFnZXNEYXRhKSB7XG4gICAgZm9yIChjb25zdCBrZXkgaW4gb2xkSW1hZ2VzRGF0YSkge1xuICAgICAgaWYgKGltYWdlc0RhdGEgJiYgIShrZXkgaW4gaW1hZ2VzRGF0YSkgJiYga2V5IGluIGltYWdlcykge1xuICAgICAgICBkZWxldGUgaW1hZ2VzW2tleV07XG4gICAgICAgIGltYWdlc0RpcnR5ID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb25zdCBjaGFuZ2VkS2V5czogc3RyaW5nW10gPSBbXTtcbiAgZm9yIChjb25zdCBrZXkgaW4gaW1hZ2VzRGF0YSkge1xuICAgIGlmICghb2xkSW1hZ2VzRGF0YSB8fCAob2xkSW1hZ2VzRGF0YSAmJiAhKGtleSBpbiBvbGRJbWFnZXNEYXRhKSkpIHtcbiAgICAgIGNoYW5nZWRLZXlzLnB1c2goa2V5KTtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGlmICghaXNFcXVhbChpbWFnZXNEYXRhW2tleV0sIG9sZEltYWdlc0RhdGFba2V5XSkpIHtcbiAgICAgIGNoYW5nZWRLZXlzLnB1c2goa2V5KTtcbiAgICB9XG4gIH1cblxuICBmb3IgKGNvbnN0IGtleSBvZiBjaGFuZ2VkS2V5cykge1xuICAgIGNvbnN0IGltYWdlRGF0YSA9IGltYWdlc0RhdGFba2V5XTtcbiAgICBpZiAoIWltYWdlRGF0YSkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgY29uc3QgbG9hZGVkSXRlbSA9IGxvYWRJbWFnZUl0ZW0oZ2wsIGRldmljZSwgaW1hZ2VEYXRhKTtcbiAgICBpZiAobG9hZGVkSXRlbSkge1xuICAgICAgaW1hZ2VzW2tleV0gPSBsb2FkZWRJdGVtO1xuICAgICAgLy8gT25seSBtYXJrIGRpcnR5IHdoZW4gdGhlIHRleHR1cmUgd2FzIGFjdHVhbGx5IHVwbG9hZGVkLlxuICAgICAgaW1hZ2VzRGlydHkgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBVcGxvYWQgZmFpbGVkIChkZXZpY2Ugbm90IHJlYWR5IG9yIGNyZWF0ZVRleHR1cmUgdGhyZXcpLiBTaWduYWwgdGhhdFxuICAgICAgLy8gdGhlIGNhbGxlciBzaG91bGQgcmV0cnkgbmV4dCBmcmFtZSDigJQgZG8gTk9UIHNldCBpbWFnZXNEaXJ0eSBzbyB3ZVxuICAgICAgLy8gZG9uJ3QgcHJvcGFnYXRlIGFuIGltYWdlcyBvYmplY3Qgd2l0aCBhIG1pc3Npbmcga2V5IHRoYXQgY2F1c2VzXG4gICAgICAvLyBkcmF3KCkgdG8gYmFpbCBwZXJtYW5lbnRseS5cbiAgICAgIGhhc1BlbmRpbmdVcGxvYWRzID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4ge2ltYWdlczogaW1hZ2VzRGlydHkgPyBpbWFnZXMgOiBudWxsLCBoYXNQZW5kaW5nVXBsb2Fkc307XG59XG5cbi8qKlxuICogTWFwIG9sZCBHTCB0ZXh0dXJlIHBhcmFtZXRlciBjb25zdGFudHMgdG8gbHVtYS5nbCA5IHNhbXBsZXIgcGFyYW1ldGVyc1xuICovXG5mdW5jdGlvbiBtYXBTYW1wbGVyUGFyYW1ldGVycyhvbGRQYXJhbXM6IFJlY29yZDxudW1iZXIsIG51bWJlcj4pOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHtcbiAgY29uc3QgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0gey4uLkRFRkFVTFRfU0FNUExFUl9QQVJBTUVURVJTfTtcblxuICBjb25zdCBtYWdGaWx0ZXJNYXAgPSB7XG4gICAgW0dMLk5FQVJFU1RdOiBGSUxURVJfTU9ERS5ORUFSRVNULFxuICAgIFtHTC5MSU5FQVJdOiBGSUxURVJfTU9ERS5MSU5FQVJcbiAgfTtcblxuICBjb25zdCBtaW5GaWx0ZXJNYXA6IFJlY29yZDxudW1iZXIsIHttaW5GaWx0ZXI6IHN0cmluZzsgbWlwbWFwRmlsdGVyPzogc3RyaW5nfT4gPSB7XG4gICAgW0dMLk5FQVJFU1RdOiB7bWluRmlsdGVyOiBGSUxURVJfTU9ERS5ORUFSRVNUfSxcbiAgICBbR0wuTElORUFSXToge21pbkZpbHRlcjogRklMVEVSX01PREUuTElORUFSfSxcbiAgICBbR0wuTkVBUkVTVF9NSVBNQVBfTkVBUkVTVF06IHtcbiAgICAgIG1pbkZpbHRlcjogRklMVEVSX01PREUuTkVBUkVTVCxcbiAgICAgIG1pcG1hcEZpbHRlcjogRklMVEVSX01PREUuTkVBUkVTVFxuICAgIH0sXG4gICAgW0dMLk5FQVJFU1RfTUlQTUFQX0xJTkVBUl06IHttaW5GaWx0ZXI6IEZJTFRFUl9NT0RFLk5FQVJFU1QsIG1pcG1hcEZpbHRlcjogRklMVEVSX01PREUuTElORUFSfSxcbiAgICBbR0wuTElORUFSX01JUE1BUF9ORUFSRVNUXToge21pbkZpbHRlcjogRklMVEVSX01PREUuTElORUFSLCBtaXBtYXBGaWx0ZXI6IEZJTFRFUl9NT0RFLk5FQVJFU1R9LFxuICAgIFtHTC5MSU5FQVJfTUlQTUFQX0xJTkVBUl06IHttaW5GaWx0ZXI6IEZJTFRFUl9NT0RFLkxJTkVBUiwgbWlwbWFwRmlsdGVyOiBGSUxURVJfTU9ERS5MSU5FQVJ9XG4gIH07XG5cbiAgY29uc3Qgd3JhcE1hcCA9IHtcbiAgICBbR0wuQ0xBTVBfVE9fRURHRV06IEFERFJFU1NfTU9ERS5DTEFNUF9UT19FREdFLFxuICAgIFtHTC5SRVBFQVRdOiBBRERSRVNTX01PREUuUkVQRUFULFxuICAgIFtHTC5NSVJST1JFRF9SRVBFQVRdOiBBRERSRVNTX01PREUuTUlSUk9SX1JFUEVBVFxuICB9O1xuXG4gIGlmIChvbGRQYXJhbXMpIHtcbiAgICBpZiAob2xkUGFyYW1zW0dMLlRFWFRVUkVfTUlOX0ZJTFRFUl0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgY29uc3QgbWFwcGVkID0gbWluRmlsdGVyTWFwW29sZFBhcmFtc1tHTC5URVhUVVJFX01JTl9GSUxURVJdXTtcbiAgICAgIGlmIChtYXBwZWQpIHtcbiAgICAgICAgcmVzdWx0Lm1pbkZpbHRlciA9IG1hcHBlZC5taW5GaWx0ZXI7XG4gICAgICAgIGlmIChtYXBwZWQubWlwbWFwRmlsdGVyKSB7XG4gICAgICAgICAgcmVzdWx0Lm1pcG1hcEZpbHRlciA9IG1hcHBlZC5taXBtYXBGaWx0ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKG9sZFBhcmFtc1tHTC5URVhUVVJFX01BR19GSUxURVJdICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJlc3VsdC5tYWdGaWx0ZXIgPSBtYWdGaWx0ZXJNYXBbb2xkUGFyYW1zW0dMLlRFWFRVUkVfTUFHX0ZJTFRFUl1dIHx8IEZJTFRFUl9NT0RFLk5FQVJFU1Q7XG4gICAgfVxuICAgIGlmIChvbGRQYXJhbXNbR0wuVEVYVFVSRV9XUkFQX1NdICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJlc3VsdC5hZGRyZXNzTW9kZVUgPSB3cmFwTWFwW29sZFBhcmFtc1tHTC5URVhUVVJFX1dSQVBfU11dIHx8IEFERFJFU1NfTU9ERS5DTEFNUF9UT19FREdFO1xuICAgIH1cbiAgICBpZiAob2xkUGFyYW1zW0dMLlRFWFRVUkVfV1JBUF9UXSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXN1bHQuYWRkcmVzc01vZGVWID0gd3JhcE1hcFtvbGRQYXJhbXNbR0wuVEVYVFVSRV9XUkFQX1RdXSB8fCBBRERSRVNTX01PREUuQ0xBTVBfVE9fRURHRTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcmVzdWx0O1xufVxuXG4vKipcbiAqIE1hcCBvbGQgR0wgZm9ybWF0L3R5cGUgdG8gbHVtYS5nbCA5IHRleHR1cmUgZm9ybWF0IHN0cmluZ1xuICovXG5mdW5jdGlvbiBtYXBUZXh0dXJlRm9ybWF0KGdsRm9ybWF0OiBudW1iZXIsIF9nbFR5cGU/OiBudW1iZXIpOiBzdHJpbmcge1xuICBzd2l0Y2ggKGdsRm9ybWF0KSB7XG4gICAgY2FzZSBHTC5SOFVJOlxuICAgICAgcmV0dXJuIFRFWFRVUkVfRk9STUFULlI4X1VJTlQ7XG4gICAgY2FzZSBHTC5SMTZVSTpcbiAgICAgIHJldHVybiBURVhUVVJFX0ZPUk1BVC5SMTZfVUlOVDtcbiAgICBjYXNlIEdMLlIzMlVJOlxuICAgICAgcmV0dXJuIFRFWFRVUkVfRk9STUFULlIzMl9VSU5UO1xuICAgIGNhc2UgR0wuUjhJOlxuICAgICAgcmV0dXJuIFRFWFRVUkVfRk9STUFULlI4X1NJTlQ7XG4gICAgY2FzZSBHTC5SMTZJOlxuICAgICAgcmV0dXJuIFRFWFRVUkVfRk9STUFULlIxNl9TSU5UO1xuICAgIGNhc2UgR0wuUjMySTpcbiAgICAgIHJldHVybiBURVhUVVJFX0ZPUk1BVC5SMzJfU0lOVDtcbiAgICBjYXNlIEdMLlIzMkY6XG4gICAgICByZXR1cm4gVEVYVFVSRV9GT1JNQVQuUjMyX0ZMT0FUO1xuICAgIGNhc2UgR0wuUkdCQTpcbiAgICAgIHJldHVybiBURVhUVVJFX0ZPUk1BVC5SR0JBOF9VTk9STTtcbiAgICBjYXNlIEdMLlJHQjpcbiAgICAgIHJldHVybiBURVhUVVJFX0ZPUk1BVC5SR0JBOF9VTk9STTtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIFRFWFRVUkVfRk9STUFULlJHQkE4X1VOT1JNO1xuICB9XG59XG5cbi8qKlxuICogRXhwYW5kIDMtYnl0ZS1wZXItcGl4ZWwgUkdCIGRhdGEgdG8gNC1ieXRlLXBlci1waXhlbCBSR0JBLlxuICogTmVlZGVkIGJlY2F1c2UgV2ViR1BVL2x1bWEuZ2wgOSBoYXMgbm8gMy1jaGFubmVsIHRleHR1cmUgZm9ybWF0LlxuICovXG5mdW5jdGlvbiBleHBhbmRSR0J0b1JHQkEoXG4gIGRhdGE6IFVpbnQ4QXJyYXkgfCBVaW50OENsYW1wZWRBcnJheSxcbiAgd2lkdGg6IG51bWJlcixcbiAgaGVpZ2h0OiBudW1iZXJcbik6IFVpbnQ4QXJyYXkge1xuICBjb25zdCBwaXhlbENvdW50ID0gd2lkdGggKiBoZWlnaHQ7XG4gIGNvbnN0IHJnYmEgPSBuZXcgVWludDhBcnJheShwaXhlbENvdW50ICogNCk7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgcGl4ZWxDb3VudDsgaSsrKSB7XG4gICAgcmdiYVtpICogNF0gPSBkYXRhW2kgKiAzXTtcbiAgICByZ2JhW2kgKiA0ICsgMV0gPSBkYXRhW2kgKiAzICsgMV07XG4gICAgcmdiYVtpICogNCArIDJdID0gZGF0YVtpICogMyArIDJdO1xuICAgIHJnYmFbaSAqIDQgKyAzXSA9IDI1NTtcbiAgfVxuICByZXR1cm4gcmdiYTtcbn1cblxuLyoqXG4gKiBDcmVhdGUgdGV4dHVyZSBvYmplY3QgZnJvbSBpbWFnZSBkYXRhIHVzaW5nIGx1bWEuZ2wgOSBkZXZpY2UgQVBJLlxuICogUmV0dXJucyBhIHByb3BlciBsdW1hLmdsIFRleHR1cmUgb2JqZWN0IHRoYXQgd29ya3Mgd2l0aCB0aGUgYmluZGluZyBzeXN0ZW0uXG4gKi9cbmZ1bmN0aW9uIGxvYWRUZXh0dXJlKFxuICBnbDogV2ViR0wyUmVuZGVyaW5nQ29udGV4dCxcbiAgZGV2aWNlOiBMdW1hRGV2aWNlIHwgdW5kZWZpbmVkLFxuICBpbWFnZURhdGE6IFRleHR1cmUgfCBSYXN0ZXJUZXh0dXJlRGF0YVxuKTogVGV4dHVyZSB8IG51bGwge1xuICBpZiAoIWltYWdlRGF0YSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgLy8gSWYgYWxyZWFkeSBhIGx1bWEuZ2wgVGV4dHVyZSBpbnN0YW5jZSwgcmV0dXJuIGFzLWlzXG4gIGNvbnN0IHJhc3RlclRleHR1cmVEYXRhID0gaW1hZ2VEYXRhIGFzIFJhc3RlclRleHR1cmVEYXRhO1xuICBpZiAoXG4gICAgcmFzdGVyVGV4dHVyZURhdGEuaGFuZGxlIHx8XG4gICAgcmFzdGVyVGV4dHVyZURhdGEuaWQ/LnN0YXJ0c1dpdGg/LignbHVtYScpIHx8XG4gICAgcmFzdGVyVGV4dHVyZURhdGEuZGV2aWNlXG4gICkge1xuICAgIHJldHVybiBpbWFnZURhdGEgYXMgVGV4dHVyZTtcbiAgfVxuXG4gIGNvbnN0IHJhd0RhdGEgPSBpbWFnZURhdGEgYXMgUmFzdGVyVGV4dHVyZURhdGE7XG5cbiAgLy8gQHRzLWV4cGVjdC1lcnJvciBsdW1hIGludGVybmFsIHByb3BlcnRpZXMgbm90IGluIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQgdHlwZVxuICBjb25zdCBsdW1hRGV2aWNlID0gZGV2aWNlIHx8IGdsLmx1bWE/LmRldmljZSB8fCBnbC5fX2x1bWFfZGV2aWNlO1xuXG4gIGlmICghbHVtYURldmljZT8uY3JlYXRlVGV4dHVyZSkge1xuICAgIGNvbnNvbGUud2FybignUmFzdGVyTGF5ZXI6IE5vIGx1bWEuZ2wgZGV2aWNlIGF2YWlsYWJsZSBmb3IgdGV4dHVyZSBjcmVhdGlvbicpO1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgdHJ5IHtcbiAgICBjb25zdCBzYW1wbGVyUGFyYW1zID0gbWFwU2FtcGxlclBhcmFtZXRlcnMocmF3RGF0YS5wYXJhbWV0ZXJzIHx8IHt9KTtcbiAgICBjb25zdCB0ZXh0dXJlRm9ybWF0ID0gcmF3RGF0YS5mb3JtYXRcbiAgICAgID8gbWFwVGV4dHVyZUZvcm1hdChyYXdEYXRhLmZvcm1hdCwgcmF3RGF0YS50eXBlKVxuICAgICAgOiBURVhUVVJFX0ZPUk1BVC5SR0JBOF9VTk9STTtcblxuICAgIGNvbnN0IHdpZHRoID0gcmF3RGF0YS53aWR0aCB8fCByYXdEYXRhLmRhdGE/LndpZHRoIHx8IDE7XG4gICAgY29uc3QgaGVpZ2h0ID0gcmF3RGF0YS5oZWlnaHQgfHwgcmF3RGF0YS5kYXRhPy5oZWlnaHQgfHwgMTtcblxuICAgIGNvbnN0IHRleHR1cmVQcm9wczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7XG4gICAgICB3aWR0aCxcbiAgICAgIGhlaWdodCxcbiAgICAgIGZvcm1hdDogdGV4dHVyZUZvcm1hdCxcbiAgICAgIHNhbXBsZXI6IHNhbXBsZXJQYXJhbXMsXG4gICAgICAuLi4ocmF3RGF0YS5taXBtYXBzID09PSBmYWxzZSA/IHttaXBtYXBzOiBmYWxzZX0gOiB7fSlcbiAgICB9O1xuXG4gICAgaWYgKHJhd0RhdGEuZGF0YSkge1xuICAgICAgaWYgKFxuICAgICAgICByYXdEYXRhLmRhdGEgaW5zdGFuY2VvZiBIVE1MSW1hZ2VFbGVtZW50IHx8XG4gICAgICAgIHJhd0RhdGEuZGF0YSBpbnN0YW5jZW9mIEhUTUxDYW52YXNFbGVtZW50IHx8XG4gICAgICAgIHJhd0RhdGEuZGF0YSBpbnN0YW5jZW9mIEltYWdlQml0bWFwIHx8XG4gICAgICAgIHJhd0RhdGEuZGF0YSBpbnN0YW5jZW9mIEltYWdlRGF0YVxuICAgICAgKSB7XG4gICAgICAgIHRleHR1cmVQcm9wcy5kYXRhID0gcmF3RGF0YS5kYXRhO1xuICAgICAgfSBlbHNlIGlmIChBcnJheUJ1ZmZlci5pc1ZpZXcocmF3RGF0YS5kYXRhKSkge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgcmF3RGF0YS5mb3JtYXQgPT09IEdMLlJHQiAmJlxuICAgICAgICAgIChyYXdEYXRhLmRhdGEgaW5zdGFuY2VvZiBVaW50OEFycmF5IHx8IHJhd0RhdGEuZGF0YSBpbnN0YW5jZW9mIFVpbnQ4Q2xhbXBlZEFycmF5KVxuICAgICAgICApIHtcbiAgICAgICAgICB0ZXh0dXJlUHJvcHMuZGF0YSA9IGV4cGFuZFJHQnRvUkdCQShyYXdEYXRhLmRhdGEsIHdpZHRoLCBoZWlnaHQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRleHR1cmVQcm9wcy5kYXRhID0gcmF3RGF0YS5kYXRhO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGx1bWFEZXZpY2UuY3JlYXRlVGV4dHVyZSh0ZXh0dXJlUHJvcHMpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgY29uc29sZS53YXJuKCdSYXN0ZXJMYXllcjogRmFpbGVkIHRvIGNyZWF0ZSB0ZXh0dXJlIHZpYSBkZXZpY2UuY3JlYXRlVGV4dHVyZTonLCBlKTtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNBOztBQUVBO0FBQ0EsU0FBUUEsRUFBRSxRQUFPLG9CQUFvQjtBQUNyQyxPQUFPQyxPQUFPLE1BQU0sMkJBQTJCO0FBRS9DLFNBQVFDLFdBQVcsRUFBRUMsWUFBWSxFQUFFQyxjQUFjLFFBQU8sc0JB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
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SimpleMeshLayer } from '@deck.gl/mesh-layers';
|
|
2
|
-
import type
|
|
2
|
+
import { type GlobeConfig } from '@kepler.gl/constants';
|
|
3
3
|
/**
|
|
4
4
|
* Convert a mapState zoom level to a [0, 1] atmosphere opacity multiplier.
|
|
5
5
|
* Returns 1 (fully visible) below ATMOSPHERE_FADE_ZOOM_START, smoothly
|
|
@@ -26,12 +26,33 @@ export declare class AtmosphereSkyLayerRealistic extends SimpleMeshLayer<any, At
|
|
|
26
26
|
}): void;
|
|
27
27
|
getShaders(): any;
|
|
28
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* View-independent atmosphere: a large uniform emissive aura around the globe.
|
|
31
|
+
* Unlike AtmosphereSkyLayerRealistic, this ignores sun direction and uses a
|
|
32
|
+
* linear radial falloff through a thick shell (max at the surface → 0 at outer radius).
|
|
33
|
+
*/
|
|
34
|
+
export declare class AtmosphereHugeHaloLayer extends SimpleMeshLayer<any, AtmosphereLayerProps> {
|
|
35
|
+
static layerName: string;
|
|
36
|
+
draw({ uniforms }: {
|
|
37
|
+
uniforms: object;
|
|
38
|
+
}): void;
|
|
39
|
+
getShaders(): any;
|
|
40
|
+
}
|
|
29
41
|
export declare const getGlobeAtmosphereLayer: ({ config, zoom }: {
|
|
30
42
|
config: GlobeConfig;
|
|
31
43
|
zoom?: number;
|
|
32
44
|
}) => AtmosphereLayerRealistic;
|
|
45
|
+
/** Realistic sun-lit scattering sky halo (thin limb glow). */
|
|
33
46
|
export declare const getGlobeAtmosphereSkyLayer: ({ config, zoom }: {
|
|
34
47
|
config: GlobeConfig;
|
|
35
48
|
zoom?: number;
|
|
36
49
|
}) => AtmosphereSkyLayerRealistic;
|
|
50
|
+
/**
|
|
51
|
+
* Large uniform glow drawn in addition to the realistic sky halo when
|
|
52
|
+
* `config.hugeHalo` is enabled. Returns null when disabled.
|
|
53
|
+
*/
|
|
54
|
+
export declare const getGlobeHugeHaloLayer: ({ config, zoom }: {
|
|
55
|
+
config: GlobeConfig;
|
|
56
|
+
zoom?: number;
|
|
57
|
+
}) => AtmosphereHugeHaloLayer | null;
|
|
37
58
|
export {};
|
|
@@ -3,3 +3,8 @@
|
|
|
3
3
|
* Generates the image once and caches it for subsequent calls.
|
|
4
4
|
*/
|
|
5
5
|
export declare function getStarsBackgroundImage(): string;
|
|
6
|
+
/**
|
|
7
|
+
* Tile the star-field onto a 2D canvas (e.g. video-export frame capture).
|
|
8
|
+
* Stars are drawn with alpha so the caller should fill the background color first.
|
|
9
|
+
*/
|
|
10
|
+
export declare function drawStarsBackground(ctx: CanvasRenderingContext2D, width: number, height: number): void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/globe/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export { AtmosphereLayerRealistic, AtmosphereSkyLayerRealistic, getGlobeAtmosphereLayer, getGlobeAtmosphereSkyLayer } from './atmosphere-layer';
|
|
1
|
+
export { AtmosphereLayerRealistic, AtmosphereSkyLayerRealistic, AtmosphereHugeHaloLayer, getGlobeAtmosphereLayer, getGlobeAtmosphereSkyLayer, getGlobeHugeHaloLayer } from './atmosphere-layer';
|
|
2
2
|
export { GlobeDepthDiskLayer, getGlobeDepthDiskLayer } from './globe-depth-disk-layer';
|
|
3
3
|
export { getGlobeBaseLayers, getGlobeTopLayers, getGlobeClearColor, getGlobeBasemapAttributions, resolveGlobeBasemapProvider, DEFAULT_BASEMAP_COLOR, getBasemapColors, getBasemapColorsForStyle } from './globe-layers';
|
|
4
4
|
export type { GlobeBasemapProvider, GlobeAttribution } from './globe-layers';
|
|
5
5
|
export { MVTLabelLayer } from './mvt-label-layer';
|
|
6
6
|
export { default as EnhancedMultiIconLayer } from './enhanced-multi-icon-layer';
|
|
7
7
|
export { KeplerGlobeView } from './globe-view';
|
|
8
|
-
export { getStarsBackgroundImage } from './globe-stars-layer';
|
|
8
|
+
export { getStarsBackgroundImage, drawStarsBackground } from './globe-stars-layer';
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import Supercluster from 'supercluster';
|
|
2
|
-
import { MemoizedFunction } from 'lodash';
|
|
3
2
|
import { BBox, Position } from 'geojson';
|
|
3
|
+
type MemoizedFunction = {
|
|
4
|
+
cache: {
|
|
5
|
+
clear?: () => void;
|
|
6
|
+
};
|
|
7
|
+
};
|
|
4
8
|
export declare function getGeoJSON(data: any, getPosition: any, filterData: any): any;
|
|
5
9
|
export default class ClusterBuilder {
|
|
6
10
|
clusterer: (({ clusterRadius, geoJSON }: {
|
|
@@ -20,3 +24,4 @@ export default class ClusterBuilder {
|
|
|
20
24
|
}[];
|
|
21
25
|
clearClustererCache(): void;
|
|
22
26
|
}
|
|
27
|
+
export {};
|