@kando-env/kando-ui 1.2.437-alpha.11 → 1.2.437-alpha.13
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.
|
@@ -29,6 +29,7 @@ var Edge = function Edge(_ref) {
|
|
|
29
29
|
}) === undefined;
|
|
30
30
|
};
|
|
31
31
|
(0, _react.useEffect)(function () {
|
|
32
|
+
var addedLayers = [];
|
|
32
33
|
if (shapeDataExist()) {
|
|
33
34
|
var latlngs = [];
|
|
34
35
|
edge.shape_data.forEach(function (data) {
|
|
@@ -82,7 +83,10 @@ var Edge = function Edge(_ref) {
|
|
|
82
83
|
tailDash['kando_object'] = 'Arrow';
|
|
83
84
|
}
|
|
84
85
|
[polylineBack, polylineFront, tailDash].forEach(function (layer) {
|
|
85
|
-
|
|
86
|
+
if (layer) {
|
|
87
|
+
group.addLayer(layer);
|
|
88
|
+
addedLayers.push(layer);
|
|
89
|
+
}
|
|
86
90
|
});
|
|
87
91
|
group.addTo(map);
|
|
88
92
|
if (specificEvent !== undefined) {
|
|
@@ -101,8 +105,10 @@ var Edge = function Edge(_ref) {
|
|
|
101
105
|
});
|
|
102
106
|
}
|
|
103
107
|
return function () {
|
|
104
|
-
//
|
|
105
|
-
|
|
108
|
+
// Only remove the layers this Edge added
|
|
109
|
+
addedLayers.forEach(function (layer) {
|
|
110
|
+
group.removeLayer(layer);
|
|
111
|
+
});
|
|
106
112
|
};
|
|
107
113
|
}, [edge, specificEvent]);
|
|
108
114
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
|
|
@@ -110,4 +116,4 @@ var Edge = function Edge(_ref) {
|
|
|
110
116
|
var connector = (0, _reactRedux.connect)(null);
|
|
111
117
|
var _default = connector(Edge);
|
|
112
118
|
exports.default = _default;
|
|
113
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9hY3Rpb25zIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJFZGdlIiwiX3JlZiIsIkwiLCJtYXAiLCJlZGdlIiwicG9pbnRzIiwiX3JlZiRoaWRlRWRnZXMiLCJoaWRlRWRnZXMiLCJfcmVmJGFsbG93VW5tb25pdG9yZWQiLCJhbGxvd1VubW9uaXRvcmVkRGVzY2VuZGFudHMiLCJzcGVjaWZpY0V2ZW50IiwiZ3JvdXAiLCJkaXNwYXRjaCIsInVzZURpc3BhdGNoIiwic2hhcGVEYXRhRXhpc3QiLCJrZXlzIiwic2hhcGVfZGF0YSIsImxlbmd0aCIsImZpbmQiLCJkYXRhIiwibGF0IiwibG5nIiwidW5kZWZpbmVkIiwidXNlRWZmZWN0IiwibGF0bG5ncyIsImZvckVhY2giLCJwdXNoIiwic291cmNlUG9pbnQiLCJmaWx0ZXIiLCJwb2ludCIsImlkIiwic291cmNlX3BvaW50X2lkIiwidGFyZ2V0UG9pbnQiLCJ0YXJnZXRfcG9pbnRfaWQiLCJwb2x5bGluZUJhY2siLCJwb2x5bGluZSIsImNvbG9yIiwid2VpZ2h0Iiwib3BhY2l0eSIsImJpbmRQb3B1cCIsImNvbmNhdCIsIm5hbWUiLCJkaXN0YW5jZSIsImJyaW5nVG9Gcm9udCIsInBvbHlsaW5lRnJvbnQiLCJ0YWlsRGFzaCIsIndpbmRvdyIsIlN5bWJvbCIsInBvbHlsaW5lRGVjb3JhdG9yIiwiX2xhdGxuZ3MiLCJwYXR0ZXJucyIsIm9mZnNldCIsInJlcGVhdCIsInN5bWJvbCIsImFycm93SGVhZCIsInBpeGVsU2l6ZSIsInBvbHlnb24iLCJwYXRoT3B0aW9ucyIsInN0cm9rZSIsImxheWVyIiwiYWRkTGF5ZXIiLCJhZGRUbyIsInNldEhvdmVyZWRFZGdlUGF0aHMiLCJzZXRUaW1lb3V0Iiwib24iLCJyZW1vdmVGcm9tIiwiY3JlYXRlRWxlbWVudCIsIkZyYWdtZW50IiwiY29ubmVjdG9yIiwiY29ubmVjdCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9lZGdlcy9FZGdlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY29ubmVjdCwgQ29ubmVjdGVkUHJvcHMsIHVzZURpc3BhdGNoIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgSUVkZ2UgfSBmcm9tICdzcmMvc3RvcmUvZWRnZXMvbW9kZWxzL0lFZGdlJztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJ3NyYy9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgJy4vRWRnZS5zY3NzJztcbmltcG9ydCB7IElFdmVudCB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL2V2ZW50cy9tb2RlbHMvSUV2ZW50JztcbmltcG9ydCB7IHNldEhvdmVyZWRFZGdlUGF0aHMgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9ldmVudHMvYWN0aW9ucyc7XG50eXBlIFByb3BzID0gQ29ubmVjdGVkUHJvcHM8dHlwZW9mIGNvbm5lY3Rvcj4gJiB7XG4gIG1hcDogYW55O1xuICBMOiBhbnk7XG4gIGVkZ2U6IElFZGdlO1xuICBwb2ludHM6IGFueTtcbiAgaGlkZUVkZ2VzPzogYm9vbGVhbjtcbiAgc3BlY2lmaWNFdmVudD86IElFdmVudDtcbiAgYWxsb3dVbm1vbml0b3JlZERlc2NlbmRhbnRzPzogYm9vbGVhbjtcbiAgZ3JvdXA6IGFueTtcbn07XG5cbmNvbnN0IEVkZ2U6IFJlYWN0LkZDPFByb3BzPiA9ICh7XG4gIEwsXG4gIG1hcCxcbiAgZWRnZSxcbiAgcG9pbnRzLFxuICBoaWRlRWRnZXMgPSBmYWxzZSxcbiAgYWxsb3dVbm1vbml0b3JlZERlc2NlbmRhbnRzID0gZmFsc2UsXG4gIHNwZWNpZmljRXZlbnQsXG4gIGdyb3VwLFxufSkgPT4ge1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IHNoYXBlRGF0YUV4aXN0ID0gKCkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICBPYmplY3Qua2V5cyhlZGdlLnNoYXBlX2RhdGEpLmxlbmd0aCAhPT0gMCAmJlxuICAgICAgZWRnZS5zaGFwZV9kYXRhLmZpbmQoXG4gICAgICAgIChkYXRhOiBhbnkpID0+IGRhdGEubGF0ID09PSBudWxsIHx8IGRhdGEubG5nID09PSBudWxsLFxuICAgICAgKSA9PT0gdW5kZWZpbmVkXG4gICAgKTtcbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChzaGFwZURhdGFFeGlzdCgpKSB7XG4gICAgICBsZXQgbGF0bG5nczogYW55ID0gW107XG4gICAgICBlZGdlLnNoYXBlX2RhdGEuZm9yRWFjaCgoZGF0YTogYW55KSA9PiB7XG4gICAgICAgIGxhdGxuZ3MucHVzaChbZGF0YS5sYXQsIGRhdGEubG5nXSk7XG4gICAgICB9KTtcblxuICAgICAgbGV0IHNvdXJjZVBvaW50ID0gcG9pbnRzLmZpbHRlcihcbiAgICAgICAgKHBvaW50OiBJUG9pbnQpID0+IHBvaW50LmlkID09PSBlZGdlLnNvdXJjZV9wb2ludF9pZCxcbiAgICAgICk7XG4gICAgICBsZXQgdGFyZ2V0UG9pbnQgPSBwb2ludHMuZmlsdGVyKFxuICAgICAgICAocG9pbnQ6IElQb2ludCkgPT4gcG9pbnQuaWQgPT09IGVkZ2UudGFyZ2V0X3BvaW50X2lkLFxuICAgICAgKTtcblxuICAgICAgaWYgKHBvaW50cy5sZW5ndGggPT09IDApIHJldHVybjtcbiAgICAgIGlmIChzb3VyY2VQb2ludFswXSA9PT0gdW5kZWZpbmVkIHx8IHRhcmdldFBvaW50WzBdID09PSB1bmRlZmluZWQpIHJldHVybjtcblxuICAgICAgbGV0IHBvbHlsaW5lQmFjazogYW55ID0gTC5wb2x5bGluZShsYXRsbmdzLCB7XG4gICAgICAgIGNvbG9yOiAncmdiKDIyNywyMjcsMjI3KScsXG4gICAgICAgIHdlaWdodDogaGlkZUVkZ2VzID8gMCA6IDEsXG4gICAgICAgIG9wYWNpdHk6IGhpZGVFZGdlcyA/IDAgOiAxLFxuICAgICAgfSk7XG5cbiAgICAgIHBvbHlsaW5lQmFjay5iaW5kUG9wdXAoYEVkZ2UgSUQ6ICR7ZWRnZS5pZH0sPGJyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZSBwb2ludDogJHtzb3VyY2VQb2ludFswXS5ncm91cC5uYW1lfSw8YnI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGFyZ2V0IHBvaW50OiAke3RhcmdldFBvaW50WzBdLmdyb3VwLm5hbWV9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERpc3RhbmNlOiAke2VkZ2UuZGlzdGFuY2V9YCk7XG5cbiAgICAgIHBvbHlsaW5lQmFja1sna2FuZG9fb2JqZWN0X2lkJ10gPSBlZGdlLmlkO1xuICAgICAgcG9seWxpbmVCYWNrWydrYW5kb19vYmplY3QnXSA9ICdFZGdlJztcblxuICAgICAgcG9seWxpbmVCYWNrLmJyaW5nVG9Gcm9udCgpO1xuXG4gICAgICBsZXQgcG9seWxpbmVGcm9udDogYW55ID0gTC5wb2x5bGluZShsYXRsbmdzLCB7XG4gICAgICAgIGNvbG9yOiAnIzU1NScsXG4gICAgICAgIHdlaWdodDogaGlkZUVkZ2VzID8gMCA6IDEsXG4gICAgICAgIG9wYWNpdHk6IGhpZGVFZGdlcyA/IDAgOiAxLFxuICAgICAgfSk7XG5cbiAgICAgIHBvbHlsaW5lRnJvbnRbJ2thbmRvX29iamVjdF9pZCddID0gZWRnZS5pZDtcbiAgICAgIHBvbHlsaW5lRnJvbnRbJ2thbmRvX29iamVjdCddID0gJ0VkZ2VGcm9udCc7XG4gICAgICBwb2x5bGluZUZyb250LmJyaW5nVG9Gcm9udCgpO1xuXG4gICAgICBsZXQgdGFpbERhc2g6IGFueTtcbiAgICAgIGlmICh3aW5kb3cuTC5TeW1ib2wgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0YWlsRGFzaCA9IHdpbmRvdy5MLnBvbHlsaW5lRGVjb3JhdG9yKHBvbHlsaW5lQmFjay5fbGF0bG5ncywge1xuICAgICAgICAgIHBhdHRlcm5zOiBbXG4gICAgICAgICAgICAvLyBkZWZpbmVzIGEgcGF0dGVybiBvZiAxMHB4LXdpZGUgZGFzaGVzLCByZXBlYXRlZCBldmVyeSAyMHB4IG9uIHRoZSBsaW5lXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG9mZnNldDogMjAsXG4gICAgICAgICAgICAgIHJlcGVhdDogNjAsXG4gICAgICAgICAgICAgIHN5bWJvbDogd2luZG93LkwuU3ltYm9sLmFycm93SGVhZCh7XG4gICAgICAgICAgICAgICAgcGl4ZWxTaXplOiA0LFxuICAgICAgICAgICAgICAgIHBvbHlnb246IGZhbHNlLFxuICAgICAgICAgICAgICAgIHBhdGhPcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBzdHJva2U6IHRydWUsXG4gICAgICAgICAgICAgICAgICBjb2xvcjogJ3JnYigxNDgsMTQ4LDE0OCknLFxuICAgICAgICAgICAgICAgICAgd2VpZ2h0OiBoaWRlRWRnZXMgPyAwIDogMSxcbiAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IGhpZGVFZGdlcyA/IDAgOiAwLjgsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgIH0pO1xuICAgICAgICB0YWlsRGFzaFsna2FuZG9fb2JqZWN0J10gPSAnQXJyb3cnO1xuICAgICAgfVxuXG4gICAgICBbcG9seWxpbmVCYWNrLCBwb2x5bGluZUZyb250LCB0YWlsRGFzaF0uZm9yRWFjaCgobGF5ZXIpID0+IHtcbiAgICAgICAgZ3JvdXAuYWRkTGF5ZXIobGF5ZXIpO1xuICAgICAgfSk7XG4gICAgICBncm91cC5hZGRUbyhtYXApO1xuXG4gICAgICBpZiAoc3BlY2lmaWNFdmVudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGRpc3BhdGNoKHNldEhvdmVyZWRFZGdlUGF0aHMoW3BvbHlsaW5lQmFjaywgcG9seWxpbmVGcm9udF0pKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgYnJpbmdUb0Zyb250ID0gKCkgPT4ge1xuICAgICAgICBwb2x5bGluZUJhY2suYnJpbmdUb0Zyb250KCk7XG4gICAgICAgIHBvbHlsaW5lRnJvbnQuYnJpbmdUb0Zyb250KCk7XG4gICAgICAgIHRhaWxEYXNoLmJyaW5nVG9Gcm9udCgpO1xuICAgICAgfTtcblxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGJyaW5nVG9Gcm9udCgpO1xuICAgICAgfSwgMTAwKTtcblxuICAgICAgbWFwLm9uKCd6b29tZW5kJywgZnVuY3Rpb24gKCkge1xuICAgICAgICBicmluZ1RvRnJvbnQoKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAvLyBncm91cC5jbGVhckxheWVycygpO1xuICAgICAgZ3JvdXAucmVtb3ZlRnJvbShtYXApO1xuICAgIH07XG4gIH0sIFtlZGdlLCBzcGVjaWZpY0V2ZW50XSk7XG5cbiAgcmV0dXJuIDw+PC8+O1xufTtcblxuY29uc3QgY29ubmVjdG9yID0gY29ubmVjdChudWxsKTtcbmV4cG9ydCBkZWZhdWx0IGNvbm5lY3RvcihFZGdlKTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFdBQUEsR0FBQUQsT0FBQTtBQUdBQSxPQUFBO0FBRUEsSUFBQUUsUUFBQSxHQUFBRixPQUFBO0FBQW9FLFNBQUFHLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlCQUFBLE9BQUFELE9BQUEsUUFBQUUsZ0JBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsV0FBQSxXQUFBQSxXQUFBLEdBQUFHLGdCQUFBLEdBQUFELGlCQUFBLEtBQUFGLFdBQUE7QUFBQSxTQUFBTCx3QkFBQVMsR0FBQSxFQUFBSixXQUFBLFNBQUFBLFdBQUEsSUFBQUksR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsV0FBQUQsR0FBQSxRQUFBQSxHQUFBLGFBQUFFLE9BQUEsQ0FBQUYsR0FBQSx5QkFBQUEsR0FBQSw0QkFBQUcsT0FBQSxFQUFBSCxHQUFBLFVBQUFJLEtBQUEsR0FBQVQsd0JBQUEsQ0FBQUMsV0FBQSxPQUFBUSxLQUFBLElBQUFBLEtBQUEsQ0FBQUMsR0FBQSxDQUFBTCxHQUFBLFlBQUFJLEtBQUEsQ0FBQUUsR0FBQSxDQUFBTixHQUFBLFNBQUFPLE1BQUEsV0FBQUMscUJBQUEsR0FBQUMsTUFBQSxDQUFBQyxjQUFBLElBQUFELE1BQUEsQ0FBQUUsd0JBQUEsV0FBQUMsR0FBQSxJQUFBWixHQUFBLFFBQUFZLEdBQUEsa0JBQUFILE1BQUEsQ0FBQUksU0FBQSxDQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQWYsR0FBQSxFQUFBWSxHQUFBLFNBQUFJLElBQUEsR0FBQVIscUJBQUEsR0FBQUMsTUFBQSxDQUFBRSx3QkFBQSxDQUFBWCxHQUFBLEVBQUFZLEdBQUEsY0FBQUksSUFBQSxLQUFBQSxJQUFBLENBQUFWLEdBQUEsSUFBQVUsSUFBQSxDQUFBQyxHQUFBLEtBQUFSLE1BQUEsQ0FBQUMsY0FBQSxDQUFBSCxNQUFBLEVBQUFLLEdBQUEsRUFBQUksSUFBQSxZQUFBVCxNQUFBLENBQUFLLEdBQUEsSUFBQVosR0FBQSxDQUFBWSxHQUFBLFNBQUFMLE1BQUEsQ0FBQUosT0FBQSxHQUFBSCxHQUFBLE1BQUFJLEtBQUEsSUFBQUEsS0FBQSxDQUFBYSxHQUFBLENBQUFqQixHQUFBLEVBQUFPLE1BQUEsWUFBQUEsTUFBQTtBQVlwRSxJQUFNVyxJQUFxQixHQUFHLFNBQXhCQSxJQUFxQkEsQ0FBQUMsSUFBQSxFQVNyQjtFQUFBLElBUkpDLENBQUMsR0FBQUQsSUFBQSxDQUFEQyxDQUFDO0lBQ0RDLEdBQUcsR0FBQUYsSUFBQSxDQUFIRSxHQUFHO0lBQ0hDLElBQUksR0FBQUgsSUFBQSxDQUFKRyxJQUFJO0lBQ0pDLE1BQU0sR0FBQUosSUFBQSxDQUFOSSxNQUFNO0lBQUFDLGNBQUEsR0FBQUwsSUFBQSxDQUNOTSxTQUFTO0lBQVRBLFNBQVMsR0FBQUQsY0FBQSxjQUFHLEtBQUssR0FBQUEsY0FBQTtJQUFBRSxxQkFBQSxHQUFBUCxJQUFBLENBQ2pCUSwyQkFBMkI7SUFBM0JBLDJCQUEyQixHQUFBRCxxQkFBQSxjQUFHLEtBQUssR0FBQUEscUJBQUE7SUFDbkNFLGFBQWEsR0FBQVQsSUFBQSxDQUFiUyxhQUFhO0lBQ2JDLEtBQUssR0FBQVYsSUFBQSxDQUFMVSxLQUFLO0VBRUwsSUFBTUMsUUFBUSxHQUFHLElBQUFDLHVCQUFXLEVBQUMsQ0FBQztFQUM5QixJQUFNQyxjQUFjLEdBQUcsU0FBakJBLGNBQWNBLENBQUEsRUFBUztJQUMzQixPQUNFdkIsTUFBTSxDQUFDd0IsSUFBSSxDQUFDWCxJQUFJLENBQUNZLFVBQVUsQ0FBQyxDQUFDQyxNQUFNLEtBQUssQ0FBQyxJQUN6Q2IsSUFBSSxDQUFDWSxVQUFVLENBQUNFLElBQUksQ0FDbEIsVUFBQ0MsSUFBUztNQUFBLE9BQUtBLElBQUksQ0FBQ0MsR0FBRyxLQUFLLElBQUksSUFBSUQsSUFBSSxDQUFDRSxHQUFHLEtBQUssSUFBSTtJQUFBLENBQ3ZELENBQUMsS0FBS0MsU0FBUztFQUVuQixDQUFDO0VBRUQsSUFBQUMsZ0JBQVMsRUFBQyxZQUFNO0lBQ2QsSUFBSVQsY0FBYyxDQUFDLENBQUMsRUFBRTtNQUNwQixJQUFJVSxPQUFZLEdBQUcsRUFBRTtNQUNyQnBCLElBQUksQ0FBQ1ksVUFBVSxDQUFDUyxPQUFPLENBQUMsVUFBQ04sSUFBUyxFQUFLO1FBQ3JDSyxPQUFPLENBQUNFLElBQUksQ0FBQyxDQUFDUCxJQUFJLENBQUNDLEdBQUcsRUFBRUQsSUFBSSxDQUFDRSxHQUFHLENBQUMsQ0FBQztNQUNwQyxDQUFDLENBQUM7TUFFRixJQUFJTSxXQUFXLEdBQUd0QixNQUFNLENBQUN1QixNQUFNLENBQzdCLFVBQUNDLEtBQWE7UUFBQSxPQUFLQSxLQUFLLENBQUNDLEVBQUUsS0FBSzFCLElBQUksQ0FBQzJCLGVBQWU7TUFBQSxDQUN0RCxDQUFDO01BQ0QsSUFBSUMsV0FBVyxHQUFHM0IsTUFBTSxDQUFDdUIsTUFBTSxDQUM3QixVQUFDQyxLQUFhO1FBQUEsT0FBS0EsS0FBSyxDQUFDQyxFQUFFLEtBQUsxQixJQUFJLENBQUM2QixlQUFlO01BQUEsQ0FDdEQsQ0FBQztNQUVELElBQUk1QixNQUFNLENBQUNZLE1BQU0sS0FBSyxDQUFDLEVBQUU7TUFDekIsSUFBSVUsV0FBVyxDQUFDLENBQUMsQ0FBQyxLQUFLTCxTQUFTLElBQUlVLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBS1YsU0FBUyxFQUFFO01BRWxFLElBQUlZLFlBQWlCLEdBQUdoQyxDQUFDLENBQUNpQyxRQUFRLENBQUNYLE9BQU8sRUFBRTtRQUMxQ1ksS0FBSyxFQUFFLGtCQUFrQjtRQUN6QkMsTUFBTSxFQUFFOUIsU0FBUyxHQUFHLENBQUMsR0FBRyxDQUFDO1FBQ3pCK0IsT0FBTyxFQUFFL0IsU0FBUyxHQUFHLENBQUMsR0FBRztNQUMzQixDQUFDLENBQUM7TUFFRjJCLFlBQVksQ0FBQ0ssU0FBUyxhQUFBQyxNQUFBLENBQWFwQyxJQUFJLENBQUMwQixFQUFFLDZEQUFBVSxNQUFBLENBQ0ViLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQ2hCLEtBQUssQ0FBQzhCLElBQUksNkRBQUFELE1BQUEsQ0FDekJSLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQ3JCLEtBQUssQ0FBQzhCLElBQUkscURBQUFELE1BQUEsQ0FDN0JwQyxJQUFJLENBQUNzQyxRQUFRLENBQUUsQ0FBQztNQUV4RFIsWUFBWSxDQUFDLGlCQUFpQixDQUFDLEdBQUc5QixJQUFJLENBQUMwQixFQUFFO01BQ3pDSSxZQUFZLENBQUMsY0FBYyxDQUFDLEdBQUcsTUFBTTtNQUVyQ0EsWUFBWSxDQUFDUyxZQUFZLENBQUMsQ0FBQztNQUUzQixJQUFJQyxhQUFrQixHQUFHMUMsQ0FBQyxDQUFDaUMsUUFBUSxDQUFDWCxPQUFPLEVBQUU7UUFDM0NZLEtBQUssRUFBRSxNQUFNO1FBQ2JDLE1BQU0sRUFBRTlCLFNBQVMsR0FBRyxDQUFDLEdBQUcsQ0FBQztRQUN6QitCLE9BQU8sRUFBRS9CLFNBQVMsR0FBRyxDQUFDLEdBQUc7TUFDM0IsQ0FBQyxDQUFDO01BRUZxQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsR0FBR3hDLElBQUksQ0FBQzBCLEVBQUU7TUFDMUNjLGFBQWEsQ0FBQyxjQUFjLENBQUMsR0FBRyxXQUFXO01BQzNDQSxhQUFhLENBQUNELFlBQVksQ0FBQyxDQUFDO01BRTVCLElBQUlFLFFBQWE7TUFDakIsSUFBSUMsTUFBTSxDQUFDNUMsQ0FBQyxDQUFDNkMsTUFBTSxLQUFLekIsU0FBUyxFQUFFO1FBQ2pDdUIsUUFBUSxHQUFHQyxNQUFNLENBQUM1QyxDQUFDLENBQUM4QyxpQkFBaUIsQ0FBQ2QsWUFBWSxDQUFDZSxRQUFRLEVBQUU7VUFDM0RDLFFBQVEsRUFBRTtVQUNSO1VBQ0E7WUFDRUMsTUFBTSxFQUFFLEVBQUU7WUFDVkMsTUFBTSxFQUFFLEVBQUU7WUFDVkMsTUFBTSxFQUFFUCxNQUFNLENBQUM1QyxDQUFDLENBQUM2QyxNQUFNLENBQUNPLFNBQVMsQ0FBQztjQUNoQ0MsU0FBUyxFQUFFLENBQUM7Y0FDWkMsT0FBTyxFQUFFLEtBQUs7Y0FDZEMsV0FBVyxFQUFFO2dCQUNYQyxNQUFNLEVBQUUsSUFBSTtnQkFDWnRCLEtBQUssRUFBRSxrQkFBa0I7Z0JBQ3pCQyxNQUFNLEVBQUU5QixTQUFTLEdBQUcsQ0FBQyxHQUFHLENBQUM7Z0JBQ3pCK0IsT0FBTyxFQUFFL0IsU0FBUyxHQUFHLENBQUMsR0FBRztjQUMzQjtZQUNGLENBQUM7VUFDSCxDQUFDO1FBRUwsQ0FBQyxDQUFDO1FBQ0ZzQyxRQUFRLENBQUMsY0FBYyxDQUFDLEdBQUcsT0FBTztNQUNwQztNQUVBLENBQUNYLFlBQVksRUFBRVUsYUFBYSxFQUFFQyxRQUFRLENBQUMsQ0FBQ3BCLE9BQU8sQ0FBQyxVQUFDa0MsS0FBSyxFQUFLO1FBQ3pEaEQsS0FBSyxDQUFDaUQsUUFBUSxDQUFDRCxLQUFLLENBQUM7TUFDdkIsQ0FBQyxDQUFDO01BQ0ZoRCxLQUFLLENBQUNrRCxLQUFLLENBQUMxRCxHQUFHLENBQUM7TUFFaEIsSUFBSU8sYUFBYSxLQUFLWSxTQUFTLEVBQUU7UUFDL0JWLFFBQVEsQ0FBQyxJQUFBa0QsNEJBQW1CLEVBQUMsQ0FBQzVCLFlBQVksRUFBRVUsYUFBYSxDQUFDLENBQUMsQ0FBQztNQUM5RDtNQUVBLElBQU1ELFlBQVksR0FBRyxTQUFmQSxZQUFZQSxDQUFBLEVBQVM7UUFDekJULFlBQVksQ0FBQ1MsWUFBWSxDQUFDLENBQUM7UUFDM0JDLGFBQWEsQ0FBQ0QsWUFBWSxDQUFDLENBQUM7UUFDNUJFLFFBQVEsQ0FBQ0YsWUFBWSxDQUFDLENBQUM7TUFDekIsQ0FBQztNQUVEb0IsVUFBVSxDQUFDLFlBQU07UUFDZnBCLFlBQVksQ0FBQyxDQUFDO01BQ2hCLENBQUMsRUFBRSxHQUFHLENBQUM7TUFFUHhDLEdBQUcsQ0FBQzZELEVBQUUsQ0FBQyxTQUFTLEVBQUUsWUFBWTtRQUM1QnJCLFlBQVksQ0FBQyxDQUFDO01BQ2hCLENBQUMsQ0FBQztJQUNKO0lBRUEsT0FBTyxZQUFNO01BQ1g7TUFDQWhDLEtBQUssQ0FBQ3NELFVBQVUsQ0FBQzlELEdBQUcsQ0FBQztJQUN2QixDQUFDO0VBQ0gsQ0FBQyxFQUFFLENBQUNDLElBQUksRUFBRU0sYUFBYSxDQUFDLENBQUM7RUFFekIsb0JBQU90QyxNQUFBLENBQUFhLE9BQUEsQ0FBQWlGLGFBQUEsQ0FBQTlGLE1BQUEsQ0FBQWEsT0FBQSxDQUFBa0YsUUFBQSxNQUFJLENBQUM7QUFDZCxDQUFDO0FBRUQsSUFBTUMsU0FBUyxHQUFHLElBQUFDLG1CQUFPLEVBQUMsSUFBSSxDQUFDO0FBQUMsSUFBQUMsUUFBQSxHQUNqQkYsU0FBUyxDQUFDcEUsSUFBSSxDQUFDO0FBQUF1RSxPQUFBLENBQUF0RixPQUFBLEdBQUFxRixRQUFBIn0=
|
|
119
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9hY3Rpb25zIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJFZGdlIiwiX3JlZiIsIkwiLCJtYXAiLCJlZGdlIiwicG9pbnRzIiwiX3JlZiRoaWRlRWRnZXMiLCJoaWRlRWRnZXMiLCJfcmVmJGFsbG93VW5tb25pdG9yZWQiLCJhbGxvd1VubW9uaXRvcmVkRGVzY2VuZGFudHMiLCJzcGVjaWZpY0V2ZW50IiwiZ3JvdXAiLCJkaXNwYXRjaCIsInVzZURpc3BhdGNoIiwic2hhcGVEYXRhRXhpc3QiLCJrZXlzIiwic2hhcGVfZGF0YSIsImxlbmd0aCIsImZpbmQiLCJkYXRhIiwibGF0IiwibG5nIiwidW5kZWZpbmVkIiwidXNlRWZmZWN0IiwiYWRkZWRMYXllcnMiLCJsYXRsbmdzIiwiZm9yRWFjaCIsInB1c2giLCJzb3VyY2VQb2ludCIsImZpbHRlciIsInBvaW50IiwiaWQiLCJzb3VyY2VfcG9pbnRfaWQiLCJ0YXJnZXRQb2ludCIsInRhcmdldF9wb2ludF9pZCIsInBvbHlsaW5lQmFjayIsInBvbHlsaW5lIiwiY29sb3IiLCJ3ZWlnaHQiLCJvcGFjaXR5IiwiYmluZFBvcHVwIiwiY29uY2F0IiwibmFtZSIsImRpc3RhbmNlIiwiYnJpbmdUb0Zyb250IiwicG9seWxpbmVGcm9udCIsInRhaWxEYXNoIiwid2luZG93IiwiU3ltYm9sIiwicG9seWxpbmVEZWNvcmF0b3IiLCJfbGF0bG5ncyIsInBhdHRlcm5zIiwib2Zmc2V0IiwicmVwZWF0Iiwic3ltYm9sIiwiYXJyb3dIZWFkIiwicGl4ZWxTaXplIiwicG9seWdvbiIsInBhdGhPcHRpb25zIiwic3Ryb2tlIiwibGF5ZXIiLCJhZGRMYXllciIsImFkZFRvIiwic2V0SG92ZXJlZEVkZ2VQYXRocyIsInNldFRpbWVvdXQiLCJvbiIsInJlbW92ZUxheWVyIiwiY3JlYXRlRWxlbWVudCIsIkZyYWdtZW50IiwiY29ubmVjdG9yIiwiY29ubmVjdCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9lZGdlcy9FZGdlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY29ubmVjdCwgQ29ubmVjdGVkUHJvcHMsIHVzZURpc3BhdGNoIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgSUVkZ2UgfSBmcm9tICdzcmMvc3RvcmUvZWRnZXMvbW9kZWxzL0lFZGdlJztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJ3NyYy9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgJy4vRWRnZS5zY3NzJztcbmltcG9ydCB7IElFdmVudCB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL2V2ZW50cy9tb2RlbHMvSUV2ZW50JztcbmltcG9ydCB7IHNldEhvdmVyZWRFZGdlUGF0aHMgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9ldmVudHMvYWN0aW9ucyc7XG50eXBlIFByb3BzID0gQ29ubmVjdGVkUHJvcHM8dHlwZW9mIGNvbm5lY3Rvcj4gJiB7XG4gIG1hcDogYW55O1xuICBMOiBhbnk7XG4gIGVkZ2U6IElFZGdlO1xuICBwb2ludHM6IGFueTtcbiAgaGlkZUVkZ2VzPzogYm9vbGVhbjtcbiAgc3BlY2lmaWNFdmVudD86IElFdmVudDtcbiAgYWxsb3dVbm1vbml0b3JlZERlc2NlbmRhbnRzPzogYm9vbGVhbjtcbiAgZ3JvdXA6IGFueTtcbn07XG5cbmNvbnN0IEVkZ2U6IFJlYWN0LkZDPFByb3BzPiA9ICh7XG4gIEwsXG4gIG1hcCxcbiAgZWRnZSxcbiAgcG9pbnRzLFxuICBoaWRlRWRnZXMgPSBmYWxzZSxcbiAgYWxsb3dVbm1vbml0b3JlZERlc2NlbmRhbnRzID0gZmFsc2UsXG4gIHNwZWNpZmljRXZlbnQsXG4gIGdyb3VwLFxufSkgPT4ge1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IHNoYXBlRGF0YUV4aXN0ID0gKCkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICBPYmplY3Qua2V5cyhlZGdlLnNoYXBlX2RhdGEpLmxlbmd0aCAhPT0gMCAmJlxuICAgICAgZWRnZS5zaGFwZV9kYXRhLmZpbmQoXG4gICAgICAgIChkYXRhOiBhbnkpID0+IGRhdGEubGF0ID09PSBudWxsIHx8IGRhdGEubG5nID09PSBudWxsLFxuICAgICAgKSA9PT0gdW5kZWZpbmVkXG4gICAgKTtcbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGxldCBhZGRlZExheWVyczogYW55W10gPSBbXTtcblxuICAgIGlmIChzaGFwZURhdGFFeGlzdCgpKSB7XG4gICAgICBsZXQgbGF0bG5nczogYW55ID0gW107XG4gICAgICBlZGdlLnNoYXBlX2RhdGEuZm9yRWFjaCgoZGF0YTogYW55KSA9PiB7XG4gICAgICAgIGxhdGxuZ3MucHVzaChbZGF0YS5sYXQsIGRhdGEubG5nXSk7XG4gICAgICB9KTtcblxuICAgICAgbGV0IHNvdXJjZVBvaW50ID0gcG9pbnRzLmZpbHRlcihcbiAgICAgICAgKHBvaW50OiBJUG9pbnQpID0+IHBvaW50LmlkID09PSBlZGdlLnNvdXJjZV9wb2ludF9pZCxcbiAgICAgICk7XG4gICAgICBsZXQgdGFyZ2V0UG9pbnQgPSBwb2ludHMuZmlsdGVyKFxuICAgICAgICAocG9pbnQ6IElQb2ludCkgPT4gcG9pbnQuaWQgPT09IGVkZ2UudGFyZ2V0X3BvaW50X2lkLFxuICAgICAgKTtcblxuICAgICAgaWYgKHBvaW50cy5sZW5ndGggPT09IDApIHJldHVybjtcbiAgICAgIGlmIChzb3VyY2VQb2ludFswXSA9PT0gdW5kZWZpbmVkIHx8IHRhcmdldFBvaW50WzBdID09PSB1bmRlZmluZWQpIHJldHVybjtcblxuICAgICAgbGV0IHBvbHlsaW5lQmFjazogYW55ID0gTC5wb2x5bGluZShsYXRsbmdzLCB7XG4gICAgICAgIGNvbG9yOiAncmdiKDIyNywyMjcsMjI3KScsXG4gICAgICAgIHdlaWdodDogaGlkZUVkZ2VzID8gMCA6IDEsXG4gICAgICAgIG9wYWNpdHk6IGhpZGVFZGdlcyA/IDAgOiAxLFxuICAgICAgfSk7XG5cbiAgICAgIHBvbHlsaW5lQmFjay5iaW5kUG9wdXAoYEVkZ2UgSUQ6ICR7ZWRnZS5pZH0sPGJyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZSBwb2ludDogJHtzb3VyY2VQb2ludFswXS5ncm91cC5uYW1lfSw8YnI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGFyZ2V0IHBvaW50OiAke3RhcmdldFBvaW50WzBdLmdyb3VwLm5hbWV9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERpc3RhbmNlOiAke2VkZ2UuZGlzdGFuY2V9YCk7XG5cbiAgICAgIHBvbHlsaW5lQmFja1sna2FuZG9fb2JqZWN0X2lkJ10gPSBlZGdlLmlkO1xuICAgICAgcG9seWxpbmVCYWNrWydrYW5kb19vYmplY3QnXSA9ICdFZGdlJztcblxuICAgICAgcG9seWxpbmVCYWNrLmJyaW5nVG9Gcm9udCgpO1xuXG4gICAgICBsZXQgcG9seWxpbmVGcm9udDogYW55ID0gTC5wb2x5bGluZShsYXRsbmdzLCB7XG4gICAgICAgIGNvbG9yOiAnIzU1NScsXG4gICAgICAgIHdlaWdodDogaGlkZUVkZ2VzID8gMCA6IDEsXG4gICAgICAgIG9wYWNpdHk6IGhpZGVFZGdlcyA/IDAgOiAxLFxuICAgICAgfSk7XG5cbiAgICAgIHBvbHlsaW5lRnJvbnRbJ2thbmRvX29iamVjdF9pZCddID0gZWRnZS5pZDtcbiAgICAgIHBvbHlsaW5lRnJvbnRbJ2thbmRvX29iamVjdCddID0gJ0VkZ2VGcm9udCc7XG4gICAgICBwb2x5bGluZUZyb250LmJyaW5nVG9Gcm9udCgpO1xuXG4gICAgICBsZXQgdGFpbERhc2g6IGFueTtcbiAgICAgIGlmICh3aW5kb3cuTC5TeW1ib2wgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0YWlsRGFzaCA9IHdpbmRvdy5MLnBvbHlsaW5lRGVjb3JhdG9yKHBvbHlsaW5lQmFjay5fbGF0bG5ncywge1xuICAgICAgICAgIHBhdHRlcm5zOiBbXG4gICAgICAgICAgICAvLyBkZWZpbmVzIGEgcGF0dGVybiBvZiAxMHB4LXdpZGUgZGFzaGVzLCByZXBlYXRlZCBldmVyeSAyMHB4IG9uIHRoZSBsaW5lXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG9mZnNldDogMjAsXG4gICAgICAgICAgICAgIHJlcGVhdDogNjAsXG4gICAgICAgICAgICAgIHN5bWJvbDogd2luZG93LkwuU3ltYm9sLmFycm93SGVhZCh7XG4gICAgICAgICAgICAgICAgcGl4ZWxTaXplOiA0LFxuICAgICAgICAgICAgICAgIHBvbHlnb246IGZhbHNlLFxuICAgICAgICAgICAgICAgIHBhdGhPcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBzdHJva2U6IHRydWUsXG4gICAgICAgICAgICAgICAgICBjb2xvcjogJ3JnYigxNDgsMTQ4LDE0OCknLFxuICAgICAgICAgICAgICAgICAgd2VpZ2h0OiBoaWRlRWRnZXMgPyAwIDogMSxcbiAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IGhpZGVFZGdlcyA/IDAgOiAwLjgsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgIH0pO1xuICAgICAgICB0YWlsRGFzaFsna2FuZG9fb2JqZWN0J10gPSAnQXJyb3cnO1xuICAgICAgfVxuXG4gICAgICBbcG9seWxpbmVCYWNrLCBwb2x5bGluZUZyb250LCB0YWlsRGFzaF0uZm9yRWFjaCgobGF5ZXIpID0+IHtcbiAgICAgICAgaWYgKGxheWVyKSB7XG4gICAgICAgICAgZ3JvdXAuYWRkTGF5ZXIobGF5ZXIpO1xuICAgICAgICAgIGFkZGVkTGF5ZXJzLnB1c2gobGF5ZXIpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIGdyb3VwLmFkZFRvKG1hcCk7XG5cbiAgICAgIGlmIChzcGVjaWZpY0V2ZW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgZGlzcGF0Y2goc2V0SG92ZXJlZEVkZ2VQYXRocyhbcG9seWxpbmVCYWNrLCBwb2x5bGluZUZyb250XSkpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBicmluZ1RvRnJvbnQgPSAoKSA9PiB7XG4gICAgICAgIHBvbHlsaW5lQmFjay5icmluZ1RvRnJvbnQoKTtcbiAgICAgICAgcG9seWxpbmVGcm9udC5icmluZ1RvRnJvbnQoKTtcbiAgICAgICAgdGFpbERhc2guYnJpbmdUb0Zyb250KCk7XG4gICAgICB9O1xuXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgYnJpbmdUb0Zyb250KCk7XG4gICAgICB9LCAxMDApO1xuXG4gICAgICBtYXAub24oJ3pvb21lbmQnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGJyaW5nVG9Gcm9udCgpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIC8vIE9ubHkgcmVtb3ZlIHRoZSBsYXllcnMgdGhpcyBFZGdlIGFkZGVkXG4gICAgICBhZGRlZExheWVycy5mb3JFYWNoKChsYXllcikgPT4ge1xuICAgICAgICBncm91cC5yZW1vdmVMYXllcihsYXllcik7XG4gICAgICB9KTtcbiAgICB9O1xuICB9LCBbZWRnZSwgc3BlY2lmaWNFdmVudF0pO1xuXG4gIHJldHVybiA8PjwvPjtcbn07XG5cbmNvbnN0IGNvbm5lY3RvciA9IGNvbm5lY3QobnVsbCk7XG5leHBvcnQgZGVmYXVsdCBjb25uZWN0b3IoRWRnZSk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxXQUFBLEdBQUFELE9BQUE7QUFHQUEsT0FBQTtBQUVBLElBQUFFLFFBQUEsR0FBQUYsT0FBQTtBQUFvRSxTQUFBRyx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLFdBQUEsV0FBQUEsV0FBQSxHQUFBRyxnQkFBQSxHQUFBRCxpQkFBQSxLQUFBRixXQUFBO0FBQUEsU0FBQUwsd0JBQUFTLEdBQUEsRUFBQUosV0FBQSxTQUFBQSxXQUFBLElBQUFJLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLFdBQUFELEdBQUEsUUFBQUEsR0FBQSxhQUFBRSxPQUFBLENBQUFGLEdBQUEseUJBQUFBLEdBQUEsNEJBQUFHLE9BQUEsRUFBQUgsR0FBQSxVQUFBSSxLQUFBLEdBQUFULHdCQUFBLENBQUFDLFdBQUEsT0FBQVEsS0FBQSxJQUFBQSxLQUFBLENBQUFDLEdBQUEsQ0FBQUwsR0FBQSxZQUFBSSxLQUFBLENBQUFFLEdBQUEsQ0FBQU4sR0FBQSxTQUFBTyxNQUFBLFdBQUFDLHFCQUFBLEdBQUFDLE1BQUEsQ0FBQUMsY0FBQSxJQUFBRCxNQUFBLENBQUFFLHdCQUFBLFdBQUFDLEdBQUEsSUFBQVosR0FBQSxRQUFBWSxHQUFBLGtCQUFBSCxNQUFBLENBQUFJLFNBQUEsQ0FBQUMsY0FBQSxDQUFBQyxJQUFBLENBQUFmLEdBQUEsRUFBQVksR0FBQSxTQUFBSSxJQUFBLEdBQUFSLHFCQUFBLEdBQUFDLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQVgsR0FBQSxFQUFBWSxHQUFBLGNBQUFJLElB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
|
|
@@ -24,17 +24,21 @@ var EventPath = function EventPath(_ref) {
|
|
|
24
24
|
|
|
25
25
|
// Initialize the group once
|
|
26
26
|
(0, _react.useEffect)(function () {
|
|
27
|
-
if (map
|
|
27
|
+
if (map) {
|
|
28
|
+
if (groupRef.current) {
|
|
29
|
+
groupRef.current.clearLayers();
|
|
30
|
+
map.removeLayer(groupRef.current);
|
|
31
|
+
}
|
|
28
32
|
groupRef.current = _leaflet.default.featureGroup().addTo(map);
|
|
29
33
|
}
|
|
30
34
|
return function () {
|
|
31
|
-
if (groupRef.current) {
|
|
35
|
+
if (groupRef.current && map) {
|
|
32
36
|
groupRef.current.clearLayers();
|
|
33
37
|
map.removeLayer(groupRef.current);
|
|
34
38
|
groupRef.current = null;
|
|
35
39
|
}
|
|
36
40
|
};
|
|
37
|
-
}, [map]);
|
|
41
|
+
}, [event, map]);
|
|
38
42
|
var drawPolyline = function drawPolyline(event, layerLatlngs, eventPathsAsMapObjects) {
|
|
39
43
|
if (!groupRef.current) return;
|
|
40
44
|
var eventPath = _leaflet.default.polyline(layerLatlngs, {
|
|
@@ -138,4 +142,4 @@ var EventPath = function EventPath(_ref) {
|
|
|
138
142
|
};
|
|
139
143
|
var _default = EventPath;
|
|
140
144
|
exports.default = _default;
|
|
141
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX3JlYWN0UmVkdXgiLCJfYWN0aW9ucyIsIkV2ZW50UGF0aCIsIl9yZWYiLCJldmVudCIsImdsb2JhbF9kYXRhIiwiX3JlZiRldmVudFBhdGhzIiwiZXZlbnRQYXRocyIsIl9yZWYkcG9pbnRzX2RhdGEiLCJwb2ludHNfZGF0YSIsIm1hcCIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJncm91cFJlZiIsInVzZVJlZiIsInVzZUVmZmVjdCIsImN1cnJlbnQiLCJMIiwiZmVhdHVyZUdyb3VwIiwiYWRkVG8iLCJjbGVhckxheWVycyIsInJlbW92ZUxheWVyIiwiZHJhd1BvbHlsaW5lIiwibGF5ZXJMYXRsbmdzIiwiZXZlbnRQYXRoc0FzTWFwT2JqZWN0cyIsImV2ZW50UGF0aCIsInBvbHlsaW5lIiwiY29sb3IiLCJ3ZWlnaHQiLCJjbGFzc05hbWUiLCJzdHJva2UiLCJwdXNoIiwiaWQiLCJ0YWlsRGFzaCIsIndpbmRvdyIsIlN5bWJvbCIsInVuZGVmaW5lZCIsInBvbHlsaW5lRGVjb3JhdG9yIiwiX2xhdGxuZ3MiLCJwYXR0ZXJucyIsIm9mZnNldCIsInJlcGVhdCIsInN5bWJvbCIsImFycm93SGVhZCIsInBpeGVsU2l6ZSIsInBvbHlnb24iLCJwYXRoT3B0aW9ucyIsIm9wYWNpdHkiLCJob3ZlcmVkIiwic2V0SG92ZXJlZEV2ZW50UGF0aHMiLCJzZXRGb2N1c2VkRXZlbnRQYXRocyIsImJ1aWxkTGF5ZXJMb29rdXAiLCJsYXllcnMiLCJsb29rdXAiLCJwcm9wZXJ0eSIsImxheWVyIiwia2FuZG9fb2JqZWN0X2lkIiwia2FuZG9fb2JqZWN0IiwibGF5ZXJMb29rdXAiLCJ1c2VNZW1vIiwiX2xheWVycyIsInJlbmRlckV2ZW50UGF0aCIsImlzSG92ZXIiLCJwYXRoIiwiZm9yRWFjaCIsImVkZ2VfaWQiLCJnZXRMYXRMbmdzIiwidmFsaWRMYXllcnMiLCJmaWx0ZXIiLCJCb29sZWFuIiwibGVuZ3RoIiwiZml0Qm91bmRzIiwiZ2V0Qm91bmRzIiwicGFkIiwicG9pbnQiLCJmaW5kIiwibGFzdF9vYnNlcnZhdGlvbl9mcm9tX2hpZXJhcmNoeSIsInBvaW50X2lkIiwibGF0aXR1ZGUiLCJsb25naXR1ZGUiLCJzZXRWaWV3IiwiX2RlZmF1bHQiLCJleHBvcnRzIiwiZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9ldmVudHMvRXZlbnRQYXRoLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtaWdub3JlXG5pbXBvcnQgTCBmcm9tICdsZWFmbGV0JztcbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVJlZiB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZURpc3BhdGNoIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHtcbiAgc2V0Rm9jdXNlZEV2ZW50UGF0aHMsXG4gIHNldEhvdmVyZWRFdmVudFBhdGhzLFxufSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL2FjdGlvbnMnO1xuaW1wb3J0IHsgSUV2ZW50IH0gZnJvbSAnc3JjL3N0b3JlL2V2ZW50cy9tb2RlbHMvSUV2ZW50JztcbmltcG9ydCB7IElHbG9iYWxTdGF0ZSB9IGZyb20gJ3NyYy9zdG9yZS9nbG9iYWwvbW9kZWxzL0lHbG9iYWxTdGF0ZSc7XG5cbnR5cGUgSVByb3BzID0ge1xuICBldmVudDogSUV2ZW50O1xuICBnbG9iYWxfZGF0YTogSUdsb2JhbFN0YXRlO1xuICBldmVudFBhdGhzPzogYW55W107XG4gIHBvaW50c19kYXRhPzogYW55W107XG59O1xuXG5jb25zdCBFdmVudFBhdGg6IFJlYWN0LkZDPElQcm9wcz4gPSAoe1xuICBldmVudCxcbiAgZ2xvYmFsX2RhdGEsXG4gIGV2ZW50UGF0aHMgPSBbXSxcbiAgcG9pbnRzX2RhdGEgPSBbXSxcbn0pID0+IHtcbiAgY29uc3QgeyBtYXAgfSA9IGdsb2JhbF9kYXRhO1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IGdyb3VwUmVmID0gdXNlUmVmPEwuRmVhdHVyZUdyb3VwIHwgbnVsbD4obnVsbCk7XG5cbiAgLy8gSW5pdGlhbGl6ZSB0aGUgZ3JvdXAgb25jZVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChtYXAgJiYgIWdyb3VwUmVmLmN1cnJlbnQpIHtcbiAgICAgIGdyb3VwUmVmLmN1cnJlbnQgPSBMLmZlYXR1cmVHcm91cCgpLmFkZFRvKG1hcCk7XG4gICAgfVxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAoZ3JvdXBSZWYuY3VycmVudCkge1xuICAgICAgICBncm91cFJlZi5jdXJyZW50LmNsZWFyTGF5ZXJzKCk7XG4gICAgICAgIG1hcC5yZW1vdmVMYXllcihncm91cFJlZi5jdXJyZW50KTtcbiAgICAgICAgZ3JvdXBSZWYuY3VycmVudCA9IG51bGw7XG4gICAgICB9XG4gICAgfTtcbiAgfSwgW21hcF0pO1xuXG4gIGNvbnN0IGRyYXdQb2x5bGluZSA9IChcbiAgICBldmVudDogSUV2ZW50LFxuICAgIGxheWVyTGF0bG5nczogYW55LFxuICAgIGV2ZW50UGF0aHNBc01hcE9iamVjdHM6IGFueSxcbiAgKSA9PiB7XG4gICAgaWYgKCFncm91cFJlZi5jdXJyZW50KSByZXR1cm47XG5cbiAgICBsZXQgZXZlbnRQYXRoID0gTC5wb2x5bGluZShsYXllckxhdGxuZ3MsIHtcbiAgICAgIGNvbG9yOiAncmdiKDIzNiwxMTksMTU2KScsXG4gICAgICB3ZWlnaHQ6IDEwLFxuICAgICAgY2xhc3NOYW1lOiAnZXZlbnQtcGF0aCcsXG4gICAgICBzdHJva2U6IHRydWUsXG4gICAgfSkuYWRkVG8oZ3JvdXBSZWYuY3VycmVudCk7XG5cbiAgICBldmVudFBhdGhzQXNNYXBPYmplY3RzLnB1c2goZXZlbnRQYXRoKTtcbiAgICBldmVudFBhdGhbJ2thbmRvX29iamVjdF9pZCddID0gZXZlbnQuaWQ7XG4gICAgZXZlbnRQYXRoWydrYW5kb19vYmplY3QnXSA9ICdFdmVudFBhdGgnO1xuXG4gICAgbGV0IHRhaWxEYXNoOiBhbnk7XG4gICAgaWYgKHdpbmRvdy5MLlN5bWJvbCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0YWlsRGFzaCA9IHdpbmRvdy5MLnBvbHlsaW5lRGVjb3JhdG9yKGV2ZW50UGF0aC5fbGF0bG5ncywge1xuICAgICAgICBwYXR0ZXJuczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIG9mZnNldDogMjAsXG4gICAgICAgICAgICByZXBlYXQ6IDYwLFxuICAgICAgICAgICAgc3ltYm9sOiB3aW5kb3cuTC5TeW1ib2wuYXJyb3dIZWFkKHtcbiAgICAgICAgICAgICAgcGl4ZWxTaXplOiAzLFxuICAgICAgICAgICAgICBwb2x5Z29uOiBmYWxzZSxcbiAgICAgICAgICAgICAgcGF0aE9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICBzdHJva2U6IHRydWUsXG4gICAgICAgICAgICAgICAgY29sb3I6ICdyZ2IoMjU1LDI1NSwyNTUpJyxcbiAgICAgICAgICAgICAgICB3ZWlnaHQ6IDEsXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9KS5hZGRUbyhncm91cFJlZi5jdXJyZW50KTtcbiAgICAgIHRhaWxEYXNoWydrYW5kb19vYmplY3QnXSA9ICdBcnJvdyc7XG4gICAgICBpZiAodGFpbERhc2gpIGV2ZW50UGF0aHNBc01hcE9iamVjdHMucHVzaCh0YWlsRGFzaCk7XG4gICAgICAvLyBpZiAodGFpbERhc2guYnJpbmdUb0Zyb250KSB0YWlsRGFzaC5icmluZ1RvRnJvbnQoKTtcbiAgICB9XG5cbiAgICAvLyBpZiAoZXZlbnRQYXRoLmJyaW5nVG9Gcm9udCkgZXZlbnRQYXRoLmJyaW5nVG9Gcm9udCgpO1xuXG4gICAgaWYgKGV2ZW50LmhvdmVyZWQpIHtcbiAgICAgIGRpc3BhdGNoKHNldEhvdmVyZWRFdmVudFBhdGhzKGV2ZW50UGF0aHNBc01hcE9iamVjdHMpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZGlzcGF0Y2goc2V0Rm9jdXNlZEV2ZW50UGF0aHMoZXZlbnRQYXRoc0FzTWFwT2JqZWN0cykpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBidWlsZExheWVyTG9va3VwID0gKGxheWVycykgPT4ge1xuICAgIGNvbnN0IGxvb2t1cCA9IHt9O1xuICAgIGZvciAoY29uc3QgcHJvcGVydHkgaW4gbGF5ZXJzKSB7XG4gICAgICBjb25zdCBsYXllciA9IGxheWVyc1twcm9wZXJ0eV07XG4gICAgICBpZiAoXG4gICAgICAgIGxheWVyLmthbmRvX29iamVjdF9pZCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgIGxheWVyLmthbmRvX29iamVjdCA9PT0gJ0VkZ2UnXG4gICAgICApIHtcbiAgICAgICAgbG9va3VwW2xheWVyLmthbmRvX29iamVjdF9pZF0gPSBsYXllcjtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGxvb2t1cDtcbiAgfTtcblxuICAvLyBNZW1vaXplIHRoZSBsYXllciBsb29rdXAgc28gaXQgb25seSByZWNhbGN1bGF0ZXMgd2hlbiBtYXAuX2xheWVycyBjaGFuZ2VzXG4gIGNvbnN0IGxheWVyTG9va3VwID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKCFtYXApIHJldHVybiB7fTtcbiAgICByZXR1cm4gYnVpbGRMYXllckxvb2t1cChtYXAuX2xheWVycyk7XG4gIH0sIFttYXAsIG1hcD8uX2xheWVyc10pO1xuXG4gIGNvbnN0IHJlbmRlckV2ZW50UGF0aCA9IChldmVudDogSUV2ZW50LCBpc0hvdmVyOiBib29sZWFuKSA9PiB7XG4gICAgaWYgKG1hcCAhPT0gdW5kZWZpbmVkICYmIGdyb3VwUmVmLmN1cnJlbnQpIHtcbiAgICAgIGdyb3VwUmVmLmN1cnJlbnQuY2xlYXJMYXllcnMoKTtcbiAgICAgIGxldCBldmVudFBhdGhzQXNNYXBPYmplY3RzOiBhbnlbXSA9IFtdO1xuICAgICAgLy8gY29uc3QgbGF5ZXJzID0gbWFwLl9sYXllcnM7XG4gICAgICAvLyBjb25zdCBsYXllckxvb2t1cCA9IGJ1aWxkTGF5ZXJMb29rdXAobGF5ZXJzKTtcblxuICAgICAgZXZlbnQucGF0aC5mb3JFYWNoKChwYXRoOiBhbnkpID0+IHtcbiAgICAgICAgY29uc3QgbGF5ZXIgPSBsYXllckxvb2t1cFtwYXRoLmVkZ2VfaWRdO1xuICAgICAgICBpZiAobGF5ZXIpIHtcbiAgICAgICAgICBsZXQgbGF5ZXJMYXRsbmdzID0gbGF5ZXIuZ2V0TGF0TG5ncygpO1xuICAgICAgICAgIGRyYXdQb2x5bGluZShldmVudCwgbGF5ZXJMYXRsbmdzLCBldmVudFBhdGhzQXNNYXBPYmplY3RzKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIGlmICghaXNIb3Zlcikge1xuICAgICAgICBjb25zdCB2YWxpZExheWVycyA9IGV2ZW50UGF0aHNBc01hcE9iamVjdHMuZmlsdGVyKEJvb2xlYW4pO1xuICAgICAgICBpZiAodmFsaWRMYXllcnMubGVuZ3RoICE9PSAwKSB7XG4gICAgICAgICAgaWYgKHZhbGlkTGF5ZXJzLmxlbmd0aCA+PSAyKSB7XG4gICAgICAgICAgICBtYXAuZml0Qm91bmRzKFxuICAgICAgICAgICAgICBMLmZlYXR1cmVHcm91cChbXG4gICAgICAgICAgICAgICAgdmFsaWRMYXllcnNbMF0sXG4gICAgICAgICAgICAgICAgdmFsaWRMYXllcnNbdmFsaWRMYXllcnMubGVuZ3RoIC0gMV0sXG4gICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgICAgLmdldEJvdW5kcygpXG4gICAgICAgICAgICAgICAgLnBhZCgwLjEpLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKHBvaW50c19kYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuO1xuXG4gICAgICAgICAgY29uc3QgcG9pbnQgPSBwb2ludHNfZGF0YS5maW5kKFxuICAgICAgICAgICAgKHBvaW50KSA9PlxuICAgICAgICAgICAgICBwb2ludC5pZCA9PT0gZXZlbnQubGFzdF9vYnNlcnZhdGlvbl9mcm9tX2hpZXJhcmNoeS5wb2ludF9pZCxcbiAgICAgICAgICApO1xuICAgICAgICAgIGlmIChwb2ludCAmJiBwb2ludC5sYXRpdHVkZSAmJiBwb2ludC5sb25naXR1ZGUpIHtcbiAgICAgICAgICAgIG1hcC5zZXRWaWV3KFtwb2ludC5sYXRpdHVkZSwgcG9pbnQubG9uZ2l0dWRlXSwgMTQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChldmVudFBhdGhzKSB7XG4gICAgICAvLyBldmVudFBhdGhzLmZvckVhY2goKHBhdGgpID0+IHtcbiAgICAgIC8vICAgbWFwLnJlbW92ZUxheWVyKHBhdGgpO1xuICAgICAgLy8gfSk7XG5cbiAgICAgIHJlbmRlckV2ZW50UGF0aChldmVudCwgZXZlbnQuaG92ZXJlZCk7XG4gICAgfVxuICB9LCBbZXZlbnQsIGV2ZW50LmhvdmVyZWRdKTtcblxuICByZXR1cm4gbnVsbDtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEV2ZW50UGF0aDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUNBLElBQUFBLFFBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFdBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLFFBQUEsR0FBQUgsT0FBQTtBQUpBOztBQWtCQSxJQUFNSSxTQUEyQixHQUFHLFNBQTlCQSxTQUEyQkEsQ0FBQUMsSUFBQSxFQUszQjtFQUFBLElBSkpDLEtBQUssR0FBQUQsSUFBQSxDQUFMQyxLQUFLO0lBQ0xDLFdBQVcsR0FBQUYsSUFBQSxDQUFYRSxXQUFXO0lBQUFDLGVBQUEsR0FBQUgsSUFBQSxDQUNYSSxVQUFVO0lBQVZBLFVBQVUsR0FBQUQsZUFBQSxjQUFHLEVBQUUsR0FBQUEsZUFBQTtJQUFBRSxn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
|
|
145
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX3JlYWN0UmVkdXgiLCJfYWN0aW9ucyIsIkV2ZW50UGF0aCIsIl9yZWYiLCJldmVudCIsImdsb2JhbF9kYXRhIiwiX3JlZiRldmVudFBhdGhzIiwiZXZlbnRQYXRocyIsIl9yZWYkcG9pbnRzX2RhdGEiLCJwb2ludHNfZGF0YSIsIm1hcCIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJncm91cFJlZiIsInVzZVJlZiIsInVzZUVmZmVjdCIsImN1cnJlbnQiLCJjbGVhckxheWVycyIsInJlbW92ZUxheWVyIiwiTCIsImZlYXR1cmVHcm91cCIsImFkZFRvIiwiZHJhd1BvbHlsaW5lIiwibGF5ZXJMYXRsbmdzIiwiZXZlbnRQYXRoc0FzTWFwT2JqZWN0cyIsImV2ZW50UGF0aCIsInBvbHlsaW5lIiwiY29sb3IiLCJ3ZWlnaHQiLCJjbGFzc05hbWUiLCJzdHJva2UiLCJwdXNoIiwiaWQiLCJ0YWlsRGFzaCIsIndpbmRvdyIsIlN5bWJvbCIsInVuZGVmaW5lZCIsInBvbHlsaW5lRGVjb3JhdG9yIiwiX2xhdGxuZ3MiLCJwYXR0ZXJucyIsIm9mZnNldCIsInJlcGVhdCIsInN5bWJvbCIsImFycm93SGVhZCIsInBpeGVsU2l6ZSIsInBvbHlnb24iLCJwYXRoT3B0aW9ucyIsIm9wYWNpdHkiLCJob3ZlcmVkIiwic2V0SG92ZXJlZEV2ZW50UGF0aHMiLCJzZXRGb2N1c2VkRXZlbnRQYXRocyIsImJ1aWxkTGF5ZXJMb29rdXAiLCJsYXllcnMiLCJsb29rdXAiLCJwcm9wZXJ0eSIsImxheWVyIiwia2FuZG9fb2JqZWN0X2lkIiwia2FuZG9fb2JqZWN0IiwibGF5ZXJMb29rdXAiLCJ1c2VNZW1vIiwiX2xheWVycyIsInJlbmRlckV2ZW50UGF0aCIsImlzSG92ZXIiLCJwYXRoIiwiZm9yRWFjaCIsImVkZ2VfaWQiLCJnZXRMYXRMbmdzIiwidmFsaWRMYXllcnMiLCJmaWx0ZXIiLCJCb29sZWFuIiwibGVuZ3RoIiwiZml0Qm91bmRzIiwiZ2V0Qm91bmRzIiwicGFkIiwicG9pbnQiLCJmaW5kIiwibGFzdF9vYnNlcnZhdGlvbl9mcm9tX2hpZXJhcmNoeSIsInBvaW50X2lkIiwibGF0aXR1ZGUiLCJsb25naXR1ZGUiLCJzZXRWaWV3IiwiX2RlZmF1bHQiLCJleHBvcnRzIiwiZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9ldmVudHMvRXZlbnRQYXRoLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtaWdub3JlXG5pbXBvcnQgTCBmcm9tICdsZWFmbGV0JztcbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVJlZiB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZURpc3BhdGNoIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHtcbiAgc2V0Rm9jdXNlZEV2ZW50UGF0aHMsXG4gIHNldEhvdmVyZWRFdmVudFBhdGhzLFxufSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL2FjdGlvbnMnO1xuaW1wb3J0IHsgSUV2ZW50IH0gZnJvbSAnc3JjL3N0b3JlL2V2ZW50cy9tb2RlbHMvSUV2ZW50JztcbmltcG9ydCB7IElHbG9iYWxTdGF0ZSB9IGZyb20gJ3NyYy9zdG9yZS9nbG9iYWwvbW9kZWxzL0lHbG9iYWxTdGF0ZSc7XG5cbnR5cGUgSVByb3BzID0ge1xuICBldmVudDogSUV2ZW50O1xuICBnbG9iYWxfZGF0YTogSUdsb2JhbFN0YXRlO1xuICBldmVudFBhdGhzPzogYW55W107XG4gIHBvaW50c19kYXRhPzogYW55W107XG59O1xuXG5jb25zdCBFdmVudFBhdGg6IFJlYWN0LkZDPElQcm9wcz4gPSAoe1xuICBldmVudCxcbiAgZ2xvYmFsX2RhdGEsXG4gIGV2ZW50UGF0aHMgPSBbXSxcbiAgcG9pbnRzX2RhdGEgPSBbXSxcbn0pID0+IHtcbiAgY29uc3QgeyBtYXAgfSA9IGdsb2JhbF9kYXRhO1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IGdyb3VwUmVmID0gdXNlUmVmPEwuRmVhdHVyZUdyb3VwIHwgbnVsbD4obnVsbCk7XG5cbiAgLy8gSW5pdGlhbGl6ZSB0aGUgZ3JvdXAgb25jZVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChtYXApIHtcbiAgICAgIGlmIChncm91cFJlZi5jdXJyZW50KSB7XG4gICAgICAgIGdyb3VwUmVmLmN1cnJlbnQuY2xlYXJMYXllcnMoKTtcbiAgICAgICAgbWFwLnJlbW92ZUxheWVyKGdyb3VwUmVmLmN1cnJlbnQpO1xuICAgICAgfVxuICAgICAgZ3JvdXBSZWYuY3VycmVudCA9IEwuZmVhdHVyZUdyb3VwKCkuYWRkVG8obWFwKTtcbiAgICB9XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlmIChncm91cFJlZi5jdXJyZW50ICYmIG1hcCkge1xuICAgICAgICBncm91cFJlZi5jdXJyZW50LmNsZWFyTGF5ZXJzKCk7XG4gICAgICAgIG1hcC5yZW1vdmVMYXllcihncm91cFJlZi5jdXJyZW50KTtcbiAgICAgICAgZ3JvdXBSZWYuY3VycmVudCA9IG51bGw7XG4gICAgICB9XG4gICAgfTtcbiAgfSwgW2V2ZW50LCBtYXBdKTtcblxuICBjb25zdCBkcmF3UG9seWxpbmUgPSAoXG4gICAgZXZlbnQ6IElFdmVudCxcbiAgICBsYXllckxhdGxuZ3M6IGFueSxcbiAgICBldmVudFBhdGhzQXNNYXBPYmplY3RzOiBhbnksXG4gICkgPT4ge1xuICAgIGlmICghZ3JvdXBSZWYuY3VycmVudCkgcmV0dXJuO1xuXG4gICAgbGV0IGV2ZW50UGF0aCA9IEwucG9seWxpbmUobGF5ZXJMYXRsbmdzLCB7XG4gICAgICBjb2xvcjogJ3JnYigyMzYsMTE5LDE1NiknLFxuICAgICAgd2VpZ2h0OiAxMCxcbiAgICAgIGNsYXNzTmFtZTogJ2V2ZW50LXBhdGgnLFxuICAgICAgc3Ryb2tlOiB0cnVlLFxuICAgIH0pLmFkZFRvKGdyb3VwUmVmLmN1cnJlbnQpO1xuXG4gICAgZXZlbnRQYXRoc0FzTWFwT2JqZWN0cy5wdXNoKGV2ZW50UGF0aCk7XG4gICAgZXZlbnRQYXRoWydrYW5kb19vYmplY3RfaWQnXSA9IGV2ZW50LmlkO1xuICAgIGV2ZW50UGF0aFsna2FuZG9fb2JqZWN0J10gPSAnRXZlbnRQYXRoJztcblxuICAgIGxldCB0YWlsRGFzaDogYW55O1xuICAgIGlmICh3aW5kb3cuTC5TeW1ib2wgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGFpbERhc2ggPSB3aW5kb3cuTC5wb2x5bGluZURlY29yYXRvcihldmVudFBhdGguX2xhdGxuZ3MsIHtcbiAgICAgICAgcGF0dGVybnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBvZmZzZXQ6IDIwLFxuICAgICAgICAgICAgcmVwZWF0OiA2MCxcbiAgICAgICAgICAgIHN5bWJvbDogd2luZG93LkwuU3ltYm9sLmFycm93SGVhZCh7XG4gICAgICAgICAgICAgIHBpeGVsU2l6ZTogMyxcbiAgICAgICAgICAgICAgcG9seWdvbjogZmFsc2UsXG4gICAgICAgICAgICAgIHBhdGhPcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgc3Ryb2tlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGNvbG9yOiAncmdiKDI1NSwyNTUsMjU1KScsXG4gICAgICAgICAgICAgICAgd2VpZ2h0OiAxLFxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSkuYWRkVG8oZ3JvdXBSZWYuY3VycmVudCk7XG4gICAgICB0YWlsRGFzaFsna2FuZG9fb2JqZWN0J10gPSAnQXJyb3cnO1xuICAgICAgaWYgKHRhaWxEYXNoKSBldmVudFBhdGhzQXNNYXBPYmplY3RzLnB1c2godGFpbERhc2gpO1xuICAgICAgLy8gaWYgKHRhaWxEYXNoLmJyaW5nVG9Gcm9udCkgdGFpbERhc2guYnJpbmdUb0Zyb250KCk7XG4gICAgfVxuXG4gICAgLy8gaWYgKGV2ZW50UGF0aC5icmluZ1RvRnJvbnQpIGV2ZW50UGF0aC5icmluZ1RvRnJvbnQoKTtcblxuICAgIGlmIChldmVudC5ob3ZlcmVkKSB7XG4gICAgICBkaXNwYXRjaChzZXRIb3ZlcmVkRXZlbnRQYXRocyhldmVudFBhdGhzQXNNYXBPYmplY3RzKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRpc3BhdGNoKHNldEZvY3VzZWRFdmVudFBhdGhzKGV2ZW50UGF0aHNBc01hcE9iamVjdHMpKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgYnVpbGRMYXllckxvb2t1cCA9IChsYXllcnMpID0+IHtcbiAgICBjb25zdCBsb29rdXAgPSB7fTtcbiAgICBmb3IgKGNvbnN0IHByb3BlcnR5IGluIGxheWVycykge1xuICAgICAgY29uc3QgbGF5ZXIgPSBsYXllcnNbcHJvcGVydHldO1xuICAgICAgaWYgKFxuICAgICAgICBsYXllci5rYW5kb19vYmplY3RfaWQgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICBsYXllci5rYW5kb19vYmplY3QgPT09ICdFZGdlJ1xuICAgICAgKSB7XG4gICAgICAgIGxvb2t1cFtsYXllci5rYW5kb19vYmplY3RfaWRdID0gbGF5ZXI7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBsb29rdXA7XG4gIH07XG5cbiAgLy8gTWVtb2l6ZSB0aGUgbGF5ZXIgbG9va3VwIHNvIGl0IG9ubHkgcmVjYWxjdWxhdGVzIHdoZW4gbWFwLl9sYXllcnMgY2hhbmdlc1xuICBjb25zdCBsYXllckxvb2t1cCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmICghbWFwKSByZXR1cm4ge307XG4gICAgcmV0dXJuIGJ1aWxkTGF5ZXJMb29rdXAobWFwLl9sYXllcnMpO1xuICB9LCBbbWFwLCBtYXA/Ll9sYXllcnNdKTtcblxuICBjb25zdCByZW5kZXJFdmVudFBhdGggPSAoZXZlbnQ6IElFdmVudCwgaXNIb3ZlcjogYm9vbGVhbikgPT4ge1xuICAgIGlmIChtYXAgIT09IHVuZGVmaW5lZCAmJiBncm91cFJlZi5jdXJyZW50KSB7XG4gICAgICBncm91cFJlZi5jdXJyZW50LmNsZWFyTGF5ZXJzKCk7XG4gICAgICBsZXQgZXZlbnRQYXRoc0FzTWFwT2JqZWN0czogYW55W10gPSBbXTtcbiAgICAgIC8vIGNvbnN0IGxheWVycyA9IG1hcC5fbGF5ZXJzO1xuICAgICAgLy8gY29uc3QgbGF5ZXJMb29rdXAgPSBidWlsZExheWVyTG9va3VwKGxheWVycyk7XG5cbiAgICAgIGV2ZW50LnBhdGguZm9yRWFjaCgocGF0aDogYW55KSA9PiB7XG4gICAgICAgIGNvbnN0IGxheWVyID0gbGF5ZXJMb29rdXBbcGF0aC5lZGdlX2lkXTtcbiAgICAgICAgaWYgKGxheWVyKSB7XG4gICAgICAgICAgbGV0IGxheWVyTGF0bG5ncyA9IGxheWVyLmdldExhdExuZ3MoKTtcbiAgICAgICAgICBkcmF3UG9seWxpbmUoZXZlbnQsIGxheWVyTGF0bG5ncywgZXZlbnRQYXRoc0FzTWFwT2JqZWN0cyk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBpZiAoIWlzSG92ZXIpIHtcbiAgICAgICAgY29uc3QgdmFsaWRMYXllcnMgPSBldmVudFBhdGhzQXNNYXBPYmplY3RzLmZpbHRlcihCb29sZWFuKTtcbiAgICAgICAgaWYgKHZhbGlkTGF5ZXJzLmxlbmd0aCAhPT0gMCkge1xuICAgICAgICAgIGlmICh2YWxpZExheWVycy5sZW5ndGggPj0gMikge1xuICAgICAgICAgICAgbWFwLmZpdEJvdW5kcyhcbiAgICAgICAgICAgICAgTC5mZWF0dXJlR3JvdXAoW1xuICAgICAgICAgICAgICAgIHZhbGlkTGF5ZXJzWzBdLFxuICAgICAgICAgICAgICAgIHZhbGlkTGF5ZXJzW3ZhbGlkTGF5ZXJzLmxlbmd0aCAtIDFdLFxuICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICAgIC5nZXRCb3VuZHMoKVxuICAgICAgICAgICAgICAgIC5wYWQoMC4xKSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmIChwb2ludHNfZGF0YS5sZW5ndGggPT09IDApIHJldHVybjtcblxuICAgICAgICAgIGNvbnN0IHBvaW50ID0gcG9pbnRzX2RhdGEuZmluZChcbiAgICAgICAgICAgIChwb2ludCkgPT5cbiAgICAgICAgICAgICAgcG9pbnQuaWQgPT09IGV2ZW50Lmxhc3Rfb2JzZXJ2YXRpb25fZnJvbV9oaWVyYXJjaHkucG9pbnRfaWQsXG4gICAgICAgICAgKTtcbiAgICAgICAgICBpZiAocG9pbnQgJiYgcG9pbnQubGF0aXR1ZGUgJiYgcG9pbnQubG9uZ2l0dWRlKSB7XG4gICAgICAgICAgICBtYXAuc2V0VmlldyhbcG9pbnQubGF0aXR1ZGUsIHBvaW50LmxvbmdpdHVkZV0sIDE0KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoZXZlbnRQYXRocykge1xuICAgICAgLy8gZXZlbnRQYXRocy5mb3JFYWNoKChwYXRoKSA9PiB7XG4gICAgICAvLyAgIG1hcC5yZW1vdmVMYXllcihwYXRoKTtcbiAgICAgIC8vIH0pO1xuXG4gICAgICByZW5kZXJFdmVudFBhdGgoZXZlbnQsIGV2ZW50LmhvdmVyZWQpO1xuICAgIH1cbiAgfSwgW2V2ZW50LCBldmVudC5ob3ZlcmVkXSk7XG5cbiAgcmV0dXJuIG51bGw7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBFdmVudFBhdGg7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFDQSxJQUFBQSxRQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxNQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxXQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxRQUFBLEdBQUFILE9BQUE7QUFKQTs7QUFrQkEsSUFBTUksU0FBMkIsR0FBRyxTQUE5QkEsU0FBMkJBLENBQUFDLElBQUEsRUFLM0I7RUFBQSxJQUpKQyxLQUFLLEdBQUFELElBQUEsQ0FBTEMsS0FB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
|
package/lib/macros/getVersion.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var packageJsonVersion = "1.2.437-alpha.
|
|
3
|
+
var packageJsonVersion = "1.2.437-alpha.13";
|
|
4
4
|
if (typeof packageJsonVersion === 'string') {
|
|
5
5
|
// eslint-disable-next-line no-console
|
|
6
6
|
console.log("%c Kando UI %c v".concat(packageJsonVersion, " "), 'font-size: 15px; background-color: #fff; color: #e20f53;', 'font-weight: bold; font-size: 15px; background-color: #e20f53; color: #fff;', "with NODE_ENV=".concat(process.env.NODE_ENV));
|
|
@@ -203,14 +203,27 @@ var EventsList = function EventsList(_ref) {
|
|
|
203
203
|
map.removeLayer(path);
|
|
204
204
|
});
|
|
205
205
|
}
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
206
|
+
|
|
207
|
+
// let layers = map._layers;
|
|
208
|
+
// for (const property in layers) {
|
|
209
|
+
// const kando_object = layers[property].kando_object;
|
|
210
|
+
// if (
|
|
211
|
+
// kando_object?.includes('EventBody') ||
|
|
212
|
+
// [
|
|
213
|
+
// 'EventTail',
|
|
214
|
+
// 'SamplingPoint',
|
|
215
|
+
// 'Decorator',
|
|
216
|
+
// 'HoveredEdge',
|
|
217
|
+
// 'HoveredEdgeFront',
|
|
218
|
+
// 'FocusedEdge',
|
|
219
|
+
// 'FocusedEdgeFront',
|
|
220
|
+
// ].includes(kando_object)
|
|
221
|
+
// ) {
|
|
222
|
+
// map.removeLayer(layers[property]);
|
|
223
|
+
// }
|
|
224
|
+
// }
|
|
213
225
|
}
|
|
226
|
+
|
|
214
227
|
dispatch((0, _actions.setHoveredEvent)(null));
|
|
215
228
|
dispatch((0, _actions.setHoveredEventPaths)([]));
|
|
216
229
|
dispatch((0, _actions.setHoveredEdgePaths)([]));
|
|
@@ -355,7 +368,7 @@ var EventsList = function EventsList(_ref) {
|
|
|
355
368
|
onClick: function onClick() {
|
|
356
369
|
return applyDefaultFilter();
|
|
357
370
|
}
|
|
358
|
-
}, _i18n.default.t('events_overview.filter.blankslate.button'))), items.length !== 0 && !areas_data.isFetching && !points_data.isFetching && !edges_data.isFetching && /*#__PURE__*/_react.default.createElement("ul", {
|
|
371
|
+
}, _i18n.default.t('events_overview.filter.blankslate.button'))), items.length !== 0 && !areas_data.isFetching && !points_data.isFetching && !edges_data.isFetching && !focusedEvent && /*#__PURE__*/_react.default.createElement("ul", {
|
|
359
372
|
className: "events "
|
|
360
373
|
}, items.map(function (event) {
|
|
361
374
|
return /*#__PURE__*/_react.default.createElement("li", {
|
|
@@ -375,4 +388,4 @@ var EventsList = function EventsList(_ref) {
|
|
|
375
388
|
var connector = (0, _reactRedux.connect)(mapStateToProps);
|
|
376
389
|
var _default = connector(EventsList);
|
|
377
390
|
exports.default = _default;
|
|
378
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZnJlZVNvbGlkU3ZnSWNvbnMiLCJyZXF1aXJlIiwiX3JlYWN0Rm9udGF3ZXNvbWUiLCJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9yZWFjdFJlZHV4IiwiX3JlYWN0Um91dGVyRG9tIiwiX2Fycm93TGVmdCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfZnVubmVsIiwiX25vX2V2ZW50cyIsIl9TZXZlcmVFdmVudCIsIl9VcmxIaXN0b3J5IiwiX2FjdGlvbnMiLCJfYWN0aW9uczIiLCJfaTE4biIsIl9rcWwiLCJfRXZlbnRJbmZvIiwiX01vcmVJbmZvIiwiX0ZpbHRlckNvbnRhaW5lciIsIl9Tb3J0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJtYXBTdGF0ZVRvUHJvcHMiLCJzdGF0ZSIsImV2ZW50c19kYXRhIiwiZ2xvYmFsX2RhdGEiLCJlZGdlc19kYXRhIiwicG9pbnRzX2RhdGEiLCJhcmVhc19kYXRhIiwibmF2X2NvbnRleHRfZGF0YSIsIkV2ZW50c0xpc3QiLCJfcmVmIiwic2lkZW5hdkV4cGFuZGVkIiwiZGlzcGF0Y2giLCJ1c2VEaXNwYXRjaCIsIml0ZW1zIiwiaXNGZXRjaGluZyIsImZvY3VzZWRFdmVudCIsImhvdmVyZWRFdmVudCIsImhvdmVyZWRFdmVudFBhdGhzIiwiaG92ZXJlZEVkZ2VQYXRocyIsIndhdGVyQXV0aG9yaXR5SWQiLCJtYXAiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJmaWx0ZXJQb3B1cE9wZW4iLCJzZXRGaWx0ZXJQb3B1cE9wZW4iLCJfdXNlU3RhdGUzIiwibWVzc2FnZXMiLCJtZXNzYWdlIiwiZXZlbnRfaWQiLCJldmVudF9pZHMiLCJfdXNlU3RhdGU0IiwiZXhjZXB0aW9uQWxlcnQiLCJzZXRFeGNlcHRpb25BbGVydCIsImxhc3RWaXNpdGVkIiwidXNlTGFzdFZpc2l0ZWQiLCJ1c2VRdWVyeSIsIlVSTFNlYXJjaFBhcmFtcyIsInVzZUxvY2F0aW9uIiwic2VhcmNoIiwiaGlzdG9yeSIsInVzZUhpc3RvcnkiLCJxdWVyeSIsImdldEtRTFZhbHVlc0Zyb21VUkwiLCJnZXRFdmVudElkRnJvbVVSTCIsImxvYWRlciIsImxlbmd0aCIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJoYW5kbGVFeHBhbnNpb25Ub2dnbGUiLCJzaWRlTmF2RXhwYW5kZWQiLCJhcHBseURlZmF1bHRGaWx0ZXIiLCJwdXNoIiwiY29uY2F0IiwibmF2Q29udGV4dCIsIm5hbWUiLCJsb2NhbGUiLCJzZXRFdmVudEZpbHRlclBhcmFtIiwidmFsaWRhdGVFdmVudCIsImV2ZW50IiwiaW52YWxpZE9ic2VydmF0aW9uc01lc3NhZ2VzIiwib2JzZXJ2YXRpb25zIiwiZm9yRWFjaCIsIm9ic2VydmF0aW9uIiwicG9pbnRfaXNfcm9vdCIsImVkZ2UiLCJmaW5kIiwic291cmNlX3BvaW50X2lkIiwicG9pbnRfaWQiLCJ1bmRlZmluZWQiLCJwb2ludF9uYW1lIiwiaW5kZXgiLCJmaW5kSW5kZXgiLCJtc2ciLCJpZCIsIl90b0NvbnN1bWFibGVBcnJheTIiLCJGcmFnbWVudCIsImkxOG4iLCJ0IiwiaW52YWxpZFBhdGhNZXNzYWdlcyIsInBhdGgiLCJlZGdlX2lkIiwiY29uc29sZSIsImVycm9yIiwibGFzdF9vYnNlcnZhdGlvbl9pZCIsImxhc3RPYnNlcnZhdGlvblBvaW50IiwiaGFuZGxlRXZlbnRJdGVtQ2xpY2siLCJyZWYiLCJvbk1vdXNlTGVhdmVFdmVudCIsInNldEZvY3VzZWRFdmVudCIsInNldFRpbWVvdXQiLCJldmVudEZpbHRlclBhcmFtIiwib25Nb3VzZUVudGVyRXZlbnQiLCJzZXRIb3ZlcmVkRXZlbnQiLCJyZW1vdmVMYXllciIsImxheWVycyIsIl9sYXllcnMiLCJwcm9wZXJ0eSIsImthbmRvX29iamVjdCIsImluY2x1ZGVzIiwic2V0SG92ZXJlZEV2ZW50UGF0aHMiLCJzZXRIb3ZlcmVkRWRnZVBhdGhzIiwiaXNEYXRhRmV0Y2hlZEFuZEV2ZW50Tm90Rm9jdXNlZCIsInNldEZvY3VzZWRFdmVudElmRm91bmRJblBhcmFtcyIsImUiLCJwYXJzZUludCIsInZhbGlkRXZlbnQiLCJ1c2VNZW1vIiwidG9TdHJpbmciLCJ0cmlnZ2VyU29ydCIsInNvcnQiLCJhY3RpdmVGaWx0ZXIiLCJLUUwiLCJVUkwiLCJidWlsZEtRTFF1ZXJ5IiwiY2FsY0V2ZW50c1JlYWxBbW91bnQiLCJldmVudHNDb3VudCIsImV2ZW50c19jb3VudCIsInVzZUVmZmVjdCIsIl9nZXRFdmVudElkRnJvbVVSTCIsImZldGNoRXZlbnRzIiwibmV3QXJlYXMiLCJtb3JlSW5mbyIsImFjdGl2ZSIsInJlT3BlbkZpbHRlciIsIm9uQ2xpY2siLCJGb250QXdlc29tZUljb24iLCJpY29uIiwiZmFDYXJldExlZnQiLCJmYUNhcmV0UmlnaHQiLCJocmVmIiwiZmFBcnJvd0xlZnQiLCJMaW5rIiwidG8iLCJzcmMiLCJMZWZ0QXJyb3dJY29uIiwiaGVpZ2h0Iiwid2lkdGgiLCJhbHQiLCJldmVudHMiLCJldmVudHNGZXRjaGluZyIsIlJlYWN0Q29tcG9uZW50IiwiZmlsbCIsImZldGNoVHlwZSIsIk5vRXZlbnRzSW1hZ2UiLCJTZXZlcmVFdmVudCIsImhhbmRsZUNsaWNrIiwiY29ubmVjdG9yIiwiY29ubmVjdCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wYWdlcy9FdmVudHNQYWdlL2V2ZW50cy9ldmVudHNfbGlzdC9FdmVudHNMaXN0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBldGMvbm8tY29tbWVudGVkLW91dC1jb2RlICovXG5pbXBvcnQge1xuICBmYUFycm93TGVmdCxcbiAgZmFDYXJldExlZnQsXG4gIGZhQ2FyZXRSaWdodCxcbn0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zJztcbmltcG9ydCB7IEZvbnRBd2Vzb21lSWNvbiB9IGZyb20gJ0Bmb3J0YXdlc29tZS9yZWFjdC1mb250YXdlc29tZSc7XG5pbXBvcnQgUmVhY3QsIHsgUmVmT2JqZWN0LCB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY29ubmVjdCwgQ29ubmVjdGVkUHJvcHMsIHVzZURpc3BhdGNoIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgTGluaywgdXNlSGlzdG9yeSwgdXNlTG9jYXRpb24gfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCBMZWZ0QXJyb3dJY29uIGZyb20gJ3NyYy9hc3NldHMvaWNvbnMvYXJyb3ctbGVmdC5zdmcnO1xuaW1wb3J0IHsgUmVhY3RDb21wb25lbnQgYXMgRmlsdGVySWNvbiB9IGZyb20gJ3NyYy9hc3NldHMvaWNvbnMvZnVubmVsLnN2Zyc7XG5pbXBvcnQgTm9FdmVudHNJbWFnZSBmcm9tICdzcmMvYXNzZXRzL25vX2V2ZW50cy5zdmcnO1xuaW1wb3J0IHsgU2V2ZXJlRXZlbnQgfSBmcm9tICdzcmMvY29tcG9uZW50cy9TZXZlcmVFdmVudC9TZXZlcmVFdmVudCc7XG5pbXBvcnQgeyBJQXBwU3RhdGUgfSBmcm9tICdzcmMvbW9kZWxzL0lBcHBTdGF0ZSc7XG5pbXBvcnQgeyB1c2VMYXN0VmlzaXRlZCB9IGZyb20gJ3NyYy9wcm92aWRlcnMvVXJsSGlzdG9yeSc7XG5pbXBvcnQge1xuICBmZXRjaEV2ZW50cyxcbiAgc2V0Rm9jdXNlZEV2ZW50LFxuICBzZXRIb3ZlcmVkRWRnZVBhdGhzLFxuICBzZXRIb3ZlcmVkRXZlbnQsXG4gIHNldEhvdmVyZWRFdmVudFBhdGhzLFxufSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL2FjdGlvbnMnO1xuaW1wb3J0IHsgSUV2ZW50IH0gZnJvbSAnc3JjL3N0b3JlL2V2ZW50cy9tb2RlbHMvSUV2ZW50JztcbmltcG9ydCB7IHNldEV2ZW50RmlsdGVyUGFyYW0sIHNpZGVOYXZFeHBhbmRlZCB9IGZyb20gJ3NyYy9zdG9yZS9nbG9iYWwvYWN0aW9ucyc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHsgYnVpbGRLUUxRdWVyeSB9IGZyb20gJ3NyYy91dGlsaXRpZXMva3FsJztcbmltcG9ydCAnLi4vRXZlbnRzU3R5bGUuc2Nzcyc7XG5pbXBvcnQgRXZlbnRJbmZvIGZyb20gJy4uL2V2ZW50X2luZm8vRXZlbnRJbmZvJztcbmltcG9ydCBNb3JlSW5mbyBmcm9tICcuLi9Nb3JlSW5mbyc7XG5pbXBvcnQgRmlsdGVyQ29udGFpbmVyIGZyb20gJy4vRmlsdGVyL0ZpbHRlckNvbnRhaW5lcic7XG5pbXBvcnQgU29ydCBmcm9tICcuL1NvcnQnO1xuXG5mdW5jdGlvbiBtYXBTdGF0ZVRvUHJvcHMoc3RhdGU6IElBcHBTdGF0ZSkge1xuICBjb25zdCB7XG4gICAgZXZlbnRzX2RhdGEsXG4gICAgZ2xvYmFsX2RhdGEsXG4gICAgZWRnZXNfZGF0YSxcbiAgICBwb2ludHNfZGF0YSxcbiAgICBhcmVhc19kYXRhLFxuICAgIG5hdl9jb250ZXh0X2RhdGEsXG4gIH0gPSBzdGF0ZTtcblxuICByZXR1cm4ge1xuICAgIGV2ZW50c19kYXRhLFxuICAgIGdsb2JhbF9kYXRhLFxuICAgIGVkZ2VzX2RhdGEsXG4gICAgcG9pbnRzX2RhdGEsXG4gICAgYXJlYXNfZGF0YSxcbiAgICBuYXZfY29udGV4dF9kYXRhLFxuICB9O1xufVxuXG50eXBlIElQcm9wcyA9IENvbm5lY3RlZFByb3BzPHR5cGVvZiBjb25uZWN0b3I+ICYge1xuICBzaWRlbmF2RXhwYW5kZWQ6IGJvb2xlYW47XG59O1xuXG5jb25zdCBFdmVudHNMaXN0OiBSZWFjdC5GQzxJUHJvcHM+ID0gKHtcbiAgYXJlYXNfZGF0YSxcbiAgcG9pbnRzX2RhdGEsXG4gIGVkZ2VzX2RhdGEsXG4gIGdsb2JhbF9kYXRhLFxuICBzaWRlbmF2RXhwYW5kZWQsXG4gIGV2ZW50c19kYXRhLFxuICBuYXZfY29udGV4dF9kYXRhLFxufSkgPT4ge1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IHtcbiAgICBpdGVtcyxcbiAgICBpc0ZldGNoaW5nLFxuICAgIGZvY3VzZWRFdmVudCxcbiAgICBob3ZlcmVkRXZlbnQsXG4gICAgaG92ZXJlZEV2ZW50UGF0aHMsXG4gICAgaG92ZXJlZEVkZ2VQYXRocyxcbiAgfSA9IGV2ZW50c19kYXRhO1xuICBjb25zdCB7IHdhdGVyQXV0aG9yaXR5SWQsIG1hcCB9ID0gZ2xvYmFsX2RhdGE7XG4gIGNvbnN0IFtmaWx0ZXJQb3B1cE9wZW4sIHNldEZpbHRlclBvcHVwT3Blbl0gPSB1c2VTdGF0ZSh0cnVlKTtcbiAgY29uc3QgW2V4Y2VwdGlvbkFsZXJ0LCBzZXRFeGNlcHRpb25BbGVydF0gPSB1c2VTdGF0ZTx7XG4gICAgbWVzc2FnZXM6IHsgbWVzc2FnZTogYW55OyBldmVudF9pZDogbnVtYmVyIH1bXTtcbiAgICBldmVudF9pZHM6IG51bWJlcltdO1xuICB9Pih7IG1lc3NhZ2VzOiBbeyBtZXNzYWdlOiAnJywgZXZlbnRfaWQ6IDAgfV0sIGV2ZW50X2lkczogW10gfSk7XG4gIGNvbnN0IGxhc3RWaXNpdGVkID0gdXNlTGFzdFZpc2l0ZWQoKTtcblxuICBjb25zdCB1c2VRdWVyeSA9ICgpID0+IHtcbiAgICByZXR1cm4gbmV3IFVSTFNlYXJjaFBhcmFtcyh1c2VMb2NhdGlvbigpLnNlYXJjaCk7XG4gIH07XG4gIGNvbnN0IGhpc3RvcnkgPSB1c2VIaXN0b3J5KCk7XG4gIGNvbnN0IHF1ZXJ5ID0gdXNlUXVlcnkoKTtcbiAgY29uc3QgZ2V0S1FMVmFsdWVzRnJvbVVSTCA9ICgpID0+IHtcbiAgICByZXR1cm4gcXVlcnkuZ2V0KCd2YWx1ZXNGcm9tS1FMJyk7XG4gIH07XG4gIGNvbnN0IGdldEV2ZW50SWRGcm9tVVJMID0gKCkgPT4ge1xuICAgIHJldHVybiBxdWVyeS5nZXQoJ2V2ZW50SWQnKTtcbiAgfTtcblxuICBjb25zdCBsb2FkZXIgPSAoKSA9PiB7XG4gICAgaWYgKFxuICAgICAgKGlzRmV0Y2hpbmcgJiYgaXRlbXMubGVuZ3RoID09PSAwKSB8fFxuICAgICAgYXJlYXNfZGF0YS5pc0ZldGNoaW5nIHx8XG4gICAgICBwb2ludHNfZGF0YS5pc0ZldGNoaW5nIHx8XG4gICAgICBlZGdlc19kYXRhLmlzRmV0Y2hpbmdcbiAgICApIHtcbiAgICAgIHJldHVybiA8ZGl2IGNsYXNzTmFtZT17J2xvYWRlcid9PjwvZGl2PjtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGhhbmRsZUV4cGFuc2lvblRvZ2dsZSA9ICgpID0+IHtcbiAgICBkaXNwYXRjaChzaWRlTmF2RXhwYW5kZWQoIXNpZGVuYXZFeHBhbmRlZCkpO1xuICB9O1xuXG4gIGNvbnN0IGFwcGx5RGVmYXVsdEZpbHRlciA9ICgpID0+IHtcbiAgICBoaXN0b3J5LnB1c2goXG4gICAgICBgLyR7bmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0Lm5hbWV9L2luZGV4P3dhdGVyX2F1dGhvcml0eV9pZD0ke2dsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWR9JmxvY2FsZT0ke25hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dC5sb2NhbGV9JnZhbHVlc0Zyb21LUUw9YCxcbiAgICApO1xuICAgIGRpc3BhdGNoKHNldEV2ZW50RmlsdGVyUGFyYW0oJycpKTtcbiAgfTtcblxuICBjb25zdCB2YWxpZGF0ZUV2ZW50ID0gKGV2ZW50OiBJRXZlbnQpID0+IHtcbiAgICAvLyBjaGVjayB0aGF0IGFsbCBvYnNlcnZhdGlvbnMnIGVkZ2VzIGV4aXN0cy4gSWYgdGhleSBhcmUgbm90IGV4aXN0cyBpdCdzIGluZGljYXRlcyB0aGF0IHRoZWlyIHBvaW50cyBhcmVcbiAgICAvLyBub3QgaW4gdGhlIGhpZXJhcmNoeSBvciBkb2Vzbid0IGhhdmUgbGF0L2xuZy5cbiAgICBsZXQgaW52YWxpZE9ic2VydmF0aW9uc01lc3NhZ2VzOiBhbnkgPSBbXTtcbiAgICBldmVudC5vYnNlcnZhdGlvbnMuZm9yRWFjaCgob2JzZXJ2YXRpb246IGFueSkgPT4ge1xuICAgICAgLy8gaWYgb2JzZXJ2YXRpb24gaXMgcm9vdCAoZXguIFdXVFApIHRoZXJlIGlzIG5vIGVkZ2UgdGhhdCBpdHMgYSBzb3VyY2UuIHNvIHdlIGNhbiBza2lwIHRoaXMgY2hlY2tcbiAgICAgIGlmICghb2JzZXJ2YXRpb24ucG9pbnRfaXNfcm9vdCkge1xuICAgICAgICBsZXQgZWRnZSA9IGVkZ2VzX2RhdGEuaXRlbXMuZmluZChcbiAgICAgICAgICAoZWRnZSkgPT4gZWRnZS5zb3VyY2VfcG9pbnRfaWQgPT09IG9ic2VydmF0aW9uLnBvaW50X2lkLFxuICAgICAgICApO1xuICAgICAgICBpZiAoZWRnZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgaW52YWxpZE9ic2VydmF0aW9uc01lc3NhZ2VzLnB1c2goXG4gICAgICAgICAgICBgJHtvYnNlcnZhdGlvbi5wb2ludF9uYW1lfSAoJHtvYnNlcnZhdGlvbi5wb2ludF9pZH0pIGAsXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKGludmFsaWRPYnNlcnZhdGlvbnNNZXNzYWdlcy5sZW5ndGggIT09IDApIHtcbiAgICAgIGxldCBpbmRleCA9IGV4Y2VwdGlvbkFsZXJ0Lm1lc3NhZ2VzLmZpbmRJbmRleChcbiAgICAgICAgKG1zZykgPT4gbXNnLmV2ZW50X2lkID09PSBldmVudC5pZCxcbiAgICAgICk7XG5cbiAgICAgIGlmIChpbmRleCA9PT0gLTEpIHtcbiAgICAgICAgc2V0RXhjZXB0aW9uQWxlcnQoe1xuICAgICAgICAgIG1lc3NhZ2VzOiBbXG4gICAgICAgICAgICAuLi5leGNlcHRpb25BbGVydC5tZXNzYWdlcyxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbWVzc2FnZTogKFxuICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICA8c3Bhbj57aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZXZlbnRfZGF0YV9taXNzaW5nJyl9PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICBldmVudF9pZDogZXZlbnQuaWQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgZXZlbnRfaWRzOiBbLi4uZXhjZXB0aW9uQWxlcnQuZXZlbnRfaWRzLCBldmVudC5pZF0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIC8vIHNhbWUgY2hlY2sgYXMgYWJvdmUgYnV0IHRoaXMgdGltZSBmb3IgdGhlIGV2ZW50IHBhdGguIElmIGVkZ2UgZG9lc24ndCBleGlzdCwgaXQncyBpbmRpY2F0ZXMgdGhhdCBvbmUgb2YgdGhlXG4gICAgLy8gcG9pbnRzIGRvd25zdHJlYW0gZG9lc24ndCBoYXZlIGxhdC9sbmcuXG4gICAgbGV0IGludmFsaWRQYXRoTWVzc2FnZXM6IGFueSA9IFtdO1xuICAgIGV2ZW50LnBhdGguZm9yRWFjaCgocGF0aDogYW55KSA9PiB7XG4gICAgICBsZXQgZWRnZSA9IGVkZ2VzX2RhdGEuaXRlbXMuZmluZCgoZWRnZSkgPT4gZWRnZS5pZCA9PT0gcGF0aC5lZGdlX2lkKTtcbiAgICAgIGlmIChlZGdlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihgZWRnZSAke3BhdGguZWRnZV9pZH0gY2FuIG5vdCBiZSBmb3VuZGApO1xuICAgICAgICBsZXQgb2JzZXJ2YXRpb24gPSBldmVudC5vYnNlcnZhdGlvbnMuZmluZChcbiAgICAgICAgICAob2JzZXJ2YXRpb24pID0+IG9ic2VydmF0aW9uLmlkID09PSBwYXRoLmxhc3Rfb2JzZXJ2YXRpb25faWQsXG4gICAgICAgICk7XG4gICAgICAgIGxldCBsYXN0T2JzZXJ2YXRpb25Qb2ludCA9ICdOb3QgZm91bmQnO1xuICAgICAgICBpZiAob2JzZXJ2YXRpb24pIHtcbiAgICAgICAgICBsYXN0T2JzZXJ2YXRpb25Qb2ludCA9IG9ic2VydmF0aW9uLnBvaW50X25hbWU7XG4gICAgICAgICAgY29uc29sZS5lcnJvcignbGFzdE9ic2VydmF0aW9uUG9pbnQnLCBsYXN0T2JzZXJ2YXRpb25Qb2ludCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBpbnZhbGlkUGF0aE1lc3NhZ2VzLnB1c2goYCR7bGFzdE9ic2VydmF0aW9uUG9pbnR9IGApO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKGludmFsaWRQYXRoTWVzc2FnZXMubGVuZ3RoICE9PSAwKSB7XG4gICAgICBzZXRFeGNlcHRpb25BbGVydCh7XG4gICAgICAgIG1lc3NhZ2VzOiBbXG4gICAgICAgICAgLi4uZXhjZXB0aW9uQWxlcnQubWVzc2FnZXMsXG4gICAgICAgICAge1xuICAgICAgICAgICAgbWVzc2FnZTogKFxuICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgIDxwPntpMThuLnQoJ2V2ZW50c19vdmVydmlldy5ldmVudF92ZXJpZnlfY29vcmRpbmF0ZXMnKX08L3A+XG4gICAgICAgICAgICAgICAgPHNwYW4+e2ludmFsaWRQYXRoTWVzc2FnZXN9PC9zcGFuPlxuICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBldmVudF9pZDogZXZlbnQuaWQsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgZXZlbnRfaWRzOiBbLi4uZXhjZXB0aW9uQWxlcnQuZXZlbnRfaWRzLCBldmVudC5pZF0sXG4gICAgICB9KTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVFdmVudEl0ZW1DbGljayA9IChcbiAgICBldmVudDogSUV2ZW50LFxuICAgIHJlZjogUmVmT2JqZWN0PEhUTUxFbGVtZW50PiB8IG51bGwsXG4gICkgPT4ge1xuICAgIGlmIChyZWYgIT09IG51bGwpIG9uTW91c2VMZWF2ZUV2ZW50KCk7XG4gICAgLy8gaWYgKGhvdmVyZWRFdmVudFBhdGhzICYmIG1hcCkge1xuICAgIC8vICAgICBob3ZlcmVkRXZlbnRQYXRocy5mb3JFYWNoKChwYXRoKSA9PiB7XG4gICAgLy8gICAgICAgICBtYXAucmVtb3ZlTGF5ZXIocGF0aCk7XG4gICAgLy8gICAgIH0pO1xuICAgIC8vIH1cbiAgICAvLyBkaXNwYXRjaChzZXRIb3ZlcmVkRXZlbnRQYXRocyhbXSkpO1xuICAgIC8vIGRpc3BhdGNoKHNldEhvdmVyRXZlbnRJbmRpY2F0b3IobnVsbCkpO1xuICAgIGRpc3BhdGNoKHNldEZvY3VzZWRFdmVudChldmVudCkpO1xuICAgIHNldEZpbHRlclBvcHVwT3BlbihmYWxzZSk7XG4gICAgaWYgKGdldEV2ZW50SWRGcm9tVVJMKCkgPT09IG51bGwgfHwgZ2V0RXZlbnRJZEZyb21VUkwoKSA9PT0gJ251bGwnKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgaGlzdG9yeS5wdXNoKFxuICAgICAgICAgIGAvJHtuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubmFtZX0vaW5kZXg/d2F0ZXJfYXV0aG9yaXR5X2lkPSR7XG4gICAgICAgICAgICBnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkXG4gICAgICAgICAgfSZsb2NhbGU9JHtuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubG9jYWxlfSZldmVudElkPSR7XG4gICAgICAgICAgICBldmVudC5pZFxuICAgICAgICAgIH0mdmFsdWVzRnJvbUtRTD0ke1xuICAgICAgICAgICAgZ2xvYmFsX2RhdGEuZXZlbnRGaWx0ZXJQYXJhbVxuICAgICAgICAgIH0mdmFsaWRFdmVudD0ke3ZhbGlkYXRlRXZlbnQoZXZlbnQpfWAsXG4gICAgICAgICk7XG4gICAgICB9LCA1MDApO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBvbk1vdXNlRW50ZXJFdmVudCA9IChldmVudCkgPT4ge1xuICAgIGlmICghZm9jdXNlZEV2ZW50ICYmICFob3ZlcmVkRXZlbnQgJiYgdmFsaWRhdGVFdmVudChldmVudCkpIHtcbiAgICAgIGRpc3BhdGNoKHNldEhvdmVyZWRFdmVudChldmVudCkpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBvbk1vdXNlTGVhdmVFdmVudCA9ICgpID0+IHtcbiAgICBpZiAoaG92ZXJlZEV2ZW50ICYmIGhvdmVyZWRFdmVudFBhdGhzICYmIG1hcCkge1xuICAgICAgaG92ZXJlZEV2ZW50UGF0aHMuZm9yRWFjaCgocGF0aCkgPT4ge1xuICAgICAgICBtYXAucmVtb3ZlTGF5ZXIocGF0aCk7XG4gICAgICB9KTtcblxuICAgICAgaWYgKGhvdmVyZWRFZGdlUGF0aHMpIHtcbiAgICAgICAgaG92ZXJlZEVkZ2VQYXRocy5mb3JFYWNoKChwYXRoKSA9PiB7XG4gICAgICAgICAgbWFwLnJlbW92ZUxheWVyKHBhdGgpO1xuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgbGV0IGxheWVycyA9IG1hcC5fbGF5ZXJzO1xuICAgICAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBsYXllcnMpIHtcbiAgICAgICAgY29uc3Qga2FuZG9fb2JqZWN0ID0gbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3Q7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBrYW5kb19vYmplY3Q/LmluY2x1ZGVzKCdFdmVudEJvZHknKSB8fFxuICAgICAgICAgIFtcbiAgICAgICAgICAgICdFdmVudFRhaWwnLFxuICAgICAgICAgICAgJ1NhbXBsaW5nUG9pbnQnLFxuICAgICAgICAgICAgJ0RlY29yYXRvcicsXG4gICAgICAgICAgICAnSG92ZXJlZEVkZ2UnLFxuICAgICAgICAgICAgJ0hvdmVyZWRFZGdlRnJvbnQnLFxuICAgICAgICAgICAgJ0ZvY3VzZWRFZGdlJyxcbiAgICAgICAgICAgICdGb2N1c2VkRWRnZUZyb250JyxcbiAgICAgICAgICBdLmluY2x1ZGVzKGthbmRvX29iamVjdClcbiAgICAgICAgKSB7XG4gICAgICAgICAgbWFwLnJlbW92ZUxheWVyKGxheWVyc1twcm9wZXJ0eV0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGRpc3BhdGNoKHNldEhvdmVyZWRFdmVudChudWxsKSk7XG4gICAgZGlzcGF0Y2goc2V0SG92ZXJlZEV2ZW50UGF0aHMoW10pKTtcbiAgICBkaXNwYXRjaChzZXRIb3ZlcmVkRWRnZVBhdGhzKFtdKSk7XG4gIH07XG5cbiAgY29uc3QgaXNEYXRhRmV0Y2hlZEFuZEV2ZW50Tm90Rm9jdXNlZCA9ICgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgKGdldEV2ZW50SWRGcm9tVVJMKCkgPT09ICdudWxsJyB8fCBnZXRFdmVudElkRnJvbVVSTCgpID09PSBudWxsKSAmJlxuICAgICAgZm9jdXNlZEV2ZW50ID09PSBudWxsICYmXG4gICAgICBpdGVtcy5sZW5ndGggIT09IDAgJiZcbiAgICAgICFpc0ZldGNoaW5nICYmXG4gICAgICAhYXJlYXNfZGF0YS5pc0ZldGNoaW5nICYmXG4gICAgICAhcG9pbnRzX2RhdGEuaXNGZXRjaGluZyAmJlxuICAgICAgIWVkZ2VzX2RhdGEuaXNGZXRjaGluZ1xuICAgICk7XG4gIH07XG5cbiAgY29uc3Qgc2V0Rm9jdXNlZEV2ZW50SWZGb3VuZEluUGFyYW1zID0gKCkgPT4ge1xuICAgIGlmIChcbiAgICAgIGdldEV2ZW50SWRGcm9tVVJMKCkgIT09IG51bGwgJiZcbiAgICAgIGdldEV2ZW50SWRGcm9tVVJMKCkgIT09ICdudWxsJyAmJlxuICAgICAgZm9jdXNlZEV2ZW50ID09PSBudWxsICYmXG4gICAgICBpdGVtcy5sZW5ndGggIT09IDAgJiZcbiAgICAgICFpc0ZldGNoaW5nICYmXG4gICAgICAhYXJlYXNfZGF0YS5pc0ZldGNoaW5nICYmXG4gICAgICAhcG9pbnRzX2RhdGEuaXNGZXRjaGluZyAmJlxuICAgICAgIWVkZ2VzX2RhdGEuaXNGZXRjaGluZ1xuICAgICkge1xuICAgICAgbGV0IGV2ZW50ID0gZXZlbnRzX2RhdGEuaXRlbXMuZmluZChcbiAgICAgICAgKGU6IElFdmVudCkgPT4gZS5pZCA9PT0gcGFyc2VJbnQoZ2V0RXZlbnRJZEZyb21VUkwoKSEpLFxuICAgICAgKTtcbiAgICAgIGlmIChldmVudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIGhhbmRsZUV2ZW50SXRlbUNsaWNrKGV2ZW50LCBudWxsKTtcbiAgICAgICAgfSwgNTAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgY29uc3QgdmFsaWRFdmVudCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGxldCBldmVudCA9IGV2ZW50c19kYXRhLml0ZW1zLmZpbmQoXG4gICAgICAoZSkgPT4gZS5pZC50b1N0cmluZygpID09PSBnZXRFdmVudElkRnJvbVVSTCgpLFxuICAgICk7XG5cbiAgICBpZiAoZXZlbnQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHZhbGlkYXRlRXZlbnQoZXZlbnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0sIFtcbiAgICBldmVudHNfZGF0YS5mb2N1c2VkRXZlbnQsXG4gICAgYXJlYXNfZGF0YS5pc0ZldGNoaW5nLFxuICAgIHBvaW50c19kYXRhLmlzRmV0Y2hpbmcsXG4gICAgZWRnZXNfZGF0YS5pc0ZldGNoaW5nLFxuICAgIGV2ZW50c19kYXRhLmlzRmV0Y2hpbmcsXG4gIF0pO1xuXG4gIGNvbnN0IHRyaWdnZXJTb3J0ID0gKHNvcnQ6IG51bWJlcikgPT4ge1xuICAgIGlmIChcbiAgICAgIGdsb2JhbF9kYXRhLmFjdGl2ZUZpbHRlciAhPT0gbnVsbCAmJlxuICAgICAgaXNEYXRhRmV0Y2hlZEFuZEV2ZW50Tm90Rm9jdXNlZCgpXG4gICAgKSB7XG4gICAgICBsZXQgS1FMO1xuICAgICAgbGV0IFVSTDtcbiAgICAgIHN3aXRjaCAoc29ydCkge1xuICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgS1FMID0gYCR7YnVpbGRLUUxRdWVyeShnbG9iYWxfZGF0YS5hY3RpdmVGaWx0ZXIsICduZXdlc3QnKX1gO1xuICAgICAgICAgIFVSTCA9IGAvJHtcbiAgICAgICAgICAgIG5hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dC5uYW1lXG4gICAgICAgICAgfS9pbmRleD93YXRlcl9hdXRob3JpdHlfaWQ9JHtcbiAgICAgICAgICAgIGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWRcbiAgICAgICAgICB9JmV2ZW50SWQ9JHtnZXRFdmVudElkRnJvbVVSTCgpfSZsb2NhbGU9JHtcbiAgICAgICAgICAgIG5hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dC5sb2NhbGVcbiAgICAgICAgICB9JnZhbHVlc0Zyb21LUUw9JHtLUUx9JnZhbGlkRXZlbnQ9JHt2YWxpZEV2ZW50fWA7XG4gICAgICAgICAgaGlzdG9yeS5wdXNoKFVSTCk7XG4gICAgICAgICAgZGlzcGF0Y2goc2V0RXZlbnRGaWx0ZXJQYXJhbShLUUwpKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAyOlxuICAgICAgICAgIEtRTCA9IGAke2J1aWxkS1FMUXVlcnkoZ2xvYmFsX2RhdGEuYWN0aXZlRmlsdGVyLCAnb2xkZXN0Jyl9YDtcbiAgICAgICAgICBVUkwgPSBgLyR7XG4gICAgICAgICAgICBuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubmFtZVxuICAgICAgICAgIH0vaW5kZXg/d2F0ZXJfYXV0aG9yaXR5X2lkPSR7XG4gICAgICAgICAgICBnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkXG4gICAgICAgICAgfSZldmVudElkPSR7Z2V0RXZlbnRJZEZyb21VUkwoKX0mbG9jYWxlPSR7XG4gICAgICAgICAgICBuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubG9jYWxlXG4gICAgICAgICAgfSZ2YWx1ZXNGcm9tS1FMPSR7S1FMfSZ2YWxpZEV2ZW50PSR7dmFsaWRFdmVudH1gO1xuICAgICAgICAgIGhpc3RvcnkucHVzaChVUkwpO1xuICAgICAgICAgIGRpc3BhdGNoKHNldEV2ZW50RmlsdGVyUGFyYW0oS1FMKSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgMzpcbiAgICAgICAgICBLUUwgPSBgJHtidWlsZEtRTFF1ZXJ5KGdsb2JhbF9kYXRhLmFjdGl2ZUZpbHRlciwgJ3NldmVyaXR5Jyl9YDtcbiAgICAgICAgICBVUkwgPSBgLyR7XG4gICAgICAgICAgICBuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubmFtZVxuICAgICAgICAgIH0vaW5kZXg/d2F0ZXJfYXV0aG9yaXR5X2lkPSR7XG4gICAgICAgICAgICBnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkXG4gICAgICAgICAgfSZldmVudElkPSR7Z2V0RXZlbnRJZEZyb21VUkwoKX0mbG9jYWxlPSR7XG4gICAgICAgICAgICBuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubG9jYWxlXG4gICAgICAgICAgfSZ2YWx1ZXNGcm9tS1FMPSR7S1FMfSZ2YWxpZEV2ZW50PSR7dmFsaWRFdmVudH1gO1xuICAgICAgICAgIGhpc3RvcnkucHVzaChVUkwpO1xuICAgICAgICAgIGRpc3BhdGNoKHNldEV2ZW50RmlsdGVyUGFyYW0oS1FMKSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGNhbGNFdmVudHNSZWFsQW1vdW50ID0gKCkgPT4ge1xuICAgIGxldCBldmVudHNDb3VudDogbnVtYmVyIHwgc3RyaW5nID0gMDtcbiAgICBldmVudHNDb3VudCA9IGV2ZW50c19kYXRhLmV2ZW50c19jb3VudDtcbiAgICBpZiAoZXZlbnRzQ291bnQgPiA1MClcbiAgICAgIGV2ZW50c0NvdW50ID0gYCR7aTE4bi50KCdldmVudHNfb3ZlcnZpZXcubW9yZV90aGFuJyl9IDUwYDtcblxuICAgIHJldHVybiBldmVudHNDb3VudDtcbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghZm9jdXNlZEV2ZW50KSB7XG4gICAgICBkaXNwYXRjaChcbiAgICAgICAgZmV0Y2hFdmVudHMoXG4gICAgICAgICAgd2F0ZXJBdXRob3JpdHlJZCxcbiAgICAgICAgICBnZXRLUUxWYWx1ZXNGcm9tVVJMKCkgfHwgJ0RFRkFVTFQnLFxuICAgICAgICAgIGdldEV2ZW50SWRGcm9tVVJMKCk/LnRvU3RyaW5nKCkgfHwgJ251bGwnLFxuICAgICAgICApLFxuICAgICAgKTtcbiAgICB9XG4gIH0sIFtcbiAgICBnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLFxuICAgIGdsb2JhbF9kYXRhLmV2ZW50RmlsdGVyUGFyYW0sXG4gICAgZm9jdXNlZEV2ZW50LFxuICBdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChcbiAgICAgICFldmVudHNfZGF0YS5pc0ZldGNoaW5nICYmXG4gICAgICAhZWRnZXNfZGF0YS5pc0ZldGNoaW5nICYmXG4gICAgICAhcG9pbnRzX2RhdGEuaXNGZXRjaGluZyAmJlxuICAgICAgIWFyZWFzX2RhdGEuaXNGZXRjaGluZyAmJlxuICAgICAgYXJlYXNfZGF0YS5uZXdBcmVhcy5sZW5ndGggIT09IDAgJiZcbiAgICAgIHBvaW50c19kYXRhLml0ZW1zLmxlbmd0aCAhPT0gMCAmJlxuICAgICAgZmlsdGVyUG9wdXBPcGVuXG4gICAgKSB7XG4gICAgICBzZXRGb2N1c2VkRXZlbnRJZkZvdW5kSW5QYXJhbXMoKTtcbiAgICB9XG4gIH0sIFtcbiAgICBldmVudHNfZGF0YS5pc0ZldGNoaW5nLFxuICAgIGVkZ2VzX2RhdGEuaXNGZXRjaGluZyxcbiAgICBwb2ludHNfZGF0YS5pc0ZldGNoaW5nLFxuICAgIHBvaW50c19kYXRhLml0ZW1zLmxlbmd0aCxcbiAgICBhcmVhc19kYXRhLml0ZW1zLmxlbmd0aCxcbiAgICBhcmVhc19kYXRhLmlzRmV0Y2hpbmcsXG4gICAgZ2xvYmFsX2RhdGEuZXZlbnRGaWx0ZXJQYXJhbSxcbiAgICBmaWx0ZXJQb3B1cE9wZW4sXG4gIF0pO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9eydzaWRlbmF2ICcgKyAoc2lkZW5hdkV4cGFuZGVkID8gJycgOiAnc2lkZW5hdi0tY29sbGFwc2VkJyl9PlxuICAgICAge2dsb2JhbF9kYXRhLm1vcmVJbmZvICE9PSB1bmRlZmluZWQgJiYgZ2xvYmFsX2RhdGEubW9yZUluZm8uYWN0aXZlICYmIChcbiAgICAgICAgPE1vcmVJbmZvIC8+XG4gICAgICApfVxuXG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzTmFtZT17XG4gICAgICAgICAgJ2V2ZW50LWluZm8gJyArXG4gICAgICAgICAgKCFob3ZlcmVkRXZlbnQgJiYgZm9jdXNlZEV2ZW50ICE9PSBudWxsXG4gICAgICAgICAgICA/ICcnXG4gICAgICAgICAgICA6ICdldmVudC1pbmZvLS1jb2xsYXBzZWQnKVxuICAgICAgICB9XG4gICAgICA+XG4gICAgICAgIHshaG92ZXJlZEV2ZW50ICYmIGZvY3VzZWRFdmVudCAhPT0gbnVsbCAmJiAoXG4gICAgICAgICAgPEV2ZW50SW5mb1xuICAgICAgICAgICAgZXZlbnQ9e2ZvY3VzZWRFdmVudH1cbiAgICAgICAgICAgIHJlT3BlbkZpbHRlcj17KCkgPT4gc2V0RmlsdGVyUG9wdXBPcGVuKHRydWUpfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3NOYW1lPVwidG9nZ2xlLWV4cGFuc2lvbi1idXR0b25cIlxuICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgaGFuZGxlRXhwYW5zaW9uVG9nZ2xlKCk7XG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibmF2LWV4cGFuc2lvbi1pY29uXCI+XG4gICAgICAgICAgPEZvbnRBd2Vzb21lSWNvblxuICAgICAgICAgICAgaWNvbj17c2lkZW5hdkV4cGFuZGVkID8gZmFDYXJldExlZnQgOiBmYUNhcmV0UmlnaHR9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3NOYW1lPXsndG9nZ2xlLWV4cGFuc2lvbi1idXR0b24tbW9iaWxlJ31cbiAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgIGhhbmRsZUV4cGFuc2lvblRvZ2dsZSgpO1xuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8YSBocmVmPVwiI1wiPlxuICAgICAgICAgIDxGb250QXdlc29tZUljb24gaWNvbj17ZmFBcnJvd0xlZnR9IC8+XG4gICAgICAgICAgPHNwYW4+IHtpMThuLnQoJ2V2ZW50c19vdmVydmlldy5iYWNrX3RvX2RldGFpbHMnKX08L3NwYW4+XG4gICAgICAgIDwvYT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJldmVudHMtaGVhZGVyXCI+XG4gICAgICAgIHtsYXN0VmlzaXRlZCAmJiAhaXNGZXRjaGluZyAmJiAoXG4gICAgICAgICAgPExpbmsgY2xhc3NOYW1lPVwiYmFja1wiIHRvPXtsYXN0VmlzaXRlZH0+XG4gICAgICAgICAgICB7JyAnfVxuICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICBzcmM9e0xlZnRBcnJvd0ljb259XG4gICAgICAgICAgICAgIGhlaWdodD1cIjEwcHhcIlxuICAgICAgICAgICAgICB3aWR0aD1cIjEycHhcIlxuICAgICAgICAgICAgICBhbHQ9XCJiYWNrXCJcbiAgICAgICAgICAgIC8+eycgJ31cbiAgICAgICAgICAgIHtpMThuLnQoJ2FyZWFfc2NyZWVuLmJhY2snKX1cbiAgICAgICAgICA8L0xpbms+XG4gICAgICAgICl9XG4gICAgICAgIDxoND5cbiAgICAgICAgICB7aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZXZlbnRzX2xpc3QnKX1cbiAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9eydldmVudHMtaGVhZGVyX19ldmVudHNfYW1vdW50J30+XG4gICAgICAgICAgICAoe2NhbGNFdmVudHNSZWFsQW1vdW50KCl9KVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9oND5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWx0ZXJpbmdcIj5cbiAgICAgICAgICB7ZXZlbnRzX2RhdGEuaXRlbXMubGVuZ3RoICE9PSAwICYmIChcbiAgICAgICAgICAgIDxTb3J0XG4gICAgICAgICAgICAgIHRyaWdnZXJTb3J0PXt0cmlnZ2VyU29ydH1cbiAgICAgICAgICAgICAgZXZlbnRzPXtldmVudHNfZGF0YS5pdGVtc31cbiAgICAgICAgICAgICAgZXZlbnRzRmV0Y2hpbmc9e2V2ZW50c19kYXRhLmlzRmV0Y2hpbmd9XG4gICAgICAgICAgICAgIGFjdGl2ZUZpbHRlcj17Z2xvYmFsX2RhdGEuYWN0aXZlRmlsdGVyfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaWNvbnNcIj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZmlsdGVyXCJcbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0RmlsdGVyUG9wdXBPcGVuKCFmaWx0ZXJQb3B1cE9wZW4pfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8RmlsdGVySWNvbiB3aWR0aD1cIjE3cHhcIiBoZWlnaHQ9XCIxN3B4XCIgZmlsbD1cIiNmNjAwNGZcIiAvPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIHtwb2ludHNfZGF0YS5pdGVtcy5sZW5ndGggIT09IDAgJiYgIWZvY3VzZWRFdmVudCAmJiAoXG4gICAgICAgICAgPEZpbHRlckNvbnRhaW5lclxuICAgICAgICAgICAgZmlsdGVyUG9wdXBPcGVuPXtmaWx0ZXJQb3B1cE9wZW59XG4gICAgICAgICAgICBmZXRjaFR5cGU9eydFdmVudEZpbHRlcid9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJldmVudHMtY29udGFpbmVyIHNjcm9sbGJhciBcIj5cbiAgICAgICAge2xvYWRlcigpfVxuICAgICAgICB7IWlzRmV0Y2hpbmcgJiZcbiAgICAgICAgICBpdGVtcy5sZW5ndGggPT09IDAgJiZcbiAgICAgICAgICAhcG9pbnRzX2RhdGEuaXNGZXRjaGluZyAmJlxuICAgICAgICAgICFlZGdlc19kYXRhLmlzRmV0Y2hpbmcgJiYgKFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydldmVudHNfX2JsYW5rc2xhdGUnfT5cbiAgICAgICAgICAgICAgPGltZyBzcmM9e05vRXZlbnRzSW1hZ2V9IGFsdD1cIk5vRXZlbnRzSWNvblwiIC8+XG4gICAgICAgICAgICAgIDxoMj57aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZmlsdGVyLmJsYW5rc2xhdGUuaGVhZGVyJyl9PC9oMj5cbiAgICAgICAgICAgICAgPHA+e2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LmZpbHRlci5ibGFua3NsYXRlLmJvZHknKX08L3A+XG4gICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXsnYXBwbHlfZGVmYXVsdF9maWx0ZXJfYnV0dG9uJ31cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBhcHBseURlZmF1bHRGaWx0ZXIoKX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2V2ZW50c19vdmVydmlldy5maWx0ZXIuYmxhbmtzbGF0ZS5idXR0b24nKX1cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKX1cbiAgICAgICAge2l0ZW1zLmxlbmd0aCAhPT0gMCAmJlxuICAgICAgICAgICFhcmVhc19kYXRhLmlzRmV0Y2hpbmcgJiZcbiAgICAgICAgICAhcG9pbnRzX2RhdGEuaXNGZXRjaGluZyAmJlxuICAgICAgICAgICFlZGdlc19kYXRhLmlzRmV0Y2hpbmcgJiYgKFxuICAgICAgICAgICAgPHVsIGNsYXNzTmFtZT1cImV2ZW50cyBcIj5cbiAgICAgICAgICAgICAge2l0ZW1zLm1hcCgoZXZlbnQ6IGFueSkgPT4gKFxuICAgICAgICAgICAgICAgIDxsaSBrZXk9e2V2ZW50LmlkfSBjbGFzc05hbWU9XCJldmVudFwiIGRhdGEtZXZlbnQtaWQ9e2V2ZW50LmlkfT5cbiAgICAgICAgICAgICAgICAgIDxTZXZlcmVFdmVudFxuICAgICAgICAgICAgICAgICAgICBldmVudD17ZXZlbnR9XG4gICAgICAgICAgICAgICAgICAgIGhhbmRsZUNsaWNrPXtoYW5kbGVFdmVudEl0ZW1DbGlja31cbiAgICAgICAgICAgICAgICAgICAgb25Nb3VzZUVudGVyRXZlbnQ9e29uTW91c2VFbnRlckV2ZW50fVxuICAgICAgICAgICAgICAgICAgICBvbk1vdXNlTGVhdmVFdmVudD17b25Nb3VzZUxlYXZlRXZlbnR9XG4gICAgICAgICAgICAgICAgICAgIHZhbGlkYXRlRXZlbnQ9e3ZhbGlkYXRlRXZlbnR9XG4gICAgICAgICAgICAgICAgICAgIGV4Y2VwdGlvbkFsZXJ0PXtleGNlcHRpb25BbGVydH1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICl9XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmNvbnN0IGNvbm5lY3RvciA9IGNvbm5lY3QobWFwU3RhdGVUb1Byb3BzKTtcbmV4cG9ydCBkZWZhdWx0IGNvbm5lY3RvcihFdmVudHNMaXN0KTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUNBLElBQUFBLGtCQUFB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
|
|
391
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZnJlZVNvbGlkU3ZnSWNvbnMiLCJyZXF1aXJlIiwiX3JlYWN0Rm9udGF3ZXNvbWUiLCJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9yZWFjdFJlZHV4IiwiX3JlYWN0Um91dGVyRG9tIiwiX2Fycm93TGVmdCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfZnVubmVsIiwiX25vX2V2ZW50cyIsIl9TZXZlcmVFdmVudCIsIl9VcmxIaXN0b3J5IiwiX2FjdGlvbnMiLCJfYWN0aW9uczIiLCJfaTE4biIsIl9rcWwiLCJfRXZlbnRJbmZvIiwiX01vcmVJbmZvIiwiX0ZpbHRlckNvbnRhaW5lciIsIl9Tb3J0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJtYXBTdGF0ZVRvUHJvcHMiLCJzdGF0ZSIsImV2ZW50c19kYXRhIiwiZ2xvYmFsX2RhdGEiLCJlZGdlc19kYXRhIiwicG9pbnRzX2RhdGEiLCJhcmVhc19kYXRhIiwibmF2X2NvbnRleHRfZGF0YSIsIkV2ZW50c0xpc3QiLCJfcmVmIiwic2lkZW5hdkV4cGFuZGVkIiwiZGlzcGF0Y2giLCJ1c2VEaXNwYXRjaCIsIml0ZW1zIiwiaXNGZXRjaGluZyIsImZvY3VzZWRFdmVudCIsImhvdmVyZWRFdmVudCIsImhvdmVyZWRFdmVudFBhdGhzIiwiaG92ZXJlZEVkZ2VQYXRocyIsIndhdGVyQXV0aG9yaXR5SWQiLCJtYXAiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJmaWx0ZXJQb3B1cE9wZW4iLCJzZXRGaWx0ZXJQb3B1cE9wZW4iLCJfdXNlU3RhdGUzIiwibWVzc2FnZXMiLCJtZXNzYWdlIiwiZXZlbnRfaWQiLCJldmVudF9pZHMiLCJfdXNlU3RhdGU0IiwiZXhjZXB0aW9uQWxlcnQiLCJzZXRFeGNlcHRpb25BbGVydCIsImxhc3RWaXNpdGVkIiwidXNlTGFzdFZpc2l0ZWQiLCJ1c2VRdWVyeSIsIlVSTFNlYXJjaFBhcmFtcyIsInVzZUxvY2F0aW9uIiwic2VhcmNoIiwiaGlzdG9yeSIsInVzZUhpc3RvcnkiLCJxdWVyeSIsImdldEtRTFZhbHVlc0Zyb21VUkwiLCJnZXRFdmVudElkRnJvbVVSTCIsImxvYWRlciIsImxlbmd0aCIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJoYW5kbGVFeHBhbnNpb25Ub2dnbGUiLCJzaWRlTmF2RXhwYW5kZWQiLCJhcHBseURlZmF1bHRGaWx0ZXIiLCJwdXNoIiwiY29uY2F0IiwibmF2Q29udGV4dCIsIm5hbWUiLCJsb2NhbGUiLCJzZXRFdmVudEZpbHRlclBhcmFtIiwidmFsaWRhdGVFdmVudCIsImV2ZW50IiwiaW52YWxpZE9ic2VydmF0aW9uc01lc3NhZ2VzIiwib2JzZXJ2YXRpb25zIiwiZm9yRWFjaCIsIm9ic2VydmF0aW9uIiwicG9pbnRfaXNfcm9vdCIsImVkZ2UiLCJmaW5kIiwic291cmNlX3BvaW50X2lkIiwicG9pbnRfaWQiLCJ1bmRlZmluZWQiLCJwb2ludF9uYW1lIiwiaW5kZXgiLCJmaW5kSW5kZXgiLCJtc2ciLCJpZCIsIl90b0NvbnN1bWFibGVBcnJheTIiLCJGcmFnbWVudCIsImkxOG4iLCJ0IiwiaW52YWxpZFBhdGhNZXNzYWdlcyIsInBhdGgiLCJlZGdlX2lkIiwiY29uc29sZSIsImVycm9yIiwibGFzdF9vYnNlcnZhdGlvbl9pZCIsImxhc3RPYnNlcnZhdGlvblBvaW50IiwiaGFuZGxlRXZlbnRJdGVtQ2xpY2siLCJyZWYiLCJvbk1vdXNlTGVhdmVFdmVudCIsInNldEZvY3VzZWRFdmVudCIsInNldFRpbWVvdXQiLCJldmVudEZpbHRlclBhcmFtIiwib25Nb3VzZUVudGVyRXZlbnQiLCJzZXRIb3ZlcmVkRXZlbnQiLCJyZW1vdmVMYXllciIsInNldEhvdmVyZWRFdmVudFBhdGhzIiwic2V0SG92ZXJlZEVkZ2VQYXRocyIsImlzRGF0YUZldGNoZWRBbmRFdmVudE5vdEZvY3VzZWQiLCJzZXRGb2N1c2VkRXZlbnRJZkZvdW5kSW5QYXJhbXMiLCJlIiwicGFyc2VJbnQiLCJ2YWxpZEV2ZW50IiwidXNlTWVtbyIsInRvU3RyaW5nIiwidHJpZ2dlclNvcnQiLCJzb3J0IiwiYWN0aXZlRmlsdGVyIiwiS1FMIiwiVVJMIiwiYnVpbGRLUUxRdWVyeSIsImNhbGNFdmVudHNSZWFsQW1vdW50IiwiZXZlbnRzQ291bnQiLCJldmVudHNfY291bnQiLCJ1c2VFZmZlY3QiLCJfZ2V0RXZlbnRJZEZyb21VUkwiLCJmZXRjaEV2ZW50cyIsIm5ld0FyZWFzIiwibW9yZUluZm8iLCJhY3RpdmUiLCJyZU9wZW5GaWx0ZXIiLCJvbkNsaWNrIiwiRm9udEF3ZXNvbWVJY29uIiwiaWNvbiIsImZhQ2FyZXRMZWZ0IiwiZmFDYXJldFJpZ2h0IiwiaHJlZiIsImZhQXJyb3dMZWZ0IiwiTGluayIsInRvIiwic3JjIiwiTGVmdEFycm93SWNvbiIsImhlaWdodCIsIndpZHRoIiwiYWx0IiwiZXZlbnRzIiwiZXZlbnRzRmV0Y2hpbmciLCJSZWFjdENvbXBvbmVudCIsImZpbGwiLCJmZXRjaFR5cGUiLCJOb0V2ZW50c0ltYWdlIiwiU2V2ZXJlRXZlbnQiLCJoYW5kbGVDbGljayIsImNvbm5lY3RvciIsImNvbm5lY3QiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcGFnZXMvRXZlbnRzUGFnZS9ldmVudHMvZXZlbnRzX2xpc3QvRXZlbnRzTGlzdC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgZXRjL25vLWNvbW1lbnRlZC1vdXQtY29kZSAqL1xuaW1wb3J0IHtcbiAgZmFBcnJvd0xlZnQsXG4gIGZhQ2FyZXRMZWZ0LFxuICBmYUNhcmV0UmlnaHQsXG59IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XG5pbXBvcnQgeyBGb250QXdlc29tZUljb24gfSBmcm9tICdAZm9ydGF3ZXNvbWUvcmVhY3QtZm9udGF3ZXNvbWUnO1xuaW1wb3J0IFJlYWN0LCB7IFJlZk9iamVjdCwgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNvbm5lY3QsIENvbm5lY3RlZFByb3BzLCB1c2VEaXNwYXRjaCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IExpbmssIHVzZUhpc3RvcnksIHVzZUxvY2F0aW9uIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgTGVmdEFycm93SWNvbiBmcm9tICdzcmMvYXNzZXRzL2ljb25zL2Fycm93LWxlZnQuc3ZnJztcbmltcG9ydCB7IFJlYWN0Q29tcG9uZW50IGFzIEZpbHRlckljb24gfSBmcm9tICdzcmMvYXNzZXRzL2ljb25zL2Z1bm5lbC5zdmcnO1xuaW1wb3J0IE5vRXZlbnRzSW1hZ2UgZnJvbSAnc3JjL2Fzc2V0cy9ub19ldmVudHMuc3ZnJztcbmltcG9ydCB7IFNldmVyZUV2ZW50IH0gZnJvbSAnc3JjL2NvbXBvbmVudHMvU2V2ZXJlRXZlbnQvU2V2ZXJlRXZlbnQnO1xuaW1wb3J0IHsgSUFwcFN0YXRlIH0gZnJvbSAnc3JjL21vZGVscy9JQXBwU3RhdGUnO1xuaW1wb3J0IHsgdXNlTGFzdFZpc2l0ZWQgfSBmcm9tICdzcmMvcHJvdmlkZXJzL1VybEhpc3RvcnknO1xuaW1wb3J0IHtcbiAgZmV0Y2hFdmVudHMsXG4gIHNldEZvY3VzZWRFdmVudCxcbiAgc2V0SG92ZXJlZEVkZ2VQYXRocyxcbiAgc2V0SG92ZXJlZEV2ZW50LFxuICBzZXRIb3ZlcmVkRXZlbnRQYXRocyxcbn0gZnJvbSAnc3JjL3N0b3JlL2V2ZW50cy9hY3Rpb25zJztcbmltcG9ydCB7IElFdmVudCB9IGZyb20gJ3NyYy9zdG9yZS9ldmVudHMvbW9kZWxzL0lFdmVudCc7XG5pbXBvcnQgeyBzZXRFdmVudEZpbHRlclBhcmFtLCBzaWRlTmF2RXhwYW5kZWQgfSBmcm9tICdzcmMvc3RvcmUvZ2xvYmFsL2FjdGlvbnMnO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCB7IGJ1aWxkS1FMUXVlcnkgfSBmcm9tICdzcmMvdXRpbGl0aWVzL2txbCc7XG5pbXBvcnQgJy4uL0V2ZW50c1N0eWxlLnNjc3MnO1xuaW1wb3J0IEV2ZW50SW5mbyBmcm9tICcuLi9ldmVudF9pbmZvL0V2ZW50SW5mbyc7XG5pbXBvcnQgTW9yZUluZm8gZnJvbSAnLi4vTW9yZUluZm8nO1xuaW1wb3J0IEZpbHRlckNvbnRhaW5lciBmcm9tICcuL0ZpbHRlci9GaWx0ZXJDb250YWluZXInO1xuaW1wb3J0IFNvcnQgZnJvbSAnLi9Tb3J0JztcblxuZnVuY3Rpb24gbWFwU3RhdGVUb1Byb3BzKHN0YXRlOiBJQXBwU3RhdGUpIHtcbiAgY29uc3Qge1xuICAgIGV2ZW50c19kYXRhLFxuICAgIGdsb2JhbF9kYXRhLFxuICAgIGVkZ2VzX2RhdGEsXG4gICAgcG9pbnRzX2RhdGEsXG4gICAgYXJlYXNfZGF0YSxcbiAgICBuYXZfY29udGV4dF9kYXRhLFxuICB9ID0gc3RhdGU7XG5cbiAgcmV0dXJuIHtcbiAgICBldmVudHNfZGF0YSxcbiAgICBnbG9iYWxfZGF0YSxcbiAgICBlZGdlc19kYXRhLFxuICAgIHBvaW50c19kYXRhLFxuICAgIGFyZWFzX2RhdGEsXG4gICAgbmF2X2NvbnRleHRfZGF0YSxcbiAgfTtcbn1cblxudHlwZSBJUHJvcHMgPSBDb25uZWN0ZWRQcm9wczx0eXBlb2YgY29ubmVjdG9yPiAmIHtcbiAgc2lkZW5hdkV4cGFuZGVkOiBib29sZWFuO1xufTtcblxuY29uc3QgRXZlbnRzTGlzdDogUmVhY3QuRkM8SVByb3BzPiA9ICh7XG4gIGFyZWFzX2RhdGEsXG4gIHBvaW50c19kYXRhLFxuICBlZGdlc19kYXRhLFxuICBnbG9iYWxfZGF0YSxcbiAgc2lkZW5hdkV4cGFuZGVkLFxuICBldmVudHNfZGF0YSxcbiAgbmF2X2NvbnRleHRfZGF0YSxcbn0pID0+IHtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCB7XG4gICAgaXRlbXMsXG4gICAgaXNGZXRjaGluZyxcbiAgICBmb2N1c2VkRXZlbnQsXG4gICAgaG92ZXJlZEV2ZW50LFxuICAgIGhvdmVyZWRFdmVudFBhdGhzLFxuICAgIGhvdmVyZWRFZGdlUGF0aHMsXG4gIH0gPSBldmVudHNfZGF0YTtcbiAgY29uc3QgeyB3YXRlckF1dGhvcml0eUlkLCBtYXAgfSA9IGdsb2JhbF9kYXRhO1xuICBjb25zdCBbZmlsdGVyUG9wdXBPcGVuLCBzZXRGaWx0ZXJQb3B1cE9wZW5dID0gdXNlU3RhdGUodHJ1ZSk7XG4gIGNvbnN0IFtleGNlcHRpb25BbGVydCwgc2V0RXhjZXB0aW9uQWxlcnRdID0gdXNlU3RhdGU8e1xuICAgIG1lc3NhZ2VzOiB7IG1lc3NhZ2U6IGFueTsgZXZlbnRfaWQ6IG51bWJlciB9W107XG4gICAgZXZlbnRfaWRzOiBudW1iZXJbXTtcbiAgfT4oeyBtZXNzYWdlczogW3sgbWVzc2FnZTogJycsIGV2ZW50X2lkOiAwIH1dLCBldmVudF9pZHM6IFtdIH0pO1xuICBjb25zdCBsYXN0VmlzaXRlZCA9IHVzZUxhc3RWaXNpdGVkKCk7XG5cbiAgY29uc3QgdXNlUXVlcnkgPSAoKSA9PiB7XG4gICAgcmV0dXJuIG5ldyBVUkxTZWFyY2hQYXJhbXModXNlTG9jYXRpb24oKS5zZWFyY2gpO1xuICB9O1xuICBjb25zdCBoaXN0b3J5ID0gdXNlSGlzdG9yeSgpO1xuICBjb25zdCBxdWVyeSA9IHVzZVF1ZXJ5KCk7XG4gIGNvbnN0IGdldEtRTFZhbHVlc0Zyb21VUkwgPSAoKSA9PiB7XG4gICAgcmV0dXJuIHF1ZXJ5LmdldCgndmFsdWVzRnJvbUtRTCcpO1xuICB9O1xuICBjb25zdCBnZXRFdmVudElkRnJvbVVSTCA9ICgpID0+IHtcbiAgICByZXR1cm4gcXVlcnkuZ2V0KCdldmVudElkJyk7XG4gIH07XG5cbiAgY29uc3QgbG9hZGVyID0gKCkgPT4ge1xuICAgIGlmIChcbiAgICAgIChpc0ZldGNoaW5nICYmIGl0ZW1zLmxlbmd0aCA9PT0gMCkgfHxcbiAgICAgIGFyZWFzX2RhdGEuaXNGZXRjaGluZyB8fFxuICAgICAgcG9pbnRzX2RhdGEuaXNGZXRjaGluZyB8fFxuICAgICAgZWRnZXNfZGF0YS5pc0ZldGNoaW5nXG4gICAgKSB7XG4gICAgICByZXR1cm4gPGRpdiBjbGFzc05hbWU9eydsb2FkZXInfT48L2Rpdj47XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBoYW5kbGVFeHBhbnNpb25Ub2dnbGUgPSAoKSA9PiB7XG4gICAgZGlzcGF0Y2goc2lkZU5hdkV4cGFuZGVkKCFzaWRlbmF2RXhwYW5kZWQpKTtcbiAgfTtcblxuICBjb25zdCBhcHBseURlZmF1bHRGaWx0ZXIgPSAoKSA9PiB7XG4gICAgaGlzdG9yeS5wdXNoKFxuICAgICAgYC8ke25hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dC5uYW1lfS9pbmRleD93YXRlcl9hdXRob3JpdHlfaWQ9JHtnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkfSZsb2NhbGU9JHtuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubG9jYWxlfSZ2YWx1ZXNGcm9tS1FMPWAsXG4gICAgKTtcbiAgICBkaXNwYXRjaChzZXRFdmVudEZpbHRlclBhcmFtKCcnKSk7XG4gIH07XG5cbiAgY29uc3QgdmFsaWRhdGVFdmVudCA9IChldmVudDogSUV2ZW50KSA9PiB7XG4gICAgLy8gY2hlY2sgdGhhdCBhbGwgb2JzZXJ2YXRpb25zJyBlZGdlcyBleGlzdHMuIElmIHRoZXkgYXJlIG5vdCBleGlzdHMgaXQncyBpbmRpY2F0ZXMgdGhhdCB0aGVpciBwb2ludHMgYXJlXG4gICAgLy8gbm90IGluIHRoZSBoaWVyYXJjaHkgb3IgZG9lc24ndCBoYXZlIGxhdC9sbmcuXG4gICAgbGV0IGludmFsaWRPYnNlcnZhdGlvbnNNZXNzYWdlczogYW55ID0gW107XG4gICAgZXZlbnQub2JzZXJ2YXRpb25zLmZvckVhY2goKG9ic2VydmF0aW9uOiBhbnkpID0+IHtcbiAgICAgIC8vIGlmIG9ic2VydmF0aW9uIGlzIHJvb3QgKGV4LiBXV1RQKSB0aGVyZSBpcyBubyBlZGdlIHRoYXQgaXRzIGEgc291cmNlLiBzbyB3ZSBjYW4gc2tpcCB0aGlzIGNoZWNrXG4gICAgICBpZiAoIW9ic2VydmF0aW9uLnBvaW50X2lzX3Jvb3QpIHtcbiAgICAgICAgbGV0IGVkZ2UgPSBlZGdlc19kYXRhLml0ZW1zLmZpbmQoXG4gICAgICAgICAgKGVkZ2UpID0+IGVkZ2Uuc291cmNlX3BvaW50X2lkID09PSBvYnNlcnZhdGlvbi5wb2ludF9pZCxcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKGVkZ2UgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGludmFsaWRPYnNlcnZhdGlvbnNNZXNzYWdlcy5wdXNoKFxuICAgICAgICAgICAgYCR7b2JzZXJ2YXRpb24ucG9pbnRfbmFtZX0gKCR7b2JzZXJ2YXRpb24ucG9pbnRfaWR9KSBgLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChpbnZhbGlkT2JzZXJ2YXRpb25zTWVzc2FnZXMubGVuZ3RoICE9PSAwKSB7XG4gICAgICBsZXQgaW5kZXggPSBleGNlcHRpb25BbGVydC5tZXNzYWdlcy5maW5kSW5kZXgoXG4gICAgICAgIChtc2cpID0+IG1zZy5ldmVudF9pZCA9PT0gZXZlbnQuaWQsXG4gICAgICApO1xuXG4gICAgICBpZiAoaW5kZXggPT09IC0xKSB7XG4gICAgICAgIHNldEV4Y2VwdGlvbkFsZXJ0KHtcbiAgICAgICAgICBtZXNzYWdlczogW1xuICAgICAgICAgICAgLi4uZXhjZXB0aW9uQWxlcnQubWVzc2FnZXMsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG1lc3NhZ2U6IChcbiAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgPHNwYW4+e2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LmV2ZW50X2RhdGFfbWlzc2luZycpfTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgZXZlbnRfaWQ6IGV2ZW50LmlkLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIGV2ZW50X2lkczogWy4uLmV4Y2VwdGlvbkFsZXJ0LmV2ZW50X2lkcywgZXZlbnQuaWRdLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvLyBzYW1lIGNoZWNrIGFzIGFib3ZlIGJ1dCB0aGlzIHRpbWUgZm9yIHRoZSBldmVudCBwYXRoLiBJZiBlZGdlIGRvZXNuJ3QgZXhpc3QsIGl0J3MgaW5kaWNhdGVzIHRoYXQgb25lIG9mIHRoZVxuICAgIC8vIHBvaW50cyBkb3duc3RyZWFtIGRvZXNuJ3QgaGF2ZSBsYXQvbG5nLlxuICAgIGxldCBpbnZhbGlkUGF0aE1lc3NhZ2VzOiBhbnkgPSBbXTtcbiAgICBldmVudC5wYXRoLmZvckVhY2goKHBhdGg6IGFueSkgPT4ge1xuICAgICAgbGV0IGVkZ2UgPSBlZGdlc19kYXRhLml0ZW1zLmZpbmQoKGVkZ2UpID0+IGVkZ2UuaWQgPT09IHBhdGguZWRnZV9pZCk7XG4gICAgICBpZiAoZWRnZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoYGVkZ2UgJHtwYXRoLmVkZ2VfaWR9IGNhbiBub3QgYmUgZm91bmRgKTtcbiAgICAgICAgbGV0IG9ic2VydmF0aW9uID0gZXZlbnQub2JzZXJ2YXRpb25zLmZpbmQoXG4gICAgICAgICAgKG9ic2VydmF0aW9uKSA9PiBvYnNlcnZhdGlvbi5pZCA9PT0gcGF0aC5sYXN0X29ic2VydmF0aW9uX2lkLFxuICAgICAgICApO1xuICAgICAgICBsZXQgbGFzdE9ic2VydmF0aW9uUG9pbnQgPSAnTm90IGZvdW5kJztcbiAgICAgICAgaWYgKG9ic2VydmF0aW9uKSB7XG4gICAgICAgICAgbGFzdE9ic2VydmF0aW9uUG9pbnQgPSBvYnNlcnZhdGlvbi5wb2ludF9uYW1lO1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ2xhc3RPYnNlcnZhdGlvblBvaW50JywgbGFzdE9ic2VydmF0aW9uUG9pbnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gaW52YWxpZFBhdGhNZXNzYWdlcy5wdXNoKGAke2xhc3RPYnNlcnZhdGlvblBvaW50fSBgKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChpbnZhbGlkUGF0aE1lc3NhZ2VzLmxlbmd0aCAhPT0gMCkge1xuICAgICAgc2V0RXhjZXB0aW9uQWxlcnQoe1xuICAgICAgICBtZXNzYWdlczogW1xuICAgICAgICAgIC4uLmV4Y2VwdGlvbkFsZXJ0Lm1lc3NhZ2VzLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG1lc3NhZ2U6IChcbiAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICA8cD57aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZXZlbnRfdmVyaWZ5X2Nvb3JkaW5hdGVzJyl9PC9wPlxuICAgICAgICAgICAgICAgIDxzcGFuPntpbnZhbGlkUGF0aE1lc3NhZ2VzfTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgZXZlbnRfaWQ6IGV2ZW50LmlkLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIGV2ZW50X2lkczogWy4uLmV4Y2VwdGlvbkFsZXJ0LmV2ZW50X2lkcywgZXZlbnQuaWRdLFxuICAgICAgfSk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlRXZlbnRJdGVtQ2xpY2sgPSAoXG4gICAgZXZlbnQ6IElFdmVudCxcbiAgICByZWY6IFJlZk9iamVjdDxIVE1MRWxlbWVudD4gfCBudWxsLFxuICApID0+IHtcbiAgICBpZiAocmVmICE9PSBudWxsKSBvbk1vdXNlTGVhdmVFdmVudCgpO1xuICAgIC8vIGlmIChob3ZlcmVkRXZlbnRQYXRocyAmJiBtYXApIHtcbiAgICAvLyAgICAgaG92ZXJlZEV2ZW50UGF0aHMuZm9yRWFjaCgocGF0aCkgPT4ge1xuICAgIC8vICAgICAgICAgbWFwLnJlbW92ZUxheWVyKHBhdGgpO1xuICAgIC8vICAgICB9KTtcbiAgICAvLyB9XG4gICAgLy8gZGlzcGF0Y2goc2V0SG92ZXJlZEV2ZW50UGF0aHMoW10pKTtcbiAgICAvLyBkaXNwYXRjaChzZXRIb3ZlckV2ZW50SW5kaWNhdG9yKG51bGwpKTtcbiAgICBkaXNwYXRjaChzZXRGb2N1c2VkRXZlbnQoZXZlbnQpKTtcbiAgICBzZXRGaWx0ZXJQb3B1cE9wZW4oZmFsc2UpO1xuICAgIGlmIChnZXRFdmVudElkRnJvbVVSTCgpID09PSBudWxsIHx8IGdldEV2ZW50SWRGcm9tVVJMKCkgPT09ICdudWxsJykge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGhpc3RvcnkucHVzaChcbiAgICAgICAgICBgLyR7bmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0Lm5hbWV9L2luZGV4P3dhdGVyX2F1dGhvcml0eV9pZD0ke1xuICAgICAgICAgICAgZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZFxuICAgICAgICAgIH0mbG9jYWxlPSR7bmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0LmxvY2FsZX0mZXZlbnRJZD0ke1xuICAgICAgICAgICAgZXZlbnQuaWRcbiAgICAgICAgICB9JnZhbHVlc0Zyb21LUUw9JHtcbiAgICAgICAgICAgIGdsb2JhbF9kYXRhLmV2ZW50RmlsdGVyUGFyYW1cbiAgICAgICAgICB9JnZhbGlkRXZlbnQ9JHt2YWxpZGF0ZUV2ZW50KGV2ZW50KX1gLFxuICAgICAgICApO1xuICAgICAgfSwgNTAwKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3Qgb25Nb3VzZUVudGVyRXZlbnQgPSAoZXZlbnQpID0+IHtcbiAgICBpZiAoIWZvY3VzZWRFdmVudCAmJiAhaG92ZXJlZEV2ZW50ICYmIHZhbGlkYXRlRXZlbnQoZXZlbnQpKSB7XG4gICAgICBkaXNwYXRjaChzZXRIb3ZlcmVkRXZlbnQoZXZlbnQpKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3Qgb25Nb3VzZUxlYXZlRXZlbnQgPSAoKSA9PiB7XG4gICAgaWYgKGhvdmVyZWRFdmVudCAmJiBob3ZlcmVkRXZlbnRQYXRocyAmJiBtYXApIHtcbiAgICAgIGhvdmVyZWRFdmVudFBhdGhzLmZvckVhY2goKHBhdGgpID0+IHtcbiAgICAgICAgbWFwLnJlbW92ZUxheWVyKHBhdGgpO1xuICAgICAgfSk7XG5cbiAgICAgIGlmIChob3ZlcmVkRWRnZVBhdGhzKSB7XG4gICAgICAgIGhvdmVyZWRFZGdlUGF0aHMuZm9yRWFjaCgocGF0aCkgPT4ge1xuICAgICAgICAgIG1hcC5yZW1vdmVMYXllcihwYXRoKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIC8vIGxldCBsYXllcnMgPSBtYXAuX2xheWVycztcbiAgICAgIC8vIGZvciAoY29uc3QgcHJvcGVydHkgaW4gbGF5ZXJzKSB7XG4gICAgICAvLyAgIGNvbnN0IGthbmRvX29iamVjdCA9IGxheWVyc1twcm9wZXJ0eV0ua2FuZG9fb2JqZWN0O1xuICAgICAgLy8gICBpZiAoXG4gICAgICAvLyAgICAga2FuZG9fb2JqZWN0Py5pbmNsdWRlcygnRXZlbnRCb2R5JykgfHxcbiAgICAgIC8vICAgICBbXG4gICAgICAvLyAgICAgICAnRXZlbnRUYWlsJyxcbiAgICAgIC8vICAgICAgICdTYW1wbGluZ1BvaW50JyxcbiAgICAgIC8vICAgICAgICdEZWNvcmF0b3InLFxuICAgICAgLy8gICAgICAgJ0hvdmVyZWRFZGdlJyxcbiAgICAgIC8vICAgICAgICdIb3ZlcmVkRWRnZUZyb250JyxcbiAgICAgIC8vICAgICAgICdGb2N1c2VkRWRnZScsXG4gICAgICAvLyAgICAgICAnRm9jdXNlZEVkZ2VGcm9udCcsXG4gICAgICAvLyAgICAgXS5pbmNsdWRlcyhrYW5kb19vYmplY3QpXG4gICAgICAvLyAgICkge1xuICAgICAgLy8gICAgIG1hcC5yZW1vdmVMYXllcihsYXllcnNbcHJvcGVydHldKTtcbiAgICAgIC8vICAgfVxuICAgICAgLy8gfVxuICAgIH1cbiAgICBkaXNwYXRjaChzZXRIb3ZlcmVkRXZlbnQobnVsbCkpO1xuICAgIGRpc3BhdGNoKHNldEhvdmVyZWRFdmVudFBhdGhzKFtdKSk7XG4gICAgZGlzcGF0Y2goc2V0SG92ZXJlZEVkZ2VQYXRocyhbXSkpO1xuICB9O1xuXG4gIGNvbnN0IGlzRGF0YUZldGNoZWRBbmRFdmVudE5vdEZvY3VzZWQgPSAoKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIChnZXRFdmVudElkRnJvbVVSTCgpID09PSAnbnVsbCcgfHwgZ2V0RXZlbnRJZEZyb21VUkwoKSA9PT0gbnVsbCkgJiZcbiAgICAgIGZvY3VzZWRFdmVudCA9PT0gbnVsbCAmJlxuICAgICAgaXRlbXMubGVuZ3RoICE9PSAwICYmXG4gICAgICAhaXNGZXRjaGluZyAmJlxuICAgICAgIWFyZWFzX2RhdGEuaXNGZXRjaGluZyAmJlxuICAgICAgIXBvaW50c19kYXRhLmlzRmV0Y2hpbmcgJiZcbiAgICAgICFlZGdlc19kYXRhLmlzRmV0Y2hpbmdcbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IHNldEZvY3VzZWRFdmVudElmRm91bmRJblBhcmFtcyA9ICgpID0+IHtcbiAgICBpZiAoXG4gICAgICBnZXRFdmVudElkRnJvbVVSTCgpICE9PSBudWxsICYmXG4gICAgICBnZXRFdmVudElkRnJvbVVSTCgpICE9PSAnbnVsbCcgJiZcbiAgICAgIGZvY3VzZWRFdmVudCA9PT0gbnVsbCAmJlxuICAgICAgaXRlbXMubGVuZ3RoICE9PSAwICYmXG4gICAgICAhaXNGZXRjaGluZyAmJlxuICAgICAgIWFyZWFzX2RhdGEuaXNGZXRjaGluZyAmJlxuICAgICAgIXBvaW50c19kYXRhLmlzRmV0Y2hpbmcgJiZcbiAgICAgICFlZGdlc19kYXRhLmlzRmV0Y2hpbmdcbiAgICApIHtcbiAgICAgIGxldCBldmVudCA9IGV2ZW50c19kYXRhLml0ZW1zLmZpbmQoXG4gICAgICAgIChlOiBJRXZlbnQpID0+IGUuaWQgPT09IHBhcnNlSW50KGdldEV2ZW50SWRGcm9tVVJMKCkhKSxcbiAgICAgICk7XG4gICAgICBpZiAoZXZlbnQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICBoYW5kbGVFdmVudEl0ZW1DbGljayhldmVudCwgbnVsbCk7XG4gICAgICAgIH0sIDUwMCk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IHZhbGlkRXZlbnQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBsZXQgZXZlbnQgPSBldmVudHNfZGF0YS5pdGVtcy5maW5kKFxuICAgICAgKGUpID0+IGUuaWQudG9TdHJpbmcoKSA9PT0gZ2V0RXZlbnRJZEZyb21VUkwoKSxcbiAgICApO1xuXG4gICAgaWYgKGV2ZW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiB2YWxpZGF0ZUV2ZW50KGV2ZW50KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9LCBbXG4gICAgZXZlbnRzX2RhdGEuZm9jdXNlZEV2ZW50LFxuICAgIGFyZWFzX2RhdGEuaXNGZXRjaGluZyxcbiAgICBwb2ludHNfZGF0YS5pc0ZldGNoaW5nLFxuICAgIGVkZ2VzX2RhdGEuaXNGZXRjaGluZyxcbiAgICBldmVudHNfZGF0YS5pc0ZldGNoaW5nLFxuICBdKTtcblxuICBjb25zdCB0cmlnZ2VyU29ydCA9IChzb3J0OiBudW1iZXIpID0+IHtcbiAgICBpZiAoXG4gICAgICBnbG9iYWxfZGF0YS5hY3RpdmVGaWx0ZXIgIT09IG51bGwgJiZcbiAgICAgIGlzRGF0YUZldGNoZWRBbmRFdmVudE5vdEZvY3VzZWQoKVxuICAgICkge1xuICAgICAgbGV0IEtRTDtcbiAgICAgIGxldCBVUkw7XG4gICAgICBzd2l0Y2ggKHNvcnQpIHtcbiAgICAgICAgY2FzZSAxOlxuICAgICAgICAgIEtRTCA9IGAke2J1aWxkS1FMUXVlcnkoZ2xvYmFsX2RhdGEuYWN0aXZlRmlsdGVyLCAnbmV3ZXN0Jyl9YDtcbiAgICAgICAgICBVUkwgPSBgLyR7XG4gICAgICAgICAgICBuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubmFtZVxuICAgICAgICAgIH0vaW5kZXg/d2F0ZXJfYXV0aG9yaXR5X2lkPSR7XG4gICAgICAgICAgICBnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkXG4gICAgICAgICAgfSZldmVudElkPSR7Z2V0RXZlbnRJZEZyb21VUkwoKX0mbG9jYWxlPSR7XG4gICAgICAgICAgICBuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubG9jYWxlXG4gICAgICAgICAgfSZ2YWx1ZXNGcm9tS1FMPSR7S1FMfSZ2YWxpZEV2ZW50PSR7dmFsaWRFdmVudH1gO1xuICAgICAgICAgIGhpc3RvcnkucHVzaChVUkwpO1xuICAgICAgICAgIGRpc3BhdGNoKHNldEV2ZW50RmlsdGVyUGFyYW0oS1FMKSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgMjpcbiAgICAgICAgICBLUUwgPSBgJHtidWlsZEtRTFF1ZXJ5KGdsb2JhbF9kYXRhLmFjdGl2ZUZpbHRlciwgJ29sZGVzdCcpfWA7XG4gICAgICAgICAgVVJMID0gYC8ke1xuICAgICAgICAgICAgbmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0Lm5hbWVcbiAgICAgICAgICB9L2luZGV4P3dhdGVyX2F1dGhvcml0eV9pZD0ke1xuICAgICAgICAgICAgZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZFxuICAgICAgICAgIH0mZXZlbnRJZD0ke2dldEV2ZW50SWRGcm9tVVJMKCl9JmxvY2FsZT0ke1xuICAgICAgICAgICAgbmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0LmxvY2FsZVxuICAgICAgICAgIH0mdmFsdWVzRnJvbUtRTD0ke0tRTH0mdmFsaWRFdmVudD0ke3ZhbGlkRXZlbnR9YDtcbiAgICAgICAgICBoaXN0b3J5LnB1c2goVVJMKTtcbiAgICAgICAgICBkaXNwYXRjaChzZXRFdmVudEZpbHRlclBhcmFtKEtRTCkpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIDM6XG4gICAgICAgICAgS1FMID0gYCR7YnVpbGRLUUxRdWVyeShnbG9iYWxfZGF0YS5hY3RpdmVGaWx0ZXIsICdzZXZlcml0eScpfWA7XG4gICAgICAgICAgVVJMID0gYC8ke1xuICAgICAgICAgICAgbmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0Lm5hbWVcbiAgICAgICAgICB9L2luZGV4P3dhdGVyX2F1dGhvcml0eV9pZD0ke1xuICAgICAgICAgICAgZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZFxuICAgICAgICAgIH0mZXZlbnRJZD0ke2dldEV2ZW50SWRGcm9tVVJMKCl9JmxvY2FsZT0ke1xuICAgICAgICAgICAgbmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0LmxvY2FsZVxuICAgICAgICAgIH0mdmFsdWVzRnJvbUtRTD0ke0tRTH0mdmFsaWRFdmVudD0ke3ZhbGlkRXZlbnR9YDtcbiAgICAgICAgICBoaXN0b3J5LnB1c2goVVJMKTtcbiAgICAgICAgICBkaXNwYXRjaChzZXRFdmVudEZpbHRlclBhcmFtKEtRTCkpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBjb25zdCBjYWxjRXZlbnRzUmVhbEFtb3VudCA9ICgpID0+IHtcbiAgICBsZXQgZXZlbnRzQ291bnQ6IG51bWJlciB8IHN0cmluZyA9IDA7XG4gICAgZXZlbnRzQ291bnQgPSBldmVudHNfZGF0YS5ldmVudHNfY291bnQ7XG4gICAgaWYgKGV2ZW50c0NvdW50ID4gNTApXG4gICAgICBldmVudHNDb3VudCA9IGAke2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3Lm1vcmVfdGhhbicpfSA1MGA7XG5cbiAgICByZXR1cm4gZXZlbnRzQ291bnQ7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWZvY3VzZWRFdmVudCkge1xuICAgICAgZGlzcGF0Y2goXG4gICAgICAgIGZldGNoRXZlbnRzKFxuICAgICAgICAgIHdhdGVyQXV0aG9yaXR5SWQsXG4gICAgICAgICAgZ2V0S1FMVmFsdWVzRnJvbVVSTCgpIHx8ICdERUZBVUxUJyxcbiAgICAgICAgICBnZXRFdmVudElkRnJvbVVSTCgpPy50b1N0cmluZygpIHx8ICdudWxsJyxcbiAgICAgICAgKSxcbiAgICAgICk7XG4gICAgfVxuICB9LCBbXG4gICAgZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCxcbiAgICBnbG9iYWxfZGF0YS5ldmVudEZpbHRlclBhcmFtLFxuICAgIGZvY3VzZWRFdmVudCxcbiAgXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoXG4gICAgICAhZXZlbnRzX2RhdGEuaXNGZXRjaGluZyAmJlxuICAgICAgIWVkZ2VzX2RhdGEuaXNGZXRjaGluZyAmJlxuICAgICAgIXBvaW50c19kYXRhLmlzRmV0Y2hpbmcgJiZcbiAgICAgICFhcmVhc19kYXRhLmlzRmV0Y2hpbmcgJiZcbiAgICAgIGFyZWFzX2RhdGEubmV3QXJlYXMubGVuZ3RoICE9PSAwICYmXG4gICAgICBwb2ludHNfZGF0YS5pdGVtcy5sZW5ndGggIT09IDAgJiZcbiAgICAgIGZpbHRlclBvcHVwT3BlblxuICAgICkge1xuICAgICAgc2V0Rm9jdXNlZEV2ZW50SWZGb3VuZEluUGFyYW1zKCk7XG4gICAgfVxuICB9LCBbXG4gICAgZXZlbnRzX2RhdGEuaXNGZXRjaGluZyxcbiAgICBlZGdlc19kYXRhLmlzRmV0Y2hpbmcsXG4gICAgcG9pbnRzX2RhdGEuaXNGZXRjaGluZyxcbiAgICBwb2ludHNfZGF0YS5pdGVtcy5sZW5ndGgsXG4gICAgYXJlYXNfZGF0YS5pdGVtcy5sZW5ndGgsXG4gICAgYXJlYXNfZGF0YS5pc0ZldGNoaW5nLFxuICAgIGdsb2JhbF9kYXRhLmV2ZW50RmlsdGVyUGFyYW0sXG4gICAgZmlsdGVyUG9wdXBPcGVuLFxuICBdKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXsnc2lkZW5hdiAnICsgKHNpZGVuYXZFeHBhbmRlZCA/ICcnIDogJ3NpZGVuYXYtLWNvbGxhcHNlZCcpfT5cbiAgICAgIHtnbG9iYWxfZGF0YS5tb3JlSW5mbyAhPT0gdW5kZWZpbmVkICYmIGdsb2JhbF9kYXRhLm1vcmVJbmZvLmFjdGl2ZSAmJiAoXG4gICAgICAgIDxNb3JlSW5mbyAvPlxuICAgICAgKX1cblxuICAgICAgPGRpdlxuICAgICAgICBjbGFzc05hbWU9e1xuICAgICAgICAgICdldmVudC1pbmZvICcgK1xuICAgICAgICAgICghaG92ZXJlZEV2ZW50ICYmIGZvY3VzZWRFdmVudCAhPT0gbnVsbFxuICAgICAgICAgICAgPyAnJ1xuICAgICAgICAgICAgOiAnZXZlbnQtaW5mby0tY29sbGFwc2VkJylcbiAgICAgICAgfVxuICAgICAgPlxuICAgICAgICB7IWhvdmVyZWRFdmVudCAmJiBmb2N1c2VkRXZlbnQgIT09IG51bGwgJiYgKFxuICAgICAgICAgIDxFdmVudEluZm9cbiAgICAgICAgICAgIGV2ZW50PXtmb2N1c2VkRXZlbnR9XG4gICAgICAgICAgICByZU9wZW5GaWx0ZXI9eygpID0+IHNldEZpbHRlclBvcHVwT3Blbih0cnVlKX1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzTmFtZT1cInRvZ2dsZS1leHBhbnNpb24tYnV0dG9uXCJcbiAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgIGhhbmRsZUV4cGFuc2lvblRvZ2dsZSgpO1xuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm5hdi1leHBhbnNpb24taWNvblwiPlxuICAgICAgICAgIDxGb250QXdlc29tZUljb25cbiAgICAgICAgICAgIGljb249e3NpZGVuYXZFeHBhbmRlZCA/IGZhQ2FyZXRMZWZ0IDogZmFDYXJldFJpZ2h0fVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzTmFtZT17J3RvZ2dsZS1leHBhbnNpb24tYnV0dG9uLW1vYmlsZSd9XG4gICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICBoYW5kbGVFeHBhbnNpb25Ub2dnbGUoKTtcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPGEgaHJlZj1cIiNcIj5cbiAgICAgICAgICA8Rm9udEF3ZXNvbWVJY29uIGljb249e2ZhQXJyb3dMZWZ0fSAvPlxuICAgICAgICAgIDxzcGFuPiB7aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuYmFja190b19kZXRhaWxzJyl9PC9zcGFuPlxuICAgICAgICA8L2E+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZXZlbnRzLWhlYWRlclwiPlxuICAgICAgICB7bGFzdFZpc2l0ZWQgJiYgIWlzRmV0Y2hpbmcgJiYgKFxuICAgICAgICAgIDxMaW5rIGNsYXNzTmFtZT1cImJhY2tcIiB0bz17bGFzdFZpc2l0ZWR9PlxuICAgICAgICAgICAgeycgJ31cbiAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgc3JjPXtMZWZ0QXJyb3dJY29ufVxuICAgICAgICAgICAgICBoZWlnaHQ9XCIxMHB4XCJcbiAgICAgICAgICAgICAgd2lkdGg9XCIxMnB4XCJcbiAgICAgICAgICAgICAgYWx0PVwiYmFja1wiXG4gICAgICAgICAgICAvPnsnICd9XG4gICAgICAgICAgICB7aTE4bi50KCdhcmVhX3NjcmVlbi5iYWNrJyl9XG4gICAgICAgICAgPC9MaW5rPlxuICAgICAgICApfVxuICAgICAgICA8aDQ+XG4gICAgICAgICAge2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LmV2ZW50c19saXN0Jyl9XG4gICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXsnZXZlbnRzLWhlYWRlcl9fZXZlbnRzX2Ftb3VudCd9PlxuICAgICAgICAgICAgKHtjYWxjRXZlbnRzUmVhbEFtb3VudCgpfSlcbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvaDQ+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmlsdGVyaW5nXCI+XG4gICAgICAgICAge2V2ZW50c19kYXRhLml0ZW1zLmxlbmd0aCAhPT0gMCAmJiAoXG4gICAgICAgICAgICA8U29ydFxuICAgICAgICAgICAgICB0cmlnZ2VyU29ydD17dHJpZ2dlclNvcnR9XG4gICAgICAgICAgICAgIGV2ZW50cz17ZXZlbnRzX2RhdGEuaXRlbXN9XG4gICAgICAgICAgICAgIGV2ZW50c0ZldGNoaW5nPXtldmVudHNfZGF0YS5pc0ZldGNoaW5nfVxuICAgICAgICAgICAgICBhY3RpdmVGaWx0ZXI9e2dsb2JhbF9kYXRhLmFjdGl2ZUZpbHRlcn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImljb25zXCI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cImZpbHRlclwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldEZpbHRlclBvcHVwT3BlbighZmlsdGVyUG9wdXBPcGVuKX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPEZpbHRlckljb24gd2lkdGg9XCIxN3B4XCIgaGVpZ2h0PVwiMTdweFwiIGZpbGw9XCIjZjYwMDRmXCIgLz5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICB7cG9pbnRzX2RhdGEuaXRlbXMubGVuZ3RoICE9PSAwICYmICFmb2N1c2VkRXZlbnQgJiYgKFxuICAgICAgICAgIDxGaWx0ZXJDb250YWluZXJcbiAgICAgICAgICAgIGZpbHRlclBvcHVwT3Blbj17ZmlsdGVyUG9wdXBPcGVufVxuICAgICAgICAgICAgZmV0Y2hUeXBlPXsnRXZlbnRGaWx0ZXInfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZXZlbnRzLWNvbnRhaW5lciBzY3JvbGxiYXIgXCI+XG4gICAgICAgIHtsb2FkZXIoKX1cbiAgICAgICAgeyFpc0ZldGNoaW5nICYmXG4gICAgICAgICAgaXRlbXMubGVuZ3RoID09PSAwICYmXG4gICAgICAgICAgIXBvaW50c19kYXRhLmlzRmV0Y2hpbmcgJiZcbiAgICAgICAgICAhZWRnZXNfZGF0YS5pc0ZldGNoaW5nICYmIChcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnZXZlbnRzX19ibGFua3NsYXRlJ30+XG4gICAgICAgICAgICAgIDxpbWcgc3JjPXtOb0V2ZW50c0ltYWdlfSBhbHQ9XCJOb0V2ZW50c0ljb25cIiAvPlxuICAgICAgICAgICAgICA8aDI+e2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LmZpbHRlci5ibGFua3NsYXRlLmhlYWRlcicpfTwvaDI+XG4gICAgICAgICAgICAgIDxwPntpMThuLnQoJ2V2ZW50c19vdmVydmlldy5maWx0ZXIuYmxhbmtzbGF0ZS5ib2R5Jyl9PC9wPlxuICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17J2FwcGx5X2RlZmF1bHRfZmlsdGVyX2J1dHRvbid9XG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gYXBwbHlEZWZhdWx0RmlsdGVyKCl9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZmlsdGVyLmJsYW5rc2xhdGUuYnV0dG9uJyl9XG4gICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICl9XG4gICAgICAgIHtpdGVtcy5sZW5ndGggIT09IDAgJiZcbiAgICAgICAgICAhYXJlYXNfZGF0YS5pc0ZldGNoaW5nICYmXG4gICAgICAgICAgIXBvaW50c19kYXRhLmlzRmV0Y2hpbmcgJiZcbiAgICAgICAgICAhZWRnZXNfZGF0YS5pc0ZldGNoaW5nICYmXG4gICAgICAgICAgIWZvY3VzZWRFdmVudCAmJiAoXG4gICAgICAgICAgICA8dWwgY2xhc3NOYW1lPVwiZXZlbnRzIFwiPlxuICAgICAgICAgICAgICB7aXRlbXMubWFwKChldmVudDogYW55KSA9PiAoXG4gICAgICAgICAgICAgICAgPGxpIGtleT17ZXZlbnQuaWR9IGNsYXNzTmFtZT1cImV2ZW50XCIgZGF0YS1ldmVudC1pZD17ZXZlbnQuaWR9PlxuICAgICAgICAgICAgICAgICAgPFNldmVyZUV2ZW50XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50PXtldmVudH1cbiAgICAgICAgICAgICAgICAgICAgaGFuZGxlQ2xpY2s9e2hhbmRsZUV2ZW50SXRlbUNsaWNrfVxuICAgICAgICAgICAgICAgICAgICBvbk1vdXNlRW50ZXJFdmVudD17b25Nb3VzZUVudGVyRXZlbnR9XG4gICAgICAgICAgICAgICAgICAgIG9uTW91c2VMZWF2ZUV2ZW50PXtvbk1vdXNlTGVhdmVFdmVudH1cbiAgICAgICAgICAgICAgICAgICAgdmFsaWRhdGVFdmVudD17dmFsaWRhdGVFdmVudH1cbiAgICAgICAgICAgICAgICAgICAgZXhjZXB0aW9uQWxlcnQ9e2V4Y2VwdGlvbkFsZXJ0fVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgKX1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuY29uc3QgY29ubmVjdG9yID0gY29ubmVjdChtYXBTdGF0ZVRvUHJvcHMpO1xuZXhwb3J0IGRlZmF1bHQgY29ubmVjdG9yKEV2ZW50c0xpc3QpO1xuIl0sIm1hcHBpbmdzIjoi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
|