kepler.gl 3.2.0 → 3.2.2
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/src/ai-assistant/src/config/models.d.ts +8 -0
- package/dist/src/components/src/side-panel/layer-panel/vector-tile-layer-configurator.d.ts +3 -2
- package/dist/src/localization/src/translations/en.d.ts +1 -0
- package/dist/src/utils/src/arrow-data-container.d.ts +3 -2
- package/dist/src/utils/src/data-container-utils.d.ts +2 -0
- package/package.json +2 -2
- package/src/actions/package.json +8 -8
- package/src/ai-assistant/dist/components/ai-assistant-config.js +40 -24
- package/src/ai-assistant/dist/config/models.d.ts +8 -0
- package/src/ai-assistant/dist/config/models.js +16 -8
- package/src/ai-assistant/dist/localization.js +7 -7
- package/src/ai-assistant/dist/reducers/index.js +3 -2
- package/src/ai-assistant/package.json +16 -16
- package/src/ai-assistant/src/components/ai-assistant-config.tsx +39 -28
- package/src/ai-assistant/src/config/models.ts +37 -25
- package/src/ai-assistant/src/localization.ts +6 -6
- package/src/ai-assistant/src/reducers/index.ts +2 -1
- package/src/cloud-providers/package.json +2 -2
- package/src/common-utils/package.json +3 -3
- package/src/components/dist/common/color-legend.js +8 -8
- package/src/components/dist/common/data-table/index.js +13 -9
- package/src/components/dist/map/map-legend-panel.js +10 -4
- package/src/components/dist/map/map-legend.js +2 -2
- package/src/components/dist/plot-container.js +4 -2
- package/src/components/dist/side-panel/interaction-panel/interaction-panel.js +2 -2
- package/src/components/dist/side-panel/layer-panel/color-breaks-panel.js +11 -2
- package/src/components/dist/side-panel/layer-panel/color-scale-selector.js +65 -12
- package/src/components/dist/side-panel/layer-panel/custom-palette.js +18 -7
- package/src/components/dist/side-panel/layer-panel/vector-tile-layer-configurator.d.ts +3 -2
- package/src/components/dist/side-panel/layer-panel/vector-tile-layer-configurator.js +18 -4
- package/src/components/package.json +15 -15
- package/src/components/src/common/color-legend.tsx +15 -2
- package/src/components/src/common/data-table/index.tsx +1 -1
- package/src/components/src/map/map-legend-panel.tsx +21 -2
- package/src/components/src/map/map-legend.tsx +1 -1
- package/src/components/src/plot-container.tsx +2 -1
- package/src/components/src/side-panel/interaction-panel/interaction-panel.tsx +1 -0
- package/src/components/src/side-panel/layer-panel/color-breaks-panel.tsx +14 -3
- package/src/components/src/side-panel/layer-panel/color-scale-selector.tsx +62 -8
- package/src/components/src/side-panel/layer-panel/custom-palette.tsx +11 -5
- package/src/components/src/side-panel/layer-panel/vector-tile-layer-configurator.tsx +19 -2
- package/src/constants/dist/default-settings.js +1 -1
- package/src/constants/node_modules/.cache/terser-webpack-plugin/content-v2/sha512/1b/11/43d4199b6142de0b88c672f2b036c5aa4ca836cf35977bbafcdb1962b91e94f8336655a57f0742571ceb13fc69ef4ba0e3cb91dc9a8d61ef041c6eb15e7a +1 -0
- package/src/constants/node_modules/.cache/terser-webpack-plugin/content-v2/sha512/b3/bd/e4f91c7af9e320b979e29ad3b9e3a4dfcd61e4a09d6e4579104c40dcace7651b443fdd6d7ff5d947ed6c9df2c0bbbcc76a2ea86d6398e4945257eeb80dd5 +1 -0
- package/src/constants/node_modules/.cache/terser-webpack-plugin/index-v5/ac/e2/e903ec95ada0b0075fdcfb6133e2e75c9b3b0504a29ca665704aaed90b2b +2 -0
- package/src/constants/node_modules/.cache/terser-webpack-plugin/index-v5/b4/c5/a43653dff3b380f7b0793080a57c980a9a136764933e79454de0fe43a5ca +2 -0
- package/src/constants/package.json +2 -2
- package/src/constants/umd/keplergl.min.js +1 -1
- package/src/deckgl-arrow-layers/package.json +2 -2
- package/src/deckgl-layers/package.json +4 -4
- package/src/duckdb/dist/table/duckdb-table-utils.js +3 -2
- package/src/duckdb/package.json +6 -6
- package/src/duckdb/src/table/duckdb-table-utils.ts +5 -1
- package/src/effects/package.json +5 -5
- package/src/layers/dist/geojson-layer/geojson-utils.js +23 -5
- package/src/layers/dist/icon-layer/icon-layer.js +12 -2
- package/src/layers/dist/vector-tile/common-tile/tile-dataset.d.ts +4 -0
- package/src/layers/dist/vector-tile/common-tile/tile-dataset.js +10 -1
- package/src/layers/dist/vector-tile/vector-tile-layer.d.ts +11 -0
- package/src/layers/dist/vector-tile/vector-tile-layer.js +113 -7
- package/src/layers/package.json +9 -9
- package/src/layers/src/geojson-layer/geojson-utils.ts +22 -0
- package/src/layers/src/icon-layer/icon-layer.ts +49 -38
- package/src/layers/src/vector-tile/common-tile/tile-dataset.ts +7 -0
- package/src/layers/src/vector-tile/vector-tile-layer.ts +110 -6
- package/src/localization/dist/translations/en.d.ts +1 -0
- package/src/localization/dist/translations/en.js +2 -1
- package/src/localization/package.json +1 -1
- package/src/localization/src/translations/en.ts +1 -0
- package/src/processors/dist/data-processor.js +15 -5
- package/src/processors/package.json +7 -7
- package/src/processors/src/data-processor.ts +19 -4
- package/src/reducers/package.json +16 -16
- package/src/schemas/package.json +7 -7
- package/src/styles/node_modules/.cache/terser-webpack-plugin/content-v2/sha512/52/82/28cacf6fd462b779c22675964b655bf3a9f3ce9ec3c9b141a401a5bf90cb7d904ac65ab8e484570130b12771af0a0d5bab20e6976cfa773666763e046a6a +1 -0
- package/src/styles/node_modules/.cache/terser-webpack-plugin/content-v2/sha512/53/93/f8e389b6450ee0636bf336363d2d6865d8a1fe2445c15cc1e36c651e1ddf448358eb74e894f4bf6fc48ef881dc64cc221c48b133ecf0e02132f2c5fbfe11 +1 -0
- package/src/styles/node_modules/.cache/terser-webpack-plugin/index-v5/2e/45/ed6e0c1beb8bca4698a47b5feda8789a22d96978bc4839949bd26e827454 +2 -0
- package/src/styles/node_modules/.cache/terser-webpack-plugin/index-v5/56/db/b5a812c56b0d1dcdcd33da37e464062a19c8752cb2296603dc72d2c54d31 +2 -0
- package/src/styles/package.json +2 -2
- package/src/styles/umd/keplergl.min.js +1 -1
- package/src/table/dist/dataset-utils.js +18 -7
- package/src/table/dist/kepler-table.js +2 -1
- package/src/table/package.json +5 -5
- package/src/table/src/dataset-utils.ts +7 -2
- package/src/table/src/kepler-table.ts +1 -0
- package/src/tasks/package.json +2 -2
- package/src/types/actions.d.ts +1 -0
- package/src/types/package.json +1 -1
- package/src/utils/dist/arrow-data-container.d.ts +3 -2
- package/src/utils/dist/arrow-data-container.js +3 -3
- package/src/utils/dist/data-container-utils.d.ts +2 -0
- package/src/utils/dist/data-container-utils.js +3 -2
- package/src/utils/package.json +4 -4
- package/src/utils/src/arrow-data-container.ts +9 -7
- package/src/utils/src/data-container-utils.ts +3 -1
- package/umd/keplergl.min.js +1366 -1333
|
@@ -177,11 +177,21 @@ var IconLayer = exports["default"] = /*#__PURE__*/function (_Layer) {
|
|
|
177
177
|
};
|
|
178
178
|
if (_window["default"].fetch && this.svgIconUrl) {
|
|
179
179
|
_window["default"].fetch(this.svgIconUrl, fetchConfig).then(function (response) {
|
|
180
|
+
if (!response.ok) {
|
|
181
|
+
throw new Error("Failed to load svg-icons.json: ".concat(response.status));
|
|
182
|
+
}
|
|
180
183
|
return response.json();
|
|
181
184
|
}).then(function () {
|
|
182
185
|
var parsed = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
183
186
|
_this2.setSvgIcons(parsed.svgIcons);
|
|
187
|
+
})["catch"](function (err) {
|
|
188
|
+
console.error('Error fetching or parsing svg-icons.json:', err);
|
|
189
|
+
// Fallback to empty geometry to allow default icon rendering
|
|
190
|
+
_this2.iconGeometry = {};
|
|
184
191
|
});
|
|
192
|
+
} else {
|
|
193
|
+
// No fetch available; set empty geometry so layer can render default icons
|
|
194
|
+
this.iconGeometry = {};
|
|
185
195
|
}
|
|
186
196
|
}
|
|
187
197
|
}, {
|
|
@@ -316,7 +326,7 @@ var IconLayer = exports["default"] = /*#__PURE__*/function (_Layer) {
|
|
|
316
326
|
depthTest: ((_this$config$columns$ = this.config.columns.altitude) === null || _this$config$columns$ === void 0 ? void 0 : _this$config$columns$.fieldIdx) > -1,
|
|
317
327
|
cullFace: _constants["default"].FRONT
|
|
318
328
|
};
|
|
319
|
-
return
|
|
329
|
+
return [new _deckglLayers.SvgIconLayer(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, defaultLayerProps), brushingProps), layerProps), data), {}, {
|
|
320
330
|
parameters: parameters,
|
|
321
331
|
getIconGeometry: function getIconGeometry(id) {
|
|
322
332
|
var _this3$iconGeometry;
|
|
@@ -386,4 +396,4 @@ var IconLayer = exports["default"] = /*#__PURE__*/function (_Layer) {
|
|
|
386
396
|
}
|
|
387
397
|
}]);
|
|
388
398
|
}(_baseLayer["default"]);
|
|
389
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfd2luZG93IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfZXh0ZW5zaW9ucyIsIl9jb25zdGFudHMiLCJfZGVja2dsTGF5ZXJzIiwiX2ljb25MYXllckljb24iLCJfY29uc3RhbnRzMiIsIl9pY29uSW5mb01vZGFsIiwiX2Jhc2VMYXllciIsIl9sYXllclV0aWxzIiwiX3V0aWxzIiwiX2xheWVyVGV4dExhYmVsIiwib3duS2V5cyIsImUiLCJyIiwidCIsIk9iamVjdCIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJfY2FsbFN1cGVyIiwiX2dldFByb3RvdHlwZU9mMiIsIl9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuMiIsIl9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QiLCJSZWZsZWN0IiwiY29uc3RydWN0IiwiY29uc3RydWN0b3IiLCJCb29sZWFuIiwicHJvdG90eXBlIiwidmFsdWVPZiIsImNhbGwiLCJfc3VwZXJQcm9wR2V0IiwicCIsIl9nZXQyIiwiYnJ1c2hpbmdFeHRlbnNpb24iLCJCcnVzaGluZ0V4dGVuc2lvbiIsImljb25Qb3NBY2Nlc3NvciIsImV4cG9ydHMiLCJfcmVmIiwibGF0IiwibG5nIiwiYWx0aXR1ZGUiLCJkYyIsImQiLCJ2YWx1ZUF0IiwiaW5kZXgiLCJmaWVsZElkeCIsImljb25BY2Nlc3NvciIsIl9yZWYyIiwiaWNvbiIsImljb25SZXF1aXJlZENvbHVtbnMiLCJpY29uT3B0aW9uYWxDb2x1bW5zIiwicG9pbnRWaXNDb25maWdzIiwicmFkaXVzIiwiZml4ZWRSYWRpdXMiLCJvcGFjaXR5IiwiY29sb3JSYW5nZSIsInJhZGl1c1JhbmdlIiwiYmlsbGJvYXJkIiwiZmxhdHRlckljb25Qb3NpdGlvbnMiLCJtZXNoIiwiY2VsbHMiLCJyZWR1Y2UiLCJwcmV2IiwiY2VsbCIsInBvc2l0aW9ucyIsIkljb25MYXllciIsIl9MYXllciIsInByb3BzIiwiX3RoaXMiLCJfY2xhc3NDYWxsQ2hlY2syIiwicmVnaXN0ZXJWaXNDb25maWciLCJnZXRQb3NpdGlvbkFjY2Vzc29yIiwiZGF0YUNvbnRhaW5lciIsImNvbmZpZyIsImNvbHVtbnMiLCJnZXRJY29uQWNjZXNzb3IiLCJfbGF5ZXJJbmZvTW9kYWwiLCJJY29uSW5mb01vZGFsRmFjdG9yeSIsInN2Z0ljb25zIiwiaWNvbkdlb21ldHJ5IiwiaXNUZXN0Iiwic2V0U3ZnSWNvbnMiLCJnZXRTdmdJY29ucyIsIl9pbmhlcml0czIiLCJfY3JlYXRlQ2xhc3MyIiwia2V5IiwiZ2V0IiwiY29uY2F0IiwiZ2V0QXBwbGljYXRpb25Db25maWciLCJjZG5VcmwiLCJkZWZhdWx0UG9pbnRDb2x1bW5QYWlycyIsIkljb25MYXllckljb24iLCJjb2xvciIsImFjY2Vzc29yIiwiZGVmYXVsdFZhbHVlIiwic2l6ZSIsInByb3BlcnR5IiwicmFuZ2UiLCJjaGFubmVsU2NhbGVUeXBlIiwiaWQiLCJ0ZW1wbGF0ZSIsIm1vZGFsUHJvcHMiLCJ0aXRsZSIsInZhbHVlIiwiZ2V0Wm9vbUZhY3RvciIsIl9yZWYzIiwiem9vbSIsIl9yZWYzJHpvb21PZmZzZXQiLCJ6b29tT2Zmc2V0IiwiTWF0aCIsInBvdyIsIl90aGlzMiIsImZldGNoQ29uZmlnIiwibWV0aG9kIiwibW9kZSIsImNhY2hlIiwiV2luZG93IiwiZmV0Y2giLCJzdmdJY29uVXJsIiwidGhlbiIsInJlc3BvbnNlIiwianNvbiIsInBhcnNlZCIsInVuZGVmaW5lZCIsImFjY3UiLCJjdXJyIiwiZ2V0RmlsdGVyZWRJdGVtQ291bnQiLCJmaWx0ZXJlZEl0ZW1Db3VudCIsInZhbHVlcyIsInRvdGFsIiwiTnVtYmVyIiwiaXNGaW5pdGUiLCJjYWxjdWxhdGVEYXRhQXR0cmlidXRlIiwiX3JlZjQiLCJnZXRQb3NpdGlvbiIsImZpbHRlcmVkSW5kZXgiLCJnZXRJY29uIiwiZGF0YSIsImkiLCJyb3dJbmRleCIsInBvcyIsImV2ZXJ5IiwiZm9ybWF0TGF5ZXJEYXRhIiwiZGF0YXNldHMiLCJvbGRMYXllckRhdGEiLCJkYXRhSWQiLCJ0ZXh0TGFiZWwiLCJfZGF0YXNldHMkdGhpcyRjb25maWciLCJncHVGaWx0ZXIiLCJfdGhpcyR1cGRhdGVEYXRhIiwidXBkYXRlRGF0YSIsInRyaWdnZXJDaGFuZ2VkIiwidGV4dExhYmVscyIsImZvcm1hdFRleHRMYWJlbERhdGEiLCJhY2Nlc3NvcnMiLCJnZXRBdHRyaWJ1dGVBY2Nlc3NvcnMiLCJnZXRGaWx0ZXJWYWx1ZSIsImZpbHRlclZhbHVlQWNjZXNzb3IiLCJ1cGRhdGVMYXllck1ldGEiLCJkYXRhc2V0IiwiYm91bmRzIiwiZ2V0UG9pbnRzQm91bmRzIiwidXBkYXRlTWV0YSIsInJlbmRlckxheWVyIiwib3B0cyIsIl90aGlzJGNvbmZpZyRjb2x1bW5zJCIsIl90aGlzMyIsIm9iamVjdEhvdmVyZWQiLCJtYXBTdGF0ZSIsImludGVyYWN0aW9uQ29uZmlnIiwicmFkaXVzU2NhbGUiLCJnZXRSYWRpdXNTY2FsZUJ5Wm9vbSIsImxheWVyUHJvcHMiLCJ2aXNDb25maWciLCJyYWRpdXNNYXhQaXhlbHMiLCJ1cGRhdGVUcmlnZ2VycyIsImZpbHRlclZhbHVlVXBkYXRlVHJpZ2dlcnMiLCJnZXRWaXN1YWxDaGFubmVsVXBkYXRlVHJpZ2dlcnMiLCJkZWZhdWx0TGF5ZXJQcm9wcyIsImdldERlZmF1bHREZWNrTGF5ZXJQcm9wcyIsImJydXNoaW5nUHJvcHMiLCJnZXRCcnVzaGluZ0V4dGVuc2lvblByb3BzIiwiZ2V0UGl4ZWxPZmZzZXQiLCJnZXRUZXh0T2Zmc2V0QnlSYWRpdXMiLCJnZXRSYWRpdXMiLCJleHRlbnNpb25zIiwiX3RvQ29uc3VtYWJsZUFycmF5MiIsInNoYXJlZFByb3BzIiwiZmlsdGVyUmFuZ2UiLCJsYWJlbExheWVycyIsInJlbmRlclRleHRMYWJlbExheWVyIiwiaG92ZXJlZE9iamVjdCIsImhhc0hvdmVyZWRPYmplY3QiLCJwYXJhbWV0ZXJzIiwiZGVwdGhUZXN0IiwiY3VsbEZhY2UiLCJHTCIsIkZST05UIiwiU3ZnSWNvbkxheWVyIiwiZ2V0SWNvbkdlb21ldHJ5IiwiX3RoaXMzJGljb25HZW9tZXRyeSIsImdldERlZmF1bHRIb3ZlckxheWVyUHJvcHMiLCJ2aXNpYmxlIiwiZ2V0RmlsbENvbG9yIiwiaGlnaGxpZ2h0Q29sb3IiLCJfdGhpczMkaWNvbkdlb21ldHJ5MiIsImZpbmREZWZhdWx0TGF5ZXJQcm9wcyIsIl9yZWY1IiwiX3JlZjUkZmllbGRQYWlycyIsImZpZWxkUGFpcnMiLCJfcmVmNSRmaWVsZHMiLCJmaWVsZHMiLCJub3RGb3VuZCIsImljb25GaWVsZHMiLCJfcmVmNiIsIm5hbWUiLCJyZXBsYWNlIiwidHJpbSIsInNwbGl0Iiwic29tZSIsInNlZyIsIklDT05fRklFTERTIiwiaW5jbHVkZXMiLCJwdFBhaXIiLCJhc3NpZ25Qb2ludFBhaXJUb0xheWVyQ29sdW1uIiwibWFwIiwiaWNvbkZpZWxkIiwibGFiZWwiLCJpc1Zpc2libGUiLCJMYXllciJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pY29uLWxheWVyL2ljb24tbGF5ZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFdpbmRvdyBmcm9tICdnbG9iYWwvd2luZG93JztcbmltcG9ydCB7QnJ1c2hpbmdFeHRlbnNpb259IGZyb20gJ0BkZWNrLmdsL2V4dGVuc2lvbnMnO1xuaW1wb3J0IEdMIGZyb20gJ0BsdW1hLmdsL2NvbnN0YW50cyc7XG5cbmltcG9ydCB7U3ZnSWNvbkxheWVyfSBmcm9tICdAa2VwbGVyLmdsL2RlY2tnbC1sYXllcnMnO1xuaW1wb3J0IEljb25MYXllckljb24gZnJvbSAnLi9pY29uLWxheWVyLWljb24nO1xuaW1wb3J0IHtJQ09OX0ZJRUxEU30gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuaW1wb3J0IEljb25JbmZvTW9kYWxGYWN0b3J5IGZyb20gJy4vaWNvbi1pbmZvLW1vZGFsJztcbmltcG9ydCBMYXllciwge0xheWVyQmFzZUNvbmZpZywgTGF5ZXJCYXNlQ29uZmlnUGFydGlhbH0gZnJvbSAnLi4vYmFzZS1sYXllcic7XG5pbXBvcnQge2Fzc2lnblBvaW50UGFpclRvTGF5ZXJDb2x1bW4sIEZpbmREZWZhdWx0TGF5ZXJQcm9wc1JldHVyblZhbHVlfSBmcm9tICcuLi9sYXllci11dGlscyc7XG5pbXBvcnQge2lzVGVzdH0gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5pbXBvcnQge2dldFRleHRPZmZzZXRCeVJhZGl1cywgZm9ybWF0VGV4dExhYmVsRGF0YX0gZnJvbSAnLi4vbGF5ZXItdGV4dC1sYWJlbCc7XG5pbXBvcnQge2RlZmF1bHQgYXMgS2VwbGVyVGFibGV9IGZyb20gJ0BrZXBsZXIuZ2wvdGFibGUnO1xuaW1wb3J0IHtnZXRBcHBsaWNhdGlvbkNvbmZpZywgRGF0YUNvbnRhaW5lckludGVyZmFjZX0gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5pbXBvcnQge1xuICBDb2xvclJhbmdlLFxuICBWaXNDb25maWdCb29sZWFuLFxuICBWaXNDb25maWdDb2xvclJhbmdlLFxuICBWaXNDb25maWdOdW1iZXIsXG4gIFZpc0NvbmZpZ1JhbmdlLFxuICBNZXJnZSxcbiAgTGF5ZXJDb2x1bW5cbn0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5cbmV4cG9ydCB0eXBlIEljb25MYXllckNvbHVtbnNDb25maWcgPSB7XG4gIGxhdDogTGF5ZXJDb2x1bW47XG4gIGxuZzogTGF5ZXJDb2x1bW47XG4gIGFsdGl0dWRlOiBMYXllckNvbHVtbjtcbiAgaWNvbjogTGF5ZXJDb2x1bW47XG59O1xuXG50eXBlIEljb25HZW9tZXRyeSA9IG9iamVjdCB8IG51bGw7XG5cbmV4cG9ydCB0eXBlIEljb25MYXllclZpc0NvbmZpZ1NldHRpbmdzID0ge1xuICByYWRpdXM6IFZpc0NvbmZpZ051bWJlcjtcbiAgZml4ZWRSYWRpdXM6IFZpc0NvbmZpZ0Jvb2xlYW47XG4gIG9wYWNpdHk6IFZpc0NvbmZpZ051bWJlcjtcbiAgY29sb3JSYW5nZTogVmlzQ29uZmlnQ29sb3JSYW5nZTtcbiAgcmFkaXVzUmFuZ2U6IFZpc0NvbmZpZ1JhbmdlO1xufTtcblxuZXhwb3J0IHR5cGUgSWNvbkxheWVyVmlzQ29uZmlnID0ge1xuICByYWRpdXM6IG51bWJlcjtcbiAgZml4ZWRSYWRpdXM6IGJvb2xlYW47XG4gIG9wYWNpdHk6IG51bWJlcjtcbiAgY29sb3JSYW5nZTogQ29sb3JSYW5nZTtcbiAgcmFkaXVzUmFuZ2U6IFtudW1iZXIsIG51bWJlcl07XG4gIGJpbGxib2FyZDogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCB0eXBlIEljb25MYXllckNvbmZpZyA9IE1lcmdlPFxuICBMYXllckJhc2VDb25maWcsXG4gIHtjb2x1bW5zOiBJY29uTGF5ZXJDb2x1bW5zQ29uZmlnOyB2aXNDb25maWc6IEljb25MYXllclZpc0NvbmZpZ31cbj47XG5cbmV4cG9ydCB0eXBlIEljb25MYXllckRhdGEgPSB7aW5kZXg6IG51bWJlcjsgaWNvbjogc3RyaW5nfTtcblxuY29uc3QgYnJ1c2hpbmdFeHRlbnNpb24gPSBuZXcgQnJ1c2hpbmdFeHRlbnNpb24oKTtcblxuZXhwb3J0IGNvbnN0IGljb25Qb3NBY2Nlc3NvciA9XG4gICh7bGF0LCBsbmcsIGFsdGl0dWRlfTogSWNvbkxheWVyQ29sdW1uc0NvbmZpZykgPT5cbiAgKGRjOiBEYXRhQ29udGFpbmVySW50ZXJmYWNlKSA9PlxuICBkID0+XG4gICAgW1xuICAgICAgZGMudmFsdWVBdChkLmluZGV4LCBsbmcuZmllbGRJZHgpLFxuICAgICAgZGMudmFsdWVBdChkLmluZGV4LCBsYXQuZmllbGRJZHgpLFxuICAgICAgYWx0aXR1ZGU/LmZpZWxkSWR4ID4gLTEgPyBkYy52YWx1ZUF0KGQuaW5kZXgsIGFsdGl0dWRlLmZpZWxkSWR4KSA6IDBcbiAgICBdO1xuXG5leHBvcnQgY29uc3QgaWNvbkFjY2Vzc29yID1cbiAgKHtpY29ufTogSWNvbkxheWVyQ29sdW1uc0NvbmZpZykgPT5cbiAgKGRjOiBEYXRhQ29udGFpbmVySW50ZXJmYWNlKSA9PlxuICBkID0+XG4gICAgZGMudmFsdWVBdChkLmluZGV4LCBpY29uLmZpZWxkSWR4KTtcblxuZXhwb3J0IGNvbnN0IGljb25SZXF1aXJlZENvbHVtbnM6IFsnbGF0JywgJ2xuZycsICdpY29uJ10gPSBbJ2xhdCcsICdsbmcnLCAnaWNvbiddO1xuZXhwb3J0IGNvbnN0IGljb25PcHRpb25hbENvbHVtbnM6IFsnYWx0aXR1ZGUnXSA9IFsnYWx0aXR1ZGUnXTtcblxuZXhwb3J0IGNvbnN0IHBvaW50VmlzQ29uZmlnczoge1xuICByYWRpdXM6ICdyYWRpdXMnO1xuICBmaXhlZFJhZGl1czogJ2ZpeGVkUmFkaXVzJztcbiAgb3BhY2l0eTogJ29wYWNpdHknO1xuICBjb2xvclJhbmdlOiAnY29sb3JSYW5nZSc7XG4gIHJhZGl1c1JhbmdlOiAncmFkaXVzUmFuZ2UnO1xuICBiaWxsYm9hcmQ6ICdiaWxsYm9hcmQnO1xufSA9IHtcbiAgcmFkaXVzOiAncmFkaXVzJyxcbiAgZml4ZWRSYWRpdXM6ICdmaXhlZFJhZGl1cycsXG4gIG9wYWNpdHk6ICdvcGFjaXR5JyxcbiAgY29sb3JSYW5nZTogJ2NvbG9yUmFuZ2UnLFxuICByYWRpdXNSYW5nZTogJ3JhZGl1c1JhbmdlJyxcbiAgYmlsbGJvYXJkOiAnYmlsbGJvYXJkJ1xufTtcblxuZnVuY3Rpb24gZmxhdHRlckljb25Qb3NpdGlvbnMoaWNvbikge1xuICAvLyBoYWQgdG8gZmxpcCB5LCBzaW5jZSBAbHVtYSBtb2RhbCBoYXMgY2hhbmdlZFxuICByZXR1cm4gaWNvbi5tZXNoLmNlbGxzLnJlZHVjZSgocHJldiwgY2VsbCkgPT4ge1xuICAgIGNlbGwuZm9yRWFjaChwID0+IHtcbiAgICAgIHByZXYucHVzaChcbiAgICAgICAgLi4uW2ljb24ubWVzaC5wb3NpdGlvbnNbcF1bMF0sIC1pY29uLm1lc2gucG9zaXRpb25zW3BdWzFdLCBpY29uLm1lc2gucG9zaXRpb25zW3BdWzJdXVxuICAgICAgKTtcbiAgICB9KTtcbiAgICByZXR1cm4gcHJldjtcbiAgfSwgW10pO1xufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBJY29uTGF5ZXIgZXh0ZW5kcyBMYXllciB7XG4gIGdldEljb25BY2Nlc3NvcjogKGRhdGFDb250YWluZXI6IERhdGFDb250YWluZXJJbnRlcmZhY2UpID0+IChkOiBhbnkpID0+IGFueTtcbiAgX2xheWVySW5mb01vZGFsOiAoKSA9PiBKU1guRWxlbWVudDtcbiAgaWNvbkdlb21ldHJ5OiBJY29uR2VvbWV0cnk7XG5cbiAgZGVjbGFyZSB2aXNDb25maWdTZXR0aW5nczogSWNvbkxheWVyVmlzQ29uZmlnU2V0dGluZ3M7XG4gIGRlY2xhcmUgY29uZmlnOiBJY29uTGF5ZXJDb25maWc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvcHM6IHtcbiAgICAgIGlkPzogc3RyaW5nO1xuICAgICAgaWNvbkdlb21ldHJ5PzogSWNvbkdlb21ldHJ5O1xuICAgICAgc3ZnSWNvbnM/OiBhbnlbXTtcbiAgICB9ICYgTGF5ZXJCYXNlQ29uZmlnUGFydGlhbFxuICApIHtcbiAgICBzdXBlcihwcm9wcyk7XG5cbiAgICB0aGlzLnJlZ2lzdGVyVmlzQ29uZmlnKHBvaW50VmlzQ29uZmlncyk7XG4gICAgdGhpcy5nZXRQb3NpdGlvbkFjY2Vzc29yID0gKGRhdGFDb250YWluZXI6IERhdGFDb250YWluZXJJbnRlcmZhY2UpID0+XG4gICAgICBpY29uUG9zQWNjZXNzb3IodGhpcy5jb25maWcuY29sdW1ucykoZGF0YUNvbnRhaW5lcik7XG4gICAgdGhpcy5nZXRJY29uQWNjZXNzb3IgPSBkYXRhQ29udGFpbmVyID0+IGljb25BY2Nlc3Nvcih0aGlzLmNvbmZpZy5jb2x1bW5zKShkYXRhQ29udGFpbmVyKTtcblxuICAgIHRoaXMuX2xheWVySW5mb01vZGFsID0gSWNvbkluZm9Nb2RhbEZhY3RvcnkocHJvcHMuc3ZnSWNvbnMpO1xuICAgIHRoaXMuaWNvbkdlb21ldHJ5ID0gcHJvcHMuaWNvbkdlb21ldHJ5IHx8IG51bGw7XG5cbiAgICBpZiAoaXNUZXN0KCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHByb3BzLnN2Z0ljb25zKSB7XG4gICAgICAvLyBpZiBzdmcgaWNvbnMgYXJlIHBhc3NlZCBpbiB0aGVuIGJ5cGFzcyBmZXRjaGluZyBvZiByZW1vdGUgc3ZnIGljb25zXG4gICAgICB0aGlzLnNldFN2Z0ljb25zKHByb3BzLnN2Z0ljb25zKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gcHJlcGFyZSBsYXllciBpbmZvIG1vZGFsIGFuZCBmZXRjaCByZW1vdGUgc3ZnIGljb25zXG4gICAgICB0aGlzLmdldFN2Z0ljb25zKCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IHN2Z0ljb25VcmwoKSB7XG4gICAgcmV0dXJuIGAke2dldEFwcGxpY2F0aW9uQ29uZmlnKCkuY2RuVXJsfS9pY29ucy9zdmctaWNvbnMuanNvbmA7XG4gIH1cblxuICBnZXQgdHlwZSgpOiAnaWNvbicge1xuICAgIHJldHVybiAnaWNvbic7XG4gIH1cblxuICBnZXQgcmVxdWlyZWRMYXllckNvbHVtbnMoKSB7XG4gICAgcmV0dXJuIGljb25SZXF1aXJlZENvbHVtbnM7XG4gIH1cblxuICBnZXQgb3B0aW9uYWxDb2x1bW5zKCkge1xuICAgIHJldHVybiBpY29uT3B0aW9uYWxDb2x1bW5zO1xuICB9XG5cbiAgZ2V0IGNvbHVtblBhaXJzKCkge1xuICAgIHJldHVybiB0aGlzLmRlZmF1bHRQb2ludENvbHVtblBhaXJzO1xuICB9XG5cbiAgZ2V0IGxheWVySWNvbigpIHtcbiAgICByZXR1cm4gSWNvbkxheWVySWNvbjtcbiAgfVxuXG4gIGdldCB2aXN1YWxDaGFubmVscygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgY29sb3I6IHtcbiAgICAgICAgLi4uc3VwZXIudmlzdWFsQ2hhbm5lbHMuY29sb3IsXG4gICAgICAgIGFjY2Vzc29yOiAnZ2V0RmlsbENvbG9yJyxcbiAgICAgICAgZGVmYXVsdFZhbHVlOiBjb25maWcgPT4gY29uZmlnLmNvbG9yXG4gICAgICB9LFxuICAgICAgc2l6ZToge1xuICAgICAgICAuLi5zdXBlci52aXN1YWxDaGFubmVscy5zaXplLFxuICAgICAgICBwcm9wZXJ0eTogJ3JhZGl1cycsXG4gICAgICAgIHJhbmdlOiAncmFkaXVzUmFuZ2UnLFxuICAgICAgICBjaGFubmVsU2NhbGVUeXBlOiAncmFkaXVzJyxcbiAgICAgICAgYWNjZXNzb3I6ICdnZXRSYWRpdXMnLFxuICAgICAgICBkZWZhdWx0VmFsdWU6IDFcbiAgICAgIH1cbiAgICB9O1xuICB9XG5cbiAgZ2V0IGxheWVySW5mb01vZGFsKCkge1xuICAgIHJldHVybiB7XG4gICAgICBpZDogJ2ljb25JbmZvJyxcbiAgICAgIHRlbXBsYXRlOiB0aGlzLl9sYXllckluZm9Nb2RhbCxcbiAgICAgIG1vZGFsUHJvcHM6IHtcbiAgICAgICAgdGl0bGU6ICdtb2RhbC5pY29uSW5mby50aXRsZSdcbiAgICAgIH1cbiAgICB9O1xuICB9XG5cbiAgZ2V0Wm9vbUZhY3Rvcih7em9vbSwgem9vbU9mZnNldCA9IDB9OiB7em9vbTogbnVtYmVyOyB6b29tT2Zmc2V0PzogbnVtYmVyfSkge1xuICAgIHJldHVybiBNYXRoLnBvdygyLCAxNCAtIHpvb20gKyB6b29tT2Zmc2V0KTtcbiAgfVxuXG4gIGdldFN2Z0ljb25zKCkge1xuICAgIGNvbnN0IGZldGNoQ29uZmlnID0ge1xuICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgIG1vZGU6ICdjb3JzJyxcbiAgICAgIGNhY2hlOiAnbm8tY2FjaGUnXG4gICAgfTtcblxuICAgIGlmIChXaW5kb3cuZmV0Y2ggJiYgdGhpcy5zdmdJY29uVXJsKSB7XG4gICAgICBXaW5kb3cuZmV0Y2godGhpcy5zdmdJY29uVXJsLCBmZXRjaENvbmZpZylcbiAgICAgICAgLnRoZW4ocmVzcG9uc2UgPT4gcmVzcG9uc2UuanNvbigpKVxuICAgICAgICAudGhlbigocGFyc2VkOiB7c3ZnSWNvbnM/OiBhbnlbXX0gPSB7fSkgPT4ge1xuICAgICAgICAgIHRoaXMuc2V0U3ZnSWNvbnMocGFyc2VkLnN2Z0ljb25zKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgc2V0U3ZnSWNvbnMoc3ZnSWNvbnM6IGFueVtdID0gW10pIHtcbiAgICB0aGlzLmljb25HZW9tZXRyeSA9IHN2Z0ljb25zLnJlZHVjZShcbiAgICAgIChhY2N1LCBjdXJyKSA9PiAoe1xuICAgICAgICAuLi5hY2N1LFxuICAgICAgICBbY3Vyci5pZF06IGZsYXR0ZXJJY29uUG9zaXRpb25zKGN1cnIpXG4gICAgICB9KSxcbiAgICAgIHt9XG4gICAgKTtcblxuICAgIHRoaXMuX2xheWVySW5mb01vZGFsID0gSWNvbkluZm9Nb2RhbEZhY3Rvcnkoc3ZnSWNvbnMpO1xuICB9XG5cbiAgc3RhdGljIGZpbmREZWZhdWx0TGF5ZXJQcm9wcyh7XG4gICAgZmllbGRQYWlycyA9IFtdLFxuICAgIGZpZWxkcyA9IFtdXG4gIH06IEtlcGxlclRhYmxlKTogRmluZERlZmF1bHRMYXllclByb3BzUmV0dXJuVmFsdWUge1xuICAgIGNvbnN0IG5vdEZvdW5kOiBGaW5kRGVmYXVsdExheWVyUHJvcHNSZXR1cm5WYWx1ZSA9IHtwcm9wczogW119O1xuICAgIGlmICghZmllbGRQYWlycy5sZW5ndGggfHwgIWZpZWxkcy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBub3RGb3VuZDtcbiAgICB9XG5cbiAgICBjb25zdCBpY29uRmllbGRzID0gZmllbGRzLmZpbHRlcigoe25hbWV9KSA9PlxuICAgICAgbmFtZVxuICAgICAgICAucmVwbGFjZSgvW18sLl0rL2csICcgJylcbiAgICAgICAgLnRyaW0oKVxuICAgICAgICAuc3BsaXQoJyAnKVxuICAgICAgICAuc29tZShzZWcgPT4gSUNPTl9GSUVMRFMuaWNvbi5zb21lKHQgPT4gdC5pbmNsdWRlcyhzZWcpKSlcbiAgICApO1xuXG4gICAgaWYgKCFpY29uRmllbGRzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIG5vdEZvdW5kO1xuICAgIH1cblxuICAgIC8vIGNyZWF0ZSBpY29uIGxheWVycyBmb3IgZmlyc3QgcG9pbnQgcGFpclxuICAgIGNvbnN0IHB0UGFpciA9IGZpZWxkUGFpcnNbMF07XG4gICAgY29uc3QgY29sdW1ucyA9IGFzc2lnblBvaW50UGFpclRvTGF5ZXJDb2x1bW4ocHRQYWlyLCB0cnVlKTtcblxuICAgIGNvbnN0IHByb3BzID0gaWNvbkZpZWxkcy5tYXAoaWNvbkZpZWxkID0+ICh7XG4gICAgICBsYWJlbDogaWNvbkZpZWxkLm5hbWUucmVwbGFjZSgvW18sLl0rL2csICcgJykudHJpbSgpLFxuICAgICAgY29sdW1uczoge1xuICAgICAgICAuLi5jb2x1bW5zLFxuICAgICAgICBpY29uOiB7XG4gICAgICAgICAgdmFsdWU6IGljb25GaWVsZC5uYW1lLFxuICAgICAgICAgIGZpZWxkSWR4OiBpY29uRmllbGQuZmllbGRJZHhcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGlzVmlzaWJsZTogdHJ1ZVxuICAgIH0pKTtcblxuICAgIHJldHVybiB7cHJvcHN9O1xuICB9XG5cbiAgZ2V0RmlsdGVyZWRJdGVtQ291bnQoKSB7XG4gICAgLy8gdXNlIHRvdGFsXG4gICAgaWYgKE9iamVjdC5rZXlzKHRoaXMuZmlsdGVyZWRJdGVtQ291bnQpLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIE9iamVjdC52YWx1ZXModGhpcy5maWx0ZXJlZEl0ZW1Db3VudCkucmVkdWNlKFxuICAgICAgICAodG90YWwsIGN1cnIpID0+IChOdW1iZXIuaXNGaW5pdGUoY3VycikgPyB0b3RhbCArIGN1cnIgOiB0b3RhbCksXG4gICAgICAgIDBcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjYWxjdWxhdGVEYXRhQXR0cmlidXRlKHtkYXRhQ29udGFpbmVyLCBmaWx0ZXJlZEluZGV4fTogS2VwbGVyVGFibGUsIGdldFBvc2l0aW9uKSB7XG4gICAgY29uc3QgZ2V0SWNvbiA9IHRoaXMuZ2V0SWNvbkFjY2Vzc29yKGRhdGFDb250YWluZXIpO1xuICAgIGNvbnN0IGRhdGE6IEljb25MYXllckRhdGFbXSA9IFtdO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBmaWx0ZXJlZEluZGV4Lmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBpbmRleCA9IGZpbHRlcmVkSW5kZXhbaV07XG4gICAgICBjb25zdCByb3dJbmRleCA9IHtpbmRleH07XG4gICAgICBjb25zdCBwb3MgPSBnZXRQb3NpdGlvbihyb3dJbmRleCk7XG4gICAgICBjb25zdCBpY29uID0gZ2V0SWNvbihyb3dJbmRleCk7XG5cbiAgICAgIC8vIGlmIGRvZXNuJ3QgaGF2ZSBwb2ludCBsYXQgb3IgbG5nLCBkbyBub3QgYWRkIHRoZSBwb2ludFxuICAgICAgLy8gZGVjay5nbCBjYW4ndCBoYW5kbGUgcG9zaXRpb24gPSBudWxsXG4gICAgICBpZiAocG9zLmV2ZXJ5KE51bWJlci5pc0Zpbml0ZSkgJiYgdHlwZW9mIGljb24gPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGRhdGEucHVzaCh7XG4gICAgICAgICAgaW5kZXgsXG4gICAgICAgICAgaWNvblxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZGF0YTtcbiAgfVxuXG4gIGZvcm1hdExheWVyRGF0YShkYXRhc2V0cywgb2xkTGF5ZXJEYXRhKSB7XG4gICAgaWYgKHRoaXMuY29uZmlnLmRhdGFJZCA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHt9O1xuICAgIH1cbiAgICBjb25zdCB7dGV4dExhYmVsfSA9IHRoaXMuY29uZmlnO1xuICAgIGNvbnN0IHtncHVGaWx0ZXIsIGRhdGFDb250YWluZXJ9ID0gZGF0YXNldHNbdGhpcy5jb25maWcuZGF0YUlkXTtcblxuICAgIGNvbnN0IGdldFBvc2l0aW9uID0gdGhpcy5nZXRQb3NpdGlvbkFjY2Vzc29yKGRhdGFDb250YWluZXIpO1xuXG4gICAgY29uc3Qge2RhdGEsIHRyaWdnZXJDaGFuZ2VkfSA9IHRoaXMudXBkYXRlRGF0YShkYXRhc2V0cywgb2xkTGF5ZXJEYXRhKTtcblxuICAgIC8vIGdldCBhbGwgZGlzdGluY3QgY2hhcmFjdGVycyBpbiB0aGUgdGV4dCBsYWJlbHNcbiAgICBjb25zdCB0ZXh0TGFiZWxzID0gZm9ybWF0VGV4dExhYmVsRGF0YSh7XG4gICAgICB0ZXh0TGFiZWwsXG4gICAgICB0cmlnZ2VyQ2hhbmdlZCxcbiAgICAgIG9sZExheWVyRGF0YSxcbiAgICAgIGRhdGEsXG4gICAgICBkYXRhQ29udGFpbmVyXG4gICAgfSk7XG5cbiAgICBjb25zdCBhY2Nlc3NvcnMgPSB0aGlzLmdldEF0dHJpYnV0ZUFjY2Vzc29ycyh7ZGF0YUNvbnRhaW5lcn0pO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGRhdGEsXG4gICAgICBnZXRQb3NpdGlvbixcbiAgICAgIGdldEZpbHRlclZhbHVlOiBncHVGaWx0ZXIuZmlsdGVyVmFsdWVBY2Nlc3NvcihkYXRhQ29udGFpbmVyKSgpLFxuICAgICAgdGV4dExhYmVscyxcbiAgICAgIC4uLmFjY2Vzc29yc1xuICAgIH07XG4gIH1cblxuICB1cGRhdGVMYXllck1ldGEoZGF0YXNldDogS2VwbGVyVGFibGUsIGdldFBvc2l0aW9uKSB7XG4gICAgY29uc3Qge2RhdGFDb250YWluZXJ9ID0gZGF0YXNldDtcbiAgICBjb25zdCBib3VuZHMgPSB0aGlzLmdldFBvaW50c0JvdW5kcyhkYXRhQ29udGFpbmVyLCBnZXRQb3NpdGlvbik7XG4gICAgdGhpcy51cGRhdGVNZXRhKHtib3VuZHN9KTtcbiAgfVxuXG4gIHJlbmRlckxheWVyKG9wdHMpIHtcbiAgICBjb25zdCB7ZGF0YSwgZ3B1RmlsdGVyLCBvYmplY3RIb3ZlcmVkLCBtYXBTdGF0ZSwgaW50ZXJhY3Rpb25Db25maWd9ID0gb3B0cztcblxuICAgIGNvbnN0IHJhZGl1c1NjYWxlID0gdGhpcy5nZXRSYWRpdXNTY2FsZUJ5Wm9vbShtYXBTdGF0ZSk7XG5cbiAgICBjb25zdCBsYXllclByb3BzID0ge1xuICAgICAgcmFkaXVzU2NhbGUsXG4gICAgICBiaWxsYm9hcmQ6IHRoaXMuY29uZmlnLnZpc0NvbmZpZy5iaWxsYm9hcmQsXG4gICAgICAuLi4odGhpcy5jb25maWcudmlzQ29uZmlnLmZpeGVkUmFkaXVzID8ge30gOiB7cmFkaXVzTWF4UGl4ZWxzOiA1MDB9KVxuICAgIH07XG5cbiAgICBjb25zdCB1cGRhdGVUcmlnZ2VycyA9IHtcbiAgICAgIGdldFBvc2l0aW9uOiB0aGlzLmNvbmZpZy5jb2x1bW5zLFxuICAgICAgZ2V0RmlsdGVyVmFsdWU6IGdwdUZpbHRlci5maWx0ZXJWYWx1ZVVwZGF0ZVRyaWdnZXJzLFxuICAgICAgLi4udGhpcy5nZXRWaXN1YWxDaGFubmVsVXBkYXRlVHJpZ2dlcnMoKVxuICAgIH07XG5cbiAgICBjb25zdCBkZWZhdWx0TGF5ZXJQcm9wcyA9IHRoaXMuZ2V0RGVmYXVsdERlY2tMYXllclByb3BzKG9wdHMpO1xuICAgIGNvbnN0IGJydXNoaW5nUHJvcHMgPSB0aGlzLmdldEJydXNoaW5nRXh0ZW5zaW9uUHJvcHMoaW50ZXJhY3Rpb25Db25maWcpO1xuICAgIGNvbnN0IGdldFBpeGVsT2Zmc2V0ID0gZ2V0VGV4dE9mZnNldEJ5UmFkaXVzKHJhZGl1c1NjYWxlLCBkYXRhLmdldFJhZGl1cywgbWFwU3RhdGUpO1xuICAgIGNvbnN0IGV4dGVuc2lvbnMgPSBbLi4uZGVmYXVsdExheWVyUHJvcHMuZXh0ZW5zaW9ucywgYnJ1c2hpbmdFeHRlbnNpb25dO1xuXG4gICAgLy8gc2hhcmVkIFByb3BzIGJldHdlZW4gbGF5ZXIgYW5kIGxhYmVsIGxheWVyXG4gICAgY29uc3Qgc2hhcmVkUHJvcHMgPSB7XG4gICAgICBnZXRGaWx0ZXJWYWx1ZTogZGF0YS5nZXRGaWx0ZXJWYWx1ZSxcbiAgICAgIGV4dGVuc2lvbnMsXG4gICAgICBmaWx0ZXJSYW5nZTogZGVmYXVsdExheWVyUHJvcHMuZmlsdGVyUmFuZ2UsXG4gICAgICAuLi5icnVzaGluZ1Byb3BzXG4gICAgfTtcblxuICAgIGNvbnN0IGxhYmVsTGF5ZXJzID0gW1xuICAgICAgLi4udGhpcy5yZW5kZXJUZXh0TGFiZWxMYXllcihcbiAgICAgICAge1xuICAgICAgICAgIGdldFBvc2l0aW9uOiBkYXRhLmdldFBvc2l0aW9uLFxuICAgICAgICAgIHNoYXJlZFByb3BzLFxuICAgICAgICAgIGdldFBpeGVsT2Zmc2V0LFxuICAgICAgICAgIHVwZGF0ZVRyaWdnZXJzXG4gICAgICAgIH0sXG4gICAgICAgIG9wdHNcbiAgICAgIClcbiAgICBdO1xuICAgIGNvbnN0IGhvdmVyZWRPYmplY3QgPSB0aGlzLmhhc0hvdmVyZWRPYmplY3Qob2JqZWN0SG92ZXJlZCk7XG5cbiAgICBjb25zdCBwYXJhbWV0ZXJzID0ge1xuICAgICAgLy8gaWNvbnMgd2lsbCBiZSBmbGF0IG9uIHRoZSBtYXAgd2hlbiB0aGUgYWx0aXR1ZGUgY29sdW1uIGlzIG5vdCB1c2VkXG4gICAgICBkZXB0aFRlc3Q6IHRoaXMuY29uZmlnLmNvbHVtbnMuYWx0aXR1ZGU/LmZpZWxkSWR4ID4gLTEsXG4gICAgICBjdWxsRmFjZTogR0wuRlJPTlRcbiAgICB9O1xuXG4gICAgcmV0dXJuICF0aGlzLmljb25HZW9tZXRyeVxuICAgICAgPyBbXVxuICAgICAgOiBbXG4gICAgICAgICAgbmV3IFN2Z0ljb25MYXllcih7XG4gICAgICAgICAgICAuLi5kZWZhdWx0TGF5ZXJQcm9wcyxcbiAgICAgICAgICAgIC4uLmJydXNoaW5nUHJvcHMsXG4gICAgICAgICAgICAuLi5sYXllclByb3BzLFxuICAgICAgICAgICAgLi4uZGF0YSxcbiAgICAgICAgICAgIHBhcmFtZXRlcnMsXG4gICAgICAgICAgICBnZXRJY29uR2VvbWV0cnk6IGlkID0+IHRoaXMuaWNvbkdlb21ldHJ5Py5baWRdLFxuXG4gICAgICAgICAgICAvLyB1cGRhdGUgdHJpZ2dlcnNcbiAgICAgICAgICAgIHVwZGF0ZVRyaWdnZXJzLFxuICAgICAgICAgICAgZXh0ZW5zaW9uc1xuICAgICAgICAgIH0pLFxuXG4gICAgICAgICAgLy8gaG92ZXIgbGF5ZXJcbiAgICAgICAgICAuLi4oaG92ZXJlZE9iamVjdFxuICAgICAgICAgICAgPyBbXG4gICAgICAgICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBTdmdJY29uTGF5ZXJQcm9wcyBuZWVkcyBnZXRJY29uIEZpZWxkXG4gICAgICAgICAgICAgICAgbmV3IFN2Z0ljb25MYXllcih7XG4gICAgICAgICAgICAgICAgICAuLi50aGlzLmdldERlZmF1bHRIb3ZlckxheWVyUHJvcHMoKSxcbiAgICAgICAgICAgICAgICAgIC4uLmxheWVyUHJvcHMsXG4gICAgICAgICAgICAgICAgICB2aXNpYmxlOiBkZWZhdWx0TGF5ZXJQcm9wcy52aXNpYmxlLFxuICAgICAgICAgICAgICAgICAgZGF0YTogW2hvdmVyZWRPYmplY3RdLFxuICAgICAgICAgICAgICAgICAgcGFyYW1ldGVycyxcbiAgICAgICAgICAgICAgICAgIGdldFBvc2l0aW9uOiBkYXRhLmdldFBvc2l0aW9uLFxuICAgICAgICAgICAgICAgICAgZ2V0UmFkaXVzOiBkYXRhLmdldFJhZGl1cyxcbiAgICAgICAgICAgICAgICAgIGdldEZpbGxDb2xvcjogdGhpcy5jb25maWcuaGlnaGxpZ2h0Q29sb3IsXG4gICAgICAgICAgICAgICAgICBnZXRJY29uR2VvbWV0cnk6IGlkID0+IHRoaXMuaWNvbkdlb21ldHJ5Py5baWRdXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgOiBbXSksXG5cbiAgICAgICAgICAvLyB0ZXh0IGxhYmVsIGxheWVyXG4gICAgICAgICAgLi4ubGFiZWxMYXllcnNcbiAgICAgICAgXTtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFHQSxJ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
|
|
399
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfd2luZG93IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfZXh0ZW5zaW9ucyIsIl9jb25zdGFudHMiLCJfZGVja2dsTGF5ZXJzIiwiX2ljb25MYXllckljb24iLCJfY29uc3RhbnRzMiIsIl9pY29uSW5mb01vZGFsIiwiX2Jhc2VMYXllciIsIl9sYXllclV0aWxzIiwiX3V0aWxzIiwiX2xheWVyVGV4dExhYmVsIiwib3duS2V5cyIsImUiLCJyIiwidCIsIk9iamVjdCIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJfY2FsbFN1cGVyIiwiX2dldFByb3RvdHlwZU9mMiIsIl9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuMiIsIl9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QiLCJSZWZsZWN0IiwiY29uc3RydWN0IiwiY29uc3RydWN0b3IiLCJCb29sZWFuIiwicHJvdG90eXBlIiwidmFsdWVPZiIsImNhbGwiLCJfc3VwZXJQcm9wR2V0IiwicCIsIl9nZXQyIiwiYnJ1c2hpbmdFeHRlbnNpb24iLCJCcnVzaGluZ0V4dGVuc2lvbiIsImljb25Qb3NBY2Nlc3NvciIsImV4cG9ydHMiLCJfcmVmIiwibGF0IiwibG5nIiwiYWx0aXR1ZGUiLCJkYyIsImQiLCJ2YWx1ZUF0IiwiaW5kZXgiLCJmaWVsZElkeCIsImljb25BY2Nlc3NvciIsIl9yZWYyIiwiaWNvbiIsImljb25SZXF1aXJlZENvbHVtbnMiLCJpY29uT3B0aW9uYWxDb2x1bW5zIiwicG9pbnRWaXNDb25maWdzIiwicmFkaXVzIiwiZml4ZWRSYWRpdXMiLCJvcGFjaXR5IiwiY29sb3JSYW5nZSIsInJhZGl1c1JhbmdlIiwiYmlsbGJvYXJkIiwiZmxhdHRlckljb25Qb3NpdGlvbnMiLCJtZXNoIiwiY2VsbHMiLCJyZWR1Y2UiLCJwcmV2IiwiY2VsbCIsInBvc2l0aW9ucyIsIkljb25MYXllciIsIl9MYXllciIsInByb3BzIiwiX3RoaXMiLCJfY2xhc3NDYWxsQ2hlY2syIiwicmVnaXN0ZXJWaXNDb25maWciLCJnZXRQb3NpdGlvbkFjY2Vzc29yIiwiZGF0YUNvbnRhaW5lciIsImNvbmZpZyIsImNvbHVtbnMiLCJnZXRJY29uQWNjZXNzb3IiLCJfbGF5ZXJJbmZvTW9kYWwiLCJJY29uSW5mb01vZGFsRmFjdG9yeSIsInN2Z0ljb25zIiwiaWNvbkdlb21ldHJ5IiwiaXNUZXN0Iiwic2V0U3ZnSWNvbnMiLCJnZXRTdmdJY29ucyIsIl9pbmhlcml0czIiLCJfY3JlYXRlQ2xhc3MyIiwia2V5IiwiZ2V0IiwiY29uY2F0IiwiZ2V0QXBwbGljYXRpb25Db25maWciLCJjZG5VcmwiLCJkZWZhdWx0UG9pbnRDb2x1bW5QYWlycyIsIkljb25MYXllckljb24iLCJjb2xvciIsImFjY2Vzc29yIiwiZGVmYXVsdFZhbHVlIiwic2l6ZSIsInByb3BlcnR5IiwicmFuZ2UiLCJjaGFubmVsU2NhbGVUeXBlIiwiaWQiLCJ0ZW1wbGF0ZSIsIm1vZGFsUHJvcHMiLCJ0aXRsZSIsInZhbHVlIiwiZ2V0Wm9vbUZhY3RvciIsIl9yZWYzIiwiem9vbSIsIl9yZWYzJHpvb21PZmZzZXQiLCJ6b29tT2Zmc2V0IiwiTWF0aCIsInBvdyIsIl90aGlzMiIsImZldGNoQ29uZmlnIiwibWV0aG9kIiwibW9kZSIsImNhY2hlIiwiV2luZG93IiwiZmV0Y2giLCJzdmdJY29uVXJsIiwidGhlbiIsInJlc3BvbnNlIiwib2siLCJFcnJvciIsInN0YXR1cyIsImpzb24iLCJwYXJzZWQiLCJ1bmRlZmluZWQiLCJlcnIiLCJjb25zb2xlIiwiZXJyb3IiLCJhY2N1IiwiY3VyciIsImdldEZpbHRlcmVkSXRlbUNvdW50IiwiZmlsdGVyZWRJdGVtQ291bnQiLCJ2YWx1ZXMiLCJ0b3RhbCIsIk51bWJlciIsImlzRmluaXRlIiwiY2FsY3VsYXRlRGF0YUF0dHJpYnV0ZSIsIl9yZWY0IiwiZ2V0UG9zaXRpb24iLCJmaWx0ZXJlZEluZGV4IiwiZ2V0SWNvbiIsImRhdGEiLCJpIiwicm93SW5kZXgiLCJwb3MiLCJldmVyeSIsImZvcm1hdExheWVyRGF0YSIsImRhdGFzZXRzIiwib2xkTGF5ZXJEYXRhIiwiZGF0YUlkIiwidGV4dExhYmVsIiwiX2RhdGFzZXRzJHRoaXMkY29uZmlnIiwiZ3B1RmlsdGVyIiwiX3RoaXMkdXBkYXRlRGF0YSIsInVwZGF0ZURhdGEiLCJ0cmlnZ2VyQ2hhbmdlZCIsInRleHRMYWJlbHMiLCJmb3JtYXRUZXh0TGFiZWxEYXRhIiwiYWNjZXNzb3JzIiwiZ2V0QXR0cmlidXRlQWNjZXNzb3JzIiwiZ2V0RmlsdGVyVmFsdWUiLCJmaWx0ZXJWYWx1ZUFjY2Vzc29yIiwidXBkYXRlTGF5ZXJNZXRhIiwiZGF0YXNldCIsImJvdW5kcyIsImdldFBvaW50c0JvdW5kcyIsInVwZGF0ZU1ldGEiLCJyZW5kZXJMYXllciIsIm9wdHMiLCJfdGhpcyRjb25maWckY29sdW1ucyQiLCJfdGhpczMiLCJvYmplY3RIb3ZlcmVkIiwibWFwU3RhdGUiLCJpbnRlcmFjdGlvbkNvbmZpZyIsInJhZGl1c1NjYWxlIiwiZ2V0UmFkaXVzU2NhbGVCeVpvb20iLCJsYXllclByb3BzIiwidmlzQ29uZmlnIiwicmFkaXVzTWF4UGl4ZWxzIiwidXBkYXRlVHJpZ2dlcnMiLCJmaWx0ZXJWYWx1ZVVwZGF0ZVRyaWdnZXJzIiwiZ2V0VmlzdWFsQ2hhbm5lbFVwZGF0ZVRyaWdnZXJzIiwiZGVmYXVsdExheWVyUHJvcHMiLCJnZXREZWZhdWx0RGVja0xheWVyUHJvcHMiLCJicnVzaGluZ1Byb3BzIiwiZ2V0QnJ1c2hpbmdFeHRlbnNpb25Qcm9wcyIsImdldFBpeGVsT2Zmc2V0IiwiZ2V0VGV4dE9mZnNldEJ5UmFkaXVzIiwiZ2V0UmFkaXVzIiwiZXh0ZW5zaW9ucyIsIl90b0NvbnN1bWFibGVBcnJheTIiLCJzaGFyZWRQcm9wcyIsImZpbHRlclJhbmdlIiwibGFiZWxMYXllcnMiLCJyZW5kZXJUZXh0TGFiZWxMYXllciIsImhvdmVyZWRPYmplY3QiLCJoYXNIb3ZlcmVkT2JqZWN0IiwicGFyYW1ldGVycyIsImRlcHRoVGVzdCIsImN1bGxGYWNlIiwiR0wiLCJGUk9OVCIsIlN2Z0ljb25MYXllciIsImdldEljb25HZW9tZXRyeSIsIl90aGlzMyRpY29uR2VvbWV0cnkiLCJnZXREZWZhdWx0SG92ZXJMYXllclByb3BzIiwidmlzaWJsZSIsImdldEZpbGxDb2xvciIsImhpZ2hsaWdodENvbG9yIiwiX3RoaXMzJGljb25HZW9tZXRyeTIiLCJmaW5kRGVmYXVsdExheWVyUHJvcHMiLCJfcmVmNSIsIl9yZWY1JGZpZWxkUGFpcnMiLCJmaWVsZFBhaXJzIiwiX3JlZjUkZmllbGRzIiwiZmllbGRzIiwibm90Rm91bmQiLCJpY29uRmllbGRzIiwiX3JlZjYiLCJuYW1lIiwicmVwbGFjZSIsInRyaW0iLCJzcGxpdCIsInNvbWUiLCJzZWciLCJJQ09OX0ZJRUxEUyIsImluY2x1ZGVzIiwicHRQYWlyIiwiYXNzaWduUG9pbnRQYWlyVG9MYXllckNvbHVtbiIsIm1hcCIsImljb25GaWVsZCIsImxhYmVsIiwiaXNWaXNpYmxlIiwiTGF5ZXIiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaWNvbi1sYXllci9pY29uLWxheWVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBXaW5kb3cgZnJvbSAnZ2xvYmFsL3dpbmRvdyc7XG5pbXBvcnQge0JydXNoaW5nRXh0ZW5zaW9ufSBmcm9tICdAZGVjay5nbC9leHRlbnNpb25zJztcbmltcG9ydCBHTCBmcm9tICdAbHVtYS5nbC9jb25zdGFudHMnO1xuXG5pbXBvcnQge1N2Z0ljb25MYXllcn0gZnJvbSAnQGtlcGxlci5nbC9kZWNrZ2wtbGF5ZXJzJztcbmltcG9ydCBJY29uTGF5ZXJJY29uIGZyb20gJy4vaWNvbi1sYXllci1pY29uJztcbmltcG9ydCB7SUNPTl9GSUVMRFN9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcbmltcG9ydCBJY29uSW5mb01vZGFsRmFjdG9yeSBmcm9tICcuL2ljb24taW5mby1tb2RhbCc7XG5pbXBvcnQgTGF5ZXIsIHtMYXllckJhc2VDb25maWcsIExheWVyQmFzZUNvbmZpZ1BhcnRpYWx9IGZyb20gJy4uL2Jhc2UtbGF5ZXInO1xuaW1wb3J0IHthc3NpZ25Qb2ludFBhaXJUb0xheWVyQ29sdW1uLCBGaW5kRGVmYXVsdExheWVyUHJvcHNSZXR1cm5WYWx1ZX0gZnJvbSAnLi4vbGF5ZXItdXRpbHMnO1xuaW1wb3J0IHtpc1Rlc3R9IGZyb20gJ0BrZXBsZXIuZ2wvdXRpbHMnO1xuaW1wb3J0IHtnZXRUZXh0T2Zmc2V0QnlSYWRpdXMsIGZvcm1hdFRleHRMYWJlbERhdGF9IGZyb20gJy4uL2xheWVyLXRleHQtbGFiZWwnO1xuaW1wb3J0IHtkZWZhdWx0IGFzIEtlcGxlclRhYmxlfSBmcm9tICdAa2VwbGVyLmdsL3RhYmxlJztcbmltcG9ydCB7Z2V0QXBwbGljYXRpb25Db25maWcsIERhdGFDb250YWluZXJJbnRlcmZhY2V9IGZyb20gJ0BrZXBsZXIuZ2wvdXRpbHMnO1xuaW1wb3J0IHtcbiAgQ29sb3JSYW5nZSxcbiAgVmlzQ29uZmlnQm9vbGVhbixcbiAgVmlzQ29uZmlnQ29sb3JSYW5nZSxcbiAgVmlzQ29uZmlnTnVtYmVyLFxuICBWaXNDb25maWdSYW5nZSxcbiAgTWVyZ2UsXG4gIExheWVyQ29sdW1uXG59IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuXG5leHBvcnQgdHlwZSBJY29uTGF5ZXJDb2x1bW5zQ29uZmlnID0ge1xuICBsYXQ6IExheWVyQ29sdW1uO1xuICBsbmc6IExheWVyQ29sdW1uO1xuICBhbHRpdHVkZTogTGF5ZXJDb2x1bW47XG4gIGljb246IExheWVyQ29sdW1uO1xufTtcblxudHlwZSBJY29uR2VvbWV0cnkgPSBvYmplY3QgfCBudWxsO1xuXG5leHBvcnQgdHlwZSBJY29uTGF5ZXJWaXNDb25maWdTZXR0aW5ncyA9IHtcbiAgcmFkaXVzOiBWaXNDb25maWdOdW1iZXI7XG4gIGZpeGVkUmFkaXVzOiBWaXNDb25maWdCb29sZWFuO1xuICBvcGFjaXR5OiBWaXNDb25maWdOdW1iZXI7XG4gIGNvbG9yUmFuZ2U6IFZpc0NvbmZpZ0NvbG9yUmFuZ2U7XG4gIHJhZGl1c1JhbmdlOiBWaXNDb25maWdSYW5nZTtcbn07XG5cbmV4cG9ydCB0eXBlIEljb25MYXllclZpc0NvbmZpZyA9IHtcbiAgcmFkaXVzOiBudW1iZXI7XG4gIGZpeGVkUmFkaXVzOiBib29sZWFuO1xuICBvcGFjaXR5OiBudW1iZXI7XG4gIGNvbG9yUmFuZ2U6IENvbG9yUmFuZ2U7XG4gIHJhZGl1c1JhbmdlOiBbbnVtYmVyLCBudW1iZXJdO1xuICBiaWxsYm9hcmQ6IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBJY29uTGF5ZXJDb25maWcgPSBNZXJnZTxcbiAgTGF5ZXJCYXNlQ29uZmlnLFxuICB7Y29sdW1uczogSWNvbkxheWVyQ29sdW1uc0NvbmZpZzsgdmlzQ29uZmlnOiBJY29uTGF5ZXJWaXNDb25maWd9XG4+O1xuXG5leHBvcnQgdHlwZSBJY29uTGF5ZXJEYXRhID0ge2luZGV4OiBudW1iZXI7IGljb246IHN0cmluZ307XG5cbmNvbnN0IGJydXNoaW5nRXh0ZW5zaW9uID0gbmV3IEJydXNoaW5nRXh0ZW5zaW9uKCk7XG5cbmV4cG9ydCBjb25zdCBpY29uUG9zQWNjZXNzb3IgPVxuICAoe2xhdCwgbG5nLCBhbHRpdHVkZX06IEljb25MYXllckNvbHVtbnNDb25maWcpID0+XG4gIChkYzogRGF0YUNvbnRhaW5lckludGVyZmFjZSkgPT5cbiAgZCA9PlxuICAgIFtcbiAgICAgIGRjLnZhbHVlQXQoZC5pbmRleCwgbG5nLmZpZWxkSWR4KSxcbiAgICAgIGRjLnZhbHVlQXQoZC5pbmRleCwgbGF0LmZpZWxkSWR4KSxcbiAgICAgIGFsdGl0dWRlPy5maWVsZElkeCA+IC0xID8gZGMudmFsdWVBdChkLmluZGV4LCBhbHRpdHVkZS5maWVsZElkeCkgOiAwXG4gICAgXTtcblxuZXhwb3J0IGNvbnN0IGljb25BY2Nlc3NvciA9XG4gICh7aWNvbn06IEljb25MYXllckNvbHVtbnNDb25maWcpID0+XG4gIChkYzogRGF0YUNvbnRhaW5lckludGVyZmFjZSkgPT5cbiAgZCA9PlxuICAgIGRjLnZhbHVlQXQoZC5pbmRleCwgaWNvbi5maWVsZElkeCk7XG5cbmV4cG9ydCBjb25zdCBpY29uUmVxdWlyZWRDb2x1bW5zOiBbJ2xhdCcsICdsbmcnLCAnaWNvbiddID0gWydsYXQnLCAnbG5nJywgJ2ljb24nXTtcbmV4cG9ydCBjb25zdCBpY29uT3B0aW9uYWxDb2x1bW5zOiBbJ2FsdGl0dWRlJ10gPSBbJ2FsdGl0dWRlJ107XG5cbmV4cG9ydCBjb25zdCBwb2ludFZpc0NvbmZpZ3M6IHtcbiAgcmFkaXVzOiAncmFkaXVzJztcbiAgZml4ZWRSYWRpdXM6ICdmaXhlZFJhZGl1cyc7XG4gIG9wYWNpdHk6ICdvcGFjaXR5JztcbiAgY29sb3JSYW5nZTogJ2NvbG9yUmFuZ2UnO1xuICByYWRpdXNSYW5nZTogJ3JhZGl1c1JhbmdlJztcbiAgYmlsbGJvYXJkOiAnYmlsbGJvYXJkJztcbn0gPSB7XG4gIHJhZGl1czogJ3JhZGl1cycsXG4gIGZpeGVkUmFkaXVzOiAnZml4ZWRSYWRpdXMnLFxuICBvcGFjaXR5OiAnb3BhY2l0eScsXG4gIGNvbG9yUmFuZ2U6ICdjb2xvclJhbmdlJyxcbiAgcmFkaXVzUmFuZ2U6ICdyYWRpdXNSYW5nZScsXG4gIGJpbGxib2FyZDogJ2JpbGxib2FyZCdcbn07XG5cbmZ1bmN0aW9uIGZsYXR0ZXJJY29uUG9zaXRpb25zKGljb24pIHtcbiAgLy8gaGFkIHRvIGZsaXAgeSwgc2luY2UgQGx1bWEgbW9kYWwgaGFzIGNoYW5nZWRcbiAgcmV0dXJuIGljb24ubWVzaC5jZWxscy5yZWR1Y2UoKHByZXYsIGNlbGwpID0+IHtcbiAgICBjZWxsLmZvckVhY2gocCA9PiB7XG4gICAgICBwcmV2LnB1c2goXG4gICAgICAgIC4uLltpY29uLm1lc2gucG9zaXRpb25zW3BdWzBdLCAtaWNvbi5tZXNoLnBvc2l0aW9uc1twXVsxXSwgaWNvbi5tZXNoLnBvc2l0aW9uc1twXVsyXV1cbiAgICAgICk7XG4gICAgfSk7XG4gICAgcmV0dXJuIHByZXY7XG4gIH0sIFtdKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgSWNvbkxheWVyIGV4dGVuZHMgTGF5ZXIge1xuICBnZXRJY29uQWNjZXNzb3I6IChkYXRhQ29udGFpbmVyOiBEYXRhQ29udGFpbmVySW50ZXJmYWNlKSA9PiAoZDogYW55KSA9PiBhbnk7XG4gIF9sYXllckluZm9Nb2RhbDogKCkgPT4gSlNYLkVsZW1lbnQ7XG4gIGljb25HZW9tZXRyeTogSWNvbkdlb21ldHJ5O1xuXG4gIGRlY2xhcmUgdmlzQ29uZmlnU2V0dGluZ3M6IEljb25MYXllclZpc0NvbmZpZ1NldHRpbmdzO1xuICBkZWNsYXJlIGNvbmZpZzogSWNvbkxheWVyQ29uZmlnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3BzOiB7XG4gICAgICBpZD86IHN0cmluZztcbiAgICAgIGljb25HZW9tZXRyeT86IEljb25HZW9tZXRyeTtcbiAgICAgIHN2Z0ljb25zPzogYW55W107XG4gICAgfSAmIExheWVyQmFzZUNvbmZpZ1BhcnRpYWxcbiAgKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuXG4gICAgdGhpcy5yZWdpc3RlclZpc0NvbmZpZyhwb2ludFZpc0NvbmZpZ3MpO1xuICAgIHRoaXMuZ2V0UG9zaXRpb25BY2Nlc3NvciA9IChkYXRhQ29udGFpbmVyOiBEYXRhQ29udGFpbmVySW50ZXJmYWNlKSA9PlxuICAgICAgaWNvblBvc0FjY2Vzc29yKHRoaXMuY29uZmlnLmNvbHVtbnMpKGRhdGFDb250YWluZXIpO1xuICAgIHRoaXMuZ2V0SWNvbkFjY2Vzc29yID0gZGF0YUNvbnRhaW5lciA9PiBpY29uQWNjZXNzb3IodGhpcy5jb25maWcuY29sdW1ucykoZGF0YUNvbnRhaW5lcik7XG5cbiAgICB0aGlzLl9sYXllckluZm9Nb2RhbCA9IEljb25JbmZvTW9kYWxGYWN0b3J5KHByb3BzLnN2Z0ljb25zKTtcbiAgICB0aGlzLmljb25HZW9tZXRyeSA9IHByb3BzLmljb25HZW9tZXRyeSB8fCBudWxsO1xuXG4gICAgaWYgKGlzVGVzdCgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChwcm9wcy5zdmdJY29ucykge1xuICAgICAgLy8gaWYgc3ZnIGljb25zIGFyZSBwYXNzZWQgaW4gdGhlbiBieXBhc3MgZmV0Y2hpbmcgb2YgcmVtb3RlIHN2ZyBpY29uc1xuICAgICAgdGhpcy5zZXRTdmdJY29ucyhwcm9wcy5zdmdJY29ucyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIHByZXBhcmUgbGF5ZXIgaW5mbyBtb2RhbCBhbmQgZmV0Y2ggcmVtb3RlIHN2ZyBpY29uc1xuICAgICAgdGhpcy5nZXRTdmdJY29ucygpO1xuICAgIH1cbiAgfVxuXG4gIGdldCBzdmdJY29uVXJsKCkge1xuICAgIHJldHVybiBgJHtnZXRBcHBsaWNhdGlvbkNvbmZpZygpLmNkblVybH0vaWNvbnMvc3ZnLWljb25zLmpzb25gO1xuICB9XG5cbiAgZ2V0IHR5cGUoKTogJ2ljb24nIHtcbiAgICByZXR1cm4gJ2ljb24nO1xuICB9XG5cbiAgZ2V0IHJlcXVpcmVkTGF5ZXJDb2x1bW5zKCkge1xuICAgIHJldHVybiBpY29uUmVxdWlyZWRDb2x1bW5zO1xuICB9XG5cbiAgZ2V0IG9wdGlvbmFsQ29sdW1ucygpIHtcbiAgICByZXR1cm4gaWNvbk9wdGlvbmFsQ29sdW1ucztcbiAgfVxuXG4gIGdldCBjb2x1bW5QYWlycygpIHtcbiAgICByZXR1cm4gdGhpcy5kZWZhdWx0UG9pbnRDb2x1bW5QYWlycztcbiAgfVxuXG4gIGdldCBsYXllckljb24oKSB7XG4gICAgcmV0dXJuIEljb25MYXllckljb247XG4gIH1cblxuICBnZXQgdmlzdWFsQ2hhbm5lbHMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbG9yOiB7XG4gICAgICAgIC4uLnN1cGVyLnZpc3VhbENoYW5uZWxzLmNvbG9yLFxuICAgICAgICBhY2Nlc3NvcjogJ2dldEZpbGxDb2xvcicsXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogY29uZmlnID0+IGNvbmZpZy5jb2xvclxuICAgICAgfSxcbiAgICAgIHNpemU6IHtcbiAgICAgICAgLi4uc3VwZXIudmlzdWFsQ2hhbm5lbHMuc2l6ZSxcbiAgICAgICAgcHJvcGVydHk6ICdyYWRpdXMnLFxuICAgICAgICByYW5nZTogJ3JhZGl1c1JhbmdlJyxcbiAgICAgICAgY2hhbm5lbFNjYWxlVHlwZTogJ3JhZGl1cycsXG4gICAgICAgIGFjY2Vzc29yOiAnZ2V0UmFkaXVzJyxcbiAgICAgICAgZGVmYXVsdFZhbHVlOiAxXG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIGdldCBsYXllckluZm9Nb2RhbCgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWQ6ICdpY29uSW5mbycsXG4gICAgICB0ZW1wbGF0ZTogdGhpcy5fbGF5ZXJJbmZvTW9kYWwsXG4gICAgICBtb2RhbFByb3BzOiB7XG4gICAgICAgIHRpdGxlOiAnbW9kYWwuaWNvbkluZm8udGl0bGUnXG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIGdldFpvb21GYWN0b3Ioe3pvb20sIHpvb21PZmZzZXQgPSAwfToge3pvb206IG51bWJlcjsgem9vbU9mZnNldD86IG51bWJlcn0pIHtcbiAgICByZXR1cm4gTWF0aC5wb3coMiwgMTQgLSB6b29tICsgem9vbU9mZnNldCk7XG4gIH1cblxuICBnZXRTdmdJY29ucygpIHtcbiAgICBjb25zdCBmZXRjaENvbmZpZyA9IHtcbiAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICBtb2RlOiAnY29ycycsXG4gICAgICBjYWNoZTogJ25vLWNhY2hlJ1xuICAgIH07XG5cbiAgICBpZiAoV2luZG93LmZldGNoICYmIHRoaXMuc3ZnSWNvblVybCkge1xuICAgICAgV2luZG93LmZldGNoKHRoaXMuc3ZnSWNvblVybCwgZmV0Y2hDb25maWcpXG4gICAgICAgIC50aGVuKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBsb2FkIHN2Zy1pY29ucy5qc29uOiAke3Jlc3BvbnNlLnN0YXR1c31gKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmpzb24oKTtcbiAgICAgICAgfSlcbiAgICAgICAgLnRoZW4oKHBhcnNlZDoge3N2Z0ljb25zPzogYW55W119ID0ge30pID0+IHtcbiAgICAgICAgICB0aGlzLnNldFN2Z0ljb25zKHBhcnNlZC5zdmdJY29ucyk7XG4gICAgICAgIH0pXG4gICAgICAgIC5jYXRjaChlcnIgPT4ge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGZldGNoaW5nIG9yIHBhcnNpbmcgc3ZnLWljb25zLmpzb246JywgZXJyKTtcbiAgICAgICAgICAvLyBGYWxsYmFjayB0byBlbXB0eSBnZW9tZXRyeSB0byBhbGxvdyBkZWZhdWx0IGljb24gcmVuZGVyaW5nXG4gICAgICAgICAgdGhpcy5pY29uR2VvbWV0cnkgPSB7fTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIE5vIGZldGNoIGF2YWlsYWJsZTsgc2V0IGVtcHR5IGdlb21ldHJ5IHNvIGxheWVyIGNhbiByZW5kZXIgZGVmYXVsdCBpY29uc1xuICAgICAgdGhpcy5pY29uR2VvbWV0cnkgPSB7fTtcbiAgICB9XG4gIH1cblxuICBzZXRTdmdJY29ucyhzdmdJY29uczogYW55W10gPSBbXSkge1xuICAgIHRoaXMuaWNvbkdlb21ldHJ5ID0gc3ZnSWNvbnMucmVkdWNlKFxuICAgICAgKGFjY3UsIGN1cnIpID0+ICh7XG4gICAgICAgIC4uLmFjY3UsXG4gICAgICAgIFtjdXJyLmlkXTogZmxhdHRlckljb25Qb3NpdGlvbnMoY3VycilcbiAgICAgIH0pLFxuICAgICAge31cbiAgICApO1xuXG4gICAgdGhpcy5fbGF5ZXJJbmZvTW9kYWwgPSBJY29uSW5mb01vZGFsRmFjdG9yeShzdmdJY29ucyk7XG4gIH1cblxuICBzdGF0aWMgZmluZERlZmF1bHRMYXllclByb3BzKHtcbiAgICBmaWVsZFBhaXJzID0gW10sXG4gICAgZmllbGRzID0gW11cbiAgfTogS2VwbGVyVGFibGUpOiBGaW5kRGVmYXVsdExheWVyUHJvcHNSZXR1cm5WYWx1ZSB7XG4gICAgY29uc3Qgbm90Rm91bmQ6IEZpbmREZWZhdWx0TGF5ZXJQcm9wc1JldHVyblZhbHVlID0ge3Byb3BzOiBbXX07XG4gICAgaWYgKCFmaWVsZFBhaXJzLmxlbmd0aCB8fCAhZmllbGRzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIG5vdEZvdW5kO1xuICAgIH1cblxuICAgIGNvbnN0IGljb25GaWVsZHMgPSBmaWVsZHMuZmlsdGVyKCh7bmFtZX0pID0+XG4gICAgICBuYW1lXG4gICAgICAgIC5yZXBsYWNlKC9bXywuXSsvZywgJyAnKVxuICAgICAgICAudHJpbSgpXG4gICAgICAgIC5zcGxpdCgnICcpXG4gICAgICAgIC5zb21lKHNlZyA9PiBJQ09OX0ZJRUxEUy5pY29uLnNvbWUodCA9PiB0LmluY2x1ZGVzKHNlZykpKVxuICAgICk7XG5cbiAgICBpZiAoIWljb25GaWVsZHMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gbm90Rm91bmQ7XG4gICAgfVxuXG4gICAgLy8gY3JlYXRlIGljb24gbGF5ZXJzIGZvciBmaXJzdCBwb2ludCBwYWlyXG4gICAgY29uc3QgcHRQYWlyID0gZmllbGRQYWlyc1swXTtcbiAgICBjb25zdCBjb2x1bW5zID0gYXNzaWduUG9pbnRQYWlyVG9MYXllckNvbHVtbihwdFBhaXIsIHRydWUpO1xuXG4gICAgY29uc3QgcHJvcHMgPSBpY29uRmllbGRzLm1hcChpY29uRmllbGQgPT4gKHtcbiAgICAgIGxhYmVsOiBpY29uRmllbGQubmFtZS5yZXBsYWNlKC9bXywuXSsvZywgJyAnKS50cmltKCksXG4gICAgICBjb2x1bW5zOiB7XG4gICAgICAgIC4uLmNvbHVtbnMsXG4gICAgICAgIGljb246IHtcbiAgICAgICAgICB2YWx1ZTogaWNvbkZpZWxkLm5hbWUsXG4gICAgICAgICAgZmllbGRJZHg6IGljb25GaWVsZC5maWVsZElkeFxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgaXNWaXNpYmxlOiB0cnVlXG4gICAgfSkpO1xuXG4gICAgcmV0dXJuIHtwcm9wc307XG4gIH1cblxuICBnZXRGaWx0ZXJlZEl0ZW1Db3VudCgpIHtcbiAgICAvLyB1c2UgdG90YWxcbiAgICBpZiAoT2JqZWN0LmtleXModGhpcy5maWx0ZXJlZEl0ZW1Db3VudCkubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyh0aGlzLmZpbHRlcmVkSXRlbUNvdW50KS5yZWR1Y2UoXG4gICAgICAgICh0b3RhbCwgY3VycikgPT4gKE51bWJlci5pc0Zpbml0ZShjdXJyKSA/IHRvdGFsICsgY3VyciA6IHRvdGFsKSxcbiAgICAgICAgMFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNhbGN1bGF0ZURhdGFBdHRyaWJ1dGUoe2RhdGFDb250YWluZXIsIGZpbHRlcmVkSW5kZXh9OiBLZXBsZXJUYWJsZSwgZ2V0UG9zaXRpb24pIHtcbiAgICBjb25zdCBnZXRJY29uID0gdGhpcy5nZXRJY29uQWNjZXNzb3IoZGF0YUNvbnRhaW5lcik7XG4gICAgY29uc3QgZGF0YTogSWNvbkxheWVyRGF0YVtdID0gW107XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZpbHRlcmVkSW5kZXgubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IGluZGV4ID0gZmlsdGVyZWRJbmRleFtpXTtcbiAgICAgIGNvbnN0IHJvd0luZGV4ID0ge2luZGV4fTtcbiAgICAgIGNvbnN0IHBvcyA9IGdldFBvc2l0aW9uKHJvd0luZGV4KTtcbiAgICAgIGNvbnN0IGljb24gPSBnZXRJY29uKHJvd0luZGV4KTtcblxuICAgICAgLy8gaWYgZG9lc24ndCBoYXZlIHBvaW50IGxhdCBvciBsbmcsIGRvIG5vdCBhZGQgdGhlIHBvaW50XG4gICAgICAvLyBkZWNrLmdsIGNhbid0IGhhbmRsZSBwb3NpdGlvbiA9IG51bGxcbiAgICAgIGlmIChwb3MuZXZlcnkoTnVtYmVyLmlzRmluaXRlKSAmJiB0eXBlb2YgaWNvbiA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgZGF0YS5wdXNoKHtcbiAgICAgICAgICBpbmRleCxcbiAgICAgICAgICBpY29uXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBkYXRhO1xuICB9XG5cbiAgZm9ybWF0TGF5ZXJEYXRhKGRhdGFzZXRzLCBvbGRMYXllckRhdGEpIHtcbiAgICBpZiAodGhpcy5jb25maWcuZGF0YUlkID09PSBudWxsKSB7XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuICAgIGNvbnN0IHt0ZXh0TGFiZWx9ID0gdGhpcy5jb25maWc7XG4gICAgY29uc3Qge2dwdUZpbHRlciwgZGF0YUNvbnRhaW5lcn0gPSBkYXRhc2V0c1t0aGlzLmNvbmZpZy5kYXRhSWRdO1xuXG4gICAgY29uc3QgZ2V0UG9zaXRpb24gPSB0aGlzLmdldFBvc2l0aW9uQWNjZXNzb3IoZGF0YUNvbnRhaW5lcik7XG5cbiAgICBjb25zdCB7ZGF0YSwgdHJpZ2dlckNoYW5nZWR9ID0gdGhpcy51cGRhdGVEYXRhKGRhdGFzZXRzLCBvbGRMYXllckRhdGEpO1xuXG4gICAgLy8gZ2V0IGFsbCBkaXN0aW5jdCBjaGFyYWN0ZXJzIGluIHRoZSB0ZXh0IGxhYmVsc1xuICAgIGNvbnN0IHRleHRMYWJlbHMgPSBmb3JtYXRUZXh0TGFiZWxEYXRhKHtcbiAgICAgIHRleHRMYWJlbCxcbiAgICAgIHRyaWdnZXJDaGFuZ2VkLFxuICAgICAgb2xkTGF5ZXJEYXRhLFxuICAgICAgZGF0YSxcbiAgICAgIGRhdGFDb250YWluZXJcbiAgICB9KTtcblxuICAgIGNvbnN0IGFjY2Vzc29ycyA9IHRoaXMuZ2V0QXR0cmlidXRlQWNjZXNzb3JzKHtkYXRhQ29udGFpbmVyfSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgZGF0YSxcbiAgICAgIGdldFBvc2l0aW9uLFxuICAgICAgZ2V0RmlsdGVyVmFsdWU6IGdwdUZpbHRlci5maWx0ZXJWYWx1ZUFjY2Vzc29yKGRhdGFDb250YWluZXIpKCksXG4gICAgICB0ZXh0TGFiZWxzLFxuICAgICAgLi4uYWNjZXNzb3JzXG4gICAgfTtcbiAgfVxuXG4gIHVwZGF0ZUxheWVyTWV0YShkYXRhc2V0OiBLZXBsZXJUYWJsZSwgZ2V0UG9zaXRpb24pIHtcbiAgICBjb25zdCB7ZGF0YUNvbnRhaW5lcn0gPSBkYXRhc2V0O1xuICAgIGNvbnN0IGJvdW5kcyA9IHRoaXMuZ2V0UG9pbnRzQm91bmRzKGRhdGFDb250YWluZXIsIGdldFBvc2l0aW9uKTtcbiAgICB0aGlzLnVwZGF0ZU1ldGEoe2JvdW5kc30pO1xuICB9XG5cbiAgcmVuZGVyTGF5ZXIob3B0cykge1xuICAgIGNvbnN0IHtkYXRhLCBncHVGaWx0ZXIsIG9iamVjdEhvdmVyZWQsIG1hcFN0YXRlLCBpbnRlcmFjdGlvbkNvbmZpZ30gPSBvcHRzO1xuXG4gICAgY29uc3QgcmFkaXVzU2NhbGUgPSB0aGlzLmdldFJhZGl1c1NjYWxlQnlab29tKG1hcFN0YXRlKTtcblxuICAgIGNvbnN0IGxheWVyUHJvcHMgPSB7XG4gICAgICByYWRpdXNTY2FsZSxcbiAgICAgIGJpbGxib2FyZDogdGhpcy5jb25maWcudmlzQ29uZmlnLmJpbGxib2FyZCxcbiAgICAgIC4uLih0aGlzLmNvbmZpZy52aXNDb25maWcuZml4ZWRSYWRpdXMgPyB7fSA6IHtyYWRpdXNNYXhQaXhlbHM6IDUwMH0pXG4gICAgfTtcblxuICAgIGNvbnN0IHVwZGF0ZVRyaWdnZXJzID0ge1xuICAgICAgZ2V0UG9zaXRpb246IHRoaXMuY29uZmlnLmNvbHVtbnMsXG4gICAgICBnZXRGaWx0ZXJWYWx1ZTogZ3B1RmlsdGVyLmZpbHRlclZhbHVlVXBkYXRlVHJpZ2dlcnMsXG4gICAgICAuLi50aGlzLmdldFZpc3VhbENoYW5uZWxVcGRhdGVUcmlnZ2VycygpXG4gICAgfTtcblxuICAgIGNvbnN0IGRlZmF1bHRMYXllclByb3BzID0gdGhpcy5nZXREZWZhdWx0RGVja0xheWVyUHJvcHMob3B0cyk7XG4gICAgY29uc3QgYnJ1c2hpbmdQcm9wcyA9IHRoaXMuZ2V0QnJ1c2hpbmdFeHRlbnNpb25Qcm9wcyhpbnRlcmFjdGlvbkNvbmZpZyk7XG4gICAgY29uc3QgZ2V0UGl4ZWxPZmZzZXQgPSBnZXRUZXh0T2Zmc2V0QnlSYWRpdXMocmFkaXVzU2NhbGUsIGRhdGEuZ2V0UmFkaXVzLCBtYXBTdGF0ZSk7XG4gICAgY29uc3QgZXh0ZW5zaW9ucyA9IFsuLi5kZWZhdWx0TGF5ZXJQcm9wcy5leHRlbnNpb25zLCBicnVzaGluZ0V4dGVuc2lvbl07XG5cbiAgICAvLyBzaGFyZWQgUHJvcHMgYmV0d2VlbiBsYXllciBhbmQgbGFiZWwgbGF5ZXJcbiAgICBjb25zdCBzaGFyZWRQcm9wcyA9IHtcbiAgICAgIGdldEZpbHRlclZhbHVlOiBkYXRhLmdldEZpbHRlclZhbHVlLFxuICAgICAgZXh0ZW5zaW9ucyxcbiAgICAgIGZpbHRlclJhbmdlOiBkZWZhdWx0TGF5ZXJQcm9wcy5maWx0ZXJSYW5nZSxcbiAgICAgIC4uLmJydXNoaW5nUHJvcHNcbiAgICB9O1xuXG4gICAgY29uc3QgbGFiZWxMYXllcnMgPSBbXG4gICAgICAuLi50aGlzLnJlbmRlclRleHRMYWJlbExheWVyKFxuICAgICAgICB7XG4gICAgICAgICAgZ2V0UG9zaXRpb246IGRhdGEuZ2V0UG9zaXRpb24sXG4gICAgICAgICAgc2hhcmVkUHJvcHMsXG4gICAgICAgICAgZ2V0UGl4ZWxPZmZzZXQsXG4gICAgICAgICAgdXBkYXRlVHJpZ2dlcnNcbiAgICAgICAgfSxcbiAgICAgICAgb3B0c1xuICAgICAgKVxuICAgIF07XG4gICAgY29uc3QgaG92ZXJlZE9iamVjdCA9IHRoaXMuaGFzSG92ZXJlZE9iamVjdChvYmplY3RIb3ZlcmVkKTtcblxuICAgIGNvbnN0IHBhcmFtZXRlcnMgPSB7XG4gICAgICAvLyBpY29ucyB3aWxsIGJlIGZsYXQgb24gdGhlIG1hcCB3aGVuIHRoZSBhbHRpdHVkZSBjb2x1bW4gaXMgbm90IHVzZWRcbiAgICAgIGRlcHRoVGVzdDogdGhpcy5jb25maWcuY29sdW1ucy5hbHRpdHVkZT8uZmllbGRJZHggPiAtMSxcbiAgICAgIGN1bGxGYWNlOiBHTC5GUk9OVFxuICAgIH07XG5cbiAgICByZXR1cm4gW1xuICAgICAgbmV3IFN2Z0ljb25MYXllcih7XG4gICAgICAgIC4uLmRlZmF1bHRMYXllclByb3BzLFxuICAgICAgICAuLi5icnVzaGluZ1Byb3BzLFxuICAgICAgICAuLi5sYXllclByb3BzLFxuICAgICAgICAuLi5kYXRhLFxuICAgICAgICBwYXJhbWV0ZXJzLFxuICAgICAgICBnZXRJY29uR2VvbWV0cnk6IGlkID0+IHRoaXMuaWNvbkdlb21ldHJ5Py5baWRdLFxuXG4gICAgICAgIC8vIHVwZGF0ZSB0cmlnZ2Vyc1xuICAgICAgICB1cGRhdGVUcmlnZ2VycyxcbiAgICAgICAgZXh0ZW5zaW9uc1xuICAgICAgfSksXG5cbiAgICAgIC8vIGhvdmVyIGxheWVyXG4gICAgICAuLi4oaG92ZXJlZE9iamVjdFxuICAgICAgICA/IFtcbiAgICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgU3ZnSWNvbkxheWVyUHJvcHMgbmVlZHMgZ2V0SWNvbiBGaWVsZFxuICAgICAgICAgICAgbmV3IFN2Z0ljb25MYXllcih7XG4gICAgICAgICAgICAgIC4uLnRoaXMuZ2V0RGVmYXVsdEhvdmVyTGF5ZXJQcm9wcygpLFxuICAgICAgICAgICAgICAuLi5sYXllclByb3BzLFxuICAgICAgICAgICAgICB2aXNpYmxlOiBkZWZhdWx0TGF5ZXJQcm9wcy52aXNpYmxlLFxuICAgICAgICAgICAgICBkYXRhOiBbaG92ZXJlZE9iamVjdF0sXG4gICAgICAgICAgICAgIHBhcmFtZXRlcnMsXG4gICAgICAgICAgICAgIGdldFBvc2l0aW9uOiBkYXRhLmdldFBvc2l0aW9uLFxuICAgICAgICAgICAgICBnZXRSYWRpdXM6IGRhdGEuZ2V0UmFkaXVzLFxuICAgICAgICAgICAgICBnZXRGaWxsQ29sb3I6IHRoaXMuY29uZmlnLmhpZ2hsaWdodENvbG9yLFxuICAgICAgICAgICAgICBnZXRJY29uR2VvbWV0cnk6IGlkID0+IHRoaXMuaWNvbkdlb21ldHJ5Py5baWRdXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIF1cbiAgICAgICAgOiBbXSksXG5cbiAgICAgIC8vIHRleHQgbGFiZWwgbGF5ZXJcbiAgICAgIC4uLmxhYmVsTGF5ZXJzXG4gICAgXTtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFHQSxJQUFBQSxPQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxXQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxVQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBRyxhQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxjQUFBLEdBQUFMLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSyxXQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxjQUFBLEdBQUFQLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBTyxVQUFBLEdBQUFSLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBUSxXQUFBLEdBQUFSLE9BQUE7QUFDQSxJQUFBUyxNQUFBLEdBQUFULE9BQUE7QUFDQSxJQUFBVSxlQUFBLEdBQUFWLE9BQUE7QUFBK0UsU0FBQVcsUUFBQUMsQ0FBQSxFQUFBQyxDQUFBLFFBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxJQUFBLENBQUFKLENBQUEsT0FBQUcsTUFBQSxDQUFBRSxxQkFBQSxRQUFBQyxDQUFBLEdBQUFILE1BQUEsQ0FBQUUscUJBQUEsQ0FBQUwsQ0FBQSxHQUFBQyxDQUFBLEtB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
|
|
@@ -28,6 +28,10 @@ export default class TileDataset<T, I extends Iterable<any> = T extends Iterable
|
|
|
28
28
|
* Update the set of tiles in the viewport
|
|
29
29
|
*/
|
|
30
30
|
updateTiles(tiles: readonly T[]): void;
|
|
31
|
+
/**
|
|
32
|
+
* Return current tiles
|
|
33
|
+
*/
|
|
34
|
+
getTiles(): readonly T[];
|
|
31
35
|
/**
|
|
32
36
|
* Get the min/max domain of a field
|
|
33
37
|
*/
|
|
@@ -67,6 +67,15 @@ var TileDataset = exports["default"] = /*#__PURE__*/function () {
|
|
|
67
67
|
this.tileSet = new _iterableTileSet["default"](tiles.map(getIterable), getRowCount);
|
|
68
68
|
}
|
|
69
69
|
|
|
70
|
+
/**
|
|
71
|
+
* Return current tiles
|
|
72
|
+
*/
|
|
73
|
+
}, {
|
|
74
|
+
key: "getTiles",
|
|
75
|
+
value: function getTiles() {
|
|
76
|
+
return this.tiles;
|
|
77
|
+
}
|
|
78
|
+
|
|
70
79
|
/**
|
|
71
80
|
* Get the min/max domain of a field
|
|
72
81
|
*/
|
|
@@ -264,4 +273,4 @@ function areEqualSets(a, b) {
|
|
|
264
273
|
}
|
|
265
274
|
return true;
|
|
266
275
|
}
|
|
267
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdXRpbHMiLCJyZXF1aXJlIiwiX2l0ZXJhYmxlVGlsZVNldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfdGlsZVV0aWxzIiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJyIiwiZSIsInQiLCJTeW1ib2wiLCJpdGVyYXRvciIsIkFycmF5IiwiaXNBcnJheSIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsImxlbmd0aCIsIl9uIiwiRiIsInMiLCJuIiwiZG9uZSIsInZhbHVlIiwiZiIsIlR5cGVFcnJvciIsIm8iLCJhIiwidSIsImNhbGwiLCJuZXh0IiwiX2FycmF5TGlrZVRvQXJyYXkiLCJ0b1N0cmluZyIsInNsaWNlIiwiY29uc3RydWN0b3IiLCJuYW1lIiwiZnJvbSIsInRlc3QiLCJUaWxlRGF0YXNldCIsImV4cG9ydHMiLCJhY2Nlc3NvcnMiLCJ0aWxlcyIsIl9jbGFzc0NhbGxDaGVjazIiLCJfZGVmaW5lUHJvcGVydHkyIiwiU2V0IiwiTWFwIiwidGlsZVNldCIsIkl0ZXJhYmxlVGlsZVNldCIsImdldFJvd0NvdW50IiwidXBkYXRlVGlsZXMiLCJfY3JlYXRlQ2xhc3MyIiwia2V5IiwiaW52YWxpZGF0ZUNhY2hlIiwiX3RoaXMkYWNjZXNzb3JzIiwiZ2V0VGlsZUlkIiwiZ2V0SXRlcmFibGUiLCJ0aWxlSWRzIiwibWFwIiwiYXJlRXF1YWxTZXRzIiwiZ2V0RXh0ZW50IiwiZmllbGQiLCJfdGhpcyRhY2Nlc3NvcnMyIiwiZ2V0Um93VmFsdWUiLCJhY2Nlc3NvciIsIm1pbiIsIkluZmluaXR5IiwibWF4IiwiX2l0ZXJhdG9yIiwiX3N0ZXAiLCJ0aWxlIiwiZXh0ZW50IiwiZ2V0VGlsZVN0YXQiLCJnZXRUaWxlRXh0ZW50Iiwic2V0VGlsZVN0YXQiLCJlcnIiLCJOdW1iZXIiLCJpc0Zpbml0ZSIsImdldFF1YW50aWxlU2FtcGxlIiwibWluUm93Q291bnQiLCJhcmd1bWVudHMiLCJ1bmRlZmluZWQiLCJzZXQiLCJzYW1wbGUiLCJzYW1wbGVTdGVwIiwiTWF0aCIsImZsb29yIiwicm93Q291bnQiLCJpIiwiX2l0ZXJhdG9yMiIsIl9zdGVwMiIsInJvdyIsInZhbCIsInB1c2giLCJxdWlja0luc2VydGlvblNvcnQiLCJwcnVuZVF1YW50aWxlcyIsImdldFVuaXF1ZVZhbHVlcyIsIl90aGlzJGFjY2Vzc29yczMiLCJ1bmlxdWVzIiwiX2l0ZXJhdG9yMyIsIl9zdGVwMyIsIl90aWxlVW5pcXVlcyIsInRpbGVVbmlxdWVzIiwiZ2V0VGlsZVVuaXF1ZVZhbHVlcyIsIl9pdGVyYXRvcjQiLCJfc3RlcDQiLCJhZGQiLCJfdG9Db25zdW1hYmxlQXJyYXkyIiwic3RhdCIsIl90aGlzJHRpbGVTdGF0cyRnZXQiLCJ0aWxlU3RhdHMiLCJnZXQiLCJfdGhpcyR0aWxlU3RhdHMkZ2V0MiIsIl90aWxlU3RhdHMkZ2V0IiwidGlsZUlkIiwidGlsZUZpZWxkU3RhdHMiLCJpdGVyYWJsZSIsIl9pdGVyYXRvcjUiLCJfc3RlcDUiLCJtYXhVbmlxdWVzIiwiX2l0ZXJhdG9yNiIsIl9zdGVwNiIsInNpemUiLCJiIiwiX2l0ZXJhdG9yNyIsIl9zdGVwNyIsImhhcyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZWN0b3ItdGlsZS9jb21tb24tdGlsZS90aWxlLWRhdGFzZXQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IHtGaWVsZCBhcyBLZXBsZXJGaWVsZH0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5pbXBvcnQge3F1aWNrSW5zZXJ0aW9uU29ydH0gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5cbmltcG9ydCBJdGVyYWJsZVRpbGVTZXQsIHtSb3dDb3VudEFjY2Vzc29yfSBmcm9tICcuL2l0ZXJhYmxlLXRpbGUtc2V0JztcbmltcG9ydCB7cHJ1bmVRdWFudGlsZXN9IGZyb20gJy4vdGlsZS11dGlscyc7XG5cbmV4cG9ydCB0eXBlIERhdHVtID0gbnVtYmVyIHwgc3RyaW5nIHwgbnVsbDtcblxudHlwZSBSb3dWYWx1ZUFjY2Vzc29yPFQ+ID0gKFxuICBmaWVsZDogS2VwbGVyRmllbGQsXG4gIHJvdzogVCBleHRlbmRzIEl0ZXJhYmxlPGluZmVyIFY+ID8gViA6IG5ldmVyXG4pID0+IERhdHVtO1xudHlwZSBSb3dWYWx1ZUFjY2Vzc29yRmFjdG9yeTxUPiA9IChcbiAgZmllbGQ/OiBLZXBsZXJGaWVsZCxcbiAgaW5kZXhLZXk/OiBudW1iZXIgfCBudWxsXG4pID0+IFJvd1ZhbHVlQWNjZXNzb3I8VD47XG5cbnR5cGUgVGlsZUFjY2Vzc29yczxULCBJIGV4dGVuZHMgSXRlcmFibGU8YW55PiA9IFQgZXh0ZW5kcyBJdGVyYWJsZTxhbnk+ID8gVCA6IG5ldmVyPiA9IHtcbiAgZ2V0VGlsZUlkOiAodGlsZTogVCkgPT4gc3RyaW5nO1xuICBnZXRJdGVyYWJsZTogKHRpbGU6IFQpID0+IEk7XG4gIGdldFJvd0NvdW50OiBSb3dDb3VudEFjY2Vzc29yPEk+O1xuICBnZXRSb3dWYWx1ZTogUm93VmFsdWVBY2Nlc3NvckZhY3Rvcnk8ST47XG59O1xuXG4vKipcbiAqIFBlci10aWxlIHN0YXRzLCBmb3IgY2FjaGluZ1xuICovXG50eXBlIFRpbGVGaWVsZFN0YXRzID0ge1xuICBleHRlbnQ/OiBbbnVtYmVyLCBudW1iZXJdO1xuICBzYW1wbGU/OiBEYXR1bVtdO1xuICB1bmlxdWVWYWx1ZXM/OiBTZXQ8RGF0dW0+O1xufTtcblxuLyoqXG4gKiBTdGF0ZWZ1bCBjbGFzcyBvZmZlcmluZyBkYXRhc2V0LXN0eWxlIGZ1bmN0aW9ucyBmb3IgdGhlIHNldCBvZiB0aWxlcy5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVGlsZURhdGFzZXQ8VCwgSSBleHRlbmRzIEl0ZXJhYmxlPGFueT4gPSBUIGV4dGVuZHMgSXRlcmFibGU8YW55PiA/IFQgOiBuZXZlcj4ge1xuICBwcml2YXRlIGFjY2Vzc29yczogVGlsZUFjY2Vzc29yczxULCBJPjtcbiAgcHJpdmF0ZSB0aWxlczogcmVhZG9ubHkgVFtdO1xuICBwcml2YXRlIHRpbGVTZXQ6IEl0ZXJhYmxlVGlsZVNldDxJPjtcbiAgcHJpdmF0ZSB0aWxlSWRzOiBTZXQ8c3RyaW5nPiA9IG5ldyBTZXQoKTtcblxuICAvKiogQ2FjaGUgZm9yIHBlci10aWxlIGZpZWxkIHN0YXRzOiB0aWxlSWQgLT4gZmllbGRJZCAtPiBzdGF0cyAqL1xuICBwcml2YXRlIHRpbGVTdGF0czogTWFwPHN0cmluZywgTWFwPHN0cmluZywgVGlsZUZpZWxkU3RhdHM+PiA9IG5ldyBNYXAoKTtcblxuICBjb25zdHJ1Y3RvcihhY2Nlc3NvcnM6IFRpbGVBY2Nlc3NvcnM8VCwgST4sIHRpbGVzPzogcmVhZG9ubHkgVFtdKSB7XG4gICAgdGhpcy5hY2Nlc3NvcnMgPSBhY2Nlc3NvcnM7XG4gICAgdGhpcy50aWxlcyA9IFtdO1xuICAgIHRoaXMudGlsZVNldCA9IG5ldyBJdGVyYWJsZVRpbGVTZXQoW10sIGFjY2Vzc29ycy5nZXRSb3dDb3VudCk7XG4gICAgaWYgKHRpbGVzKSB7XG4gICAgICB0aGlzLnVwZGF0ZVRpbGVzKHRpbGVzKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSW52YWxpZGF0ZSB0aGUgY2FjaGVkIGRhdGFcbiAgICovXG4gIGludmFsaWRhdGVDYWNoZSgpOiB2b2lkIHtcbiAgICAvLyBUT0RPOiBpbXBsZW1lbnQgbGF0ZXJcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgdGhlIHNldCBvZiB0aWxlcyBpbiB0aGUgdmlld3BvcnRcbiAgICovXG4gIHVwZGF0ZVRpbGVzKHRpbGVzOiByZWFkb25seSBUW10pOiB2b2lkIHtcbiAgICBjb25zdCB7Z2V0VGlsZUlkLCBnZXRJdGVyYWJsZSwgZ2V0Um93Q291bnR9ID0gdGhpcy5hY2Nlc3NvcnM7XG4gICAgY29uc3QgdGlsZUlkcyA9IG5ldyBTZXQ8c3RyaW5nPih0aWxlcy5tYXAoZ2V0VGlsZUlkKSk7XG4gICAgaWYgKCFhcmVFcXVhbFNldHModGlsZUlkcywgdGhpcy50aWxlSWRzKSkge1xuICAgICAgdGhpcy5pbnZhbGlkYXRlQ2FjaGUoKTtcbiAgICB9XG4gICAgdGhpcy50aWxlcyA9IHRpbGVzO1xuICAgIHRoaXMudGlsZUlkcyA9IHRpbGVJZHM7XG4gICAgdGhpcy50aWxlU2V0ID0gbmV3IEl0ZXJhYmxlVGlsZVNldCh0aWxlcy5tYXAoZ2V0SXRlcmFibGUpLCBnZXRSb3dDb3VudCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBtaW4vbWF4IGRvbWFpbiBvZiBhIGZpZWxkXG4gICAqL1xuICBnZXRFeHRlbnQoZmllbGQ6IEtlcGxlckZpZWxkKTogW251bWJlciwgbnVtYmVyXSB7XG4gICAgY29uc3Qge2dldFJvd1ZhbHVlLCBnZXRJdGVyYWJsZX0gPSB0aGlzLmFjY2Vzc29ycztcbiAgICBjb25zdCBhY2Nlc3NvciA9IGdldFJvd1ZhbHVlKGZpZWxkKTtcbiAgICBsZXQgbWluID0gSW5maW5pdHk7XG4gICAgbGV0IG1heCA9IC1JbmZpbml0eTtcblxuICAgIGZvciAoY29uc3QgdGlsZSBvZiB0aGlzLnRpbGVzKSB7XG4gICAgICAvLyBDaGVjayB0aGUgY2FjaGVcbiAgICAgIGxldCBleHRlbnQgPSB0aGlzLmdldFRpbGVTdGF0KHRpbGUsIGZpZWxkLCAnZXh0ZW50Jyk7XG4gICAgICBpZiAoIWV4dGVudCkge1xuICAgICAgICAvLyBDYWNoZSBtaXNzLCBjYWxjdWxhdGUgYW5kIGNhY2hlXG4gICAgICAgIGV4dGVudCA9IGdldFRpbGVFeHRlbnQoZ2V0SXRlcmFibGUodGlsZSksIGZpZWxkLCBhY2Nlc3Nvcik7XG4gICAgICAgIHRoaXMuc2V0VGlsZVN0YXQodGlsZSwgZmllbGQsICdleHRlbnQnLCBleHRlbnQpO1xuICAgICAgfVxuICAgICAgaWYgKGV4dGVudCkge1xuICAgICAgICBpZiAoZXh0ZW50WzBdIDwgbWluKSBtaW4gPSBleHRlbnRbMF07XG4gICAgICAgIGlmIChleHRlbnRbMV0gPiBtYXgpIG1heCA9IGV4dGVudFsxXTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIE51bWJlci5pc0Zpbml0ZShtaW4pICYmIE51bWJlci5pc0Zpbml0ZShtYXgpID8gW21pbiwgbWF4XSA6IFswLCAwXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYSBzYW1wbGUgb2YgZmllbGQgdmFsdWVzIHRvIHVzZSBpbiBlc3RpbWF0aW5nIHF1YW50aWxlc1xuICAgKi9cbiAgZ2V0UXVhbnRpbGVTYW1wbGUoZmllbGQ6IEtlcGxlckZpZWxkLCBtaW5Sb3dDb3VudCA9IDEwMDApOiBudW1iZXJbXSB7XG4gICAgLy8gVE9ETzogVGhlcmUgc2hvdWxkIGJlIHJlYXNvbmFibGUgcGVyLXRpbGUgY2FjaGluZyBwb3NzaWJsZSBoZXJlXG4gICAgY29uc3Qgc2V0ID0gdGhpcy50aWxlU2V0O1xuICAgIGNvbnN0IGFjY2Vzc29yID0gdGhpcy5hY2Nlc3NvcnMuZ2V0Um93VmFsdWUoZmllbGQpO1xuICAgIGNvbnN0IHNhbXBsZTogbnVtYmVyW10gPSBbXTtcbiAgICBjb25zdCBzYW1wbGVTdGVwID0gTWF0aC5tYXgoTWF0aC5mbG9vcihzZXQucm93Q291bnQgLyBtaW5Sb3dDb3VudCksIDEpO1xuICAgIGxldCBpID0gMDtcbiAgICBmb3IgKGNvbnN0IHJvdyBvZiBzZXQpIHtcbiAgICAgIGlmICgrK2kgPT09IHNhbXBsZVN0ZXApIHtcbiAgICAgICAgY29uc3QgdmFsID0gYWNjZXNzb3IoZmllbGQsIHJvdykgYXMgbnVtYmVyIHwgbnVsbDtcbiAgICAgICAgaWYgKHZhbCAhPT0gbnVsbCkgc2FtcGxlLnB1c2godmFsKTtcbiAgICAgICAgaSA9IDA7XG4gICAgICB9XG4gICAgfVxuICAgIHF1aWNrSW5zZXJ0aW9uU29ydChzYW1wbGUpO1xuICAgIHBydW5lUXVhbnRpbGVzKHNhbXBsZSk7XG4gICAgcmV0dXJuIHNhbXBsZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYSBzZXQgb2YgdW5pcXVlIHZhbHVlcyBmb3IgYSBmaWVsZFxuICAgKi9cbiAgZ2V0VW5pcXVlVmFsdWVzKGZpZWxkOiBLZXBsZXJGaWVsZCk6IERhdHVtW10ge1xuICAgIGNvbnN0IHtnZXRSb3dWYWx1ZSwgZ2V0SXRlcmFibGV9ID0gdGhpcy5hY2Nlc3NvcnM7XG4gICAgY29uc3QgYWNjZXNzb3IgPSBnZXRSb3dWYWx1ZShmaWVsZCk7XG4gICAgY29uc3QgdW5pcXVlcyA9IG5ldyBTZXQ8RGF0dW0+KCk7XG5cbiAgICBmb3IgKGNvbnN0IHRpbGUgb2YgdGhpcy50aWxlcykge1xuICAgICAgLy8gQ2hlY2sgdGhlIGNhY2hlXG4gICAgICBsZXQgdGlsZVVuaXF1ZXMgPSB0aGlzLmdldFRpbGVTdGF0KHRpbGUsIGZpZWxkLCAndW5pcXVlVmFsdWVzJyk7XG4gICAgICBpZiAoIXRpbGVVbmlxdWVzKSB7XG4gICAgICAgIC8vIENhY2hlIG1pc3MsIGNhbGN1bGF0ZSBhbmQgY2FjaGVcbiAgICAgICAgdGlsZVVuaXF1ZXMgPSBnZXRUaWxlVW5pcXVlVmFsdWVzKGdldEl0ZXJhYmxlKHRpbGUpLCBmaWVsZCwgYWNjZXNzb3IpO1xuICAgICAgICB0aGlzLnNldFRpbGVTdGF0KHRpbGUsIGZpZWxkLCAndW5pcXVlVmFsdWVzJywgdGlsZVVuaXF1ZXMpO1xuICAgICAgfVxuICAgICAgZm9yIChjb25zdCB2YWwgb2YgdGlsZVVuaXF1ZXMgPz8gW10pIHtcbiAgICAgICAgdW5pcXVlcy5hZGQodmFsKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIFsuLi51bmlxdWVzXTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VGlsZVN0YXQ8SyBleHRlbmRzIGtleW9mIFRpbGVGaWVsZFN0YXRzPihcbiAgICB0aWxlOiBULFxuICAgIGZpZWxkOiBLZXBsZXJGaWVsZCxcbiAgICBzdGF0OiBLXG4gICk6IFRpbGVGaWVsZFN0YXRzW0tdIHtcbiAgICByZXR1cm4gdGhpcy50aWxlU3RhdHMuZ2V0KHRoaXMuYWNjZXNzb3JzLmdldFRpbGVJZCh0aWxlKSk/LmdldChmaWVsZC5uYW1lKT8uW3N0YXRdO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRUaWxlU3RhdDxLIGV4dGVuZHMga2V5b2YgVGlsZUZpZWxkU3RhdHM+KFxuICAgIHRpbGU6IFQsXG4gICAgZmllbGQ6IEtlcGxlckZpZWxkLFxuICAgIHN0YXQ6IEssXG4gICAgdmFsdWU6IFRpbGVGaWVsZFN0YXRzW0tdXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IHRpbGVJZCA9IHRoaXMuYWNjZXNzb3JzLmdldFRpbGVJZCh0aWxlKTtcbiAgICBjb25zdCB0aWxlU3RhdHMgPSB0aGlzLnRpbGVTdGF0cy5nZXQodGlsZUlkKSA/PyBuZXcgTWFwKCk7XG4gICAgY29uc3QgdGlsZUZpZWxkU3RhdHMgPSB0aWxlU3RhdHMuZ2V0KGZpZWxkLm5hbWUpID8/IHt9O1xuICAgIHRpbGVGaWVsZFN0YXRzW3N0YXRdID0gdmFsdWU7XG4gICAgdGlsZVN0YXRzLnNldChmaWVsZC5uYW1lLCB0aWxlRmllbGRTdGF0cyk7XG4gICAgdGhpcy50aWxlU3RhdHMuc2V0KHRpbGVJZCwgdGlsZVN0YXRzKTtcbiAgfVxufVxuXG4vKipcbiAqIEdldCB0aGUgbWluL21heCBkb21haW4gb2YgYSBmaWVsZCBpbiBhIGdpdmVuIHRpbGVcbiAqL1xuZnVuY3Rpb24gZ2V0VGlsZUV4dGVudDxJIGV4dGVuZHMgSXRlcmFibGU8YW55Pj4oXG4gIGl0ZXJhYmxlOiBJLFxuICBmaWVsZDogS2VwbGVyRmllbGQsXG4gIGFjY2Vzc29yOiBSb3dWYWx1ZUFjY2Vzc29yPEk+XG4pOiBbbnVtYmVyLCBudW1iZXJdIHwgdW5kZWZpbmVkIHtcbiAgbGV0IG1pbiA9IEluZmluaXR5O1xuICBsZXQgbWF4ID0gLUluZmluaXR5O1xuICBmb3IgKGNvbnN0IHJvdyBvZiBpdGVyYWJsZSkge1xuICAgIGNvbnN0IHZhbCA9IGFjY2Vzc29yKGZpZWxkLCByb3cpIGFzIG51bWJlciB8IG51bGw7XG4gICAgaWYgKHZhbCA9PT0gbnVsbCkgY29udGludWU7XG4gICAgaWYgKHZhbCA8IG1pbikgbWluID0gdmFsO1xuICAgIGlmICh2YWwgPiBtYXgpIG1heCA9IHZhbDtcbiAgfVxuICByZXR1cm4gTnVtYmVyLmlzRmluaXRlKG1pbikgJiYgTnVtYmVyLmlzRmluaXRlKG1heCkgPyBbbWluLCBtYXhdIDogdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIEdldCB1bmlxdWUgdmFsdWVzIGZvciBhIGZpZWxkIGluIGEgZ2l2ZW4gdGlsZVxuICovXG5mdW5jdGlvbiBnZXRUaWxlVW5pcXVlVmFsdWVzPEkgZXh0ZW5kcyBJdGVyYWJsZTxhbnk+PihcbiAgaXRlcmFibGU6IEksXG4gIGZpZWxkOiBLZXBsZXJGaWVsZCxcbiAgYWNjZXNzb3I6IFJvd1ZhbHVlQWNjZXNzb3I8ST4sXG4gIG1heFVuaXF1ZXMgPSAyMFxuKTogU2V0PERhdHVtPiB7XG4gIGNvbnN0IHVuaXF1ZXMgPSBuZXcgU2V0PERhdHVtPigpO1xuICBmb3IgKGNvbnN0IHJvdyBvZiBpdGVyYWJsZSkge1xuICAgIGlmICh1bmlxdWVzLnNpemUgPj0gbWF4VW5pcXVlcykgcmV0dXJuIHVuaXF1ZXM7XG4gICAgdW5pcXVlcy5hZGQoYWNjZXNzb3IoZmllbGQsIHJvdykpO1xuICB9XG4gIHJldHVybiB1bmlxdWVzO1xufVxuXG5mdW5jdGlvbiBhcmVFcXVhbFNldHMoYTogU2V0PHN0cmluZz4sIGI6IFNldDxzdHJpbmc+KTogYm9vbGVhbiB7XG4gIGlmIChhLnNpemUgIT09IGIuc2l6ZSkgcmV0dXJuIGZhbHNlO1xuICBmb3IgKGNvbnN0IHZhbCBvZiBhKSB7XG4gICAgaWYgKCFiLmhhcyh2YWwpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG4gIHJldHVybiB0cnVlO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUlBLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQUVBLElBQUFDLGdCQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxVQUFBLEdBQUFILE9BQUE7QUFBNEMsU0FBQUksMkJBQUFDLENBQUEsRUFBQUMsQ0FBQSxRQUFBQyxDQUFBLHlCQUFBQyxNQUFBLElBQUFILENBQUEsQ0FBQUcsTUFBQSxDQUFBQyxRQUFBLEtBQUFKLENBQUEscUJBQUFFLENBQUEsUUFBQUcsS0FBQSxDQUFBQyxPQUFBLENBQUFOLENBQUEsTUFBQUUsQ0FBQSxHQUFBSywyQkFBQSxDQUFBUCxDQUFBLE1BQUFDLENBQUEsSUFBQUQsQ0FBQSx1QkFBQUEsQ0FBQSxDQUFBUSxNQUFBLElBQUFOLENBQUEsS0FBQUYsQ0FBQSxHQUFBRSxDQUFBLE9BQUFPLEVBQUEsTUFBQUMsQ0FBQSxZQUFBQSxFQUFBLGVBQUFDLENBQUEsRUFBQUQsQ0FBQSxFQUFBRSxDQUFBLFdBQUFBLEVBQUEsV0FBQUgsRUFBQSxJQUFBVCxDQUFBLENBQUFRLE1BQUEsS0FBQUssSUFBQSxXQUFBQSxJQUFBLE1BQUFDLEtBQUEsRUFBQWQsQ0FBQSxDQUFBUyxFQUFBLFVBQUFSLENBQUEsV0FBQUEsRUFBQUQsQ0FBQSxVQUFBQSxDQUFBLEtBQUFlLENBQUEsRUFBQUwsQ0FBQSxnQkFBQU0sU0FBQSxpSkFBQUMsQ0FBQSxFQUFBQyxDQUFBLE9BQUFDLENBQUEsZ0JBQUFSLENBQUEsV0FBQUEsRUFBQSxJQUFBVCxDQUFBLEdBQUFBLENBQUEsQ0FBQWtCLElBQUEsQ0FBQXBCLENBQUEsTUFBQVksQ0FBQSxXQUFBQSxFQUFBLFFBQUFaLENBQUEsR0FBQUUsQ0FBQSxDQUFBbUIsSUFBQSxXQUFBSCxDQUFBLEdBQUFsQixDQUFBLENBQUFhLElBQUEsRUFBQWIsQ0FBQSxLQUFBQyxDQUFBLFdBQUFBLEVBQUFELENBQUEsSUFBQW1CLENBQUEsT0FBQUYsQ0FBQSxHQUFBakIsQ0FBQSxLQUFBZSxDQUFBLFdBQUFBLEVBQUEsVUFBQUcsQ0FBQSxZQUFBaEIsQ0FBQSxjQUFBQSxDQUFBLDhCQUFBaUIsQ0FBQSxRQUFBRixDQUFBO0FBQUEsU0FBQVYsNEJBQUFQLENBQUEsRUFBQWtCLENBQUEsUUFBQWxCLENBQUEsMkJBQUFBLENBQUEsU0FBQXNCLGlCQUFBLENBQUF0QixDQUFBLEVBQUFrQixDQUFBLE9BQUFoQixDQUFBLE1BQUFxQixRQUFBLENBQUFILElBQUEsQ0FBQXBCLENBQUEsRUFBQXdCLEtBQUEsNkJBQUF0QixDQUFBLElBQUFGLENBQUEsQ0FBQXlCLFdBQUEsS0FBQXZCLENBQUEsR0FBQUYsQ0FBQSxDQUFBeUIsV0FBQSxDQUFBQyxJQUFBLGFBQUF4QixDQUFBLGNBQUFBLENBQUEsR0FBQUcsS0FBQSxDQUFBc0IsSUFBQSxDQUFBM0IsQ0FBQSxvQkFBQUUsQ0FBQSwrQ0FBQTBCLElBQUEsQ0FBQTFCLENBQUEsSUFBQW9CLGlCQUFBLENBQUF0QixDQUFBLEVBQUFrQixDQUFBO0FBQUEsU0FBQUksa0JBQUF0QixDQUFBLEVBQUFrQixDQUFBLGFBQUFBLENBQUEsSUFBQUEsQ0FBQSxHQUFBbEIsQ0FBQSxDQUFBUSxNQUFBLE1BQUFVLENBQUEsR0FBQWxCLENBQUEsQ0FBQVEsTUFBQSxZQUFBUCxDQUFBLE1BQUFXLENBQUEsR0FBQVAsS0FBQSxDQUFBYSxDQUFBLEdBQUFqQixDQUFBLEdBQUFpQixDQUFBLEVBQUFqQixDQUFBLElBQUFXLENBQUEsQ0FBQVgsQ0FBQSxJQUFBRCxDQUFBLENBQUFDLENBQUEsVUFBQVcsQ0FBQSxJQVA1QztBQUNBO0FBMEJBO0FBQ0E7QUFDQTtBQU9BO0FBQ0E7QUFDQTtBQUZBLElBR3FCaUIsV0FBVyxHQUFBQyxPQUFBO0VBUzlCLFNBQUFELFlBQVlFLFNBQThCLEVBQUVDLEtBQW9CLEVBQUU7SUFBQSxJQUFBQyxnQkFBQSxtQkFBQUosV0FBQTtJQUFBLElBQUFLLGdCQUFBO0lBQUEsSUFBQUEsZ0JBQUE7SUFBQSxJQUFBQSxnQkFBQTtJQUFBLElBQUFBLGdCQUFBLDhCQUxuQyxJQUFJQyxHQUFHLENBQUMsQ0FBQztJQUV4QztJQUFBLElBQUFELGdCQUFBLGdDQUM4RCxJQUFJRSxHQUFHLENBQUMsQ0FBQztJQUdyRSxJQUFJLENBQUNMLFNBQVMsR0FBR0EsU0FBUztJQUMxQixJQUFJLENBQUNDLEtBQUssR0FBRyxFQUFFO0lBQ2YsSUFBSSxDQUFDSyxPQUFPLEdBQUcsSUFBSUMsMkJBQWUsQ0FBQyxFQUFFLEVBQUVQLFNBQVMsQ0FBQ1EsV0FBVyxDQUFDO0lBQzdELElBQUlQLEtBQUssRUFBRTtNQUNULElBQUksQ0FBQ1EsV0FBVyxDQUFDUixLQUFLLENBQUM7SUFDekI7RUFDRjs7RUFFQTtBQUNGO0FBQ0E7RUFGRSxXQUFBUyxhQUFBLGFBQUFaLFdBQUE7SUFBQWEsR0FBQTtJQUFBNUIsS0FBQSxFQUdBLFNBQUE2QixlQUFlQSxDQUFBLEVBQVM7TUFDdEI7SUFBQTs7SUFHRjtBQUNGO0FBQ0E7RUFGRTtJQUFBRCxHQUFBO0lBQUE1QixLQUFBLEVBR0EsU0FBQTBCLFdBQVdBLENBQUNSLEtBQW1CLEVBQVE7TUFDckMsSUFBQVksZUFBQSxHQUE4QyxJQUFJLENBQUNiLFNBQVM7UUFBckRjLFNBQVMsR0FBQUQsZUFBQSxDQUFUQyxTQUFTO1FBQUVDLFdBQVcsR0FBQUYsZUFBQSxDQUFYRSxXQUFXO1FBQUVQLFdBQVcsR0FBQUssZUFBQSxDQUFYTCxXQUFXO01BQzFDLElBQU1RLE9BQU8sR0FBRyxJQUFJWixHQUFHLENBQVNILEtBQUssQ0FBQ2dCLEdBQUcsQ0FBQ0gsU0FBUyxDQUFDLENBQUM7TUFDckQsSUFBSSxDQUFDSSxZQUFZLENBQUNGLE9BQU8sRUFBRSxJQUFJLENBQUNBLE9BQU8sQ0FBQyxFQUFFO1FBQ3hDLElBQUksQ0FBQ0osZUFBZSxDQUFDLENBQUM7TUFDeEI7TUFDQSxJQUFJLENBQUNYLEtBQUssR0FBR0EsS0FBSztNQUNsQixJQUFJLENBQUNlLE9BQU8sR0FBR0EsT0FBTztNQUN0QixJQUFJLENBQUNWLE9BQU8sR0FBRyxJQUFJQywyQkFBZSxDQUFDTixLQUFLLENBQUNnQixHQUFHLENBQUNGLFdBQVcsQ0FBQyxFQUFFUCxXQUFXLENBQUM7SUFDekU7O0lBRUE7QUFDRjtBQUNBO0VBRkU7SUFBQUcsR0FBQTtJQUFBNUIsS0FBQSxFQUdBLFNBQUFvQyxTQUFTQSxDQUFDQyxLQUFrQixFQUFvQjtNQUM5QyxJQUFBQyxnQkFBQSxHQUFtQyxJQUFJLENBQUNyQixTQUFTO1FBQTFDc0IsV0FBVyxHQUFBRCxnQkFBQSxDQUFYQyxXQUFXO1FBQUVQLFdBQVcsR0FBQU0sZ0JBQUEsQ0FBWE4sV0FBVztNQUMvQixJQUFNUSxRQUFRLEdBQUdELFdBQVcsQ0FBQ0YsS0FBSyxDQUFDO01BQ25DLElBQUlJLEdBQUcsR0FBR0MsUUFBUTtNQUNsQixJQUFJQyxHQUFHLEdBQUcsQ0FBQ0QsUUFBUTtNQUFDLElBQUFFLFNBQUEsR0FBQTNELDBCQUFBLENBRUQsSUFBSSxDQUFDaUMsS0FBSztRQUFBMkIsS0FBQTtNQUFBO1FBQTdCLEtBQUFELFNBQUEsQ0FBQS9DLENBQUEsTUFBQWdELEtBQUEsR0FBQUQsU0FBQSxDQUFBOUMsQ0FBQSxJQUFBQyxJQUFBLEdBQStCO1VBQUEsSUFBcEIrQyxJQUFJLEdBQUFELEtBQUEsQ0FBQTdDLEtBQUE7VUFDYjtVQUNBLElBQUkrQyxNQUFNLEdBQUcsSUFBSSxDQUFDQyxXQUFXLENBQUNGLElBQUksRUFBRVQsS0FBSyxFQUFFLFFBQVEsQ0FBQztVQUNwRCxJQUFJLENBQUNVLE1BQU0sRUFBRTtZQUNYO1lBQ0FBLE1BQU0sR0FBR0UsYUFBYSxDQUFDakIsV0FBVyxDQUFDYyxJQUFJLENBQUMsRUFBRVQsS0FBSyxFQUFFRyxRQUFRLENBQUM7WUFDMUQsSUFBSSxDQUFDVSxXQUFXLENBQUNKLElBQUksRUFBRVQsS0FBSyxFQUFFLFFBQVEsRUFBRVUsTUFBTSxDQUFDO1VBQ2pEO1VBQ0EsSUFBSUEsTUFBTSxFQUFFO1lBQ1YsSUFBSUEsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHTixHQUFHLEVBQUVBLEdBQUcsR0FBR00sTUFBTSxDQUFDLENBQUMsQ0FBQztZQUNwQyxJQUFJQSxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUdKLEdBQUcsRUFBRUEsR0FBRyxHQUFHSSxNQUFNLENBQUMsQ0FBQyxDQUFDO1VBQ3RDO1FBQ0Y7TUFBQyxTQUFBSSxHQUFBO1FBQUFQLFNBQUEsQ0FBQXpELENBQUEsQ0FBQWdFLEdBQUE7TUFBQTtRQUFBUCxTQUFBLENBQUEzQyxDQUFBO01BQUE7TUFDRCxPQUFPbUQsTUFBTSxDQUFDQyxRQUFRLENBQUNaLEdBQUcsQ0FBQyxJQUFJVyxNQUFNLENBQUNDLFFBQVEsQ0FBQ1YsR0FBRyxDQUFDLEdBQUcsQ0FBQ0YsR0FBRyxFQUFFRSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDM0U7O0lBRUE7QUFDRjtBQUNBO0VBRkU7SUFBQWYsR0FBQTtJQUFBNUIsS0FBQSxFQUdBLFNBQUFzRCxpQkFBaUJBLENBQUNqQixLQUFrQixFQUFnQztNQUFBLElBQTlCa0IsV0FBVyxHQUFBQyxTQUFBLENBQUE5RCxNQUFBLFFBQUE4RCxTQUFBLFFBQUFDLFNBQUEsR0FBQUQsU0FBQSxNQUFHLElBQUk7TUFDdEQ7TUFDQSxJQUFNRSxHQUFHLEdBQUcsSUFBSSxDQUFDbkMsT0FBTztNQUN4QixJQUFNaUIsUUFBUSxHQUFHLElBQUksQ0FBQ3ZCLFNBQVMsQ0FBQ3NCLFdBQVcsQ0FBQ0YsS0FBSyxDQUFDO01BQ2xELElBQU1zQixNQUFnQixHQUFHLEVBQUU7TUFDM0IsSUFBTUMsVUFBVSxHQUFHQyxJQUFJLENBQUNsQixHQUFHLENBQUNrQixJQUFJLENBQUNDLEtBQUssQ0FBQ0osR0FBRyxDQUFDSyxRQUFRLEdBQUdSLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztNQUN0RSxJQUFJUyxDQUFDLEdBQUcsQ0FBQztNQUFDLElBQUFDLFVBQUEsR0FBQWhGLDBCQUFBLENBQ1F5RSxHQUFHO1FBQUFRLE1BQUE7TUFBQTtRQUFyQixLQUFBRCxVQUFBLENBQUFwRSxDQUFBLE1BQUFxRSxNQUFBLEdBQUFELFVBQUEsQ0FBQW5FLENBQUEsSUFBQUMsSUFBQSxHQUF1QjtVQUFBLElBQVpvRSxJQUFHLEdBQUFELE1BQUEsQ0FBQWxFLEtBQUE7VUFDWixJQUFJLEVBQUVnRSxDQUFDLEtBQUtKLFVBQVUsRUFBRTtZQUN0QixJQUFNUSxHQUFHLEdBQUc1QixRQUFRLENBQUNILEtBQUssRUFBRThCLElBQUcsQ0FBa0I7WUFDakQsSUFBSUMsR0FBRyxLQUFLLElBQUksRUFBRVQsTUFBTSxDQUFDVSxJQUFJLENBQUNELEdBQUcsQ0FBQztZQUNsQ0osQ0FBQyxHQUFHLENBQUM7VUFDUDtRQUNGO01BQUMsU0FBQWIsR0FBQTtRQUFBYyxVQUFBLENBQUE5RSxDQUFBLENBQUFnRSxHQUFBO01BQUE7UUFBQWMsVUFBQSxDQUFBaEUsQ0FBQTtNQUFBO01BQ0QsSUFBQXFFLHlCQUFrQixFQUFDWCxNQUFNLENBQUM7TUFDMUIsSUFBQVkseUJBQWMsRUFBQ1osTUFBTSxDQUFDO01BQ3RCLE9BQU9BLE1BQU07SUFDZjs7SUFFQTtBQUNGO0FBQ0E7RUFGRTtJQUFBL0IsR0FBQTtJQUFBNUIsS0FBQSxFQUdBLFNBQUF3RSxlQUFlQSxDQUFDbkMsS0FBa0IsRUFBVztNQUMzQyxJQUFBb0MsZ0JBQUEsR0FBbUMsSUFBSSxDQUFDeEQsU0FBUztRQUExQ3NCLFdBQVcsR0FBQWtDLGdCQUFBLENBQVhsQyxXQUFXO1FBQUVQLFdBQVcsR0FBQXlDLGdCQUFBLENBQVh6QyxXQUFXO01BQy9CLElBQU1RLFFBQVEsR0FBR0QsV0FBVyxDQUFDRixLQUFLLENBQUM7TUFDbkMsSUFBTXFDLE9BQU8sR0FBRyxJQUFJckQsR0FBRyxDQUFRLENBQUM7TUFBQyxJQUFBc0QsVUFBQSxHQUFBMUYsMEJBQUEsQ0FFZCxJQUFJLENBQUNpQyxLQUFLO1FBQUEwRCxNQUFBO01BQUE7UUFBN0IsS0FBQUQsVUFBQSxDQUFBOUUsQ0FBQSxNQUFBK0UsTUFBQSxHQUFBRCxVQUFBLENBQUE3RSxDQUFBLElBQUFDLElBQUEsR0FBK0I7VUFBQSxJQUFBOEUsWUFBQTtVQUFBLElBQXBCL0IsSUFBSSxHQUFBOEIsTUFBQSxDQUFBNUUsS0FBQTtVQUNiO1VBQ0EsSUFBSThFLFdBQVcsR0FBRyxJQUFJLENBQUM5QixXQUFXLENBQUNGLElBQUksRUFBRVQsS0FBSyxFQUFFLGNBQWMsQ0FBQztVQUMvRCxJQUFJLENBQUN5QyxXQUFXLEVBQUU7WUFDaEI7WUFDQUEsV0FBVyxHQUFHQyxtQkFBbUIsQ0FBQy9DLFdBQVcsQ0FBQ2MsSUFBSSxDQUFDLEVBQUVULEtBQUssRUFBRUcsUUFBUSxDQUFDO1lBQ3JFLElBQUksQ0FBQ1UsV0FBVyxDQUFDSixJQUFJLEVBQUVULEtBQUssRUFBRSxjQUFjLEVBQUV5QyxXQUFXLENBQUM7VUFDNUQ7VUFBQyxJQUFBRSxVQUFBLEdBQUEvRiwwQkFBQSxFQUFBNEYsWUFBQSxHQUNpQkMsV0FBVyxjQUFBRCxZQUFBLGNBQUFBLFlBQUEsR0FBSSxFQUFFO1lBQUFJLE1BQUE7VUFBQTtZQUFuQyxLQUFBRCxVQUFBLENBQUFuRixDQUFBLE1BQUFvRixNQUFBLEdBQUFELFVBQUEsQ0FBQWxGLENBQUEsSUFBQUMsSUFBQSxHQUFxQztjQUFBLElBQTFCcUUsR0FBRyxHQUFBYSxNQUFBLENBQUFqRixLQUFBO2NBQ1owRSxPQUFPLENBQUNRLEdBQUcsQ0FBQ2QsR0FBRyxDQUFDO1lBQ2xCO1VBQUMsU0FBQWpCLEdBQUE7WUFBQTZCLFVBQUEsQ0FBQTdGLENBQUEsQ0FBQWdFLEdBQUE7VUFBQTtZQUFBNkIsVUFBQSxDQUFBL0UsQ0FBQTtVQUFBO1FBQ0g7TUFBQyxTQUFBa0QsR0FBQTtRQUFBd0IsVUFBQSxDQUFBeEYsQ0FBQSxDQUFBZ0UsR0FBQTtNQUFBO1FBQUF3QixVQUFBLENBQUExRSxDQUFBO01BQUE7TUFDRCxXQUFBa0YsbUJBQUEsYUFBV1QsT0FBTztJQUNwQjtFQUFDO0lBQUE5QyxHQUFBO0lBQUE1QixLQUFBLEVBRUQsU0FBUWdELFdBQVdBLENBQ2pCRixJQUFPLEVBQ1BULEtBQWtCLEVBQ2xCK0MsSUFBTyxFQUNZO01BQUEsSUFBQUMsbUJBQUE7TUFDbkIsUUFBQUEsbUJBQUEsR0FBTyxJQUFJLENBQUNDLFNBQVMsQ0FBQ0MsR0FBRyxDQUFDLElBQUksQ0FBQ3RFLFNBQVMsQ0FBQ2MsU0FBUyxDQUFDZSxJQUFJLENBQUMsQ0FBQyxjQUFBdUMsbUJBQUEsZ0JBQUFBLG1CQUFBLEdBQWxEQSxtQkFBQSxDQUFvREUsR0FBRyxDQUFDbEQsS0FBSyxDQUFDekIsSUFBSSxDQUFDLGNBQUF5RSxtQkFBQSx1QkFBbkVBLG1CQUFBLENBQXNFRCxJQUFJLENBQUM7SUFDcEY7RUFBQztJQUFBeEQsR0FBQTtJQUFBNUIsS0FBQSxFQUVELFNBQVFrRCxXQUFXQSxDQUNqQkosSUFBTyxFQUNQVCxLQUFrQixFQUNsQitDLElBQU8sRUFDUHBGLEtBQXdCLEVBQ2xCO01BQUEsSUFBQXdGLG9CQUFBLEVBQUFDLGNBQUE7TUFDTixJQUFNQyxNQUFNLEdBQUcsSUFBSSxDQUFDekUsU0FBUyxDQUFDYyxTQUFTLENBQUNlLElBQUksQ0FBQztNQUM3QyxJQUFNd0MsU0FBUyxJQUFBRSxvQkFBQSxHQUFHLElBQUksQ0FBQ0YsU0FBUyxDQUFDQyxHQUFHLENBQUNHLE1BQU0sQ0FBQyxjQUFBRixvQkFBQSxjQUFBQSxvQkFBQSxHQUFJLElBQUlsRSxHQUFHLENBQUMsQ0FBQztNQUN6RCxJQUFNcUUsY0FBYyxJQUFBRixjQUFBLEdBQUdILFNBQVMsQ0FBQ0MsR0FBRyxDQUFDbEQsS0FBSyxDQUFDekIsSUFBSSxDQUFDLGNBQUE2RSxjQUFBLGNBQUFBLGNBQUEsR0FBSSxDQUFDLENBQUM7TUFDdERFLGNBQWMsQ0FBQ1AsSUFBSSxDQUFDLEdBQUdwRixLQUFLO01BQzVCc0YsU0FBUyxDQUFDNUIsR0FBRyxDQUFDckIsS0FBSyxDQUFDekIsSUFBSSxFQUFFK0UsY0FBYyxDQUFDO01BQ3pDLElBQUksQ0FBQ0wsU0FBUyxDQUFDNUIsR0FBRyxDQUFDZ0MsTUFBTSxFQUFFSixTQUFTLENBQUM7SUFDdkM7RUFBQztBQUFBO0FBR0g7QUFDQTtBQUNBO0FBQ0EsU0FBU3JDLGFBQWFBLENBQ3BCMkMsUUFBVyxFQUNYdkQsS0FBa0IsRUFDbEJHLFFBQTZCLEVBQ0M7RUFDOUIsSUFBSUMsR0FBRyxHQUFHQyxRQUFRO0VBQ2xCLElBQUlDLEdBQUcsR0FBRyxDQUFDRCxRQUFRO0VBQUMsSUFBQW1ELFVBQUEsR0FBQTVHLDBCQUFBLENBQ0YyRyxRQUFRO0lBQUFFLE1BQUE7RUFBQTtJQUExQixLQUFBRCxVQUFBLENBQUFoRyxDQUFBLE1BQUFpRyxNQUFBLEdBQUFELFVBQUEsQ0FBQS9GLENBQUEsSUFBQUMsSUFBQSxHQUE0QjtNQUFBLElBQWpCb0UsS0FBRyxHQUFBMkIsTUFBQSxDQUFBOUYsS0FBQTtNQUNaLElBQU1vRSxHQUFHLEdBQUc1QixRQUFRLENBQUNILEtBQUssRUFBRThCLEtBQUcsQ0FBa0I7TUFDakQsSUFBSUMsR0FBRyxLQUFLLElBQUksRUFBRTtNQUNsQixJQUFJQSxHQUFHLEdBQUczQixHQUFHLEVBQUVBLEdBQUcsR0FBRzJCLEdBQUc7TUFDeEIsSUFBSUEsR0FBRyxHQUFHekIsR0FBRyxFQUFFQSxHQUFHLEdBQUd5QixHQUFHO0lBQzFCO0VBQUMsU0FBQWpCLEdBQUE7SUFBQTBDLFVBQUEsQ0FBQTFHLENBQUEsQ0FBQWdFLEdBQUE7RUFBQTtJQUFBMEMsVUFBQSxDQUFBNUYsQ0FBQTtFQUFBO0VBQ0QsT0FBT21ELE1BQU0sQ0FBQ0MsUUFBUSxDQUFDWixHQUFHLENBQUMsSUFBSVcsTUFBTSxDQUFDQyxRQUFRLENBQUNWLEdBQUcsQ0FBQyxHQUFHLENBQUNGLEdBQUcsRUFBRUUsR0FBRyxDQUFDLEdBQUdjLFNBQVM7QUFDOUU7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsU0FBU3NCLG1CQUFtQkEsQ0FDMUJhLFFBQVcsRUFDWHZELEtBQWtCLEVBQ2xCRyxRQUE2QixFQUVqQjtFQUFBLElBRFp1RCxVQUFVLEdBQUF2QyxTQUFBLENBQUE5RCxNQUFBLFFBQUE4RCxTQUFBLFFBQUFDLFNBQUEsR0FBQUQsU0FBQSxNQUFHLEVBQUU7RUFFZixJQUFNa0IsT0FBTyxHQUFHLElBQUlyRCxHQUFHLENBQVEsQ0FBQztFQUFDLElBQUEyRSxVQUFBLEdBQUEvRywwQkFBQSxDQUNmMkcsUUFBUTtJQUFBSyxNQUFBO0VBQUE7SUFBMUIsS0FBQUQsVUFBQSxDQUFBbkcsQ0FBQSxNQUFBb0csTUFBQSxHQUFBRCxVQUFBLENBQUFsRyxDQUFBLElBQUFDLElBQUEsR0FBNEI7TUFBQSxJQUFqQm9FLEtBQUcsR0FBQThCLE1BQUEsQ0FBQWpHLEtBQUE7TUFDWixJQUFJMEUsT0FBTyxDQUFDd0IsSUFBSSxJQUFJSCxVQUFVLEVBQUUsT0FBT3JCLE9BQU87TUFDOUNBLE9BQU8sQ0FBQ1EsR0FBRyxDQUFDMUMsUUFBUSxDQUFDSCxLQUFLLEVBQUU4QixLQUFHLENBQUMsQ0FBQztJQUNuQztFQUFDLFNBQUFoQixHQUFBO0lBQUE2QyxVQUFBLENBQUE3RyxDQUFBLENBQUFnRSxHQUFBO0VBQUE7SUFBQTZDLFVBQUEsQ0FBQS9GLENBQUE7RUFBQTtFQUNELE9BQU95RSxPQUFPO0FBQ2hCO0FBRUEsU0FBU3ZDLFlBQVlBLENBQUMvQixDQUFjLEVBQUUrRixDQUFjLEVBQVc7RUFDN0QsSUFBSS9GLENBQUMsQ0FBQzhGLElBQUksS0FBS0MsQ0FBQyxDQUFDRCxJQUFJLEVBQUUsT0FBTyxLQUFLO0VBQUMsSUFBQUUsVUFBQSxHQUFBbkgsMEJBQUEsQ0FDbEJtQixDQUFDO0lBQUFpRyxNQUFBO0VBQUE7SUFBbkIsS0FBQUQsVUFBQSxDQUFBdkcsQ0FBQSxNQUFBd0csTUFBQSxHQUFBRCxVQUFBLENBQUF0RyxDQUFBLElBQUFDLElBQUEsR0FBcUI7TUFBQSxJQUFWcUUsR0FBRyxHQUFBaUMsTUFBQSxDQUFBckcsS0FBQTtNQUNaLElBQUksQ0FBQ21HLENBQUMsQ0FBQ0csR0FBRyxDQUFDbEMsR0FBRyxDQUFDLEVBQUU7UUFDZixPQUFPLEtBQUs7TUFDZDtJQUNGO0VBQUMsU0FBQWpCLEdBQUE7SUFBQWlELFVBQUEsQ0FBQWpILENBQUEsQ0FBQWdFLEdBQUE7RUFBQTtJQUFBaUQsVUFBQSxDQUFBbkcsQ0FBQTtFQUFBO0VBQ0QsT0FBTyxJQUFJO0FBQ2IiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
276
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdXRpbHMiLCJyZXF1aXJlIiwiX2l0ZXJhYmxlVGlsZVNldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfdGlsZVV0aWxzIiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJyIiwiZSIsInQiLCJTeW1ib2wiLCJpdGVyYXRvciIsIkFycmF5IiwiaXNBcnJheSIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsImxlbmd0aCIsIl9uIiwiRiIsInMiLCJuIiwiZG9uZSIsInZhbHVlIiwiZiIsIlR5cGVFcnJvciIsIm8iLCJhIiwidSIsImNhbGwiLCJuZXh0IiwiX2FycmF5TGlrZVRvQXJyYXkiLCJ0b1N0cmluZyIsInNsaWNlIiwiY29uc3RydWN0b3IiLCJuYW1lIiwiZnJvbSIsInRlc3QiLCJUaWxlRGF0YXNldCIsImV4cG9ydHMiLCJhY2Nlc3NvcnMiLCJ0aWxlcyIsIl9jbGFzc0NhbGxDaGVjazIiLCJfZGVmaW5lUHJvcGVydHkyIiwiU2V0IiwiTWFwIiwidGlsZVNldCIsIkl0ZXJhYmxlVGlsZVNldCIsImdldFJvd0NvdW50IiwidXBkYXRlVGlsZXMiLCJfY3JlYXRlQ2xhc3MyIiwia2V5IiwiaW52YWxpZGF0ZUNhY2hlIiwiX3RoaXMkYWNjZXNzb3JzIiwiZ2V0VGlsZUlkIiwiZ2V0SXRlcmFibGUiLCJ0aWxlSWRzIiwibWFwIiwiYXJlRXF1YWxTZXRzIiwiZ2V0VGlsZXMiLCJnZXRFeHRlbnQiLCJmaWVsZCIsIl90aGlzJGFjY2Vzc29yczIiLCJnZXRSb3dWYWx1ZSIsImFjY2Vzc29yIiwibWluIiwiSW5maW5pdHkiLCJtYXgiLCJfaXRlcmF0b3IiLCJfc3RlcCIsInRpbGUiLCJleHRlbnQiLCJnZXRUaWxlU3RhdCIsImdldFRpbGVFeHRlbnQiLCJzZXRUaWxlU3RhdCIsImVyciIsIk51bWJlciIsImlzRmluaXRlIiwiZ2V0UXVhbnRpbGVTYW1wbGUiLCJtaW5Sb3dDb3VudCIsImFyZ3VtZW50cyIsInVuZGVmaW5lZCIsInNldCIsInNhbXBsZSIsInNhbXBsZVN0ZXAiLCJNYXRoIiwiZmxvb3IiLCJyb3dDb3VudCIsImkiLCJfaXRlcmF0b3IyIiwiX3N0ZXAyIiwicm93IiwidmFsIiwicHVzaCIsInF1aWNrSW5zZXJ0aW9uU29ydCIsInBydW5lUXVhbnRpbGVzIiwiZ2V0VW5pcXVlVmFsdWVzIiwiX3RoaXMkYWNjZXNzb3JzMyIsInVuaXF1ZXMiLCJfaXRlcmF0b3IzIiwiX3N0ZXAzIiwiX3RpbGVVbmlxdWVzIiwidGlsZVVuaXF1ZXMiLCJnZXRUaWxlVW5pcXVlVmFsdWVzIiwiX2l0ZXJhdG9yNCIsIl9zdGVwNCIsImFkZCIsIl90b0NvbnN1bWFibGVBcnJheTIiLCJzdGF0IiwiX3RoaXMkdGlsZVN0YXRzJGdldCIsInRpbGVTdGF0cyIsImdldCIsIl90aGlzJHRpbGVTdGF0cyRnZXQyIiwiX3RpbGVTdGF0cyRnZXQiLCJ0aWxlSWQiLCJ0aWxlRmllbGRTdGF0cyIsIml0ZXJhYmxlIiwiX2l0ZXJhdG9yNSIsIl9zdGVwNSIsIm1heFVuaXF1ZXMiLCJfaXRlcmF0b3I2IiwiX3N0ZXA2Iiwic2l6ZSIsImIiLCJfaXRlcmF0b3I3IiwiX3N0ZXA3IiwiaGFzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3ZlY3Rvci10aWxlL2NvbW1vbi10aWxlL3RpbGUtZGF0YXNldC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQge0ZpZWxkIGFzIEtlcGxlckZpZWxkfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcbmltcG9ydCB7cXVpY2tJbnNlcnRpb25Tb3J0fSBmcm9tICdAa2VwbGVyLmdsL3V0aWxzJztcblxuaW1wb3J0IEl0ZXJhYmxlVGlsZVNldCwge1Jvd0NvdW50QWNjZXNzb3J9IGZyb20gJy4vaXRlcmFibGUtdGlsZS1zZXQnO1xuaW1wb3J0IHtwcnVuZVF1YW50aWxlc30gZnJvbSAnLi90aWxlLXV0aWxzJztcblxuZXhwb3J0IHR5cGUgRGF0dW0gPSBudW1iZXIgfCBzdHJpbmcgfCBudWxsO1xuXG50eXBlIFJvd1ZhbHVlQWNjZXNzb3I8VD4gPSAoXG4gIGZpZWxkOiBLZXBsZXJGaWVsZCxcbiAgcm93OiBUIGV4dGVuZHMgSXRlcmFibGU8aW5mZXIgVj4gPyBWIDogbmV2ZXJcbikgPT4gRGF0dW07XG50eXBlIFJvd1ZhbHVlQWNjZXNzb3JGYWN0b3J5PFQ+ID0gKFxuICBmaWVsZD86IEtlcGxlckZpZWxkLFxuICBpbmRleEtleT86IG51bWJlciB8IG51bGxcbikgPT4gUm93VmFsdWVBY2Nlc3NvcjxUPjtcblxudHlwZSBUaWxlQWNjZXNzb3JzPFQsIEkgZXh0ZW5kcyBJdGVyYWJsZTxhbnk+ID0gVCBleHRlbmRzIEl0ZXJhYmxlPGFueT4gPyBUIDogbmV2ZXI+ID0ge1xuICBnZXRUaWxlSWQ6ICh0aWxlOiBUKSA9PiBzdHJpbmc7XG4gIGdldEl0ZXJhYmxlOiAodGlsZTogVCkgPT4gSTtcbiAgZ2V0Um93Q291bnQ6IFJvd0NvdW50QWNjZXNzb3I8ST47XG4gIGdldFJvd1ZhbHVlOiBSb3dWYWx1ZUFjY2Vzc29yRmFjdG9yeTxJPjtcbn07XG5cbi8qKlxuICogUGVyLXRpbGUgc3RhdHMsIGZvciBjYWNoaW5nXG4gKi9cbnR5cGUgVGlsZUZpZWxkU3RhdHMgPSB7XG4gIGV4dGVudD86IFtudW1iZXIsIG51bWJlcl07XG4gIHNhbXBsZT86IERhdHVtW107XG4gIHVuaXF1ZVZhbHVlcz86IFNldDxEYXR1bT47XG59O1xuXG4vKipcbiAqIFN0YXRlZnVsIGNsYXNzIG9mZmVyaW5nIGRhdGFzZXQtc3R5bGUgZnVuY3Rpb25zIGZvciB0aGUgc2V0IG9mIHRpbGVzLlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBUaWxlRGF0YXNldDxULCBJIGV4dGVuZHMgSXRlcmFibGU8YW55PiA9IFQgZXh0ZW5kcyBJdGVyYWJsZTxhbnk+ID8gVCA6IG5ldmVyPiB7XG4gIHByaXZhdGUgYWNjZXNzb3JzOiBUaWxlQWNjZXNzb3JzPFQsIEk+O1xuICBwcml2YXRlIHRpbGVzOiByZWFkb25seSBUW107XG4gIHByaXZhdGUgdGlsZVNldDogSXRlcmFibGVUaWxlU2V0PEk+O1xuICBwcml2YXRlIHRpbGVJZHM6IFNldDxzdHJpbmc+ID0gbmV3IFNldCgpO1xuXG4gIC8qKiBDYWNoZSBmb3IgcGVyLXRpbGUgZmllbGQgc3RhdHM6IHRpbGVJZCAtPiBmaWVsZElkIC0+IHN0YXRzICovXG4gIHByaXZhdGUgdGlsZVN0YXRzOiBNYXA8c3RyaW5nLCBNYXA8c3RyaW5nLCBUaWxlRmllbGRTdGF0cz4+ID0gbmV3IE1hcCgpO1xuXG4gIGNvbnN0cnVjdG9yKGFjY2Vzc29yczogVGlsZUFjY2Vzc29yczxULCBJPiwgdGlsZXM/OiByZWFkb25seSBUW10pIHtcbiAgICB0aGlzLmFjY2Vzc29ycyA9IGFjY2Vzc29ycztcbiAgICB0aGlzLnRpbGVzID0gW107XG4gICAgdGhpcy50aWxlU2V0ID0gbmV3IEl0ZXJhYmxlVGlsZVNldChbXSwgYWNjZXNzb3JzLmdldFJvd0NvdW50KTtcbiAgICBpZiAodGlsZXMpIHtcbiAgICAgIHRoaXMudXBkYXRlVGlsZXModGlsZXMpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBJbnZhbGlkYXRlIHRoZSBjYWNoZWQgZGF0YVxuICAgKi9cbiAgaW52YWxpZGF0ZUNhY2hlKCk6IHZvaWQge1xuICAgIC8vIFRPRE86IGltcGxlbWVudCBsYXRlclxuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSB0aGUgc2V0IG9mIHRpbGVzIGluIHRoZSB2aWV3cG9ydFxuICAgKi9cbiAgdXBkYXRlVGlsZXModGlsZXM6IHJlYWRvbmx5IFRbXSk6IHZvaWQge1xuICAgIGNvbnN0IHtnZXRUaWxlSWQsIGdldEl0ZXJhYmxlLCBnZXRSb3dDb3VudH0gPSB0aGlzLmFjY2Vzc29ycztcbiAgICBjb25zdCB0aWxlSWRzID0gbmV3IFNldDxzdHJpbmc+KHRpbGVzLm1hcChnZXRUaWxlSWQpKTtcbiAgICBpZiAoIWFyZUVxdWFsU2V0cyh0aWxlSWRzLCB0aGlzLnRpbGVJZHMpKSB7XG4gICAgICB0aGlzLmludmFsaWRhdGVDYWNoZSgpO1xuICAgIH1cbiAgICB0aGlzLnRpbGVzID0gdGlsZXM7XG4gICAgdGhpcy50aWxlSWRzID0gdGlsZUlkcztcbiAgICB0aGlzLnRpbGVTZXQgPSBuZXcgSXRlcmFibGVUaWxlU2V0KHRpbGVzLm1hcChnZXRJdGVyYWJsZSksIGdldFJvd0NvdW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gY3VycmVudCB0aWxlc1xuICAgKi9cbiAgZ2V0VGlsZXMoKTogcmVhZG9ubHkgVFtdIHtcbiAgICByZXR1cm4gdGhpcy50aWxlcztcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIG1pbi9tYXggZG9tYWluIG9mIGEgZmllbGRcbiAgICovXG4gIGdldEV4dGVudChmaWVsZDogS2VwbGVyRmllbGQpOiBbbnVtYmVyLCBudW1iZXJdIHtcbiAgICBjb25zdCB7Z2V0Um93VmFsdWUsIGdldEl0ZXJhYmxlfSA9IHRoaXMuYWNjZXNzb3JzO1xuICAgIGNvbnN0IGFjY2Vzc29yID0gZ2V0Um93VmFsdWUoZmllbGQpO1xuICAgIGxldCBtaW4gPSBJbmZpbml0eTtcbiAgICBsZXQgbWF4ID0gLUluZmluaXR5O1xuXG4gICAgZm9yIChjb25zdCB0aWxlIG9mIHRoaXMudGlsZXMpIHtcbiAgICAgIC8vIENoZWNrIHRoZSBjYWNoZVxuICAgICAgbGV0IGV4dGVudCA9IHRoaXMuZ2V0VGlsZVN0YXQodGlsZSwgZmllbGQsICdleHRlbnQnKTtcbiAgICAgIGlmICghZXh0ZW50KSB7XG4gICAgICAgIC8vIENhY2hlIG1pc3MsIGNhbGN1bGF0ZSBhbmQgY2FjaGVcbiAgICAgICAgZXh0ZW50ID0gZ2V0VGlsZUV4dGVudChnZXRJdGVyYWJsZSh0aWxlKSwgZmllbGQsIGFjY2Vzc29yKTtcbiAgICAgICAgdGhpcy5zZXRUaWxlU3RhdCh0aWxlLCBmaWVsZCwgJ2V4dGVudCcsIGV4dGVudCk7XG4gICAgICB9XG4gICAgICBpZiAoZXh0ZW50KSB7XG4gICAgICAgIGlmIChleHRlbnRbMF0gPCBtaW4pIG1pbiA9IGV4dGVudFswXTtcbiAgICAgICAgaWYgKGV4dGVudFsxXSA+IG1heCkgbWF4ID0gZXh0ZW50WzFdO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gTnVtYmVyLmlzRmluaXRlKG1pbikgJiYgTnVtYmVyLmlzRmluaXRlKG1heCkgPyBbbWluLCBtYXhdIDogWzAsIDBdO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhIHNhbXBsZSBvZiBmaWVsZCB2YWx1ZXMgdG8gdXNlIGluIGVzdGltYXRpbmcgcXVhbnRpbGVzXG4gICAqL1xuICBnZXRRdWFudGlsZVNhbXBsZShmaWVsZDogS2VwbGVyRmllbGQsIG1pblJvd0NvdW50ID0gMTAwMCk6IG51bWJlcltdIHtcbiAgICAvLyBUT0RPOiBUaGVyZSBzaG91bGQgYmUgcmVhc29uYWJsZSBwZXItdGlsZSBjYWNoaW5nIHBvc3NpYmxlIGhlcmVcbiAgICBjb25zdCBzZXQgPSB0aGlzLnRpbGVTZXQ7XG4gICAgY29uc3QgYWNjZXNzb3IgPSB0aGlzLmFjY2Vzc29ycy5nZXRSb3dWYWx1ZShmaWVsZCk7XG4gICAgY29uc3Qgc2FtcGxlOiBudW1iZXJbXSA9IFtdO1xuICAgIGNvbnN0IHNhbXBsZVN0ZXAgPSBNYXRoLm1heChNYXRoLmZsb29yKHNldC5yb3dDb3VudCAvIG1pblJvd0NvdW50KSwgMSk7XG4gICAgbGV0IGkgPSAwO1xuICAgIGZvciAoY29uc3Qgcm93IG9mIHNldCkge1xuICAgICAgaWYgKCsraSA9PT0gc2FtcGxlU3RlcCkge1xuICAgICAgICBjb25zdCB2YWwgPSBhY2Nlc3NvcihmaWVsZCwgcm93KSBhcyBudW1iZXIgfCBudWxsO1xuICAgICAgICBpZiAodmFsICE9PSBudWxsKSBzYW1wbGUucHVzaCh2YWwpO1xuICAgICAgICBpID0gMDtcbiAgICAgIH1cbiAgICB9XG4gICAgcXVpY2tJbnNlcnRpb25Tb3J0KHNhbXBsZSk7XG4gICAgcHJ1bmVRdWFudGlsZXMoc2FtcGxlKTtcbiAgICByZXR1cm4gc2FtcGxlO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhIHNldCBvZiB1bmlxdWUgdmFsdWVzIGZvciBhIGZpZWxkXG4gICAqL1xuICBnZXRVbmlxdWVWYWx1ZXMoZmllbGQ6IEtlcGxlckZpZWxkKTogRGF0dW1bXSB7XG4gICAgY29uc3Qge2dldFJvd1ZhbHVlLCBnZXRJdGVyYWJsZX0gPSB0aGlzLmFjY2Vzc29ycztcbiAgICBjb25zdCBhY2Nlc3NvciA9IGdldFJvd1ZhbHVlKGZpZWxkKTtcbiAgICBjb25zdCB1bmlxdWVzID0gbmV3IFNldDxEYXR1bT4oKTtcblxuICAgIGZvciAoY29uc3QgdGlsZSBvZiB0aGlzLnRpbGVzKSB7XG4gICAgICAvLyBDaGVjayB0aGUgY2FjaGVcbiAgICAgIGxldCB0aWxlVW5pcXVlcyA9IHRoaXMuZ2V0VGlsZVN0YXQodGlsZSwgZmllbGQsICd1bmlxdWVWYWx1ZXMnKTtcbiAgICAgIGlmICghdGlsZVVuaXF1ZXMpIHtcbiAgICAgICAgLy8gQ2FjaGUgbWlzcywgY2FsY3VsYXRlIGFuZCBjYWNoZVxuICAgICAgICB0aWxlVW5pcXVlcyA9IGdldFRpbGVVbmlxdWVWYWx1ZXMoZ2V0SXRlcmFibGUodGlsZSksIGZpZWxkLCBhY2Nlc3Nvcik7XG4gICAgICAgIHRoaXMuc2V0VGlsZVN0YXQodGlsZSwgZmllbGQsICd1bmlxdWVWYWx1ZXMnLCB0aWxlVW5pcXVlcyk7XG4gICAgICB9XG4gICAgICBmb3IgKGNvbnN0IHZhbCBvZiB0aWxlVW5pcXVlcyA/PyBbXSkge1xuICAgICAgICB1bmlxdWVzLmFkZCh2YWwpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gWy4uLnVuaXF1ZXNdO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRUaWxlU3RhdDxLIGV4dGVuZHMga2V5b2YgVGlsZUZpZWxkU3RhdHM+KFxuICAgIHRpbGU6IFQsXG4gICAgZmllbGQ6IEtlcGxlckZpZWxkLFxuICAgIHN0YXQ6IEtcbiAgKTogVGlsZUZpZWxkU3RhdHNbS10ge1xuICAgIHJldHVybiB0aGlzLnRpbGVTdGF0cy5nZXQodGhpcy5hY2Nlc3NvcnMuZ2V0VGlsZUlkKHRpbGUpKT8uZ2V0KGZpZWxkLm5hbWUpPy5bc3RhdF07XG4gIH1cblxuICBwcml2YXRlIHNldFRpbGVTdGF0PEsgZXh0ZW5kcyBrZXlvZiBUaWxlRmllbGRTdGF0cz4oXG4gICAgdGlsZTogVCxcbiAgICBmaWVsZDogS2VwbGVyRmllbGQsXG4gICAgc3RhdDogSyxcbiAgICB2YWx1ZTogVGlsZUZpZWxkU3RhdHNbS11cbiAgKTogdm9pZCB7XG4gICAgY29uc3QgdGlsZUlkID0gdGhpcy5hY2Nlc3NvcnMuZ2V0VGlsZUlkKHRpbGUpO1xuICAgIGNvbnN0IHRpbGVTdGF0cyA9IHRoaXMudGlsZVN0YXRzLmdldCh0aWxlSWQpID8/IG5ldyBNYXAoKTtcbiAgICBjb25zdCB0aWxlRmllbGRTdGF0cyA9IHRpbGVTdGF0cy5nZXQoZmllbGQubmFtZSkgPz8ge307XG4gICAgdGlsZUZpZWxkU3RhdHNbc3RhdF0gPSB2YWx1ZTtcbiAgICB0aWxlU3RhdHMuc2V0KGZpZWxkLm5hbWUsIHRpbGVGaWVsZFN0YXRzKTtcbiAgICB0aGlzLnRpbGVTdGF0cy5zZXQodGlsZUlkLCB0aWxlU3RhdHMpO1xuICB9XG59XG5cbi8qKlxuICogR2V0IHRoZSBtaW4vbWF4IGRvbWFpbiBvZiBhIGZpZWxkIGluIGEgZ2l2ZW4gdGlsZVxuICovXG5mdW5jdGlvbiBnZXRUaWxlRXh0ZW50PEkgZXh0ZW5kcyBJdGVyYWJsZTxhbnk+PihcbiAgaXRlcmFibGU6IEksXG4gIGZpZWxkOiBLZXBsZXJGaWVsZCxcbiAgYWNjZXNzb3I6IFJvd1ZhbHVlQWNjZXNzb3I8ST5cbik6IFtudW1iZXIsIG51bWJlcl0gfCB1bmRlZmluZWQge1xuICBsZXQgbWluID0gSW5maW5pdHk7XG4gIGxldCBtYXggPSAtSW5maW5pdHk7XG4gIGZvciAoY29uc3Qgcm93IG9mIGl0ZXJhYmxlKSB7XG4gICAgY29uc3QgdmFsID0gYWNjZXNzb3IoZmllbGQsIHJvdykgYXMgbnVtYmVyIHwgbnVsbDtcbiAgICBpZiAodmFsID09PSBudWxsKSBjb250aW51ZTtcbiAgICBpZiAodmFsIDwgbWluKSBtaW4gPSB2YWw7XG4gICAgaWYgKHZhbCA+IG1heCkgbWF4ID0gdmFsO1xuICB9XG4gIHJldHVybiBOdW1iZXIuaXNGaW5pdGUobWluKSAmJiBOdW1iZXIuaXNGaW5pdGUobWF4KSA/IFttaW4sIG1heF0gOiB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogR2V0IHVuaXF1ZSB2YWx1ZXMgZm9yIGEgZmllbGQgaW4gYSBnaXZlbiB0aWxlXG4gKi9cbmZ1bmN0aW9uIGdldFRpbGVVbmlxdWVWYWx1ZXM8SSBleHRlbmRzIEl0ZXJhYmxlPGFueT4+KFxuICBpdGVyYWJsZTogSSxcbiAgZmllbGQ6IEtlcGxlckZpZWxkLFxuICBhY2Nlc3NvcjogUm93VmFsdWVBY2Nlc3NvcjxJPixcbiAgbWF4VW5pcXVlcyA9IDIwXG4pOiBTZXQ8RGF0dW0+IHtcbiAgY29uc3QgdW5pcXVlcyA9IG5ldyBTZXQ8RGF0dW0+KCk7XG4gIGZvciAoY29uc3Qgcm93IG9mIGl0ZXJhYmxlKSB7XG4gICAgaWYgKHVuaXF1ZXMuc2l6ZSA+PSBtYXhVbmlxdWVzKSByZXR1cm4gdW5pcXVlcztcbiAgICB1bmlxdWVzLmFkZChhY2Nlc3NvcihmaWVsZCwgcm93KSk7XG4gIH1cbiAgcmV0dXJuIHVuaXF1ZXM7XG59XG5cbmZ1bmN0aW9uIGFyZUVxdWFsU2V0cyhhOiBTZXQ8c3RyaW5nPiwgYjogU2V0PHN0cmluZz4pOiBib29sZWFuIHtcbiAgaWYgKGEuc2l6ZSAhPT0gYi5zaXplKSByZXR1cm4gZmFsc2U7XG4gIGZvciAoY29uc3QgdmFsIG9mIGEpIHtcbiAgICBpZiAoIWIuaGFzKHZhbCkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHRydWU7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBSUEsSUFBQUEsTUFBQSxH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
|
|
@@ -16,6 +16,7 @@ export declare const DEFAULT_HIGHLIGHT_FILL_COLOR: number[];
|
|
|
16
16
|
export declare const DEFAULT_HIGHLIGHT_STROKE_COLOR: number[];
|
|
17
17
|
export declare const MAX_CACHE_SIZE_MOBILE = 1;
|
|
18
18
|
export declare const DEFAULT_STROKE_WIDTH = 1;
|
|
19
|
+
export declare const UUID_CANDIDATES: string[];
|
|
19
20
|
/**
|
|
20
21
|
* Type for transformRequest returned parameters.
|
|
21
22
|
*/
|
|
@@ -126,6 +127,7 @@ export declare type VectorTileLayerConfig = Merge<AbstractTileLayerConfig, {
|
|
|
126
127
|
radiusScale?: string;
|
|
127
128
|
radiusDomain?: VisualChannelDomain;
|
|
128
129
|
radiusRange?: any;
|
|
130
|
+
uniqueIdField?: string | null;
|
|
129
131
|
}>;
|
|
130
132
|
export declare type VectorTileLayerVisConfigSettings = Merge<AbstractTileLayerVisConfigSettings, {
|
|
131
133
|
sizeRange: VisConfigRange;
|
|
@@ -158,5 +160,14 @@ export default class VectorTileLayer extends AbstractTileLayer<VectorTile, Featu
|
|
|
158
160
|
hasHoveredObject(objectInfo: any): any;
|
|
159
161
|
renderSubLayers(props: Record<string, any>): DeckLayer | DeckLayer[];
|
|
160
162
|
renderLayer(opts: VectorTileLayerRenderOptions): DeckLayer[];
|
|
163
|
+
/**
|
|
164
|
+
* Build per-tile clipped overlay to draw only the outer stroke of highlighted feature per tile
|
|
165
|
+
* @param hoveredObject
|
|
166
|
+
*/
|
|
167
|
+
_getPerTileOverlays(hoveredObject: Feature, options: {
|
|
168
|
+
defaultLayerProps: any;
|
|
169
|
+
visConfig: any;
|
|
170
|
+
uniqueIdProperty?: string;
|
|
171
|
+
}): DeckLayer[];
|
|
161
172
|
}
|
|
162
173
|
export {};
|