@kando-env/kando-ui 1.2.412-alpha.2 → 1.2.412-alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -337,7 +337,7 @@ var clusterGroupOptions = {
|
|
|
337
337
|
showCoverageOnHover: false,
|
|
338
338
|
zoomToBoundsOnClick: true,
|
|
339
339
|
animate: true,
|
|
340
|
-
disableClusteringAtZoom:
|
|
340
|
+
disableClusteringAtZoom: 10,
|
|
341
341
|
removeOutsideVisibleBounds: false,
|
|
342
342
|
chunkedLoading: true,
|
|
343
343
|
iconCreateFunction: function iconCreateFunction(cluster) {
|
|
@@ -402,4 +402,4 @@ var setupCheckboxListener = function setupCheckboxListener(selector, onChange) {
|
|
|
402
402
|
});
|
|
403
403
|
};
|
|
404
404
|
exports.setupCheckboxListener = setupCheckboxListener;
|
|
405
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2FjdGlvbnMiLCJfaTE4biIsIl9XV1RQRGFzaGJvYXJkU2xpY2UiLCJhcmVhRm9jdXNMb2dpYyIsIm1hcFJlZiIsImlzVmFsaWRBcmVhIiwiYXJlYVRvQ2VudGVyQnkiLCJtYXBJbnN0YW5jZSIsImN1cnJlbnQiLCJmaXRCb3VuZHMiLCJwYWRkaW5nIiwiZ3JvdXAiLCJwcm9wZXJ0eSIsIl9sYXllcnMiLCJrYW5kb19vYmplY3QiLCJwdXNoIiwiT2JqZWN0Iiwia2V5cyIsIkwiLCJmZWF0dXJlR3JvdXAiLCJnZXRCb3VuZHMiLCJsZW5ndGgiLCJleHBvcnRzIiwiYXJlYSIsInNob3VsZExvYWRNYXBPYmplY3RzIiwiZ2xvYmFsX2RhdGEiLCJwb2ludHMiLCJlZGdlcyIsIm1hcCIsInVuZGVmaW5lZCIsInNob3VkTG9hZERlcGVuZGVudE1hcE9iamVjdHMiLCJhcmVhcyIsImdsb2JhbCIsImZpbmRTcGVjaWZpY0xheWVyc0Zyb21NYXAiLCJsYXllcnNUb0ZpbmQiLCJjdXJyZW50TGF5ZXIiLCJpbmNsdWRlcyIsImthbmRvX3BvaW50X3R5cGUiLCJldmVudHNDb3VudGVySWNvbnMiLCJsYXllciIsInpvb21MZXZlbCIsImljb24iLCJvcHRpb25zIiwiaWNvblNpemUiLCJldmVudHNDb3VudEljb24iLCJpY29uQW5jaG9yIiwic2V0SWNvbiIsInNldE9wYWNpdHkiLCJtdWx0aXBsZUxheWVyZWRJY29ucyIsImlzQUZld0xheWVySWNvbiIsImthbmRvX2Zld19sYXllcl9pY29uIiwibWluaUljb24iLCJwcmVzZW50Iiwia2FuZG9fc2Vjb25kYXJ5Iiwia2FuZG9fdGhpcmQiLCJzZWNvbmRhcnkiLCJ0aGlyZCIsImthbmRvX2luZGV4X29iamVjdCIsImJ1YmJsZUljb25PcHRpb25zIiwib25lTGF5ZXJJY29uT3B0aW9ucyIsIm1pZGRsZUljb25PcHRpb25zIiwidG9wSWNvbk9wdGlvbnMiLCJpY29uWm9vbUNvbnRyb2wiLCJsYXllcnMiLCJfem9vbSIsIm1hcFN0eWxlIiwibWFwQm94U3R5bGUiLCJ0aWxlTGF5ZXIiLCJjb25jYXQiLCJhdHRyaWJ1dGlvbiIsIm1heFpvb20iLCJtaW5ab29tIiwiaWQiLCJ0aWxlU2l6ZSIsInpvb21PZmZzZXQiLCJ1cGRhdGVXaGVuWm9vbWluZyIsInVwZGF0ZVdoZW5JZGxlIiwiYmFzZU1hcHMiLCJtYXBCb3hTYXRlbGxpdGVTdHlsZSIsIl9yZWYiLCJkZWZhdWx0TWFwIiwiaTE4biIsInQiLCJzYXRlbGxpdGUiLCJfZGVmaW5lUHJvcGVydHkyIiwiZGVmYXVsdCIsInRvZ2dsZUVkZ2VzVmlzaWJpbGl0eSIsInZpc2libGUiLCJlYWNoTGF5ZXIiLCJQb2x5bGluZSIsIlN5bWJvbCIsImFycm93SGVhZCIsInNldFN0eWxlIiwib3BhY2l0eSIsInRvZ2dsZU1vbml0b3JlZFBvaW50c1Zpc2liaWxpdHkiLCJjb25zb2xlIiwid2FybiIsImVkZ2VzU3BlY2lmaWNMb2dpYyIsImRlZmF1bHRPbiIsImNoZWNrYm94IiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yIiwiY2hlY2tlZCIsImN1c3RvbUNvbnRyb2xzIiwibGFiZWwiLCJpbnB1dFR5cGUiLCJkZW55Rm9yV2EiLCJvbkNoYW5nZSIsImlzQ2hlY2tlZCIsImFwcGVuZEN1c3RvbUNoZWNrYm94VG9MZWFmbGV0c0xheWVyQm94IiwibGVhZmxldHNDb250YWluZXIiLCJjdXN0b21Db250YWluZXIiLCJEb21FdmVudCIsIm9uIiwic3R5bGUiLCJkaXNwbGF5IiwiY3JlYXRlQ3VzdG9tQ29udHJvbCIsImNvbnRyb2wiLCJjb250YWluZXIiLCJjb250cm9sQ29udGFpbmVyIiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsImlubmVySFRNTCIsImFkZEV2ZW50TGlzdGVuZXIiLCJlIiwidGFyZ2V0IiwiYXBwZW5kQ2hpbGQiLCJjdXN0b21GdW5jdGlvbmFsaXR5Rm9yTWFwTGF5ZXJzIiwibWFwVHlwZXMiLCJhcmd1bWVudHMiLCJ3YUlkIiwiZm9yV1dUUERhc2hib2FyZCIsImNvbnRyb2xsZXIiLCJwb3NpdGlvbiIsImFkZFRvIiwiZ2V0Q29udGFpbmVyIiwiZm9yRWFjaCIsImluaXRpYWxpemVNYXAiLCJtYXBab29tTGV2ZWwiLCJkaXNwYXRjaCIsInNldE1hcFpvb21MZXZlbCIsInNob3dFZGdlc0J5RGVmYXVsdCIsIk1hcCIsImNlbnRlciIsInpvb21TbmFwIiwiem9vbSIsImF0dHJpYnV0aW9uQ29udHJvbCIsInByZWZlckNhbnZhcyIsInNldE1hcCIsIndoZW5SZWFkeSIsInZhbHVlcyIsInNldFRpbWVvdXQiLCJpbnZhbGlkYXRlU2l6ZSIsImVyciIsImVycm9yIiwic3RvcmVNYXAiLCJzaWRlTmF2RXhwYW5kZWQiLCJldmVudCIsIm9yaWdpbmFsRXZlbnQiLCJrZXkiLCJjbG9zZVBvcHVwIiwiYm9keSIsImZvY3VzIiwiZ2V0Wm9vbSIsImNsdXN0ZXJHcm91cE9wdGlvbnMiLCJzcGlkZXJmeU9uTWF4Wm9vbSIsInNob3dDb3ZlcmFnZU9uSG92ZXIiLCJ6b29tVG9Cb3VuZHNPbkNsaWNrIiwiYW5pbWF0ZSIsImRpc2FibGVDbHVzdGVyaW5nQXRab29tIiwicmVtb3ZlT3V0c2lkZVZpc2libGVCb3VuZHMiLCJjaHVua2VkTG9hZGluZyIsImljb25DcmVhdGVGdW5jdGlvbiIsImNsdXN0ZXIiLCJEaXZJY29uIiwiaHRtbCIsIl9jaGlsZENvdW50IiwiUG9pbnQiLCJ6b29tTGV2ZWxzIiwiZmlsdGVyUG9pbnRzIiwiaGFzRGV2aWNlIiwiZmlsdGVyIiwicG9pbnQiLCJoYXNfZGV2aWNlIiwiZmluZFBvaW50IiwicG9pbnRJZCIsImhhc0RldmljZUNoZWNrIiwiZmluZCIsImZpbHRlckVkZ2VzIiwiaXNNb25pdG9yZWQiLCJlZGdlIiwic291cmNlUG9pbnQiLCJzb3VyY2VfcG9pbnRfaWQiLCJkZXNjZW5kYW50c19oYXNfZGV2aWNlIiwicGFyZW50UG9pbnQiLCJ0YXJnZXRfcG9pbnRfaWQiLCJzZXR1cENoZWNrYm94TGlzdGVuZXIiLCJzZWxlY3RvciJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9NYXBVdGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTCwgeyBQb2ludFR1cGxlIH0gZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgeyBzaWRlTmF2RXhwYW5kZWQsIHN0b3JlTWFwIH0gZnJvbSAnLi4vLi4vc3RvcmUvZ2xvYmFsL2FjdGlvbnMnO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCB7IHNldE1hcCB9IGZyb20gJy4uLy4uL3N0b3JlL1dXVFBEYXNoYm9hcmQvV1dUUERhc2hib2FyZFNsaWNlJztcblxuZXhwb3J0IGNvbnN0IGFyZWFGb2N1c0xvZ2ljID0gKG1hcFJlZiwgaXNWYWxpZEFyZWEsIGFyZWFUb0NlbnRlckJ5KSA9PiB7XG4gIGxldCBtYXBJbnN0YW5jZTogYW55ID0gbWFwUmVmLmN1cnJlbnQ7XG4gIGlmIChpc1ZhbGlkQXJlYShhcmVhVG9DZW50ZXJCeSkpIHtcbiAgICBtYXBJbnN0YW5jZS5maXRCb3VuZHMoYXJlYVRvQ2VudGVyQnksIHsgcGFkZGluZzogWzAsIDBdIH0pO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IGdyb3VwOiBhbnlbXSA9IFtdO1xuXG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBtYXBJbnN0YW5jZS5fbGF5ZXJzKSB7XG4gICAgICBpZiAoXG4gICAgICAgIG1hcEluc3RhbmNlLl9sYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdCA9PT0gJ0FyZWEnIHx8XG4gICAgICAgIG1hcEluc3RhbmNlLl9sYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdCA9PT0gJ1BvaW50J1xuICAgICAgKSB7XG4gICAgICAgIGdyb3VwLnB1c2gobWFwSW5zdGFuY2UuX2xheWVyc1twcm9wZXJ0eV0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChPYmplY3Qua2V5cyhMLmZlYXR1cmVHcm91cChncm91cCkuZ2V0Qm91bmRzKCkpLmxlbmd0aCAhPT0gMCkge1xuICAgICAgbWFwSW5zdGFuY2UuZml0Qm91bmRzKEwuZmVhdHVyZUdyb3VwKGdyb3VwKS5nZXRCb3VuZHMoKSwge1xuICAgICAgICBwYWRkaW5nOiBbMTAwLCAxMDBdLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG4gIC8vIG1hcEluc3RhbmNlLmludmFsaWRhdGVTaXplKHRydWUpO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzVmFsaWRBcmVhID0gKGFyZWEpID0+IHtcbiAgcmV0dXJuIGFyZWEgJiYgYXJlYS5sZW5ndGggPiAwICYmIE9iamVjdC5rZXlzKGFyZWFbMF0pLmxlbmd0aCA+IDA7XG59O1xuXG5leHBvcnQgY29uc3Qgc2hvdWxkTG9hZE1hcE9iamVjdHMgPSAoZ2xvYmFsX2RhdGEsIG1hcFJlZiwgcG9pbnRzLCBlZGdlcykgPT4ge1xuICByZXR1cm4gKFxuICAgIGdsb2JhbF9kYXRhLm1hcCAhPT0gdW5kZWZpbmVkICYmXG4gICAgbWFwUmVmLmN1cnJlbnQgIT09IG51bGwgJiZcbiAgICBlZGdlcyAhPT0gdW5kZWZpbmVkICYmXG4gICAgcG9pbnRzICE9PSB1bmRlZmluZWRcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBzaG91ZExvYWREZXBlbmRlbnRNYXBPYmplY3RzID0gKFxuICBlZGdlcyxcbiAgYXJlYXMsXG4gIGdsb2JhbCxcbiAgbWFwUmVmLFxuICBwb2ludHMsXG4pID0+IHtcbiAgcmV0dXJuIChcbiAgICBnbG9iYWwubWFwICE9PSB1bmRlZmluZWQgJiZcbiAgICBtYXBSZWYuY3VycmVudCAhPT0gbnVsbCAmJlxuICAgIC8vIGVkZ2VzLmxlbmd0aCAhPT0gMCAmJlxuICAgIC8vIGFyZWFzLmxlbmd0aCAhPT0gMCAmJlxuICAgIHBvaW50cy5sZW5ndGggIT09IDBcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBmaW5kU3BlY2lmaWNMYXllcnNGcm9tTWFwID0gKFxuICBsYXllcnNUb0ZpbmQ6IHN0cmluZ1tdLFxuICBjdXJyZW50TGF5ZXIsXG4pID0+IHtcbiAgcmV0dXJuIChcbiAgICBsYXllcnNUb0ZpbmQuaW5jbHVkZXMoY3VycmVudExheWVyLmthbmRvX29iamVjdCkgJiZcbiAgICBjdXJyZW50TGF5ZXIua2FuZG9fcG9pbnRfdHlwZSAhPT0gJ01hbmhvbGUnXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgZXZlbnRzQ291bnRlckljb25zID0gKGxheWVyLCB6b29tTGV2ZWwpID0+IHtcbiAgbGV0IGljb24gPSBsYXllci5vcHRpb25zLmljb247XG4gIGljb24ub3B0aW9ucy5pY29uU2l6ZSA9IGV2ZW50c0NvdW50SWNvbih6b29tTGV2ZWwpLmljb25TaXplO1xuICBpY29uLm9wdGlvbnMuaWNvbkFuY2hvciA9IGV2ZW50c0NvdW50SWNvbih6b29tTGV2ZWwpLmljb25BbmNob3I7XG4gIGxheWVyLnNldEljb24oaWNvbik7XG4gIGxheWVyLnNldE9wYWNpdHkoMSk7XG59O1xuXG5leHBvcnQgY29uc3QgbXVsdGlwbGVMYXllcmVkSWNvbnMgPSAobGF5ZXIsIHpvb21MZXZlbCkgPT4ge1xuICBsZXQgaWNvbiA9IGxheWVyLm9wdGlvbnMuaWNvbjtcbiAgbGV0IGlzQUZld0xheWVySWNvbiA9IGxheWVyLmthbmRvX2Zld19sYXllcl9pY29uO1xuICBsZXQgbWluaUljb24gPSB7XG4gICAgcHJlc2VudDogbGF5ZXIua2FuZG9fc2Vjb25kYXJ5IHx8IGxheWVyLmthbmRvX3RoaXJkLFxuICAgIHNlY29uZGFyeTogbGF5ZXIua2FuZG9fc2Vjb25kYXJ5LFxuICAgIHRoaXJkOiBsYXllci5rYW5kb190aGlyZCxcbiAgfTtcblxuICBpZiAobGF5ZXIua2FuZG9faW5kZXhfb2JqZWN0ID09PSAwKSB7XG4gICAgaWYgKGlzQUZld0xheWVySWNvbikge1xuICAgICAgaWNvbi5vcHRpb25zLmljb25TaXplID0gYnViYmxlSWNvbk9wdGlvbnMoem9vbUxldmVsLCBtaW5pSWNvbikuaWNvblNpemU7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvbkFuY2hvciA9IGJ1YmJsZUljb25PcHRpb25zKFxuICAgICAgICB6b29tTGV2ZWwsXG4gICAgICAgIG1pbmlJY29uLFxuICAgICAgKS5pY29uQW5jaG9yO1xuICAgIH0gZWxzZSB7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvblNpemUgPSBvbmVMYXllckljb25PcHRpb25zKHpvb21MZXZlbCkuaWNvblNpemU7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvbkFuY2hvciA9IG9uZUxheWVySWNvbk9wdGlvbnMoem9vbUxldmVsKS5pY29uQW5jaG9yO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBpZiAobGF5ZXIua2FuZG9faW5kZXhfb2JqZWN0ID09PSAxKSB7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvblNpemUgPSBtaWRkbGVJY29uT3B0aW9ucyh6b29tTGV2ZWwsIG1pbmlJY29uKS5pY29uU2l6ZTtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uQW5jaG9yID0gbWlkZGxlSWNvbk9wdGlvbnMoXG4gICAgICAgIHpvb21MZXZlbCxcbiAgICAgICAgbWluaUljb24sXG4gICAgICApLmljb25BbmNob3I7XG4gICAgfSBlbHNlIHtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uU2l6ZSA9IHRvcEljb25PcHRpb25zKHpvb21MZXZlbCwgbWluaUljb24pLmljb25TaXplO1xuICAgICAgaWNvbi5vcHRpb25zLmljb25BbmNob3IgPSB0b3BJY29uT3B0aW9ucyh6b29tTGV2ZWwsIG1pbmlJY29uKS5pY29uQW5jaG9yO1xuICAgIH1cbiAgfVxuXG4gIGxheWVyLnNldEljb24oaWNvbik7XG59O1xuXG5jb25zdCBvbmVMYXllckljb25PcHRpb25zID0gKHpvb21MZXZlbCkgPT4ge1xuICByZXR1cm4ge1xuICAgIGljb25TaXplOiBbem9vbUxldmVsICogMy4zLCB6b29tTGV2ZWwgKiAzLjNdIGFzIFBvaW50VHVwbGUsXG4gICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIDEuNywgem9vbUxldmVsICogMy43XSBhcyBQb2ludFR1cGxlLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGV2ZW50c0NvdW50SWNvbiA9ICh6b29tTGV2ZWwpID0+IHtcbiAgcmV0dXJuIHtcbiAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDIuNSwgem9vbUxldmVsICogMi41XSBhcyBQb2ludFR1cGxlLFxuICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAwLCB6b29tTGV2ZWwgKiA0XSBhcyBQb2ludFR1cGxlLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGJ1YmJsZUljb25PcHRpb25zID0gKHpvb21MZXZlbCwgbWluaUljb24pID0+IHtcbiAgaWYgKG1pbmlJY29uLnByZXNlbnQpIHtcbiAgICBpZiAobWluaUljb24uc2Vjb25kYXJ5KSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDEuOTgsIHpvb21MZXZlbCAqIDIuM10gYXMgUG9pbnRUdXBsZSxcbiAgICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIDAsIHpvb21MZXZlbCAqIDRdIGFzIFBvaW50VHVwbGUsXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDEuOTgsIHpvb21MZXZlbCAqIDIuM10gYXMgUG9pbnRUdXBsZSxcbiAgICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIDAsIHpvb21MZXZlbCAqIDJdIGFzIFBvaW50VHVwbGUsXG4gICAgICB9O1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAzLjk4LCB6b29tTGV2ZWwgKiA0LjNdIGFzIFBvaW50VHVwbGUsXG4gICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogMiwgem9vbUxldmVsICogNF0gYXMgUG9pbnRUdXBsZSxcbiAgICB9O1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgbWlkZGxlSWNvbk9wdGlvbnMgPSAoem9vbUxldmVsLCBtaW5pSWNvbikgPT4ge1xuICBpZiAobWluaUljb24ucHJlc2VudCkge1xuICAgIGlmIChtaW5pSWNvbi5zZWNvbmRhcnkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGljb25TaXplOiBbem9vbUxldmVsICogMS4xLCB6b29tTGV2ZWwgKiAxLjFdLFxuICAgICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogLTAuNDUsIHpvb21MZXZlbCAqIDMuNV0sXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDEuMSwgem9vbUxldmVsICogMS4xXSxcbiAgICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIC0wLjQ1LCB6b29tTGV2ZWwgKiAxLjVdLFxuICAgICAgfTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGljb25TaXplOiBbem9vbUxldmVsICogMi41LCB6b29tTGV2ZWwgKiAyLjVdLFxuICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIDEuMjk1LCB6b29tTGV2ZWwgKiAzLjM1XSxcbiAgICB9O1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgdG9wSWNvbk9wdGlvbnMgPSAoem9vbUxldmVsLCBtaW5pSWNvbikgPT4ge1xuICBpZiAobWluaUljb24ucHJlc2VudCkge1xuICAgIGlmIChtaW5pSWNvbi5zZWNvbmRhcnkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGljb25TaXplOiBbem9vbUxldmVsICogMC45LCB6b29tTGV2ZWwgKiAxLjhdLFxuICAgICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogLTAuNSwgem9vbUxldmVsICogMy44XSxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGljb25TaXplOiBbem9vbUxldmVsICogMS42LCB6b29tTGV2ZWwgKiAyLjVdLFxuICAgICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogLTAuMiwgem9vbUxldmVsICogMi4xXSxcbiAgICAgIH07XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHJldHVybiB7XG4gICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDMuOSwgem9vbUxldmVsICogMy44XSxcbiAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAyLCB6b29tTGV2ZWwgKiAzLjhdLFxuICAgIH07XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBpY29uWm9vbUNvbnRyb2wgPSAobWFwKSA9PiB7XG4gIGxldCBsYXllcnMgPSBtYXAuX2xheWVycztcbiAgbGV0IHpvb21MZXZlbCA9IG1hcC5fem9vbTtcblxuICBmb3IgKGNvbnN0IHByb3BlcnR5IGluIGxheWVycykge1xuICAgIGlmIChmaW5kU3BlY2lmaWNMYXllcnNGcm9tTWFwKFsnSWNvbk51bWJlciddLCBsYXllcnNbcHJvcGVydHldKSkge1xuICAgICAgZXZlbnRzQ291bnRlckljb25zKGxheWVyc1twcm9wZXJ0eV0sIHpvb21MZXZlbCk7XG4gICAgfVxuXG4gICAgaWYgKGZpbmRTcGVjaWZpY0xheWVyc0Zyb21NYXAoWydQb2ludCcsICdJY29uJ10sIGxheWVyc1twcm9wZXJ0eV0pKSB7XG4gICAgICBtdWx0aXBsZUxheWVyZWRJY29ucyhsYXllcnNbcHJvcGVydHldLCB6b29tTGV2ZWwpO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIGZpbmRTcGVjaWZpY0xheWVyc0Zyb21NYXAoWydTYW1wbGluZycsICdPYnNlcnZhdGlvbiddLCBsYXllcnNbcHJvcGVydHldKVxuICAgICkge1xuICAgICAgbXVsdGlwbGVMYXllcmVkSWNvbnMobGF5ZXJzW3Byb3BlcnR5XSwgem9vbUxldmVsKTtcbiAgICB9XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBtYXBTdHlsZSA9IChtYXBCb3hTdHlsZSkgPT4ge1xuICByZXR1cm4gTC50aWxlTGF5ZXIoXG4gICAgYGh0dHBzOi8vYXBpLm1hcGJveC5jb20vc3R5bGVzL3YxL25hZGF2LWthbmRvLyR7bWFwQm94U3R5bGV9L3RpbGVzLzI1Ni97en0ve3h9L3t5fUAyeD9hY2Nlc3NfdG9rZW49cGsuZXlKMUlqb2libUZrWVhZdGEyRnVaRzhpTENKaElqb2lZMnB2ZUhwcmRHUnhNSGxtZERONGJEZzBkekp4T1hjNGRTSjkuSi0yb2hxN2o0eUtOYm00Tl8tUDZxd2AsXG4gICAge1xuICAgICAgYXR0cmlidXRpb246XG4gICAgICAgICdNYXAgZGF0YSAmY29weTsgPGEgaHJlZj1cImh0dHBzOi8vd3d3Lm9wZW5zdHJlZXRtYXAub3JnL1wiPk9wZW5TdHJlZXRNYXA8L2E+IGNvbnRyaWJ1dG9ycywgPGEgaHJlZj1cImh0dHBzOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS1zYS8yLjAvXCI+Q0MtQlktU0E8L2E+LCBJbWFnZXJ5IMKpIDxhIGhyZWY9XCJodHRwczovL3d3dy5tYXBib3guY29tL1wiPk1hcGJveDwvYT4nLFxuICAgICAgbWF4Wm9vbTogMTgsXG4gICAgICBtaW5ab29tOiAyLFxuICAgICAgaWQ6ICdtYXBib3gvc3RyZWV0cy12MTEnLFxuICAgICAgdGlsZVNpemU6IDUxMixcbiAgICAgIHpvb21PZmZzZXQ6IC0xLFxuICAgICAgdXBkYXRlV2hlblpvb21pbmc6IGZhbHNlLFxuICAgICAgdXBkYXRlV2hlbklkbGU6IGZhbHNlLFxuICAgIH0sXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgYmFzZU1hcHMgPSAobWFwQm94U3R5bGUsIG1hcEJveFNhdGVsbGl0ZVN0eWxlKSA9PiB7XG4gIGxldCBkZWZhdWx0TWFwID0gaTE4bi50KCdtYXAubGF5ZXJzLmRlZmF1bHQnKTtcbiAgbGV0IHNhdGVsbGl0ZSA9IGkxOG4udCgnbWFwLmxheWVycy5zYXRlbGxpdGUnKTtcbiAgcmV0dXJuIHtcbiAgICBbZGVmYXVsdE1hcF06IG1hcFN0eWxlKG1hcEJveFN0eWxlKSxcbiAgICBbc2F0ZWxsaXRlXTogbWFwU3R5bGUobWFwQm94U2F0ZWxsaXRlU3R5bGUpLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IHRvZ2dsZUVkZ2VzVmlzaWJpbGl0eSA9ICh2aXNpYmxlLCBtYXApID0+IHtcbiAgbWFwLmVhY2hMYXllcigobGF5ZXIpID0+IHtcbiAgICBpZiAoXG4gICAgICAobGF5ZXIgaW5zdGFuY2VvZiBMLlBvbHlsaW5lICYmIGxheWVyLmthbmRvX29iamVjdCAhPT0gJ0FyZWEnKSB8fFxuICAgICAgbGF5ZXIgaW5zdGFuY2VvZiBMLlN5bWJvbC5hcnJvd0hlYWRcbiAgICApIHtcbiAgICAgIGxheWVyLnNldFN0eWxlKHsgb3BhY2l0eTogdmlzaWJsZSA/IDEgOiAwIH0pO1xuICAgIH1cbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgdG9nZ2xlTW9uaXRvcmVkUG9pbnRzVmlzaWJpbGl0eSA9ICh2aXNpYmxlKSA9PiB7XG4gIGNvbnNvbGUud2FybigndG9nZ2xlTW9uaXRvcmVkUG9pbnRzVmlzaWJpbGl0eScsIHZpc2libGUpO1xufTtcblxuZXhwb3J0IGNvbnN0IGVkZ2VzU3BlY2lmaWNMb2dpYyA9IChkZWZhdWx0T24sIG1hcCkgPT4ge1xuICBsZXQgY2hlY2tib3ggPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjZWRnZXMtY2hlY2tib3gnKTtcbiAgaWYgKGNoZWNrYm94ID09IG51bGwpIHJldHVybjtcbiAgY2hlY2tib3guY2hlY2tlZCA9IGRlZmF1bHRPbjtcbn07XG5cbmNvbnN0IGN1c3RvbUNvbnRyb2xzID0gKG1hcCkgPT4ge1xuICByZXR1cm4gW1xuICAgIHtcbiAgICAgIGxhYmVsOiBpMThuLnQoJ21hcC5sYXllcnMubmV0d29ya19saW5lcycpLFxuICAgICAgaWQ6ICdlZGdlcy1jaGVja2JveCcsXG4gICAgICBpbnB1dFR5cGU6ICdjaGVja2JveCcsXG4gICAgICBkZW55Rm9yV2E6IFs1MThdLFxuICAgICAgb25DaGFuZ2U6IChpc0NoZWNrZWQpID0+IHRvZ2dsZUVkZ2VzVmlzaWJpbGl0eShpc0NoZWNrZWQsIG1hcCksXG4gICAgfSxcblxuICAgIHtcbiAgICAgIGxhYmVsOiAnU2hvdyBvbmx5IG1vbml0b3JlZCBwb2ludHMnLFxuICAgICAgaWQ6ICdtb25pdG9yZWQtcG9pbnRzLWNoZWNrYm94JyxcbiAgICAgIGlucHV0VHlwZTogJ2NoZWNrYm94JyxcbiAgICAgIG9uQ2hhbmdlOiAoaXNDaGVja2VkKSA9PiB0b2dnbGVNb25pdG9yZWRQb2ludHNWaXNpYmlsaXR5KGlzQ2hlY2tlZCksXG4gICAgfSxcblxuICAgIC8vIHtcbiAgICAvLyAgIGxhYmVsOiAnQW5vdGhlciBjdXN0b20gZmVhdHVyZScsXG4gICAgLy8gICBpZDogJ2N1c3RvbS1mZWF0dXJlLWNoZWNrYm94JyxcbiAgICAvLyAgIGlucHV0VHlwZTogJ2NoZWNrYm94JyxcbiAgICAvLyAgIG9uQ2hhbmdlOiAoaXNDaGVja2VkKSA9PiBjb25zb2xlLmxvZyhgQW5vdGhlciBmZWF0dXJlIGlzIG5vdyAke2lzQ2hlY2tlZCA/ICdlbmFibGVkJyA6ICdkaXNhYmxlZCd9YCksXG4gICAgLy8gfSxcbiAgXTtcbn07XG5cbmNvbnN0IGFwcGVuZEN1c3RvbUNoZWNrYm94VG9MZWFmbGV0c0xheWVyQm94ID0gKFxuICBsZWFmbGV0c0NvbnRhaW5lcixcbiAgY3VzdG9tQ29udGFpbmVyLFxuKSA9PiB7XG4gIEwuRG9tRXZlbnQub24obGVhZmxldHNDb250YWluZXIsICdtb3VzZW92ZXInLCBmdW5jdGlvbiAoKSB7XG4gICAgY3VzdG9tQ29udGFpbmVyLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snO1xuICB9KTtcblxuICBMLkRvbUV2ZW50Lm9uKGxlYWZsZXRzQ29udGFpbmVyLCAnbW91c2VvdXQnLCBmdW5jdGlvbiAoKSB7XG4gICAgY3VzdG9tQ29udGFpbmVyLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gIH0pO1xufTtcblxuY29uc3QgY3JlYXRlQ3VzdG9tQ29udHJvbCA9IChjb250cm9sLCBjb250YWluZXIpID0+IHtcbiAgbGV0IGNvbnRyb2xDb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgY29udHJvbENvbnRhaW5lci5jbGFzc05hbWUgPSAnbGVhZmxldC1jb250cm9sLWxheWVycy1vdmVybGF5cyc7XG4gIGNvbnRyb2xDb250YWluZXIuaW5uZXJIVE1MID0gYFxuICAgICAgPGxhYmVsPlxuICAgICAgICA8aW5wdXQgdHlwZT1cIiR7Y29udHJvbC5pbnB1dFR5cGV9XCIgaWQ9XCIke2NvbnRyb2wuaWR9XCIgLz4gJHtjb250cm9sLmxhYmVsfVxuICAgICAgPC9sYWJlbD5cbiAgICBgO1xuXG4gIGNvbnRyb2xDb250YWluZXJcbiAgICAucXVlcnlTZWxlY3RvcihgIyR7Y29udHJvbC5pZH1gKVxuICAgIC5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCBmdW5jdGlvbiAoZSkge1xuICAgICAgY29uc3QgaXNDaGVja2VkID0gZS50YXJnZXQuY2hlY2tlZDtcbiAgICAgIGNvbnRyb2wub25DaGFuZ2UoaXNDaGVja2VkKTtcbiAgICB9KTtcblxuICBjb250cm9sQ29udGFpbmVyLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gIGNvbnRhaW5lcj8uYXBwZW5kQ2hpbGQoY29udHJvbENvbnRhaW5lcik7XG5cbiAgYXBwZW5kQ3VzdG9tQ2hlY2tib3hUb0xlYWZsZXRzTGF5ZXJCb3goY29udGFpbmVyLCBjb250cm9sQ29udGFpbmVyKTtcbn07XG5cbmV4cG9ydCBjb25zdCBjdXN0b21GdW5jdGlvbmFsaXR5Rm9yTWFwTGF5ZXJzID0gKFxuICBtYXAsXG4gIG1hcFR5cGVzLFxuICBkZWZhdWx0T24gPSB0cnVlLFxuICB3YUlkLFxuICBmb3JXV1RQRGFzaGJvYXJkLFxuKSA9PiB7XG4gIGxldCBjb250cm9sbGVyID0gTC5jb250cm9sXG4gICAgLmxheWVycyhtYXBUeXBlcywge30sIHsgcG9zaXRpb246ICdib3R0b21yaWdodCcgfSlcbiAgICAuYWRkVG8obWFwKTtcbiAgbGV0IGNvbnRhaW5lciA9IGNvbnRyb2xsZXIuZ2V0Q29udGFpbmVyKCk7XG5cbiAgaWYgKGZvcldXVFBEYXNoYm9hcmQpIHtcbiAgICBjdXN0b21Db250cm9scyhtYXApLmZvckVhY2goKGNvbnRyb2wpID0+IHtcbiAgICAgIGlmIChjb250cm9sLmRlbnlGb3JXYSAmJiBjb250cm9sLmRlbnlGb3JXYS5pbmNsdWRlcyh3YUlkKSkgcmV0dXJuO1xuXG4gICAgICBjcmVhdGVDdXN0b21Db250cm9sKGNvbnRyb2wsIGNvbnRhaW5lcik7XG4gICAgICBlZGdlc1NwZWNpZmljTG9naWMoZGVmYXVsdE9uLCBtYXApO1xuICAgIH0pO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgaW5pdGlhbGl6ZU1hcCA9IChcbiAgbWFwWm9vbUxldmVsLFxuICBtYXBCb3hTdHlsZSxcbiAgbWFwQm94U2F0ZWxsaXRlU3R5bGUsXG4gIG1hcFJlZixcbiAgZGlzcGF0Y2gsXG4gIGlzVmFsaWRBcmVhLFxuICBhcmVhVG9DZW50ZXJCeSxcbiAgc2V0TWFwWm9vbUxldmVsLFxuICBmb3JXV1RQRGFzaGJvYXJkLFxuICBzaG93RWRnZXNCeURlZmF1bHQsXG4gIHdhSWQgPSAwLFxuKSA9PiB7XG4gIC8vIEB0cy1pZ25vcmVcbiAgbWFwUmVmLmN1cnJlbnQgPSBuZXcgTC5NYXAoJ21hcCcsIHtcbiAgICBjZW50ZXI6IFswLCAwXSxcbiAgICB6b29tU25hcDogMSxcbiAgICB6b29tOiBtYXBab29tTGV2ZWwsXG4gICAgYXR0cmlidXRpb25Db250cm9sOiBmYWxzZSxcbiAgICBwcmVmZXJDYW52YXM6IGZhbHNlLFxuICB9KTtcblxuICBpZiAoZm9yV1dUUERhc2hib2FyZCkgZGlzcGF0Y2goc2V0TWFwKG1hcFJlZi5jdXJyZW50KSk7XG5cbiAgbWFwUmVmLmN1cnJlbnQud2hlblJlYWR5KCgpID0+IHtcbiAgICBsZXQgbWFwID0gbWFwUmVmLmN1cnJlbnQ7XG4gICAgY29uc3QgbWFwVHlwZXMgPSBiYXNlTWFwcyhtYXBCb3hTdHlsZSwgbWFwQm94U2F0ZWxsaXRlU3R5bGUpO1xuXG4gICAgY3VzdG9tRnVuY3Rpb25hbGl0eUZvck1hcExheWVycyhcbiAgICAgIG1hcCxcbiAgICAgIG1hcFR5cGVzLFxuICAgICAgc2hvd0VkZ2VzQnlEZWZhdWx0LFxuICAgICAgd2FJZCxcbiAgICAgIGZvcldXVFBEYXNoYm9hcmQsXG4gICAgKTtcblxuICAgIC8vIFRoZSBuYW1lIG9mIHRoZSBsYXllciBjaGFuZ2VzIGJldHdlZW4gbGFuZ3VhZ2VzIHNvIHRoZXJlIHdhcyBhIG5lZWQgdG8gZ2V0IHRvIHRoZSBmaXJzdCBsYXllclxuICAgIE9iamVjdC52YWx1ZXMobWFwVHlwZXMpWzBdLmFkZFRvKG1hcCk7XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICghbWFwUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0cnkge1xuICAgICAgICBtYXBSZWYuY3VycmVudC5pbnZhbGlkYXRlU2l6ZSh0cnVlKTtcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdlcnInLCBlcnIpO1xuICAgICAgfVxuXG4gICAgICBkaXNwYXRjaChzdG9yZU1hcChtYXBSZWYuY3VycmVudCkpO1xuICAgICAgZGlzcGF0Y2goc2lkZU5hdkV4cGFuZGVkKHRydWUpKTtcblxuICAgICAgbWFwLm9uKCdrZXlkb3duJywgKGV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChldmVudC5vcmlnaW5hbEV2ZW50LmtleSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgICAgICBtYXAuY2xvc2VQb3B1cCgpO1xuICAgICAgICAgIGRvY3VtZW50LmJvZHkuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSwgMCk7XG4gICAgaWYgKG1hcFJlZi5jdXJyZW50ICYmIGlzVmFsaWRBcmVhKGFyZWFUb0NlbnRlckJ5KSkge1xuICAgICAgbWFwUmVmLmN1cnJlbnQuZml0Qm91bmRzKGFyZWFUb0NlbnRlckJ5KTtcbiAgICB9XG4gIH0pO1xuXG4gIG1hcFJlZi5jdXJyZW50Lm9uKCd6b29tZW5kJywgZnVuY3Rpb24gKGUpIHtcbiAgICBpZiAoIW1hcFJlZi5jdXJyZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGxldCB6b29tID0gbWFwUmVmLmN1cnJlbnQuZ2V0Wm9vbSgpO1xuICAgIHNldE1hcFpvb21MZXZlbCh6b29tKTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgY2x1c3Rlckdyb3VwT3B0aW9ucyA9IHtcbiAgc3BpZGVyZnlPbk1heFpvb206IGZhbHNlLFxuICBzaG93Q292ZXJhZ2VPbkhvdmVyOiBmYWxzZSxcbiAgem9vbVRvQm91bmRzT25DbGljazogdHJ1ZSxcbiAgYW5pbWF0ZTogdHJ1ZSxcbiAgZGlzYWJsZUNsdXN0ZXJpbmdBdFpvb206IDEyLFxuICByZW1vdmVPdXRzaWRlVmlzaWJsZUJvdW5kczogZmFsc2UsXG4gIGNodW5rZWRMb2FkaW5nOiB0cnVlLFxuICBpY29uQ3JlYXRlRnVuY3Rpb246IChjbHVzdGVyKSA9PiB7XG4gICAgcmV0dXJuIG5ldyBMLkRpdkljb24oe1xuICAgICAgaHRtbDogYDxkaXY+PHNwYW4+JHtjbHVzdGVyLl9jaGlsZENvdW50fTwvc3Bhbj48L2Rpdj5cbiAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdtYXJrZXItY2x1c3Rlci1uYW1lJz4ke2kxOG4udCgnaW5kdXN0cmllcycpfTwvZGl2PmAsXG4gICAgICBjbGFzc05hbWU6ICdtYXJrZXItY2x1c3RlcicsXG4gICAgICBpY29uU2l6ZTogbmV3IEwuUG9pbnQoNDAsIDQwKSxcbiAgICB9KTtcbiAgfSxcbn07XG5cbmV4cG9ydCBjb25zdCB6b29tTGV2ZWxzID0ge1xuICAxOiAnWExhcmdlJyxcbiAgMjogJ1hMYXJnZScsXG4gIDM6ICdYTGFyZ2UnLFxuICA0OiAnWExhcmdlJyxcbiAgNTogJ1hMYXJnZScsXG4gIDY6ICdYTGFyZ2UnLFxuICA3OiAnTGFyZ2UnLFxuICA4OiAnTGFyZ2UnLFxuICA5OiAnTGFyZ2UnLFxuICAxMDogJ0xhcmdlJyxcbiAgMTE6ICdNTGFyZ2UnLFxuICAxMjogJ01MYXJnZScsXG4gIDEzOiAnTUxhcmdlJyxcbiAgMTQ6ICdNTGFyZ2UnLFxuICAxNTogJ01lZGl1bScsXG4gIDE2OiAnTWVkaXVtJyxcbiAgMTc6ICdTbWFsbCcsXG4gIDE4OiAnU21hbGwnLFxufTtcblxuZXhwb3J0IGNvbnN0IGZpbHRlclBvaW50cyA9IChwb2ludHMsIGhhc0RldmljZSkgPT5cbiAgcG9pbnRzLmZpbHRlcigocG9pbnQpID0+IHBvaW50Lmhhc19kZXZpY2UgPT09IGhhc0RldmljZSk7XG5cbmV4cG9ydCBjb25zdCBmaW5kUG9pbnQgPSAocG9pbnRzLCBwb2ludElkLCBoYXNEZXZpY2VDaGVjaykgPT5cbiAgcG9pbnRzLmZpbmQoKHBvaW50KSA9PiBwb2ludC5pZCA9PT0gcG9pbnRJZCAmJiBoYXNEZXZpY2VDaGVjayhwb2ludCkpO1xuXG5leHBvcnQgY29uc3QgZmlsdGVyRWRnZXMgPSAoZWRnZXMsIHBvaW50cywgaXNNb25pdG9yZWQpID0+XG4gIGVkZ2VzLmZpbHRlcigoZWRnZSkgPT4ge1xuICAgIGNvbnN0IHNvdXJjZVBvaW50ID0gZmluZFBvaW50KHBvaW50cywgZWRnZS5zb3VyY2VfcG9pbnRfaWQsIChwb2ludCkgPT5cbiAgICAgIGlzTW9uaXRvcmVkXG4gICAgICAgID8gcG9pbnQuaGFzX2RldmljZSB8fCBlZGdlLmRlc2NlbmRhbnRzX2hhc19kZXZpY2VcbiAgICAgICAgOiAhcG9pbnQuZGVzY2VuZGFudHNfaGFzX2RldmljZSxcbiAgICApO1xuXG4gICAgY29uc3QgcGFyZW50UG9pbnQgPSBmaW5kUG9pbnQocG9pbnRzLCBlZGdlLnRhcmdldF9wb2ludF9pZCwgKHBvaW50KSA9PlxuICAgICAgaXNNb25pdG9yZWRcbiAgICAgICAgPyBlZGdlLmRlc2NlbmRhbnRzX2hhc19kZXZpY2UgfHwgc291cmNlUG9pbnQgIT09IHVuZGVmaW5lZFxuICAgICAgICA6ICFwb2ludC5kZXNjZW5kYW50c19oYXNfZGV2aWNlLFxuICAgICk7XG5cbiAgICByZXR1cm4gc291cmNlUG9pbnQgJiYgcGFyZW50UG9pbnQ7XG4gIH0pO1xuXG5leHBvcnQgY29uc3Qgc2V0dXBDaGVja2JveExpc3RlbmVyID0gKHNlbGVjdG9yLCBvbkNoYW5nZSkgPT4ge1xuICBjb25zdCBjaGVja2JveCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3Ioc2VsZWN0b3IpO1xuICBpZiAoY2hlY2tib3ggPT09IG51bGwpIHJldHVybjtcbiAgY2hlY2tib3guYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgKCkgPT4gb25DaGFuZ2UoY2hlY2tib3guY2hlY2tlZCkpO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFBQSxRQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxRQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxLQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRyxtQkFBQSxHQUFBSCxPQUFBO0FBRU8sSUFBTUksY0FBYyxHQUFHLFNBQWpCQSxjQUFjQSxDQUFJQyxNQUFNLEVBQUVDLFdBQVcsRUFBRUMsY0FBYyxFQUFLO0VBQ3JFLElBQUlDLFdBQWdCLEdBQUdILE1BQU0sQ0FBQ0ksT0FBTztFQUNyQyxJQUFJSCxXQUFXLENBQUNDLGNBQWMsQ0FBQyxFQUFFO0lBQy9CQyxXQUFXLENBQUNFLFNBQVMsQ0FBQ0gsY0FBYyxFQUFFO01BQUVJLE9BQU8sRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQUUsQ0FBQyxDQUFDO0VBQzVELENBQUMsTUFBTTtJQUNMLElBQU1DLEtBQVksR0FBRyxFQUFFO0lBRXZCLEtBQUssSUFBTUMsUUFBUSxJQUFJTCxXQUFXLENBQUNNLE9BQU8sRUFBRTtNQUMxQyxJQUNFTixXQUFXLENBQUNNLE9BQU8sQ0FBQ0QsUUFBUSxDQUFDLENBQUNFLFlBQVksS0FBSyxNQUFNLElBQ3JEUCxXQUFXLENBQUNNLE9BQU8sQ0FBQ0QsUUFBUSxDQUFDLENBQUNFLFlBQVksS0FBSyxPQUFPLEVBQ3REO1FBQ0FILEtB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
|
|
405
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2FjdGlvbnMiLCJfaTE4biIsIl9XV1RQRGFzaGJvYXJkU2xpY2UiLCJhcmVhRm9jdXNMb2dpYyIsIm1hcFJlZiIsImlzVmFsaWRBcmVhIiwiYXJlYVRvQ2VudGVyQnkiLCJtYXBJbnN0YW5jZSIsImN1cnJlbnQiLCJmaXRCb3VuZHMiLCJwYWRkaW5nIiwiZ3JvdXAiLCJwcm9wZXJ0eSIsIl9sYXllcnMiLCJrYW5kb19vYmplY3QiLCJwdXNoIiwiT2JqZWN0Iiwia2V5cyIsIkwiLCJmZWF0dXJlR3JvdXAiLCJnZXRCb3VuZHMiLCJsZW5ndGgiLCJleHBvcnRzIiwiYXJlYSIsInNob3VsZExvYWRNYXBPYmplY3RzIiwiZ2xvYmFsX2RhdGEiLCJwb2ludHMiLCJlZGdlcyIsIm1hcCIsInVuZGVmaW5lZCIsInNob3VkTG9hZERlcGVuZGVudE1hcE9iamVjdHMiLCJhcmVhcyIsImdsb2JhbCIsImZpbmRTcGVjaWZpY0xheWVyc0Zyb21NYXAiLCJsYXllcnNUb0ZpbmQiLCJjdXJyZW50TGF5ZXIiLCJpbmNsdWRlcyIsImthbmRvX3BvaW50X3R5cGUiLCJldmVudHNDb3VudGVySWNvbnMiLCJsYXllciIsInpvb21MZXZlbCIsImljb24iLCJvcHRpb25zIiwiaWNvblNpemUiLCJldmVudHNDb3VudEljb24iLCJpY29uQW5jaG9yIiwic2V0SWNvbiIsInNldE9wYWNpdHkiLCJtdWx0aXBsZUxheWVyZWRJY29ucyIsImlzQUZld0xheWVySWNvbiIsImthbmRvX2Zld19sYXllcl9pY29uIiwibWluaUljb24iLCJwcmVzZW50Iiwia2FuZG9fc2Vjb25kYXJ5Iiwia2FuZG9fdGhpcmQiLCJzZWNvbmRhcnkiLCJ0aGlyZCIsImthbmRvX2luZGV4X29iamVjdCIsImJ1YmJsZUljb25PcHRpb25zIiwib25lTGF5ZXJJY29uT3B0aW9ucyIsIm1pZGRsZUljb25PcHRpb25zIiwidG9wSWNvbk9wdGlvbnMiLCJpY29uWm9vbUNvbnRyb2wiLCJsYXllcnMiLCJfem9vbSIsIm1hcFN0eWxlIiwibWFwQm94U3R5bGUiLCJ0aWxlTGF5ZXIiLCJjb25jYXQiLCJhdHRyaWJ1dGlvbiIsIm1heFpvb20iLCJtaW5ab29tIiwiaWQiLCJ0aWxlU2l6ZSIsInpvb21PZmZzZXQiLCJ1cGRhdGVXaGVuWm9vbWluZyIsInVwZGF0ZVdoZW5JZGxlIiwiYmFzZU1hcHMiLCJtYXBCb3hTYXRlbGxpdGVTdHlsZSIsIl9yZWYiLCJkZWZhdWx0TWFwIiwiaTE4biIsInQiLCJzYXRlbGxpdGUiLCJfZGVmaW5lUHJvcGVydHkyIiwiZGVmYXVsdCIsInRvZ2dsZUVkZ2VzVmlzaWJpbGl0eSIsInZpc2libGUiLCJlYWNoTGF5ZXIiLCJQb2x5bGluZSIsIlN5bWJvbCIsImFycm93SGVhZCIsInNldFN0eWxlIiwib3BhY2l0eSIsInRvZ2dsZU1vbml0b3JlZFBvaW50c1Zpc2liaWxpdHkiLCJjb25zb2xlIiwid2FybiIsImVkZ2VzU3BlY2lmaWNMb2dpYyIsImRlZmF1bHRPbiIsImNoZWNrYm94IiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yIiwiY2hlY2tlZCIsImN1c3RvbUNvbnRyb2xzIiwibGFiZWwiLCJpbnB1dFR5cGUiLCJkZW55Rm9yV2EiLCJvbkNoYW5nZSIsImlzQ2hlY2tlZCIsImFwcGVuZEN1c3RvbUNoZWNrYm94VG9MZWFmbGV0c0xheWVyQm94IiwibGVhZmxldHNDb250YWluZXIiLCJjdXN0b21Db250YWluZXIiLCJEb21FdmVudCIsIm9uIiwic3R5bGUiLCJkaXNwbGF5IiwiY3JlYXRlQ3VzdG9tQ29udHJvbCIsImNvbnRyb2wiLCJjb250YWluZXIiLCJjb250cm9sQ29udGFpbmVyIiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsImlubmVySFRNTCIsImFkZEV2ZW50TGlzdGVuZXIiLCJlIiwidGFyZ2V0IiwiYXBwZW5kQ2hpbGQiLCJjdXN0b21GdW5jdGlvbmFsaXR5Rm9yTWFwTGF5ZXJzIiwibWFwVHlwZXMiLCJhcmd1bWVudHMiLCJ3YUlkIiwiZm9yV1dUUERhc2hib2FyZCIsImNvbnRyb2xsZXIiLCJwb3NpdGlvbiIsImFkZFRvIiwiZ2V0Q29udGFpbmVyIiwiZm9yRWFjaCIsImluaXRpYWxpemVNYXAiLCJtYXBab29tTGV2ZWwiLCJkaXNwYXRjaCIsInNldE1hcFpvb21MZXZlbCIsInNob3dFZGdlc0J5RGVmYXVsdCIsIk1hcCIsImNlbnRlciIsInpvb21TbmFwIiwiem9vbSIsImF0dHJpYnV0aW9uQ29udHJvbCIsInByZWZlckNhbnZhcyIsInNldE1hcCIsIndoZW5SZWFkeSIsInZhbHVlcyIsInNldFRpbWVvdXQiLCJpbnZhbGlkYXRlU2l6ZSIsImVyciIsImVycm9yIiwic3RvcmVNYXAiLCJzaWRlTmF2RXhwYW5kZWQiLCJldmVudCIsIm9yaWdpbmFsRXZlbnQiLCJrZXkiLCJjbG9zZVBvcHVwIiwiYm9keSIsImZvY3VzIiwiZ2V0Wm9vbSIsImNsdXN0ZXJHcm91cE9wdGlvbnMiLCJzcGlkZXJmeU9uTWF4Wm9vbSIsInNob3dDb3ZlcmFnZU9uSG92ZXIiLCJ6b29tVG9Cb3VuZHNPbkNsaWNrIiwiYW5pbWF0ZSIsImRpc2FibGVDbHVzdGVyaW5nQXRab29tIiwicmVtb3ZlT3V0c2lkZVZpc2libGVCb3VuZHMiLCJjaHVua2VkTG9hZGluZyIsImljb25DcmVhdGVGdW5jdGlvbiIsImNsdXN0ZXIiLCJEaXZJY29uIiwiaHRtbCIsIl9jaGlsZENvdW50IiwiUG9pbnQiLCJ6b29tTGV2ZWxzIiwiZmlsdGVyUG9pbnRzIiwiaGFzRGV2aWNlIiwiZmlsdGVyIiwicG9pbnQiLCJoYXNfZGV2aWNlIiwiZmluZFBvaW50IiwicG9pbnRJZCIsImhhc0RldmljZUNoZWNrIiwiZmluZCIsImZpbHRlckVkZ2VzIiwiaXNNb25pdG9yZWQiLCJlZGdlIiwic291cmNlUG9pbnQiLCJzb3VyY2VfcG9pbnRfaWQiLCJkZXNjZW5kYW50c19oYXNfZGV2aWNlIiwicGFyZW50UG9pbnQiLCJ0YXJnZXRfcG9pbnRfaWQiLCJzZXR1cENoZWNrYm94TGlzdGVuZXIiLCJzZWxlY3RvciJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9NYXBVdGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTCwgeyBQb2ludFR1cGxlIH0gZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgeyBzaWRlTmF2RXhwYW5kZWQsIHN0b3JlTWFwIH0gZnJvbSAnLi4vLi4vc3RvcmUvZ2xvYmFsL2FjdGlvbnMnO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCB7IHNldE1hcCB9IGZyb20gJy4uLy4uL3N0b3JlL1dXVFBEYXNoYm9hcmQvV1dUUERhc2hib2FyZFNsaWNlJztcblxuZXhwb3J0IGNvbnN0IGFyZWFGb2N1c0xvZ2ljID0gKG1hcFJlZiwgaXNWYWxpZEFyZWEsIGFyZWFUb0NlbnRlckJ5KSA9PiB7XG4gIGxldCBtYXBJbnN0YW5jZTogYW55ID0gbWFwUmVmLmN1cnJlbnQ7XG4gIGlmIChpc1ZhbGlkQXJlYShhcmVhVG9DZW50ZXJCeSkpIHtcbiAgICBtYXBJbnN0YW5jZS5maXRCb3VuZHMoYXJlYVRvQ2VudGVyQnksIHsgcGFkZGluZzogWzAsIDBdIH0pO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IGdyb3VwOiBhbnlbXSA9IFtdO1xuXG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBtYXBJbnN0YW5jZS5fbGF5ZXJzKSB7XG4gICAgICBpZiAoXG4gICAgICAgIG1hcEluc3RhbmNlLl9sYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdCA9PT0gJ0FyZWEnIHx8XG4gICAgICAgIG1hcEluc3RhbmNlLl9sYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdCA9PT0gJ1BvaW50J1xuICAgICAgKSB7XG4gICAgICAgIGdyb3VwLnB1c2gobWFwSW5zdGFuY2UuX2xheWVyc1twcm9wZXJ0eV0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChPYmplY3Qua2V5cyhMLmZlYXR1cmVHcm91cChncm91cCkuZ2V0Qm91bmRzKCkpLmxlbmd0aCAhPT0gMCkge1xuICAgICAgbWFwSW5zdGFuY2UuZml0Qm91bmRzKEwuZmVhdHVyZUdyb3VwKGdyb3VwKS5nZXRCb3VuZHMoKSwge1xuICAgICAgICBwYWRkaW5nOiBbMTAwLCAxMDBdLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG4gIC8vIG1hcEluc3RhbmNlLmludmFsaWRhdGVTaXplKHRydWUpO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzVmFsaWRBcmVhID0gKGFyZWEpID0+IHtcbiAgcmV0dXJuIGFyZWEgJiYgYXJlYS5sZW5ndGggPiAwICYmIE9iamVjdC5rZXlzKGFyZWFbMF0pLmxlbmd0aCA+IDA7XG59O1xuXG5leHBvcnQgY29uc3Qgc2hvdWxkTG9hZE1hcE9iamVjdHMgPSAoZ2xvYmFsX2RhdGEsIG1hcFJlZiwgcG9pbnRzLCBlZGdlcykgPT4ge1xuICByZXR1cm4gKFxuICAgIGdsb2JhbF9kYXRhLm1hcCAhPT0gdW5kZWZpbmVkICYmXG4gICAgbWFwUmVmLmN1cnJlbnQgIT09IG51bGwgJiZcbiAgICBlZGdlcyAhPT0gdW5kZWZpbmVkICYmXG4gICAgcG9pbnRzICE9PSB1bmRlZmluZWRcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBzaG91ZExvYWREZXBlbmRlbnRNYXBPYmplY3RzID0gKFxuICBlZGdlcyxcbiAgYXJlYXMsXG4gIGdsb2JhbCxcbiAgbWFwUmVmLFxuICBwb2ludHMsXG4pID0+IHtcbiAgcmV0dXJuIChcbiAgICBnbG9iYWwubWFwICE9PSB1bmRlZmluZWQgJiZcbiAgICBtYXBSZWYuY3VycmVudCAhPT0gbnVsbCAmJlxuICAgIC8vIGVkZ2VzLmxlbmd0aCAhPT0gMCAmJlxuICAgIC8vIGFyZWFzLmxlbmd0aCAhPT0gMCAmJlxuICAgIHBvaW50cy5sZW5ndGggIT09IDBcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBmaW5kU3BlY2lmaWNMYXllcnNGcm9tTWFwID0gKFxuICBsYXllcnNUb0ZpbmQ6IHN0cmluZ1tdLFxuICBjdXJyZW50TGF5ZXIsXG4pID0+IHtcbiAgcmV0dXJuIChcbiAgICBsYXllcnNUb0ZpbmQuaW5jbHVkZXMoY3VycmVudExheWVyLmthbmRvX29iamVjdCkgJiZcbiAgICBjdXJyZW50TGF5ZXIua2FuZG9fcG9pbnRfdHlwZSAhPT0gJ01hbmhvbGUnXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgZXZlbnRzQ291bnRlckljb25zID0gKGxheWVyLCB6b29tTGV2ZWwpID0+IHtcbiAgbGV0IGljb24gPSBsYXllci5vcHRpb25zLmljb247XG4gIGljb24ub3B0aW9ucy5pY29uU2l6ZSA9IGV2ZW50c0NvdW50SWNvbih6b29tTGV2ZWwpLmljb25TaXplO1xuICBpY29uLm9wdGlvbnMuaWNvbkFuY2hvciA9IGV2ZW50c0NvdW50SWNvbih6b29tTGV2ZWwpLmljb25BbmNob3I7XG4gIGxheWVyLnNldEljb24oaWNvbik7XG4gIGxheWVyLnNldE9wYWNpdHkoMSk7XG59O1xuXG5leHBvcnQgY29uc3QgbXVsdGlwbGVMYXllcmVkSWNvbnMgPSAobGF5ZXIsIHpvb21MZXZlbCkgPT4ge1xuICBsZXQgaWNvbiA9IGxheWVyLm9wdGlvbnMuaWNvbjtcbiAgbGV0IGlzQUZld0xheWVySWNvbiA9IGxheWVyLmthbmRvX2Zld19sYXllcl9pY29uO1xuICBsZXQgbWluaUljb24gPSB7XG4gICAgcHJlc2VudDogbGF5ZXIua2FuZG9fc2Vjb25kYXJ5IHx8IGxheWVyLmthbmRvX3RoaXJkLFxuICAgIHNlY29uZGFyeTogbGF5ZXIua2FuZG9fc2Vjb25kYXJ5LFxuICAgIHRoaXJkOiBsYXllci5rYW5kb190aGlyZCxcbiAgfTtcblxuICBpZiAobGF5ZXIua2FuZG9faW5kZXhfb2JqZWN0ID09PSAwKSB7XG4gICAgaWYgKGlzQUZld0xheWVySWNvbikge1xuICAgICAgaWNvbi5vcHRpb25zLmljb25TaXplID0gYnViYmxlSWNvbk9wdGlvbnMoem9vbUxldmVsLCBtaW5pSWNvbikuaWNvblNpemU7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvbkFuY2hvciA9IGJ1YmJsZUljb25PcHRpb25zKFxuICAgICAgICB6b29tTGV2ZWwsXG4gICAgICAgIG1pbmlJY29uLFxuICAgICAgKS5pY29uQW5jaG9yO1xuICAgIH0gZWxzZSB7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvblNpemUgPSBvbmVMYXllckljb25PcHRpb25zKHpvb21MZXZlbCkuaWNvblNpemU7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvbkFuY2hvciA9IG9uZUxheWVySWNvbk9wdGlvbnMoem9vbUxldmVsKS5pY29uQW5jaG9yO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBpZiAobGF5ZXIua2FuZG9faW5kZXhfb2JqZWN0ID09PSAxKSB7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvblNpemUgPSBtaWRkbGVJY29uT3B0aW9ucyh6b29tTGV2ZWwsIG1pbmlJY29uKS5pY29uU2l6ZTtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uQW5jaG9yID0gbWlkZGxlSWNvbk9wdGlvbnMoXG4gICAgICAgIHpvb21MZXZlbCxcbiAgICAgICAgbWluaUljb24sXG4gICAgICApLmljb25BbmNob3I7XG4gICAgfSBlbHNlIHtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uU2l6ZSA9IHRvcEljb25PcHRpb25zKHpvb21MZXZlbCwgbWluaUljb24pLmljb25TaXplO1xuICAgICAgaWNvbi5vcHRpb25zLmljb25BbmNob3IgPSB0b3BJY29uT3B0aW9ucyh6b29tTGV2ZWwsIG1pbmlJY29uKS5pY29uQW5jaG9yO1xuICAgIH1cbiAgfVxuXG4gIGxheWVyLnNldEljb24oaWNvbik7XG59O1xuXG5jb25zdCBvbmVMYXllckljb25PcHRpb25zID0gKHpvb21MZXZlbCkgPT4ge1xuICByZXR1cm4ge1xuICAgIGljb25TaXplOiBbem9vbUxldmVsICogMy4zLCB6b29tTGV2ZWwgKiAzLjNdIGFzIFBvaW50VHVwbGUsXG4gICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIDEuNywgem9vbUxldmVsICogMy43XSBhcyBQb2ludFR1cGxlLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGV2ZW50c0NvdW50SWNvbiA9ICh6b29tTGV2ZWwpID0+IHtcbiAgcmV0dXJuIHtcbiAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDIuNSwgem9vbUxldmVsICogMi41XSBhcyBQb2ludFR1cGxlLFxuICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAwLCB6b29tTGV2ZWwgKiA0XSBhcyBQb2ludFR1cGxlLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGJ1YmJsZUljb25PcHRpb25zID0gKHpvb21MZXZlbCwgbWluaUljb24pID0+IHtcbiAgaWYgKG1pbmlJY29uLnByZXNlbnQpIHtcbiAgICBpZiAobWluaUljb24uc2Vjb25kYXJ5KSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDEuOTgsIHpvb21MZXZlbCAqIDIuM10gYXMgUG9pbnRUdXBsZSxcbiAgICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIDAsIHpvb21MZXZlbCAqIDRdIGFzIFBvaW50VHVwbGUsXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDEuOTgsIHpvb21MZXZlbCAqIDIuM10gYXMgUG9pbnRUdXBsZSxcbiAgICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIDAsIHpvb21MZXZlbCAqIDJdIGFzIFBvaW50VHVwbGUsXG4gICAgICB9O1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAzLjk4LCB6b29tTGV2ZWwgKiA0LjNdIGFzIFBvaW50VHVwbGUsXG4gICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogMiwgem9vbUxldmVsICogNF0gYXMgUG9pbnRUdXBsZSxcbiAgICB9O1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgbWlkZGxlSWNvbk9wdGlvbnMgPSAoem9vbUxldmVsLCBtaW5pSWNvbikgPT4ge1xuICBpZiAobWluaUljb24ucHJlc2VudCkge1xuICAgIGlmIChtaW5pSWNvbi5zZWNvbmRhcnkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGljb25TaXplOiBbem9vbUxldmVsICogMS4xLCB6b29tTGV2ZWwgKiAxLjFdLFxuICAgICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogLTAuNDUsIHpvb21MZXZlbCAqIDMuNV0sXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDEuMSwgem9vbUxldmVsICogMS4xXSxcbiAgICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIC0wLjQ1LCB6b29tTGV2ZWwgKiAxLjVdLFxuICAgICAgfTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGljb25TaXplOiBbem9vbUxldmVsICogMi41LCB6b29tTGV2ZWwgKiAyLjVdLFxuICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIDEuMjk1LCB6b29tTGV2ZWwgKiAzLjM1XSxcbiAgICB9O1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgdG9wSWNvbk9wdGlvbnMgPSAoem9vbUxldmVsLCBtaW5pSWNvbikgPT4ge1xuICBpZiAobWluaUljb24ucHJlc2VudCkge1xuICAgIGlmIChtaW5pSWNvbi5zZWNvbmRhcnkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGljb25TaXplOiBbem9vbUxldmVsICogMC45LCB6b29tTGV2ZWwgKiAxLjhdLFxuICAgICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogLTAuNSwgem9vbUxldmVsICogMy44XSxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGljb25TaXplOiBbem9vbUxldmVsICogMS42LCB6b29tTGV2ZWwgKiAyLjVdLFxuICAgICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogLTAuMiwgem9vbUxldmVsICogMi4xXSxcbiAgICAgIH07XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHJldHVybiB7XG4gICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDMuOSwgem9vbUxldmVsICogMy44XSxcbiAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAyLCB6b29tTGV2ZWwgKiAzLjhdLFxuICAgIH07XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBpY29uWm9vbUNvbnRyb2wgPSAobWFwKSA9PiB7XG4gIGxldCBsYXllcnMgPSBtYXAuX2xheWVycztcbiAgbGV0IHpvb21MZXZlbCA9IG1hcC5fem9vbTtcblxuICBmb3IgKGNvbnN0IHByb3BlcnR5IGluIGxheWVycykge1xuICAgIGlmIChmaW5kU3BlY2lmaWNMYXllcnNGcm9tTWFwKFsnSWNvbk51bWJlciddLCBsYXllcnNbcHJvcGVydHldKSkge1xuICAgICAgZXZlbnRzQ291bnRlckljb25zKGxheWVyc1twcm9wZXJ0eV0sIHpvb21MZXZlbCk7XG4gICAgfVxuXG4gICAgaWYgKGZpbmRTcGVjaWZpY0xheWVyc0Zyb21NYXAoWydQb2ludCcsICdJY29uJ10sIGxheWVyc1twcm9wZXJ0eV0pKSB7XG4gICAgICBtdWx0aXBsZUxheWVyZWRJY29ucyhsYXllcnNbcHJvcGVydHldLCB6b29tTGV2ZWwpO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIGZpbmRTcGVjaWZpY0xheWVyc0Zyb21NYXAoWydTYW1wbGluZycsICdPYnNlcnZhdGlvbiddLCBsYXllcnNbcHJvcGVydHldKVxuICAgICkge1xuICAgICAgbXVsdGlwbGVMYXllcmVkSWNvbnMobGF5ZXJzW3Byb3BlcnR5XSwgem9vbUxldmVsKTtcbiAgICB9XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBtYXBTdHlsZSA9IChtYXBCb3hTdHlsZSkgPT4ge1xuICByZXR1cm4gTC50aWxlTGF5ZXIoXG4gICAgYGh0dHBzOi8vYXBpLm1hcGJveC5jb20vc3R5bGVzL3YxL25hZGF2LWthbmRvLyR7bWFwQm94U3R5bGV9L3RpbGVzLzI1Ni97en0ve3h9L3t5fUAyeD9hY2Nlc3NfdG9rZW49cGsuZXlKMUlqb2libUZrWVhZdGEyRnVaRzhpTENKaElqb2lZMnB2ZUhwcmRHUnhNSGxtZERONGJEZzBkekp4T1hjNGRTSjkuSi0yb2hxN2o0eUtOYm00Tl8tUDZxd2AsXG4gICAge1xuICAgICAgYXR0cmlidXRpb246XG4gICAgICAgICdNYXAgZGF0YSAmY29weTsgPGEgaHJlZj1cImh0dHBzOi8vd3d3Lm9wZW5zdHJlZXRtYXAub3JnL1wiPk9wZW5TdHJlZXRNYXA8L2E+IGNvbnRyaWJ1dG9ycywgPGEgaHJlZj1cImh0dHBzOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS1zYS8yLjAvXCI+Q0MtQlktU0E8L2E+LCBJbWFnZXJ5IMKpIDxhIGhyZWY9XCJodHRwczovL3d3dy5tYXBib3guY29tL1wiPk1hcGJveDwvYT4nLFxuICAgICAgbWF4Wm9vbTogMTgsXG4gICAgICBtaW5ab29tOiAyLFxuICAgICAgaWQ6ICdtYXBib3gvc3RyZWV0cy12MTEnLFxuICAgICAgdGlsZVNpemU6IDUxMixcbiAgICAgIHpvb21PZmZzZXQ6IC0xLFxuICAgICAgdXBkYXRlV2hlblpvb21pbmc6IGZhbHNlLFxuICAgICAgdXBkYXRlV2hlbklkbGU6IGZhbHNlLFxuICAgIH0sXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgYmFzZU1hcHMgPSAobWFwQm94U3R5bGUsIG1hcEJveFNhdGVsbGl0ZVN0eWxlKSA9PiB7XG4gIGxldCBkZWZhdWx0TWFwID0gaTE4bi50KCdtYXAubGF5ZXJzLmRlZmF1bHQnKTtcbiAgbGV0IHNhdGVsbGl0ZSA9IGkxOG4udCgnbWFwLmxheWVycy5zYXRlbGxpdGUnKTtcbiAgcmV0dXJuIHtcbiAgICBbZGVmYXVsdE1hcF06IG1hcFN0eWxlKG1hcEJveFN0eWxlKSxcbiAgICBbc2F0ZWxsaXRlXTogbWFwU3R5bGUobWFwQm94U2F0ZWxsaXRlU3R5bGUpLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IHRvZ2dsZUVkZ2VzVmlzaWJpbGl0eSA9ICh2aXNpYmxlLCBtYXApID0+IHtcbiAgbWFwLmVhY2hMYXllcigobGF5ZXIpID0+IHtcbiAgICBpZiAoXG4gICAgICAobGF5ZXIgaW5zdGFuY2VvZiBMLlBvbHlsaW5lICYmIGxheWVyLmthbmRvX29iamVjdCAhPT0gJ0FyZWEnKSB8fFxuICAgICAgbGF5ZXIgaW5zdGFuY2VvZiBMLlN5bWJvbC5hcnJvd0hlYWRcbiAgICApIHtcbiAgICAgIGxheWVyLnNldFN0eWxlKHsgb3BhY2l0eTogdmlzaWJsZSA/IDEgOiAwIH0pO1xuICAgIH1cbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgdG9nZ2xlTW9uaXRvcmVkUG9pbnRzVmlzaWJpbGl0eSA9ICh2aXNpYmxlKSA9PiB7XG4gIGNvbnNvbGUud2FybigndG9nZ2xlTW9uaXRvcmVkUG9pbnRzVmlzaWJpbGl0eScsIHZpc2libGUpO1xufTtcblxuZXhwb3J0IGNvbnN0IGVkZ2VzU3BlY2lmaWNMb2dpYyA9IChkZWZhdWx0T24sIG1hcCkgPT4ge1xuICBsZXQgY2hlY2tib3ggPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjZWRnZXMtY2hlY2tib3gnKTtcbiAgaWYgKGNoZWNrYm94ID09IG51bGwpIHJldHVybjtcbiAgY2hlY2tib3guY2hlY2tlZCA9IGRlZmF1bHRPbjtcbn07XG5cbmNvbnN0IGN1c3RvbUNvbnRyb2xzID0gKG1hcCkgPT4ge1xuICByZXR1cm4gW1xuICAgIHtcbiAgICAgIGxhYmVsOiBpMThuLnQoJ21hcC5sYXllcnMubmV0d29ya19saW5lcycpLFxuICAgICAgaWQ6ICdlZGdlcy1jaGVja2JveCcsXG4gICAgICBpbnB1dFR5cGU6ICdjaGVja2JveCcsXG4gICAgICBkZW55Rm9yV2E6IFs1MThdLFxuICAgICAgb25DaGFuZ2U6IChpc0NoZWNrZWQpID0+IHRvZ2dsZUVkZ2VzVmlzaWJpbGl0eShpc0NoZWNrZWQsIG1hcCksXG4gICAgfSxcblxuICAgIHtcbiAgICAgIGxhYmVsOiAnU2hvdyBvbmx5IG1vbml0b3JlZCBwb2ludHMnLFxuICAgICAgaWQ6ICdtb25pdG9yZWQtcG9pbnRzLWNoZWNrYm94JyxcbiAgICAgIGlucHV0VHlwZTogJ2NoZWNrYm94JyxcbiAgICAgIG9uQ2hhbmdlOiAoaXNDaGVja2VkKSA9PiB0b2dnbGVNb25pdG9yZWRQb2ludHNWaXNpYmlsaXR5KGlzQ2hlY2tlZCksXG4gICAgfSxcblxuICAgIC8vIHtcbiAgICAvLyAgIGxhYmVsOiAnQW5vdGhlciBjdXN0b20gZmVhdHVyZScsXG4gICAgLy8gICBpZDogJ2N1c3RvbS1mZWF0dXJlLWNoZWNrYm94JyxcbiAgICAvLyAgIGlucHV0VHlwZTogJ2NoZWNrYm94JyxcbiAgICAvLyAgIG9uQ2hhbmdlOiAoaXNDaGVja2VkKSA9PiBjb25zb2xlLmxvZyhgQW5vdGhlciBmZWF0dXJlIGlzIG5vdyAke2lzQ2hlY2tlZCA/ICdlbmFibGVkJyA6ICdkaXNhYmxlZCd9YCksXG4gICAgLy8gfSxcbiAgXTtcbn07XG5cbmNvbnN0IGFwcGVuZEN1c3RvbUNoZWNrYm94VG9MZWFmbGV0c0xheWVyQm94ID0gKFxuICBsZWFmbGV0c0NvbnRhaW5lcixcbiAgY3VzdG9tQ29udGFpbmVyLFxuKSA9PiB7XG4gIEwuRG9tRXZlbnQub24obGVhZmxldHNDb250YWluZXIsICdtb3VzZW92ZXInLCBmdW5jdGlvbiAoKSB7XG4gICAgY3VzdG9tQ29udGFpbmVyLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snO1xuICB9KTtcblxuICBMLkRvbUV2ZW50Lm9uKGxlYWZsZXRzQ29udGFpbmVyLCAnbW91c2VvdXQnLCBmdW5jdGlvbiAoKSB7XG4gICAgY3VzdG9tQ29udGFpbmVyLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gIH0pO1xufTtcblxuY29uc3QgY3JlYXRlQ3VzdG9tQ29udHJvbCA9IChjb250cm9sLCBjb250YWluZXIpID0+IHtcbiAgbGV0IGNvbnRyb2xDb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgY29udHJvbENvbnRhaW5lci5jbGFzc05hbWUgPSAnbGVhZmxldC1jb250cm9sLWxheWVycy1vdmVybGF5cyc7XG4gIGNvbnRyb2xDb250YWluZXIuaW5uZXJIVE1MID0gYFxuICAgICAgPGxhYmVsPlxuICAgICAgICA8aW5wdXQgdHlwZT1cIiR7Y29udHJvbC5pbnB1dFR5cGV9XCIgaWQ9XCIke2NvbnRyb2wuaWR9XCIgLz4gJHtjb250cm9sLmxhYmVsfVxuICAgICAgPC9sYWJlbD5cbiAgICBgO1xuXG4gIGNvbnRyb2xDb250YWluZXJcbiAgICAucXVlcnlTZWxlY3RvcihgIyR7Y29udHJvbC5pZH1gKVxuICAgIC5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCBmdW5jdGlvbiAoZSkge1xuICAgICAgY29uc3QgaXNDaGVja2VkID0gZS50YXJnZXQuY2hlY2tlZDtcbiAgICAgIGNvbnRyb2wub25DaGFuZ2UoaXNDaGVja2VkKTtcbiAgICB9KTtcblxuICBjb250cm9sQ29udGFpbmVyLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gIGNvbnRhaW5lcj8uYXBwZW5kQ2hpbGQoY29udHJvbENvbnRhaW5lcik7XG5cbiAgYXBwZW5kQ3VzdG9tQ2hlY2tib3hUb0xlYWZsZXRzTGF5ZXJCb3goY29udGFpbmVyLCBjb250cm9sQ29udGFpbmVyKTtcbn07XG5cbmV4cG9ydCBjb25zdCBjdXN0b21GdW5jdGlvbmFsaXR5Rm9yTWFwTGF5ZXJzID0gKFxuICBtYXAsXG4gIG1hcFR5cGVzLFxuICBkZWZhdWx0T24gPSB0cnVlLFxuICB3YUlkLFxuICBmb3JXV1RQRGFzaGJvYXJkLFxuKSA9PiB7XG4gIGxldCBjb250cm9sbGVyID0gTC5jb250cm9sXG4gICAgLmxheWVycyhtYXBUeXBlcywge30sIHsgcG9zaXRpb246ICdib3R0b21yaWdodCcgfSlcbiAgICAuYWRkVG8obWFwKTtcbiAgbGV0IGNvbnRhaW5lciA9IGNvbnRyb2xsZXIuZ2V0Q29udGFpbmVyKCk7XG5cbiAgaWYgKGZvcldXVFBEYXNoYm9hcmQpIHtcbiAgICBjdXN0b21Db250cm9scyhtYXApLmZvckVhY2goKGNvbnRyb2wpID0+IHtcbiAgICAgIGlmIChjb250cm9sLmRlbnlGb3JXYSAmJiBjb250cm9sLmRlbnlGb3JXYS5pbmNsdWRlcyh3YUlkKSkgcmV0dXJuO1xuXG4gICAgICBjcmVhdGVDdXN0b21Db250cm9sKGNvbnRyb2wsIGNvbnRhaW5lcik7XG4gICAgICBlZGdlc1NwZWNpZmljTG9naWMoZGVmYXVsdE9uLCBtYXApO1xuICAgIH0pO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgaW5pdGlhbGl6ZU1hcCA9IChcbiAgbWFwWm9vbUxldmVsLFxuICBtYXBCb3hTdHlsZSxcbiAgbWFwQm94U2F0ZWxsaXRlU3R5bGUsXG4gIG1hcFJlZixcbiAgZGlzcGF0Y2gsXG4gIGlzVmFsaWRBcmVhLFxuICBhcmVhVG9DZW50ZXJCeSxcbiAgc2V0TWFwWm9vbUxldmVsLFxuICBmb3JXV1RQRGFzaGJvYXJkLFxuICBzaG93RWRnZXNCeURlZmF1bHQsXG4gIHdhSWQgPSAwLFxuKSA9PiB7XG4gIC8vIEB0cy1pZ25vcmVcbiAgbWFwUmVmLmN1cnJlbnQgPSBuZXcgTC5NYXAoJ21hcCcsIHtcbiAgICBjZW50ZXI6IFswLCAwXSxcbiAgICB6b29tU25hcDogMSxcbiAgICB6b29tOiBtYXBab29tTGV2ZWwsXG4gICAgYXR0cmlidXRpb25Db250cm9sOiBmYWxzZSxcbiAgICBwcmVmZXJDYW52YXM6IGZhbHNlLFxuICB9KTtcblxuICBpZiAoZm9yV1dUUERhc2hib2FyZCkgZGlzcGF0Y2goc2V0TWFwKG1hcFJlZi5jdXJyZW50KSk7XG5cbiAgbWFwUmVmLmN1cnJlbnQud2hlblJlYWR5KCgpID0+IHtcbiAgICBsZXQgbWFwID0gbWFwUmVmLmN1cnJlbnQ7XG4gICAgY29uc3QgbWFwVHlwZXMgPSBiYXNlTWFwcyhtYXBCb3hTdHlsZSwgbWFwQm94U2F0ZWxsaXRlU3R5bGUpO1xuXG4gICAgY3VzdG9tRnVuY3Rpb25hbGl0eUZvck1hcExheWVycyhcbiAgICAgIG1hcCxcbiAgICAgIG1hcFR5cGVzLFxuICAgICAgc2hvd0VkZ2VzQnlEZWZhdWx0LFxuICAgICAgd2FJZCxcbiAgICAgIGZvcldXVFBEYXNoYm9hcmQsXG4gICAgKTtcblxuICAgIC8vIFRoZSBuYW1lIG9mIHRoZSBsYXllciBjaGFuZ2VzIGJldHdlZW4gbGFuZ3VhZ2VzIHNvIHRoZXJlIHdhcyBhIG5lZWQgdG8gZ2V0IHRvIHRoZSBmaXJzdCBsYXllclxuICAgIE9iamVjdC52YWx1ZXMobWFwVHlwZXMpWzBdLmFkZFRvKG1hcCk7XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICghbWFwUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0cnkge1xuICAgICAgICBtYXBSZWYuY3VycmVudC5pbnZhbGlkYXRlU2l6ZSh0cnVlKTtcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdlcnInLCBlcnIpO1xuICAgICAgfVxuXG4gICAgICBkaXNwYXRjaChzdG9yZU1hcChtYXBSZWYuY3VycmVudCkpO1xuICAgICAgZGlzcGF0Y2goc2lkZU5hdkV4cGFuZGVkKHRydWUpKTtcblxuICAgICAgbWFwLm9uKCdrZXlkb3duJywgKGV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChldmVudC5vcmlnaW5hbEV2ZW50LmtleSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgICAgICBtYXAuY2xvc2VQb3B1cCgpO1xuICAgICAgICAgIGRvY3VtZW50LmJvZHkuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSwgMCk7XG4gICAgaWYgKG1hcFJlZi5jdXJyZW50ICYmIGlzVmFsaWRBcmVhKGFyZWFUb0NlbnRlckJ5KSkge1xuICAgICAgbWFwUmVmLmN1cnJlbnQuZml0Qm91bmRzKGFyZWFUb0NlbnRlckJ5KTtcbiAgICB9XG4gIH0pO1xuXG4gIG1hcFJlZi5jdXJyZW50Lm9uKCd6b29tZW5kJywgZnVuY3Rpb24gKGUpIHtcbiAgICBpZiAoIW1hcFJlZi5jdXJyZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGxldCB6b29tID0gbWFwUmVmLmN1cnJlbnQuZ2V0Wm9vbSgpO1xuICAgIHNldE1hcFpvb21MZXZlbCh6b29tKTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgY2x1c3Rlckdyb3VwT3B0aW9ucyA9IHtcbiAgc3BpZGVyZnlPbk1heFpvb206IGZhbHNlLFxuICBzaG93Q292ZXJhZ2VPbkhvdmVyOiBmYWxzZSxcbiAgem9vbVRvQm91bmRzT25DbGljazogdHJ1ZSxcbiAgYW5pbWF0ZTogdHJ1ZSxcbiAgZGlzYWJsZUNsdXN0ZXJpbmdBdFpvb206IDEwLFxuICByZW1vdmVPdXRzaWRlVmlzaWJsZUJvdW5kczogZmFsc2UsXG4gIGNodW5rZWRMb2FkaW5nOiB0cnVlLFxuICBpY29uQ3JlYXRlRnVuY3Rpb246IChjbHVzdGVyKSA9PiB7XG4gICAgcmV0dXJuIG5ldyBMLkRpdkljb24oe1xuICAgICAgaHRtbDogYDxkaXY+PHNwYW4+JHtjbHVzdGVyLl9jaGlsZENvdW50fTwvc3Bhbj48L2Rpdj5cbiAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdtYXJrZXItY2x1c3Rlci1uYW1lJz4ke2kxOG4udCgnaW5kdXN0cmllcycpfTwvZGl2PmAsXG4gICAgICBjbGFzc05hbWU6ICdtYXJrZXItY2x1c3RlcicsXG4gICAgICBpY29uU2l6ZTogbmV3IEwuUG9pbnQoNDAsIDQwKSxcbiAgICB9KTtcbiAgfSxcbn07XG5cbmV4cG9ydCBjb25zdCB6b29tTGV2ZWxzID0ge1xuICAxOiAnWExhcmdlJyxcbiAgMjogJ1hMYXJnZScsXG4gIDM6ICdYTGFyZ2UnLFxuICA0OiAnWExhcmdlJyxcbiAgNTogJ1hMYXJnZScsXG4gIDY6ICdYTGFyZ2UnLFxuICA3OiAnTGFyZ2UnLFxuICA4OiAnTGFyZ2UnLFxuICA5OiAnTGFyZ2UnLFxuICAxMDogJ0xhcmdlJyxcbiAgMTE6ICdNTGFyZ2UnLFxuICAxMjogJ01MYXJnZScsXG4gIDEzOiAnTUxhcmdlJyxcbiAgMTQ6ICdNTGFyZ2UnLFxuICAxNTogJ01lZGl1bScsXG4gIDE2OiAnTWVkaXVtJyxcbiAgMTc6ICdTbWFsbCcsXG4gIDE4OiAnU21hbGwnLFxufTtcblxuZXhwb3J0IGNvbnN0IGZpbHRlclBvaW50cyA9IChwb2ludHMsIGhhc0RldmljZSkgPT5cbiAgcG9pbnRzLmZpbHRlcigocG9pbnQpID0+IHBvaW50Lmhhc19kZXZpY2UgPT09IGhhc0RldmljZSk7XG5cbmV4cG9ydCBjb25zdCBmaW5kUG9pbnQgPSAocG9pbnRzLCBwb2ludElkLCBoYXNEZXZpY2VDaGVjaykgPT5cbiAgcG9pbnRzLmZpbmQoKHBvaW50KSA9PiBwb2ludC5pZCA9PT0gcG9pbnRJZCAmJiBoYXNEZXZpY2VDaGVjayhwb2ludCkpO1xuXG5leHBvcnQgY29uc3QgZmlsdGVyRWRnZXMgPSAoZWRnZXMsIHBvaW50cywgaXNNb25pdG9yZWQpID0+XG4gIGVkZ2VzLmZpbHRlcigoZWRnZSkgPT4ge1xuICAgIGNvbnN0IHNvdXJjZVBvaW50ID0gZmluZFBvaW50KHBvaW50cywgZWRnZS5zb3VyY2VfcG9pbnRfaWQsIChwb2ludCkgPT5cbiAgICAgIGlzTW9uaXRvcmVkXG4gICAgICAgID8gcG9pbnQuaGFzX2RldmljZSB8fCBlZGdlLmRlc2NlbmRhbnRzX2hhc19kZXZpY2VcbiAgICAgICAgOiAhcG9pbnQuZGVzY2VuZGFudHNfaGFzX2RldmljZSxcbiAgICApO1xuXG4gICAgY29uc3QgcGFyZW50UG9pbnQgPSBmaW5kUG9pbnQocG9pbnRzLCBlZGdlLnRhcmdldF9wb2ludF9pZCwgKHBvaW50KSA9PlxuICAgICAgaXNNb25pdG9yZWRcbiAgICAgICAgPyBlZGdlLmRlc2NlbmRhbnRzX2hhc19kZXZpY2UgfHwgc291cmNlUG9pbnQgIT09IHVuZGVmaW5lZFxuICAgICAgICA6ICFwb2ludC5kZXNjZW5kYW50c19oYXNfZGV2aWNlLFxuICAgICk7XG5cbiAgICByZXR1cm4gc291cmNlUG9pbnQgJiYgcGFyZW50UG9pbnQ7XG4gIH0pO1xuXG5leHBvcnQgY29uc3Qgc2V0dXBDaGVja2JveExpc3RlbmVyID0gKHNlbGVjdG9yLCBvbkNoYW5nZSkgPT4ge1xuICBjb25zdCBjaGVja2JveCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3Ioc2VsZWN0b3IpO1xuICBpZiAoY2hlY2tib3ggPT09IG51bGwpIHJldHVybjtcbiAgY2hlY2tib3guYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgKCkgPT4gb25DaGFuZ2UoY2hlY2tib3guY2hlY2tlZCkpO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFBQSxRQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxRQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxLQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRyxtQkFBQSxHQUFBSCxPQUFBO0FBRU8sSUFBTUksY0FBYyxHQUFHLFNBQWpCQSxjQUFjQSxDQUFJQyxNQUFNLEVBQUVDLFdBQVcsRUFBRUMsY0FBYyxFQUFLO0VBQ3JFLElBQUlDLFdBQWdCLEdBQUdILE1BQU0sQ0FBQ0ksT0FBTztFQUNyQyxJQUFJSCxXQUFXLENBQUNDLGNBQWMsQ0FBQyxFQUFFO0lBQy9CQyxXQUFXLENBQUNFLFNBQVMsQ0FBQ0gsY0FBYyxFQUFFO01BQUVJLE9BQU8sRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQUUsQ0FBQyxDQUFDO0VBQzVELENBQUMsTUFBTTtJQUNMLElBQU1DLEtBQVksR0FBRyxFQUFFO0lBRXZCLEtBQUssSUFBTUMsUUFBUSxJQUFJTCxXQUFXLENBQUNNLE9BQU8sRUFBRTtNQUMxQyxJQUNFTixXQUFXLENBQUNNLE9BQU8sQ0FBQ0QsUUFBUSxDQUFDLENBQUNFLFlBQVksS0FBSyxNQUFNLElBQ3JEUCxXQUFXLENBQUNNLE9BQU8sQ0FBQ0QsUUFBUSxDQUFDLENBQUNFLFlBQVksS0FBSyxPQUFPLEVBQ3REO1FBQ0FILEtB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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.412-alpha.
|
|
3
|
+
var packageJsonVersion = "1.2.412-alpha.4";
|
|
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));
|
|
@@ -61,7 +61,7 @@ var List = function List(props) {
|
|
|
61
61
|
}
|
|
62
62
|
return allArray;
|
|
63
63
|
};
|
|
64
|
-
var noAreas = focusedArea && (focusedArea === null || focusedArea === void 0 ? void 0 : focusedArea.forWWTPMap) === true && siteID !== undefined && ((_focusedArea$sub_area = focusedArea.sub_areas) === null || _focusedArea$sub_area === void 0 ? void 0 : _focusedArea$sub_area.length) === 0;
|
|
64
|
+
var noAreas = focusedArea && (focusedArea === null || focusedArea === void 0 ? void 0 : focusedArea.forWWTPMap) === true && siteID !== undefined && ((_focusedArea$sub_area = focusedArea.sub_areas) === null || _focusedArea$sub_area === void 0 ? void 0 : _focusedArea$sub_area.filter(Boolean).length) === 0;
|
|
65
65
|
var listDetails = function listDetails() {
|
|
66
66
|
var _focusedArea$sub_area2;
|
|
67
67
|
if (!siteID && !focusedArea) {
|
|
@@ -184,7 +184,8 @@ var List = function List(props) {
|
|
|
184
184
|
// return updatedArray?.length > 0 ? updatedArray : array1;
|
|
185
185
|
// };
|
|
186
186
|
|
|
187
|
-
|
|
187
|
+
// updates the title of the list based on what is shown
|
|
188
|
+
var listType = (focusedArea === null || focusedArea === void 0 ? void 0 : focusedArea.area_id) === null ? listTypes.areas : (focusedArea === null || focusedArea === void 0 ? void 0 : (_focusedArea$sub_area3 = focusedArea.sub_areas) === null || _focusedArea$sub_area3 === void 0 ? void 0 : _focusedArea$sub_area3.filter(Boolean).length) > 0 ? listTypes.sub_areas : noAreas ? '' : listTypes.factories;
|
|
188
189
|
var translatedListType = listType === '' ? '' : /*#__PURE__*/_react.default.createElement("span", null, ' ', "- ", /*#__PURE__*/_react.default.createElement(_reactI18next.Trans, {
|
|
189
190
|
i18nKey: _i18n.default.t("wwtpPage.list_type.".concat(listType))
|
|
190
191
|
}));
|
|
@@ -236,4 +237,4 @@ var ErrorMessage = _styledComponents.default.div.withConfig({
|
|
|
236
237
|
displayName: "List__ErrorMessage",
|
|
237
238
|
componentId: "sc-1f5wz2c-4"
|
|
238
239
|
})(["display:flex;height:100%;font-size:20px;justify-content:center;box-shadow:-0.9px -0.5px 5px 0 rgba(0,0,0,0.06);border:solid 1px #ebebeb;padding:20px;"]);
|
|
239
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfdGhlbWUiLCJfcmVhY3RSZWR1eCIsIl91dGlscyIsIl9BcmVhQ2FyZCIsIl9GYWN0b3J5Q2FyZCIsIl9PcmdhbmljQ2FyZCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfUG90ZW50aWFsU2F2aW5nIiwiX0xpc3RDb250ZXh0IiwiX2kxOG4iLCJfRGlzY2hhcmdlUGF0dGVybiIsIl9RdWFsaXR5U3VtbWFyeSIsIl9MaW5lQ2hhcnQiLCJfcmVhY3RJMThuZXh0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJMaXN0IiwicHJvcHMiLCJfV1dUUEluZm8kcG9pbnQiLCJfZm9jdXNlZEFyZWEkc3ViX2FyZWEiLCJfZm9jdXNlZEFyZWEkc3ViX2FyZWEzIiwiX1dXVFBJbmZvJHBvaW50MiIsIlJlZHV4U3RhdGUiLCJ1c2VTZWxlY3RvciIsInN0YXRlIiwibGlzdFR5cGVzIiwiYXJlYXMiLCJzdWJfYXJlYXMiLCJmYWN0b3JpZXMiLCJnbG9iYWxfZGF0YSIsIl91c2VTZWxlY3RlZEl0ZW0iLCJ1c2VTZWxlY3RlZEl0ZW0iLCJzZWxlY3RlZEl0ZW0iLCJoYW5kbGVTZWxlY3RJdGVtIiwiV1dUUEluZm8iLCJfdXNlU2VsZWN0b3IiLCJ3d3RwX2Rhc2hib2FyZCIsImZvY3VzZWRBcmVhIiwibWFwIiwic2VsZWN0ZWRSZWYiLCJ1c2VSZWYiLCJzaXRlSUQiLCJwb2ludCIsImlkIiwiaGFuZGxlSXRlbUNsaWNrIiwiaXRlbSIsIm5vRGF0YU1lc3NhZ2UiLCJpMThuIiwidCIsInNob3dlZEFyZWFzIiwiYWxsQXJyYXkiLCJzb3J0QXJlYXMiLCJmaWx0ZXIiLCJCb29sZWFuIiwiYXJlYV9pZCIsImFyZWFfbmFtZSIsImFyZWEiLCJ0b3BfbGV2ZWwiLCJub0FyZWFzIiwiZm9yV1dUUE1hcCIsInVuZGVmaW5lZCIsImxlbmd0aCIsImxpc3REZXRhaWxzIiwiX2ZvY3VzZWRBcmVhJHN1Yl9hcmVhMiIsImhhc19kZXZpY2UiLCJjcmVhdGVFbGVtZW50IiwiTGlzdENvbnRhaW5lciIsIkVycm9yTWVzc2FnZSIsIlN1bW1hcnlDb21wb25lbnQiLCJlbmRwb2ludCIsImNvbmNhdCIsImNsYXNzTmFtZSIsIkxpbmVDaGFydENvbXBvbmVudCIsInRpdGxlIiwiRGlzY2hhcmdlUGF0dGVybiIsIk51bWJlciIsIkFyZWFDYXJkIiwib2JqZWN0IiwibWFwUmVmIiwib25DbGljayIsInNlbGVjdGVkIiwiaXRlbVJlZiIsInNvcnRQb2ludHMiLCJmYWN0b3J5IiwiRmFjdG9yeUNhcmQiLCJsaXN0VHlwZSIsInRyYW5zbGF0ZWRMaXN0VHlwZSIsIlRyYW5zIiwiaTE4bktleSIsInVzZUVmZmVjdCIsIl9zZWxlY3RlZFJlZiRjdXJyZW50IiwiY3VycmVudCIsInNjcm9sbEludG9WaWV3IiwiYmVoYXZpb3IiLCJibG9jayIsImlubGluZSIsImdyb3VwIiwidHlwZSIsImNsaWNrZWQiLCJXV1RQRGV0YWlscyIsInN0eWxlIiwib3ZlcmZsb3ciLCJuYW1lIiwid2F0ZXJBdXRob3JpdHlOYW1lIiwiZXhwb3J0cyIsInN0eWxlZCIsImRpdiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIiwidGhlbWUiLCJXV1RQTWFwIiwiYmciLCJRdWFsaXR5U3VtbWFyeSIsIkxpbmVDaGFydCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9EYXNoYm9hcmRNYXAvTGlzdC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUFyZWEgfSBmcm9tICcuLi8uLi9zdG9yZS9hcmVhcy9tb2RlbHMvSUFyZWEnO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlUmVmIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cy9tYWNybyc7XG5pbXBvcnQgeyB0aGVtZSB9IGZyb20gJ3NyYy9zdHlsZXMvdGhlbWUvdGhlbWUnO1xuaW1wb3J0IHsgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBhcHBSZWR1Y2VyIH0gZnJvbSAnLi4vLi4vc3RvcmUvcm9vdFJlZHVjZXInO1xuaW1wb3J0IHsgc29ydEFyZWFzLCBzb3J0UG9pbnRzIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBBcmVhQ2FyZCB9IGZyb20gJy4vQXJlYUNhcmQnO1xuaW1wb3J0IHsgRmFjdG9yeUNhcmQgfSBmcm9tICcuL0ZhY3RvcnlDYXJkJztcbmltcG9ydCBPcmdhbmljQ2FyZCBmcm9tICcuLi9Xd3RwUGFnZS9PcmdhbmljQ2FyZCc7XG5pbXBvcnQgSW1wYWN0Q2FyZCBmcm9tICcuLi9Xd3RwUGFnZS9Qb3RlbnRpYWxTYXZpbmcnO1xuaW1wb3J0IHsgdXNlU2VsZWN0ZWRJdGVtIH0gZnJvbSAnLi9MaXN0Q29udGV4dCc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHsgRGlzY2hhcmdlUGF0dGVybiB9IGZyb20gJy4uL1NpdGVQYWdlL0Rpc2NoYXJnZVBhdHRlcm4vRGlzY2hhcmdlUGF0dGVybic7XG5pbXBvcnQgeyBRdWFsaXR5U3VtbWFyeSB9IGZyb20gJ3NyYy9XaWRnZXRzL1F1YWxpdHlTdW1tYXJ5L1F1YWxpdHlTdW1tYXJ5JztcbmltcG9ydCB7IExpbmVDaGFydCB9IGZyb20gJ3NyYy9wYWdlcy9BcmVhUGFnZS9EYXNoYm9hcmQvTGluZUNoYXJ0L0xpbmVDaGFydCc7XG4vLyBpbXBvcnQgeyBzZXRGb2N1c2VkQXJlYSB9IGZyb20gJ3NyYy9zdG9yZS9XV1RQRGFzaGJvYXJkL1dXVFBEYXNoYm9hcmRTbGljZSc7XG5pbXBvcnQgeyBUcmFucyB9IGZyb20gJ3JlYWN0LWkxOG5leHQnO1xuXG50eXBlIElQcm9wcyA9IHtcbiAgZ2xvYmFsX2RhdGE6IGFueTtcbiAgV1dUUEluZm86IGFueTtcbiAgZGlzcGF0Y2g6IGFueTtcbn07XG5cbmV4cG9ydCBjb25zdCBMaXN0OiBSZWFjdC5GQzxJUHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IFJlZHV4U3RhdGUgPSB1c2VTZWxlY3Rvcigoc3RhdGUpID0+IHN0YXRlKTtcbiAgY29uc3QgbGlzdFR5cGVzID0ge1xuICAgIGFyZWFzOiAnYXJlYXMnLFxuICAgIHN1Yl9hcmVhczogJ3N1Yl9hcmVhcycsXG4gICAgZmFjdG9yaWVzOiAnZmFjdG9yaWVzJyxcbiAgfTtcbiAgY29uc3QgeyBnbG9iYWxfZGF0YSB9ID0gUmVkdXhTdGF0ZTtcbiAgLy8gY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCB7IHNlbGVjdGVkSXRlbSwgaGFuZGxlU2VsZWN0SXRlbSB9ID0gdXNlU2VsZWN0ZWRJdGVtKCk7XG4gIGNvbnN0IHsgV1dUUEluZm8gfSA9IHByb3BzO1xuICBjb25zdCB7IGZvY3VzZWRBcmVhLCBtYXAgfSA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZTogUmV0dXJuVHlwZTx0eXBlb2YgYXBwUmVkdWNlcj4pID0+IHN0YXRlLnd3dHBfZGFzaGJvYXJkLFxuICApO1xuICBjb25zdCBzZWxlY3RlZFJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3Qgc2l0ZUlEID0gV1dUUEluZm8ucG9pbnQ/LmlkO1xuXG4gIGNvbnN0IGhhbmRsZUl0ZW1DbGljayA9IChpdGVtKSA9PiB7XG4gICAgaGFuZGxlU2VsZWN0SXRlbShpdGVtKTtcbiAgfTtcblxuICBjb25zdCBub0RhdGFNZXNzYWdlID0gaTE4bi50KCd3d3RwUGFnZS5ub19kYXRhX2Zvcl9zaXRlJyk7XG5cbiAgY29uc3Qgc2hvd2VkQXJlYXMgPSAoZm9jdXNlZEFyZWEpID0+IHtcbiAgICBsZXQgYWxsQXJyYXkgPVxuICAgICAgZm9jdXNlZEFyZWEuc3ViX2FyZWFzICYmIHNvcnRBcmVhcyhmb2N1c2VkQXJlYS5zdWJfYXJlYXMpLmZpbHRlcihCb29sZWFuKTtcblxuICAgIGlmIChmb2N1c2VkQXJlYS5hcmVhX2lkID09PSBudWxsICYmIGZvY3VzZWRBcmVhLmFyZWFfbmFtZSA9PT0gJycpIHtcbiAgICAgIGFsbEFycmF5ID0gYWxsQXJyYXkuZmlsdGVyKChhcmVhKSA9PiBhcmVhLnRvcF9sZXZlbCA9PT0gdHJ1ZSk7XG4gICAgfVxuICAgIHJldHVybiBhbGxBcnJheTtcbiAgfTtcblxuICBjb25zdCBub0FyZWFzID1cbiAgICBmb2N1c2VkQXJlYSAmJlxuICAgIGZvY3VzZWRBcmVhPy5mb3JXV1RQTWFwID09PSB0cnVlICYmXG4gICAgc2l0ZUlEICE9PSB1bmRlZmluZWQgJiZcbiAgICBmb2N1c2VkQXJlYS5zdWJfYXJlYXM/Lmxlbmd0aCA9PT0gMDtcblxuICBjb25zdCBsaXN0RGV0YWlscyA9ICgpID0+IHtcbiAgICBpZiAoIXNpdGVJRCAmJiAhZm9jdXNlZEFyZWEpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAobm9BcmVhcykge1xuICAgICAgaWYgKFxuICAgICAgICAvLyBmb2N1c2VkQXJlYT8uY2xpY2tlZCA9PT0gdW5kZWZpbmVkIHx8XG4gICAgICAgIGZvY3VzZWRBcmVhPy5oYXNfZGV2aWNlID09PSBmYWxzZSB8fFxuICAgICAgICAhc2l0ZUlEXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8TGlzdENvbnRhaW5lcj5cbiAgICAgICAgICAgIDxFcnJvck1lc3NhZ2U+e25vRGF0YU1lc3NhZ2V9PC9FcnJvck1lc3NhZ2U+XG4gICAgICAgICAgPC9MaXN0Q29udGFpbmVyPlxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8TGlzdENvbnRhaW5lcj5cbiAgICAgICAgICAgIDxTdW1tYXJ5Q29tcG9uZW50XG4gICAgICAgICAgICAgIGVuZHBvaW50PXtgL2RhdGEvZXZlbnRzLWNvbXBvbmVudC1kYXRhLyR7c2l0ZUlEfWB9XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cInN1bW1hcnktY29tcG9uZW50XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8TGluZUNoYXJ0Q29tcG9uZW50XG4gICAgICAgICAgICAgIHRpdGxlPXtpMThuLnQoJ2FyZWFfZGFzaGJvYXJkLnRyZW5kJyl9XG4gICAgICAgICAgICAgIGVuZHBvaW50PXtgL3BvaW50cy8ke3NpdGVJRH0vdHJlbmQtZ3JhcGhgfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxEaXNjaGFyZ2VQYXR0ZXJuIHNpdGVJRD17TnVtYmVyKHNpdGVJRCl9IC8+XG4gICAgICAgICAgPC9MaXN0Q29udGFpbmVyPlxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChmb2N1c2VkQXJlYSAmJiBmb2N1c2VkQXJlYT8uc3ViX2FyZWFzPy5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gc2hvd2VkQXJlYXMoZm9jdXNlZEFyZWEpLm1hcCgoYXJlYTogSUFyZWEpID0+IChcbiAgICAgICAgPEFyZWFDYXJkXG4gICAgICAgICAga2V5PXthcmVhLmFyZWFfaWR9XG4gICAgICAgICAgb2JqZWN0PXthcmVhfVxuICAgICAgICAgIG1hcFJlZj17bWFwfVxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZUl0ZW1DbGljayhhcmVhLmFyZWFfaWQpfVxuICAgICAgICAgIHNlbGVjdGVkPXtzZWxlY3RlZEl0ZW0gPT09IGFyZWEuYXJlYV9pZH1cbiAgICAgICAgICBpdGVtUmVmPXtzZWxlY3RlZEl0ZW0gPT09IGFyZWEuYXJlYV9pZCA/IHNlbGVjdGVkUmVmIDogbnVsbH1cbiAgICAgICAgLz5cbiAgICAgICkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoZm9jdXNlZEFyZWE/LmZhY3Rvcmllcykge1xuICAgICAgICByZXR1cm4gc29ydFBvaW50cyhmb2N1c2VkQXJlYS5mYWN0b3JpZXMpXG4gICAgICAgICAgLmZpbHRlcihCb29sZWFuKVxuICAgICAgICAgIC5tYXAoKGZhY3RvcnkpID0+IChcbiAgICAgICAgICAgIDxGYWN0b3J5Q2FyZFxuICAgICAgICAgICAgICBrZXk9e2ZhY3RvcnkuaWR9XG4gICAgICAgICAgICAgIG9iamVjdD17ZmFjdG9yeX1cbiAgICAgICAgICAgICAgbWFwUmVmPXttYXB9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZUl0ZW1DbGljayhmYWN0b3J5LmlkKX1cbiAgICAgICAgICAgICAgc2VsZWN0ZWQ9e3NlbGVjdGVkSXRlbSA9PT0gZmFjdG9yeS5pZH1cbiAgICAgICAgICAgICAgaXRlbVJlZj17c2VsZWN0ZWRJdGVtID09PSBmYWN0b3J5LmlkID8gc2VsZWN0ZWRSZWYgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgLy8gVXBkYXRlIHRoZSBsaXN0IG9ubHkgaWYgdGhlIHNjb3JlIG9mIGF0IGxlYXN0IG9uZSBvZiB0aGUgc3ViLWFyZWFzIGhhcyBjaGFuZ2VkXG4gIC8vIHVzZUVmZmVjdCgoKSA9PiB7XG4gIC8vICAgaWYgKFxuICAvLyAgICAgZm9jdXNlZEFyZWEgJiZcbiAgLy8gICAgIGZvY3VzZWRBcmVhLnN1Yl9hcmVhcyAmJlxuICAvLyAgICAgZm9jdXNlZEFyZWEuc3ViX2FyZWFzLmxlbmd0aCA+IDAgJiZcbiAgLy8gICAgIGFyZWFzX2RhdGE/LmlzRmV0Y2hpbmcgPT09IGZhbHNlXG4gIC8vICAgKSB7XG4gIC8vICAgICBjb25zdCBzdWJBcmVhc0NoYW5nZWQgPSBhcmVhc1Njb3JlQ2hhbmdlZEJ5SWQoXG4gIC8vICAgICAgIGZvY3VzZWRBcmVhLnN1Yl9hcmVhcyxcbiAgLy8gICAgICAgYXJlYXNfZGF0YS5uZXdBcmVhcyxcbiAgLy8gICAgICk7XG4gIC8vICAgICBpZiAoIXN1YkFyZWFzQ2hhbmdlZCkgcmV0dXJuO1xuXG4gIC8vICAgICBjb25zdCBmb2N1c2VkQXJlYVdpdGhVcGRhdGVkU3ViQXJlYXMgPSB7XG4gIC8vICAgICAgIC4uLmZvY3VzZWRBcmVhLFxuICAvLyAgICAgICBzdWJfYXJlYXM6IGdldFVwZGF0ZWRBcmVhc0J5SWQoXG4gIC8vICAgICAgICAgZm9jdXNlZEFyZWEuc3ViX2FyZWFzLFxuICAvLyAgICAgICAgIGFyZWFzX2RhdGEubmV3QXJlYXMsXG4gIC8vICAgICAgICksXG4gIC8vICAgICB9O1xuICAvLyAgICAgZGlzcGF0Y2goc2V0Rm9jdXNlZEFyZWEoZm9jdXNlZEFyZWFXaXRoVXBkYXRlZFN1YkFyZWFzKSk7XG4gIC8vICAgfVxuICAvLyB9LCBbYXJlYXNfZGF0YV0pO1xuXG4gIC8vIHVzZUVmZmVjdCgoKSA9PiB7XG4gIC8vICAgaWYgKFxuICAvLyAgICAgIWZvY3VzZWRBcmVhIHx8XG4gIC8vICAgICAhZm9jdXNlZEFyZWEuZmFjdG9yaWVzIHx8XG4gIC8vICAgICBmb2N1c2VkQXJlYS5mYWN0b3JpZXMubGVuZ3RoID09PSAwIHx8XG4gIC8vICAgICBwb2ludHNfZGF0YT8uaXNGZXRjaGluZyA9PT0gdHJ1ZSB8fFxuICAvLyAgICAgcG9pbnRzX2RhdGE/Lml0ZW1zPy5sZW5ndGggPT09IDBcbiAgLy8gICApXG4gIC8vICAgICByZXR1cm47XG5cbiAgLy8gICBkaXNwYXRjaChcbiAgLy8gICAgIHNldEZvY3VzZWRBcmVhKHtcbiAgLy8gICAgICAgLi4uZm9jdXNlZEFyZWEsXG4gIC8vICAgICAgIGZhY3RvcmllczogZ2V0UG9pbnRzKGZvY3VzZWRBcmVhPy5mYWN0b3JpZXMsIHBvaW50c19kYXRhLml0ZW1zKSxcbiAgLy8gICAgIH0pLFxuICAvLyAgICk7XG4gIC8vIH0sIFtwb2ludHNfZGF0YSwgYXJlYXNfZGF0YV0pO1xuXG4gIC8vIGNvbnN0IGFyZWFzU2NvcmVDaGFuZ2VkQnlJZCA9IChhcnIxLCBhcnIyKSA9PiB7XG4gIC8vICAgLy8gZ28gb3ZlciB0aGUgMXN0IGFycmF5XG4gIC8vICAgZm9yIChsZXQgaXRlbTEgb2YgYXJyMSkge1xuICAvLyAgICAgLy8gRmluZCB0aGUgb2JqZWN0IHdpdGggdGhlIHNhbWUgaWQgaW4gdGhlIHNlY29uZCBhcnJheVxuICAvLyAgICAgbGV0IG1hdGNoaW5nSXRlbSA9IGFycjIuZmluZChcbiAgLy8gICAgICAgKGl0ZW0yKSA9PiBpdGVtMj8uYXJlYV9pZCA9PT0gaXRlbTE/LmFyZWFfaWQsXG4gIC8vICAgICApO1xuXG4gIC8vICAgICAvLyBSZXR1cm4gdHJ1ZSBpZiBvbmUgbWF0Y2hpbmcgaXRlbSBpcyBmb3VuZCBpbiB0aGUgc2Vjb25kIGFycmF5IGFuZCB0aGVpciBzY29yZXMgY2hhbmdlZFxuICAvLyAgICAgaWYgKG1hdGNoaW5nSXRlbSAmJiBpdGVtMS5hcmVhX3Njb3JlICE9PSBtYXRjaGluZ0l0ZW0uYXJlYV9zY29yZSkge1xuICAvLyAgICAgICByZXR1cm4gdHJ1ZTtcbiAgLy8gICAgIH1cbiAgLy8gICB9XG5cbiAgLy8gICAvLyBJZiBhbGwgaXRlbXMgbWF0Y2hlZCBhbmQgaGFkIHRoZSBzYW1lIHNjb3JlLCByZXR1cm4gZmFsc2VcbiAgLy8gICByZXR1cm4gZmFsc2U7XG4gIC8vIH07XG5cbiAgLy8gY29uc3QgZ2V0VXBkYXRlZEFyZWFzQnlJZCA9IChhcnJheTEsIGFycmF5MikgPT4ge1xuICAvLyAgIGNvbnN0IHVwZGF0ZWRBcnJheSA9IGFycmF5Mi5maWx0ZXIoKG9iajIpID0+XG4gIC8vICAgICBhcnJheTEuc29tZSgob2JqMSkgPT4gb2JqMS5hcmVhX2lkID09PSBvYmoyLmFyZWFfaWQpLFxuICAvLyAgICk7XG5cbiAgLy8gICByZXR1cm4gdXBkYXRlZEFycmF5Py5sZW5ndGggPiAwID8gdXBkYXRlZEFycmF5IDogYXJyYXkxO1xuICAvLyB9O1xuXG4gIGNvbnN0IGxpc3RUeXBlID1cbiAgICBmb2N1c2VkQXJlYT8uYXJlYV9pZCA9PT0gbnVsbFxuICAgICAgPyBsaXN0VHlwZXMuYXJlYXNcbiAgICAgIDogZm9jdXNlZEFyZWE/LnN1Yl9hcmVhcz8ubGVuZ3RoID4gMFxuICAgICAgPyBsaXN0VHlwZXMuc3ViX2FyZWFzXG4gICAgICA6IG5vQXJlYXNcbiAgICAgID8gJydcbiAgICAgIDogbGlzdFR5cGVzLmZhY3RvcmllcztcblxuICBjb25zdCB0cmFuc2xhdGVkTGlzdFR5cGUgPVxuICAgIGxpc3RUeXBlID09PSAnJyA/IChcbiAgICAgICcnXG4gICAgKSA6IChcbiAgICAgIDxzcGFuPlxuICAgICAgICB7JyAnfVxuICAgICAgICAtIDxUcmFucyBpMThuS2V5PXtpMThuLnQoYHd3dHBQYWdlLmxpc3RfdHlwZS4ke2xpc3RUeXBlfWApfSAvPlxuICAgICAgPC9zcGFuPlxuICAgICk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZWxlY3RlZFJlZi5jdXJyZW50Py5zY3JvbGxJbnRvVmlldyh7XG4gICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXG4gICAgICBibG9jazogJ2NlbnRlcicsXG4gICAgICBpbmxpbmU6ICdjZW50ZXInLFxuICAgIH0pO1xuICB9LCBbc2VsZWN0ZWRJdGVtXSk7XG5cbiAgaWYgKFxuICAgIGZvY3VzZWRBcmVhPy5ncm91cCAmJlxuICAgIGZvY3VzZWRBcmVhLmdyb3VwLnR5cGUgPT09ICdHcm91cHM6Oldhc3Rld2F0ZXJUcmVhdG1lbnRQbGFudCcgJiZcbiAgICBmb2N1c2VkQXJlYT8uY2xpY2tlZCA9PT0gdW5kZWZpbmVkXG4gIClcbiAgICByZXR1cm4gKFxuICAgICAgPFdXVFBEZXRhaWxzIGNsYXNzTmFtZT1cInAtM1wiIHN0eWxlPXt7IG92ZXJmbG93OiAnc2Nyb2xsJyB9fT5cbiAgICAgICAgPGgzPntXV1RQSW5mby5wb2ludD8ubmFtZX08L2gzPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J2gtYXV0byBteS00J30+XG4gICAgICAgICAgPE9yZ2FuaWNDYXJkIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J2gtYXV0byBtdC0yJ30+XG4gICAgICAgICAgPEltcGFjdENhcmQgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L1dXVFBEZXRhaWxzPlxuICAgICk7XG5cbiAgcmV0dXJuIChcbiAgICA8V1dUUERldGFpbHMgY2xhc3NOYW1lPVwicC0zXCIgc3R5bGU9e3sgb3ZlcmZsb3c6ICdzY3JvbGwnIH19PlxuICAgICAgPGgzPlxuICAgICAgICB7Zm9jdXNlZEFyZWE/LmFyZWFfbmFtZSB8fFxuICAgICAgICAgIGZvY3VzZWRBcmVhPy5uYW1lIHx8XG4gICAgICAgICAgZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlOYW1lfVxuICAgICAgICB7dHJhbnNsYXRlZExpc3RUeXBlfVxuICAgICAgPC9oMz5cbiAgICAgIDx1bCBjbGFzc05hbWU9eydteC1uMyd9PntsaXN0RGV0YWlscygpfTwvdWw+XG4gICAgPC9XV1RQRGV0YWlscz5cbiAgKTtcbn07XG5cbmNvbnN0IFdXVFBEZXRhaWxzID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogY2FsYygxMDB2aCAtIDEzNHB4KTtcbiAgYmFja2dyb3VuZDogJHt0aGVtZS5XV1RQTWFwLmJnfTtcbmA7XG5cbmNvbnN0IFN1bW1hcnlDb21wb25lbnQgPSBzdHlsZWQoUXVhbGl0eVN1bW1hcnkpYFxuICBncmlkLWFyZWE6IHN1bW1hcnk7XG5cbiAgc3VtbWFyeS1jb21wb25lbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGJsdWU7XG4gIH1cbmA7XG5cbmNvbnN0IExpbmVDaGFydENvbXBvbmVudCA9IHN0eWxlZChMaW5lQ2hhcnQpYFxuICBncmlkLWFyZWE6IGdyYXBoO1xuYDtcblxuY29uc3QgTGlzdENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAyMHB4O1xuICBnYXA6IDMwcHg7XG5gO1xuXG5jb25zdCBFcnJvck1lc3NhZ2UgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJveC1zaGFkb3c6IC0wLjlweCAtMC41cHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjA2KTtcbiAgYm9yZGVyOiBzb2xpZCAxcHggI2ViZWJlYjtcbiAgcGFkZGluZzogMjBweDtcbmA7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUNBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFdBQUEsR0FBQUYsT0FBQTtBQUVBLElBQUFHLE1BQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFNBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLFlBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLFlBQUEsR0FBQUMsc0JBQUEsQ0FBQVAsT0FBQTtBQUNBLElBQUFRLGdCQUFBLEdBQUFELHNCQUFBLENBQUFQLE9BQUE7QUFDQSxJQUFBUyxZQUFBLEdBQUFULE9BQUE7QUFDQSxJQUFBVSxLQUFBLEdBQUFILHNCQUFBLENBQUFQLE9BQUE7QUFDQSxJQUFBVyxpQkFBQSxHQUFBWCxPQUFBO0FBQ0EsSUFBQVksZUFBQSxHQUFBWixPQUFBO0FBQ0EsSUFBQWEsVUFBQSxHQUFBYixPQUFBO0FBRUEsSUFBQWMsYUFBQSxHQUFBZCxPQUFBO0FBQXNDLFNBQUFlLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlCQUFBLE9BQUFELE9BQUEsUUFBQUUsZ0JBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZ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
|
|
240
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfdGhlbWUiLCJfcmVhY3RSZWR1eCIsIl91dGlscyIsIl9BcmVhQ2FyZCIsIl9GYWN0b3J5Q2FyZCIsIl9PcmdhbmljQ2FyZCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfUG90ZW50aWFsU2F2aW5nIiwiX0xpc3RDb250ZXh0IiwiX2kxOG4iLCJfRGlzY2hhcmdlUGF0dGVybiIsIl9RdWFsaXR5U3VtbWFyeSIsIl9MaW5lQ2hhcnQiLCJfcmVhY3RJMThuZXh0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJMaXN0IiwicHJvcHMiLCJfV1dUUEluZm8kcG9pbnQiLCJfZm9jdXNlZEFyZWEkc3ViX2FyZWEiLCJfZm9jdXNlZEFyZWEkc3ViX2FyZWEzIiwiX1dXVFBJbmZvJHBvaW50MiIsIlJlZHV4U3RhdGUiLCJ1c2VTZWxlY3RvciIsInN0YXRlIiwibGlzdFR5cGVzIiwiYXJlYXMiLCJzdWJfYXJlYXMiLCJmYWN0b3JpZXMiLCJnbG9iYWxfZGF0YSIsIl91c2VTZWxlY3RlZEl0ZW0iLCJ1c2VTZWxlY3RlZEl0ZW0iLCJzZWxlY3RlZEl0ZW0iLCJoYW5kbGVTZWxlY3RJdGVtIiwiV1dUUEluZm8iLCJfdXNlU2VsZWN0b3IiLCJ3d3RwX2Rhc2hib2FyZCIsImZvY3VzZWRBcmVhIiwibWFwIiwic2VsZWN0ZWRSZWYiLCJ1c2VSZWYiLCJzaXRlSUQiLCJwb2ludCIsImlkIiwiaGFuZGxlSXRlbUNsaWNrIiwiaXRlbSIsIm5vRGF0YU1lc3NhZ2UiLCJpMThuIiwidCIsInNob3dlZEFyZWFzIiwiYWxsQXJyYXkiLCJzb3J0QXJlYXMiLCJmaWx0ZXIiLCJCb29sZWFuIiwiYXJlYV9pZCIsImFyZWFfbmFtZSIsImFyZWEiLCJ0b3BfbGV2ZWwiLCJub0FyZWFzIiwiZm9yV1dUUE1hcCIsInVuZGVmaW5lZCIsImxlbmd0aCIsImxpc3REZXRhaWxzIiwiX2ZvY3VzZWRBcmVhJHN1Yl9hcmVhMiIsImhhc19kZXZpY2UiLCJjcmVhdGVFbGVtZW50IiwiTGlzdENvbnRhaW5lciIsIkVycm9yTWVzc2FnZSIsIlN1bW1hcnlDb21wb25lbnQiLCJlbmRwb2ludCIsImNvbmNhdCIsImNsYXNzTmFtZSIsIkxpbmVDaGFydENvbXBvbmVudCIsInRpdGxlIiwiRGlzY2hhcmdlUGF0dGVybiIsIk51bWJlciIsIkFyZWFDYXJkIiwib2JqZWN0IiwibWFwUmVmIiwib25DbGljayIsInNlbGVjdGVkIiwiaXRlbVJlZiIsInNvcnRQb2ludHMiLCJmYWN0b3J5IiwiRmFjdG9yeUNhcmQiLCJsaXN0VHlwZSIsInRyYW5zbGF0ZWRMaXN0VHlwZSIsIlRyYW5zIiwiaTE4bktleSIsInVzZUVmZmVjdCIsIl9zZWxlY3RlZFJlZiRjdXJyZW50IiwiY3VycmVudCIsInNjcm9sbEludG9WaWV3IiwiYmVoYXZpb3IiLCJibG9jayIsImlubGluZSIsImdyb3VwIiwidHlwZSIsImNsaWNrZWQiLCJXV1RQRGV0YWlscyIsInN0eWxlIiwib3ZlcmZsb3ciLCJuYW1lIiwid2F0ZXJBdXRob3JpdHlOYW1lIiwiZXhwb3J0cyIsInN0eWxlZCIsImRpdiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIiwidGhlbWUiLCJXV1RQTWFwIiwiYmciLCJRdWFsaXR5U3VtbWFyeSIsIkxpbmVDaGFydCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9EYXNoYm9hcmRNYXAvTGlzdC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUFyZWEgfSBmcm9tICcuLi8uLi9zdG9yZS9hcmVhcy9tb2RlbHMvSUFyZWEnO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlUmVmIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cy9tYWNybyc7XG5pbXBvcnQgeyB0aGVtZSB9IGZyb20gJ3NyYy9zdHlsZXMvdGhlbWUvdGhlbWUnO1xuaW1wb3J0IHsgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBhcHBSZWR1Y2VyIH0gZnJvbSAnLi4vLi4vc3RvcmUvcm9vdFJlZHVjZXInO1xuaW1wb3J0IHsgc29ydEFyZWFzLCBzb3J0UG9pbnRzIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBBcmVhQ2FyZCB9IGZyb20gJy4vQXJlYUNhcmQnO1xuaW1wb3J0IHsgRmFjdG9yeUNhcmQgfSBmcm9tICcuL0ZhY3RvcnlDYXJkJztcbmltcG9ydCBPcmdhbmljQ2FyZCBmcm9tICcuLi9Xd3RwUGFnZS9PcmdhbmljQ2FyZCc7XG5pbXBvcnQgSW1wYWN0Q2FyZCBmcm9tICcuLi9Xd3RwUGFnZS9Qb3RlbnRpYWxTYXZpbmcnO1xuaW1wb3J0IHsgdXNlU2VsZWN0ZWRJdGVtIH0gZnJvbSAnLi9MaXN0Q29udGV4dCc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHsgRGlzY2hhcmdlUGF0dGVybiB9IGZyb20gJy4uL1NpdGVQYWdlL0Rpc2NoYXJnZVBhdHRlcm4vRGlzY2hhcmdlUGF0dGVybic7XG5pbXBvcnQgeyBRdWFsaXR5U3VtbWFyeSB9IGZyb20gJ3NyYy9XaWRnZXRzL1F1YWxpdHlTdW1tYXJ5L1F1YWxpdHlTdW1tYXJ5JztcbmltcG9ydCB7IExpbmVDaGFydCB9IGZyb20gJ3NyYy9wYWdlcy9BcmVhUGFnZS9EYXNoYm9hcmQvTGluZUNoYXJ0L0xpbmVDaGFydCc7XG4vLyBpbXBvcnQgeyBzZXRGb2N1c2VkQXJlYSB9IGZyb20gJ3NyYy9zdG9yZS9XV1RQRGFzaGJvYXJkL1dXVFBEYXNoYm9hcmRTbGljZSc7XG5pbXBvcnQgeyBUcmFucyB9IGZyb20gJ3JlYWN0LWkxOG5leHQnO1xuXG50eXBlIElQcm9wcyA9IHtcbiAgZ2xvYmFsX2RhdGE6IGFueTtcbiAgV1dUUEluZm86IGFueTtcbiAgZGlzcGF0Y2g6IGFueTtcbn07XG5cbmV4cG9ydCBjb25zdCBMaXN0OiBSZWFjdC5GQzxJUHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IFJlZHV4U3RhdGUgPSB1c2VTZWxlY3Rvcigoc3RhdGUpID0+IHN0YXRlKTtcbiAgY29uc3QgbGlzdFR5cGVzID0ge1xuICAgIGFyZWFzOiAnYXJlYXMnLFxuICAgIHN1Yl9hcmVhczogJ3N1Yl9hcmVhcycsXG4gICAgZmFjdG9yaWVzOiAnZmFjdG9yaWVzJyxcbiAgfTtcbiAgY29uc3QgeyBnbG9iYWxfZGF0YSB9ID0gUmVkdXhTdGF0ZTtcbiAgLy8gY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCB7IHNlbGVjdGVkSXRlbSwgaGFuZGxlU2VsZWN0SXRlbSB9ID0gdXNlU2VsZWN0ZWRJdGVtKCk7XG4gIGNvbnN0IHsgV1dUUEluZm8gfSA9IHByb3BzO1xuICBjb25zdCB7IGZvY3VzZWRBcmVhLCBtYXAgfSA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZTogUmV0dXJuVHlwZTx0eXBlb2YgYXBwUmVkdWNlcj4pID0+IHN0YXRlLnd3dHBfZGFzaGJvYXJkLFxuICApO1xuICBjb25zdCBzZWxlY3RlZFJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3Qgc2l0ZUlEID0gV1dUUEluZm8ucG9pbnQ/LmlkO1xuXG4gIGNvbnN0IGhhbmRsZUl0ZW1DbGljayA9IChpdGVtKSA9PiB7XG4gICAgaGFuZGxlU2VsZWN0SXRlbShpdGVtKTtcbiAgfTtcblxuICBjb25zdCBub0RhdGFNZXNzYWdlID0gaTE4bi50KCd3d3RwUGFnZS5ub19kYXRhX2Zvcl9zaXRlJyk7XG5cbiAgY29uc3Qgc2hvd2VkQXJlYXMgPSAoZm9jdXNlZEFyZWEpID0+IHtcbiAgICBsZXQgYWxsQXJyYXkgPVxuICAgICAgZm9jdXNlZEFyZWEuc3ViX2FyZWFzICYmIHNvcnRBcmVhcyhmb2N1c2VkQXJlYS5zdWJfYXJlYXMpLmZpbHRlcihCb29sZWFuKTtcblxuICAgIGlmIChmb2N1c2VkQXJlYS5hcmVhX2lkID09PSBudWxsICYmIGZvY3VzZWRBcmVhLmFyZWFfbmFtZSA9PT0gJycpIHtcbiAgICAgIGFsbEFycmF5ID0gYWxsQXJyYXkuZmlsdGVyKChhcmVhKSA9PiBhcmVhLnRvcF9sZXZlbCA9PT0gdHJ1ZSk7XG4gICAgfVxuICAgIHJldHVybiBhbGxBcnJheTtcbiAgfTtcblxuICBjb25zdCBub0FyZWFzID1cbiAgICBmb2N1c2VkQXJlYSAmJlxuICAgIGZvY3VzZWRBcmVhPy5mb3JXV1RQTWFwID09PSB0cnVlICYmXG4gICAgc2l0ZUlEICE9PSB1bmRlZmluZWQgJiZcbiAgICBmb2N1c2VkQXJlYS5zdWJfYXJlYXM/LmZpbHRlcihCb29sZWFuKS5sZW5ndGggPT09IDA7XG5cbiAgY29uc3QgbGlzdERldGFpbHMgPSAoKSA9PiB7XG4gICAgaWYgKCFzaXRlSUQgJiYgIWZvY3VzZWRBcmVhKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKG5vQXJlYXMpIHtcbiAgICAgIGlmIChcbiAgICAgICAgLy8gZm9jdXNlZEFyZWE/LmNsaWNrZWQgPT09IHVuZGVmaW5lZCB8fFxuICAgICAgICBmb2N1c2VkQXJlYT8uaGFzX2RldmljZSA9PT0gZmFsc2UgfHxcbiAgICAgICAgIXNpdGVJRFxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPExpc3RDb250YWluZXI+XG4gICAgICAgICAgICA8RXJyb3JNZXNzYWdlPntub0RhdGFNZXNzYWdlfTwvRXJyb3JNZXNzYWdlPlxuICAgICAgICAgIDwvTGlzdENvbnRhaW5lcj5cbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPExpc3RDb250YWluZXI+XG4gICAgICAgICAgICA8U3VtbWFyeUNvbXBvbmVudFxuICAgICAgICAgICAgICBlbmRwb2ludD17YC9kYXRhL2V2ZW50cy1jb21wb25lbnQtZGF0YS8ke3NpdGVJRH1gfVxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJzdW1tYXJ5LWNvbXBvbmVudFwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPExpbmVDaGFydENvbXBvbmVudFxuICAgICAgICAgICAgICB0aXRsZT17aTE4bi50KCdhcmVhX2Rhc2hib2FyZC50cmVuZCcpfVxuICAgICAgICAgICAgICBlbmRwb2ludD17YC9wb2ludHMvJHtzaXRlSUR9L3RyZW5kLWdyYXBoYH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8RGlzY2hhcmdlUGF0dGVybiBzaXRlSUQ9e051bWJlcihzaXRlSUQpfSAvPlxuICAgICAgICAgIDwvTGlzdENvbnRhaW5lcj5cbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoZm9jdXNlZEFyZWEgJiYgZm9jdXNlZEFyZWE/LnN1Yl9hcmVhcz8ubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIHNob3dlZEFyZWFzKGZvY3VzZWRBcmVhKS5tYXAoKGFyZWE6IElBcmVhKSA9PiAoXG4gICAgICAgIDxBcmVhQ2FyZFxuICAgICAgICAgIGtleT17YXJlYS5hcmVhX2lkfVxuICAgICAgICAgIG9iamVjdD17YXJlYX1cbiAgICAgICAgICBtYXBSZWY9e21hcH1cbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVJdGVtQ2xpY2soYXJlYS5hcmVhX2lkKX1cbiAgICAgICAgICBzZWxlY3RlZD17c2VsZWN0ZWRJdGVtID09PSBhcmVhLmFyZWFfaWR9XG4gICAgICAgICAgaXRlbVJlZj17c2VsZWN0ZWRJdGVtID09PSBhcmVhLmFyZWFfaWQgPyBzZWxlY3RlZFJlZiA6IG51bGx9XG4gICAgICAgIC8+XG4gICAgICApKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGZvY3VzZWRBcmVhPy5mYWN0b3JpZXMpIHtcbiAgICAgICAgcmV0dXJuIHNvcnRQb2ludHMoZm9jdXNlZEFyZWEuZmFjdG9yaWVzKVxuICAgICAgICAgIC5maWx0ZXIoQm9vbGVhbilcbiAgICAgICAgICAubWFwKChmYWN0b3J5KSA9PiAoXG4gICAgICAgICAgICA8RmFjdG9yeUNhcmRcbiAgICAgICAgICAgICAga2V5PXtmYWN0b3J5LmlkfVxuICAgICAgICAgICAgICBvYmplY3Q9e2ZhY3Rvcnl9XG4gICAgICAgICAgICAgIG1hcFJlZj17bWFwfVxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVJdGVtQ2xpY2soZmFjdG9yeS5pZCl9XG4gICAgICAgICAgICAgIHNlbGVjdGVkPXtzZWxlY3RlZEl0ZW0gPT09IGZhY3RvcnkuaWR9XG4gICAgICAgICAgICAgIGl0ZW1SZWY9e3NlbGVjdGVkSXRlbSA9PT0gZmFjdG9yeS5pZCA/IHNlbGVjdGVkUmVmIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIC8vIFVwZGF0ZSB0aGUgbGlzdCBvbmx5IGlmIHRoZSBzY29yZSBvZiBhdCBsZWFzdCBvbmUgb2YgdGhlIHN1Yi1hcmVhcyBoYXMgY2hhbmdlZFxuICAvLyB1c2VFZmZlY3QoKCkgPT4ge1xuICAvLyAgIGlmIChcbiAgLy8gICAgIGZvY3VzZWRBcmVhICYmXG4gIC8vICAgICBmb2N1c2VkQXJlYS5zdWJfYXJlYXMgJiZcbiAgLy8gICAgIGZvY3VzZWRBcmVhLnN1Yl9hcmVhcy5sZW5ndGggPiAwICYmXG4gIC8vICAgICBhcmVhc19kYXRhPy5pc0ZldGNoaW5nID09PSBmYWxzZVxuICAvLyAgICkge1xuICAvLyAgICAgY29uc3Qgc3ViQXJlYXNDaGFuZ2VkID0gYXJlYXNTY29yZUNoYW5nZWRCeUlkKFxuICAvLyAgICAgICBmb2N1c2VkQXJlYS5zdWJfYXJlYXMsXG4gIC8vICAgICAgIGFyZWFzX2RhdGEubmV3QXJlYXMsXG4gIC8vICAgICApO1xuICAvLyAgICAgaWYgKCFzdWJBcmVhc0NoYW5nZWQpIHJldHVybjtcblxuICAvLyAgICAgY29uc3QgZm9jdXNlZEFyZWFXaXRoVXBkYXRlZFN1YkFyZWFzID0ge1xuICAvLyAgICAgICAuLi5mb2N1c2VkQXJlYSxcbiAgLy8gICAgICAgc3ViX2FyZWFzOiBnZXRVcGRhdGVkQXJlYXNCeUlkKFxuICAvLyAgICAgICAgIGZvY3VzZWRBcmVhLnN1Yl9hcmVhcyxcbiAgLy8gICAgICAgICBhcmVhc19kYXRhLm5ld0FyZWFzLFxuICAvLyAgICAgICApLFxuICAvLyAgICAgfTtcbiAgLy8gICAgIGRpc3BhdGNoKHNldEZvY3VzZWRBcmVhKGZvY3VzZWRBcmVhV2l0aFVwZGF0ZWRTdWJBcmVhcykpO1xuICAvLyAgIH1cbiAgLy8gfSwgW2FyZWFzX2RhdGFdKTtcblxuICAvLyB1c2VFZmZlY3QoKCkgPT4ge1xuICAvLyAgIGlmIChcbiAgLy8gICAgICFmb2N1c2VkQXJlYSB8fFxuICAvLyAgICAgIWZvY3VzZWRBcmVhLmZhY3RvcmllcyB8fFxuICAvLyAgICAgZm9jdXNlZEFyZWEuZmFjdG9yaWVzLmxlbmd0aCA9PT0gMCB8fFxuICAvLyAgICAgcG9pbnRzX2RhdGE/LmlzRmV0Y2hpbmcgPT09IHRydWUgfHxcbiAgLy8gICAgIHBvaW50c19kYXRhPy5pdGVtcz8ubGVuZ3RoID09PSAwXG4gIC8vICAgKVxuICAvLyAgICAgcmV0dXJuO1xuXG4gIC8vICAgZGlzcGF0Y2goXG4gIC8vICAgICBzZXRGb2N1c2VkQXJlYSh7XG4gIC8vICAgICAgIC4uLmZvY3VzZWRBcmVhLFxuICAvLyAgICAgICBmYWN0b3JpZXM6IGdldFBvaW50cyhmb2N1c2VkQXJlYT8uZmFjdG9yaWVzLCBwb2ludHNfZGF0YS5pdGVtcyksXG4gIC8vICAgICB9KSxcbiAgLy8gICApO1xuICAvLyB9LCBbcG9pbnRzX2RhdGEsIGFyZWFzX2RhdGFdKTtcblxuICAvLyBjb25zdCBhcmVhc1Njb3JlQ2hhbmdlZEJ5SWQgPSAoYXJyMSwgYXJyMikgPT4ge1xuICAvLyAgIC8vIGdvIG92ZXIgdGhlIDFzdCBhcnJheVxuICAvLyAgIGZvciAobGV0IGl0ZW0xIG9mIGFycjEpIHtcbiAgLy8gICAgIC8vIEZpbmQgdGhlIG9iamVjdCB3aXRoIHRoZSBzYW1lIGlkIGluIHRoZSBzZWNvbmQgYXJyYXlcbiAgLy8gICAgIGxldCBtYXRjaGluZ0l0ZW0gPSBhcnIyLmZpbmQoXG4gIC8vICAgICAgIChpdGVtMikgPT4gaXRlbTI/LmFyZWFfaWQgPT09IGl0ZW0xPy5hcmVhX2lkLFxuICAvLyAgICAgKTtcblxuICAvLyAgICAgLy8gUmV0dXJuIHRydWUgaWYgb25lIG1hdGNoaW5nIGl0ZW0gaXMgZm91bmQgaW4gdGhlIHNlY29uZCBhcnJheSBhbmQgdGhlaXIgc2NvcmVzIGNoYW5nZWRcbiAgLy8gICAgIGlmIChtYXRjaGluZ0l0ZW0gJiYgaXRlbTEuYXJlYV9zY29yZSAhPT0gbWF0Y2hpbmdJdGVtLmFyZWFfc2NvcmUpIHtcbiAgLy8gICAgICAgcmV0dXJuIHRydWU7XG4gIC8vICAgICB9XG4gIC8vICAgfVxuXG4gIC8vICAgLy8gSWYgYWxsIGl0ZW1zIG1hdGNoZWQgYW5kIGhhZCB0aGUgc2FtZSBzY29yZSwgcmV0dXJuIGZhbHNlXG4gIC8vICAgcmV0dXJuIGZhbHNlO1xuICAvLyB9O1xuXG4gIC8vIGNvbnN0IGdldFVwZGF0ZWRBcmVhc0J5SWQgPSAoYXJyYXkxLCBhcnJheTIpID0+IHtcbiAgLy8gICBjb25zdCB1cGRhdGVkQXJyYXkgPSBhcnJheTIuZmlsdGVyKChvYmoyKSA9PlxuICAvLyAgICAgYXJyYXkxLnNvbWUoKG9iajEpID0+IG9iajEuYXJlYV9pZCA9PT0gb2JqMi5hcmVhX2lkKSxcbiAgLy8gICApO1xuXG4gIC8vICAgcmV0dXJuIHVwZGF0ZWRBcnJheT8ubGVuZ3RoID4gMCA/IHVwZGF0ZWRBcnJheSA6IGFycmF5MTtcbiAgLy8gfTtcblxuICAvLyB1cGRhdGVzIHRoZSB0aXRsZSBvZiB0aGUgbGlzdCBiYXNlZCBvbiB3aGF0IGlzIHNob3duXG4gIGNvbnN0IGxpc3RUeXBlID1cbiAgICBmb2N1c2VkQXJlYT8uYXJlYV9pZCA9PT0gbnVsbFxuICAgICAgPyBsaXN0VHlwZXMuYXJlYXNcbiAgICAgIDogZm9jdXNlZEFyZWE/LnN1Yl9hcmVhcz8uZmlsdGVyKEJvb2xlYW4pLmxlbmd0aCA+IDBcbiAgICAgID8gbGlzdFR5cGVzLnN1Yl9hcmVhc1xuICAgICAgOiBub0FyZWFzXG4gICAgICA/ICcnXG4gICAgICA6IGxpc3RUeXBlcy5mYWN0b3JpZXM7XG5cbiAgY29uc3QgdHJhbnNsYXRlZExpc3RUeXBlID1cbiAgICBsaXN0VHlwZSA9PT0gJycgPyAoXG4gICAgICAnJ1xuICAgICkgOiAoXG4gICAgICA8c3Bhbj5cbiAgICAgICAgeycgJ31cbiAgICAgICAgLSA8VHJhbnMgaTE4bktleT17aTE4bi50KGB3d3RwUGFnZS5saXN0X3R5cGUuJHtsaXN0VHlwZX1gKX0gLz5cbiAgICAgIDwvc3Bhbj5cbiAgICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2VsZWN0ZWRSZWYuY3VycmVudD8uc2Nyb2xsSW50b1ZpZXcoe1xuICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxuICAgICAgYmxvY2s6ICdjZW50ZXInLFxuICAgICAgaW5saW5lOiAnY2VudGVyJyxcbiAgICB9KTtcbiAgfSwgW3NlbGVjdGVkSXRlbV0pO1xuXG4gIGlmIChcbiAgICBmb2N1c2VkQXJlYT8uZ3JvdXAgJiZcbiAgICBmb2N1c2VkQXJlYS5ncm91cC50eXBlID09PSAnR3JvdXBzOjpXYXN0ZXdhdGVyVHJlYXRtZW50UGxhbnQnICYmXG4gICAgZm9jdXNlZEFyZWE/LmNsaWNrZWQgPT09IHVuZGVmaW5lZFxuICApXG4gICAgcmV0dXJuIChcbiAgICAgIDxXV1RQRGV0YWlscyBjbGFzc05hbWU9XCJwLTNcIiBzdHlsZT17eyBvdmVyZmxvdzogJ3Njcm9sbCcgfX0+XG4gICAgICAgIDxoMz57V1dUUEluZm8ucG9pbnQ/Lm5hbWV9PC9oMz5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9eydoLWF1dG8gbXktNCd9PlxuICAgICAgICAgIDxPcmdhbmljQ2FyZCAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9eydoLWF1dG8gbXQtMid9PlxuICAgICAgICAgIDxJbXBhY3RDYXJkIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9XV1RQRGV0YWlscz5cbiAgICApO1xuXG4gIHJldHVybiAoXG4gICAgPFdXVFBEZXRhaWxzIGNsYXNzTmFtZT1cInAtM1wiIHN0eWxlPXt7IG92ZXJmbG93OiAnc2Nyb2xsJyB9fT5cbiAgICAgIDxoMz5cbiAgICAgICAge2ZvY3VzZWRBcmVhPy5hcmVhX25hbWUgfHxcbiAgICAgICAgICBmb2N1c2VkQXJlYT8ubmFtZSB8fFxuICAgICAgICAgIGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5TmFtZX1cbiAgICAgICAge3RyYW5zbGF0ZWRMaXN0VHlwZX1cbiAgICAgIDwvaDM+XG4gICAgICA8dWwgY2xhc3NOYW1lPXsnbXgtbjMnfT57bGlzdERldGFpbHMoKX08L3VsPlxuICAgIDwvV1dUUERldGFpbHM+XG4gICk7XG59O1xuXG5jb25zdCBXV1RQRGV0YWlscyA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAxMzRweCk7XG4gIGJhY2tncm91bmQ6ICR7dGhlbWUuV1dUUE1hcC5iZ307XG5gO1xuXG5jb25zdCBTdW1tYXJ5Q29tcG9uZW50ID0gc3R5bGVkKFF1YWxpdHlTdW1tYXJ5KWBcbiAgZ3JpZC1hcmVhOiBzdW1tYXJ5O1xuXG4gIHN1bW1hcnktY29tcG9uZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlO1xuICB9XG5gO1xuXG5jb25zdCBMaW5lQ2hhcnRDb21wb25lbnQgPSBzdHlsZWQoTGluZUNoYXJ0KWBcbiAgZ3JpZC1hcmVhOiBncmFwaDtcbmA7XG5cbmNvbnN0IExpc3RDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZzogMjBweDtcbiAgZ2FwOiAzMHB4O1xuYDtcblxuY29uc3QgRXJyb3JNZXNzYWdlID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBib3gtc2hhZG93OiAtMC45cHggLTAuNXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4wNik7XG4gIGJvcmRlcjogc29saWQgMXB4ICNlYmViZWI7XG4gIHBhZGRpbmc6IDIwcHg7XG5gO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFDQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBQyxNQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxXQUFBLEdBQUFGLE9BQUE7QUFFQSxJQUFBRyxNQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxTQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxZQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxZQUFBLEdBQUFDLHNCQUFBLENBQUFQLE9BQUE7QUFDQSxJQUFBUSxnQkFBQSxHQUFBRCxzQkFBQSxDQUFBUCxPQUFBO0FBQ0EsSUFBQVMsWUFBQSxHQUFBVCxPQUFBO0FBQ0EsSUFBQVUsS0FBQSxHQUFBSCxzQkFBQSxDQUFBUCxPQUFBO0FBQ0EsSUFBQVcsaUJBQUEsR0FBQVgsT0FBQTtBQUNBLElBQUFZLGVBQUEsR0FBQVosT0FBQTtBQUNBLElBQUFhLFVBQUEsR0FBQWIsT0FBQTtBQUVBLElBQUFjLGFBQUEsR0FBQWQsT0FBQTtBQUFz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
|