kepler.gl 3.2.2 → 3.2.4
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/duckdb/src/components/index.d.ts +8 -1
- package/dist/src/duckdb/src/index.d.ts +3 -5
- package/dist/src/duckdb/src/table/index.d.ts +1 -0
- package/dist/src/processors/src/file-handler.d.ts +2 -7
- package/dist/src/utils/src/arrow-data-container.d.ts +38 -1
- package/dist/src/utils/src/data-container-interface.d.ts +3 -2
- package/dist/src/utils/src/index.d.ts +1 -1
- package/package.json +2 -2
- package/src/actions/package.json +8 -8
- package/src/ai-assistant/package.json +7 -7
- package/src/cloud-providers/package.json +2 -2
- package/src/common-utils/package.json +3 -3
- package/src/components/package.json +16 -16
- package/src/constants/dist/default-settings.js +1 -1
- package/src/constants/node_modules/.cache/terser-webpack-plugin/content-v2/sha512/c4/d0/bd16d41c708342b14f4c0aaa31136faccd8d411ae1d3962252433ac31d00ac57f49ecd4f6b4d682ccdab28858444adefb98aa54c83743d739b90698c03cf +1 -0
- package/src/constants/node_modules/.cache/terser-webpack-plugin/content-v2/sha512/da/54/b803dd69cea23939320d2d3aa0502638ac264cea8968854e5ccc4a71ddfbb0d6ce41a875ec1be176eb7d99815b3d6464bf60d0274b1175d7fcb131846d7d +1 -0
- package/src/constants/node_modules/.cache/terser-webpack-plugin/index-v5/10/75/d229810e58d38a1b61f7938bf1587615fbe97f4afa69493e595badd1f471 +2 -0
- package/src/constants/node_modules/.cache/terser-webpack-plugin/index-v5/9c/6d/1f90c56b793c944c2a9a393e837a46aef02e3b867e2bf28fcb0929c4ac5e +2 -0
- package/src/constants/package.json +2 -2
- package/src/constants/umd/keplergl.min.js +1 -1
- package/src/deckgl-arrow-layers/dist/utils/utils.js +5 -4
- package/src/deckgl-arrow-layers/dist/utils/validate.js +3 -2
- package/src/deckgl-arrow-layers/package.json +3 -2
- package/src/deckgl-arrow-layers/src/utils/utils.ts +4 -3
- package/src/deckgl-arrow-layers/src/utils/validate.ts +2 -1
- package/src/deckgl-layers/package.json +4 -4
- package/src/duckdb/dist/components/index.d.ts +8 -1
- package/src/duckdb/dist/components/index.js +54 -11
- package/src/duckdb/dist/index.d.ts +3 -5
- package/src/duckdb/dist/index.js +28 -40
- package/src/duckdb/dist/table/duckdb-table.js +3 -3
- package/src/duckdb/dist/table/index.d.ts +1 -0
- package/src/duckdb/dist/table/index.js +17 -0
- package/src/duckdb/package.json +25 -7
- package/src/duckdb/src/components/index.tsx +9 -1
- package/src/duckdb/src/index.ts +3 -9
- package/src/duckdb/src/table/duckdb-table.ts +11 -6
- package/src/duckdb/src/table/index.ts +5 -0
- package/src/effects/package.json +5 -5
- package/src/layers/dist/base-layer.js +2 -6
- package/src/layers/dist/icon-layer/icon-layer.d.ts +1 -0
- package/src/layers/dist/icon-layer/icon-layer.js +18 -3
- package/src/layers/dist/layer-text-label.js +3 -3
- package/src/layers/package.json +9 -9
- package/src/layers/src/base-layer.ts +3 -2
- package/src/layers/src/icon-layer/icon-layer.ts +13 -0
- package/src/layers/src/layer-text-label.ts +3 -3
- package/src/localization/package.json +1 -1
- package/src/processors/dist/file-handler.d.ts +2 -7
- package/src/processors/dist/file-handler.js +8 -16
- package/src/processors/package.json +7 -7
- package/src/processors/src/file-handler.ts +3 -10
- 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/00/92/9b4a08e852e2f12e4702d7c41fe5299bcd72ee10d25072f6aa4bb473d4dbe8d2ea1992b32bf82ea9ad73efdacf9f4e228a18523c93042cc58d07a56115bf +1 -0
- package/src/styles/node_modules/.cache/terser-webpack-plugin/content-v2/sha512/fd/ef/551b4725615a0e609688e4b55cf4f617fab2a80dcb5e9efb288d77e62f25cd67f3525e372e109c35ef3b3508da4eb974cdf1a784ee3ff610942b93415cc7 +1 -0
- package/src/styles/node_modules/.cache/terser-webpack-plugin/index-v5/58/24/f9a517552c80acd6fe8c93f7ed4a3e8b24272284e6f2257ad18e152a8dbf +2 -0
- package/src/styles/node_modules/.cache/terser-webpack-plugin/index-v5/aa/b2/36c45c478923af2d1fd8b06c81f5aa622e67be3239349c2219ac4652d959 +2 -0
- package/src/styles/package.json +2 -2
- package/src/styles/umd/keplergl.min.js +1 -1
- package/src/table/dist/kepler-table.js +3 -3
- package/src/table/package.json +5 -5
- package/src/table/src/kepler-table.ts +1 -1
- package/src/tasks/package.json +2 -2
- package/src/types/package.json +1 -1
- package/src/utils/dist/arrow-data-container.d.ts +38 -1
- package/src/utils/dist/arrow-data-container.js +78 -11
- package/src/utils/dist/data-container-interface.d.ts +3 -2
- package/src/utils/dist/data-container-interface.js +1 -1
- package/src/utils/dist/data-utils.js +3 -6
- package/src/utils/dist/index.d.ts +1 -1
- package/src/utils/dist/index.js +29 -1
- package/src/utils/package.json +4 -4
- package/src/utils/src/arrow-data-container.ts +101 -13
- package/src/utils/src/data-container-interface.ts +3 -2
- package/src/utils/src/data-utils.ts +2 -2
- package/src/utils/src/index.ts +5 -1
- package/umd/keplergl.min.js +1370 -1370
|
@@ -21,6 +21,7 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
|
|
|
21
21
|
var _typed = require("@deck.gl/core/typed");
|
|
22
22
|
var arrow = _interopRequireWildcard(require("apache-arrow"));
|
|
23
23
|
var ga = _interopRequireWildcard(require("@geoarrow/geoarrow-js"));
|
|
24
|
+
var _utils = require("@kepler.gl/utils");
|
|
24
25
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
25
26
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
26
27
|
// SPDX-License-Identifier: MIT
|
|
@@ -45,11 +46,11 @@ function isColumnReference(input) {
|
|
|
45
46
|
}
|
|
46
47
|
function isDataInterleavedCoords(data) {
|
|
47
48
|
// TODO: also check 2 or 3d? Float64?
|
|
48
|
-
return data.type
|
|
49
|
+
return (0, _utils.isArrowFixedSizeList)(data.type);
|
|
49
50
|
}
|
|
50
51
|
function isDataSeparatedCoords(data) {
|
|
51
52
|
// TODO: also check child names? Float64?
|
|
52
|
-
return data.type
|
|
53
|
+
return (0, _utils.isArrowStruct)(data.type);
|
|
53
54
|
}
|
|
54
55
|
|
|
55
56
|
/**
|
|
@@ -138,7 +139,7 @@ function assignAccessor(args) {
|
|
|
138
139
|
if (propInput === undefined) {
|
|
139
140
|
return;
|
|
140
141
|
}
|
|
141
|
-
if (
|
|
142
|
+
if ((0, _utils.isArrowVector)(propInput)) {
|
|
142
143
|
var columnData = propInput.data[chunkIdx];
|
|
143
144
|
if (arrow.DataType.isFixedSizeList(columnData)) {
|
|
144
145
|
(0, _typed.assert)(columnData.children.length === 1);
|
|
@@ -306,4 +307,4 @@ function extractAccessorsFromProps(props, excludeKeys) {
|
|
|
306
307
|
}
|
|
307
308
|
return [accessors, otherProps];
|
|
308
309
|
}
|
|
309
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdHlwZWQiLCJyZXF1aXJlIiwiYXJyb3ciLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsImdhIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiZmluZEdlb21ldHJ5Q29sdW1uSW5kZXgiLCJzY2hlbWEiLCJleHRlbnNpb25OYW1lIiwiZ2VvbWV0cnlDb2x1bW5OYW1lIiwiaW5kZXgiLCJmaWVsZHMiLCJmaW5kSW5kZXgiLCJmaWVsZCIsIm5hbWUiLCJtZXRhZGF0YSIsImlzQ29sdW1uUmVmZXJlbmNlIiwiaW5wdXQiLCJpc0RhdGFJbnRlcmxlYXZlZENvb3JkcyIsImRhdGEiLCJ0eXBlIiwiRml4ZWRTaXplTGlzdCIsImlzRGF0YVNlcGFyYXRlZENvb3JkcyIsIlN0cnVjdCIsImNvbnZlcnRTdHJ1Y3RUb0ZpeGVkU2l6ZUxpc3QiLCJjb29yZHMiLCJpbnRlcmxlYXZlZENvb3JkcyIsIkZsb2F0NjRBcnJheSIsImxlbmd0aCIsIl9jb29yZHMkY2hpbGRyZW4iLCJfc2xpY2VkVG9BcnJheTIiLCJjaGlsZHJlbiIsInhDaGlsZCIsInlDaGlsZCIsInZhbHVlcyIsImNoaWxkRGF0YVR5cGUiLCJGbG9hdDY0IiwiZGF0YVR5cGUiLCJGaWVsZCIsImludGVybGVhdmVkQ29vcmRzRGF0YSIsIm1ha2VEYXRhIiwibnVsbENvdW50IiwibnVsbEJpdG1hcCIsImNoaWxkIiwiYXNzZXJ0Iiwid3JhcEFjY2Vzc29yRnVuY3Rpb24iLCJvYmplY3RJbmZvIiwidXNlckFjY2Vzc29yRnVuY3Rpb24iLCJiYXRjaE9mZnNldCIsIm5ld0luZGV4IiwiaW52ZXJ0ZWRHZW9tT2Zmc2V0cyIsInVuZGVmaW5lZCIsIm5ld09iamVjdERhdGEiLCJhdHRyaWJ1dGVzIiwibmV3T2JqZWN0SW5mbyIsInRhcmdldCIsImFzc2lnbkFjY2Vzc29yIiwiYXJncyIsInByb3BzIiwicHJvcE5hbWUiLCJwcm9wSW5wdXQiLCJjaHVua0lkeCIsImdlb21Db29yZE9mZnNldHMiLCJfYXJncyRiYXRjaE9mZnNldCIsIlZlY3RvciIsImNvbHVtbkRhdGEiLCJEYXRhVHlwZSIsImlzRml4ZWRTaXplTGlzdCIsImV4cGFuZEFycmF5VG9Db29yZHMiLCJsaXN0U2l6ZSIsInZhbHVlIiwic2l6ZSIsIm5vcm1hbGl6ZWQiLCJpc0Zsb2F0Iiwib2JqZWN0IiwiZ2VvbU9mZnNldHMiLCJudW1Qb3NpdGlvbnMiLCJsYXN0SW5kZXgiLCJudW1Db29yZHMiLCJvdXRwdXRBcnJheSIsImNvbnN0cnVjdG9yIiwiZ2VvbUlkeCIsImxhc3RDb29yZElkeCIsIm5leHRDb29yZElkeCIsImNvb3JkSWR4IiwiZ2V0R2VvbWV0cnlWZWN0b3IiLCJ0YWJsZSIsImdlb2Fycm93VHlwZU5hbWUiLCJnZW9tZXRyeUNvbHVtbklkeCIsImdldENoaWxkQXQiLCJnZXRMaXN0TmVzdGluZ0xldmVscyIsIm5lc3RpbmdMZXZlbHMiLCJpc0xpc3QiLCJnZXRNdWx0aUxpbmVTdHJpbmdSZXNvbHZlZE9mZnNldHMiLCJ2YWx1ZU9mZnNldHMiLCJsaW5lU3RyaW5nRGF0YSIsImdldE11bHRpTGluZVN0cmluZ0NoaWxkIiwicmluZ09mZnNldHMiLCJyZXNvbHZlZFJpbmdPZmZzZXRzIiwiSW50MzJBcnJheSIsImdldFBvbHlnb25SZXNvbHZlZE9mZnNldHMiLCJyaW5nRGF0YSIsImdldFBvbHlnb25DaGlsZCIsImdldE11bHRpUG9seWdvblJlc29sdmVkT2Zmc2V0cyIsInBvbHlnb25EYXRhIiwiZ2V0TXVsdGlQb2x5Z29uQ2hpbGQiLCJwb2x5Z29uT2Zmc2V0cyIsImludmVydE9mZnNldHMiLCJvZmZzZXRzIiwibGFyZ2VzdE9mZnNldCIsImFycmF5Q29uc3RydWN0b3IiLCJNYXRoIiwicG93IiwiVWludDhBcnJheSIsIlVpbnQxNkFycmF5IiwiVWludDMyQXJyYXkiLCJpbnZlcnRlZE9mZnNldHMiLCJhcnJheUlkeCIsInRoaXNPZmZzZXQiLCJuZXh0T2Zmc2V0Iiwib2Zmc2V0IiwiZXh0cmFjdEFjY2Vzc29yc0Zyb21Qcm9wcyIsImV4Y2x1ZGVLZXlzIiwiYWNjZXNzb3JzIiwib3RoZXJQcm9wcyIsIl9pIiwiX09iamVjdCRlbnRyaWVzIiwiZW50cmllcyIsIl9PYmplY3QkZW50cmllcyRfaSIsImtleSIsImluY2x1ZGVzIiwic3RhcnRzV2l0aCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy91dGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG4vLyBkZWNrLmdsLWNvbW11bml0eVxuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IChjKSB2aXMuZ2wgY29udHJpYnV0b3JzXG5cbmltcG9ydCB7YXNzZXJ0fSBmcm9tICdAZGVjay5nbC9jb3JlL3R5cGVkJztcbmltcG9ydCAqIGFzIGFycm93IGZyb20gJ2FwYWNoZS1hcnJvdyc7XG5pbXBvcnQgKiBhcyBnYSBmcm9tICdAZ2VvYXJyb3cvZ2VvYXJyb3ctanMnO1xuaW1wb3J0IHtBY2Nlc3NvckNvbnRleHQsIEFjY2Vzc29yRnVuY3Rpb24sIF9JbnRlcm5hbEFjY2Vzc29yQ29udGV4dH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5leHBvcnQgdHlwZSBUeXBlZEFycmF5ID1cbiAgfCBVaW50OEFycmF5XG4gIHwgVWludDhDbGFtcGVkQXJyYXlcbiAgfCBVaW50MTZBcnJheVxuICB8IFVpbnQzMkFycmF5XG4gIHwgSW50OEFycmF5XG4gIHwgSW50MTZBcnJheVxuICB8IEludDMyQXJyYXlcbiAgfCBGbG9hdDMyQXJyYXlcbiAgfCBGbG9hdDY0QXJyYXk7XG5cbmV4cG9ydCBmdW5jdGlvbiBmaW5kR2VvbWV0cnlDb2x1bW5JbmRleChcbiAgc2NoZW1hOiBhcnJvdy5TY2hlbWEsXG4gIGV4dGVuc2lvbk5hbWU6IHN0cmluZyxcbiAgZ2VvbWV0cnlDb2x1bW5OYW1lPzogc3RyaW5nIHwgbnVsbFxuKTogbnVtYmVyIHwgbnVsbCB7XG4gIGNvbnN0IGluZGV4ID0gc2NoZW1hLmZpZWxkcy5maW5kSW5kZXgoXG4gICAgZmllbGQgPT5cbiAgICAgIGZpZWxkLm5hbWUgPT09IGdlb21ldHJ5Q29sdW1uTmFtZSB8fFxuICAgICAgZmllbGQubWV0YWRhdGEuZ2V0KCdBUlJPVzpleHRlbnNpb246bmFtZScpID09PSBleHRlbnNpb25OYW1lXG4gICk7XG4gIHJldHVybiBpbmRleCAhPT0gLTEgPyBpbmRleCA6IG51bGw7XG59XG5cbi8qKlxuICogUmV0dXJucyBgdHJ1ZWAgaWYgdGhlIGlucHV0IGlzIGEgcmVmZXJlbmNlIHRvIGEgY29sdW1uIGluIHRoZSB0YWJsZVxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNDb2x1bW5SZWZlcmVuY2UoaW5wdXQ6IGFueSk6IGlucHV0IGlzIHN0cmluZyB7XG4gIHJldHVybiB0eXBlb2YgaW5wdXQgPT09ICdzdHJpbmcnO1xufVxuXG5mdW5jdGlvbiBpc0RhdGFJbnRlcmxlYXZlZENvb3JkcyhcbiAgZGF0YTogYXJyb3cuRGF0YVxuKTogZGF0YSBpcyBhcnJvdy5EYXRhPGFycm93LkZpeGVkU2l6ZUxpc3Q8YXJyb3cuRmxvYXQ2ND4+IHtcbiAgLy8gVE9ETzogYWxzbyBjaGVjayAyIG9yIDNkPyBGbG9hdDY0P1xuICByZXR1cm4gZGF0YS50eXBlIGluc3RhbmNlb2YgYXJyb3cuRml4ZWRTaXplTGlzdDtcbn1cblxuZnVuY3Rpb24gaXNEYXRhU2VwYXJhdGVkQ29vcmRzKFxuICBkYXRhOiBhcnJvdy5EYXRhXG4pOiBkYXRhIGlzIGFycm93LkRhdGE8YXJyb3cuU3RydWN0PHt4OiBhcnJvdy5GbG9hdDY0OyB5OiBhcnJvdy5GbG9hdDY0fT4+IHtcbiAgLy8gVE9ETzogYWxzbyBjaGVjayBjaGlsZCBuYW1lcz8gRmxvYXQ2ND9cbiAgcmV0dXJuIGRhdGEudHlwZSBpbnN0YW5jZW9mIGFycm93LlN0cnVjdDtcbn1cblxuLyoqXG4gKiBDb252ZXJ0IGdlb2Fycm93IFN0cnVjdCBjb29yZGluYXRlcyB0byBGaXhlZFNpemVMaXN0IGNvb3Jkc1xuICpcbiAqIFRoZSBHZW9BcnJvdyBzcGVjIGFsbG93cyBmb3IgZWl0aGVyIHNlcGFyYXRlZCBvciBpbnRlcmxlYXZlZCBjb29yZHMsIGJ1dCBhdFxuICogdGhpcyB0aW1lIGRlY2suZ2wgb25seSBzdXBwb3J0cyBpbnRlcmxlYXZlZC5cbiAqL1xuLy8gVE9ETzogdGhpcyBoYXNuJ3QgYmVlbiB0ZXN0ZWQgeWV0XG5leHBvcnQgZnVuY3Rpb24gY29udmVydFN0cnVjdFRvRml4ZWRTaXplTGlzdChcbiAgY29vcmRzOlxuICAgIHwgYXJyb3cuRGF0YTxhcnJvdy5GaXhlZFNpemVMaXN0PGFycm93LkZsb2F0NjQ+PlxuICAgIHwgYXJyb3cuRGF0YTxhcnJvdy5TdHJ1Y3Q8e3g6IGFycm93LkZsb2F0NjQ7IHk6IGFycm93LkZsb2F0NjR9Pj5cbik6IGFycm93LkRhdGE8YXJyb3cuRml4ZWRTaXplTGlzdDxhcnJvdy5GbG9hdDY0Pj4ge1xuICBpZiAoaXNEYXRhSW50ZXJsZWF2ZWRDb29yZHMoY29vcmRzKSkge1xuICAgIHJldHVybiBjb29yZHM7XG4gIH0gZWxzZSBpZiAoaXNEYXRhU2VwYXJhdGVkQ29vcmRzKGNvb3JkcykpIHtcbiAgICAvLyBUT0RPOiBzdXBwb3J0IDNkXG4gICAgY29uc3QgaW50ZXJsZWF2ZWRDb29yZHMgPSBuZXcgRmxvYXQ2NEFycmF5KGNvb3Jkcy5sZW5ndGggKiAyKTtcbiAgICBjb25zdCBbeENoaWxkLCB5Q2hpbGRdID0gY29vcmRzLmNoaWxkcmVuO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY29vcmRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBpbnRlcmxlYXZlZENvb3Jkc1tpICogMl0gPSB4Q2hpbGQudmFsdWVzW2ldO1xuICAgICAgaW50ZXJsZWF2ZWRDb29yZHNbaSAqIDIgKyAxXSA9IHlDaGlsZC52YWx1ZXNbaV07XG4gICAgfVxuXG4gICAgY29uc3QgY2hpbGREYXRhVHlwZSA9IG5ldyBhcnJvdy5GbG9hdDY0KCk7XG4gICAgY29uc3QgZGF0YVR5cGUgPSBuZXcgYXJyb3cuRml4ZWRTaXplTGlzdCgyLCBuZXcgYXJyb3cuRmllbGQoJ2Nvb3JkcycsIGNoaWxkRGF0YVR5cGUpKTtcblxuICAgIGNvbnN0IGludGVybGVhdmVkQ29vcmRzRGF0YSA9IGFycm93Lm1ha2VEYXRhKHtcbiAgICAgIHR5cGU6IGNoaWxkRGF0YVR5cGUsXG4gICAgICBsZW5ndGg6IGludGVybGVhdmVkQ29vcmRzLmxlbmd0aFxuICAgIH0pO1xuXG4gICAgY29uc3QgZGF0YSA9IGFycm93Lm1ha2VEYXRhKHtcbiAgICAgIHR5cGU6IGRhdGFUeXBlLFxuICAgICAgbGVuZ3RoOiBjb29yZHMubGVuZ3RoLFxuICAgICAgbnVsbENvdW50OiBjb29yZHMubnVsbENvdW50LFxuICAgICAgbnVsbEJpdG1hcDogY29vcmRzLm51bGxCaXRtYXAsXG4gICAgICBjaGlsZDogaW50ZXJsZWF2ZWRDb29yZHNEYXRhXG4gICAgfSk7XG4gICAgcmV0dXJuIGRhdGE7XG4gIH1cblxuICBhc3NlcnQoZmFsc2UpO1xufVxuXG50eXBlIEFzc2lnbkFjY2Vzc29yUHJvcHMgPSB7XG4gIC8qKiBUaGUgb2JqZWN0IG9uIHdoaWNoIHRvIGFzc2lnbiB0aGUgcmVzb2x2ZWQgYWNjZXNvciAqL1xuICBwcm9wczogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgLyoqIFRoZSBuYW1lIG9mIHRoZSBwcm9wIHRvIHNldCAqL1xuICBwcm9wTmFtZTogc3RyaW5nO1xuICAvKiogVGhlIHVzZXItc3VwcGxpZWQgaW5wdXQgdG8gdGhlIGxheWVyLiBNdXN0IGVpdGhlciBiZSBhIHNjYWxhciB2YWx1ZSBvciBhIHJlZmVyZW5jZSB0byBhIGNvbHVtbiBpbiB0aGUgdGFibGUuICovXG4gIHByb3BJbnB1dDogYW55O1xuICAvKiogTnVtZXJpYyBpbmRleCBpbiB0aGUgdGFibGUgKi9cbiAgY2h1bmtJZHg6IG51bWJlcjtcbiAgLyoqIGEgbWFwIGZyb20gdGhlIGdlb21ldHJ5IGluZGV4IHRvIHRoZSBjb29yZCBvZmZzZXRzIGZvciB0aGF0IGdlb21ldHJ5LiAqL1xuICBnZW9tQ29vcmRPZmZzZXRzPzogSW50MzJBcnJheSB8IG51bGw7XG4gIC8qKiBBYnNvbHV0ZSBvZmZzZXQgb2YgdGhlIGJhdGNoIGluIHRoZSB0YWJsZS92ZWN0b3IuIEFkZGVkIHRvIHRoZSBzYW1wbGluZyBpbmRleC4gKi9cbiAgYmF0Y2hPZmZzZXQ/OiBudW1iZXI7XG59O1xuXG4vKipcbiAqIEEgd3JhcHBlciBhcm91bmQgYSB1c2VyLXByb3ZpZGVkIGFjY2Vzc29yIGZ1bmN0aW9uXG4gKlxuICogRm9yIGxheWVycyBsaWtlIFNjYXR0ZXJwbG90LCBQYXRoLCBhbmQgUG9seWdvbiwgd2UgYXV0b21hdGljYWxseSBoYW5kbGVcbiAqIFwiZXhwbG9kaW5nXCIgdGhlIHRhYmxlIHdoZW4gbXVsdGktZ2VvbWV0cnkgaW5wdXQgYXJlIHByb3ZpZGVkLiBUaGlzIG1lYW5zIHRoYXRcbiAqIHRoZSB1cHN0cmVhbSBgaW5kZXhgIHZhbHVlIHBhc3NlZCB0byB0aGUgdXNlciB3aWxsIGJlIHRoZSBjb3JyZWN0IHJvdyBpbmRleFxuICogX29ubHlfIGZvciBub24tZXhwbG9kZWQgZGF0YS5cbiAqXG4gKiBXaXRoIHRoaXMgZnVuY3Rpb24sIHdlIHNpbXBsaWZ5IHRoZSB1c2VyIHVzYWdlIGJ5IGF1dG9tYXRpY2FsbHkgY29udmVydGluZ1xuICogYmFjayBmcm9tIFwiZXhwbG9kZWRcIiBpbmRleCBiYWNrIHRvIHRoZSBvcmlnaW5hbCByb3cgaW5kZXguXG4gKi9cbmZ1bmN0aW9uIHdyYXBBY2Nlc3NvckZ1bmN0aW9uPEluLCBPdXQ+KFxuICBvYmplY3RJbmZvOiBfSW50ZXJuYWxBY2Nlc3NvckNvbnRleHQ8SW4+LFxuICB1c2VyQWNjZXNzb3JGdW5jdGlvbjogQWNjZXNzb3JGdW5jdGlvbjxJbiwgT3V0PixcbiAgYmF0Y2hPZmZzZXQ6IG51bWJlclxuKTogT3V0IHtcbiAgY29uc3Qge2luZGV4LCBkYXRhfSA9IG9iamVjdEluZm87XG4gIGxldCBuZXdJbmRleCA9IGluZGV4ICsgYmF0Y2hPZmZzZXQ7XG4gIGlmIChkYXRhLmludmVydGVkR2VvbU9mZnNldHMgIT09IHVuZGVmaW5lZCkge1xuICAgIG5ld0luZGV4ID0gZGF0YS5pbnZlcnRlZEdlb21PZmZzZXRzW2luZGV4XTtcbiAgfVxuICBjb25zdCBuZXdPYmplY3REYXRhID0ge1xuICAgIGRhdGE6IGRhdGEuZGF0YSxcbiAgICBsZW5ndGg6IGRhdGEubGVuZ3RoLFxuICAgIGF0dHJpYnV0ZXM6IGRhdGEuYXR0cmlidXRlc1xuICB9O1xuICBjb25zdCBuZXdPYmplY3RJbmZvID0ge1xuICAgIGluZGV4OiBuZXdJbmRleCxcbiAgICBkYXRhOiBuZXdPYmplY3REYXRhLFxuICAgIHRhcmdldDogb2JqZWN0SW5mby50YXJnZXRcbiAgfTtcbiAgcmV0dXJuIHVzZXJBY2Nlc3NvckZ1bmN0aW9uKG5ld09iamVjdEluZm8pO1xufVxuXG4vKipcbiAqIFJlc29sdmUgYWNjZXNzb3IgYW5kIGFzc2lnbiB0byBwcm9wcyBvYmplY3RcbiAqXG4gKiBUaGlzIGlzIHVzZWZ1bCBhcyBhIGhlbHBlciBmdW5jdGlvbiBiZWNhdXNlIGEgc2NhbGFyIHByb3AgaXMgc2V0IGF0IHRoZSB0b3BcbiAqIGxldmVsIHdoaWxlIGEgdmVjdG9yaXplZCBwcm9wIGlzIHNldCBpbnNpZGUgZGF0YS5hdHRyaWJ1dGVzXG4gKlxuICovXG5leHBvcnQgZnVuY3Rpb24gYXNzaWduQWNjZXNzb3IoYXJnczogQXNzaWduQWNjZXNzb3JQcm9wcykge1xuICBjb25zdCB7cHJvcHMsIHByb3BOYW1lLCBwcm9wSW5wdXQsIGNodW5rSWR4LCBnZW9tQ29vcmRPZmZzZXRzLCBiYXRjaE9mZnNldCA9IDB9ID0gYXJncztcblxuICBpZiAocHJvcElucHV0ID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAocHJvcElucHV0IGluc3RhbmNlb2YgYXJyb3cuVmVjdG9yKSB7XG4gICAgY29uc3QgY29sdW1uRGF0YSA9IHByb3BJbnB1dC5kYXRhW2NodW5rSWR4XTtcblxuICAgIGlmIChhcnJvdy5EYXRhVHlwZS5pc0ZpeGVkU2l6ZUxpc3QoY29sdW1uRGF0YSkpIHtcbiAgICAgIGFzc2VydChjb2x1bW5EYXRhLmNoaWxkcmVuLmxlbmd0aCA9PT0gMSk7XG4gICAgICBsZXQgdmFsdWVzID0gY29sdW1uRGF0YS5jaGlsZHJlblswXS52YWx1ZXM7XG5cbiAgICAgIGlmIChnZW9tQ29vcmRPZmZzZXRzKSB7XG4gICAgICAgIHZhbHVlcyA9IGV4cGFuZEFycmF5VG9Db29yZHModmFsdWVzLCBjb2x1bW5EYXRhLnR5cGUubGlzdFNpemUsIGdlb21Db29yZE9mZnNldHMpO1xuICAgICAgfVxuXG4gICAgICBwcm9wcy5kYXRhLmF0dHJpYnV0ZXNbcHJvcE5hbWVdID0ge1xuICAgICAgICB2YWx1ZTogdmFsdWVzLFxuICAgICAgICBzaXplOiBjb2x1bW5EYXRhLnR5cGUubGlzdFNpemUsXG4gICAgICAgIC8vIFNldCB0byBgdHJ1ZWAgdG8gc2lnbmlmeSB0aGF0IGNvbG9ycyBhcmUgYWxyZWFkeSAwLTI1NSwgYW5kIGRlY2svbHVtYVxuICAgICAgICAvLyBkb2VzIG5vdCBuZWVkIHRvIHJlc2NhbGVcbiAgICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3Zpc2dsL2RlY2suZ2wvYmxvYi80MDFkNjI0YzA1MjlmYWFhNjIxMjU3MTRjMzc2YjNiYTNiOGYzNzlmL2RvY3MvYXBpLXJlZmVyZW5jZS9jb3JlL2F0dHJpYnV0ZS1tYW5hZ2VyLm1kP3BsYWluPTEjTDY2XG4gICAgICAgIG5vcm1hbGl6ZWQ6IHRydWVcbiAgICAgIH07XG4gICAgfSBlbHNlIGlmIChhcnJvdy5EYXRhVHlwZS5pc0Zsb2F0KGNvbHVtbkRhdGEpKSB7XG4gICAgICBsZXQgdmFsdWVzID0gY29sdW1uRGF0YS52YWx1ZXM7XG5cbiAgICAgIGlmIChnZW9tQ29vcmRPZmZzZXRzKSB7XG4gICAgICAgIHZhbHVlcyA9IGV4cGFuZEFycmF5VG9Db29yZHModmFsdWVzLCAxLCBnZW9tQ29vcmRPZmZzZXRzKTtcbiAgICAgIH1cblxuICAgICAgcHJvcHMuZGF0YS5hdHRyaWJ1dGVzW3Byb3BOYW1lXSA9IHtcbiAgICAgICAgdmFsdWU6IHZhbHVlcyxcbiAgICAgICAgc2l6ZTogMVxuICAgICAgfTtcbiAgICB9XG4gIH0gZWxzZSBpZiAodHlwZW9mIHByb3BJbnB1dCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHByb3BzW3Byb3BOYW1lXSA9IDxJbj4ob2JqZWN0OiBhbnksIG9iamVjdEluZm86IEFjY2Vzc29yQ29udGV4dDxJbj4pID0+IHtcbiAgICAgIC8vIFNwZWNpYWwgY2FzZSB0aGF0IGRvZXNuJ3QgaGF2ZSB0aGUgc2FtZSBwYXJhbWV0ZXJzXG4gICAgICBpZiAocHJvcE5hbWUgPT09ICdnZXRQb2x5Z29uT2Zmc2V0Jykge1xuICAgICAgICByZXR1cm4gcHJvcElucHV0KG9iamVjdCwgb2JqZWN0SW5mbyk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB3cmFwQWNjZXNzb3JGdW5jdGlvbihvYmplY3RJbmZvLCBwcm9wSW5wdXQsIGJhdGNoT2Zmc2V0KTtcbiAgICB9O1xuICB9IGVsc2Uge1xuICAgIHByb3BzW3Byb3BOYW1lXSA9IHByb3BJbnB1dDtcbiAgfVxufVxuXG4vKipcbiAqIEV4cGFuZCBhbiBhcnJheSBmcm9tIFwib25lIGVsZW1lbnQgcGVyIGdlb21ldHJ5XCIgdG8gXCJvbmUgZWxlbWVudCBwZXIgY29vcmRpbmF0ZVwiXG4gKlxuICogQHBhcmFtIGlucHV0OiB0aGUgaW5wdXQgYXJyYXkgdG8gZXhwYW5kXG4gKiBAcGFyYW0gc2l6ZSA6IHRoZSBudW1iZXIgb2YgbmVzdGVkIGVsZW1lbnRzIGluIHRoZSBpbnB1dCBhcnJheSBwZXIgZ2VvbWV0cnkuIFNvIGZvciBleGFtcGxlLCBmb3IgUkdCIGRhdGEgdGhpcyB3b3VsZCBiZSAzLCBmb3IgUkdCQSB0aGlzIHdvdWxkIGJlIDQuIEZvciByYWRpdXMsIHRoaXMgd291bGQgYmUgMS5cbiAqIEBwYXJhbSBnZW9tT2Zmc2V0cyA6IGFuIG9mZnNldHMgYXJyYXkgbWFwcGluZyBmcm9tIHRoZSBnZW9tZXRyeSB0byB0aGUgY29vcmRpbmF0ZSBpbmRleGVzLiBTbyBpbiB0aGUgY2FzZSBvZiBhIExpbmVTdHJpbmdBcnJheSwgdGhpcyBpcyByZXRyaWV2ZWQgZGlyZWN0bHkgZnJvbSB0aGUgR2VvQXJyb3cgc3RvcmFnZS4gSW4gdGhlIGNhc2Ugb2YgYSBQb2x5Z29uQXJyYXksIHRoaXMgY29tZXMgZnJvbSB0aGUgcmVzb2x2ZWQgaW5kZXhlcyB0aGF0IG5lZWQgdG8gYmUgZ2l2ZW4gdG8gdGhlIFNvbGlkUG9seWdvbkxheWVyIGFueXdheXMuXG4gKiBAcGFyYW0gbnVtUG9zaXRpb25zIDogZW5kIHBvc2l0aW9uIGluIGdlb21PZmZzZXRzLCBhcyBnZW9tT2Zmc2V0cyBjYW4gcG90ZW50aWFsbHkgY29udGFpbiBwcmVhbGxvY2F0ZWQgemVyb2VzIGluIHRoZSBlbmQgb2YgdGhlIGJ1ZmZlci5cbiAqXG4gKiBAcmV0dXJuICB7VHlwZWRBcnJheX0gdmFsdWVzIGV4cGFuZGVkIHRvIGJlIHBlci1jb29yZGluYXRlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBleHBhbmRBcnJheVRvQ29vcmRzPFQgZXh0ZW5kcyBUeXBlZEFycmF5PihcbiAgaW5wdXQ6IFQsXG4gIHNpemU6IG51bWJlcixcbiAgZ2VvbU9mZnNldHM6IEludDMyQXJyYXksXG4gIG51bVBvc2l0aW9ucz86IG51bWJlclxuKTogVCB7XG4gIGNvbnN0IGxhc3RJbmRleCA9IG51bVBvc2l0aW9ucyB8fCBnZW9tT2Zmc2V0cy5sZW5ndGggLSAxO1xuICBjb25zdCBudW1Db29yZHMgPSBnZW9tT2Zmc2V0c1tsYXN0SW5kZXhdO1xuICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gIGNvbnN0IG91dHB1dEFycmF5OiBUID0gbmV3IGlucHV0LmNvbnN0cnVjdG9yKG51bUNvb3JkcyAqIHNpemUpO1xuXG4gIC8vIGdlb21JZHggaXMgYW4gaW5kZXggaW50byB0aGUgZ2VvbU9mZnNldHMgYXJyYXlcbiAgLy8gZ2VvbUlkeCBpcyBhbHNvIHRoZSBnZW9tZXRyeS90YWJsZSBpbmRleFxuICBmb3IgKGxldCBnZW9tSWR4ID0gMDsgZ2VvbUlkeCA8IGxhc3RJbmRleDsgZ2VvbUlkeCsrKSB7XG4gICAgLy8gZ2VvbU9mZnNldHMgbWFwcyBmcm9tIHRoZSBnZW9tZXRyeSBpbmRleCB0byB0aGUgY29vcmQgaW5kZXhcbiAgICAvLyBTbyBoZXJlIHdlIGdldCB0aGUgcmFuZ2Ugb2YgY29vcmRzIHRoYXQgdGhpcyBnZW9tZXRyeSBjb3ZlcnNcbiAgICBjb25zdCBsYXN0Q29vcmRJZHggPSBnZW9tT2Zmc2V0c1tnZW9tSWR4XTtcbiAgICBjb25zdCBuZXh0Q29vcmRJZHggPSBnZW9tT2Zmc2V0c1tnZW9tSWR4ICsgMV07XG5cbiAgICAvLyBJdGVyYXRlIG92ZXIgdGhpcyByYW5nZSBvZiBjb29yZCBpbmRpY2VzXG4gICAgZm9yIChsZXQgY29vcmRJZHggPSBsYXN0Q29vcmRJZHg7IGNvb3JkSWR4IDwgbmV4dENvb3JkSWR4OyBjb29yZElkeCsrKSB7XG4gICAgICAvLyBJdGVyYXRlIG92ZXIgc2l6ZVxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzaXplOyBpKyspIHtcbiAgICAgICAgLy8gQ29weSBmcm9tIHRoZSBnZW9tZXRyeSBpbmRleCBpbiBgaW5wdXRgIHRvIHRoZSBjb29yZCBpbmRleCBpblxuICAgICAgICAvLyBgb3V0cHV0YFxuICAgICAgICBvdXRwdXRBcnJheVtjb29yZElkeCAqIHNpemUgKyBpXSA9IGlucHV0W2dlb21JZHggKiBzaXplICsgaV07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG91dHB1dEFycmF5O1xufVxuXG4vKipcbiAqIEdldCBhIGdlb21ldHJ5IHZlY3RvciB3aXRoIHRoZSBzcGVjaWZpZWQgZXh0ZW5zaW9uIHR5cGUgbmFtZSBmcm9tIHRoZSB0YWJsZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEdlb21ldHJ5VmVjdG9yKFxuICB0YWJsZTogYXJyb3cuVGFibGUsXG4gIGdlb2Fycm93VHlwZU5hbWU6IHN0cmluZ1xuKTogYXJyb3cuVmVjdG9yIHwgbnVsbCB7XG4gIGNvbnN0IGdlb21ldHJ5Q29sdW1uSWR4ID0gZmluZEdlb21ldHJ5Q29sdW1uSW5kZXgodGFibGUuc2NoZW1hLCBnZW9hcnJvd1R5cGVOYW1lKTtcblxuICBpZiAoZ2VvbWV0cnlDb2x1bW5JZHggPT09IG51bGwpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgICAvLyB0aHJvdyBuZXcgRXJyb3IoYE5vIGNvbHVtbiBmb3VuZCB3aXRoIGV4dGVuc2lvbiB0eXBlICR7Z2VvYXJyb3dUeXBlTmFtZX1gKTtcbiAgfVxuXG4gIHJldHVybiB0YWJsZS5nZXRDaGlsZEF0KGdlb21ldHJ5Q29sdW1uSWR4KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldExpc3ROZXN0aW5nTGV2ZWxzKGRhdGE6IGFycm93LkRhdGEpOiBudW1iZXIge1xuICBsZXQgbmVzdGluZ0xldmVscyA9IDA7XG4gIGlmIChhcnJvdy5EYXRhVHlwZS5pc0xpc3QoZGF0YS50eXBlKSkge1xuICAgIG5lc3RpbmdMZXZlbHMgKz0gMTtcbiAgICBkYXRhID0gZGF0YS5jaGlsZHJlblswXTtcbiAgfVxuICByZXR1cm4gbmVzdGluZ0xldmVscztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE11bHRpTGluZVN0cmluZ1Jlc29sdmVkT2Zmc2V0cyhkYXRhOiBnYS5kYXRhLk11bHRpTGluZVN0cmluZ0RhdGEpOiBJbnQzMkFycmF5IHtcbiAgY29uc3QgZ2VvbU9mZnNldHMgPSBkYXRhLnZhbHVlT2Zmc2V0cztcbiAgY29uc3QgbGluZVN0cmluZ0RhdGEgPSBnYS5jaGlsZC5nZXRNdWx0aUxpbmVTdHJpbmdDaGlsZChkYXRhKTtcbiAgY29uc3QgcmluZ09mZnNldHMgPSBsaW5lU3RyaW5nRGF0YS52YWx1ZU9mZnNldHM7XG5cbiAgY29uc3QgcmVzb2x2ZWRSaW5nT2Zmc2V0cyA9IG5ldyBJbnQzMkFycmF5KGdlb21PZmZzZXRzLmxlbmd0aCk7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgcmVzb2x2ZWRSaW5nT2Zmc2V0cy5sZW5ndGg7ICsraSkge1xuICAgIC8vIFBlcmZvcm0gdGhlIGxvb2t1cCBpbnRvIHRoZSByaW5nSW5kaWNlcyBhcnJheSB1c2luZyB0aGUgZ2VvbU9mZnNldHNcbiAgICAvLyBhcnJheVxuICAgIHJlc29sdmVkUmluZ09mZnNldHNbaV0gPSByaW5nT2Zmc2V0c1tnZW9tT2Zmc2V0c1tpXV07XG4gIH1cblxuICByZXR1cm4gcmVzb2x2ZWRSaW5nT2Zmc2V0cztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFBvbHlnb25SZXNvbHZlZE9mZnNldHMoZGF0YTogZ2EuZGF0YS5Qb2x5Z29uRGF0YSk6IEludDMyQXJyYXkge1xuICBjb25zdCBnZW9tT2Zmc2V0cyA9IGRhdGEudmFsdWVPZmZzZXRzO1xuICBjb25zdCByaW5nRGF0YSA9IGdhLmNoaWxkLmdldFBvbHlnb25DaGlsZChkYXRhKTtcbiAgY29uc3QgcmluZ09mZnNldHMgPSByaW5nRGF0YS52YWx1ZU9mZnNldHM7XG5cbiAgY29uc3QgcmVzb2x2ZWRSaW5nT2Zmc2V0cyA9IG5ldyBJbnQzMkFycmF5KGdlb21PZmZzZXRzLmxlbmd0aCk7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgcmVzb2x2ZWRSaW5nT2Zmc2V0cy5sZW5ndGg7ICsraSkge1xuICAgIC8vIFBlcmZvcm0gdGhlIGxvb2t1cCBpbnRvIHRoZSByaW5nSW5kaWNlcyBhcnJheSB1c2luZyB0aGUgZ2VvbU9mZnNldHNcbiAgICAvLyBhcnJheVxuICAgIHJlc29sdmVkUmluZ09mZnNldHNbaV0gPSByaW5nT2Zmc2V0c1tnZW9tT2Zmc2V0c1tpXV07XG4gIH1cblxuICByZXR1cm4gcmVzb2x2ZWRSaW5nT2Zmc2V0cztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE11bHRpUG9seWdvblJlc29sdmVkT2Zmc2V0cyhkYXRhOiBnYS5kYXRhLk11bHRpUG9seWdvbkRhdGEpOiBJbnQzMkFycmF5IHtcbiAgY29uc3QgcG9seWdvbkRhdGEgPSBnYS5jaGlsZC5nZXRNdWx0aVBvbHlnb25DaGlsZChkYXRhKTtcbiAgY29uc3QgcmluZ0RhdGEgPSBnYS5jaGlsZC5nZXRQb2x5Z29uQ2hpbGQocG9seWdvbkRhdGEpO1xuXG4gIGNvbnN0IGdlb21PZmZzZXRzID0gZGF0YS52YWx1ZU9mZnNldHM7XG4gIGNvbnN0IHBvbHlnb25PZmZzZXRzID0gcG9seWdvbkRhdGEudmFsdWVPZmZzZXRzO1xuICBjb25zdCByaW5nT2Zmc2V0cyA9IHJpbmdEYXRhLnZhbHVlT2Zmc2V0cztcblxuICBjb25zdCByZXNvbHZlZFJpbmdPZmZzZXRzID0gbmV3IEludDMyQXJyYXkoZ2VvbU9mZnNldHMubGVuZ3RoKTtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCByZXNvbHZlZFJpbmdPZmZzZXRzLmxlbmd0aDsgKytpKSB7XG4gICAgcmVzb2x2ZWRSaW5nT2Zmc2V0c1tpXSA9IHJpbmdPZmZzZXRzW3BvbHlnb25PZmZzZXRzW2dlb21PZmZzZXRzW2ldXV07XG4gIH1cblxuICByZXR1cm4gcmVzb2x2ZWRSaW5nT2Zmc2V0cztcbn1cblxuLyoqXG4gKiBJbnZlcnQgb2Zmc2V0cyBzbyB0aGF0IGxvb2t1cCBjYW4gZ28gaW4gdGhlIG9wcG9zaXRlIGRpcmVjdGlvblxuICovXG5leHBvcnQgZnVuY3Rpb24gaW52ZXJ0T2Zmc2V0cyhvZmZzZXRzOiBJbnQzMkFycmF5KTogVWludDhBcnJheSB8IFVpbnQxNkFycmF5IHwgVWludDMyQXJyYXkge1xuICBjb25zdCBsYXJnZXN0T2Zmc2V0ID0gb2Zmc2V0c1tvZmZzZXRzLmxlbmd0aCAtIDFdO1xuXG4gIGNvbnN0IGFycmF5Q29uc3RydWN0b3IgPVxuICAgIG9mZnNldHMubGVuZ3RoIDwgTWF0aC5wb3coMiwgOClcbiAgICAgID8gVWludDhBcnJheVxuICAgICAgOiBvZmZzZXRzLmxlbmd0aCA8IE1hdGgucG93KDIsIDE2KVxuICAgICAgPyBVaW50MTZBcnJheVxuICAgICAgOiBVaW50MzJBcnJheTtcblxuICBjb25zdCBpbnZlcnRlZE9mZnNldHMgPSBuZXcgYXJyYXlDb25zdHJ1Y3RvcihsYXJnZXN0T2Zmc2V0KTtcbiAgZm9yIChsZXQgYXJyYXlJZHggPSAwOyBhcnJheUlkeCA8IG9mZnNldHMubGVuZ3RoIC0gMTsgYXJyYXlJZHgrKykge1xuICAgIGNvbnN0IHRoaXNPZmZzZXQgPSBvZmZzZXRzW2FycmF5SWR4XTtcbiAgICBjb25zdCBuZXh0T2Zmc2V0ID0gb2Zmc2V0c1thcnJheUlkeCArIDFdO1xuICAgIGZvciAobGV0IG9mZnNldCA9IHRoaXNPZmZzZXQ7IG9mZnNldCA8IG5leHRPZmZzZXQ7IG9mZnNldCsrKSB7XG4gICAgICBpbnZlcnRlZE9mZnNldHNbb2Zmc2V0XSA9IGFycmF5SWR4O1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBpbnZlcnRlZE9mZnNldHM7XG59XG5cbi8vIFRPRE86IGJldHRlciB0eXBpbmdcbmV4cG9ydCBmdW5jdGlvbiBleHRyYWN0QWNjZXNzb3JzRnJvbVByb3BzKFxuICBwcm9wczogUmVjb3JkPHN0cmluZywgYW55PixcbiAgZXhjbHVkZUtleXM6IHN0cmluZ1tdXG4pOiBbUmVjb3JkPHN0cmluZywgYW55PiwgUmVjb3JkPHN0cmluZywgYW55Pl0ge1xuICBjb25zdCBhY2Nlc3NvcnM6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcbiAgY29uc3Qgb3RoZXJQcm9wczogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xuICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhwcm9wcykpIHtcbiAgICBpZiAoZXhjbHVkZUtleXMuaW5jbHVkZXMoa2V5KSkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgaWYgKGtleS5zdGFydHNXaXRoKCdnZXQnKSkge1xuICAgICAgYWNjZXNzb3JzW2tleV0gPSB2YWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgb3RoZXJQcm9wc1trZXldID0gdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIFthY2Nlc3NvcnMsIG90aGVyUHJvcHNdO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU9BLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLEtBQUEsR0FBQUMsdUJBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLEVBQUEsR0FBQUQsdUJBQUEsQ0FBQUYsT0FBQTtBQUE0QyxTQUFBSSx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxLQUFBRixDQUFBO0FBQUEsU0FBQUgsd0JBQUFHLENBQUEsRUFBQUUsQ0FBQSxTQUFBQSxDQUFBLElBQUFGLENBQUEsSUFBQUEsQ0FBQSxDQUFBSSxVQUFBLFNBQUFKLENBQUEsZUFBQUEsQ0FBQSxnQkFBQUssT0FBQSxDQUFBTCxDQUFBLDBCQUFBQSxDQUFBLHNCQUFBQSxDQUFBLFFBQUFHLENBQUEsR0FBQUosd0JBQUEsQ0FBQUcsQ0FBQSxPQUFBQyxDQUFBLElBQUFBLENBQUEsQ0FBQUcsR0FBQSxDQUFBTixDQUFBLFVBQUFHLENBQUEsQ0FBQUksR0FBQSxDQUFBUCxDQUFBLE9BQUFRLENBQUEsS0FBQUMsU0FBQSxVQUFBQyxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsY0FBQSxJQUFBRCxNQUFBLENBQUFFLHdCQUFBLFdBQUFDLENBQUEsSUFBQWQsQ0FBQSxvQkFBQWMsQ0FBQSxPQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQWhC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
|
|
310
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdHlwZWQiLCJyZXF1aXJlIiwiYXJyb3ciLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsImdhIiwiX3V0aWxzIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiZmluZEdlb21ldHJ5Q29sdW1uSW5kZXgiLCJzY2hlbWEiLCJleHRlbnNpb25OYW1lIiwiZ2VvbWV0cnlDb2x1bW5OYW1lIiwiaW5kZXgiLCJmaWVsZHMiLCJmaW5kSW5kZXgiLCJmaWVsZCIsIm5hbWUiLCJtZXRhZGF0YSIsImlzQ29sdW1uUmVmZXJlbmNlIiwiaW5wdXQiLCJpc0RhdGFJbnRlcmxlYXZlZENvb3JkcyIsImRhdGEiLCJpc0Fycm93Rml4ZWRTaXplTGlzdCIsInR5cGUiLCJpc0RhdGFTZXBhcmF0ZWRDb29yZHMiLCJpc0Fycm93U3RydWN0IiwiY29udmVydFN0cnVjdFRvRml4ZWRTaXplTGlzdCIsImNvb3JkcyIsImludGVybGVhdmVkQ29vcmRzIiwiRmxvYXQ2NEFycmF5IiwibGVuZ3RoIiwiX2Nvb3JkcyRjaGlsZHJlbiIsIl9zbGljZWRUb0FycmF5MiIsImNoaWxkcmVuIiwieENoaWxkIiwieUNoaWxkIiwidmFsdWVzIiwiY2hpbGREYXRhVHlwZSIsIkZsb2F0NjQiLCJkYXRhVHlwZSIsIkZpeGVkU2l6ZUxpc3QiLCJGaWVsZCIsImludGVybGVhdmVkQ29vcmRzRGF0YSIsIm1ha2VEYXRhIiwibnVsbENvdW50IiwibnVsbEJpdG1hcCIsImNoaWxkIiwiYXNzZXJ0Iiwid3JhcEFjY2Vzc29yRnVuY3Rpb24iLCJvYmplY3RJbmZvIiwidXNlckFjY2Vzc29yRnVuY3Rpb24iLCJiYXRjaE9mZnNldCIsIm5ld0luZGV4IiwiaW52ZXJ0ZWRHZW9tT2Zmc2V0cyIsInVuZGVmaW5lZCIsIm5ld09iamVjdERhdGEiLCJhdHRyaWJ1dGVzIiwibmV3T2JqZWN0SW5mbyIsInRhcmdldCIsImFzc2lnbkFjY2Vzc29yIiwiYXJncyIsInByb3BzIiwicHJvcE5hbWUiLCJwcm9wSW5wdXQiLCJjaHVua0lkeCIsImdlb21Db29yZE9mZnNldHMiLCJfYXJncyRiYXRjaE9mZnNldCIsImlzQXJyb3dWZWN0b3IiLCJjb2x1bW5EYXRhIiwiRGF0YVR5cGUiLCJpc0ZpeGVkU2l6ZUxpc3QiLCJleHBhbmRBcnJheVRvQ29vcmRzIiwibGlzdFNpemUiLCJ2YWx1ZSIsInNpemUiLCJub3JtYWxpemVkIiwiaXNGbG9hdCIsIm9iamVjdCIsImdlb21PZmZzZXRzIiwibnVtUG9zaXRpb25zIiwibGFzdEluZGV4IiwibnVtQ29vcmRzIiwib3V0cHV0QXJyYXkiLCJjb25zdHJ1Y3RvciIsImdlb21JZHgiLCJsYXN0Q29vcmRJZHgiLCJuZXh0Q29vcmRJZHgiLCJjb29yZElkeCIsImdldEdlb21ldHJ5VmVjdG9yIiwidGFibGUiLCJnZW9hcnJvd1R5cGVOYW1lIiwiZ2VvbWV0cnlDb2x1bW5JZHgiLCJnZXRDaGlsZEF0IiwiZ2V0TGlzdE5lc3RpbmdMZXZlbHMiLCJuZXN0aW5nTGV2ZWxzIiwiaXNMaXN0IiwiZ2V0TXVsdGlMaW5lU3RyaW5nUmVzb2x2ZWRPZmZzZXRzIiwidmFsdWVPZmZzZXRzIiwibGluZVN0cmluZ0RhdGEiLCJnZXRNdWx0aUxpbmVTdHJpbmdDaGlsZCIsInJpbmdPZmZzZXRzIiwicmVzb2x2ZWRSaW5nT2Zmc2V0cyIsIkludDMyQXJyYXkiLCJnZXRQb2x5Z29uUmVzb2x2ZWRPZmZzZXRzIiwicmluZ0RhdGEiLCJnZXRQb2x5Z29uQ2hpbGQiLCJnZXRNdWx0aVBvbHlnb25SZXNvbHZlZE9mZnNldHMiLCJwb2x5Z29uRGF0YSIsImdldE11bHRpUG9seWdvbkNoaWxkIiwicG9seWdvbk9mZnNldHMiLCJpbnZlcnRPZmZzZXRzIiwib2Zmc2V0cyIsImxhcmdlc3RPZmZzZXQiLCJhcnJheUNvbnN0cnVjdG9yIiwiTWF0aCIsInBvdyIsIlVpbnQ4QXJyYXkiLCJVaW50MTZBcnJheSIsIlVpbnQzMkFycmF5IiwiaW52ZXJ0ZWRPZmZzZXRzIiwiYXJyYXlJZHgiLCJ0aGlzT2Zmc2V0IiwibmV4dE9mZnNldCIsIm9mZnNldCIsImV4dHJhY3RBY2Nlc3NvcnNGcm9tUHJvcHMiLCJleGNsdWRlS2V5cyIsImFjY2Vzc29ycyIsIm90aGVyUHJvcHMiLCJfaSIsIl9PYmplY3QkZW50cmllcyIsImVudHJpZXMiLCJfT2JqZWN0JGVudHJpZXMkX2kiLCJrZXkiLCJpbmNsdWRlcyIsInN0YXJ0c1dpdGgiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvdXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuLy8gZGVjay5nbC1jb21tdW5pdHlcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCAoYykgdmlzLmdsIGNvbnRyaWJ1dG9yc1xuXG5pbXBvcnQge2Fzc2VydH0gZnJvbSAnQGRlY2suZ2wvY29yZS90eXBlZCc7XG5pbXBvcnQgKiBhcyBhcnJvdyBmcm9tICdhcGFjaGUtYXJyb3cnO1xuaW1wb3J0ICogYXMgZ2EgZnJvbSAnQGdlb2Fycm93L2dlb2Fycm93LWpzJztcbmltcG9ydCB7QWNjZXNzb3JDb250ZXh0LCBBY2Nlc3NvckZ1bmN0aW9uLCBfSW50ZXJuYWxBY2Nlc3NvckNvbnRleHR9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7aXNBcnJvd0ZpeGVkU2l6ZUxpc3QsIGlzQXJyb3dTdHJ1Y3QsIGlzQXJyb3dWZWN0b3J9IGZyb20gJ0BrZXBsZXIuZ2wvdXRpbHMnO1xuXG5leHBvcnQgdHlwZSBUeXBlZEFycmF5ID1cbiAgfCBVaW50OEFycmF5XG4gIHwgVWludDhDbGFtcGVkQXJyYXlcbiAgfCBVaW50MTZBcnJheVxuICB8IFVpbnQzMkFycmF5XG4gIHwgSW50OEFycmF5XG4gIHwgSW50MTZBcnJheVxuICB8IEludDMyQXJyYXlcbiAgfCBGbG9hdDMyQXJyYXlcbiAgfCBGbG9hdDY0QXJyYXk7XG5cbmV4cG9ydCBmdW5jdGlvbiBmaW5kR2VvbWV0cnlDb2x1bW5JbmRleChcbiAgc2NoZW1hOiBhcnJvdy5TY2hlbWEsXG4gIGV4dGVuc2lvbk5hbWU6IHN0cmluZyxcbiAgZ2VvbWV0cnlDb2x1bW5OYW1lPzogc3RyaW5nIHwgbnVsbFxuKTogbnVtYmVyIHwgbnVsbCB7XG4gIGNvbnN0IGluZGV4ID0gc2NoZW1hLmZpZWxkcy5maW5kSW5kZXgoXG4gICAgZmllbGQgPT5cbiAgICAgIGZpZWxkLm5hbWUgPT09IGdlb21ldHJ5Q29sdW1uTmFtZSB8fFxuICAgICAgZmllbGQubWV0YWRhdGEuZ2V0KCdBUlJPVzpleHRlbnNpb246bmFtZScpID09PSBleHRlbnNpb25OYW1lXG4gICk7XG4gIHJldHVybiBpbmRleCAhPT0gLTEgPyBpbmRleCA6IG51bGw7XG59XG5cbi8qKlxuICogUmV0dXJucyBgdHJ1ZWAgaWYgdGhlIGlucHV0IGlzIGEgcmVmZXJlbmNlIHRvIGEgY29sdW1uIGluIHRoZSB0YWJsZVxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNDb2x1bW5SZWZlcmVuY2UoaW5wdXQ6IGFueSk6IGlucHV0IGlzIHN0cmluZyB7XG4gIHJldHVybiB0eXBlb2YgaW5wdXQgPT09ICdzdHJpbmcnO1xufVxuXG5mdW5jdGlvbiBpc0RhdGFJbnRlcmxlYXZlZENvb3JkcyhcbiAgZGF0YTogYXJyb3cuRGF0YVxuKTogZGF0YSBpcyBhcnJvdy5EYXRhPGFycm93LkZpeGVkU2l6ZUxpc3Q8YXJyb3cuRmxvYXQ2ND4+IHtcbiAgLy8gVE9ETzogYWxzbyBjaGVjayAyIG9yIDNkPyBGbG9hdDY0P1xuICByZXR1cm4gaXNBcnJvd0ZpeGVkU2l6ZUxpc3QoZGF0YS50eXBlKTtcbn1cblxuZnVuY3Rpb24gaXNEYXRhU2VwYXJhdGVkQ29vcmRzKFxuICBkYXRhOiBhcnJvdy5EYXRhXG4pOiBkYXRhIGlzIGFycm93LkRhdGE8YXJyb3cuU3RydWN0PHt4OiBhcnJvdy5GbG9hdDY0OyB5OiBhcnJvdy5GbG9hdDY0fT4+IHtcbiAgLy8gVE9ETzogYWxzbyBjaGVjayBjaGlsZCBuYW1lcz8gRmxvYXQ2ND9cbiAgcmV0dXJuIGlzQXJyb3dTdHJ1Y3QoZGF0YS50eXBlKTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0IGdlb2Fycm93IFN0cnVjdCBjb29yZGluYXRlcyB0byBGaXhlZFNpemVMaXN0IGNvb3Jkc1xuICpcbiAqIFRoZSBHZW9BcnJvdyBzcGVjIGFsbG93cyBmb3IgZWl0aGVyIHNlcGFyYXRlZCBvciBpbnRlcmxlYXZlZCBjb29yZHMsIGJ1dCBhdFxuICogdGhpcyB0aW1lIGRlY2suZ2wgb25seSBzdXBwb3J0cyBpbnRlcmxlYXZlZC5cbiAqL1xuLy8gVE9ETzogdGhpcyBoYXNuJ3QgYmVlbiB0ZXN0ZWQgeWV0XG5leHBvcnQgZnVuY3Rpb24gY29udmVydFN0cnVjdFRvRml4ZWRTaXplTGlzdChcbiAgY29vcmRzOlxuICAgIHwgYXJyb3cuRGF0YTxhcnJvdy5GaXhlZFNpemVMaXN0PGFycm93LkZsb2F0NjQ+PlxuICAgIHwgYXJyb3cuRGF0YTxhcnJvdy5TdHJ1Y3Q8e3g6IGFycm93LkZsb2F0NjQ7IHk6IGFycm93LkZsb2F0NjR9Pj5cbik6IGFycm93LkRhdGE8YXJyb3cuRml4ZWRTaXplTGlzdDxhcnJvdy5GbG9hdDY0Pj4ge1xuICBpZiAoaXNEYXRhSW50ZXJsZWF2ZWRDb29yZHMoY29vcmRzKSkge1xuICAgIHJldHVybiBjb29yZHM7XG4gIH0gZWxzZSBpZiAoaXNEYXRhU2VwYXJhdGVkQ29vcmRzKGNvb3JkcykpIHtcbiAgICAvLyBUT0RPOiBzdXBwb3J0IDNkXG4gICAgY29uc3QgaW50ZXJsZWF2ZWRDb29yZHMgPSBuZXcgRmxvYXQ2NEFycmF5KGNvb3Jkcy5sZW5ndGggKiAyKTtcbiAgICBjb25zdCBbeENoaWxkLCB5Q2hpbGRdID0gY29vcmRzLmNoaWxkcmVuO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY29vcmRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBpbnRlcmxlYXZlZENvb3Jkc1tpICogMl0gPSB4Q2hpbGQudmFsdWVzW2ldO1xuICAgICAgaW50ZXJsZWF2ZWRDb29yZHNbaSAqIDIgKyAxXSA9IHlDaGlsZC52YWx1ZXNbaV07XG4gICAgfVxuXG4gICAgY29uc3QgY2hpbGREYXRhVHlwZSA9IG5ldyBhcnJvdy5GbG9hdDY0KCk7XG4gICAgY29uc3QgZGF0YVR5cGUgPSBuZXcgYXJyb3cuRml4ZWRTaXplTGlzdCgyLCBuZXcgYXJyb3cuRmllbGQoJ2Nvb3JkcycsIGNoaWxkRGF0YVR5cGUpKTtcblxuICAgIGNvbnN0IGludGVybGVhdmVkQ29vcmRzRGF0YSA9IGFycm93Lm1ha2VEYXRhKHtcbiAgICAgIHR5cGU6IGNoaWxkRGF0YVR5cGUsXG4gICAgICBsZW5ndGg6IGludGVybGVhdmVkQ29vcmRzLmxlbmd0aFxuICAgIH0pO1xuXG4gICAgY29uc3QgZGF0YSA9IGFycm93Lm1ha2VEYXRhKHtcbiAgICAgIHR5cGU6IGRhdGFUeXBlLFxuICAgICAgbGVuZ3RoOiBjb29yZHMubGVuZ3RoLFxuICAgICAgbnVsbENvdW50OiBjb29yZHMubnVsbENvdW50LFxuICAgICAgbnVsbEJpdG1hcDogY29vcmRzLm51bGxCaXRtYXAsXG4gICAgICBjaGlsZDogaW50ZXJsZWF2ZWRDb29yZHNEYXRhXG4gICAgfSk7XG4gICAgcmV0dXJuIGRhdGE7XG4gIH1cblxuICBhc3NlcnQoZmFsc2UpO1xufVxuXG50eXBlIEFzc2lnbkFjY2Vzc29yUHJvcHMgPSB7XG4gIC8qKiBUaGUgb2JqZWN0IG9uIHdoaWNoIHRvIGFzc2lnbiB0aGUgcmVzb2x2ZWQgYWNjZXNvciAqL1xuICBwcm9wczogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgLyoqIFRoZSBuYW1lIG9mIHRoZSBwcm9wIHRvIHNldCAqL1xuICBwcm9wTmFtZTogc3RyaW5nO1xuICAvKiogVGhlIHVzZXItc3VwcGxpZWQgaW5wdXQgdG8gdGhlIGxheWVyLiBNdXN0IGVpdGhlciBiZSBhIHNjYWxhciB2YWx1ZSBvciBhIHJlZmVyZW5jZSB0byBhIGNvbHVtbiBpbiB0aGUgdGFibGUuICovXG4gIHByb3BJbnB1dDogYW55O1xuICAvKiogTnVtZXJpYyBpbmRleCBpbiB0aGUgdGFibGUgKi9cbiAgY2h1bmtJZHg6IG51bWJlcjtcbiAgLyoqIGEgbWFwIGZyb20gdGhlIGdlb21ldHJ5IGluZGV4IHRvIHRoZSBjb29yZCBvZmZzZXRzIGZvciB0aGF0IGdlb21ldHJ5LiAqL1xuICBnZW9tQ29vcmRPZmZzZXRzPzogSW50MzJBcnJheSB8IG51bGw7XG4gIC8qKiBBYnNvbHV0ZSBvZmZzZXQgb2YgdGhlIGJhdGNoIGluIHRoZSB0YWJsZS92ZWN0b3IuIEFkZGVkIHRvIHRoZSBzYW1wbGluZyBpbmRleC4gKi9cbiAgYmF0Y2hPZmZzZXQ/OiBudW1iZXI7XG59O1xuXG4vKipcbiAqIEEgd3JhcHBlciBhcm91bmQgYSB1c2VyLXByb3ZpZGVkIGFjY2Vzc29yIGZ1bmN0aW9uXG4gKlxuICogRm9yIGxheWVycyBsaWtlIFNjYXR0ZXJwbG90LCBQYXRoLCBhbmQgUG9seWdvbiwgd2UgYXV0b21hdGljYWxseSBoYW5kbGVcbiAqIFwiZXhwbG9kaW5nXCIgdGhlIHRhYmxlIHdoZW4gbXVsdGktZ2VvbWV0cnkgaW5wdXQgYXJlIHByb3ZpZGVkLiBUaGlzIG1lYW5zIHRoYXRcbiAqIHRoZSB1cHN0cmVhbSBgaW5kZXhgIHZhbHVlIHBhc3NlZCB0byB0aGUgdXNlciB3aWxsIGJlIHRoZSBjb3JyZWN0IHJvdyBpbmRleFxuICogX29ubHlfIGZvciBub24tZXhwbG9kZWQgZGF0YS5cbiAqXG4gKiBXaXRoIHRoaXMgZnVuY3Rpb24sIHdlIHNpbXBsaWZ5IHRoZSB1c2VyIHVzYWdlIGJ5IGF1dG9tYXRpY2FsbHkgY29udmVydGluZ1xuICogYmFjayBmcm9tIFwiZXhwbG9kZWRcIiBpbmRleCBiYWNrIHRvIHRoZSBvcmlnaW5hbCByb3cgaW5kZXguXG4gKi9cbmZ1bmN0aW9uIHdyYXBBY2Nlc3NvckZ1bmN0aW9uPEluLCBPdXQ+KFxuICBvYmplY3RJbmZvOiBfSW50ZXJuYWxBY2Nlc3NvckNvbnRleHQ8SW4+LFxuICB1c2VyQWNjZXNzb3JGdW5jdGlvbjogQWNjZXNzb3JGdW5jdGlvbjxJbiwgT3V0PixcbiAgYmF0Y2hPZmZzZXQ6IG51bWJlclxuKTogT3V0IHtcbiAgY29uc3Qge2luZGV4LCBkYXRhfSA9IG9iamVjdEluZm87XG4gIGxldCBuZXdJbmRleCA9IGluZGV4ICsgYmF0Y2hPZmZzZXQ7XG4gIGlmIChkYXRhLmludmVydGVkR2VvbU9mZnNldHMgIT09IHVuZGVmaW5lZCkge1xuICAgIG5ld0luZGV4ID0gZGF0YS5pbnZlcnRlZEdlb21PZmZzZXRzW2luZGV4XTtcbiAgfVxuICBjb25zdCBuZXdPYmplY3REYXRhID0ge1xuICAgIGRhdGE6IGRhdGEuZGF0YSxcbiAgICBsZW5ndGg6IGRhdGEubGVuZ3RoLFxuICAgIGF0dHJpYnV0ZXM6IGRhdGEuYXR0cmlidXRlc1xuICB9O1xuICBjb25zdCBuZXdPYmplY3RJbmZvID0ge1xuICAgIGluZGV4OiBuZXdJbmRleCxcbiAgICBkYXRhOiBuZXdPYmplY3REYXRhLFxuICAgIHRhcmdldDogb2JqZWN0SW5mby50YXJnZXRcbiAgfTtcbiAgcmV0dXJuIHVzZXJBY2Nlc3NvckZ1bmN0aW9uKG5ld09iamVjdEluZm8pO1xufVxuXG4vKipcbiAqIFJlc29sdmUgYWNjZXNzb3IgYW5kIGFzc2lnbiB0byBwcm9wcyBvYmplY3RcbiAqXG4gKiBUaGlzIGlzIHVzZWZ1bCBhcyBhIGhlbHBlciBmdW5jdGlvbiBiZWNhdXNlIGEgc2NhbGFyIHByb3AgaXMgc2V0IGF0IHRoZSB0b3BcbiAqIGxldmVsIHdoaWxlIGEgdmVjdG9yaXplZCBwcm9wIGlzIHNldCBpbnNpZGUgZGF0YS5hdHRyaWJ1dGVzXG4gKlxuICovXG5leHBvcnQgZnVuY3Rpb24gYXNzaWduQWNjZXNzb3IoYXJnczogQXNzaWduQWNjZXNzb3JQcm9wcykge1xuICBjb25zdCB7cHJvcHMsIHByb3BOYW1lLCBwcm9wSW5wdXQsIGNodW5rSWR4LCBnZW9tQ29vcmRPZmZzZXRzLCBiYXRjaE9mZnNldCA9IDB9ID0gYXJncztcblxuICBpZiAocHJvcElucHV0ID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAoaXNBcnJvd1ZlY3Rvcihwcm9wSW5wdXQpKSB7XG4gICAgY29uc3QgY29sdW1uRGF0YSA9IHByb3BJbnB1dC5kYXRhW2NodW5rSWR4XTtcblxuICAgIGlmIChhcnJvdy5EYXRhVHlwZS5pc0ZpeGVkU2l6ZUxpc3QoY29sdW1uRGF0YSkpIHtcbiAgICAgIGFzc2VydChjb2x1bW5EYXRhLmNoaWxkcmVuLmxlbmd0aCA9PT0gMSk7XG4gICAgICBsZXQgdmFsdWVzID0gY29sdW1uRGF0YS5jaGlsZHJlblswXS52YWx1ZXM7XG5cbiAgICAgIGlmIChnZW9tQ29vcmRPZmZzZXRzKSB7XG4gICAgICAgIHZhbHVlcyA9IGV4cGFuZEFycmF5VG9Db29yZHModmFsdWVzLCBjb2x1bW5EYXRhLnR5cGUubGlzdFNpemUsIGdlb21Db29yZE9mZnNldHMpO1xuICAgICAgfVxuXG4gICAgICBwcm9wcy5kYXRhLmF0dHJpYnV0ZXNbcHJvcE5hbWVdID0ge1xuICAgICAgICB2YWx1ZTogdmFsdWVzLFxuICAgICAgICBzaXplOiBjb2x1bW5EYXRhLnR5cGUubGlzdFNpemUsXG4gICAgICAgIC8vIFNldCB0byBgdHJ1ZWAgdG8gc2lnbmlmeSB0aGF0IGNvbG9ycyBhcmUgYWxyZWFkeSAwLTI1NSwgYW5kIGRlY2svbHVtYVxuICAgICAgICAvLyBkb2VzIG5vdCBuZWVkIHRvIHJlc2NhbGVcbiAgICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3Zpc2dsL2RlY2suZ2wvYmxvYi80MDFkNjI0YzA1MjlmYWFhNjIxMjU3MTRjMzc2YjNiYTNiOGYzNzlmL2RvY3MvYXBpLXJlZmVyZW5jZS9jb3JlL2F0dHJpYnV0ZS1tYW5hZ2VyLm1kP3BsYWluPTEjTDY2XG4gICAgICAgIG5vcm1hbGl6ZWQ6IHRydWVcbiAgICAgIH07XG4gICAgfSBlbHNlIGlmIChhcnJvdy5EYXRhVHlwZS5pc0Zsb2F0KGNvbHVtbkRhdGEpKSB7XG4gICAgICBsZXQgdmFsdWVzID0gY29sdW1uRGF0YS52YWx1ZXM7XG5cbiAgICAgIGlmIChnZW9tQ29vcmRPZmZzZXRzKSB7XG4gICAgICAgIHZhbHVlcyA9IGV4cGFuZEFycmF5VG9Db29yZHModmFsdWVzLCAxLCBnZW9tQ29vcmRPZmZzZXRzKTtcbiAgICAgIH1cblxuICAgICAgcHJvcHMuZGF0YS5hdHRyaWJ1dGVzW3Byb3BOYW1lXSA9IHtcbiAgICAgICAgdmFsdWU6IHZhbHVlcyxcbiAgICAgICAgc2l6ZTogMVxuICAgICAgfTtcbiAgICB9XG4gIH0gZWxzZSBpZiAodHlwZW9mIHByb3BJbnB1dCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHByb3BzW3Byb3BOYW1lXSA9IDxJbj4ob2JqZWN0OiBhbnksIG9iamVjdEluZm86IEFjY2Vzc29yQ29udGV4dDxJbj4pID0+IHtcbiAgICAgIC8vIFNwZWNpYWwgY2FzZSB0aGF0IGRvZXNuJ3QgaGF2ZSB0aGUgc2FtZSBwYXJhbWV0ZXJzXG4gICAgICBpZiAocHJvcE5hbWUgPT09ICdnZXRQb2x5Z29uT2Zmc2V0Jykge1xuICAgICAgICByZXR1cm4gcHJvcElucHV0KG9iamVjdCwgb2JqZWN0SW5mbyk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB3cmFwQWNjZXNzb3JGdW5jdGlvbihvYmplY3RJbmZvLCBwcm9wSW5wdXQsIGJhdGNoT2Zmc2V0KTtcbiAgICB9O1xuICB9IGVsc2Uge1xuICAgIHByb3BzW3Byb3BOYW1lXSA9IHByb3BJbnB1dDtcbiAgfVxufVxuXG4vKipcbiAqIEV4cGFuZCBhbiBhcnJheSBmcm9tIFwib25lIGVsZW1lbnQgcGVyIGdlb21ldHJ5XCIgdG8gXCJvbmUgZWxlbWVudCBwZXIgY29vcmRpbmF0ZVwiXG4gKlxuICogQHBhcmFtIGlucHV0OiB0aGUgaW5wdXQgYXJyYXkgdG8gZXhwYW5kXG4gKiBAcGFyYW0gc2l6ZSA6IHRoZSBudW1iZXIgb2YgbmVzdGVkIGVsZW1lbnRzIGluIHRoZSBpbnB1dCBhcnJheSBwZXIgZ2VvbWV0cnkuIFNvIGZvciBleGFtcGxlLCBmb3IgUkdCIGRhdGEgdGhpcyB3b3VsZCBiZSAzLCBmb3IgUkdCQSB0aGlzIHdvdWxkIGJlIDQuIEZvciByYWRpdXMsIHRoaXMgd291bGQgYmUgMS5cbiAqIEBwYXJhbSBnZW9tT2Zmc2V0cyA6IGFuIG9mZnNldHMgYXJyYXkgbWFwcGluZyBmcm9tIHRoZSBnZW9tZXRyeSB0byB0aGUgY29vcmRpbmF0ZSBpbmRleGVzLiBTbyBpbiB0aGUgY2FzZSBvZiBhIExpbmVTdHJpbmdBcnJheSwgdGhpcyBpcyByZXRyaWV2ZWQgZGlyZWN0bHkgZnJvbSB0aGUgR2VvQXJyb3cgc3RvcmFnZS4gSW4gdGhlIGNhc2Ugb2YgYSBQb2x5Z29uQXJyYXksIHRoaXMgY29tZXMgZnJvbSB0aGUgcmVzb2x2ZWQgaW5kZXhlcyB0aGF0IG5lZWQgdG8gYmUgZ2l2ZW4gdG8gdGhlIFNvbGlkUG9seWdvbkxheWVyIGFueXdheXMuXG4gKiBAcGFyYW0gbnVtUG9zaXRpb25zIDogZW5kIHBvc2l0aW9uIGluIGdlb21PZmZzZXRzLCBhcyBnZW9tT2Zmc2V0cyBjYW4gcG90ZW50aWFsbHkgY29udGFpbiBwcmVhbGxvY2F0ZWQgemVyb2VzIGluIHRoZSBlbmQgb2YgdGhlIGJ1ZmZlci5cbiAqXG4gKiBAcmV0dXJuICB7VHlwZWRBcnJheX0gdmFsdWVzIGV4cGFuZGVkIHRvIGJlIHBlci1jb29yZGluYXRlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBleHBhbmRBcnJheVRvQ29vcmRzPFQgZXh0ZW5kcyBUeXBlZEFycmF5PihcbiAgaW5wdXQ6IFQsXG4gIHNpemU6IG51bWJlcixcbiAgZ2VvbU9mZnNldHM6IEludDMyQXJyYXksXG4gIG51bVBvc2l0aW9ucz86IG51bWJlclxuKTogVCB7XG4gIGNvbnN0IGxhc3RJbmRleCA9IG51bVBvc2l0aW9ucyB8fCBnZW9tT2Zmc2V0cy5sZW5ndGggLSAxO1xuICBjb25zdCBudW1Db29yZHMgPSBnZW9tT2Zmc2V0c1tsYXN0SW5kZXhdO1xuICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gIGNvbnN0IG91dHB1dEFycmF5OiBUID0gbmV3IGlucHV0LmNvbnN0cnVjdG9yKG51bUNvb3JkcyAqIHNpemUpO1xuXG4gIC8vIGdlb21JZHggaXMgYW4gaW5kZXggaW50byB0aGUgZ2VvbU9mZnNldHMgYXJyYXlcbiAgLy8gZ2VvbUlkeCBpcyBhbHNvIHRoZSBnZW9tZXRyeS90YWJsZSBpbmRleFxuICBmb3IgKGxldCBnZW9tSWR4ID0gMDsgZ2VvbUlkeCA8IGxhc3RJbmRleDsgZ2VvbUlkeCsrKSB7XG4gICAgLy8gZ2VvbU9mZnNldHMgbWFwcyBmcm9tIHRoZSBnZW9tZXRyeSBpbmRleCB0byB0aGUgY29vcmQgaW5kZXhcbiAgICAvLyBTbyBoZXJlIHdlIGdldCB0aGUgcmFuZ2Ugb2YgY29vcmRzIHRoYXQgdGhpcyBnZW9tZXRyeSBjb3ZlcnNcbiAgICBjb25zdCBsYXN0Q29vcmRJZHggPSBnZW9tT2Zmc2V0c1tnZW9tSWR4XTtcbiAgICBjb25zdCBuZXh0Q29vcmRJZHggPSBnZW9tT2Zmc2V0c1tnZW9tSWR4ICsgMV07XG5cbiAgICAvLyBJdGVyYXRlIG92ZXIgdGhpcyByYW5nZSBvZiBjb29yZCBpbmRpY2VzXG4gICAgZm9yIChsZXQgY29vcmRJZHggPSBsYXN0Q29vcmRJZHg7IGNvb3JkSWR4IDwgbmV4dENvb3JkSWR4OyBjb29yZElkeCsrKSB7XG4gICAgICAvLyBJdGVyYXRlIG92ZXIgc2l6ZVxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzaXplOyBpKyspIHtcbiAgICAgICAgLy8gQ29weSBmcm9tIHRoZSBnZW9tZXRyeSBpbmRleCBpbiBgaW5wdXRgIHRvIHRoZSBjb29yZCBpbmRleCBpblxuICAgICAgICAvLyBgb3V0cHV0YFxuICAgICAgICBvdXRwdXRBcnJheVtjb29yZElkeCAqIHNpemUgKyBpXSA9IGlucHV0W2dlb21JZHggKiBzaXplICsgaV07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG91dHB1dEFycmF5O1xufVxuXG4vKipcbiAqIEdldCBhIGdlb21ldHJ5IHZlY3RvciB3aXRoIHRoZSBzcGVjaWZpZWQgZXh0ZW5zaW9uIHR5cGUgbmFtZSBmcm9tIHRoZSB0YWJsZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEdlb21ldHJ5VmVjdG9yKFxuICB0YWJsZTogYXJyb3cuVGFibGUsXG4gIGdlb2Fycm93VHlwZU5hbWU6IHN0cmluZ1xuKTogYXJyb3cuVmVjdG9yIHwgbnVsbCB7XG4gIGNvbnN0IGdlb21ldHJ5Q29sdW1uSWR4ID0gZmluZEdlb21ldHJ5Q29sdW1uSW5kZXgodGFibGUuc2NoZW1hLCBnZW9hcnJvd1R5cGVOYW1lKTtcblxuICBpZiAoZ2VvbWV0cnlDb2x1bW5JZHggPT09IG51bGwpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgICAvLyB0aHJvdyBuZXcgRXJyb3IoYE5vIGNvbHVtbiBmb3VuZCB3aXRoIGV4dGVuc2lvbiB0eXBlICR7Z2VvYXJyb3dUeXBlTmFtZX1gKTtcbiAgfVxuXG4gIHJldHVybiB0YWJsZS5nZXRDaGlsZEF0KGdlb21ldHJ5Q29sdW1uSWR4KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldExpc3ROZXN0aW5nTGV2ZWxzKGRhdGE6IGFycm93LkRhdGEpOiBudW1iZXIge1xuICBsZXQgbmVzdGluZ0xldmVscyA9IDA7XG4gIGlmIChhcnJvdy5EYXRhVHlwZS5pc0xpc3QoZGF0YS50eXBlKSkge1xuICAgIG5lc3RpbmdMZXZlbHMgKz0gMTtcbiAgICBkYXRhID0gZGF0YS5jaGlsZHJlblswXTtcbiAgfVxuICByZXR1cm4gbmVzdGluZ0xldmVscztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE11bHRpTGluZVN0cmluZ1Jlc29sdmVkT2Zmc2V0cyhkYXRhOiBnYS5kYXRhLk11bHRpTGluZVN0cmluZ0RhdGEpOiBJbnQzMkFycmF5IHtcbiAgY29uc3QgZ2VvbU9mZnNldHMgPSBkYXRhLnZhbHVlT2Zmc2V0cztcbiAgY29uc3QgbGluZVN0cmluZ0RhdGEgPSBnYS5jaGlsZC5nZXRNdWx0aUxpbmVTdHJpbmdDaGlsZChkYXRhKTtcbiAgY29uc3QgcmluZ09mZnNldHMgPSBsaW5lU3RyaW5nRGF0YS52YWx1ZU9mZnNldHM7XG5cbiAgY29uc3QgcmVzb2x2ZWRSaW5nT2Zmc2V0cyA9IG5ldyBJbnQzMkFycmF5KGdlb21PZmZzZXRzLmxlbmd0aCk7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgcmVzb2x2ZWRSaW5nT2Zmc2V0cy5sZW5ndGg7ICsraSkge1xuICAgIC8vIFBlcmZvcm0gdGhlIGxvb2t1cCBpbnRvIHRoZSByaW5nSW5kaWNlcyBhcnJheSB1c2luZyB0aGUgZ2VvbU9mZnNldHNcbiAgICAvLyBhcnJheVxuICAgIHJlc29sdmVkUmluZ09mZnNldHNbaV0gPSByaW5nT2Zmc2V0c1tnZW9tT2Zmc2V0c1tpXV07XG4gIH1cblxuICByZXR1cm4gcmVzb2x2ZWRSaW5nT2Zmc2V0cztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFBvbHlnb25SZXNvbHZlZE9mZnNldHMoZGF0YTogZ2EuZGF0YS5Qb2x5Z29uRGF0YSk6IEludDMyQXJyYXkge1xuICBjb25zdCBnZW9tT2Zmc2V0cyA9IGRhdGEudmFsdWVPZmZzZXRzO1xuICBjb25zdCByaW5nRGF0YSA9IGdhLmNoaWxkLmdldFBvbHlnb25DaGlsZChkYXRhKTtcbiAgY29uc3QgcmluZ09mZnNldHMgPSByaW5nRGF0YS52YWx1ZU9mZnNldHM7XG5cbiAgY29uc3QgcmVzb2x2ZWRSaW5nT2Zmc2V0cyA9IG5ldyBJbnQzMkFycmF5KGdlb21PZmZzZXRzLmxlbmd0aCk7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgcmVzb2x2ZWRSaW5nT2Zmc2V0cy5sZW5ndGg7ICsraSkge1xuICAgIC8vIFBlcmZvcm0gdGhlIGxvb2t1cCBpbnRvIHRoZSByaW5nSW5kaWNlcyBhcnJheSB1c2luZyB0aGUgZ2VvbU9mZnNldHNcbiAgICAvLyBhcnJheVxuICAgIHJlc29sdmVkUmluZ09mZnNldHNbaV0gPSByaW5nT2Zmc2V0c1tnZW9tT2Zmc2V0c1tpXV07XG4gIH1cblxuICByZXR1cm4gcmVzb2x2ZWRSaW5nT2Zmc2V0cztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE11bHRpUG9seWdvblJlc29sdmVkT2Zmc2V0cyhkYXRhOiBnYS5kYXRhLk11bHRpUG9seWdvbkRhdGEpOiBJbnQzMkFycmF5IHtcbiAgY29uc3QgcG9seWdvbkRhdGEgPSBnYS5jaGlsZC5nZXRNdWx0aVBvbHlnb25DaGlsZChkYXRhKTtcbiAgY29uc3QgcmluZ0RhdGEgPSBnYS5jaGlsZC5nZXRQb2x5Z29uQ2hpbGQocG9seWdvbkRhdGEpO1xuXG4gIGNvbnN0IGdlb21PZmZzZXRzID0gZGF0YS52YWx1ZU9mZnNldHM7XG4gIGNvbnN0IHBvbHlnb25PZmZzZXRzID0gcG9seWdvbkRhdGEudmFsdWVPZmZzZXRzO1xuICBjb25zdCByaW5nT2Zmc2V0cyA9IHJpbmdEYXRhLnZhbHVlT2Zmc2V0cztcblxuICBjb25zdCByZXNvbHZlZFJpbmdPZmZzZXRzID0gbmV3IEludDMyQXJyYXkoZ2VvbU9mZnNldHMubGVuZ3RoKTtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCByZXNvbHZlZFJpbmdPZmZzZXRzLmxlbmd0aDsgKytpKSB7XG4gICAgcmVzb2x2ZWRSaW5nT2Zmc2V0c1tpXSA9IHJpbmdPZmZzZXRzW3BvbHlnb25PZmZzZXRzW2dlb21PZmZzZXRzW2ldXV07XG4gIH1cblxuICByZXR1cm4gcmVzb2x2ZWRSaW5nT2Zmc2V0cztcbn1cblxuLyoqXG4gKiBJbnZlcnQgb2Zmc2V0cyBzbyB0aGF0IGxvb2t1cCBjYW4gZ28gaW4gdGhlIG9wcG9zaXRlIGRpcmVjdGlvblxuICovXG5leHBvcnQgZnVuY3Rpb24gaW52ZXJ0T2Zmc2V0cyhvZmZzZXRzOiBJbnQzMkFycmF5KTogVWludDhBcnJheSB8IFVpbnQxNkFycmF5IHwgVWludDMyQXJyYXkge1xuICBjb25zdCBsYXJnZXN0T2Zmc2V0ID0gb2Zmc2V0c1tvZmZzZXRzLmxlbmd0aCAtIDFdO1xuXG4gIGNvbnN0IGFycmF5Q29uc3RydWN0b3IgPVxuICAgIG9mZnNldHMubGVuZ3RoIDwgTWF0aC5wb3coMiwgOClcbiAgICAgID8gVWludDhBcnJheVxuICAgICAgOiBvZmZzZXRzLmxlbmd0aCA8IE1hdGgucG93KDIsIDE2KVxuICAgICAgPyBVaW50MTZBcnJheVxuICAgICAgOiBVaW50MzJBcnJheTtcblxuICBjb25zdCBpbnZlcnRlZE9mZnNldHMgPSBuZXcgYXJyYXlDb25zdHJ1Y3RvcihsYXJnZXN0T2Zmc2V0KTtcbiAgZm9yIChsZXQgYXJyYXlJZHggPSAwOyBhcnJheUlkeCA8IG9mZnNldHMubGVuZ3RoIC0gMTsgYXJyYXlJZHgrKykge1xuICAgIGNvbnN0IHRoaXNPZmZzZXQgPSBvZmZzZXRzW2FycmF5SWR4XTtcbiAgICBjb25zdCBuZXh0T2Zmc2V0ID0gb2Zmc2V0c1thcnJheUlkeCArIDFdO1xuICAgIGZvciAobGV0IG9mZnNldCA9IHRoaXNPZmZzZXQ7IG9mZnNldCA8IG5leHRPZmZzZXQ7IG9mZnNldCsrKSB7XG4gICAgICBpbnZlcnRlZE9mZnNldHNbb2Zmc2V0XSA9IGFycmF5SWR4O1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBpbnZlcnRlZE9mZnNldHM7XG59XG5cbi8vIFRPRE86IGJldHRlciB0eXBpbmdcbmV4cG9ydCBmdW5jdGlvbiBleHRyYWN0QWNjZXNzb3JzRnJvbVByb3BzKFxuICBwcm9wczogUmVjb3JkPHN0cmluZywgYW55PixcbiAgZXhjbHVkZUtleXM6IHN0cmluZ1tdXG4pOiBbUmVjb3JkPHN0cmluZywgYW55PiwgUmVjb3JkPHN0cmluZywgYW55Pl0ge1xuICBjb25zdCBhY2Nlc3NvcnM6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcbiAgY29uc3Qgb3RoZXJQcm9wczogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xuICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhwcm9wcykpIHtcbiAgICBpZiAoZXhjbHVkZUtleXMuaW5jbHVkZXMoa2V5KSkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgaWYgKGtleS5zdGFydHNXaXRoKCdnZXQnKSkge1xuICAgICAgYWNjZXNzb3JzW2tleV0gPSB2YWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgb3RoZXJQcm9wc1trZXldID0gdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIFthY2Nlc3NvcnMsIG90aGVyUHJvcHNdO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU9BLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLEtBQUEsR0FBQUMsdUJBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLEVBQUEsR0FBQUQsdUJBQUEsQ0FBQUYsT0FBQTtBQUVBLElBQUFJLE1BQUEsR0FBQUosT0FBQTtBQUFvRixTQUFBSyx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxLQUFBRixDQUFBO0FBQUEsU0FBQUosd0JBQUFJLENBQUEsRUFBQUUsQ0FBQSxTQUFBQSxDQUFBLElBQUFGLENBQUEsSUFBQUEsQ0FBQSxDQUFBSSxVQUFBLFNBQUFKLENBQUEsZUFBQUEsQ0FBQSxnQkFBQUssT0FBQSxDQUFBTCxDQUFBLDBCQUFBQSxDQUFBLHNCQUFBQSxDQUFBLFFBQUFHLENBQUEsR0FBQUosd0JBQUEsQ0FBQUcsQ0FBQSxPQUFBQyxDQUFBLElBQUFBLENBQUEsQ0FBQUcsR0FBQSxDQUFBTixDQUFBLFVBQUFHLENBQUEsQ0FBQUksR0FBQSxDQUFBUCxDQUFBLE9BQUFRLENB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
|
|
@@ -10,6 +10,7 @@ exports.validateColorVector = validateColorVector;
|
|
|
10
10
|
exports.validateVectorAccessors = validateVectorAccessors;
|
|
11
11
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
12
12
|
var _typed = require("@deck.gl/core/typed");
|
|
13
|
+
var _utils = require("@kepler.gl/utils");
|
|
13
14
|
var arrow = _interopRequireWildcard(require("apache-arrow"));
|
|
14
15
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
15
16
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
@@ -30,7 +31,7 @@ function validateAccessors(props, table) {
|
|
|
30
31
|
// Is it an accessor
|
|
31
32
|
if (accessorName.startsWith('get')) {
|
|
32
33
|
// Is it a vector accessor
|
|
33
|
-
if (
|
|
34
|
+
if ((0, _utils.isArrowVector)(accessorValue)) {
|
|
34
35
|
vectorAccessors.push(accessorValue);
|
|
35
36
|
|
|
36
37
|
// Is it a color vector accessor
|
|
@@ -100,4 +101,4 @@ function validateColorVector(vector) {
|
|
|
100
101
|
// Property 'type' does not exist on type 'Int_<Ints>'. Did you mean 'TType'?
|
|
101
102
|
(0, _typed.assert)(vector.type.children[0].type.bitWidth === 8);
|
|
102
103
|
}
|
|
103
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdHlwZWQiLCJyZXF1aXJlIiwiYXJyb3ciLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyIiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJBcnJheSIsImlzQXJyYXkiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJsZW5ndGgiLCJfbiIsIkYiLCJzIiwiZG9uZSIsInZhbHVlIiwiZiIsIlR5cGVFcnJvciIsIm8iLCJuZXh0IiwiX2FycmF5TGlrZVRvQXJyYXkiLCJ0b1N0cmluZyIsInNsaWNlIiwiY29uc3RydWN0b3IiLCJuYW1lIiwiZnJvbSIsInRlc3QiLCJ2YWxpZGF0ZUFjY2Vzc29ycyIsInByb3BzIiwidGFibGUiLCJ2ZWN0b3JBY2Nlc3NvcnMiLCJjb2xvclZlY3RvckFjY2Vzc29ycyIsIl9pIiwiX09iamVjdCRlbnRyaWVzIiwiZW50cmllcyIsIl9PYmplY3QkZW50cmllcyRfaSIsIl9zbGljZWRUb0FycmF5MiIsImFjY2Vzc29yTmFtZSIsImFjY2Vzc29yVmFsdWUiLCJzdGFydHNXaXRoIiwiVmVjdG9yIiwicHVzaCIsImVuZHNXaXRoIiwidmFsaWRhdGVWZWN0b3JBY2Nlc3NvcnMiLCJfaTIiLCJfY29sb3JWZWN0b3JBY2Nlc3NvcnMiLCJjb2xvclZlY3RvckFjY2Vzc29yIiwidmFsaWRhdGVDb2xvclZlY3RvciIsIl9pdGVyYXRvciIsIl9zdGVwIiwidmVjdG9yQWNjZXNzb3IiLCJhc3NlcnQiLCJiYXRjaGVzIiwiZGF0YSIsImVyciIsIl9pdGVyYXRvcjIiLCJfc3RlcDIiLCJudW1Sb3dzIiwidmVjdG9yIiwiRGF0YVR5cGUiLCJpc0ZpeGVkU2l6ZUxpc3QiLCJ0eXBlIiwibGlzdFNpemUiLCJpc0ludCIsImNoaWxkcmVuIiwiYml0V2lkdGgiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvdmFsaWRhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuLy8gZGVjay5nbC1jb21tdW5pdHlcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCAoYykgdmlzLmdsIGNvbnRyaWJ1dG9yc1xuXG5pbXBvcnQge2Fzc2VydH0gZnJvbSAnQGRlY2suZ2wvY29yZS90eXBlZCc7XG5pbXBvcnQgKiBhcyBhcnJvdyBmcm9tICdhcGFjaGUtYXJyb3cnO1xuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVBY2Nlc3NvcnMocHJvcHM6IFJlY29yZDxzdHJpbmcsIGFueT4sIHRhYmxlOiBhcnJvdy5UYWJsZSk6IHZvaWQge1xuICBjb25zdCB2ZWN0b3JBY2Nlc3NvcnM6IGFycm93LlZlY3RvcltdID0gW107XG4gIGNvbnN0IGNvbG9yVmVjdG9yQWNjZXNzb3JzOiBhcnJvdy5WZWN0b3JbXSA9IFtdO1xuICBmb3IgKGNvbnN0IFthY2Nlc3Nvck5hbWUsIGFjY2Vzc29yVmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHByb3BzKSkge1xuICAgIC8vIElzIGl0IGFuIGFjY2Vzc29yXG4gICAgaWYgKGFjY2Vzc29yTmFtZS5zdGFydHNXaXRoKCdnZXQnKSkge1xuICAgICAgLy8gSXMgaXQgYSB2ZWN0b3IgYWNjZXNzb3JcbiAgICAgIGlmIChhY2Nlc3NvclZhbHVlIGluc3RhbmNlb2YgYXJyb3cuVmVjdG9yKSB7XG4gICAgICAgIHZlY3RvckFjY2Vzc29ycy5wdXNoKGFjY2Vzc29yVmFsdWUpO1xuXG4gICAgICAgIC8vIElzIGl0IGEgY29sb3IgdmVjdG9yIGFjY2Vzc29yXG4gICAgICAgIGlmIChhY2Nlc3Nvck5hbWUuZW5kc1dpdGgoJ0NvbG9yJykpIHtcbiAgICAgICAgICBjb2xvclZlY3RvckFjY2Vzc29ycy5wdXNoKGFjY2Vzc29yVmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdmFsaWRhdGVWZWN0b3JBY2Nlc3NvcnModGFibGUsIHZlY3RvckFjY2Vzc29ycyk7XG4gIGZvciAoY29uc3QgY29sb3JWZWN0b3JBY2Nlc3NvciBvZiBjb2xvclZlY3RvckFjY2Vzc29ycykge1xuICAgIHZhbGlkYXRlQ29sb3JWZWN0b3IoY29sb3JWZWN0b3JBY2Nlc3Nvcik7XG4gIH1cbn1cblxuLyoqXG4gKiBQcm92aWRlIHZhbGlkYXRpb24gZm9yIGFjY2Vzc29ycyBwcm92aWRlZFxuICpcbiAqIC0gQXNzZXJ0IHRoYXQgYWxsIHZlY3RvcnMgaGF2ZSB0aGUgc2FtZSBudW1iZXIgb2YgY2h1bmtzIGFzIHRoZSBtYWluIHRhYmxlXG4gKiAtIEFzc2VydCB0aGF0IGFsbCBjaHVua3MgaW4gZWFjaCB2ZWN0b3IgaGF2ZSB0aGUgc2FtZSBudW1iZXIgb2Ygcm93cyBhcyB0aGVcbiAqICAgcmVsZXZhbnQgYmF0Y2ggaW4gdGhlIG1haW4gdGFibGUuXG4gKlxuICovXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVWZWN0b3JBY2Nlc3NvcnModGFibGU6IGFycm93LlRhYmxlLCB2ZWN0b3JBY2Nlc3NvcnM6IGFycm93LlZlY3RvcltdKSB7XG4gIC8vIENoZWNrIHRoZSBzYW1lIG51bWJlciBvZiBjaHVua3MgYXMgdGhlIHRhYmxlJ3MgYmF0Y2hlc1xuICBmb3IgKGNvbnN0IHZlY3RvckFjY2Vzc29yIG9mIHZlY3RvckFjY2Vzc29ycykge1xuICAgIGFzc2VydCh0YWJsZS5iYXRjaGVzLmxlbmd0aCA9PT0gdmVjdG9yQWNjZXNzb3IuZGF0YS5sZW5ndGgpO1xuICB9XG5cbiAgLy8gQ2hlY2sgdGhhdCBlYWNoIHRhYmxlIGJhdGNoL3ZlY3RvciBkYXRhIGhhcyB0aGUgc2FtZSBudW1iZXIgb2Ygcm93c1xuICBmb3IgKGNvbnN0IHZlY3RvckFjY2Vzc29yIG9mIHZlY3RvckFjY2Vzc29ycykge1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGFibGUuYmF0Y2hlcy5sZW5ndGg7IGkrKykge1xuICAgICAgYXNzZXJ0KHRhYmxlLmJhdGNoZXNbaV0ubnVtUm93cyA9PT0gdmVjdG9yQWNjZXNzb3IuZGF0YVtpXS5sZW5ndGgpO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVDb2xvclZlY3Rvcih2ZWN0b3I6IGFycm93LlZlY3Rvcikge1xuICAvLyBBc3NlcnQgdGhlIGNvbG9yIHZlY3RvciBpcyBhIEZpeGVkU2l6ZUxpc3RcbiAgYXNzZXJ0KGFycm93LkRhdGFUeXBlLmlzRml4ZWRTaXplTGlzdCh2ZWN0b3IudHlwZSkpO1xuXG4gIC8vIEFzc2VydCBpdCBoYXMgMyBvciA0IHZhbHVlc1xuICBhc3NlcnQodmVjdG9yLnR5cGUubGlzdFNpemUgPT09IDMgfHwgdmVjdG9yLnR5cGUubGlzdFNpemUgPT09IDQpO1xuXG4gIC8vIEFzc2VydCB0aGUgY2hpbGQgdHlwZSBpcyBhbiBpbnRlZ2VyXG4gIGFzc2VydChhcnJvdy5EYXRhVHlwZS5pc0ludCh2ZWN0b3IudHlwZS5jaGlsZHJlblswXSkpO1xuXG4gIC8vIEFzc2VydCB0aGUgY2hpbGQgdHlwZSBpcyBhIFVpbnQ4XG4gIC8vIFByb3BlcnR5ICd0eXBlJyBkb2VzIG5vdCBleGlzdCBvbiB0eXBlICdJbnRfPEludHM+Jy4gRGlkIHlvdSBtZWFuICdUVHlwZSc/XG4gIGFzc2VydCh2ZWN0b3IudHlwZS5jaGlsZHJlblswXS50eXBlLmJpdFdpZHRoID09PSA4KTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFPQSxJQUFBQSxNQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxLQUFBLEdBQUFDLHVC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QUFBO0lBQUFOLFNBQUEsQ0FBQS9ELENBQUEsQ0FBQXFFLEdBQUE7RUFBQTtJQUFBTixTQUFBLENBQUFoQyxDQUFBO0VBQUE7RUFBQSxJQUFBdUMsVUFBQSxHQUFBbkQsMEJBQUEsQ0FDNkIwQixlQUFlO0lBQUEwQixNQUFBO0VBQUE7SUFBNUMsS0FBQUQsVUFBQSxDQUFBMUMsQ0FBQSxNQUFBMkMsTUFBQSxHQUFBRCxVQUFBLENBQUE5RCxDQUFBLElBQUFxQixJQUFBLEdBQThDO01BQUEsSUFBbkNvQyxlQUFjLEdBQUFNLE1BQUEsQ0FBQXpDLEtBQUE7TUFDdkIsS0FBSyxJQUFJYixDQUFDLEdBQUcsQ0FBQyxFQUFFQSxDQUFDLEdBQUcyQixLQUFLLENBQUN1QixPQUFPLENBQUMxQyxNQUFNLEVBQUVSLENBQUMsRUFBRSxFQUFFO1FBQzdDLElBQUFpRCxhQUFNLEVBQUN0QixLQUFLLENBQUN1QixPQUFPLENBQUNsRCxDQUFDLENBQUMsQ0FBQ3VELE9BQU8sS0FBS1AsZUFBYyxDQUFDRyxJQUFJLENBQUNuRCxDQUFDLENBQUMsQ0FBQ1EsTUFBTSxDQUFDO01BQ3BFO0lBQ0Y7RUFBQyxTQUFBNEMsR0FBQTtJQUFBQyxVQUFBLENBQUF0RSxDQUFBLENBQUFxRSxHQUFBO0VBQUE7SUFBQUMsVUFBQSxDQUFBdkMsQ0FBQTtFQUFBO0FBQ0g7QUFFTyxTQUFTK0IsbUJBQW1CQSxDQUFDVyxNQUFvQixFQUFFO0VBQ3hEO0VBQ0EsSUFBQVAsYUFBTSxFQUFDckUsS0FBSyxDQUFDNkUsUUFBUSxDQUFDQyxlQUFlLENBQUNGLE1BQU0sQ0FBQ0csSUFBSSxDQUFDLENBQUM7O0VBRW5EO0VBQ0EsSUFBQVYsYUFBTSxFQUFDTyxNQUFNLENBQUNHLElBQUksQ0FBQ0MsUUFBUSxLQUFLLENBQUMsSUFBSUosTUFBTSxDQUFDRyxJQUFJLENBQUNDLFFBQVEsS0FBSyxDQUFDLENBQUM7O0VBRWhFO0VBQ0EsSUFBQVgsYUFBTSxFQUFDckUsS0FBSyxDQUFDNkUsUUFBUSxDQUFDSSxLQUFLLENBQUNMLE1BQU0sQ0FBQ0csSUFBSSxDQUFDRyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzs7RUFFckQ7RUFDQTtFQUNBLElBQUFiLGFBQU0sRUFBQ08sTUFBTSxDQUFDRyxJQUFJLENBQUNHLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQ0gsSUFBSSxDQUFDSSxRQUFRLEtBQUssQ0FBQyxDQUFDO0FBQ3JEIiwiaWdub3JlTGlzdCI6W119
|
|
104
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdHlwZWQiLCJyZXF1aXJlIiwiX3V0aWxzIiwiYXJyb3ciLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyIiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJBcnJheSIsImlzQXJyYXkiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJsZW5ndGgiLCJfbiIsIkYiLCJzIiwiZG9uZSIsInZhbHVlIiwiZiIsIlR5cGVFcnJvciIsIm8iLCJuZXh0IiwiX2FycmF5TGlrZVRvQXJyYXkiLCJ0b1N0cmluZyIsInNsaWNlIiwiY29uc3RydWN0b3IiLCJuYW1lIiwiZnJvbSIsInRlc3QiLCJ2YWxpZGF0ZUFjY2Vzc29ycyIsInByb3BzIiwidGFibGUiLCJ2ZWN0b3JBY2Nlc3NvcnMiLCJjb2xvclZlY3RvckFjY2Vzc29ycyIsIl9pIiwiX09iamVjdCRlbnRyaWVzIiwiZW50cmllcyIsIl9PYmplY3QkZW50cmllcyRfaSIsIl9zbGljZWRUb0FycmF5MiIsImFjY2Vzc29yTmFtZSIsImFjY2Vzc29yVmFsdWUiLCJzdGFydHNXaXRoIiwiaXNBcnJvd1ZlY3RvciIsInB1c2giLCJlbmRzV2l0aCIsInZhbGlkYXRlVmVjdG9yQWNjZXNzb3JzIiwiX2kyIiwiX2NvbG9yVmVjdG9yQWNjZXNzb3JzIiwiY29sb3JWZWN0b3JBY2Nlc3NvciIsInZhbGlkYXRlQ29sb3JWZWN0b3IiLCJfaXRlcmF0b3IiLCJfc3RlcCIsInZlY3RvckFjY2Vzc29yIiwiYXNzZXJ0IiwiYmF0Y2hlcyIsImRhdGEiLCJlcnIiLCJfaXRlcmF0b3IyIiwiX3N0ZXAyIiwibnVtUm93cyIsInZlY3RvciIsIkRhdGFUeXBlIiwiaXNGaXhlZFNpemVMaXN0IiwidHlwZSIsImxpc3RTaXplIiwiaXNJbnQiLCJjaGlsZHJlbiIsImJpdFdpZHRoIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL3ZhbGlkYXRlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbi8vIGRlY2suZ2wtY29tbXVuaXR5XG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgKGMpIHZpcy5nbCBjb250cmlidXRvcnNcblxuaW1wb3J0IHthc3NlcnR9IGZyb20gJ0BkZWNrLmdsL2NvcmUvdHlwZWQnO1xuaW1wb3J0IHtpc0Fycm93VmVjdG9yfSBmcm9tICdAa2VwbGVyLmdsL3V0aWxzJztcbmltcG9ydCAqIGFzIGFycm93IGZyb20gJ2FwYWNoZS1hcnJvdyc7XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUFjY2Vzc29ycyhwcm9wczogUmVjb3JkPHN0cmluZywgYW55PiwgdGFibGU6IGFycm93LlRhYmxlKTogdm9pZCB7XG4gIGNvbnN0IHZlY3RvckFjY2Vzc29yczogYXJyb3cuVmVjdG9yW10gPSBbXTtcbiAgY29uc3QgY29sb3JWZWN0b3JBY2Nlc3NvcnM6IGFycm93LlZlY3RvcltdID0gW107XG4gIGZvciAoY29uc3QgW2FjY2Vzc29yTmFtZSwgYWNjZXNzb3JWYWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMocHJvcHMpKSB7XG4gICAgLy8gSXMgaXQgYW4gYWNjZXNzb3JcbiAgICBpZiAoYWNjZXNzb3JOYW1lLnN0YXJ0c1dpdGgoJ2dldCcpKSB7XG4gICAgICAvLyBJcyBpdCBhIHZlY3RvciBhY2Nlc3NvclxuICAgICAgaWYgKGlzQXJyb3dWZWN0b3IoYWNjZXNzb3JWYWx1ZSkpIHtcbiAgICAgICAgdmVjdG9yQWNjZXNzb3JzLnB1c2goYWNjZXNzb3JWYWx1ZSk7XG5cbiAgICAgICAgLy8gSXMgaXQgYSBjb2xvciB2ZWN0b3IgYWNjZXNzb3JcbiAgICAgICAgaWYgKGFjY2Vzc29yTmFtZS5lbmRzV2l0aCgnQ29sb3InKSkge1xuICAgICAgICAgIGNvbG9yVmVjdG9yQWNjZXNzb3JzLnB1c2goYWNjZXNzb3JWYWx1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB2YWxpZGF0ZVZlY3RvckFjY2Vzc29ycyh0YWJsZSwgdmVjdG9yQWNjZXNzb3JzKTtcbiAgZm9yIChjb25zdCBjb2xvclZlY3RvckFjY2Vzc29yIG9mIGNvbG9yVmVjdG9yQWNjZXNzb3JzKSB7XG4gICAgdmFsaWRhdGVDb2xvclZlY3Rvcihjb2xvclZlY3RvckFjY2Vzc29yKTtcbiAgfVxufVxuXG4vKipcbiAqIFByb3ZpZGUgdmFsaWRhdGlvbiBmb3IgYWNjZXNzb3JzIHByb3ZpZGVkXG4gKlxuICogLSBBc3NlcnQgdGhhdCBhbGwgdmVjdG9ycyBoYXZlIHRoZSBzYW1lIG51bWJlciBvZiBjaHVua3MgYXMgdGhlIG1haW4gdGFibGVcbiAqIC0gQXNzZXJ0IHRoYXQgYWxsIGNodW5rcyBpbiBlYWNoIHZlY3RvciBoYXZlIHRoZSBzYW1lIG51bWJlciBvZiByb3dzIGFzIHRoZVxuICogICByZWxldmFudCBiYXRjaCBpbiB0aGUgbWFpbiB0YWJsZS5cbiAqXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVZlY3RvckFjY2Vzc29ycyh0YWJsZTogYXJyb3cuVGFibGUsIHZlY3RvckFjY2Vzc29yczogYXJyb3cuVmVjdG9yW10pIHtcbiAgLy8gQ2hlY2sgdGhlIHNhbWUgbnVtYmVyIG9mIGNodW5rcyBhcyB0aGUgdGFibGUncyBiYXRjaGVzXG4gIGZvciAoY29uc3QgdmVjdG9yQWNjZXNzb3Igb2YgdmVjdG9yQWNjZXNzb3JzKSB7XG4gICAgYXNzZXJ0KHRhYmxlLmJhdGNoZXMubGVuZ3RoID09PSB2ZWN0b3JBY2Nlc3Nvci5kYXRhLmxlbmd0aCk7XG4gIH1cblxuICAvLyBDaGVjayB0aGF0IGVhY2ggdGFibGUgYmF0Y2gvdmVjdG9yIGRhdGEgaGFzIHRoZSBzYW1lIG51bWJlciBvZiByb3dzXG4gIGZvciAoY29uc3QgdmVjdG9yQWNjZXNzb3Igb2YgdmVjdG9yQWNjZXNzb3JzKSB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0YWJsZS5iYXRjaGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBhc3NlcnQodGFibGUuYmF0Y2hlc1tpXS5udW1Sb3dzID09PSB2ZWN0b3JBY2Nlc3Nvci5kYXRhW2ldLmxlbmd0aCk7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUNvbG9yVmVjdG9yKHZlY3RvcjogYXJyb3cuVmVjdG9yKSB7XG4gIC8vIEFzc2VydCB0aGUgY29sb3IgdmVjdG9yIGlzIGEgRml4ZWRTaXplTGlzdFxuICBhc3NlcnQoYXJyb3cuRGF0YVR5cGUuaXNGaXhlZFNpemVMaXN0KHZlY3Rvci50eXBlKSk7XG5cbiAgLy8gQXNzZXJ0IGl0IGhhcyAzIG9yIDQgdmFsdWVzXG4gIGFzc2VydCh2ZWN0b3IudHlwZS5saXN0U2l6ZSA9PT0gMyB8fCB2ZWN0b3IudHlwZS5saXN0U2l6ZSA9PT0gNCk7XG5cbiAgLy8gQXNzZXJ0IHRoZSBjaGlsZCB0eXBlIGlzIGFuIGludGVnZXJcbiAgYXNzZXJ0KGFycm93LkRhdGFUeXBlLmlzSW50KHZlY3Rvci50eXBlLmNoaWxkcmVuWzBdKSk7XG5cbiAgLy8gQXNzZXJ0IHRoZSBjaGlsZCB0eXBlIGlzIGEgVWludDhcbiAgLy8gUHJvcGVydHkgJ3R5cGUnIGRvZXMgbm90IGV4aXN0IG9uIHR5cGUgJ0ludF88SW50cz4nLiBEaWQgeW91IG1lYW4gJ1RUeXBlJz9cbiAgYXNzZXJ0KHZlY3Rvci50eXBlLmNoaWxkcmVuWzBdLnR5cGUuYml0V2lkdGggPT09IDgpO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQU9BLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLEtBQUEsR0FBQUMsdUJBQUEsQ0FBQUgsT0FBQTtBQUFzQyxTQUFBSSx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxLQUFBRixDQUFBO0FBQUEsU0FBQUYsd0JBQUFFLENBQUEsRUFBQUUsQ0FBQSxTQUFBQSxDQUFBLElBQUFGLENBQUEsSUFBQUEsQ0FBQSxDQUFBSSxVQUFBLFNBQUFKLENBQUEsZUFBQUEsQ0FBQSxnQkFBQUssT0FBQSxDQUFBTCxDQUFBLDBCQUFBQSxDQUFBLHNCQUFBQSxDQUFBLFFBQUFHLENBQUEsR0FBQUosd0JBQUEsQ0FBQUcsQ0FBQSxPQUFBQyxDQUFBLElBQUFBLENBQUEsQ0FBQUcsR0FBQSxDQUFBTixDQUFBLFVBQUFHLENBQUEsQ0FBQUksR0FBQSxDQUFBUCxDQUFBLE9BQUFRLENBQUEsS0FBQUMsU0FBQSxVQUFBQyxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsY0FBQSxJQUFBRCxNQUFBLENBQUFFLHdCQUFBLFdBQUFDLENBQUEsSUFBQWQsQ0FBQSxvQkFBQWMsQ0FBQSxPQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQWhCLENBQUEsRUFBQWMsQ0FBQSxTQUFBRyxDQUFBLEdBQUFQLENBQUEsR0FBQUMsTUFBQSxDQUFBRSx3QkFBQSxDQUFBYixDQUFBLEVBQUFjLENBQUEsVUFBQUcsQ0FBQSxLQUFBQSxDQUFBLENBQUFWLEdBQUEsSUFBQVUsQ0FBQSxDQUFBQyxHQUFBLElBQUFQLE1BQUEsQ0FBQUMsY0FBQSxDQUFBSixDQUFBLEVBQUFNLENBQUEsRUFBQUcsQ0FBQSxJQUFBVCxDQUFBLENBQUFNLENBQUEsSUFBQWQsQ0FBQSxDQUFBYyxDQUFBLFlBQUFOLENBQUEsY0FBQVIsQ0FBQSxFQUFBRyxDQUFBLElBQUFBLENBQUEsQ0FBQWUsR0FBQSxDQUFBbEIsQ0FBQSxFQUFBUSxDQUFBLEdBQUFBLENBQUE7QUFBQSxTQUFBVywyQkFBQWpCLENBQUEsRUFBQUYsQ0FBQSxRQUFBRyxDQUFBLHlCQUFBaUIsTUFBQSxJQUFBbEIsQ0FBQSxDQUFBa0IsTUFBQSxDQUFBQyxRQUFBLEtBQUFuQixDQUFBLHFCQUFBQyxDQUFBLFFBQUFtQixLQUFBLENBQUFDLE9BQUEsQ0FBQXJCLENBQUEsTUFBQUMsQ0FBQSxHQUFBcUIsMkJBQUEsQ0FBQXRCLENBQUEsTUFBQUYsQ0FBQSxJQUFBRSxDQUFBLHVCQUFBQSxDQUFBLENBQUF1QixNQUFBLElBQUF0QixDQUFBLEtBQUFELENBQUEsR0FBQUMsQ0FBQSxPQUFBdUIsRUFBQSxNQUFBQyxDQUFBLFlBQUFBLEVBQUEsZUFBQUMsQ0FBQSxFQUFBRCxDQUFBLEVBQUFuQixDQUFBLFdBQUFBLEVBQUEsV0FBQWtCLEVBQUEsSUFBQXhCLENBQUEsQ0FBQXVCLE1BQUEsS0FBQUksSUFBQSxXQUFBQSxJQUFBLE1BQUFDLEtBQUEsRUFBQTVCLENBQUEsQ0FBQXdCLEVBQUEsVUFBQTFCLENBQUEsV0FBQUEsRUFBQUUsQ0FBQSxVQUFBQSxDQUFBLEtBQUE2QixDQUFBLEVBQUFKLENBQUEsZ0JBQUFLLFNBQUEsaUpBQUFDLENBQUEsRUFBQXZCLENBQUEsT0FBQUksQ0FBQSxnQkFBQWMsQ0FBQSxXQUFBQSxFQUFBLElBQUF6QixDQUFBLEdBQUFBLENBQUEsQ0FBQWEsSUFBQSxDQUFBZCxDQUFBLE1BQUFNLENBQUEsV0FBQUEsRUFBQSxRQUFBTixDQUFBLEdBQUFDLENBQUEsQ0FBQStCLElBQUEsV0FBQXhCLENBQUEsR0FBQVIsQ0FBQSxDQUFBMkIsSUFBQSxFQUFBM0IsQ0FBQSxLQUFBRixDQUFBLFdBQUFBLEVBQUFFLENBQUEsSUFBQVksQ0FBQSxPQUFBbUIsQ0FBQSxHQUFBL0IsQ0FBQSxLQUFBNkIsQ0FBQSxXQUFBQSxFQUFBLFVBQUFyQixDQUFBLFlBQUFQLENBQUEsY0FBQUEsQ0FBQSw4QkFBQVcsQ0FBQSxRQUFBbUIsQ0FBQTtBQUFBLFNBQUFULDRCQUFBdEIsQ0FBQSxFQUFBUSxDQUFBLFFBQUFSLENBQUEsMkJBQUFBLENBQUEsU0FBQWlDLGlCQUFBLENBQUFqQyxDQUFBLEVBQUFRLENBQUEsT0FBQVAsQ0FBQSxNQUFBaUMsUUFBQSxDQUFBcEIsSUFBQSxDQUFBZCxDQUFBLEVBQUFtQyxLQUFBLDZCQUFBbEMsQ0FBQSxJQUFBRCxDQUFBLENBQUFvQyxXQUFBLEtBQUFuQyxDQUFBLEdBQUFELENBQUEsQ0FBQW9DLFdBQUEsQ0FBQUMsSUFBQSxhQUFBcEMsQ0FBQSxjQUFBQSxDQUFBLEdBQUFtQixLQUFBLENBQUFrQixJQUFBLENBQUF0QyxDQUFBLG9CQUFBQyxDQUFBLCtDQUFBc0MsSUFBQSxDQUFBdEMsQ0FBQSxJQUFBZ0MsaUJBQUEsQ0FBQWpDLENBQUEsRUFBQVEsQ0FBQTtBQUFBLFNBQUF5QixrQkFBQWpDLENBQUEsRUFBQVEsQ0FBQSxhQUFBQSxDQUFBLElBQUFBLENBQUEsR0FBQVIsQ0FBQSxDQUFBdUIsTUFBQSxNQUFBZixDQUFBLEdBQUFSLENBQUEsQ0FBQXVCLE1BQUEsWUFBQXpCLENBQUEsTUFBQVEsQ0FBQSxHQUFBYyxLQUFBLENBQUFaLENBQUEsR0FBQVYsQ0FBQSxHQUFBVSxDQUFBLEVBQUFWLENBQUEsSUFBQVEsQ0FBQSxDQUFBUixDQUFBLElBQUFFLENBQUEsQ0FBQUYsQ0FBQSxVQUFBUSxDQUFBLElBVHRDO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFNTyxTQUFTa0MsaUJBQWlCQSxDQUFDQyxLQUEwQixFQUFFQyxLQUFrQixFQUFRO0VBQ3RGLElBQU1DLGVBQStCLEdBQUcsRUFBRTtFQUMxQyxJQUFNQyxvQkFBb0MsR0FBRyxFQUFFO0VBQy9DLFNBQUFDLEVBQUEsTUFBQUMsZUFBQSxHQUE0Q3JDLE1BQU0sQ0FBQ3NDLE9BQU8sQ0FBQ04sS0FBSyxDQUFDLEVBQUFJLEVBQUEsR0FBQUMsZUFBQSxDQUFBdkIsTUFBQSxFQUFBc0IsRUFBQSxJQUFFO0lBQTlELElBQUFHLGtCQUFBLE9BQUFDLGVBQUEsYUFBQUgsZUFBQSxDQUFBRCxFQUFBO01BQU9LLFlBQVksR0FBQUYsa0JBQUE7TUFBRUcsYUFBYSxHQUFBSCxrQkFBQTtJQUNyQztJQUNBLElBQUlFLFlBQVksQ0FBQ0UsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFO01BQ2xDO01BQ0EsSUFBSSxJQUFBQyxvQkFBYSxFQUFDRixhQUFhLENBQUMsRUFBRTtRQUNoQ1IsZUFBZSxDQUFDVyxJQUFJLENBQUNILGFBQWEsQ0FBQzs7UUFFbkM7UUFDQSxJQUFJRCxZQUFZLENBQUNLLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRTtVQUNsQ1gsb0JBQW9CLENBQUNVLElBQUksQ0FBQ0gsYUFBYSxDQUFDO1FBQzFDO01BQ0Y7SUFDRjtFQUNGO0VBRUFLLHVCQUF1QixDQUFDZCxLQUFLLEVBQUVDLGVBQWUsQ0FBQztFQUMvQyxTQUFBYyxHQUFBLE1BQUFDLHFCQUFBLEdBQWtDZCxvQkFBb0IsRUFBQWEsR0FBQSxHQUFBQyxxQkFBQSxDQUFBbkMsTUFBQSxFQUFBa0MsR0FBQSxJQUFFO0lBQW5ELElBQU1FLG1CQUFtQixHQUFBRCxxQkFBQSxDQUFBRCxHQUFBO0lBQzVCRyxtQkFBbUIsQ0FBQ0QsbUJBQW1CLENBQUM7RUFDMUM7QUFDRjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ08sU0FBU0gsdUJBQXVCQSxDQUFDZCxLQUFrQixFQUFFQyxlQUErQixFQUFFO0VBQzNGO0VBQUEsSUFBQWtCLFNBQUEsR0FBQTVDLDBCQUFBLENBQzZCMEIsZUFBZTtJQUFBbUIsS0FBQTtFQUFBO0lBQTVDLEtBQUFELFNBQUEsQ0FBQW5DLENBQUEsTUFBQW9DLEtBQUEsR0FBQUQsU0FBQSxDQUFBdkQsQ0FBQSxJQUFBcUIsSUFBQSxHQUE4QztNQUFBLElBQW5Db0MsY0FBYyxHQUFBRCxLQUFBLENBQUFsQyxLQUFBO01BQ3ZCLElBQUFvQyxhQUFNLEVBQUN0QixLQUFLLENBQUN1QixPQUFPLENBQUMxQyxNQUFNLEtBQUt3QyxjQUFjLENBQUNHLElBQUksQ0FBQzNDLE1BQU0sQ0FBQztJQUM3RDs7SUFFQTtFQUFBLFNBQUE0QyxHQUFBO0lBQUFOLFNBQUEsQ0FBQS9ELENBQUEsQ0FBQXFFLEdBQUE7RUFBQTtJQUFBTixTQUFBLENBQUFoQyxDQUFBO0VBQUE7RUFBQSxJQUFBdUMsVUFBQSxHQUFBbkQsMEJBQUEsQ0FDNkIwQixlQUFlO0lBQUEwQixNQUFBO0VBQUE7SUFBNUMsS0FBQUQsVUFBQSxDQUFBMUMsQ0FBQSxNQUFBMkMsTUFBQSxHQUFBRCxVQUFBLENBQUE5RCxDQUFBLElBQUFxQixJQUFBLEdBQThDO01BQUEsSUFBbkNvQyxlQUFjLEdBQUFNLE1BQUEsQ0FBQXpDLEtBQUE7TUFDdkIsS0FBSyxJQUFJYixDQUFDLEdBQUcsQ0FBQyxFQUFFQSxDQUFDLEdBQUcyQixLQUFLLENBQUN1QixPQUFPLENBQUMxQyxNQUFNLEVBQUVSLENBQUMsRUFBRSxFQUFFO1FBQzdDLElBQUFpRCxhQUFNLEVBQUN0QixLQUFLLENBQUN1QixPQUFPLENBQUNsRCxDQUFDLENBQUMsQ0FBQ3VELE9BQU8sS0FBS1AsZUFBYyxDQUFDRyxJQUFJLENBQUNuRCxDQUFDLENBQUMsQ0FBQ1EsTUFBTSxDQUFDO01BQ3BFO0lBQ0Y7RUFBQyxTQUFBNEMsR0FBQTtJQUFBQyxVQUFBLENBQUF0RSxDQUFBLENBQUFxRSxHQUFBO0VBQUE7SUFBQUMsVUFBQSxDQUFBdkMsQ0FBQTtFQUFBO0FBQ0g7QUFFTyxTQUFTK0IsbUJBQW1CQSxDQUFDVyxNQUFvQixFQUFFO0VBQ3hEO0VBQ0EsSUFBQVAsYUFBTSxFQUFDckUsS0FBSyxDQUFDNkUsUUFBUSxDQUFDQyxlQUFlLENBQUNGLE1BQU0sQ0FBQ0csSUFBSSxDQUFDLENBQUM7O0VBRW5EO0VBQ0EsSUFBQVYsYUFBTSxFQUFDTyxNQUFNLENBQUNHLElBQUksQ0FBQ0MsUUFBUSxLQUFLLENBQUMsSUFBSUosTUFBTSxDQUFDRyxJQUFJLENBQUNDLFFBQVEsS0FBSyxDQUFDLENBQUM7O0VBRWhFO0VBQ0EsSUFBQVgsYUFBTSxFQUFDckUsS0FBSyxDQUFDNkUsUUFBUSxDQUFDSSxLQUFLLENBQUNMLE1BQU0sQ0FBQ0csSUFBSSxDQUFDRyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzs7RUFFckQ7RUFDQTtFQUNBLElBQUFiLGFBQU0sRUFBQ08sTUFBTSxDQUFDRyxJQUFJLENBQUNHLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQ0gsSUFBSSxDQUFDSSxRQUFRLEtBQUssQ0FBQyxDQUFDO0FBQ3JEIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kepler.gl/deckgl-arrow-layers",
|
|
3
3
|
"author": "Shan He <shan@uber.com>",
|
|
4
|
-
"version": "3.2.
|
|
4
|
+
"version": "3.2.4",
|
|
5
5
|
"description": "Deck.gl layers with GeoArrow and GeoParquet support",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"main": "dist/index.js",
|
|
@@ -31,7 +31,8 @@
|
|
|
31
31
|
],
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"@geoarrow/geoarrow-js": "^0.3.0",
|
|
34
|
-
"@kepler.gl/constants": "^3.2.
|
|
34
|
+
"@kepler.gl/constants": "^3.2.4",
|
|
35
|
+
"@kepler.gl/utils": "^3.2.4",
|
|
35
36
|
"@math.gl/core": "^4.0.0",
|
|
36
37
|
"@math.gl/polygon": "^4.0.0",
|
|
37
38
|
"@math.gl/types": "^4.0.0",
|
|
@@ -9,6 +9,7 @@ import {assert} from '@deck.gl/core/typed';
|
|
|
9
9
|
import * as arrow from 'apache-arrow';
|
|
10
10
|
import * as ga from '@geoarrow/geoarrow-js';
|
|
11
11
|
import {AccessorContext, AccessorFunction, _InternalAccessorContext} from '../types';
|
|
12
|
+
import {isArrowFixedSizeList, isArrowStruct, isArrowVector} from '@kepler.gl/utils';
|
|
12
13
|
|
|
13
14
|
export type TypedArray =
|
|
14
15
|
| Uint8Array
|
|
@@ -45,14 +46,14 @@ function isDataInterleavedCoords(
|
|
|
45
46
|
data: arrow.Data
|
|
46
47
|
): data is arrow.Data<arrow.FixedSizeList<arrow.Float64>> {
|
|
47
48
|
// TODO: also check 2 or 3d? Float64?
|
|
48
|
-
return data.type
|
|
49
|
+
return isArrowFixedSizeList(data.type);
|
|
49
50
|
}
|
|
50
51
|
|
|
51
52
|
function isDataSeparatedCoords(
|
|
52
53
|
data: arrow.Data
|
|
53
54
|
): data is arrow.Data<arrow.Struct<{x: arrow.Float64; y: arrow.Float64}>> {
|
|
54
55
|
// TODO: also check child names? Float64?
|
|
55
|
-
return data.type
|
|
56
|
+
return isArrowStruct(data.type);
|
|
56
57
|
}
|
|
57
58
|
|
|
58
59
|
/**
|
|
@@ -162,7 +163,7 @@ export function assignAccessor(args: AssignAccessorProps) {
|
|
|
162
163
|
return;
|
|
163
164
|
}
|
|
164
165
|
|
|
165
|
-
if (propInput
|
|
166
|
+
if (isArrowVector(propInput)) {
|
|
166
167
|
const columnData = propInput.data[chunkIdx];
|
|
167
168
|
|
|
168
169
|
if (arrow.DataType.isFixedSizeList(columnData)) {
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
// Copyright (c) vis.gl contributors
|
|
7
7
|
|
|
8
8
|
import {assert} from '@deck.gl/core/typed';
|
|
9
|
+
import {isArrowVector} from '@kepler.gl/utils';
|
|
9
10
|
import * as arrow from 'apache-arrow';
|
|
10
11
|
|
|
11
12
|
export function validateAccessors(props: Record<string, any>, table: arrow.Table): void {
|
|
@@ -15,7 +16,7 @@ export function validateAccessors(props: Record<string, any>, table: arrow.Table
|
|
|
15
16
|
// Is it an accessor
|
|
16
17
|
if (accessorName.startsWith('get')) {
|
|
17
18
|
// Is it a vector accessor
|
|
18
|
-
if (accessorValue
|
|
19
|
+
if (isArrowVector(accessorValue)) {
|
|
19
20
|
vectorAccessors.push(accessorValue);
|
|
20
21
|
|
|
21
22
|
// Is it a color vector accessor
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kepler.gl/deckgl-layers",
|
|
3
3
|
"author": "Shan He <shan@uber.com>",
|
|
4
|
-
"version": "3.2.
|
|
4
|
+
"version": "3.2.4",
|
|
5
5
|
"description": "kepler.gl constants used by kepler.gl components, actions and reducers",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"main": "dist/index.js",
|
|
@@ -35,9 +35,9 @@
|
|
|
35
35
|
"@deck.gl/core": "^8.9.27",
|
|
36
36
|
"@deck.gl/geo-layers": "^8.9.27",
|
|
37
37
|
"@deck.gl/layers": "^8.9.27",
|
|
38
|
-
"@kepler.gl/constants": "3.2.
|
|
39
|
-
"@kepler.gl/types": "3.2.
|
|
40
|
-
"@kepler.gl/utils": "3.2.
|
|
38
|
+
"@kepler.gl/constants": "3.2.4",
|
|
39
|
+
"@kepler.gl/types": "3.2.4",
|
|
40
|
+
"@kepler.gl/utils": "3.2.4",
|
|
41
41
|
"@loaders.gl/wms": "4.3.2",
|
|
42
42
|
"@luma.gl/constants": "^8.5.20",
|
|
43
43
|
"@luma.gl/core": "^8.5.20",
|
|
@@ -1 +1,8 @@
|
|
|
1
|
-
export
|
|
1
|
+
export { SqlPanel } from './sql-panel';
|
|
2
|
+
export { SchemaPanel, SchemaPanelDropMessage } from './schema-panel';
|
|
3
|
+
export { PreviewDataPanel } from './preview-data-panel';
|
|
4
|
+
export { Tree, DatasetNode, ColumnNode } from './tree';
|
|
5
|
+
export { default as MonacoEditor } from './monaco-editor';
|
|
6
|
+
export type { SchemaSuggestion } from './schema-panel';
|
|
7
|
+
export type { PreviewDataPanelProps, QueryResult, DataTableStyle } from './preview-data-panel';
|
|
8
|
+
export type { TreeNodeData, TreeNodeProps, TreeProps } from './tree';
|
|
@@ -1,17 +1,60 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
|
4
5
|
value: true
|
|
5
6
|
});
|
|
7
|
+
Object.defineProperty(exports, "ColumnNode", {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function get() {
|
|
10
|
+
return _tree.ColumnNode;
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
Object.defineProperty(exports, "DatasetNode", {
|
|
14
|
+
enumerable: true,
|
|
15
|
+
get: function get() {
|
|
16
|
+
return _tree.DatasetNode;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(exports, "MonacoEditor", {
|
|
20
|
+
enumerable: true,
|
|
21
|
+
get: function get() {
|
|
22
|
+
return _monacoEditor["default"];
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
Object.defineProperty(exports, "PreviewDataPanel", {
|
|
26
|
+
enumerable: true,
|
|
27
|
+
get: function get() {
|
|
28
|
+
return _previewDataPanel.PreviewDataPanel;
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
Object.defineProperty(exports, "SchemaPanel", {
|
|
32
|
+
enumerable: true,
|
|
33
|
+
get: function get() {
|
|
34
|
+
return _schemaPanel.SchemaPanel;
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
Object.defineProperty(exports, "SchemaPanelDropMessage", {
|
|
38
|
+
enumerable: true,
|
|
39
|
+
get: function get() {
|
|
40
|
+
return _schemaPanel.SchemaPanelDropMessage;
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
Object.defineProperty(exports, "SqlPanel", {
|
|
44
|
+
enumerable: true,
|
|
45
|
+
get: function get() {
|
|
46
|
+
return _sqlPanel.SqlPanel;
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
Object.defineProperty(exports, "Tree", {
|
|
50
|
+
enumerable: true,
|
|
51
|
+
get: function get() {
|
|
52
|
+
return _tree.Tree;
|
|
53
|
+
}
|
|
54
|
+
});
|
|
6
55
|
var _sqlPanel = require("./sql-panel");
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
get: function get() {
|
|
13
|
-
return _sqlPanel[key];
|
|
14
|
-
}
|
|
15
|
-
});
|
|
16
|
-
});
|
|
17
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfc3FsUGFuZWwiLCJyZXF1aXJlIiwiT2JqZWN0Iiwia2V5cyIsImZvckVhY2giLCJrZXkiLCJleHBvcnRzIiwiZGVmaW5lUHJvcGVydHkiLCJlbnVtZXJhYmxlIiwiZ2V0Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudHMvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmV4cG9ydCAqIGZyb20gJy4vc3FsLXBhbmVsJztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFHQSxJQUFBQSxTQUFBLEdBQUFDLE9BQUE7QUFBQUMsTUFBQSxDQUFBQyxJQUFBLENBQUFILFNBQUEsRUFBQUksT0FBQSxXQUFBQyxHQUFBO0VBQUEsSUFBQUEsR0FBQSxrQkFBQUEsR0FBQTtFQUFBLElBQUFBLEdBQUEsSUFBQUMsT0FBQSxJQUFBQSxPQUFBLENBQUFELEdBQUEsTUFBQUwsU0FBQSxDQUFBSyxHQUFBO0VBQUFILE1BQUEsQ0FBQUssY0FBQSxDQUFBRCxPQUFBLEVBQUFELEdBQUE7SUFBQUcsVUFBQTtJQUFBQyxHQUFBLFdBQUFBLElBQUE7TUFBQSxPQUFBVCxTQUFBLENBQUFLLEdBQUE7SUFBQTtFQUFBO0FBQUEiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
56
|
+
var _schemaPanel = require("./schema-panel");
|
|
57
|
+
var _previewDataPanel = require("./preview-data-panel");
|
|
58
|
+
var _tree = require("./tree");
|
|
59
|
+
var _monacoEditor = _interopRequireDefault(require("./monaco-editor"));
|
|
60
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfc3FsUGFuZWwiLCJyZXF1aXJlIiwiX3NjaGVtYVBhbmVsIiwiX3ByZXZpZXdEYXRhUGFuZWwiLCJfdHJlZSIsIl9tb25hY29FZGl0b3IiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudHMvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmV4cG9ydCB7U3FsUGFuZWx9IGZyb20gJy4vc3FsLXBhbmVsJztcbmV4cG9ydCB7U2NoZW1hUGFuZWwsIFNjaGVtYVBhbmVsRHJvcE1lc3NhZ2V9IGZyb20gJy4vc2NoZW1hLXBhbmVsJztcbmV4cG9ydCB7UHJldmlld0RhdGFQYW5lbH0gZnJvbSAnLi9wcmV2aWV3LWRhdGEtcGFuZWwnO1xuZXhwb3J0IHtUcmVlLCBEYXRhc2V0Tm9kZSwgQ29sdW1uTm9kZX0gZnJvbSAnLi90cmVlJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBNb25hY29FZGl0b3J9IGZyb20gJy4vbW9uYWNvLWVkaXRvcic7XG5cbmV4cG9ydCB0eXBlIHtTY2hlbWFTdWdnZXN0aW9ufSBmcm9tICcuL3NjaGVtYS1wYW5lbCc7XG5leHBvcnQgdHlwZSB7UHJldmlld0RhdGFQYW5lbFByb3BzLCBRdWVyeVJlc3VsdCwgRGF0YVRhYmxlU3R5bGV9IGZyb20gJy4vcHJldmlldy1kYXRhLXBhbmVsJztcbmV4cG9ydCB0eXBlIHtUcmVlTm9kZURhdGEsIFRyZWVOb2RlUHJvcHMsIFRyZWVQcm9wc30gZnJvbSAnLi90cmVlJztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBR0EsSUFBQUEsU0FBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsWUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsaUJBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLEtBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLGFBQUEsR0FBQUMsc0JBQUEsQ0FBQUwsT0FBQSIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
export { DuckDBWasmAdapter } from './adapters/duckdb-wasm-adapter';
|
|
2
|
-
export {
|
|
3
|
-
|
|
4
|
-
export { restoreGeoarrowMetadata, KeplerGlDuckDbTable } from './table/duckdb-table';
|
|
2
|
+
export { keplerGlDuckDBPlugin, keplerGlDuckDBPlugin as default } from './plugin';
|
|
3
|
+
export * from './table/duckdb-table';
|
|
5
4
|
export * from './table/duckdb-table-utils';
|
|
6
|
-
export
|
|
7
|
-
export { consolidateFieldTypes, extendFieldsWithDuckDBColumnType, fieldTypeToColumnType } from './processors/data-processor';
|
|
5
|
+
export * from './processors/data-processor';
|
package/src/duckdb/dist/index.js
CHANGED
|
@@ -5,12 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
var _exportNames = {
|
|
7
7
|
DuckDBWasmAdapter: true,
|
|
8
|
-
|
|
9
|
-
restoreGeoarrowMetadata: true,
|
|
10
|
-
KeplerGlDuckDbTable: true,
|
|
11
|
-
consolidateFieldTypes: true,
|
|
12
|
-
extendFieldsWithDuckDBColumnType: true,
|
|
13
|
-
fieldTypeToColumnType: true
|
|
8
|
+
keplerGlDuckDBPlugin: true
|
|
14
9
|
};
|
|
15
10
|
Object.defineProperty(exports, "DuckDBWasmAdapter", {
|
|
16
11
|
enumerable: true,
|
|
@@ -18,47 +13,32 @@ Object.defineProperty(exports, "DuckDBWasmAdapter", {
|
|
|
18
13
|
return _duckdbWasmAdapter.DuckDBWasmAdapter;
|
|
19
14
|
}
|
|
20
15
|
});
|
|
21
|
-
Object.defineProperty(exports, "
|
|
16
|
+
Object.defineProperty(exports, "default", {
|
|
22
17
|
enumerable: true,
|
|
23
18
|
get: function get() {
|
|
24
|
-
return
|
|
19
|
+
return _plugin.keplerGlDuckDBPlugin;
|
|
25
20
|
}
|
|
26
21
|
});
|
|
27
|
-
Object.defineProperty(exports, "
|
|
22
|
+
Object.defineProperty(exports, "keplerGlDuckDBPlugin", {
|
|
28
23
|
enumerable: true,
|
|
29
24
|
get: function get() {
|
|
30
|
-
return
|
|
31
|
-
}
|
|
32
|
-
});
|
|
33
|
-
Object.defineProperty(exports, "consolidateFieldTypes", {
|
|
34
|
-
enumerable: true,
|
|
35
|
-
get: function get() {
|
|
36
|
-
return _dataProcessor.consolidateFieldTypes;
|
|
37
|
-
}
|
|
38
|
-
});
|
|
39
|
-
exports["default"] = void 0;
|
|
40
|
-
Object.defineProperty(exports, "extendFieldsWithDuckDBColumnType", {
|
|
41
|
-
enumerable: true,
|
|
42
|
-
get: function get() {
|
|
43
|
-
return _dataProcessor.extendFieldsWithDuckDBColumnType;
|
|
44
|
-
}
|
|
45
|
-
});
|
|
46
|
-
Object.defineProperty(exports, "fieldTypeToColumnType", {
|
|
47
|
-
enumerable: true,
|
|
48
|
-
get: function get() {
|
|
49
|
-
return _dataProcessor.fieldTypeToColumnType;
|
|
50
|
-
}
|
|
51
|
-
});
|
|
52
|
-
Object.defineProperty(exports, "restoreGeoarrowMetadata", {
|
|
53
|
-
enumerable: true,
|
|
54
|
-
get: function get() {
|
|
55
|
-
return _duckdbTable.restoreGeoarrowMetadata;
|
|
25
|
+
return _plugin.keplerGlDuckDBPlugin;
|
|
56
26
|
}
|
|
57
27
|
});
|
|
58
28
|
var _duckdbWasmAdapter = require("./adapters/duckdb-wasm-adapter");
|
|
59
|
-
var _components = require("./components");
|
|
60
29
|
var _plugin = require("./plugin");
|
|
61
30
|
var _duckdbTable = require("./table/duckdb-table");
|
|
31
|
+
Object.keys(_duckdbTable).forEach(function (key) {
|
|
32
|
+
if (key === "default" || key === "__esModule") return;
|
|
33
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
34
|
+
if (key in exports && exports[key] === _duckdbTable[key]) return;
|
|
35
|
+
Object.defineProperty(exports, key, {
|
|
36
|
+
enumerable: true,
|
|
37
|
+
get: function get() {
|
|
38
|
+
return _duckdbTable[key];
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
});
|
|
62
42
|
var _duckdbTableUtils = require("./table/duckdb-table-utils");
|
|
63
43
|
Object.keys(_duckdbTableUtils).forEach(function (key) {
|
|
64
44
|
if (key === "default" || key === "__esModule") return;
|
|
@@ -72,7 +52,15 @@ Object.keys(_duckdbTableUtils).forEach(function (key) {
|
|
|
72
52
|
});
|
|
73
53
|
});
|
|
74
54
|
var _dataProcessor = require("./processors/data-processor");
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
55
|
+
Object.keys(_dataProcessor).forEach(function (key) {
|
|
56
|
+
if (key === "default" || key === "__esModule") return;
|
|
57
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
58
|
+
if (key in exports && exports[key] === _dataProcessor[key]) return;
|
|
59
|
+
Object.defineProperty(exports, key, {
|
|
60
|
+
enumerable: true,
|
|
61
|
+
get: function get() {
|
|
62
|
+
return _dataProcessor[key];
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZHVja2RiV2FzbUFkYXB0ZXIiLCJyZXF1aXJlIiwiX3BsdWdpbiIsIl9kdWNrZGJUYWJsZSIsIk9iamVjdCIsImtleXMiLCJmb3JFYWNoIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiX2V4cG9ydE5hbWVzIiwiZXhwb3J0cyIsImRlZmluZVByb3BlcnR5IiwiZW51bWVyYWJsZSIsImdldCIsIl9kdWNrZGJUYWJsZVV0aWxzIiwiX2RhdGFQcm9jZXNzb3IiXSwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuZXhwb3J0IHtEdWNrREJXYXNtQWRhcHRlcn0gZnJvbSAnLi9hZGFwdGVycy9kdWNrZGItd2FzbS1hZGFwdGVyJztcbmV4cG9ydCB7a2VwbGVyR2xEdWNrREJQbHVnaW4sIGtlcGxlckdsRHVja0RCUGx1Z2luIGFzIGRlZmF1bHR9IGZyb20gJy4vcGx1Z2luJztcbmV4cG9ydCAqIGZyb20gJy4vdGFibGUvZHVja2RiLXRhYmxlJztcbmV4cG9ydCAqIGZyb20gJy4vdGFibGUvZHVja2RiLXRhYmxlLXV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vcHJvY2Vzc29ycy9kYXRhLXByb2Nlc3Nvcic7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUdBLElBQUFBLGtCQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxPQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxZQUFBLEdBQUFGLE9BQUE7QUFBQUcsTUFBQSxDQUFBQyxJQUFBLENBQUFGLFlBQUEsRUFBQUcsT0FBQSxXQUFBQyxHQUFBO0VBQUEsSUFBQUEsR0FBQSxrQkFBQUEsR0FBQTtFQUFBLElBQUFILE1BQUEsQ0FBQUksU0FBQSxDQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQUMsWUFBQSxFQUFBSixHQUFBO0VBQUEsSUFBQUEsR0FBQSxJQUFBSyxPQUFBLElBQUFBLE9BQUEsQ0FBQUwsR0FBQSxNQUFBSixZQUFBLENBQUFJLEdBQUE7RUFBQUgsTUFBQSxDQUFBUyxjQUFBLENBQUFELE9BQUEsRUFBQUwsR0FBQTtJQUFBTyxVQUFBO0lBQUFDLEdBQUEsV0FBQUEsSUFBQTtNQUFBLE9BQUFaLFlBQUEsQ0FBQUksR0FBQTtJQUFBO0VBQUE7QUFBQTtBQUNBLElBQUFTLGlCQUFBLEdBQUFmLE9BQUE7QUFBQUcsTUFBQSxDQUFBQyxJQUFBLENBQUFXLGlCQUFBLEVBQUFWLE9BQUEsV0FBQUMsR0FBQTtFQUFBLElBQUFBLEdBQUEsa0JBQUFBLEdBQUE7RUFBQSxJQUFBSCxNQUFBLENBQUFJLFNBQUEsQ0FBQUMsY0FBQSxDQUFBQyxJQUFBLENBQUFDLFlBQUEsRUFBQUosR0FBQTtFQUFBLElBQUFBLEdBQUEsSUFBQUssT0FBQSxJQUFBQSxPQUFBLENBQUFMLEdBQUEsTUFBQVMsaUJBQUEsQ0FBQVQsR0FBQTtFQUFBSCxNQUFBLENBQUFTLGNBQUEsQ0FBQUQsT0FBQSxFQUFBTCxHQUFBO0lBQUFPLFVBQUE7SUFBQUMsR0FBQSxXQUFBQSxJQUFBO01BQUEsT0FBQUMsaUJBQUEsQ0FBQVQsR0FBQTtJQUFBO0VBQUE7QUFBQTtBQUNBLElBQUFVLGNBQUEsR0FBQWhCLE9BQUE7QUFBQUcsTUFBQSxDQUFBQyxJQUFBLENBQUFZLGNBQUEsRUFBQVgsT0FBQSxXQUFBQyxHQUFBO0VBQUEsSUFBQUEsR0FBQSxrQkFBQUEsR0FBQTtFQUFBLElBQUFILE1BQUEsQ0FBQUksU0FBQSxDQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQUMsWUFBQSxFQUFBSixHQUFBO0VBQUEsSUFBQUEsR0FBQSxJQUFBSyxPQUFBLElBQUFBLE9BQUEsQ0FBQUwsR0FBQSxNQUFBVSxjQUFBLENBQUFWLEdBQUE7RUFBQUgsTUFBQSxDQUFBUyxjQUFBLENBQUFELE9BQUEsRUFBQUwsR0FBQTtJQUFBTyxVQUFBO0lBQUFDLEdBQUEsV0FBQUEsSUFBQTtNQUFBLE9BQUFFLGNBQUEsQ0FBQVYsR0FBQTtJQUFBO0VBQUE7QUFBQSIsImlnbm9yZUxpc3QiOltdfQ==
|