@renaissancerentals/renaissance-component 12.2.5 → 12.2.7
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.
|
@@ -98,7 +98,7 @@ const FloorplanHero = _ref => {
|
|
|
98
98
|
setAssets(images);
|
|
99
99
|
setIsAssetsLoading(false);
|
|
100
100
|
}
|
|
101
|
-
}, [floorplan
|
|
101
|
+
}, [floorplan]);
|
|
102
102
|
const printFloorplanAddress = () => {
|
|
103
103
|
const address = (0, _FloorplanService.floorplanAddress)(floorplan);
|
|
104
104
|
return address.address + ", " + address.city + ", " + address.state + " " + address.zipcode;
|
|
@@ -129,7 +129,7 @@ const FloorplanHero = _ref => {
|
|
|
129
129
|
}), currentView === "photo" ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
130
130
|
className: "photo-view main"
|
|
131
131
|
}, /*#__PURE__*/_react.default.createElement(_muncherUi.ItemSlider, {
|
|
132
|
-
sliderItems: [...Array(totalPages)].map((x, i) => i
|
|
132
|
+
sliderItems: [...Array(totalPages)].map((x, i) => i == 0 ? /*#__PURE__*/_react.default.createElement(_GridGalleryCover.GridGalleryCover, {
|
|
133
133
|
assets: assetsToShow(i),
|
|
134
134
|
floorplanAddress: (0, _FloorplanService.floorplanAddress)(floorplan),
|
|
135
135
|
propertyId: floorplan.property.id,
|
|
@@ -226,4 +226,4 @@ const FloorplanHero = _ref => {
|
|
|
226
226
|
}))))));
|
|
227
227
|
};
|
|
228
228
|
exports.FloorplanHero = FloorplanHero;
|
|
229
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfbXVuY2hlclVpIiwiX0Fzc2V0U2VydmljZSIsIl9HcmlkR2FsbGVyeVNrZWxldG9uIiwiX1V0aWxzIiwiX0Fzc2V0TW9kYWwiLCJfRmxvb3JwbGFuU2VydmljZSIsIl9WaWRlb1RvdXJzIiwiX1ZpcnR1YWxUb3VyIiwiX0dhbGxlcnlNb2RhbCIsIl9HcmlkR2FsbGVyeU1vYmlsZSIsIl9IZXJvQmFkZ2VTdGF0cyIsIl9GbG9vcnBsYW5QcmljZSIsIl9HcmlkR2FsbGVyeUNvdmVyIiwiX0dyaWRHYWxsZXJ5IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiRmxvb3JwbGFuSGVybyIsIl9yZWYiLCJmbG9vcnBsYW4iLCJjb250YWN0Q2xpY2tIYW5kbGVyIiwiYXBwbHlDbGlja0hhbmRsZXIiLCJoYW5kbGVSZWZUb01hcCIsIndlYlNwZWNpYWxzIiwiYXNzZXRzIiwic2V0QXNzZXRzIiwidXNlU3RhdGUiLCJpc0Fzc2V0c0xvYWRpbmciLCJzZXRJc0Fzc2V0c0xvYWRpbmciLCJ2aWRlb1RvdXJzIiwic2V0VmlkZW9Ub3VycyIsInZpcnR1YWxUb3VyIiwic2V0VmlydHVhbFRvdXIiLCJ1bmRlZmluZWQiLCJ2aWRlb1RvdXJJbWFnZUJhY2tncm91bmQiLCJzZXRWaWRlb1RvdXJJbWFnZUJhY2tncm91bmQiLCJ2aXJ0dWFsVG91ckltYWdlQmFja2dyb3VuZCIsInNldFZpcnR1YWxUb3VySW1hZ2VCYWNrZ3JvdW5kIiwic2hvd0Zsb29ycGxhbk1vZGFsIiwic2V0U2hvd0Zsb29ycGxhbk1vZGFsIiwidG90YWxQYWdlcyIsInNldFRvdGFsUGFnZXMiLCJ0b3Vyc0NvdW50Iiwic2V0VG91cnNDb3VudCIsImN1cnJlbnRWaWV3Iiwic2V0Q3VycmVudFZpZXciLCJhc3NldEluRm9jdXMiLCJzZXRBc3NldEluRm9jdXMiLCJhc3NldEluZGV4Iiwic2V0QXNzZXRJbmRleCIsInNob3dNb2RhbCIsInNldFNob3dNb2RhbCIsImZpcnN0UGFnZUltYWdlQ291bnQiLCJzZXRGaXJzdFBhZ2VJbWFnZUNvdW50IiwiR1JJRF9TSVpFIiwiaW1hZ2VDbGlja2VkSGFuZGxlciIsImltYWdlIiwiZmluZEluZGV4IiwidmFsdWUiLCJpZCIsIm1vZGFsQ2xvc2VIYW5kbGVyIiwidXNlRWZmZWN0IiwiaW1hZ2VzIiwicHVzaCIsImV4dHJhY3RJZEZyb20iLCJjb3ZlckltYWdlIiwibmFtZSIsImZpcnN0UGFnZUNvdW50IiwicGhvdG9zRm9sZGVySWQiLCJnZXRBc3NldHNGcm9tIiwidGhlbiIsImdhbGxlcnlBc3NldHMiLCJsZW5ndGgiLCJiYWNrZ3JvdW5kSW1hZ2VVcmwiLCJhc3NldFVybEZyb20iLCJwcm9wZXJ0eSIsInZpcnR1YWxUb3VyTGluayIsInRvdXJMaW5rcyIsInZpZGVvVG91ckxpbmsiLCJ0aHJlZVNpeHR5VmlkZW9Ub3VyTGluayIsIm90aGVyQXNzZXRDb3VudHMiLCJmaW5hbGx5IiwicGFnZXMiLCJyZW1haW5pbmciLCJNYXRoIiwidHJ1bmMiLCJwcmludEZsb29ycGxhbkFkZHJlc3MiLCJhZGRyZXNzIiwiZmxvb3JwbGFuQWRkcmVzcyIsImNpdHkiLCJzdGF0ZSIsInppcGNvZGUiLCJpc0ZpcnN0U2xpZGVyUGFnZSIsInNsaWRlSW5kZXgiLCJhc3NldHNUb1Nob3ciLCJjb25zb2xlIiwibG9nIiwic2xpY2UiLCJzdGFydEluZGV4IiwiZW5kSW5kZXgiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwiR3JpZEdhbGxlcnlTa2VsZXRvbiIsIkZyYWdtZW50IiwiR2FsbGVyeU1vZGFsIiwicHJvcGVydHlJZCIsIkl0ZW1TbGlkZXIiLCJzbGlkZXJJdGVtcyIsIkFycmF5IiwibWFwIiwieCIsIkdyaWRHYWxsZXJ5Q292ZXIiLCJoZXJvSW1hZ2UiLCJpc0F2YWlsYWJsZU5vdyIsImlzRmxvb3JwbGFuQXZhaWxhYmxlIiwic2hvd09ubHlIZXJvSW1hZ2UiLCJHcmlkR2FsbGVyeSIsIkdyaWRHYWxsZXJ5TW9iaWxlIiwiVmlkZW9Ub3VycyIsInZpZGVvVG91clVybHMiLCJWaXJ0dWFsVG91ciIsInZpcnR1YWxUb3VyVXJsIiwiSGVyb0JhZGdlU3RhdHMiLCJ0b3RhbEFzc2V0cyIsIkFzc2V0TW9kYWwiLCJhc3NldFVybCIsInBob3RvIiwiYXNzZXRUaXRsZSIsIkZsb29ycGxhblByaWNlIiwidW5pdFJlbnRzIiwidW5pdHMiLCJzcGVjaWFsUmVudCIsInNwZWNpYWxSZW50U3RhcnREYXRlIiwic3BlY2lhbFJlbnRFbmREYXRlIiwiaW52ZXJ0Q29sb3IiLCJCdXR0b24iLCJzaXplIiwib25DbGljayIsIkljb24iLCJvcmllbnRhdGlvbiIsImJ1c1JvdXRlcyIsImJ1c1JvdXRlIiwiaW5kZXgiLCJrZXkiLCJocmVmIiwiYnVzUm91dGVMaW5rIiwidGFyZ2V0IiwicmVsIiwidmFyaWFudCIsIlNoYXJlQnV0dG9uIiwidGl0bGUiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Zsb29ycGxhbi9zZWN0aW9uL0Zsb29ycGxhbkhlcm8udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwge3VzZUVmZmVjdCwgdXNlU3RhdGV9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFwiLi9hc3NldHMvRmxvb3JwbGFuSGVyby5zY3NzXCI7XG5pbXBvcnQge0J1dHRvbiwgSWNvbiwgSXRlbVNsaWRlciwgU2hhcmVCdXR0b259IGZyb20gXCJAY29udGVudG11bmNoL211bmNoZXItdWlcIjtcbmltcG9ydCB7QXNzZXR9IGZyb20gXCIuLi8uLi9hc3NldC9kYXRhL0Fzc2V0XCI7XG5pbXBvcnQge2Fzc2V0VXJsRnJvbSwgZ2V0QXNzZXRzRnJvbX0gZnJvbSBcIi4uLy4uL2Fzc2V0L3NlcnZpY2UvQXNzZXRTZXJ2aWNlXCI7XG5pbXBvcnQge0dyaWRHYWxsZXJ5U2tlbGV0b259IGZyb20gXCIuLi8uLi9nYWxsZXJ5L0dyaWRHYWxsZXJ5U2tlbGV0b25cIjtcbmltcG9ydCB7ZXh0cmFjdElkRnJvbX0gZnJvbSBcIi4uLy4uL3V0aWxzL1V0aWxzXCI7XG5pbXBvcnQge0Zsb29ycGxhbiwgV2ViU3BlY2lhbH0gZnJvbSBcIi4uL2RhdGEvRmxvb3JwbGFuXCI7XG5pbXBvcnQge0Fzc2V0TW9kYWx9IGZyb20gXCIuLi8uLi9hc3NldC9Bc3NldE1vZGFsXCI7XG5pbXBvcnQge2Zsb29ycGxhbkFkZHJlc3MsIGlzRmxvb3JwbGFuQXZhaWxhYmxlfSBmcm9tIFwiLi4vc2VydmljZS9GbG9vcnBsYW5TZXJ2aWNlXCI7XG5pbXBvcnQge1ZpZGVvVG91cnN9IGZyb20gXCIuLi8uLi9nYWxsZXJ5L1ZpZGVvVG91cnNcIjtcbmltcG9ydCB7VmlydHVhbFRvdXJ9IGZyb20gXCIuLi8uLi9nYWxsZXJ5L1ZpcnR1YWxUb3VyXCI7XG5pbXBvcnQge0dhbGxlcnlNb2RhbH0gZnJvbSBcIi4uLy4uL2dhbGxlcnkvR2FsbGVyeU1vZGFsXCI7XG5pbXBvcnQge0dyaWRHYWxsZXJ5TW9iaWxlfSBmcm9tIFwiLi4vLi4vZ2FsbGVyeS9HcmlkR2FsbGVyeU1vYmlsZVwiO1xuaW1wb3J0IHtIZXJvQmFkZ2VTdGF0c30gZnJvbSBcIi4vSGVyb0JhZGdlU3RhdHNcIjtcbmltcG9ydCB7Rmxvb3JwbGFuUHJpY2V9IGZyb20gXCIuLi9jYXJkL0Zsb29ycGxhblByaWNlXCI7XG5pbXBvcnQge0dyaWRHYWxsZXJ5Q292ZXIsIFRvdXJUeXBlfSBmcm9tIFwiLi4vLi4vZ2FsbGVyeS9HcmlkR2FsbGVyeUNvdmVyXCI7XG5pbXBvcnQge0dyaWRHYWxsZXJ5fSBmcm9tIFwiLi4vLi4vZ2FsbGVyeS9HcmlkR2FsbGVyeVwiO1xuXG5leHBvcnQgY29uc3QgRmxvb3JwbGFuSGVybzogUmVhY3QuRkM8Rmxvb3JwbGFuUHJvcHM+ID0gKFxuICAgIHtmbG9vcnBsYW4sIGNvbnRhY3RDbGlja0hhbmRsZXIsIGFwcGx5Q2xpY2tIYW5kbGVyLCBoYW5kbGVSZWZUb01hcCwgd2ViU3BlY2lhbHN9KSA9PiB7XG4gICAgY29uc3QgW2Fzc2V0cywgc2V0QXNzZXRzXSA9IHVzZVN0YXRlPEFzc2V0W10+KFtdKTtcbiAgICBjb25zdCBbaXNBc3NldHNMb2FkaW5nLCBzZXRJc0Fzc2V0c0xvYWRpbmddID0gdXNlU3RhdGUodHJ1ZSk7XG4gICAgY29uc3QgW3ZpZGVvVG91cnMsIHNldFZpZGVvVG91cnNdID0gdXNlU3RhdGU8c3RyaW5nW10+KFtdKTtcbiAgICBjb25zdCBbdmlydHVhbFRvdXIsIHNldFZpcnR1YWxUb3VyXSA9IHVzZVN0YXRlPHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuICAgIGNvbnN0IFt2aWRlb1RvdXJJbWFnZUJhY2tncm91bmQsIHNldFZpZGVvVG91ckltYWdlQmFja2dyb3VuZF0gPSB1c2VTdGF0ZTxzdHJpbmc+KCk7XG4gICAgY29uc3QgW3ZpcnR1YWxUb3VySW1hZ2VCYWNrZ3JvdW5kLCBzZXRWaXJ0dWFsVG91ckltYWdlQmFja2dyb3VuZF0gPSB1c2VTdGF0ZTxzdHJpbmc+KCk7XG5cbiAgICBjb25zdCBbc2hvd0Zsb29ycGxhbk1vZGFsLCBzZXRTaG93Rmxvb3JwbGFuTW9kYWxdID0gdXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IFt0b3RhbFBhZ2VzLCBzZXRUb3RhbFBhZ2VzXSA9IHVzZVN0YXRlKDEpO1xuICAgIGNvbnN0IFt0b3Vyc0NvdW50LCBzZXRUb3Vyc0NvdW50XSA9IHVzZVN0YXRlKDEpO1xuICAgIGNvbnN0IFtjdXJyZW50Vmlldywgc2V0Q3VycmVudFZpZXddID0gdXNlU3RhdGU8XCJwaG90b1wiIHwgVG91clR5cGU+KFwicGhvdG9cIik7XG4gICAgY29uc3QgW2Fzc2V0SW5Gb2N1cywgc2V0QXNzZXRJbkZvY3VzXSA9IHVzZVN0YXRlPEFzc2V0Pih7fSBhcyBBc3NldCk7XG4gICAgY29uc3QgW2Fzc2V0SW5kZXgsIHNldEFzc2V0SW5kZXhdID0gdXNlU3RhdGUoMCk7XG4gICAgY29uc3QgW3Nob3dNb2RhbCwgc2V0U2hvd01vZGFsXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCBbZmlyc3RQYWdlSW1hZ2VDb3VudCwgc2V0Rmlyc3RQYWdlSW1hZ2VDb3VudF0gPSB1c2VTdGF0ZSg0KTtcblxuICAgIGNvbnN0IEdSSURfU0laRSA9IDg7XG4gICAgY29uc3QgaW1hZ2VDbGlja2VkSGFuZGxlciA9IChpbWFnZTogQXNzZXQpID0+IHtcbiAgICAgICAgc2V0U2hvd01vZGFsKHRydWUpO1xuICAgICAgICBzZXRBc3NldEluRm9jdXMoaW1hZ2UpO1xuICAgICAgICBzZXRBc3NldEluZGV4KGFzc2V0cy5maW5kSW5kZXgodmFsdWUgPT4gdmFsdWUuaWQgPT09IGltYWdlLmlkKSk7XG4gICAgfTtcbiAgICBjb25zdCBtb2RhbENsb3NlSGFuZGxlciA9ICgpID0+IHtcbiAgICAgICAgc2V0U2hvd01vZGFsKGZhbHNlKTtcbiAgICAgICAgc2V0QXNzZXRJbkZvY3VzKHt9IGFzIEFzc2V0KTtcbiAgICB9O1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG5cblxuICAgICAgICBjb25zdCBpbWFnZXM6IEFzc2V0W10gPSBbXTtcbiAgICAgICAgaW1hZ2VzLnB1c2goe2lkOiBleHRyYWN0SWRGcm9tKGZsb29ycGxhbi5jb3ZlckltYWdlKSwgbmFtZTogXCJjb3ZlciBpbWFnZVwifSBhcyBBc3NldCk7XG4gICAgICAgIGxldCBmaXJzdFBhZ2VDb3VudCA9IGZpcnN0UGFnZUltYWdlQ291bnQ7XG5cbiAgICAgICAgaWYgKGZsb29ycGxhbi5waG90b3NGb2xkZXJJZCkge1xuICAgICAgICAgICAgZ2V0QXNzZXRzRnJvbShmbG9vcnBsYW4ucGhvdG9zRm9sZGVySWQpLnRoZW4oZ2FsbGVyeUFzc2V0cyA9PiB7XG5cbiAgICAgICAgICAgICAgICBpbWFnZXMucHVzaCguLi5nYWxsZXJ5QXNzZXRzKTtcblxuICAgICAgICAgICAgICAgIGlmIChpbWFnZXMubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBiYWNrZ3JvdW5kSW1hZ2VVcmwgPSBhc3NldFVybEZyb20oaW1hZ2VzWzFdLmlkLCBmbG9vcnBsYW4ucHJvcGVydHkuaWQpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZmxvb3JwbGFuLnZpcnR1YWxUb3VyTGluaykge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2V0VmlydHVhbFRvdXIoZmxvb3JwbGFuLnZpcnR1YWxUb3VyTGluayk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRWaXJ0dWFsVG91ckltYWdlQmFja2dyb3VuZChiYWNrZ3JvdW5kSW1hZ2VVcmwpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3RQYWdlQ291bnQgLT0gMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRvdXJMaW5rcyA9IFtdO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZmxvb3JwbGFuLnZpZGVvVG91ckxpbmspXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3VyTGlua3MucHVzaChmbG9vcnBsYW4udmlkZW9Ub3VyTGluayk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChmbG9vcnBsYW4udGhyZWVTaXh0eVZpZGVvVG91ckxpbmspXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3VyTGlua3MucHVzaChmbG9vcnBsYW4udGhyZWVTaXh0eVZpZGVvVG91ckxpbmspO1xuICAgICAgICAgICAgICAgICAgICBzZXRWaWRlb1RvdXJzKHRvdXJMaW5rcyk7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0b3VyTGlua3MubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2V0VmlkZW9Ub3VySW1hZ2VCYWNrZ3JvdW5kKGJhY2tncm91bmRJbWFnZVVybCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaXJzdFBhZ2VDb3VudCAtPSAxO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgbGV0IG90aGVyQXNzZXRDb3VudHMgPSAodG91ckxpbmtzLmxlbmd0aCA+IDAgPyAxIDogMCkgKyAoZmxvb3JwbGFuLnZpcnR1YWxUb3VyTGluayA/IDEgOiAwKTtcbiAgICAgICAgICAgICAgICAgICAgc2V0VG91cnNDb3VudChvdGhlckFzc2V0Q291bnRzKTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfSkuZmluYWxseSgoKSA9PiB7XG5cbiAgICAgICAgICAgICAgICBsZXQgcGFnZXMgPSAxO1xuXG4gICAgICAgICAgICAgICAgaWYgKGltYWdlcy5sZW5ndGggPiBmaXJzdFBhZ2VDb3VudCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCByZW1haW5pbmcgPSBpbWFnZXMubGVuZ3RoIC0gZmlyc3RQYWdlQ291bnQ7XG4gICAgICAgICAgICAgICAgICAgIHBhZ2VzICs9IHJlbWFpbmluZyAvIDg7XG4gICAgICAgICAgICAgICAgICAgIGlmIChyZW1haW5pbmcgJSA4ID4gMClcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2VzICs9IDE7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgc2V0VG90YWxQYWdlcyhNYXRoLnRydW5jKHBhZ2VzKSk7XG4gICAgICAgICAgICAgICAgc2V0Rmlyc3RQYWdlSW1hZ2VDb3VudChmaXJzdFBhZ2VDb3VudCk7XG4gICAgICAgICAgICAgICAgc2V0QXNzZXRzKGltYWdlcyk7XG4gICAgICAgICAgICAgICAgc2V0SXNBc3NldHNMb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc2V0QXNzZXRzKGltYWdlcyk7XG4gICAgICAgICAgICBzZXRJc0Fzc2V0c0xvYWRpbmcoZmFsc2UpO1xuICAgICAgICB9XG5cbiAgICB9LCBbZmxvb3JwbGFuLCBmaXJzdFBhZ2VJbWFnZUNvdW50XSlcblxuXG4gICAgY29uc3QgcHJpbnRGbG9vcnBsYW5BZGRyZXNzID0gKCkgPT4ge1xuICAgICAgICBjb25zdCBhZGRyZXNzID0gZmxvb3JwbGFuQWRkcmVzcyhmbG9vcnBsYW4pO1xuICAgICAgICByZXR1cm4gYWRkcmVzcy5hZGRyZXNzICsgXCIsIFwiICsgYWRkcmVzcy5jaXR5ICsgXCIsIFwiICsgYWRkcmVzcy5zdGF0ZSArIFwiIFwiICsgYWRkcmVzcy56aXBjb2RlO1xuICAgIH1cbiAgICBjb25zdCBpc0ZpcnN0U2xpZGVyUGFnZSA9IChzbGlkZUluZGV4OiBudW1iZXIpID0+IHNsaWRlSW5kZXggPT09IDA7XG5cbiAgICBjb25zdCBhc3NldHNUb1Nob3cgPSAoc2xpZGVJbmRleDogbnVtYmVyKSA9PiB7XG5cbiAgICAgICAgaWYgKGlzRmlyc3RTbGlkZXJQYWdlKHNsaWRlSW5kZXgpKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcImZpcnN0UGFnZUltYWdlQ291bnRcIiwgZmlyc3RQYWdlSW1hZ2VDb3VudCk7XG4gICAgICAgICAgICByZXR1cm4gYXNzZXRzLnNsaWNlKDAsIGZpcnN0UGFnZUltYWdlQ291bnQgLSAxKTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgY29uc3Qgc3RhcnRJbmRleCA9IGZpcnN0UGFnZUltYWdlQ291bnQgLSAxICsgKEdSSURfU0laRSAqIChzbGlkZUluZGV4IC0gMSkpXG4gICAgICAgIGNvbnN0IGVuZEluZGV4ID0gZmlyc3RQYWdlSW1hZ2VDb3VudCAtIDEgKyAoR1JJRF9TSVpFICogc2xpZGVJbmRleClcblxuICAgICAgICByZXR1cm4gYXNzZXRzLnNsaWNlKHN0YXJ0SW5kZXgsIGVuZEluZGV4ID4gYXNzZXRzLmxlbmd0aCA/IGFzc2V0cy5sZW5ndGggOiBlbmRJbmRleCk7XG4gICAgfTtcbiAgICByZXR1cm4gKFxuICAgICAgICA8c2VjdGlvbiBjbGFzc05hbWU9XCJzZWN0aW9uLWZsb29ycGxhbi0taGVyb1wiPlxuICAgICAgICAgICAge2lzQXNzZXRzTG9hZGluZyA/IDxHcmlkR2FsbGVyeVNrZWxldG9uLz4gOlxuICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZ2FsbGVyeS1oZXJvXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8R2FsbGVyeU1vZGFsIGFzc2V0cz17YXNzZXRzfSBhc3NldEluRm9jdXM9e2Fzc2V0SW5Gb2N1c31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0QXNzZXRJbkZvY3VzPXtzZXRBc3NldEluRm9jdXN9IHNob3dNb2RhbD17c2hvd01vZGFsfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhc3NldEluZGV4PXthc3NldEluZGV4fSBzZXRBc3NldEluZGV4PXtzZXRBc3NldEluZGV4fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RhbENsb3NlSGFuZGxlcj17bW9kYWxDbG9zZUhhbmRsZXJ9IHByb3BlcnR5SWQ9e2Zsb29ycGxhbi5wcm9wZXJ0eS5pZH0vPlxuICAgICAgICAgICAgICAgICAgICAgICAge2N1cnJlbnRWaWV3ID09PSBcInBob3RvXCIgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicGhvdG8tdmlldyBtYWluXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SXRlbVNsaWRlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsaWRlckl0ZW1zPXtbLi4uQXJyYXkodG90YWxQYWdlcyldLm1hcCgoeCwgaSkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGkgPT09IDApID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxHcmlkR2FsbGVyeUNvdmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXNzZXRzPXthc3NldHNUb1Nob3coaSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvb3JwbGFuQWRkcmVzcz17Zmxvb3JwbGFuQWRkcmVzcyhmbG9vcnBsYW4pfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnR5SWQ9e2Zsb29ycGxhbi5wcm9wZXJ0eS5pZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZXJvSW1hZ2U9e2Fzc2V0c1swXX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWFnZUNsaWNrZWRIYW5kbGVyPXtpbWFnZUNsaWNrZWRIYW5kbGVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdlYlNwZWNpYWxzPXt3ZWJTcGVjaWFsc31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0F2YWlsYWJsZU5vdz17aXNGbG9vcnBsYW5BdmFpbGFibGUoZmxvb3JwbGFuKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRDdXJyZW50Vmlldz17c2V0Q3VycmVudFZpZXd9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlkZW9Ub3VySW1hZ2VCYWNrZ3JvdW5kPXt2aWRlb1RvdXJJbWFnZUJhY2tncm91bmR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlydHVhbFRvdXJJbWFnZUJhY2tncm91bmQ9e3ZpcnR1YWxUb3VySW1hZ2VCYWNrZ3JvdW5kfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dPbmx5SGVyb0ltYWdlPXthc3NldHMubGVuZ3RoID09PSAxfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxHcmlkR2FsbGVyeVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlQ2xpY2tlZEhhbmRsZXI9e2ltYWdlQ2xpY2tlZEhhbmRsZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydHlJZD17Zmxvb3JwbGFuLnByb3BlcnR5LmlkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFzc2V0cz17YXNzZXRzVG9TaG93KGkpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfS8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInBob3RvLXZpZXcgbW9iaWxlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8R3JpZEdhbGxlcnlNb2JpbGUgYXNzZXRzPXthc3NldHN9IHRvdXJzQ291bnQ9e3RvdXJzQ291bnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvb3JwbGFuQWRkcmVzcz17Zmxvb3JwbGFuQWRkcmVzcyhmbG9vcnBsYW4pfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpcnR1YWxUb3VyPXt2aXJ0dWFsVG91cn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRDdXJyZW50Vmlldz17c2V0Q3VycmVudFZpZXd9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2VDbGlja2VkSGFuZGxlcj17aW1hZ2VDbGlja2VkSGFuZGxlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3ZWJTcGVjaWFscz17d2ViU3BlY2lhbHN9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNBdmFpbGFibGVOb3c9e2lzRmxvb3JwbGFuQXZhaWxhYmxlKGZsb29ycGxhbil9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydHlJZD17Zmxvb3JwbGFuLnByb3BlcnR5LmlkfS8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvPiA6IFwiXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAge2N1cnJlbnRWaWV3ID09PSBcIlZpZGVvIFRvdXJcIiA/IDxWaWRlb1RvdXJzIHZpZGVvVG91clVybHM9e3ZpZGVvVG91cnN9Lz4gOiBcIlwifVxuICAgICAgICAgICAgICAgICAgICAgICAge2N1cnJlbnRWaWV3ID09PSBcIlZpcnR1YWwgVG91clwiID8gPFZpcnR1YWxUb3VyIHZpcnR1YWxUb3VyVXJsPXt2aXJ0dWFsVG91cn0vPiA6IFwiXCJ9XG4gICAgICAgICAgICAgICAgICAgICAgICA8SGVyb0JhZGdlU3RhdHMgY3VycmVudFZpZXc9e2N1cnJlbnRWaWV3fSBzZXRDdXJyZW50Vmlldz17c2V0Q3VycmVudFZpZXd9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG90YWxBc3NldHM9e2Fzc2V0cz8ubGVuZ3RofSB2aWRlb1RvdXJzPXt2aWRlb1RvdXJzfSB2aXJ0dWFsVG91cj17dmlydHVhbFRvdXJ9Lz5cblxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8Lz5cblxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPEFzc2V0TW9kYWwgYXNzZXRVcmw9e2Zsb29ycGxhbi5waG90b30gYXNzZXRUaXRsZT1cIkZsb29ycGxhbiBpbWFnZVwiIHNob3dNb2RhbD17c2hvd0Zsb29ycGxhbk1vZGFsfVxuICAgICAgICAgICAgICAgICAgICAgICAgc2V0U2hvd01vZGFsPXtzZXRTaG93Rmxvb3JwbGFuTW9kYWx9IHByb3BlcnR5SWQ9e2Zsb29ycGxhbi5wcm9wZXJ0eS5pZH0vPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsb29ycGxhbi0tdHdvLWNvbHVtbnNcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbG9vcnBsYW4tY29sdW1uLWxlZnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxoMz57Zmxvb3JwbGFuLm5hbWV9PC9oMz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxoND48Rmxvb3JwbGFuUHJpY2UgdW5pdFJlbnRzPXtmbG9vcnBsYW4udW5pdHN9IHNwZWNpYWxSZW50PXtmbG9vcnBsYW4uc3BlY2lhbFJlbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwZWNpYWxSZW50U3RhcnREYXRlPXtmbG9vcnBsYW4uc3BlY2lhbFJlbnRTdGFydERhdGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwZWNpYWxSZW50RW5kRGF0ZT17Zmxvb3JwbGFuLnNwZWNpYWxSZW50RW5kRGF0ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW52ZXJ0Q29sb3I9e3RydWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9oND5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cImZsb29ycGxhbi0tZGVzY3JpcHRpb25cIj57cHJpbnRGbG9vcnBsYW5BZGRyZXNzKCl9PC9wPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsb29ycGxhbi0tZmVhdHVyZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uIHNpemU9XCJzbWFsbFwiIG9uQ2xpY2s9eygpID0+IHNldFNob3dGbG9vcnBsYW5Nb2RhbCh0cnVlKX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJY29uIG5hbWU9XCJtYXhcIiBvcmllbnRhdGlvbj1cInJpZ2h0XCI+Vmlld0Zsb29ycGxhbjwvSWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Jm5ic3A7Jm5ic3A7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbiBzaXplPVwic21hbGxcIiBvbkNsaWNrPXsoKSA9PiBoYW5kbGVSZWZUb01hcCgpfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEljb24gb3JpZW50YXRpb249XCJyaWdodFwiIG5hbWU9XCJtYXBcIj5WaWV3IG9uIE1hcDwvSWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Zmxvb3JwbGFuLnByb3BlcnR5LmJ1c1JvdXRlcy5sZW5ndGggPiAwID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+QnVzIFJvdXRlczombmJzcDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtmbG9vcnBsYW4ucHJvcGVydHkuYnVzUm91dGVzLm1hcCgoYnVzUm91dGUsIGluZGV4KSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGtleT17XCJidXMtcm91dGUtXCIgKyBpbmRleH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9e2J1c1JvdXRlLmJ1c1JvdXRlTGlua30gdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsPVwibm9yZWZlcnJlclwiPntidXNSb3V0ZS5idXNSb3V0ZX08L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpbmRleCA8IGZsb29ycGxhbi5wcm9wZXJ0eS5idXNSb3V0ZXMubGVuZ3RoIC0gMSA/IFwiLCBcIiA6IFwiXCJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiXCJ9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWFpblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCIgZmxvb3JwbGFuLWNvbHVtbi1yaWdodFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b24gdmFyaWFudD1cInByaW1hcnlcIiBzaXplPVwibWVkaXVtXCIgb25DbGljaz17Y29udGFjdENsaWNrSGFuZGxlcn0+Y29udGFjdCB1czwvQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b24gdmFyaWFudD1cInRlcnRpYXJ5XCIgc2l6ZT1cIm1lZGl1bVwiIG9uQ2xpY2s9e2FwcGx5Q2xpY2tIYW5kbGVyfT5hcHBseTwvQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTaGFyZUJ1dHRvbiB0aXRsZT1cIkNoZWNrIG91dCB0aGlzIGFwYXJ0bWVudFwiIHNpemU9XCJsYXJnZVwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3NlY3Rpb24+XG4gICAgKTtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmxvb3JwbGFuUHJvcHMge1xuICAgIGZsb29ycGxhbjogRmxvb3JwbGFuO1xuICAgIHdlYlNwZWNpYWxzOiBXZWJTcGVjaWFsW107XG4gICAgY29udGFjdENsaWNrSGFuZGxlcjogKCkgPT4gdm9pZDtcbiAgICBhcHBseUNsaWNrSGFuZGxlcjogKCkgPT4gdm9pZDtcbiAgICBoYW5kbGVSZWZUb01hcDogKCkgPT4gdm9pZDtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFB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
|
|
229
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfbXVuY2hlclVpIiwiX0Fzc2V0U2VydmljZSIsIl9HcmlkR2FsbGVyeVNrZWxldG9uIiwiX1V0aWxzIiwiX0Fzc2V0TW9kYWwiLCJfRmxvb3JwbGFuU2VydmljZSIsIl9WaWRlb1RvdXJzIiwiX1ZpcnR1YWxUb3VyIiwiX0dhbGxlcnlNb2RhbCIsIl9HcmlkR2FsbGVyeU1vYmlsZSIsIl9IZXJvQmFkZ2VTdGF0cyIsIl9GbG9vcnBsYW5QcmljZSIsIl9HcmlkR2FsbGVyeUNvdmVyIiwiX0dyaWRHYWxsZXJ5IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiRmxvb3JwbGFuSGVybyIsIl9yZWYiLCJmbG9vcnBsYW4iLCJjb250YWN0Q2xpY2tIYW5kbGVyIiwiYXBwbHlDbGlja0hhbmRsZXIiLCJoYW5kbGVSZWZUb01hcCIsIndlYlNwZWNpYWxzIiwiYXNzZXRzIiwic2V0QXNzZXRzIiwidXNlU3RhdGUiLCJpc0Fzc2V0c0xvYWRpbmciLCJzZXRJc0Fzc2V0c0xvYWRpbmciLCJ2aWRlb1RvdXJzIiwic2V0VmlkZW9Ub3VycyIsInZpcnR1YWxUb3VyIiwic2V0VmlydHVhbFRvdXIiLCJ1bmRlZmluZWQiLCJ2aWRlb1RvdXJJbWFnZUJhY2tncm91bmQiLCJzZXRWaWRlb1RvdXJJbWFnZUJhY2tncm91bmQiLCJ2aXJ0dWFsVG91ckltYWdlQmFja2dyb3VuZCIsInNldFZpcnR1YWxUb3VySW1hZ2VCYWNrZ3JvdW5kIiwic2hvd0Zsb29ycGxhbk1vZGFsIiwic2V0U2hvd0Zsb29ycGxhbk1vZGFsIiwidG90YWxQYWdlcyIsInNldFRvdGFsUGFnZXMiLCJ0b3Vyc0NvdW50Iiwic2V0VG91cnNDb3VudCIsImN1cnJlbnRWaWV3Iiwic2V0Q3VycmVudFZpZXciLCJhc3NldEluRm9jdXMiLCJzZXRBc3NldEluRm9jdXMiLCJhc3NldEluZGV4Iiwic2V0QXNzZXRJbmRleCIsInNob3dNb2RhbCIsInNldFNob3dNb2RhbCIsImZpcnN0UGFnZUltYWdlQ291bnQiLCJzZXRGaXJzdFBhZ2VJbWFnZUNvdW50IiwiR1JJRF9TSVpFIiwiaW1hZ2VDbGlja2VkSGFuZGxlciIsImltYWdlIiwiZmluZEluZGV4IiwidmFsdWUiLCJpZCIsIm1vZGFsQ2xvc2VIYW5kbGVyIiwidXNlRWZmZWN0IiwiaW1hZ2VzIiwicHVzaCIsImV4dHJhY3RJZEZyb20iLCJjb3ZlckltYWdlIiwibmFtZSIsImZpcnN0UGFnZUNvdW50IiwicGhvdG9zRm9sZGVySWQiLCJnZXRBc3NldHNGcm9tIiwidGhlbiIsImdhbGxlcnlBc3NldHMiLCJsZW5ndGgiLCJiYWNrZ3JvdW5kSW1hZ2VVcmwiLCJhc3NldFVybEZyb20iLCJwcm9wZXJ0eSIsInZpcnR1YWxUb3VyTGluayIsInRvdXJMaW5rcyIsInZpZGVvVG91ckxpbmsiLCJ0aHJlZVNpeHR5VmlkZW9Ub3VyTGluayIsIm90aGVyQXNzZXRDb3VudHMiLCJmaW5hbGx5IiwicGFnZXMiLCJyZW1haW5pbmciLCJNYXRoIiwidHJ1bmMiLCJwcmludEZsb29ycGxhbkFkZHJlc3MiLCJhZGRyZXNzIiwiZmxvb3JwbGFuQWRkcmVzcyIsImNpdHkiLCJzdGF0ZSIsInppcGNvZGUiLCJpc0ZpcnN0U2xpZGVyUGFnZSIsInNsaWRlSW5kZXgiLCJhc3NldHNUb1Nob3ciLCJjb25zb2xlIiwibG9nIiwic2xpY2UiLCJzdGFydEluZGV4IiwiZW5kSW5kZXgiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwiR3JpZEdhbGxlcnlTa2VsZXRvbiIsIkZyYWdtZW50IiwiR2FsbGVyeU1vZGFsIiwicHJvcGVydHlJZCIsIkl0ZW1TbGlkZXIiLCJzbGlkZXJJdGVtcyIsIkFycmF5IiwibWFwIiwieCIsIkdyaWRHYWxsZXJ5Q292ZXIiLCJoZXJvSW1hZ2UiLCJpc0F2YWlsYWJsZU5vdyIsImlzRmxvb3JwbGFuQXZhaWxhYmxlIiwic2hvd09ubHlIZXJvSW1hZ2UiLCJHcmlkR2FsbGVyeSIsIkdyaWRHYWxsZXJ5TW9iaWxlIiwiVmlkZW9Ub3VycyIsInZpZGVvVG91clVybHMiLCJWaXJ0dWFsVG91ciIsInZpcnR1YWxUb3VyVXJsIiwiSGVyb0JhZGdlU3RhdHMiLCJ0b3RhbEFzc2V0cyIsIkFzc2V0TW9kYWwiLCJhc3NldFVybCIsInBob3RvIiwiYXNzZXRUaXRsZSIsIkZsb29ycGxhblByaWNlIiwidW5pdFJlbnRzIiwidW5pdHMiLCJzcGVjaWFsUmVudCIsInNwZWNpYWxSZW50U3RhcnREYXRlIiwic3BlY2lhbFJlbnRFbmREYXRlIiwiaW52ZXJ0Q29sb3IiLCJCdXR0b24iLCJzaXplIiwib25DbGljayIsIkljb24iLCJvcmllbnRhdGlvbiIsImJ1c1JvdXRlcyIsImJ1c1JvdXRlIiwiaW5kZXgiLCJrZXkiLCJocmVmIiwiYnVzUm91dGVMaW5rIiwidGFyZ2V0IiwicmVsIiwidmFyaWFudCIsIlNoYXJlQnV0dG9uIiwidGl0bGUiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Zsb29ycGxhbi9zZWN0aW9uL0Zsb29ycGxhbkhlcm8udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwge3VzZUVmZmVjdCwgdXNlU3RhdGV9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFwiLi9hc3NldHMvRmxvb3JwbGFuSGVyby5zY3NzXCI7XG5pbXBvcnQge0J1dHRvbiwgSWNvbiwgSXRlbVNsaWRlciwgU2hhcmVCdXR0b259IGZyb20gXCJAY29udGVudG11bmNoL211bmNoZXItdWlcIjtcbmltcG9ydCB7QXNzZXR9IGZyb20gXCIuLi8uLi9hc3NldC9kYXRhL0Fzc2V0XCI7XG5pbXBvcnQge2Fzc2V0VXJsRnJvbSwgZ2V0QXNzZXRzRnJvbX0gZnJvbSBcIi4uLy4uL2Fzc2V0L3NlcnZpY2UvQXNzZXRTZXJ2aWNlXCI7XG5pbXBvcnQge0dyaWRHYWxsZXJ5U2tlbGV0b259IGZyb20gXCIuLi8uLi9nYWxsZXJ5L0dyaWRHYWxsZXJ5U2tlbGV0b25cIjtcbmltcG9ydCB7ZXh0cmFjdElkRnJvbX0gZnJvbSBcIi4uLy4uL3V0aWxzL1V0aWxzXCI7XG5pbXBvcnQge0Zsb29ycGxhbiwgV2ViU3BlY2lhbH0gZnJvbSBcIi4uL2RhdGEvRmxvb3JwbGFuXCI7XG5pbXBvcnQge0Fzc2V0TW9kYWx9IGZyb20gXCIuLi8uLi9hc3NldC9Bc3NldE1vZGFsXCI7XG5pbXBvcnQge2Zsb29ycGxhbkFkZHJlc3MsIGlzRmxvb3JwbGFuQXZhaWxhYmxlfSBmcm9tIFwiLi4vc2VydmljZS9GbG9vcnBsYW5TZXJ2aWNlXCI7XG5pbXBvcnQge1ZpZGVvVG91cnN9IGZyb20gXCIuLi8uLi9nYWxsZXJ5L1ZpZGVvVG91cnNcIjtcbmltcG9ydCB7VmlydHVhbFRvdXJ9IGZyb20gXCIuLi8uLi9nYWxsZXJ5L1ZpcnR1YWxUb3VyXCI7XG5pbXBvcnQge0dhbGxlcnlNb2RhbH0gZnJvbSBcIi4uLy4uL2dhbGxlcnkvR2FsbGVyeU1vZGFsXCI7XG5pbXBvcnQge0dyaWRHYWxsZXJ5TW9iaWxlfSBmcm9tIFwiLi4vLi4vZ2FsbGVyeS9HcmlkR2FsbGVyeU1vYmlsZVwiO1xuaW1wb3J0IHtIZXJvQmFkZ2VTdGF0c30gZnJvbSBcIi4vSGVyb0JhZGdlU3RhdHNcIjtcbmltcG9ydCB7Rmxvb3JwbGFuUHJpY2V9IGZyb20gXCIuLi9jYXJkL0Zsb29ycGxhblByaWNlXCI7XG5pbXBvcnQge0dyaWRHYWxsZXJ5Q292ZXIsIFRvdXJUeXBlfSBmcm9tIFwiLi4vLi4vZ2FsbGVyeS9HcmlkR2FsbGVyeUNvdmVyXCI7XG5pbXBvcnQge0dyaWRHYWxsZXJ5fSBmcm9tIFwiLi4vLi4vZ2FsbGVyeS9HcmlkR2FsbGVyeVwiO1xuXG5leHBvcnQgY29uc3QgRmxvb3JwbGFuSGVybzogUmVhY3QuRkM8Rmxvb3JwbGFuUHJvcHM+ID0gKFxuICAgIHtmbG9vcnBsYW4sIGNvbnRhY3RDbGlja0hhbmRsZXIsIGFwcGx5Q2xpY2tIYW5kbGVyLCBoYW5kbGVSZWZUb01hcCwgd2ViU3BlY2lhbHN9KSA9PiB7XG4gICAgY29uc3QgW2Fzc2V0cywgc2V0QXNzZXRzXSA9IHVzZVN0YXRlPEFzc2V0W10+KFtdKTtcbiAgICBjb25zdCBbaXNBc3NldHNMb2FkaW5nLCBzZXRJc0Fzc2V0c0xvYWRpbmddID0gdXNlU3RhdGUodHJ1ZSk7XG4gICAgY29uc3QgW3ZpZGVvVG91cnMsIHNldFZpZGVvVG91cnNdID0gdXNlU3RhdGU8c3RyaW5nW10+KFtdKTtcbiAgICBjb25zdCBbdmlydHVhbFRvdXIsIHNldFZpcnR1YWxUb3VyXSA9IHVzZVN0YXRlPHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuICAgIGNvbnN0IFt2aWRlb1RvdXJJbWFnZUJhY2tncm91bmQsIHNldFZpZGVvVG91ckltYWdlQmFja2dyb3VuZF0gPSB1c2VTdGF0ZTxzdHJpbmc+KCk7XG4gICAgY29uc3QgW3ZpcnR1YWxUb3VySW1hZ2VCYWNrZ3JvdW5kLCBzZXRWaXJ0dWFsVG91ckltYWdlQmFja2dyb3VuZF0gPSB1c2VTdGF0ZTxzdHJpbmc+KCk7XG5cbiAgICBjb25zdCBbc2hvd0Zsb29ycGxhbk1vZGFsLCBzZXRTaG93Rmxvb3JwbGFuTW9kYWxdID0gdXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IFt0b3RhbFBhZ2VzLCBzZXRUb3RhbFBhZ2VzXSA9IHVzZVN0YXRlKDEpO1xuICAgIGNvbnN0IFt0b3Vyc0NvdW50LCBzZXRUb3Vyc0NvdW50XSA9IHVzZVN0YXRlKDEpO1xuICAgIGNvbnN0IFtjdXJyZW50Vmlldywgc2V0Q3VycmVudFZpZXddID0gdXNlU3RhdGU8XCJwaG90b1wiIHwgVG91clR5cGU+KFwicGhvdG9cIik7XG4gICAgY29uc3QgW2Fzc2V0SW5Gb2N1cywgc2V0QXNzZXRJbkZvY3VzXSA9IHVzZVN0YXRlPEFzc2V0Pih7fSBhcyBBc3NldCk7XG4gICAgY29uc3QgW2Fzc2V0SW5kZXgsIHNldEFzc2V0SW5kZXhdID0gdXNlU3RhdGUoMCk7XG4gICAgY29uc3QgW3Nob3dNb2RhbCwgc2V0U2hvd01vZGFsXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCBbZmlyc3RQYWdlSW1hZ2VDb3VudCwgc2V0Rmlyc3RQYWdlSW1hZ2VDb3VudF0gPSB1c2VTdGF0ZSg0KTtcblxuICAgIGNvbnN0IEdSSURfU0laRSA9IDg7XG4gICAgY29uc3QgaW1hZ2VDbGlja2VkSGFuZGxlciA9IChpbWFnZTogQXNzZXQpID0+IHtcbiAgICAgICAgc2V0U2hvd01vZGFsKHRydWUpO1xuICAgICAgICBzZXRBc3NldEluRm9jdXMoaW1hZ2UpO1xuICAgICAgICBzZXRBc3NldEluZGV4KGFzc2V0cy5maW5kSW5kZXgodmFsdWUgPT4gdmFsdWUuaWQgPT09IGltYWdlLmlkKSk7XG4gICAgfTtcbiAgICBjb25zdCBtb2RhbENsb3NlSGFuZGxlciA9ICgpID0+IHtcbiAgICAgICAgc2V0U2hvd01vZGFsKGZhbHNlKTtcbiAgICAgICAgc2V0QXNzZXRJbkZvY3VzKHt9IGFzIEFzc2V0KTtcbiAgICB9O1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG5cblxuICAgICAgICBjb25zdCBpbWFnZXM6IEFzc2V0W10gPSBbXTtcbiAgICAgICAgaW1hZ2VzLnB1c2goe2lkOiBleHRyYWN0SWRGcm9tKGZsb29ycGxhbi5jb3ZlckltYWdlKSwgbmFtZTogXCJjb3ZlciBpbWFnZVwifSBhcyBBc3NldCk7XG4gICAgICAgIGxldCBmaXJzdFBhZ2VDb3VudCA9IGZpcnN0UGFnZUltYWdlQ291bnQ7XG5cbiAgICAgICAgaWYgKGZsb29ycGxhbi5waG90b3NGb2xkZXJJZCkge1xuICAgICAgICAgICAgZ2V0QXNzZXRzRnJvbShmbG9vcnBsYW4ucGhvdG9zRm9sZGVySWQpLnRoZW4oZ2FsbGVyeUFzc2V0cyA9PiB7XG5cbiAgICAgICAgICAgICAgICBpbWFnZXMucHVzaCguLi5nYWxsZXJ5QXNzZXRzKTtcblxuICAgICAgICAgICAgICAgIGlmIChpbWFnZXMubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBiYWNrZ3JvdW5kSW1hZ2VVcmwgPSBhc3NldFVybEZyb20oaW1hZ2VzWzFdLmlkLCBmbG9vcnBsYW4ucHJvcGVydHkuaWQpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZmxvb3JwbGFuLnZpcnR1YWxUb3VyTGluaykge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2V0VmlydHVhbFRvdXIoZmxvb3JwbGFuLnZpcnR1YWxUb3VyTGluayk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRWaXJ0dWFsVG91ckltYWdlQmFja2dyb3VuZChiYWNrZ3JvdW5kSW1hZ2VVcmwpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3RQYWdlQ291bnQgLT0gMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRvdXJMaW5rcyA9IFtdO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZmxvb3JwbGFuLnZpZGVvVG91ckxpbmspXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3VyTGlua3MucHVzaChmbG9vcnBsYW4udmlkZW9Ub3VyTGluayk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChmbG9vcnBsYW4udGhyZWVTaXh0eVZpZGVvVG91ckxpbmspXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3VyTGlua3MucHVzaChmbG9vcnBsYW4udGhyZWVTaXh0eVZpZGVvVG91ckxpbmspO1xuICAgICAgICAgICAgICAgICAgICBzZXRWaWRlb1RvdXJzKHRvdXJMaW5rcyk7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0b3VyTGlua3MubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2V0VmlkZW9Ub3VySW1hZ2VCYWNrZ3JvdW5kKGJhY2tncm91bmRJbWFnZVVybCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaXJzdFBhZ2VDb3VudCAtPSAxO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgbGV0IG90aGVyQXNzZXRDb3VudHMgPSAodG91ckxpbmtzLmxlbmd0aCA+IDAgPyAxIDogMCkgKyAoZmxvb3JwbGFuLnZpcnR1YWxUb3VyTGluayA/IDEgOiAwKTtcbiAgICAgICAgICAgICAgICAgICAgc2V0VG91cnNDb3VudChvdGhlckFzc2V0Q291bnRzKTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfSkuZmluYWxseSgoKSA9PiB7XG5cbiAgICAgICAgICAgICAgICBsZXQgcGFnZXMgPSAxO1xuXG4gICAgICAgICAgICAgICAgaWYgKGltYWdlcy5sZW5ndGggPiBmaXJzdFBhZ2VDb3VudCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCByZW1haW5pbmcgPSBpbWFnZXMubGVuZ3RoIC0gZmlyc3RQYWdlQ291bnQ7XG4gICAgICAgICAgICAgICAgICAgIHBhZ2VzICs9IHJlbWFpbmluZyAvIDg7XG4gICAgICAgICAgICAgICAgICAgIGlmIChyZW1haW5pbmcgJSA4ID4gMClcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2VzICs9IDE7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgc2V0VG90YWxQYWdlcyhNYXRoLnRydW5jKHBhZ2VzKSk7XG4gICAgICAgICAgICAgICAgc2V0Rmlyc3RQYWdlSW1hZ2VDb3VudChmaXJzdFBhZ2VDb3VudCk7XG4gICAgICAgICAgICAgICAgc2V0QXNzZXRzKGltYWdlcyk7XG4gICAgICAgICAgICAgICAgc2V0SXNBc3NldHNMb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc2V0QXNzZXRzKGltYWdlcyk7XG4gICAgICAgICAgICBzZXRJc0Fzc2V0c0xvYWRpbmcoZmFsc2UpO1xuICAgICAgICB9XG5cbiAgICB9LCBbZmxvb3JwbGFuXSlcblxuXG4gICAgY29uc3QgcHJpbnRGbG9vcnBsYW5BZGRyZXNzID0gKCkgPT4ge1xuICAgICAgICBjb25zdCBhZGRyZXNzID0gZmxvb3JwbGFuQWRkcmVzcyhmbG9vcnBsYW4pO1xuICAgICAgICByZXR1cm4gYWRkcmVzcy5hZGRyZXNzICsgXCIsIFwiICsgYWRkcmVzcy5jaXR5ICsgXCIsIFwiICsgYWRkcmVzcy5zdGF0ZSArIFwiIFwiICsgYWRkcmVzcy56aXBjb2RlO1xuICAgIH1cbiAgICBjb25zdCBpc0ZpcnN0U2xpZGVyUGFnZSA9IChzbGlkZUluZGV4OiBudW1iZXIpID0+IHNsaWRlSW5kZXggPT09IDA7XG5cbiAgICBjb25zdCBhc3NldHNUb1Nob3cgPSAoc2xpZGVJbmRleDogbnVtYmVyKSA9PiB7XG5cbiAgICAgICAgaWYgKGlzRmlyc3RTbGlkZXJQYWdlKHNsaWRlSW5kZXgpKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcImZpcnN0UGFnZUltYWdlQ291bnRcIiwgZmlyc3RQYWdlSW1hZ2VDb3VudCk7XG4gICAgICAgICAgICByZXR1cm4gYXNzZXRzLnNsaWNlKDAsIGZpcnN0UGFnZUltYWdlQ291bnQgLSAxKTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgY29uc3Qgc3RhcnRJbmRleCA9IGZpcnN0UGFnZUltYWdlQ291bnQgLSAxICsgKEdSSURfU0laRSAqIChzbGlkZUluZGV4IC0gMSkpXG4gICAgICAgIGNvbnN0IGVuZEluZGV4ID0gZmlyc3RQYWdlSW1hZ2VDb3VudCAtIDEgKyAoR1JJRF9TSVpFICogc2xpZGVJbmRleClcblxuICAgICAgICByZXR1cm4gYXNzZXRzLnNsaWNlKHN0YXJ0SW5kZXgsIGVuZEluZGV4ID4gYXNzZXRzLmxlbmd0aCA/IGFzc2V0cy5sZW5ndGggOiBlbmRJbmRleCk7XG4gICAgfTtcbiAgICByZXR1cm4gKFxuICAgICAgICA8c2VjdGlvbiBjbGFzc05hbWU9XCJzZWN0aW9uLWZsb29ycGxhbi0taGVyb1wiPlxuICAgICAgICAgICAge2lzQXNzZXRzTG9hZGluZyA/IDxHcmlkR2FsbGVyeVNrZWxldG9uLz4gOlxuICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZ2FsbGVyeS1oZXJvXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8R2FsbGVyeU1vZGFsIGFzc2V0cz17YXNzZXRzfSBhc3NldEluRm9jdXM9e2Fzc2V0SW5Gb2N1c31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0QXNzZXRJbkZvY3VzPXtzZXRBc3NldEluRm9jdXN9IHNob3dNb2RhbD17c2hvd01vZGFsfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhc3NldEluZGV4PXthc3NldEluZGV4fSBzZXRBc3NldEluZGV4PXtzZXRBc3NldEluZGV4fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RhbENsb3NlSGFuZGxlcj17bW9kYWxDbG9zZUhhbmRsZXJ9IHByb3BlcnR5SWQ9e2Zsb29ycGxhbi5wcm9wZXJ0eS5pZH0vPlxuICAgICAgICAgICAgICAgICAgICAgICAge2N1cnJlbnRWaWV3ID09PSBcInBob3RvXCIgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicGhvdG8tdmlldyBtYWluXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SXRlbVNsaWRlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsaWRlckl0ZW1zPXtbLi4uQXJyYXkodG90YWxQYWdlcyldLm1hcCgoeCwgaSkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGkgPT0gMCkgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEdyaWRHYWxsZXJ5Q292ZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhc3NldHM9e2Fzc2V0c1RvU2hvdyhpKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9vcnBsYW5BZGRyZXNzPXtmbG9vcnBsYW5BZGRyZXNzKGZsb29ycGxhbil9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydHlJZD17Zmxvb3JwbGFuLnByb3BlcnR5LmlkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlcm9JbWFnZT17YXNzZXRzWzBdfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlQ2xpY2tlZEhhbmRsZXI9e2ltYWdlQ2xpY2tlZEhhbmRsZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2ViU3BlY2lhbHM9e3dlYlNwZWNpYWxzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzQXZhaWxhYmxlTm93PXtpc0Zsb29ycGxhbkF2YWlsYWJsZShmbG9vcnBsYW4pfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldEN1cnJlbnRWaWV3PXtzZXRDdXJyZW50Vmlld31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWRlb1RvdXJJbWFnZUJhY2tncm91bmQ9e3ZpZGVvVG91ckltYWdlQmFja2dyb3VuZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aXJ0dWFsVG91ckltYWdlQmFja2dyb3VuZD17dmlydHVhbFRvdXJJbWFnZUJhY2tncm91bmR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd09ubHlIZXJvSW1hZ2U9e2Fzc2V0cy5sZW5ndGggPT09IDF9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEdyaWRHYWxsZXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2VDbGlja2VkSGFuZGxlcj17aW1hZ2VDbGlja2VkSGFuZGxlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0eUlkPXtmbG9vcnBsYW4ucHJvcGVydHkuaWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXNzZXRzPXthc3NldHNUb1Nob3coaSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9Lz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicGhvdG8tdmlldyBtb2JpbGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxHcmlkR2FsbGVyeU1vYmlsZSBhc3NldHM9e2Fzc2V0c30gdG91cnNDb3VudD17dG91cnNDb3VudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9vcnBsYW5BZGRyZXNzPXtmbG9vcnBsYW5BZGRyZXNzKGZsb29ycGxhbil9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlydHVhbFRvdXI9e3ZpcnR1YWxUb3VyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldEN1cnJlbnRWaWV3PXtzZXRDdXJyZW50Vmlld31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWFnZUNsaWNrZWRIYW5kbGVyPXtpbWFnZUNsaWNrZWRIYW5kbGVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdlYlNwZWNpYWxzPXt3ZWJTcGVjaWFsc31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0F2YWlsYWJsZU5vdz17aXNGbG9vcnBsYW5BdmFpbGFibGUoZmxvb3JwbGFuKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0eUlkPXtmbG9vcnBsYW4ucHJvcGVydHkuaWR9Lz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC8+IDogXCJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICB7Y3VycmVudFZpZXcgPT09IFwiVmlkZW8gVG91clwiID8gPFZpZGVvVG91cnMgdmlkZW9Ub3VyVXJscz17dmlkZW9Ub3Vyc30vPiA6IFwiXCJ9XG4gICAgICAgICAgICAgICAgICAgICAgICB7Y3VycmVudFZpZXcgPT09IFwiVmlydHVhbCBUb3VyXCIgPyA8VmlydHVhbFRvdXIgdmlydHVhbFRvdXJVcmw9e3ZpcnR1YWxUb3VyfS8+IDogXCJcIn1cbiAgICAgICAgICAgICAgICAgICAgICAgIDxIZXJvQmFkZ2VTdGF0cyBjdXJyZW50Vmlldz17Y3VycmVudFZpZXd9IHNldEN1cnJlbnRWaWV3PXtzZXRDdXJyZW50Vmlld31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3RhbEFzc2V0cz17YXNzZXRzPy5sZW5ndGh9IHZpZGVvVG91cnM9e3ZpZGVvVG91cnN9IHZpcnR1YWxUb3VyPXt2aXJ0dWFsVG91cn0vPlxuXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvPlxuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8QXNzZXRNb2RhbCBhc3NldFVybD17Zmxvb3JwbGFuLnBob3RvfSBhc3NldFRpdGxlPVwiRmxvb3JwbGFuIGltYWdlXCIgc2hvd01vZGFsPXtzaG93Rmxvb3JwbGFuTW9kYWx9XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRTaG93TW9kYWw9e3NldFNob3dGbG9vcnBsYW5Nb2RhbH0gcHJvcGVydHlJZD17Zmxvb3JwbGFuLnByb3BlcnR5LmlkfS8+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxvb3JwbGFuLS10d28tY29sdW1uc1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsb29ycGxhbi1jb2x1bW4tbGVmdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGgzPntmbG9vcnBsYW4ubmFtZX08L2gzPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGg0PjxGbG9vcnBsYW5QcmljZSB1bml0UmVudHM9e2Zsb29ycGxhbi51bml0c30gc3BlY2lhbFJlbnQ9e2Zsb29ycGxhbi5zcGVjaWFsUmVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3BlY2lhbFJlbnRTdGFydERhdGU9e2Zsb29ycGxhbi5zcGVjaWFsUmVudFN0YXJ0RGF0ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3BlY2lhbFJlbnRFbmREYXRlPXtmbG9vcnBsYW4uc3BlY2lhbFJlbnRFbmREYXRlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnZlcnRDb2xvcj17dHJ1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2g0PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwiZmxvb3JwbGFuLS1kZXNjcmlwdGlvblwiPntwcmludEZsb29ycGxhbkFkZHJlc3MoKX08L3A+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxvb3JwbGFuLS1mZWF0dXJlZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b24gc2l6ZT1cInNtYWxsXCIgb25DbGljaz17KCkgPT4gc2V0U2hvd0Zsb29ycGxhbk1vZGFsKHRydWUpfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEljb24gbmFtZT1cIm1heFwiIG9yaWVudGF0aW9uPVwicmlnaHRcIj5WaWV3Rmxvb3JwbGFuPC9JY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwmbmJzcDsmbmJzcDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uIHNpemU9XCJzbWFsbFwiIG9uQ2xpY2s9eygpID0+IGhhbmRsZVJlZlRvTWFwKCl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SWNvbiBvcmllbnRhdGlvbj1cInJpZ2h0XCIgbmFtZT1cIm1hcFwiPlZpZXcgb24gTWFwPC9JY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtmbG9vcnBsYW4ucHJvcGVydHkuYnVzUm91dGVzLmxlbmd0aCA+IDAgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5CdXMgUm91dGVzOiZuYnNwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2Zsb29ycGxhbi5wcm9wZXJ0eS5idXNSb3V0ZXMubWFwKChidXNSb3V0ZSwgaW5kZXgpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4ga2V5PXtcImJ1cy1yb3V0ZS1cIiArIGluZGV4fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj17YnVzUm91dGUuYnVzUm91dGVMaW5rfSB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWw9XCJub3JlZmVycmVyXCI+e2J1c1JvdXRlLmJ1c1JvdXRlfTwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2luZGV4IDwgZmxvb3JwbGFuLnByb3BlcnR5LmJ1c1JvdXRlcy5sZW5ndGggLSAxID8gXCIsIFwiIDogXCJcIn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJcIn1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtYWluXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIiBmbG9vcnBsYW4tY29sdW1uLXJpZ2h0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbiB2YXJpYW50PVwicHJpbWFyeVwiIHNpemU9XCJtZWRpdW1cIiBvbkNsaWNrPXtjb250YWN0Q2xpY2tIYW5kbGVyfT5jb250YWN0IHVzPC9CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbiB2YXJpYW50PVwidGVydGlhcnlcIiBzaXplPVwibWVkaXVtXCIgb25DbGljaz17YXBwbHlDbGlja0hhbmRsZXJ9PmFwcGx5PC9CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFNoYXJlQnV0dG9uIHRpdGxlPVwiQ2hlY2sgb3V0IHRoaXMgYXBhcnRtZW50XCIgc2l6ZT1cImxhcmdlXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvc2VjdGlvbj5cbiAgICApO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBGbG9vcnBsYW5Qcm9wcyB7XG4gICAgZmxvb3JwbGFuOiBGbG9vcnBsYW47XG4gICAgd2ViU3BlY2lhbHM6IFdlYlNwZWNpYWxbXTtcbiAgICBjb250YWN0Q2xpY2tIYW5kbGVyOiAoKSA9PiB2b2lkO1xuICAgIGFwcGx5Q2xpY2tIYW5kbGVyOiAoKSA9PiB2b2lkO1xuICAgIGhhbmRsZVJlZlRvTWFwOiAoKSA9PiB2b2lkO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQUEsT0FBQTtBQUNBLElBQUFD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
|
|
@@ -86,7 +86,15 @@ const FloorplanSection = _ref => {
|
|
|
86
86
|
const isAvailableNow = moveInDate => moveInDate.isBefore(tomorrow);
|
|
87
87
|
floorplan.units.forEach(unit => {
|
|
88
88
|
const moveInDate = (0, _Utils.dateToMoment)(unit.moveInDate);
|
|
89
|
-
if (isAvailableNow(moveInDate))
|
|
89
|
+
if (isAvailableNow(moveInDate)) {
|
|
90
|
+
dates.add(today.format(_FloorplanService.MONTH_YEAR_FORMAT));
|
|
91
|
+
if (unit.availabilityExtensionMonths && unit.availabilityExtensionMonths > 0) {
|
|
92
|
+
for (let i = 1; i <= unit.availabilityExtensionMonths; i++) {
|
|
93
|
+
let extensionDate = (0, _moment.default)().add(i, 'month');
|
|
94
|
+
dates.add(extensionDate.format(_FloorplanService.MONTH_YEAR_FORMAT));
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
} else {
|
|
90
98
|
dates.add(moveInDate.format(_FloorplanService.MONTH_YEAR_FORMAT));
|
|
91
99
|
if (unit.availabilityExtensionMonths && unit.availabilityExtensionMonths > 0) {
|
|
92
100
|
for (let i = 1; i <= unit.availabilityExtensionMonths; i++) {
|
|
@@ -192,4 +200,4 @@ const FloorplanSection = _ref => {
|
|
|
192
200
|
}))))));
|
|
193
201
|
};
|
|
194
202
|
exports.FloorplanSection = FloorplanSection;
|
|
195
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfRmxvb3JwbGFuIiwiX0Zsb29ycGxhblNlcnZpY2UiLCJfR3JpZEdhbGxlcnlTa2VsZXRvbiIsIl9GbG9vcnBsYW5IZXJvIiwiX1V0aWxzIiwiX0NhcmQiLCJfVGVzdGltb25pYWxzQ2FyZCIsIl9NYXBTZWN0aW9uIiwiX1NpbWlsYXJGbG9vcnBsYW5DYXJkIiwiX211bmNoZXJVaSIsIl9tb21lbnQiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX1Byb3BlcnR5IiwiX1Nob3J0VGVybUZsb29ycGxhblNlY3Rpb24iLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJGbG9vcnBsYW5TZWN0aW9uIiwiX3JlZiIsIl9mbG9vcnBsYW4kcHJvcGVydHkiLCJfZmxvb3JwbGFuJHByb3BlcnR5MiIsImNvbnRhY3RDbGlja0hhbmRsZXIiLCJhcHBseUNsaWNrSGFuZGxlciIsImZsb29ycGxhbklkIiwibG9jYXRpb25SZWYiLCJoYW5kbGVSZWZUb0xvY2F0aW9uIiwiZmxvb3JwbGFuIiwic2V0Rmxvb3JwbGFuIiwidXNlU3RhdGUiLCJzaW1pbGFyRmxvb3JwbGFucyIsInNldFNpbWlsYXJGbG9vcnBsYW5zIiwiZmxvb3JwbGFuVmFyaWF0aW9ucyIsInNldEZsb29ycGxhblZhcmlhdGlvbnMiLCJ0ZXN0aW1vbmlhbHMiLCJzZXRUZXN0aW1vbmlhbHMiLCJ3ZWJTcGVjaWFscyIsInNldFdlYlNwZWNpYWxzIiwiaXNMb2FkaW5nIiwic2V0SXNMb2FkaW5nIiwiZXJyb3JMb2FkaW5nIiwic2V0RXJyb3JMb2FkaW5nIiwibWFwUmVmIiwidXNlUmVmIiwiaGFuZGxlUmVmVG9NYXAiLCJfbWFwUmVmJGN1cnJlbnQiLCJjdXJyZW50Iiwic2Nyb2xsSW50b1ZpZXciLCJiZWhhdmlvciIsImJsb2NrIiwidXNlRWZmZWN0IiwiZ2V0Rmxvb3JwbGFuIiwidGhlbiIsImZsb29ycGxhbkRhdGEiLCJ1bml0cyIsImZpbHRlciIsInVuaXQiLCJhY3RpdmUiLCJMZWFzZVR5cGUiLCJTSE9SVF9URVJNIiwicHJvcGVydHkiLCJsZWFzZVR5cGUiLCJQcm9taXNlIiwiYWxsIiwiZ2V0Rmxvb3JwbGFuVmFyaWF0aW9ucyIsImdldFNpbWlsYXJGbG9vcnBsYW5zIiwiZ2V0VGVzdGltb25pYWxzIiwiZ2V0V2ViU3BlY2lhbHMiLCJkYXRhIiwidG9kYXkiLCJtb21lbnQiLCJ2YWxpZFdlYlNwZWNpYWxzIiwiZm9yRWFjaCIsIndlYlNwZWNpYWwiLCJkYXRlVG9Nb21lbnQiLCJzdGFydERhdGUiLCJpc0JlZm9yZSIsImVuZERhdGUiLCJpc0FmdGVyIiwicHVzaCIsImNhdGNoIiwiZmluYWxseSIsImF2YWlsYWJsZURhdGVzIiwic29ydEF2YWlsYWJsZURhdGVzIiwiYiIsIk1PTlRIX1lFQVJfRk9STUFUIiwiZGlmZiIsImRhdGVzIiwiU2V0IiwidG9tb3Jyb3ciLCJhZGQiLCJpc0F2YWlsYWJsZU5vdyIsIm1vdmVJbkRhdGUiLCJmb3JtYXQiLCJhdmFpbGFiaWxpdHlFeHRlbnNpb25Nb250aHMiLCJleHRlbnNpb25EYXRlIiwiQXJyYXkiLCJmcm9tIiwic29ydCIsInJlc2lkZW50VXRpbGl0eURldGFpbHMiLCJ1dGlsaXR5IiwiYXZlcmFnZU1vbnRobHlCaWxsIiwiY2FwaXRhbGl6ZUZpcnN0TGV0dGVyIiwibmFtZSIsInRvVVNEIiwiaXNBdmVyYWdlTW9udGhseUJpbGxQcmVzZW50IiwidXRpbGl0aWVzIiwidHlwZSIsIlV0aWxpdHlUeXBlIiwiUkVTSURFTlRfVVRJTElUWSIsInNvbWUiLCJpc1dpdGhpblR3ZWx2ZU1vbnRocyIsImRhdGUiLCJ0d2VsdmVNb250aHNGcm9tTm93IiwiY3JlYXRlRWxlbWVudCIsIlNob3J0VGVybUZsb29ycGxhblNlY3Rpb24iLCJjbGFzc05hbWUiLCJHcmlkR2FsbGVyeVNrZWxldG9uIiwiRnJhZ21lbnQiLCJGbG9vcnBsYW5IZXJvIiwiQ2FyZCIsInRpdGxlIiwiYmVkcm9vbSIsImJhdGhyb29tIiwiZW51bVRvU3RyaW5nIiwic3R5bGUiLCJsZW5ndGgiLCJyYW5nZUZyb20iLCJkZXNjcmlwdGlvbiIsImFtZW5pdGllcyIsIlVsIiwiYW1lbml0eSIsImZlYXR1cmVkIiwibWFwIiwiTGkiLCJrZXkiLCJpZCIsImJ1bGxldEljb24iLCJpc0ZlYXR1cmVkIiwidmFyaWF0aW9uIiwiVGVzdGltb25pYWxzQ2FyZCIsInBlcm1pdHRlZFBldHMiLCJwZXQiLCJidWxsZXRDb2xvciIsIm5vdFBlcm1pdHRlZFBldHMiLCJwZXRQb2xpY3kiLCJhdmFpbGFibGVEYXRlIiwiSU5DTFVERURfVVRJTElUWSIsIlNpbWlsYXJGbG9vcnBsYW5DYXJkIiwicGhvbmUiLCJocmVmIiwiZm9ybWF0UGhvbmVOdW1iZXIiLCJCdXR0b24iLCJ2YXJpYW50Iiwib25DbGljayIsInNpemUiLCJyZWYiLCJNYXBTZWN0aW9uIiwic3JjIiwiZmxvb3JwbGFuQWRkcmVzc1RvR29vZ2xlTWFwIiwiZmxvb3JwbGFuQWRkcmVzcyIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZmxvb3JwbGFuL3NlY3Rpb24vRmxvb3JwbGFuU2VjdGlvbi50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7dXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7XG4gICAgRmxvb3JwbGFuLFxuICAgIEZsb29ycGxhblZhcmlhdGlvbixcbiAgICBTaW1pbGFyRmxvb3JwbGFuLFxuICAgIFRlc3RpbW9uaWFsLFxuICAgIFV0aWxpdHlOYW1lLFxuICAgIFV0aWxpdHlUeXBlLFxuICAgIFdlYlNwZWNpYWxcbn0gZnJvbSBcIi4uL2RhdGEvRmxvb3JwbGFuXCI7XG5pbXBvcnQge1xuICAgIGZsb29ycGxhbkFkZHJlc3MsXG4gICAgZ2V0Rmxvb3JwbGFuLFxuICAgIGdldEZsb29ycGxhblZhcmlhdGlvbnMsXG4gICAgZ2V0U2ltaWxhckZsb29ycGxhbnMsXG4gICAgZ2V0VGVzdGltb25pYWxzLFxuICAgIGdldFdlYlNwZWNpYWxzLFxuICAgIE1PTlRIX1lFQVJfRk9STUFULFxuICAgIG5vdFBlcm1pdHRlZFBldHMsXG4gICAgcGVybWl0dGVkUGV0cyxcbiAgICBwZXRQb2xpY3lcbn0gZnJvbSBcIi4uL3NlcnZpY2UvRmxvb3JwbGFuU2VydmljZVwiO1xuaW1wb3J0IFwiLi9hc3NldHMvRmxvb3JwbGFuU2VjdGlvbi5zY3NzXCI7XG5pbXBvcnQge0dyaWRHYWxsZXJ5U2tlbGV0b259IGZyb20gXCIuLi8uLi9nYWxsZXJ5L0dyaWRHYWxsZXJ5U2tlbGV0b25cIjtcbmltcG9ydCB7Rmxvb3JwbGFuSGVyb30gZnJvbSBcIi4vRmxvb3JwbGFuSGVyb1wiO1xuaW1wb3J0IHtcbiAgICBjYXBpdGFsaXplRmlyc3RMZXR0ZXIsXG4gICAgZGF0ZVRvTW9tZW50LFxuICAgIGVudW1Ub1N0cmluZyxcbiAgICBmbG9vcnBsYW5BZGRyZXNzVG9Hb29nbGVNYXAsXG4gICAgZm9ybWF0UGhvbmVOdW1iZXIsXG4gICAgcmFuZ2VGcm9tLFxuICAgIHRvVVNEXG59IGZyb20gXCIuLi8uLi91dGlscy9VdGlsc1wiO1xuaW1wb3J0IHtDYXJkfSBmcm9tIFwiLi4vLi4vY2FyZC9DYXJkXCI7XG5pbXBvcnQge1Rlc3RpbW9uaWFsc0NhcmR9IGZyb20gXCIuLi9jYXJkL1Rlc3RpbW9uaWFsc0NhcmRcIjtcbmltcG9ydCB7TWFwU2VjdGlvbn0gZnJvbSBcIi4uLy4uL21hcC9NYXBTZWN0aW9uXCI7XG5pbXBvcnQge1NpbWlsYXJGbG9vcnBsYW5DYXJkfSBmcm9tIFwiLi4vY2FyZC9TaW1pbGFyRmxvb3JwbGFuQ2FyZFwiO1xuaW1wb3J0IHtCdXR0b24sIExpLCBVbH0gZnJvbSBcIkBjb250ZW50bXVuY2gvbXVuY2hlci11aVwiO1xuaW1wb3J0IG1vbWVudCBmcm9tIFwibW9tZW50XCI7XG5pbXBvcnQge0xlYXNlVHlwZX0gZnJvbSBcIi4uLy4uL3Byb3BlcnR5L2RhdGEvUHJvcGVydHlcIjtcbmltcG9ydCB7U2hvcnRUZXJtRmxvb3JwbGFuU2VjdGlvbn0gZnJvbSBcIi4uLy4uL3Nob3J0LXRlcm0vU2hvcnRUZXJtRmxvb3JwbGFuU2VjdGlvblwiO1xuXG5leHBvcnQgY29uc3QgRmxvb3JwbGFuU2VjdGlvbjogUmVhY3QuRkM8Rmxvb3JwbGFuU2VjdGlvblByb3BzPiA9IChcbiAgICB7XG4gICAgICAgIGNvbnRhY3RDbGlja0hhbmRsZXIsXG4gICAgICAgIGFwcGx5Q2xpY2tIYW5kbGVyLFxuICAgICAgICBmbG9vcnBsYW5JZCxcbiAgICAgICAgbG9jYXRpb25SZWYsXG4gICAgICAgIGhhbmRsZVJlZlRvTG9jYXRpb25cbiAgICB9KSA9PiB7XG4gICAgY29uc3QgW2Zsb29ycGxhbiwgc2V0Rmxvb3JwbGFuXSA9IHVzZVN0YXRlPEZsb29ycGxhbj4oe30gYXMgRmxvb3JwbGFuKTtcbiAgICBjb25zdCBbc2ltaWxhckZsb29ycGxhbnMsIHNldFNpbWlsYXJGbG9vcnBsYW5zXSA9IHVzZVN0YXRlPFNpbWlsYXJGbG9vcnBsYW5bXT4oW10pO1xuICAgIGNvbnN0IFtmbG9vcnBsYW5WYXJpYXRpb25zLCBzZXRGbG9vcnBsYW5WYXJpYXRpb25zXSA9IHVzZVN0YXRlPEZsb29ycGxhblZhcmlhdGlvbltdPihbXSk7XG4gICAgY29uc3QgW3Rlc3RpbW9uaWFscywgc2V0VGVzdGltb25pYWxzXSA9IHVzZVN0YXRlPFRlc3RpbW9uaWFsW10+KFtdKTtcbiAgICBjb25zdCBbd2ViU3BlY2lhbHMsIHNldFdlYlNwZWNpYWxzXSA9IHVzZVN0YXRlPFdlYlNwZWNpYWxbXT4oW10pO1xuXG4gICAgY29uc3QgW2lzTG9hZGluZywgc2V0SXNMb2FkaW5nXSA9IHVzZVN0YXRlKHRydWUpO1xuICAgIGNvbnN0IFtlcnJvckxvYWRpbmcsIHNldEVycm9yTG9hZGluZ10gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgICBjb25zdCBtYXBSZWY6IFJlYWN0LlJlZjxIVE1MRGl2RWxlbWVudD4gPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICAgIGNvbnN0IGhhbmRsZVJlZlRvTWFwID0gKCkgPT4ge1xuICAgICAgICBpZiAoaGFuZGxlUmVmVG9Mb2NhdGlvbilcbiAgICAgICAgICAgIGhhbmRsZVJlZlRvTG9jYXRpb24oKTtcbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBtYXBSZWYuY3VycmVudD8uc2Nyb2xsSW50b1ZpZXcoe1xuICAgICAgICAgICAgICAgIGJlaGF2aW9yOiBcInNtb290aFwiLFxuICAgICAgICAgICAgICAgIGJsb2NrOiBcInN0YXJ0XCJcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBnZXRGbG9vcnBsYW4oZmxvb3JwbGFuSWQpLnRoZW4oZmxvb3JwbGFuRGF0YSA9PiB7XG4gICAgICAgICAgICBzZXRGbG9vcnBsYW4oZmxvb3JwbGFuRGF0YSk7XG4gICAgICAgICAgICBmbG9vcnBsYW5EYXRhLnVuaXRzID0gZmxvb3JwbGFuRGF0YS51bml0cy5maWx0ZXIodW5pdCA9PiB1bml0LmFjdGl2ZSk7XG4gICAgICAgICAgICBpZiAoTGVhc2VUeXBlLlNIT1JUX1RFUk0gPT09IGZsb29ycGxhbkRhdGEucHJvcGVydHkubGVhc2VUeXBlKSB7XG4gICAgICAgICAgICAgICAgc2V0SXNMb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgUHJvbWlzZS5hbGwoW1xuICAgICAgICAgICAgICAgICAgICBnZXRGbG9vcnBsYW5WYXJpYXRpb25zKGZsb29ycGxhbklkKSxcbiAgICAgICAgICAgICAgICAgICAgZ2V0U2ltaWxhckZsb29ycGxhbnMoZmxvb3JwbGFuSWQpLFxuICAgICAgICAgICAgICAgICAgICBnZXRUZXN0aW1vbmlhbHMoZmxvb3JwbGFuSWQpLFxuICAgICAgICAgICAgICAgICAgICBnZXRXZWJTcGVjaWFscyhmbG9vcnBsYW5JZClcbiAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICAgICAgICAudGhlbigoZGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdG9kYXkgPSBtb21lbnQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldEZsb29ycGxhblZhcmlhdGlvbnMoZGF0YVswXSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRTaW1pbGFyRmxvb3JwbGFucyhkYXRhWzFdKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldFRlc3RpbW9uaWFscyhkYXRhWzJdKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZhbGlkV2ViU3BlY2lhbHM6IFdlYlNwZWNpYWxbXSA9IFtdO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YVszXS5mb3JFYWNoKHdlYlNwZWNpYWwgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkYXRlVG9Nb21lbnQod2ViU3BlY2lhbC5zdGFydERhdGUpLmlzQmVmb3JlKHRvZGF5KSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRlVG9Nb21lbnQod2ViU3BlY2lhbC5lbmREYXRlKS5pc0FmdGVyKHRvZGF5KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZFdlYlNwZWNpYWxzLnB1c2god2ViU3BlY2lhbCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRXZWJTcGVjaWFscyh2YWxpZFdlYlNwZWNpYWxzKTtcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgLmNhdGNoKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldEVycm9yTG9hZGluZyh0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2V0SXNMb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pLmNhdGNoKCgpID0+IHtcbiAgICAgICAgICAgIHNldEVycm9yTG9hZGluZyh0cnVlKTtcbiAgICAgICAgICAgIHNldElzTG9hZGluZyhmYWxzZSk7XG4gICAgICAgIH0pO1xuXG4gICAgfSwgW2Zsb29ycGxhbklkXSk7XG5cbiAgICBjb25zdCBhdmFpbGFibGVEYXRlcyA9ICgpOiBzdHJpbmdbXSA9PiB7XG4gICAgICAgIGNvbnN0IHNvcnRBdmFpbGFibGVEYXRlcyA9IChhOiBzdHJpbmcsIGI6IHN0cmluZykgPT4gbW9tZW50KGEsIE1PTlRIX1lFQVJfRk9STUFUKS5kaWZmKG1vbWVudChiLCBNT05USF9ZRUFSX0ZPUk1BVCkpO1xuICAgICAgICBjb25zdCBkYXRlcyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICAgICAgICBjb25zdCB0b2RheSA9IG1vbWVudCgpO1xuXG4gICAgICAgIGNvbnN0IHRvbW9ycm93ID0gdG9kYXkuYWRkKDEsIFwiZGF5XCIpO1xuICAgICAgICBjb25zdCBpc0F2YWlsYWJsZU5vdyA9IChtb3ZlSW5EYXRlOiBtb21lbnQuTW9tZW50KSA9PiBtb3ZlSW5EYXRlLmlzQmVmb3JlKHRvbW9ycm93KTtcblxuICAgICAgICBmbG9vcnBsYW4udW5pdHMuZm9yRWFjaCh1bml0ID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG1vdmVJbkRhdGUgPSBkYXRlVG9Nb21lbnQodW5pdC5tb3ZlSW5EYXRlKTtcbiAgICAgICAgICAgIGlmIChpc0F2YWlsYWJsZU5vdyhtb3ZlSW5EYXRlKSlcbiAgICAgICAgICAgICAgICBkYXRlcy5hZGQodG9kYXkuZm9ybWF0KE1PTlRIX1lFQVJfRk9STUFUKSk7XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBkYXRlcy5hZGQobW92ZUluRGF0ZS5mb3JtYXQoTU9OVEhfWUVBUl9GT1JNQVQpKTtcbiAgICAgICAgICAgICAgICBpZiAodW5pdC5hdmFpbGFiaWxpdHlFeHRlbnNpb25Nb250aHMgJiYgdW5pdC5hdmFpbGFiaWxpdHlFeHRlbnNpb25Nb250aHMgPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAxOyBpIDw9IHVuaXQuYXZhaWxhYmlsaXR5RXh0ZW5zaW9uTW9udGhzOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBleHRlbnNpb25EYXRlID0gZGF0ZVRvTW9tZW50KHVuaXQubW92ZUluRGF0ZSkuYWRkKGksICdtb250aCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGF0ZXMuYWRkKGV4dGVuc2lvbkRhdGUuZm9ybWF0KE1PTlRIX1lFQVJfRk9STUFUKSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIEFycmF5LmZyb20oZGF0ZXMpLnNvcnQoc29ydEF2YWlsYWJsZURhdGVzKTtcbiAgICB9XG5cbiAgICBjb25zdCByZXNpZGVudFV0aWxpdHlEZXRhaWxzID0gKHV0aWxpdHk6IFV0aWxpdHlOYW1lKSA9PlxuICAgICAgICB1dGlsaXR5LmF2ZXJhZ2VNb250aGx5QmlsbCA/XG4gICAgICAgICAgICBjYXBpdGFsaXplRmlyc3RMZXR0ZXIodXRpbGl0eS5uYW1lKSArIFwiIC0gQXZnL01vIFwiICsgdG9VU0QodXRpbGl0eS5hdmVyYWdlTW9udGhseUJpbGwpXG4gICAgICAgICAgICA6IGNhcGl0YWxpemVGaXJzdExldHRlcih1dGlsaXR5Lm5hbWUpO1xuXG4gICAgY29uc3QgaXNBdmVyYWdlTW9udGhseUJpbGxQcmVzZW50ID0gKCkgPT4gZmxvb3JwbGFuLnV0aWxpdGllcy5maWx0ZXIodXRpbGl0eSA9PiB1dGlsaXR5LnR5cGUgPT09IFV0aWxpdHlUeXBlLlJFU0lERU5UX1VUSUxJVFkpLnNvbWUodXRpbGl0eSA9PiB1dGlsaXR5LmF2ZXJhZ2VNb250aGx5QmlsbCAhPSBudWxsKTtcblxuXG4gICAgY29uc3QgaXNXaXRoaW5Ud2VsdmVNb250aHMgPSAoZGF0ZTogc3RyaW5nKSA9PiB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnQgPSBtb21lbnQoZGF0ZSwgXCJNTU0gWVlZWVwiKTtcbiAgICAgICAgY29uc3QgdHdlbHZlTW9udGhzRnJvbU5vdyA9IG1vbWVudCgpLmFkZCgxLCBcInllYXJcIik7XG4gICAgICAgIHJldHVybiBjdXJyZW50LmlzQmVmb3JlKHR3ZWx2ZU1vbnRoc0Zyb21Ob3cpO1xuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICAgIExlYXNlVHlwZS5TSE9SVF9URVJNID09PSBmbG9vcnBsYW4ucHJvcGVydHk/LmxlYXNlVHlwZSA/XG4gICAgICAgICAgICA8U2hvcnRUZXJtRmxvb3JwbGFuU2VjdGlvbiBjb250YWN0Q2xpY2tIYW5kbGVyPXtjb250YWN0Q2xpY2tIYW5kbGVyfSBhcHBseUNsaWNrSGFuZGxlcj17YXBwbHlDbGlja0hhbmRsZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9vcnBsYW5JZD17Zmxvb3JwbGFuSWR9Lz4gOlxuICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3NOYW1lPVwic2VjdGlvbi1mbG9vcnBsYW5cIj5cbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGlzTG9hZGluZyA/IDxzZWN0aW9uIGNsYXNzTmFtZT1cInNlY3Rpb24tZmxvb3JwbGFuLS1oZXJvXCI+PEdyaWRHYWxsZXJ5U2tlbGV0b24vPjwvc2VjdGlvbj4gOiA8PlxuICAgICAgICAgICAgICAgICAgICAgICAge2Vycm9yTG9hZGluZyA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3NOYW1lPVwiZGl2LWZ1bGwtLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDI+VWgtb2gsIHRoaXMgaXMgYSA0MDQ8L2gyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4gOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGbG9vcnBsYW5IZXJvIGZsb29ycGxhbj17Zmxvb3JwbGFufSBjb250YWN0Q2xpY2tIYW5kbGVyPXtjb250YWN0Q2xpY2tIYW5kbGVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3ZWJTcGVjaWFscz17d2ViU3BlY2lhbHN9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGx5Q2xpY2tIYW5kbGVyPXthcHBseUNsaWNrSGFuZGxlcn0gaGFuZGxlUmVmVG9NYXA9e2hhbmRsZVJlZlRvTWFwfS8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsb29ycGxhbi0tY2FyZHNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q2FyZCB0aXRsZT1cIkRldGFpbHNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwiZmxvb3JwbGFuLWNhcmQtLWZlYXR1cmVkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Zmxvb3JwbGFuLmJlZHJvb219IEJlZHJvb21cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwge2Zsb29ycGxhbi5iYXRocm9vbX0gQmF0aHJvb20ge2VudW1Ub1N0cmluZyhmbG9vcnBsYW4uc3R5bGUpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtmbG9vcnBsYW4udW5pdHMubGVuZ3RoID4gMCA/IDw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJmbG9vcnBsYW4tY2FyZC0tZmVhdHVyZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7cmFuZ2VGcm9tKGZsb29ycGxhbi51bml0cywgXCJzcXVhcmVGb290XCIpfSBTcXVhcmUgRmVldFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwiZmxvb3JwbGFuLWNhcmQtLWZlYXR1cmVkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtyYW5nZUZyb20oZmxvb3JwbGFuLnVuaXRzLCBcInJlbnRcIil9L21vXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJmbG9vcnBsYW4tY2FyZC0tZmVhdHVyZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3JhbmdlRnJvbShmbG9vcnBsYW4udW5pdHMsIFwiZGVwb3NpdFwiKX0gU2VjdXJpdHkgRGVwb3NpdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Lz4gOiBcIlwifVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtmbG9vcnBsYW4uZGVzY3JpcHRpb259XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0NhcmQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9vcnBsYW4uYW1lbml0aWVzLmxlbmd0aCA+IDAgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPENhcmQgdGl0bGU9XCJBbWVuaXRpZXNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb29ycGxhbi5hbWVuaXRpZXMuZmlsdGVyKGFtZW5pdHkgPT4gYW1lbml0eS5mZWF0dXJlZCkubWFwKGFtZW5pdHkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGkga2V5PXtcImZsb29ycGxhbi1hbWVuaXR5LVwiICsgYW1lbml0eS5pZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVsbGV0SWNvbj1cInN0YXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0ZlYXR1cmVkPXt0cnVlfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2FtZW5pdHkubmFtZX1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9vcnBsYW4uYW1lbml0aWVzLmZpbHRlcihhbWVuaXR5ID0+ICFhbWVuaXR5LmZlYXR1cmVkKS5tYXAoYW1lbml0eSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaSBrZXk9e1wiZmxvb3JwbGFuLWFtZW5pdHktXCIgKyBhbWVuaXR5LmlkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWxsZXRJY29uPVwiZG90XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHthbWVuaXR5Lm5hbWV9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9VbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb29ycGxhblZhcmlhdGlvbnMubGVuZ3RoID4gMCA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNT5WYXJpYXRpb25zPC9oNT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb29ycGxhblZhcmlhdGlvbnMubWFwKCh2YXJpYXRpb24sIGkpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExpIGtleT17XCJmbG9vcnBsYW4tdmFyaWF0aW9uLVwiICsgaX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt2YXJpYXRpb24udmFyaWF0aW9ufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1VsPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Lz4gOiBcIlwifVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0NhcmQ+IDogPD48Lz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RpbW9uaWFscy5sZW5ndGggPiAwID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxUZXN0aW1vbmlhbHNDYXJkIHRlc3RpbW9uaWFscz17dGVzdGltb25pYWxzfS8+IDogPD48Lz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDYXJkIHRpdGxlPVwiUGV0c1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDU+UGVybWl0dGVkPC9oNT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBlcm1pdHRlZFBldHMoZmxvb3JwbGFuKS5tYXAoKHBldCwgaSkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExpIGtleT17XCJmbG9vcnBsYW4tcGVybWl0dGVkLXBldC1cIiArIGl9IGJ1bGxldEljb249XCJjaGVja1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWxsZXRDb2xvcj1cImdyZWVuXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7cGV0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9VbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge25vdFBlcm1pdHRlZFBldHMoZmxvb3JwbGFuKS5sZW5ndGggPiAwID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw+PGg1Pk5vdCBQZXJtaXR0ZWQ8L2g1PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxVbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90UGVybWl0dGVkUGV0cyhmbG9vcnBsYW4pLm1hcCgocGV0LCBpKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaSBrZXk9e1wiZmxvb3JwbGFuLW5vdC1wZXJtaXR0ZWQtcGV0LVwiICsgaX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVsbGV0Q29sb3I9XCJicm93blwiIGJ1bGxldEljb249XCJjbG9zZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7cGV0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC8+IDogXCJcIn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZXRQb2xpY3koZmxvb3JwbGFuKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1PkFkZGl0aW9uYWwgSW5mb3JtYXRpb248L2g1PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD57cGV0UG9saWN5KGZsb29ycGxhbil9PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvPiA6IFwiXCJcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0NhcmQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2Zsb29ycGxhbi51bml0cy5sZW5ndGggPiAwID8gPD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPENhcmQgdGl0bGU9XCJBdmFpbGFiaWxpdHlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxVbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF2YWlsYWJsZURhdGVzKCkuZmlsdGVyKGF2YWlsYWJsZURhdGUgPT4gaXNXaXRoaW5Ud2VsdmVNb250aHMoYXZhaWxhYmxlRGF0ZSkpLm1hcChhdmFpbGFibGVEYXRlID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGkga2V5PXtcImZsb29ycGxhbi11bml0LWF2YWlsYWJpbGl0eS1cIiArIGF2YWlsYWJsZURhdGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVsbGV0SWNvbj1cImNhbGVuZGFyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXZhaWxhYmxlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gPHN0cm9uZz57Y2FwaXRhbGl6ZUZpcnN0TGV0dGVyKGF2YWlsYWJsZURhdGUpfTwvc3Ryb25nPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9MaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvVWw+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9DYXJkPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDYXJkIHRpdGxlPVwiVXRpbGl0aWVzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDU+UGFpZCBCeSBMYW5kbG9yZDwvaDU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9vcnBsYW4udXRpbGl0aWVzLmZpbHRlcih1dGlsaXR5ID0+IHV0aWxpdHkudHlwZSA9PT0gVXRpbGl0eVR5cGUuSU5DTFVERURfVVRJTElUWSkubWFwKHV0aWxpdHkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaSBrZXk9e1wiZmxvb3JwbGFuLWluY2x1ZGVkLXV0aWxpdHktXCIgKyB1dGlsaXR5LmlkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1bGxldEljb249XCJob21lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2NhcGl0YWxpemVGaXJzdExldHRlcih1dGlsaXR5Lm5hbWUpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9MaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvVWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDU+UGFpZCBCeSBSZXNpZGVudDwvaDU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9vcnBsYW4udXRpbGl0aWVzLmZpbHRlcih1dGlsaXR5ID0+IHV0aWxpdHkudHlwZSA9PT0gVXRpbGl0eVR5cGUuUkVTSURFTlRfVVRJTElUWSkubWFwKHV0aWxpdHkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaSBrZXk9e1wiZmxvb3JwbGFuLXJlc2lkZW50LXV0aWxpdHktXCIgKyB1dGlsaXR5LmlkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1bGxldEljb249XCJkb2xsYXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7cmVzaWRlbnRVdGlsaXR5RGV0YWlscyh1dGlsaXR5KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2lzQXZlcmFnZU1vbnRobHlCaWxsUHJlc2VudCgpID8gPHA+PGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKipBdmVyYWdlIHV0aWxpdGllcyBzaG93biBhYm92ZSBhcmUgYW4gZXN0aW1hdGUuIEFjdHVhbCBtb250aGx5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXRpbGl0eVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvc3RzIGNhbiB2YXJ5IHNpZ25pZmljYW50bHkgYmFzZWQgb24gaW5kaXZpZHVhbCB1c2FnZSwgdGltZSBvZlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHllYXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIHdlYXRoZXIsIGFuZCBvdGhlciBmYWN0b3JzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2k+PC9wPiA6IFwiXCJ9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9DYXJkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvPiA6IFwiXCJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3NpbWlsYXJGbG9vcnBsYW5zLmxlbmd0aCA+IDAgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2ltaWxhckZsb29ycGxhbkNhcmQgc2ltaWxhckZsb29ycGxhbnM9e3NpbWlsYXJGbG9vcnBsYW5zfS8+IDogXCJcIn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29udGFjdC1jYXJkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDYXJkIGZlYXR1cmVkPXt0cnVlfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxpPlF1ZXN0aW9ucz88L2k+PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PGk+Q2FsbCBvciB0ZXh0IHVzIGFueXRpbWU6PC9pPjwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtmbG9vcnBsYW4ucHJvcGVydHk/LnBob25lID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPXtcInRlbDpcIiArIGZsb29ycGxhbi5wcm9wZXJ0eS5waG9uZX0+e2Zvcm1hdFBob25lTnVtYmVyKGZsb29ycGxhbi5wcm9wZXJ0eS5waG9uZSl9PC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiXCJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uIHZhcmlhbnQ9XCJ0ZXJ0aWFyeVwiIG9uQ2xpY2s9e2NvbnRhY3RDbGlja0hhbmRsZXJ9IHNpemU9XCJsYXJnZVwiPkNvbnRhY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIMK7PC9CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQ2FyZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPENhcmQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiByZWY9e2xvY2F0aW9uUmVmID8gbG9jYXRpb25SZWYgOiBtYXBSZWZ9IGlkPVwibG9jYXRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwicmVmZXJlbmNlXCI+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TWFwU2VjdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmM9e2Zsb29ycGxhbkFkZHJlc3NUb0dvb2dsZU1hcChmbG9vcnBsYW5BZGRyZXNzKGZsb29ycGxhbikpfS8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0NhcmQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICApO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBGbG9vcnBsYW5TZWN0aW9uUHJvcHMge1xuICAgIGNvbnRhY3RDbGlja0hhbmRsZXI6ICgpID0+IHZvaWQ7XG4gICAgYXBwbHlDbGlja0hhbmRsZXI6ICgpID0+IHZvaWQ7XG4gICAgZmxvb3JwbGFuSWQ6IHN0cmluZztcbiAgICBsb2NhdGlvblJlZj86IFJlYWN0LlJlZjxIVE1MRGl2RWxlbWVudD47XG4gICAgaGFuZGxlUmVmVG9Mb2NhdGlvbj86ICgpID0+IHZvaWQ7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFVBQUEsR0FBQUQsT0FBQTtBQVNBLElBQUFFLGlCQUFBLEdBQUFGLE9BQUE7QUFZQUEsT0FBQTtBQUNBLElBQUFHLG9CQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxjQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxNQUFBLEdBQUFMLE9BQUE7QUFTQSxJQUFBTSxLQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxpQkFBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsV0FBQSxHQUFBUixPQUFBO0FBQ0EsSUFBQVMscUJBQUEsR0FBQVQsT0FBQTtBQUNBLElBQUFVLFVBQUEsR0FBQVYsT0FBQTtBQUNBLElBQUFXLE9BQUEsR0FBQUMsc0JBQUEsQ0FBQVosT0FBQTtBQUNBLElBQUFhLFNBQUEsR0FBQWIsT0FBQTtBQUNBLElBQUFjLDBCQUFBLEdBQUFkLE9BQUE7QUFBcUYsU0FBQVksdUJBQUFHLEdBQUEsV0FBQUEsR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsR0FBQUQsR0FBQSxLQUFBRSxPQUFBLEVBQUFGLEdBQUE7QUFBQSxTQUFBRyx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSxDQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7QUFBQSxTQUFBcEIsd0JBQUFvQixDQUFBLEVBQUFFLENBQUEsU0FBQUEsQ0FBQSxJQUFBRixDQUFBLElBQUFBLENBQUEsQ0FBQUgsVUFB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
|
|
203
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfRmxvb3JwbGFuIiwiX0Zsb29ycGxhblNlcnZpY2UiLCJfR3JpZEdhbGxlcnlTa2VsZXRvbiIsIl9GbG9vcnBsYW5IZXJvIiwiX1V0aWxzIiwiX0NhcmQiLCJfVGVzdGltb25pYWxzQ2FyZCIsIl9NYXBTZWN0aW9uIiwiX1NpbWlsYXJGbG9vcnBsYW5DYXJkIiwiX211bmNoZXJVaSIsIl9tb21lbnQiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX1Byb3BlcnR5IiwiX1Nob3J0VGVybUZsb29ycGxhblNlY3Rpb24iLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJGbG9vcnBsYW5TZWN0aW9uIiwiX3JlZiIsIl9mbG9vcnBsYW4kcHJvcGVydHkiLCJfZmxvb3JwbGFuJHByb3BlcnR5MiIsImNvbnRhY3RDbGlja0hhbmRsZXIiLCJhcHBseUNsaWNrSGFuZGxlciIsImZsb29ycGxhbklkIiwibG9jYXRpb25SZWYiLCJoYW5kbGVSZWZUb0xvY2F0aW9uIiwiZmxvb3JwbGFuIiwic2V0Rmxvb3JwbGFuIiwidXNlU3RhdGUiLCJzaW1pbGFyRmxvb3JwbGFucyIsInNldFNpbWlsYXJGbG9vcnBsYW5zIiwiZmxvb3JwbGFuVmFyaWF0aW9ucyIsInNldEZsb29ycGxhblZhcmlhdGlvbnMiLCJ0ZXN0aW1vbmlhbHMiLCJzZXRUZXN0aW1vbmlhbHMiLCJ3ZWJTcGVjaWFscyIsInNldFdlYlNwZWNpYWxzIiwiaXNMb2FkaW5nIiwic2V0SXNMb2FkaW5nIiwiZXJyb3JMb2FkaW5nIiwic2V0RXJyb3JMb2FkaW5nIiwibWFwUmVmIiwidXNlUmVmIiwiaGFuZGxlUmVmVG9NYXAiLCJfbWFwUmVmJGN1cnJlbnQiLCJjdXJyZW50Iiwic2Nyb2xsSW50b1ZpZXciLCJiZWhhdmlvciIsImJsb2NrIiwidXNlRWZmZWN0IiwiZ2V0Rmxvb3JwbGFuIiwidGhlbiIsImZsb29ycGxhbkRhdGEiLCJ1bml0cyIsImZpbHRlciIsInVuaXQiLCJhY3RpdmUiLCJMZWFzZVR5cGUiLCJTSE9SVF9URVJNIiwicHJvcGVydHkiLCJsZWFzZVR5cGUiLCJQcm9taXNlIiwiYWxsIiwiZ2V0Rmxvb3JwbGFuVmFyaWF0aW9ucyIsImdldFNpbWlsYXJGbG9vcnBsYW5zIiwiZ2V0VGVzdGltb25pYWxzIiwiZ2V0V2ViU3BlY2lhbHMiLCJkYXRhIiwidG9kYXkiLCJtb21lbnQiLCJ2YWxpZFdlYlNwZWNpYWxzIiwiZm9yRWFjaCIsIndlYlNwZWNpYWwiLCJkYXRlVG9Nb21lbnQiLCJzdGFydERhdGUiLCJpc0JlZm9yZSIsImVuZERhdGUiLCJpc0FmdGVyIiwicHVzaCIsImNhdGNoIiwiZmluYWxseSIsImF2YWlsYWJsZURhdGVzIiwic29ydEF2YWlsYWJsZURhdGVzIiwiYiIsIk1PTlRIX1lFQVJfRk9STUFUIiwiZGlmZiIsImRhdGVzIiwiU2V0IiwidG9tb3Jyb3ciLCJhZGQiLCJpc0F2YWlsYWJsZU5vdyIsIm1vdmVJbkRhdGUiLCJmb3JtYXQiLCJhdmFpbGFiaWxpdHlFeHRlbnNpb25Nb250aHMiLCJleHRlbnNpb25EYXRlIiwiQXJyYXkiLCJmcm9tIiwic29ydCIsInJlc2lkZW50VXRpbGl0eURldGFpbHMiLCJ1dGlsaXR5IiwiYXZlcmFnZU1vbnRobHlCaWxsIiwiY2FwaXRhbGl6ZUZpcnN0TGV0dGVyIiwibmFtZSIsInRvVVNEIiwiaXNBdmVyYWdlTW9udGhseUJpbGxQcmVzZW50IiwidXRpbGl0aWVzIiwidHlwZSIsIlV0aWxpdHlUeXBlIiwiUkVTSURFTlRfVVRJTElUWSIsInNvbWUiLCJpc1dpdGhpblR3ZWx2ZU1vbnRocyIsImRhdGUiLCJ0d2VsdmVNb250aHNGcm9tTm93IiwiY3JlYXRlRWxlbWVudCIsIlNob3J0VGVybUZsb29ycGxhblNlY3Rpb24iLCJjbGFzc05hbWUiLCJHcmlkR2FsbGVyeVNrZWxldG9uIiwiRnJhZ21lbnQiLCJGbG9vcnBsYW5IZXJvIiwiQ2FyZCIsInRpdGxlIiwiYmVkcm9vbSIsImJhdGhyb29tIiwiZW51bVRvU3RyaW5nIiwic3R5bGUiLCJsZW5ndGgiLCJyYW5nZUZyb20iLCJkZXNjcmlwdGlvbiIsImFtZW5pdGllcyIsIlVsIiwiYW1lbml0eSIsImZlYXR1cmVkIiwibWFwIiwiTGkiLCJrZXkiLCJpZCIsImJ1bGxldEljb24iLCJpc0ZlYXR1cmVkIiwidmFyaWF0aW9uIiwiVGVzdGltb25pYWxzQ2FyZCIsInBlcm1pdHRlZFBldHMiLCJwZXQiLCJidWxsZXRDb2xvciIsIm5vdFBlcm1pdHRlZFBldHMiLCJwZXRQb2xpY3kiLCJhdmFpbGFibGVEYXRlIiwiSU5DTFVERURfVVRJTElUWSIsIlNpbWlsYXJGbG9vcnBsYW5DYXJkIiwicGhvbmUiLCJocmVmIiwiZm9ybWF0UGhvbmVOdW1iZXIiLCJCdXR0b24iLCJ2YXJpYW50Iiwib25DbGljayIsInNpemUiLCJyZWYiLCJNYXBTZWN0aW9uIiwic3JjIiwiZmxvb3JwbGFuQWRkcmVzc1RvR29vZ2xlTWFwIiwiZmxvb3JwbGFuQWRkcmVzcyIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZmxvb3JwbGFuL3NlY3Rpb24vRmxvb3JwbGFuU2VjdGlvbi50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7dXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7XG4gICAgRmxvb3JwbGFuLFxuICAgIEZsb29ycGxhblZhcmlhdGlvbixcbiAgICBTaW1pbGFyRmxvb3JwbGFuLFxuICAgIFRlc3RpbW9uaWFsLFxuICAgIFV0aWxpdHlOYW1lLFxuICAgIFV0aWxpdHlUeXBlLFxuICAgIFdlYlNwZWNpYWxcbn0gZnJvbSBcIi4uL2RhdGEvRmxvb3JwbGFuXCI7XG5pbXBvcnQge1xuICAgIGZsb29ycGxhbkFkZHJlc3MsXG4gICAgZ2V0Rmxvb3JwbGFuLFxuICAgIGdldEZsb29ycGxhblZhcmlhdGlvbnMsXG4gICAgZ2V0U2ltaWxhckZsb29ycGxhbnMsXG4gICAgZ2V0VGVzdGltb25pYWxzLFxuICAgIGdldFdlYlNwZWNpYWxzLFxuICAgIE1PTlRIX1lFQVJfRk9STUFULFxuICAgIG5vdFBlcm1pdHRlZFBldHMsXG4gICAgcGVybWl0dGVkUGV0cyxcbiAgICBwZXRQb2xpY3lcbn0gZnJvbSBcIi4uL3NlcnZpY2UvRmxvb3JwbGFuU2VydmljZVwiO1xuaW1wb3J0IFwiLi9hc3NldHMvRmxvb3JwbGFuU2VjdGlvbi5zY3NzXCI7XG5pbXBvcnQge0dyaWRHYWxsZXJ5U2tlbGV0b259IGZyb20gXCIuLi8uLi9nYWxsZXJ5L0dyaWRHYWxsZXJ5U2tlbGV0b25cIjtcbmltcG9ydCB7Rmxvb3JwbGFuSGVyb30gZnJvbSBcIi4vRmxvb3JwbGFuSGVyb1wiO1xuaW1wb3J0IHtcbiAgICBjYXBpdGFsaXplRmlyc3RMZXR0ZXIsXG4gICAgZGF0ZVRvTW9tZW50LFxuICAgIGVudW1Ub1N0cmluZyxcbiAgICBmbG9vcnBsYW5BZGRyZXNzVG9Hb29nbGVNYXAsXG4gICAgZm9ybWF0UGhvbmVOdW1iZXIsXG4gICAgcmFuZ2VGcm9tLFxuICAgIHRvVVNEXG59IGZyb20gXCIuLi8uLi91dGlscy9VdGlsc1wiO1xuaW1wb3J0IHtDYXJkfSBmcm9tIFwiLi4vLi4vY2FyZC9DYXJkXCI7XG5pbXBvcnQge1Rlc3RpbW9uaWFsc0NhcmR9IGZyb20gXCIuLi9jYXJkL1Rlc3RpbW9uaWFsc0NhcmRcIjtcbmltcG9ydCB7TWFwU2VjdGlvbn0gZnJvbSBcIi4uLy4uL21hcC9NYXBTZWN0aW9uXCI7XG5pbXBvcnQge1NpbWlsYXJGbG9vcnBsYW5DYXJkfSBmcm9tIFwiLi4vY2FyZC9TaW1pbGFyRmxvb3JwbGFuQ2FyZFwiO1xuaW1wb3J0IHtCdXR0b24sIExpLCBVbH0gZnJvbSBcIkBjb250ZW50bXVuY2gvbXVuY2hlci11aVwiO1xuaW1wb3J0IG1vbWVudCBmcm9tIFwibW9tZW50XCI7XG5pbXBvcnQge0xlYXNlVHlwZX0gZnJvbSBcIi4uLy4uL3Byb3BlcnR5L2RhdGEvUHJvcGVydHlcIjtcbmltcG9ydCB7U2hvcnRUZXJtRmxvb3JwbGFuU2VjdGlvbn0gZnJvbSBcIi4uLy4uL3Nob3J0LXRlcm0vU2hvcnRUZXJtRmxvb3JwbGFuU2VjdGlvblwiO1xuXG5leHBvcnQgY29uc3QgRmxvb3JwbGFuU2VjdGlvbjogUmVhY3QuRkM8Rmxvb3JwbGFuU2VjdGlvblByb3BzPiA9IChcbiAgICB7XG4gICAgICAgIGNvbnRhY3RDbGlja0hhbmRsZXIsXG4gICAgICAgIGFwcGx5Q2xpY2tIYW5kbGVyLFxuICAgICAgICBmbG9vcnBsYW5JZCxcbiAgICAgICAgbG9jYXRpb25SZWYsXG4gICAgICAgIGhhbmRsZVJlZlRvTG9jYXRpb25cbiAgICB9KSA9PiB7XG4gICAgY29uc3QgW2Zsb29ycGxhbiwgc2V0Rmxvb3JwbGFuXSA9IHVzZVN0YXRlPEZsb29ycGxhbj4oe30gYXMgRmxvb3JwbGFuKTtcbiAgICBjb25zdCBbc2ltaWxhckZsb29ycGxhbnMsIHNldFNpbWlsYXJGbG9vcnBsYW5zXSA9IHVzZVN0YXRlPFNpbWlsYXJGbG9vcnBsYW5bXT4oW10pO1xuICAgIGNvbnN0IFtmbG9vcnBsYW5WYXJpYXRpb25zLCBzZXRGbG9vcnBsYW5WYXJpYXRpb25zXSA9IHVzZVN0YXRlPEZsb29ycGxhblZhcmlhdGlvbltdPihbXSk7XG4gICAgY29uc3QgW3Rlc3RpbW9uaWFscywgc2V0VGVzdGltb25pYWxzXSA9IHVzZVN0YXRlPFRlc3RpbW9uaWFsW10+KFtdKTtcbiAgICBjb25zdCBbd2ViU3BlY2lhbHMsIHNldFdlYlNwZWNpYWxzXSA9IHVzZVN0YXRlPFdlYlNwZWNpYWxbXT4oW10pO1xuXG4gICAgY29uc3QgW2lzTG9hZGluZywgc2V0SXNMb2FkaW5nXSA9IHVzZVN0YXRlKHRydWUpO1xuICAgIGNvbnN0IFtlcnJvckxvYWRpbmcsIHNldEVycm9yTG9hZGluZ10gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgICBjb25zdCBtYXBSZWY6IFJlYWN0LlJlZjxIVE1MRGl2RWxlbWVudD4gPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICAgIGNvbnN0IGhhbmRsZVJlZlRvTWFwID0gKCkgPT4ge1xuICAgICAgICBpZiAoaGFuZGxlUmVmVG9Mb2NhdGlvbilcbiAgICAgICAgICAgIGhhbmRsZVJlZlRvTG9jYXRpb24oKTtcbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBtYXBSZWYuY3VycmVudD8uc2Nyb2xsSW50b1ZpZXcoe1xuICAgICAgICAgICAgICAgIGJlaGF2aW9yOiBcInNtb290aFwiLFxuICAgICAgICAgICAgICAgIGJsb2NrOiBcInN0YXJ0XCJcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBnZXRGbG9vcnBsYW4oZmxvb3JwbGFuSWQpLnRoZW4oZmxvb3JwbGFuRGF0YSA9PiB7XG4gICAgICAgICAgICBzZXRGbG9vcnBsYW4oZmxvb3JwbGFuRGF0YSk7XG4gICAgICAgICAgICBmbG9vcnBsYW5EYXRhLnVuaXRzID0gZmxvb3JwbGFuRGF0YS51bml0cy5maWx0ZXIodW5pdCA9PiB1bml0LmFjdGl2ZSk7XG4gICAgICAgICAgICBpZiAoTGVhc2VUeXBlLlNIT1JUX1RFUk0gPT09IGZsb29ycGxhbkRhdGEucHJvcGVydHkubGVhc2VUeXBlKSB7XG4gICAgICAgICAgICAgICAgc2V0SXNMb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgUHJvbWlzZS5hbGwoW1xuICAgICAgICAgICAgICAgICAgICBnZXRGbG9vcnBsYW5WYXJpYXRpb25zKGZsb29ycGxhbklkKSxcbiAgICAgICAgICAgICAgICAgICAgZ2V0U2ltaWxhckZsb29ycGxhbnMoZmxvb3JwbGFuSWQpLFxuICAgICAgICAgICAgICAgICAgICBnZXRUZXN0aW1vbmlhbHMoZmxvb3JwbGFuSWQpLFxuICAgICAgICAgICAgICAgICAgICBnZXRXZWJTcGVjaWFscyhmbG9vcnBsYW5JZClcbiAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICAgICAgICAudGhlbigoZGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdG9kYXkgPSBtb21lbnQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldEZsb29ycGxhblZhcmlhdGlvbnMoZGF0YVswXSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRTaW1pbGFyRmxvb3JwbGFucyhkYXRhWzFdKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldFRlc3RpbW9uaWFscyhkYXRhWzJdKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZhbGlkV2ViU3BlY2lhbHM6IFdlYlNwZWNpYWxbXSA9IFtdO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YVszXS5mb3JFYWNoKHdlYlNwZWNpYWwgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkYXRlVG9Nb21lbnQod2ViU3BlY2lhbC5zdGFydERhdGUpLmlzQmVmb3JlKHRvZGF5KSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRlVG9Nb21lbnQod2ViU3BlY2lhbC5lbmREYXRlKS5pc0FmdGVyKHRvZGF5KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZFdlYlNwZWNpYWxzLnB1c2god2ViU3BlY2lhbCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRXZWJTcGVjaWFscyh2YWxpZFdlYlNwZWNpYWxzKTtcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgLmNhdGNoKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldEVycm9yTG9hZGluZyh0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2V0SXNMb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pLmNhdGNoKCgpID0+IHtcbiAgICAgICAgICAgIHNldEVycm9yTG9hZGluZyh0cnVlKTtcbiAgICAgICAgICAgIHNldElzTG9hZGluZyhmYWxzZSk7XG4gICAgICAgIH0pO1xuXG4gICAgfSwgW2Zsb29ycGxhbklkXSk7XG5cbiAgICBjb25zdCBhdmFpbGFibGVEYXRlcyA9ICgpOiBzdHJpbmdbXSA9PiB7XG4gICAgICAgIGNvbnN0IHNvcnRBdmFpbGFibGVEYXRlcyA9IChhOiBzdHJpbmcsIGI6IHN0cmluZykgPT4gbW9tZW50KGEsIE1PTlRIX1lFQVJfRk9STUFUKS5kaWZmKG1vbWVudChiLCBNT05USF9ZRUFSX0ZPUk1BVCkpO1xuICAgICAgICBjb25zdCBkYXRlcyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICAgICAgICBjb25zdCB0b2RheSA9IG1vbWVudCgpO1xuXG4gICAgICAgIGNvbnN0IHRvbW9ycm93ID0gdG9kYXkuYWRkKDEsIFwiZGF5XCIpO1xuICAgICAgICBjb25zdCBpc0F2YWlsYWJsZU5vdyA9IChtb3ZlSW5EYXRlOiBtb21lbnQuTW9tZW50KSA9PiBtb3ZlSW5EYXRlLmlzQmVmb3JlKHRvbW9ycm93KTtcblxuICAgICAgICBmbG9vcnBsYW4udW5pdHMuZm9yRWFjaCh1bml0ID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG1vdmVJbkRhdGUgPSBkYXRlVG9Nb21lbnQodW5pdC5tb3ZlSW5EYXRlKTtcbiAgICAgICAgICAgIGlmIChpc0F2YWlsYWJsZU5vdyhtb3ZlSW5EYXRlKSkge1xuICAgICAgICAgICAgICAgIGRhdGVzLmFkZCh0b2RheS5mb3JtYXQoTU9OVEhfWUVBUl9GT1JNQVQpKTtcbiAgICAgICAgICAgICAgICBpZiAodW5pdC5hdmFpbGFiaWxpdHlFeHRlbnNpb25Nb250aHMgJiYgdW5pdC5hdmFpbGFiaWxpdHlFeHRlbnNpb25Nb250aHMgPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAxOyBpIDw9IHVuaXQuYXZhaWxhYmlsaXR5RXh0ZW5zaW9uTW9udGhzOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBleHRlbnNpb25EYXRlID0gbW9tZW50KCkuYWRkKGksICdtb250aCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGF0ZXMuYWRkKGV4dGVuc2lvbkRhdGUuZm9ybWF0KE1PTlRIX1lFQVJfRk9STUFUKSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGRhdGVzLmFkZChtb3ZlSW5EYXRlLmZvcm1hdChNT05USF9ZRUFSX0ZPUk1BVCkpO1xuICAgICAgICAgICAgICAgIGlmICh1bml0LmF2YWlsYWJpbGl0eUV4dGVuc2lvbk1vbnRocyAmJiB1bml0LmF2YWlsYWJpbGl0eUV4dGVuc2lvbk1vbnRocyA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDE7IGkgPD0gdW5pdC5hdmFpbGFiaWxpdHlFeHRlbnNpb25Nb250aHM7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGV4dGVuc2lvbkRhdGUgPSBkYXRlVG9Nb21lbnQodW5pdC5tb3ZlSW5EYXRlKS5hZGQoaSwgJ21vbnRoJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRlcy5hZGQoZXh0ZW5zaW9uRGF0ZS5mb3JtYXQoTU9OVEhfWUVBUl9GT1JNQVQpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbShkYXRlcykuc29ydChzb3J0QXZhaWxhYmxlRGF0ZXMpO1xuICAgIH1cblxuICAgIGNvbnN0IHJlc2lkZW50VXRpbGl0eURldGFpbHMgPSAodXRpbGl0eTogVXRpbGl0eU5hbWUpID0+XG4gICAgICAgIHV0aWxpdHkuYXZlcmFnZU1vbnRobHlCaWxsID9cbiAgICAgICAgICAgIGNhcGl0YWxpemVGaXJzdExldHRlcih1dGlsaXR5Lm5hbWUpICsgXCIgLSBBdmcvTW8gXCIgKyB0b1VTRCh1dGlsaXR5LmF2ZXJhZ2VNb250aGx5QmlsbClcbiAgICAgICAgICAgIDogY2FwaXRhbGl6ZUZpcnN0TGV0dGVyKHV0aWxpdHkubmFtZSk7XG5cbiAgICBjb25zdCBpc0F2ZXJhZ2VNb250aGx5QmlsbFByZXNlbnQgPSAoKSA9PiBmbG9vcnBsYW4udXRpbGl0aWVzLmZpbHRlcih1dGlsaXR5ID0+IHV0aWxpdHkudHlwZSA9PT0gVXRpbGl0eVR5cGUuUkVTSURFTlRfVVRJTElUWSkuc29tZSh1dGlsaXR5ID0+IHV0aWxpdHkuYXZlcmFnZU1vbnRobHlCaWxsICE9IG51bGwpO1xuXG5cbiAgICBjb25zdCBpc1dpdGhpblR3ZWx2ZU1vbnRocyA9IChkYXRlOiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc3QgY3VycmVudCA9IG1vbWVudChkYXRlLCBcIk1NTSBZWVlZXCIpO1xuICAgICAgICBjb25zdCB0d2VsdmVNb250aHNGcm9tTm93ID0gbW9tZW50KCkuYWRkKDEsIFwieWVhclwiKTtcbiAgICAgICAgcmV0dXJuIGN1cnJlbnQuaXNCZWZvcmUodHdlbHZlTW9udGhzRnJvbU5vdyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgICAgTGVhc2VUeXBlLlNIT1JUX1RFUk0gPT09IGZsb29ycGxhbi5wcm9wZXJ0eT8ubGVhc2VUeXBlID9cbiAgICAgICAgICAgIDxTaG9ydFRlcm1GbG9vcnBsYW5TZWN0aW9uIGNvbnRhY3RDbGlja0hhbmRsZXI9e2NvbnRhY3RDbGlja0hhbmRsZXJ9IGFwcGx5Q2xpY2tIYW5kbGVyPXthcHBseUNsaWNrSGFuZGxlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb29ycGxhbklkPXtmbG9vcnBsYW5JZH0vPiA6XG4gICAgICAgICAgICA8c2VjdGlvbiBjbGFzc05hbWU9XCJzZWN0aW9uLWZsb29ycGxhblwiPlxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nID8gPHNlY3Rpb24gY2xhc3NOYW1lPVwic2VjdGlvbi1mbG9vcnBsYW4tLWhlcm9cIj48R3JpZEdhbGxlcnlTa2VsZXRvbi8+PC9zZWN0aW9uPiA6IDw+XG4gICAgICAgICAgICAgICAgICAgICAgICB7ZXJyb3JMb2FkaW5nID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzc05hbWU9XCJkaXYtZnVsbC0tY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMj5VaC1vaCwgdGhpcyBpcyBhIDQwNDwvaDI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPiA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZsb29ycGxhbkhlcm8gZmxvb3JwbGFuPXtmbG9vcnBsYW59IGNvbnRhY3RDbGlja0hhbmRsZXI9e2NvbnRhY3RDbGlja0hhbmRsZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdlYlNwZWNpYWxzPXt3ZWJTcGVjaWFsc31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwbHlDbGlja0hhbmRsZXI9e2FwcGx5Q2xpY2tIYW5kbGVyfSBoYW5kbGVSZWZUb01hcD17aGFuZGxlUmVmVG9NYXB9Lz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxvb3JwbGFuLS1jYXJkc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDYXJkIHRpdGxlPVwiRGV0YWlsc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJmbG9vcnBsYW4tY2FyZC0tZmVhdHVyZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtmbG9vcnBsYW4uYmVkcm9vbX0gQmVkcm9vbVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB7Zmxvb3JwbGFuLmJhdGhyb29tfSBCYXRocm9vbSB7ZW51bVRvU3RyaW5nKGZsb29ycGxhbi5zdHlsZSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2Zsb29ycGxhbi51bml0cy5sZW5ndGggPiAwID8gPD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cImZsb29ycGxhbi1jYXJkLS1mZWF0dXJlZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtyYW5nZUZyb20oZmxvb3JwbGFuLnVuaXRzLCBcInNxdWFyZUZvb3RcIil9IFNxdWFyZSBGZWV0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJmbG9vcnBsYW4tY2FyZC0tZmVhdHVyZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3JhbmdlRnJvbShmbG9vcnBsYW4udW5pdHMsIFwicmVudFwiKX0vbW9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cImZsb29ycGxhbi1jYXJkLS1mZWF0dXJlZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7cmFuZ2VGcm9tKGZsb29ycGxhbi51bml0cywgXCJkZXBvc2l0XCIpfSBTZWN1cml0eSBEZXBvc2l0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvPiA6IFwiXCJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2Zsb29ycGxhbi5kZXNjcmlwdGlvbn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQ2FyZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb29ycGxhbi5hbWVuaXRpZXMubGVuZ3RoID4gMCA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q2FyZCB0aXRsZT1cIkFtZW5pdGllc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxVbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvb3JwbGFuLmFtZW5pdGllcy5maWx0ZXIoYW1lbml0eSA9PiBhbWVuaXR5LmZlYXR1cmVkKS5tYXAoYW1lbml0eSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaSBrZXk9e1wiZmxvb3JwbGFuLWFtZW5pdHktXCIgKyBhbWVuaXR5LmlkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWxsZXRJY29uPVwic3RhclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzRmVhdHVyZWQ9e3RydWV9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7YW1lbml0eS5uYW1lfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9MaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb29ycGxhbi5hbWVuaXRpZXMuZmlsdGVyKGFtZW5pdHkgPT4gIWFtZW5pdHkuZmVhdHVyZWQpLm1hcChhbWVuaXR5ID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExpIGtleT17XCJmbG9vcnBsYW4tYW1lbml0eS1cIiArIGFtZW5pdHkuaWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1bGxldEljb249XCJkb3RcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2FtZW5pdHkubmFtZX1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvb3JwbGFuVmFyaWF0aW9ucy5sZW5ndGggPiAwID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1PlZhcmlhdGlvbnM8L2g1PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxVbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvb3JwbGFuVmFyaWF0aW9ucy5tYXAoKHZhcmlhdGlvbiwgaSkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGkga2V5PXtcImZsb29ycGxhbi12YXJpYXRpb24tXCIgKyBpfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3ZhcmlhdGlvbi52YXJpYXRpb259XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9MaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvVWw+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvPiA6IFwiXCJ9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQ2FyZD4gOiA8PjwvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGltb25pYWxzLmxlbmd0aCA+IDAgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFRlc3RpbW9uaWFsc0NhcmQgdGVzdGltb25pYWxzPXt0ZXN0aW1vbmlhbHN9Lz4gOiA8PjwvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPENhcmQgdGl0bGU9XCJQZXRzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNT5QZXJtaXR0ZWQ8L2g1PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGVybWl0dGVkUGV0cyhmbG9vcnBsYW4pLm1hcCgocGV0LCBpKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGkga2V5PXtcImZsb29ycGxhbi1wZXJtaXR0ZWQtcGV0LVwiICsgaX0gYnVsbGV0SWNvbj1cImNoZWNrXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1bGxldENvbG9yPVwiZ3JlZW5cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtwZXR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7bm90UGVybWl0dGVkUGV0cyhmbG9vcnBsYW4pLmxlbmd0aCA+IDAgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPD48aDU+Tm90IFBlcm1pdHRlZDwvaDU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub3RQZXJtaXR0ZWRQZXRzKGZsb29ycGxhbikubWFwKChwZXQsIGkpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExpIGtleT17XCJmbG9vcnBsYW4tbm90LXBlcm1pdHRlZC1wZXQtXCIgKyBpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWxsZXRDb2xvcj1cImJyb3duXCIgYnVsbGV0SWNvbj1cImNsb3NlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtwZXR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9MaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvVWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Lz4gOiBcIlwifVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBldFBvbGljeShmbG9vcnBsYW4pID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDU+QWRkaXRpb25hbCBJbmZvcm1hdGlvbjwvaDU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPntwZXRQb2xpY3koZmxvb3JwbGFuKX08L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC8+IDogXCJcIlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQ2FyZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Zmxvb3JwbGFuLnVuaXRzLmxlbmd0aCA+IDAgPyA8PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q2FyZCB0aXRsZT1cIkF2YWlsYWJpbGl0eVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXZhaWxhYmxlRGF0ZXMoKS5maWx0ZXIoYXZhaWxhYmxlRGF0ZSA9PiBpc1dpdGhpblR3ZWx2ZU1vbnRocyhhdmFpbGFibGVEYXRlKSkubWFwKGF2YWlsYWJsZURhdGUgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaSBrZXk9e1wiZmxvb3JwbGFuLXVuaXQtYXZhaWxhYmlsaXR5LVwiICsgYXZhaWxhYmxlRGF0ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWxsZXRJY29uPVwiY2FsZW5kYXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdmFpbGFibGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiA8c3Ryb25nPntjYXBpdGFsaXplRmlyc3RMZXR0ZXIoYXZhaWxhYmxlRGF0ZSl9PC9zdHJvbmc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9VbD5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0NhcmQ+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPENhcmQgdGl0bGU9XCJVdGlsaXRpZXNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNT5QYWlkIEJ5IExhbmRsb3JkPC9oNT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxVbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb29ycGxhbi51dGlsaXRpZXMuZmlsdGVyKHV0aWxpdHkgPT4gdXRpbGl0eS50eXBlID09PSBVdGlsaXR5VHlwZS5JTkNMVURFRF9VVElMSVRZKS5tYXAodXRpbGl0eSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExpIGtleT17XCJmbG9vcnBsYW4taW5jbHVkZWQtdXRpbGl0eS1cIiArIHV0aWxpdHkuaWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVsbGV0SWNvbj1cImhvbWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Y2FwaXRhbGl6ZUZpcnN0TGV0dGVyKHV0aWxpdHkubmFtZSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9VbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNT5QYWlkIEJ5IFJlc2lkZW50PC9oNT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxVbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb29ycGxhbi51dGlsaXRpZXMuZmlsdGVyKHV0aWxpdHkgPT4gdXRpbGl0eS50eXBlID09PSBVdGlsaXR5VHlwZS5SRVNJREVOVF9VVElMSVRZKS5tYXAodXRpbGl0eSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExpIGtleT17XCJmbG9vcnBsYW4tcmVzaWRlbnQtdXRpbGl0eS1cIiArIHV0aWxpdHkuaWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVsbGV0SWNvbj1cImRvbGxhclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtyZXNpZGVudFV0aWxpdHlEZXRhaWxzKHV0aWxpdHkpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9MaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvVWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aXNBdmVyYWdlTW9udGhseUJpbGxQcmVzZW50KCkgPyA8cD48aT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqKkF2ZXJhZ2UgdXRpbGl0aWVzIHNob3duIGFib3ZlIGFyZSBhbiBlc3RpbWF0ZS4gQWN0dWFsIG1vbnRobHlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1dGlsaXR5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29zdHMgY2FuIHZhcnkgc2lnbmlmaWNhbnRseSBiYXNlZCBvbiBpbmRpdmlkdWFsIHVzYWdlLCB0aW1lIG9mXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVhcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgd2VhdGhlciwgYW5kIG90aGVyIGZhY3RvcnNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaT48L3A+IDogXCJcIn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0NhcmQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC8+IDogXCJcIn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7c2ltaWxhckZsb29ycGxhbnMubGVuZ3RoID4gMCA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTaW1pbGFyRmxvb3JwbGFuQ2FyZCBzaW1pbGFyRmxvb3JwbGFucz17c2ltaWxhckZsb29ycGxhbnN9Lz4gOiBcIlwifVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb250YWN0LWNhcmRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPENhcmQgZmVhdHVyZWQ9e3RydWV9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PGk+UXVlc3Rpb25zPzwvaT48L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48aT5DYWxsIG9yIHRleHQgdXMgYW55dGltZTo8L2k+PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2Zsb29ycGxhbi5wcm9wZXJ0eT8ucGhvbmUgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9e1widGVsOlwiICsgZmxvb3JwbGFuLnByb3BlcnR5LnBob25lfT57Zm9ybWF0UGhvbmVOdW1iZXIoZmxvb3JwbGFuLnByb3BlcnR5LnBob25lKX08L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJcIn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b24gdmFyaWFudD1cInRlcnRpYXJ5XCIgb25DbGljaz17Y29udGFjdENsaWNrSGFuZGxlcn0gc2l6ZT1cImxhcmdlXCI+Q29udGFjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgwrs8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9DYXJkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q2FyZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHJlZj17bG9jYXRpb25SZWYgPyBsb2NhdGlvblJlZiA6IG1hcFJlZn0gaWQ9XCJsb2NhdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJyZWZlcmVuY2VcIj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxNYXBTZWN0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyYz17Zmxvb3JwbGFuQWRkcmVzc1RvR29vZ2xlTWFwKGZsb29ycGxhbkFkZHJlc3MoZmxvb3JwbGFuKSl9Lz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQ2FyZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICk7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIEZsb29ycGxhblNlY3Rpb25Qcm9wcyB7XG4gICAgY29udGFjdENsaWNrSGFuZGxlcjogKCkgPT4gdm9pZDtcbiAgICBhcHBseUNsaWNrSGFuZGxlcjogKCkgPT4gdm9pZDtcbiAgICBmbG9vcnBsYW5JZDogc3RyaW5nO1xuICAgIGxvY2F0aW9uUmVmPzogUmVhY3QuUmVmPEhUTUxEaXZFbGVtZW50PjtcbiAgICBoYW5kbGVSZWZUb0xvY2F0aW9uPzogKCkgPT4gdm9pZDtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsVUFBQSxHQUFBRCxPQUFBO0FBU0EsSUFBQUUsaUJBQUEsR0FBQUYsT0FBQTtBQVlBQSxPQUFBO0FBQ0EsSUFBQUcsb0JBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLGNBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLE1BQUEsR0FBQUwsT0FBQTtBQVNBLElBQUFNLEtBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLGlCQUFBLEdBQUFQLE9BQUE7QUFDQSxJQUFBUSxXQUFBLEdBQUFSLE9BQUE7QUFDQSxJQUFBUyxxQkFBQSxHQUFBVCxPQUFBO0FBQ0EsSUFBQVUsVUFBQSxHQUFBVixPQUFBO0FBQ0EsSUFBQVcsT0FBQSxHQUFBQyxzQkFBQSxDQUFBWixPQUFBO0FB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
|
|
@@ -14,6 +14,8 @@ var _RoundRobin = require("../../service/RoundRobin");
|
|
|
14
14
|
var _RenaissanceData = require("../../data/RenaissanceData");
|
|
15
15
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
16
16
|
const AVAILABLE_NOW = exports.AVAILABLE_NOW = "Available Now";
|
|
17
|
+
const today = (0, _moment.default)();
|
|
18
|
+
const tomorrow = today.add(1, "day");
|
|
17
19
|
const convertToHttps = url => {
|
|
18
20
|
if (url === null) return "";
|
|
19
21
|
return url.replace(/^http:\/\//i, 'https://');
|
|
@@ -68,37 +70,30 @@ const sortAndFilter = (floorplans, currentFilters) => {
|
|
|
68
70
|
};
|
|
69
71
|
exports.sortAndFilter = sortAndFilter;
|
|
70
72
|
const isDateWithinTwelveMonths = date => {
|
|
71
|
-
const today = (0, _moment.default)();
|
|
72
73
|
const diff = (0, _moment.default)(date, "YYYY-MM-DD").diff(today, 'months', false);
|
|
73
74
|
return diff >= 0 && diff <= 12;
|
|
74
75
|
};
|
|
75
76
|
exports.isDateWithinTwelveMonths = isDateWithinTwelveMonths;
|
|
76
77
|
const isDateAfterToday = date => {
|
|
77
|
-
const today = (0, _moment.default)();
|
|
78
78
|
return (0, _moment.default)(date, "YYYY-MM-DD").isAfter(today);
|
|
79
79
|
};
|
|
80
80
|
exports.isDateAfterToday = isDateAfterToday;
|
|
81
81
|
const MONTH_YEAR_FORMAT = exports.MONTH_YEAR_FORMAT = "MMMM YYYY";
|
|
82
82
|
const dateToMonthYear = dateString => (0, _moment.default)(dateString, "YYYY-MM-DD").format(MONTH_YEAR_FORMAT);
|
|
83
|
+
const isAvailableNow = moveInDate => moveInDate.isBefore(tomorrow);
|
|
83
84
|
const defaultAvailabilityToMonthYear = dateString => AVAILABLE_NOW === dateString ? dateString : (0, _moment.default)(dateString, "MM-YYYY").format(MONTH_YEAR_FORMAT);
|
|
84
85
|
exports.defaultAvailabilityToMonthYear = defaultAvailabilityToMonthYear;
|
|
85
86
|
const momentToMonthYear = date => date.format(MONTH_YEAR_FORMAT);
|
|
86
87
|
exports.momentToMonthYear = momentToMonthYear;
|
|
87
88
|
const isAvailable = (floorplan, availabilityFilters) => {
|
|
88
89
|
return availabilityFilters.length === 0 ? true : floorplan.units.some(unit => {
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
if (availabilityFilters.indexOf(momentToMonthYear(today)) > -1) {
|
|
95
|
-
if (isBeforeToday(unit.moveInDate)) {
|
|
96
|
-
return true;
|
|
97
|
-
}
|
|
90
|
+
const isUnitAvailableNow = isAvailableNow((0, _moment.default)(unit.moveInDate));
|
|
91
|
+
if (availabilityFilters.indexOf(AVAILABLE_NOW) > -1 || availabilityFilters.indexOf(momentToMonthYear(today)) > -1) {
|
|
92
|
+
if (isUnitAvailableNow) return true;
|
|
98
93
|
}
|
|
99
94
|
if (unit.availabilityExtensionMonths && unit.availabilityExtensionMonths > 0) {
|
|
100
95
|
for (let i = 1; i <= unit.availabilityExtensionMonths; i++) {
|
|
101
|
-
let extensionDate = (0, _Utils.dateToMoment)(unit.moveInDate).add(i, 'month').format(MONTH_YEAR_FORMAT);
|
|
96
|
+
let extensionDate = isUnitAvailableNow ? (0, _moment.default)().add(i, 'month').format(MONTH_YEAR_FORMAT) : (0, _Utils.dateToMoment)(unit.moveInDate).add(i, 'month').format(MONTH_YEAR_FORMAT);
|
|
102
97
|
if (availabilityFilters.indexOf(extensionDate) > -1) {
|
|
103
98
|
return true;
|
|
104
99
|
}
|
|
@@ -107,7 +102,6 @@ const isAvailable = (floorplan, availabilityFilters) => {
|
|
|
107
102
|
return availabilityFilters.indexOf(dateToMonthYear(unit.moveInDate)) > -1;
|
|
108
103
|
});
|
|
109
104
|
};
|
|
110
|
-
const isBeforeToday = date => (0, _moment.default)(date).isBefore(today);
|
|
111
105
|
const isBedroomsMatch = (floorplan, bedroomFilters) => {
|
|
112
106
|
return bedroomFilters.length === 0 ? true : bedroomFilters.indexOf(floorplan.bedroom) > -1;
|
|
113
107
|
};
|
|
@@ -144,7 +138,16 @@ const filtersFrom = floorplans => {
|
|
|
144
138
|
bedroomFilters.add(floorplan.bedroom);
|
|
145
139
|
styleFilters.add(floorplan.style);
|
|
146
140
|
floorplan.units.forEach(unit => {
|
|
147
|
-
|
|
141
|
+
const isUnitAvailableNow = isAvailableNow((0, _moment.default)(unit.moveInDate));
|
|
142
|
+
if (unit.moveInDate && isUnitAvailableNow) {
|
|
143
|
+
if (unit.availabilityExtensionMonths && unit.availabilityExtensionMonths > 0) {
|
|
144
|
+
for (let i = 1; i <= unit.availabilityExtensionMonths; i++) {
|
|
145
|
+
let extensionDate = (0, _moment.default)().add(i, 'month');
|
|
146
|
+
availabilityFilters.add(extensionDate.format(MONTH_YEAR_FORMAT));
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
if (unit.moveInDate && !isUnitAvailableNow && isDateWithinTwelveMonths(unit.moveInDate)) {
|
|
148
151
|
availabilityFilters.add(dateToMonthYear(unit.moveInDate));
|
|
149
152
|
if (unit.availabilityExtensionMonths && unit.availabilityExtensionMonths > 0) {
|
|
150
153
|
for (let i = 1; i <= unit.availabilityExtensionMonths; i++) {
|
|
@@ -178,7 +181,6 @@ const getSimilarFloorplans = floorplanId => (0, _RoundRobin.get)("similarFloorpl
|
|
|
178
181
|
exports.getSimilarFloorplans = getSimilarFloorplans;
|
|
179
182
|
const getFloorplanVariations = floorplanId => (0, _RoundRobin.get)("floorplanVariations/search/byFloorplanId?projection=withId&floorplanId=" + floorplanId).then(response => response.data._embedded.floorplanVariations);
|
|
180
183
|
exports.getFloorplanVariations = getFloorplanVariations;
|
|
181
|
-
const today = (0, _moment.default)();
|
|
182
184
|
const isFloorplanAvailable = floorplan => floorplan.units.some(unit => today.isAfter((0, _Utils.dateToMoment)(unit.moveInDate)));
|
|
183
185
|
exports.isFloorplanAvailable = isFloorplanAvailable;
|
|
184
186
|
const getTestimonials = floorplanId => (0, _RoundRobin.get)("testimonials/search/byFloorplanId?projection=withId&floorplanId=" + floorplanId).then(response => response.data._embedded.testimonials);
|
|
@@ -245,4 +247,4 @@ const floorplanAddress = currentFloorplan => {
|
|
|
245
247
|
};
|
|
246
248
|
};
|
|
247
249
|
exports.floorplanAddress = floorplanAddress;
|
|
248
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9kYXNoIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfRmxvb3JwbGFuRmlsdGVycyIsIl9tb21lbnQiLCJfVXRpbHMiLCJfUHJvcGVydHkiLCJfVW5pdCIsIl9Sb3VuZFJvYmluIiwiX1JlbmFpc3NhbmNlRGF0YSIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiQVZBSUxBQkxFX05PVyIsImV4cG9ydHMiLCJjb252ZXJ0VG9IdHRwcyIsInVybCIsInJlcGxhY2UiLCJjb252ZXJ0VG9GbG9vcnBsYW5DYXJkRGF0YSIsImZsb29ycGxhbkRldGFpbHMiLCJpZCIsIm5hbWUiLCJhY3RpdmUiLCJiZWRyb29tIiwiYmF0aHJvb20iLCJjb3ZlckltYWdlIiwiZmVhdHVyZWQiLCJzdHlsZSIsInNwZWNpYWxSZW50Iiwic3BlY2lhbFJlbnRTdGFydERhdGUiLCJzcGVjaWFsUmVudEVuZERhdGUiLCJhZGRyZXNzIiwiemlwY29kZSIsInZpcnR1YWxUb3VyTGluayIsInZpZGVvVG91ckxpbmsiLCJwaG90b3NGb2xkZXJJZCIsInVuaXRzIiwid2ViU3BlY2lhbHMiLCJmaWx0ZXIiLCJ3ZWJTcGVjaWFsIiwidG9kYXkiLCJpc0JldHdlZW4iLCJkYXRlVG9Nb21lbnQiLCJzdGFydERhdGUiLCJlbmREYXRlIiwibWFwIiwiZGVzY3JpcHRpb24iLCJnZXRBbGxQcm9wZXJ0eUZpbHRlckRhdGEiLCJyZXNwb25zZSIsImdldCIsInByb3BlcnRpZXMiLCJkYXRhIiwicHJvcGVydHkiLCJsZWFzZVR5cGUiLCJMZWFzZVR5cGUiLCJZRUFSTFkiLCJ0b0xvd2VyQ2FzZSIsImluY2x1ZGVzIiwiZm9yRWFjaCIsImZsb29ycGxhbnMiLCJmbG9vcnBsYW4iLCJ1bml0IiwiZ2V0Rmxvb3JwbGFuc0ZpbHRlckRhdGEiLCJwcm9wZXJ0eUlkIiwic29ydEFuZEZpbHRlciIsImN1cnJlbnRGaWx0ZXJzIiwic29ydEZsb29ycGxhbnMiLCJmaWx0ZXJNYXRjaGVzIiwic29ydEJ5IiwiaXNEYXRlV2l0aGluVHdlbHZlTW9udGhzIiwiZGF0ZSIsIm1vbWVudCIsImRpZmYiLCJpc0RhdGVBZnRlclRvZGF5IiwiaXNBZnRlciIsIk1PTlRIX1lFQVJfRk9STUFUIiwiZGF0ZVRvTW9udGhZZWFyIiwiZGF0ZVN0cmluZyIsImZvcm1hdCIsImRlZmF1bHRBdmFpbGFiaWxpdHlUb01vbnRoWWVhciIsIm1vbWVudFRvTW9udGhZZWFyIiwiaXNBdmFpbGFibGUiLCJhdmFpbGFiaWxpdHlGaWx0ZXJzIiwibGVuZ3RoIiwic29tZSIsImluZGV4T2YiLCJpc0JlZm9yZVRvZGF5IiwibW92ZUluRGF0ZSIsImF2YWlsYWJpbGl0eUV4dGVuc2lvbk1vbnRocyIsImkiLCJleHRlbnNpb25EYXRlIiwiYWRkIiwiaXNCZWZvcmUiLCJpc0JlZHJvb21zTWF0Y2giLCJiZWRyb29tRmlsdGVycyIsImlzU3R5bGVNYXRjaCIsInN0eWxlRmlsdGVycyIsImlzSW5QcmljZVJhbmdlIiwibWluUmVudCIsIm1heFJlbnQiLCJtaW5NYXgiLCJtaW5pbXVtTWF4aW11bSIsIm1pbiIsIm1heCIsImlzRmxvb3JwbGFuSWRzTWF0Y2giLCJmbG9vcnBsYW5JZHMiLCJTb3J0RmllbGRzIiwic29ydEZpZWxkIiwib3JkZXIiLCJzb3J0IiwiYSIsImIiLCJtaW5SYXRlU29ydGVkIiwiXyIsIm9yZGVyQnkiLCJmaWx0ZXJzRnJvbSIsIlNldCIsImF2YWlsYWJpbGl0eSIsImdldEZlYXR1cmVkRmxvb3JwbGFucyIsIl9lbWJlZGRlZCIsImdldEFsbEFjdGl2ZUZsb29ycGxhbnMiLCJmbG9vcnBsYW5fMSIsImdldEZsb29ycGxhbiIsImZsb29ycGxhbklkIiwidGhlbiIsImdldFNpbWlsYXJGbG9vcnBsYW5zIiwic2ltaWxhckZsb29ycGxhbnMiLCJnZXRGbG9vcnBsYW5WYXJpYXRpb25zIiwiZmxvb3JwbGFuVmFyaWF0aW9ucyIsImlzRmxvb3JwbGFuQXZhaWxhYmxlIiwiZ2V0VGVzdGltb25pYWxzIiwidGVzdGltb25pYWxzIiwiZ2V0V2ViU3BlY2lhbHMiLCJwZXJtaXR0ZWRQZXRzIiwidW5pdFdpdGhNb3N0QWxsb3dlZFBldCIsImFsbG93ZWRQZXQiLCJQZXQiLCJMQVJHRV9ET0dfU01BTExfRE9HX0NBVCIsIlNNQUxMX0RPR19DQVQiLCJDQVQiLCJub3RQZXJtaXR0ZWRQZXRzIiwiTk9fUEVUIiwicGV0UG9saWN5IiwicGV0T3JkaW5hbCIsInBldCIsIk9iamVjdCIsImtleXMiLCJwb3AiLCJmbG9vcnBsYW5BZGRyZXNzIiwiY3VycmVudEZsb29ycGxhbiIsImNpdHkiLCJyZW5haXNzYW5jZSIsInN0YXRlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Zsb29ycGxhbi9zZXJ2aWNlL0Zsb29ycGxhblNlcnZpY2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7TW9udGh9IGZyb20gXCIuLi9kYXRhL0NhbGVuZGFyXCI7XG5pbXBvcnQge0N1cnJlbnRGaWx0ZXJzLCBGbG9vcnBsYW5GaWx0ZXJzLCBTb3J0QnksIFNvcnRGaWVsZHN9IGZyb20gXCIuLi9kYXRhL0Zsb29ycGxhbkZpbHRlcnNcIjtcbmltcG9ydCBtb21lbnQsIHtNb21lbnR9IGZyb20gXCJtb21lbnRcIjtcbmltcG9ydCB7XG4gICAgRmxvb3JwbGFuLFxuICAgIEZsb29ycGxhbkNhcmREYXRhLFxuICAgIEZsb29ycGxhbkRldGFpbHMsXG4gICAgRmxvb3JwbGFuU3BvdGxpZ2h0LFxuICAgIEZsb29ycGxhblN0eWxlLFxuICAgIEZsb29ycGxhblZhcmlhdGlvbixcbiAgICBTaW1pbGFyRmxvb3JwbGFuLFxuICAgIFRlc3RpbW9uaWFsLFxuICAgIFdlYlNwZWNpYWxcbn0gZnJvbSBcIi4uL2RhdGEvRmxvb3JwbGFuXCI7XG5pbXBvcnQge2RhdGVUb01vbWVudCwgbWluaW11bU1heGltdW19IGZyb20gXCIuLi8uLi91dGlscy9VdGlsc1wiO1xuaW1wb3J0IHtMZWFzZVR5cGUsIFByb3BlcnR5RmlsdGVyRGF0YSwgUHJvcGVydHlJZH0gZnJvbSBcIi4uLy4uL3Byb3BlcnR5L2RhdGEvUHJvcGVydHlcIjtcbmltcG9ydCB7UGV0LCBVbml0fSBmcm9tIFwiLi4vZGF0YS9Vbml0XCI7XG5pbXBvcnQge2dldH0gZnJvbSBcIi4uLy4uL3NlcnZpY2UvUm91bmRSb2JpblwiO1xuaW1wb3J0IHtyZW5haXNzYW5jZX0gZnJvbSBcIi4uLy4uL2RhdGEvUmVuYWlzc2FuY2VEYXRhXCI7XG5cbmV4cG9ydCBjb25zdCBBVkFJTEFCTEVfTk9XID0gXCJBdmFpbGFibGUgTm93XCI7XG5cbmV4cG9ydCBjb25zdCBjb252ZXJ0VG9IdHRwcyA9ICh1cmw6IHN0cmluZyk6IHN0cmluZyA9PiB7XG4gICAgaWYgKHVybCA9PT0gbnVsbClcbiAgICAgICAgcmV0dXJuIFwiXCI7XG4gICAgcmV0dXJuIHVybC5yZXBsYWNlKC9eaHR0cDpcXC9cXC8vaSwgJ2h0dHBzOi8vJyk7XG59O1xuXG5leHBvcnQgY29uc3QgY29udmVydFRvRmxvb3JwbGFuQ2FyZERhdGEgPSAoZmxvb3JwbGFuRGV0YWlsczogRmxvb3JwbGFuRGV0YWlscyk6IEZsb29ycGxhbkNhcmREYXRhID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgICBpZDogZmxvb3JwbGFuRGV0YWlscy5pZCxcbiAgICAgICAgbmFtZTogZmxvb3JwbGFuRGV0YWlscy5uYW1lLFxuICAgICAgICBhY3RpdmU6IGZsb29ycGxhbkRldGFpbHMuYWN0aXZlLFxuICAgICAgICBiZWRyb29tOiBmbG9vcnBsYW5EZXRhaWxzLmJlZHJvb20sXG4gICAgICAgIGJhdGhyb29tOiBmbG9vcnBsYW5EZXRhaWxzLmJhdGhyb29tLFxuICAgICAgICBjb3ZlckltYWdlOiBmbG9vcnBsYW5EZXRhaWxzLmNvdmVySW1hZ2UsXG4gICAgICAgIGZlYXR1cmVkOiBmbG9vcnBsYW5EZXRhaWxzLmZlYXR1cmVkLFxuICAgICAgICBzdHlsZTogZmxvb3JwbGFuRGV0YWlscy5zdHlsZSxcbiAgICAgICAgc3BlY2lhbFJlbnQ6IGZsb29ycGxhbkRldGFpbHMuc3BlY2lhbFJlbnQsXG4gICAgICAgIHNwZWNpYWxSZW50U3RhcnREYXRlOiBmbG9vcnBsYW5EZXRhaWxzLnNwZWNpYWxSZW50U3RhcnREYXRlLFxuICAgICAgICBzcGVjaWFsUmVudEVuZERhdGU6IGZsb29ycGxhbkRldGFpbHMuc3BlY2lhbFJlbnRFbmREYXRlLFxuICAgICAgICBhZGRyZXNzOiBmbG9vcnBsYW5EZXRhaWxzLmFkZHJlc3MsXG4gICAgICAgIHppcGNvZGU6IGZsb29ycGxhbkRldGFpbHMuemlwY29kZSxcbiAgICAgICAgdmlydHVhbFRvdXJMaW5rOiBmbG9vcnBsYW5EZXRhaWxzLnZpcnR1YWxUb3VyTGluayxcbiAgICAgICAgdmlkZW9Ub3VyTGluazogZmxvb3JwbGFuRGV0YWlscy52aWRlb1RvdXJMaW5rLFxuICAgICAgICBwaG90b3NGb2xkZXJJZDogZmxvb3JwbGFuRGV0YWlscy5waG90b3NGb2xkZXJJZCxcbiAgICAgICAgdW5pdHM6IGZsb29ycGxhbkRldGFpbHMudW5pdHMsXG4gICAgICAgIHdlYlNwZWNpYWxzOiBmbG9vcnBsYW5EZXRhaWxzLndlYlNwZWNpYWxzXG4gICAgICAgICAgICAuZmlsdGVyKHdlYlNwZWNpYWwgPT4gdG9kYXkuaXNCZXR3ZWVuKGRhdGVUb01vbWVudCh3ZWJTcGVjaWFsLnN0YXJ0RGF0ZSksIGRhdGVUb01vbWVudCh3ZWJTcGVjaWFsLmVuZERhdGUpKSlcbiAgICAgICAgICAgIC5tYXAod2ViU3BlY2lhbCA9PiB3ZWJTcGVjaWFsLmRlc2NyaXB0aW9uKVxuICAgIH0gYXMgRmxvb3JwbGFuQ2FyZERhdGE7XG59XG5leHBvcnQgY29uc3QgZ2V0QWxsUHJvcGVydHlGaWx0ZXJEYXRhID0gYXN5bmMgKCk6IFByb21pc2U8UHJvcGVydHlGaWx0ZXJEYXRhW10+ID0+IHtcbiAgICBsZXQgcmVzcG9uc2UgPSBhd2FpdCBnZXQoXCJwcm9wZXJ0aWVzL2ZpbHRlclwiKTtcblxuICAgIGNvbnN0IHByb3BlcnRpZXM6IFByb3BlcnR5RmlsdGVyRGF0YVtdID0gcmVzcG9uc2UuZGF0YVxuICAgICAgICAuZmlsdGVyKChwcm9wZXJ0eTogUHJvcGVydHlGaWx0ZXJEYXRhKSA9PiBwcm9wZXJ0eS5hY3RpdmUpXG4gICAgICAgIC5maWx0ZXIoKHByb3BlcnR5OiBQcm9wZXJ0eUZpbHRlckRhdGEpID0+IHByb3BlcnR5LmxlYXNlVHlwZSA9PT0gTGVhc2VUeXBlLllFQVJMWSlcbiAgICAgICAgLmZpbHRlcigocHJvcGVydHk6IFByb3BlcnR5RmlsdGVyRGF0YSkgPT4gIXByb3BlcnR5Lm5hbWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhcImdhcmFnZVwiKSk7XG5cbiAgICBwcm9wZXJ0aWVzLmZvckVhY2gocHJvcGVydHkgPT4ge1xuICAgICAgICBwcm9wZXJ0eS5mbG9vcnBsYW5zID0gcHJvcGVydHkuZmxvb3JwbGFucy5maWx0ZXIoZmxvb3JwbGFuID0+IGZsb29ycGxhbi5hY3RpdmUpO1xuICAgICAgICBwcm9wZXJ0eS5mbG9vcnBsYW5zLmZvckVhY2goZmxvb3JwbGFuID0+IHtcbiAgICAgICAgICAgIGZsb29ycGxhbi51bml0cyA9IGZsb29ycGxhbi51bml0cy5maWx0ZXIodW5pdCA9PiB1bml0LmFjdGl2ZSk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHByb3BlcnRpZXM7XG59XG5leHBvcnQgY29uc3QgZ2V0Rmxvb3JwbGFuc0ZpbHRlckRhdGEgPSBhc3luYyAocHJvcGVydHlJZDogUHJvcGVydHlJZCk6IFByb21pc2U8Rmxvb3JwbGFuQ2FyZERhdGFbXT4gPT4ge1xuICAgIGxldCByZXNwb25zZSA9IGF3YWl0IGdldChcInByb3BlcnRpZXMvXCIgKyBwcm9wZXJ0eUlkICsgXCIvZmxvb3JwbGFucy9maWx0ZXJcIik7XG5cbiAgICBjb25zdCBmbG9vcnBsYW5zOiBGbG9vcnBsYW5DYXJkRGF0YVtdID0gcmVzcG9uc2UuZGF0YVxuICAgICAgICAuZmlsdGVyKChmbG9vcnBsYW46IEZsb29ycGxhbkNhcmREYXRhKSA9PiBmbG9vcnBsYW4uYWN0aXZlKTtcblxuICAgIGZsb29ycGxhbnMuZm9yRWFjaChmbG9vcnBsYW4gPT4ge1xuICAgICAgICBmbG9vcnBsYW4udW5pdHMgPSBmbG9vcnBsYW4udW5pdHMuZmlsdGVyKHVuaXQgPT4gdW5pdC5hY3RpdmUpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGZsb29ycGxhbnM7XG59O1xuZXhwb3J0IGNvbnN0IHNvcnRBbmRGaWx0ZXIgPSAoZmxvb3JwbGFuczogRmxvb3JwbGFuQ2FyZERhdGFbXSwgY3VycmVudEZpbHRlcnM6IEN1cnJlbnRGaWx0ZXJzKTogRmxvb3JwbGFuQ2FyZERhdGFbXSA9PiB7XG4gICAgcmV0dXJuIHNvcnRGbG9vcnBsYW5zKGZsb29ycGxhbnMuZmlsdGVyKGZsb29ycGxhbiA9PiBmaWx0ZXJNYXRjaGVzKGZsb29ycGxhbiwgY3VycmVudEZpbHRlcnMpKSwgY3VycmVudEZpbHRlcnMuc29ydEJ5KTtcbn07XG5cblxuZXhwb3J0IGNvbnN0IGlzRGF0ZVdpdGhpblR3ZWx2ZU1vbnRocyA9IChkYXRlOiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCB0b2RheSA9IG1vbWVudCgpO1xuICAgIGNvbnN0IGRpZmYgPSBtb21lbnQoZGF0ZSwgXCJZWVlZLU1NLUREXCIpLmRpZmYodG9kYXksICdtb250aHMnLCBmYWxzZSk7XG4gICAgcmV0dXJuIGRpZmYgPj0gMCAmJiBkaWZmIDw9IDEyO1xufVxuZXhwb3J0IGNvbnN0IGlzRGF0ZUFmdGVyVG9kYXkgPSAoZGF0ZTogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgdG9kYXkgPSBtb21lbnQoKTtcbiAgICByZXR1cm4gbW9tZW50KGRhdGUsIFwiWVlZWS1NTS1ERFwiKS5pc0FmdGVyKHRvZGF5KTtcbn1cbmV4cG9ydCBjb25zdCBNT05USF9ZRUFSX0ZPUk1BVCA9IFwiTU1NTSBZWVlZXCI7XG5jb25zdCBkYXRlVG9Nb250aFllYXIgPSAoZGF0ZVN0cmluZzogc3RyaW5nIHwgbnVsbCk6IHN0cmluZyA9PiBtb21lbnQoZGF0ZVN0cmluZywgXCJZWVlZLU1NLUREXCIpLmZvcm1hdChNT05USF9ZRUFSX0ZPUk1BVCk7XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0QXZhaWxhYmlsaXR5VG9Nb250aFllYXIgPSAoZGF0ZVN0cmluZzogc3RyaW5nKTogc3RyaW5nID0+XG4gICAgQVZBSUxBQkxFX05PVyA9PT0gZGF0ZVN0cmluZyA/IGRhdGVTdHJpbmcgOiBtb21lbnQoZGF0ZVN0cmluZywgXCJNTS1ZWVlZXCIpLmZvcm1hdChNT05USF9ZRUFSX0ZPUk1BVCk7XG5cbmV4cG9ydCBjb25zdCBtb21lbnRUb01vbnRoWWVhciA9IChkYXRlOiBNb21lbnQpID0+IGRhdGUuZm9ybWF0KE1PTlRIX1lFQVJfRk9STUFUKTtcbmNvbnN0IGlzQXZhaWxhYmxlID0gKGZsb29ycGxhbjogRmxvb3JwbGFuQ2FyZERhdGEsIGF2YWlsYWJpbGl0eUZpbHRlcnM6IE1vbnRoW10pOiBib29sZWFuID0+IHtcblxuICAgIHJldHVybiBhdmFpbGFiaWxpdHlGaWx0ZXJzLmxlbmd0aCA9PT0gMCA/IHRydWUgOlxuXG4gICAgICAgIGZsb29ycGxhbi51bml0cy5zb21lKCh1bml0KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGF2YWlsYWJpbGl0eUZpbHRlcnMuaW5kZXhPZihBVkFJTEFCTEVfTk9XKSA+IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc0JlZm9yZVRvZGF5KHVuaXQubW92ZUluRGF0ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChhdmFpbGFiaWxpdHlGaWx0ZXJzLmluZGV4T2YobW9tZW50VG9Nb250aFllYXIodG9kYXkpKSA+IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc0JlZm9yZVRvZGF5KHVuaXQubW92ZUluRGF0ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKHVuaXQuYXZhaWxhYmlsaXR5RXh0ZW5zaW9uTW9udGhzICYmIHVuaXQuYXZhaWxhYmlsaXR5RXh0ZW5zaW9uTW9udGhzID4gMCkge1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMTsgaSA8PSB1bml0LmF2YWlsYWJpbGl0eUV4dGVuc2lvbk1vbnRoczsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgZXh0ZW5zaW9uRGF0ZSA9IGRhdGVUb01vbWVudCh1bml0Lm1vdmVJbkRhdGUpLmFkZChpLCAnbW9udGgnKS5mb3JtYXQoTU9OVEhfWUVBUl9GT1JNQVQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGF2YWlsYWJpbGl0eUZpbHRlcnMuaW5kZXhPZihleHRlbnNpb25EYXRlKSA+IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIGF2YWlsYWJpbGl0eUZpbHRlcnMuaW5kZXhPZihkYXRlVG9Nb250aFllYXIodW5pdC5tb3ZlSW5EYXRlKSkgPiAtMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbn07XG5cbmNvbnN0IGlzQmVmb3JlVG9kYXkgPSAoZGF0ZTogc3RyaW5nKSA9PiBtb21lbnQoZGF0ZSkuaXNCZWZvcmUodG9kYXkpO1xuY29uc3QgaXNCZWRyb29tc01hdGNoID0gKGZsb29ycGxhbjogRmxvb3JwbGFuQ2FyZERhdGEsIGJlZHJvb21GaWx0ZXJzOiBudW1iZXJbXSk6IGJvb2xlYW4gPT4ge1xuICAgIHJldHVybiBiZWRyb29tRmlsdGVycy5sZW5ndGggPT09IDAgPyB0cnVlIDogYmVkcm9vbUZpbHRlcnMuaW5kZXhPZihmbG9vcnBsYW4uYmVkcm9vbSkgPiAtMTtcbn07XG5jb25zdCBpc1N0eWxlTWF0Y2ggPSAoZmxvb3JwbGFuOiBGbG9vcnBsYW5DYXJkRGF0YSwgc3R5bGVGaWx0ZXJzOiBGbG9vcnBsYW5TdHlsZVtdKTogYm9vbGVhbiA9PiB7XG4gICAgcmV0dXJuIHN0eWxlRmlsdGVycy5sZW5ndGggPT09IDAgPyB0cnVlIDogc3R5bGVGaWx0ZXJzLmluZGV4T2YoZmxvb3JwbGFuLnN0eWxlKSA+IC0xO1xufVxuY29uc3QgaXNJblByaWNlUmFuZ2UgPSAoZmxvb3JwbGFuOiBGbG9vcnBsYW5DYXJkRGF0YSwgbWluUmVudDogbnVtYmVyLCBtYXhSZW50OiBudW1iZXIpOiBib29sZWFuID0+IHtcbiAgICBjb25zdCBtaW5NYXggPSBtaW5pbXVtTWF4aW11bShmbG9vcnBsYW4udW5pdHMsIFwicmVudFwiKTtcbiAgICByZXR1cm4gbWluTWF4Lm1pbiA+PSBtaW5SZW50ICYmIG1pbk1heC5tYXggPD0gbWF4UmVudDtcbn1cbmNvbnN0IGlzRmxvb3JwbGFuSWRzTWF0Y2ggPSAoZmxvb3JwbGFuOiBGbG9vcnBsYW5DYXJkRGF0YSwgZmxvb3JwbGFuSWRzOiBzdHJpbmdbXSk6IGJvb2xlYW4gPT4ge1xuICAgIHJldHVybiBmbG9vcnBsYW5JZHMubGVuZ3RoID09PSAwID8gdHJ1ZSA6IGZsb29ycGxhbklkcy5pbmRleE9mKGZsb29ycGxhbi5pZCkgPiAtMTtcbn07XG5jb25zdCBmaWx0ZXJNYXRjaGVzID0gKGZsb29ycGxhbjogRmxvb3JwbGFuQ2FyZERhdGEsIGN1cnJlbnRGaWx0ZXJzOiBDdXJyZW50RmlsdGVycykgPT4ge1xuICAgIHJldHVybiBpc0F2YWlsYWJsZShmbG9vcnBsYW4sIGN1cnJlbnRGaWx0ZXJzLmF2YWlsYWJpbGl0eUZpbHRlcnMpICYmXG4gICAgICAgIGlzSW5QcmljZVJhbmdlKGZsb29ycGxhbiwgY3VycmVudEZpbHRlcnMubWluUmVudCwgY3VycmVudEZpbHRlcnMubWF4UmVudCkgJiZcbiAgICAgICAgaXNTdHlsZU1hdGNoKGZsb29ycGxhbiwgY3VycmVudEZpbHRlcnMuc3R5bGVGaWx0ZXJzKSAmJlxuICAgICAgICBpc0JlZHJvb21zTWF0Y2goZmxvb3JwbGFuLCBjdXJyZW50RmlsdGVycy5iZWRyb29tRmlsdGVycykgJiZcbiAgICAgICAgaXNGbG9vcnBsYW5JZHNNYXRjaChmbG9vcnBsYW4sIGN1cnJlbnRGaWx0ZXJzLmZsb29ycGxhbklkcyk7XG59XG5leHBvcnQgY29uc3Qgc29ydEZsb29ycGxhbnMgPSAoZmxvb3JwbGFuczogRmxvb3JwbGFuQ2FyZERhdGFbXSwgc29ydEJ5OiBTb3J0QnkpOiBGbG9vcnBsYW5DYXJkRGF0YVtdID0+IHtcblxuICAgIGlmIChTb3J0RmllbGRzW3NvcnRCeV0uc29ydEZpZWxkID09PSBcIm1pblJhdGVcIiAmJiBTb3J0RmllbGRzW3NvcnRCeV0ub3JkZXIgPT09IFwiZGVzY1wiKSB7XG4gICAgICAgIHJldHVybiBmbG9vcnBsYW5zLnNvcnQoKGEsIGIpID0+IG1pbmltdW1NYXhpbXVtKGIudW5pdHMsIFwicmVudFwiKS5taW4gLSBtaW5pbXVtTWF4aW11bShhLnVuaXRzLCBcInJlbnRcIikubWluKTtcbiAgICB9XG5cbiAgICBjb25zdCBtaW5SYXRlU29ydGVkID0gZmxvb3JwbGFucy5zb3J0KChhLCBiKSA9PiBtaW5pbXVtTWF4aW11bShhLnVuaXRzLCBcInJlbnRcIikubWluIC0gbWluaW11bU1heGltdW0oYi51bml0cywgXCJyZW50XCIpLm1pbik7XG4gICAgaWYgKFNvcnRGaWVsZHNbc29ydEJ5XS5zb3J0RmllbGQgPT09IFwibWluUmF0ZVwiICYmIFNvcnRGaWVsZHNbc29ydEJ5XS5vcmRlciA9PT0gXCJhc2NcIikge1xuICAgICAgICByZXR1cm4gbWluUmF0ZVNvcnRlZFxuICAgIH1cbiAgICByZXR1cm4gXy5vcmRlckJ5KG1pblJhdGVTb3J0ZWQsIFNvcnRGaWVsZHNbc29ydEJ5XS5zb3J0RmllbGQsIFNvcnRGaWVsZHNbc29ydEJ5XS5vcmRlcik7XG59O1xuXG5cbmV4cG9ydCBjb25zdCBmaWx0ZXJzRnJvbSA9IChmbG9vcnBsYW5zOiBGbG9vcnBsYW5DYXJkRGF0YVtdKTogRmxvb3JwbGFuRmlsdGVycyA9PiB7XG5cbiAgICBjb25zdCBiZWRyb29tRmlsdGVycyA9IG5ldyBTZXQ8bnVtYmVyPigpO1xuICAgIGNvbnN0IGF2YWlsYWJpbGl0eUZpbHRlcnMgPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgICBjb25zdCBzdHlsZUZpbHRlcnMgPSBuZXcgU2V0PEZsb29ycGxhblN0eWxlPigpO1xuXG4gICAgYXZhaWxhYmlsaXR5RmlsdGVycy5hZGQoQVZBSUxBQkxFX05PVyk7XG4gICAgZmxvb3JwbGFucy5mb3JFYWNoKGZsb29ycGxhbiA9PiB7XG4gICAgICAgIGJlZHJvb21GaWx0ZXJzLmFkZChmbG9vcnBsYW4uYmVkcm9vbSk7XG4gICAgICAgIHN0eWxlRmlsdGVycy5hZGQoZmxvb3JwbGFuLnN0eWxlKTtcblxuICAgICAgICBmbG9vcnBsYW4udW5pdHMuZm9yRWFjaCgodW5pdCkgPT4ge1xuICAgICAgICAgICAgaWYgKHVuaXQubW92ZUluRGF0ZSAmJiBpc0RhdGVXaXRoaW5Ud2VsdmVNb250aHModW5pdC5tb3ZlSW5EYXRlKSAmJiBpc0RhdGVBZnRlclRvZGF5KHVuaXQubW92ZUluRGF0ZSkpIHtcbiAgICAgICAgICAgICAgICBhdmFpbGFiaWxpdHlGaWx0ZXJzLmFkZChkYXRlVG9Nb250aFllYXIodW5pdC5tb3ZlSW5EYXRlKSk7XG4gICAgICAgICAgICAgICAgaWYgKHVuaXQuYXZhaWxhYmlsaXR5RXh0ZW5zaW9uTW9udGhzICYmIHVuaXQuYXZhaWxhYmlsaXR5RXh0ZW5zaW9uTW9udGhzID4gMCkge1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMTsgaSA8PSB1bml0LmF2YWlsYWJpbGl0eUV4dGVuc2lvbk1vbnRoczsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgZXh0ZW5zaW9uRGF0ZSA9IGRhdGVUb01vbWVudCh1bml0Lm1vdmVJbkRhdGUpLmFkZChpLCAnbW9udGgnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGF2YWlsYWJpbGl0eUZpbHRlcnMuYWRkKGV4dGVuc2lvbkRhdGUuZm9ybWF0KE1PTlRIX1lFQVJfRk9STUFUKSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgYmVkcm9vbTogYmVkcm9vbUZpbHRlcnMsXG4gICAgICAgIGF2YWlsYWJpbGl0eTogYXZhaWxhYmlsaXR5RmlsdGVycyxcbiAgICAgICAgc3R5bGU6IHN0eWxlRmlsdGVyc1xuICAgIH1cbn07XG5cblxuZXhwb3J0IGNvbnN0IGdldEZlYXR1cmVkRmxvb3JwbGFucyA9IGFzeW5jICgpOiBQcm9taXNlPEZsb29ycGxhblNwb3RsaWdodFtdPiA9PiB7XG5cbiAgICBsZXQgcmVzcG9uc2UgPSBhd2FpdCBnZXQoXCJmbG9vcnBsYW5zP3Byb2plY3Rpb249c3BvdGxpZ2h0JnNpemU9MjAwXCIpO1xuICAgIHJldHVybiBhd2FpdCByZXNwb25zZS5kYXRhLl9lbWJlZGRlZC5mbG9vcnBsYW5zLmZpbHRlcigoZmxvb3JwbGFuOiBGbG9vcnBsYW5TcG90bGlnaHQpID0+IGZsb29ycGxhbi5mZWF0dXJlZCAmJiBmbG9vcnBsYW4ucHJvcGVydHkuYWN0aXZlKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRBbGxBY3RpdmVGbG9vcnBsYW5zID0gYXN5bmMgKCk6IFByb21pc2U8Rmxvb3JwbGFuRGV0YWlsc1tdPiA9PiB7XG5cbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGdldChcImZsb29ycGxhbnM/cHJvamVjdGlvbj1kZXRhaWxzJnNpemU9MjAwXCIpO1xuICAgIHJldHVybiByZXNwb25zZS5kYXRhLl9lbWJlZGRlZC5mbG9vcnBsYW5zXG4gICAgICAgIC5maWx0ZXIoKGZsb29ycGxhbjogRmxvb3JwbGFuKSA9PiBmbG9vcnBsYW4uYWN0aXZlKVxuICAgICAgICAuZmlsdGVyKChmbG9vcnBsYW5fMTogRmxvb3JwbGFuKSA9PiBmbG9vcnBsYW5fMS5zdHlsZSAhPT0gXCJHQVJBR0VcIik7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Rmxvb3JwbGFuID0gKGZsb29ycGxhbklkOiBzdHJpbmcpOiBQcm9taXNlPEZsb29ycGxhbj4gPT5cbiAgICBnZXQoXCJmbG9vcnBsYW5zL1wiICsgZmxvb3JwbGFuSWQgKyBcIj9wcm9qZWN0aW9uPXdpdGhJZFwiKS50aGVuKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpO1xuXG5leHBvcnQgY29uc3QgZ2V0U2ltaWxhckZsb29ycGxhbnMgPSAoZmxvb3JwbGFuSWQ6IHN0cmluZyk6IFByb21pc2U8U2ltaWxhckZsb29ycGxhbltdPiA9PlxuICAgIGdldChcInNpbWlsYXJGbG9vcnBsYW5zL3NlYXJjaC9ieUZsb29ycGxhbklkP3Byb2plY3Rpb249d2l0aElkJmZsb29ycGxhbklkPVwiICsgZmxvb3JwbGFuSWQpLnRoZW4ocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YS5fZW1iZWRkZWQuc2ltaWxhckZsb29ycGxhbnMpO1xuXG5leHBvcnQgY29uc3QgZ2V0Rmxvb3JwbGFuVmFyaWF0aW9ucyA9IChmbG9vcnBsYW5JZDogc3RyaW5nKTogUHJvbWlzZTxGbG9vcnBsYW5WYXJpYXRpb25bXT4gPT5cbiAgICBnZXQoXCJmbG9vcnBsYW5WYXJpYXRpb25zL3NlYXJjaC9ieUZsb29ycGxhbklkP3Byb2plY3Rpb249d2l0aElkJmZsb29ycGxhbklkPVwiICsgZmxvb3JwbGFuSWQpLnRoZW4ocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YS5fZW1iZWRkZWQuZmxvb3JwbGFuVmFyaWF0aW9ucyk7XG5jb25zdCB0b2RheSA9IG1vbWVudCgpO1xuZXhwb3J0IGNvbnN0IGlzRmxvb3JwbGFuQXZhaWxhYmxlID0gKGZsb29ycGxhbjogRmxvb3JwbGFuIHwgRmxvb3JwbGFuQ2FyZERhdGEpOiBib29sZWFuID0+IGZsb29ycGxhbi51bml0cy5zb21lKCh1bml0KSA9PiB0b2RheS5pc0FmdGVyKGRhdGVUb01vbWVudCh1bml0Lm1vdmVJbkRhdGUpKSk7XG5leHBvcnQgY29uc3QgZ2V0VGVzdGltb25pYWxzID0gKGZsb29ycGxhbklkOiBzdHJpbmcpOiBQcm9taXNlPFRlc3RpbW9uaWFsW10+ID0+XG4gICAgZ2V0KFwidGVzdGltb25pYWxzL3NlYXJjaC9ieUZsb29ycGxhbklkP3Byb2plY3Rpb249d2l0aElkJmZsb29ycGxhbklkPVwiICsgZmxvb3JwbGFuSWQpLnRoZW4ocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YS5fZW1iZWRkZWQudGVzdGltb25pYWxzKTtcblxuZXhwb3J0IGNvbnN0IGdldFdlYlNwZWNpYWxzID0gKGZsb29ycGxhbklkOiBzdHJpbmcpOiBQcm9taXNlPFdlYlNwZWNpYWxbXT4gPT5cbiAgICBnZXQoXCJ3ZWJTcGVjaWFscy9zZWFyY2gvYnlGbG9vcnBsYW5JZD9wcm9qZWN0aW9uPXdpdGhJZCZmbG9vcnBsYW5JZD1cIiArIGZsb29ycGxhbklkKS50aGVuKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEuX2VtYmVkZGVkLndlYlNwZWNpYWxzKTtcblxuZXhwb3J0IGNvbnN0IHBlcm1pdHRlZFBldHMgPSAoZmxvb3JwbGFuOiBGbG9vcnBsYW4pOiBzdHJpbmdbXSA9PiB7XG5cbiAgICBjb25zdCB1bml0ID0gdW5pdFdpdGhNb3N0QWxsb3dlZFBldChbLi4uZmxvb3JwbGFuLnVuaXRzXSk7XG5cbiAgICBzd2l0Y2ggKHVuaXQ/LmFsbG93ZWRQZXQpIHtcbiAgICAgICAgY2FzZSBQZXQuTEFSR0VfRE9HX1NNQUxMX0RPR19DQVQ6XG4gICAgICAgICAgICByZXR1cm4gWydMYXJnZSBEb2cnLCAnU21hbGwgRG9nJywgJ0NhdCddO1xuICAgICAgICBjYXNlIFBldC5TTUFMTF9ET0dfQ0FUOlxuICAgICAgICAgICAgcmV0dXJuIFsnU21hbGwgRG9nJywgJ0NhdCddO1xuICAgICAgICBjYXNlIFBldC5DQVQ6XG4gICAgICAgICAgICByZXR1cm4gWydDYXQnXTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiBbJ05vbmUnXTtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBub3RQZXJtaXR0ZWRQZXRzID0gKGZsb29ycGxhbjogRmxvb3JwbGFuKTogc3RyaW5nW10gPT4ge1xuXG4gICAgY29uc3QgdW5pdCA9IHVuaXRXaXRoTW9zdEFsbG93ZWRQZXQoWy4uLmZsb29ycGxhbi51bml0c10pO1xuXG4gICAgc3dpdGNoICh1bml0Py5hbGxvd2VkUGV0KSB7XG4gICAgICAgIGNhc2UgUGV0LkxBUkdFX0RPR19TTUFMTF9ET0dfQ0FUOlxuICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICBjYXNlIFBldC5TTUFMTF9ET0dfQ0FUOlxuICAgICAgICAgICAgcmV0dXJuIFsnTGFyZ2UgRG9nJ107XG4gICAgICAgIGNhc2UgUGV0LkNBVDpcbiAgICAgICAgICAgIHJldHVybiBbJ0xhcmdlIERvZycsICdTbWFsbCBEb2cnXTtcbiAgICAgICAgY2FzZSBQZXQuTk9fUEVUOlxuICAgICAgICAgICAgcmV0dXJuIFsnTGFyZ2UgRG9nJywgJ1NtYWxsIERvZycsICdDYXQnXTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICB9XG59XG5leHBvcnQgY29uc3QgcGV0UG9saWN5ID0gKGZsb29ycGxhbjogRmxvb3JwbGFuKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcbiAgICBjb25zdCB1bml0ID0gdW5pdFdpdGhNb3N0QWxsb3dlZFBldChbLi4uZmxvb3JwbGFuLnVuaXRzXSk7XG4gICAgcmV0dXJuIHVuaXQ/LnBldFBvbGljeTtcbn1cbmNvbnN0IHVuaXRXaXRoTW9zdEFsbG93ZWRQZXQgPSAodW5pdHM6IFVuaXRbXSk6IFVuaXQgfCB1bmRlZmluZWQgPT4ge1xuICAgIGNvbnN0IHBldE9yZGluYWwgPSAocGV0OiBQZXQpID0+IE9iamVjdC5rZXlzKFBldCkuaW5kZXhPZihwZXQpO1xuICAgIHJldHVybiB1bml0cy5zb3J0KChhLCBiKSA9PiBwZXRPcmRpbmFsKGIuYWxsb3dlZFBldCkgLSBwZXRPcmRpbmFsKGEuYWxsb3dlZFBldCkpLnBvcCgpO1xufVxuXG5leHBvcnQgY29uc3QgZmxvb3JwbGFuQWRkcmVzcyA9IChjdXJyZW50Rmxvb3JwbGFuOiBGbG9vcnBsYW4pOiBGbG9vcnBsYW5BZGRyZXNzID0+IHtcbiAgICBjb25zdCBhZGRyZXNzOiBGbG9vcnBsYW5BZGRyZXNzID0ge2FkZHJlc3M6IFwiXCIsIGNpdHk6IHJlbmFpc3NhbmNlLmNpdHksIHN0YXRlOiByZW5haXNzYW5jZS5zdGF0ZSwgemlwY29kZTogXCJcIn07XG4gICAgaWYgKGN1cnJlbnRGbG9vcnBsYW4udW5pdHMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5hZGRyZXNzLCBhZGRyZXNzOiBjdXJyZW50Rmxvb3JwbGFuLnVuaXRzWzBdLmFkZHJlc3MsXG4gICAgICAgICAgICB6aXBjb2RlOiBjdXJyZW50Rmxvb3JwbGFuLnVuaXRzWzBdLnppcGNvZGVcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgICAuLi5hZGRyZXNzLCBhZGRyZXNzOiBjdXJyZW50Rmxvb3JwbGFuLnByb3BlcnR5LmFkZHJlc3MsXG4gICAgICAgIHppcGNvZGU6IGN1cnJlbnRGbG9vcnBsYW4ucHJvcGVydHkuemlwY29kZVxuICAgIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBGbG9vcnBsYW5BZGRyZXNzIHtcbiAgICBhZGRyZXNzOiBzdHJpbmc7XG4gICAgY2l0eTogc3RyaW5nO1xuICAgIHN0YXRlOiBzdHJpbmc7XG4gICAgemlwY29kZTogc3RyaW5nO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxPQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFB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
|
|
250
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9kYXNoIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfRmxvb3JwbGFuRmlsdGVycyIsIl9tb21lbnQiLCJfVXRpbHMiLCJfUHJvcGVydHkiLCJfVW5pdCIsIl9Sb3VuZFJvYmluIiwiX1JlbmFpc3NhbmNlRGF0YSIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiQVZBSUxBQkxFX05PVyIsImV4cG9ydHMiLCJ0b2RheSIsIm1vbWVudCIsInRvbW9ycm93IiwiYWRkIiwiY29udmVydFRvSHR0cHMiLCJ1cmwiLCJyZXBsYWNlIiwiY29udmVydFRvRmxvb3JwbGFuQ2FyZERhdGEiLCJmbG9vcnBsYW5EZXRhaWxzIiwiaWQiLCJuYW1lIiwiYWN0aXZlIiwiYmVkcm9vbSIsImJhdGhyb29tIiwiY292ZXJJbWFnZSIsImZlYXR1cmVkIiwic3R5bGUiLCJzcGVjaWFsUmVudCIsInNwZWNpYWxSZW50U3RhcnREYXRlIiwic3BlY2lhbFJlbnRFbmREYXRlIiwiYWRkcmVzcyIsInppcGNvZGUiLCJ2aXJ0dWFsVG91ckxpbmsiLCJ2aWRlb1RvdXJMaW5rIiwicGhvdG9zRm9sZGVySWQiLCJ1bml0cyIsIndlYlNwZWNpYWxzIiwiZmlsdGVyIiwid2ViU3BlY2lhbCIsImlzQmV0d2VlbiIsImRhdGVUb01vbWVudCIsInN0YXJ0RGF0ZSIsImVuZERhdGUiLCJtYXAiLCJkZXNjcmlwdGlvbiIsImdldEFsbFByb3BlcnR5RmlsdGVyRGF0YSIsInJlc3BvbnNlIiwiZ2V0IiwicHJvcGVydGllcyIsImRhdGEiLCJwcm9wZXJ0eSIsImxlYXNlVHlwZSIsIkxlYXNlVHlwZSIsIllFQVJMWSIsInRvTG93ZXJDYXNlIiwiaW5jbHVkZXMiLCJmb3JFYWNoIiwiZmxvb3JwbGFucyIsImZsb29ycGxhbiIsInVuaXQiLCJnZXRGbG9vcnBsYW5zRmlsdGVyRGF0YSIsInByb3BlcnR5SWQiLCJzb3J0QW5kRmlsdGVyIiwiY3VycmVudEZpbHRlcnMiLCJzb3J0Rmxvb3JwbGFucyIsImZpbHRlck1hdGNoZXMiLCJzb3J0QnkiLCJpc0RhdGVXaXRoaW5Ud2VsdmVNb250aHMiLCJkYXRlIiwiZGlmZiIsImlzRGF0ZUFmdGVyVG9kYXkiLCJpc0FmdGVyIiwiTU9OVEhfWUVBUl9GT1JNQVQiLCJkYXRlVG9Nb250aFllYXIiLCJkYXRlU3RyaW5nIiwiZm9ybWF0IiwiaXNBdmFpbGFibGVOb3ciLCJtb3ZlSW5EYXRlIiwiaXNCZWZvcmUiLCJkZWZhdWx0QXZhaWxhYmlsaXR5VG9Nb250aFllYXIiLCJtb21lbnRUb01vbnRoWWVhciIsImlzQXZhaWxhYmxlIiwiYXZhaWxhYmlsaXR5RmlsdGVycyIsImxlbmd0aCIsInNvbWUiLCJpc1VuaXRBdmFpbGFibGVOb3ciLCJpbmRleE9mIiwiYXZhaWxhYmlsaXR5RXh0ZW5zaW9uTW9udGhzIiwiaSIsImV4dGVuc2lvbkRhdGUiLCJpc0JlZHJvb21zTWF0Y2giLCJiZWRyb29tRmlsdGVycyIsImlzU3R5bGVNYXRjaCIsInN0eWxlRmlsdGVycyIsImlzSW5QcmljZVJhbmdlIiwibWluUmVudCIsIm1heFJlbnQiLCJtaW5NYXgiLCJtaW5pbXVtTWF4aW11bSIsIm1pbiIsIm1heCIsImlzRmxvb3JwbGFuSWRzTWF0Y2giLCJmbG9vcnBsYW5JZHMiLCJTb3J0RmllbGRzIiwic29ydEZpZWxkIiwib3JkZXIiLCJzb3J0IiwiYSIsImIiLCJtaW5SYXRlU29ydGVkIiwiXyIsIm9yZGVyQnkiLCJmaWx0ZXJzRnJvbSIsIlNldCIsImF2YWlsYWJpbGl0eSIsImdldEZlYXR1cmVkRmxvb3JwbGFucyIsIl9lbWJlZGRlZCIsImdldEFsbEFjdGl2ZUZsb29ycGxhbnMiLCJmbG9vcnBsYW5fMSIsImdldEZsb29ycGxhbiIsImZsb29ycGxhbklkIiwidGhlbiIsImdldFNpbWlsYXJGbG9vcnBsYW5zIiwic2ltaWxhckZsb29ycGxhbnMiLCJnZXRGbG9vcnBsYW5WYXJpYXRpb25zIiwiZmxvb3JwbGFuVmFyaWF0aW9ucyIsImlzRmxvb3JwbGFuQXZhaWxhYmxlIiwiZ2V0VGVzdGltb25pYWxzIiwidGVzdGltb25pYWxzIiwiZ2V0V2ViU3BlY2lhbHMiLCJwZXJtaXR0ZWRQZXRzIiwidW5pdFdpdGhNb3N0QWxsb3dlZFBldCIsImFsbG93ZWRQZXQiLCJQZXQiLCJMQVJHRV9ET0dfU01BTExfRE9HX0NBVCIsIlNNQUxMX0RPR19DQVQiLCJDQVQiLCJub3RQZXJtaXR0ZWRQZXRzIiwiTk9fUEVUIiwicGV0UG9saWN5IiwicGV0T3JkaW5hbCIsInBldCIsIk9iamVjdCIsImtleXMiLCJwb3AiLCJmbG9vcnBsYW5BZGRyZXNzIiwiY3VycmVudEZsb29ycGxhbiIsImNpdHkiLCJyZW5haXNzYW5jZSIsInN0YXRlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Zsb29ycGxhbi9zZXJ2aWNlL0Zsb29ycGxhblNlcnZpY2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7TW9udGh9IGZyb20gXCIuLi9kYXRhL0NhbGVuZGFyXCI7XG5pbXBvcnQge0N1cnJlbnRGaWx0ZXJzLCBGbG9vcnBsYW5GaWx0ZXJzLCBTb3J0QnksIFNvcnRGaWVsZHN9IGZyb20gXCIuLi9kYXRhL0Zsb29ycGxhbkZpbHRlcnNcIjtcbmltcG9ydCBtb21lbnQsIHtNb21lbnR9IGZyb20gXCJtb21lbnRcIjtcbmltcG9ydCB7XG4gICAgRmxvb3JwbGFuLFxuICAgIEZsb29ycGxhbkNhcmREYXRhLFxuICAgIEZsb29ycGxhbkRldGFpbHMsXG4gICAgRmxvb3JwbGFuU3BvdGxpZ2h0LFxuICAgIEZsb29ycGxhblN0eWxlLFxuICAgIEZsb29ycGxhblZhcmlhdGlvbixcbiAgICBTaW1pbGFyRmxvb3JwbGFuLFxuICAgIFRlc3RpbW9uaWFsLFxuICAgIFdlYlNwZWNpYWxcbn0gZnJvbSBcIi4uL2RhdGEvRmxvb3JwbGFuXCI7XG5pbXBvcnQge2RhdGVUb01vbWVudCwgbWluaW11bU1heGltdW19IGZyb20gXCIuLi8uLi91dGlscy9VdGlsc1wiO1xuaW1wb3J0IHtMZWFzZVR5cGUsIFByb3BlcnR5RmlsdGVyRGF0YSwgUHJvcGVydHlJZH0gZnJvbSBcIi4uLy4uL3Byb3BlcnR5L2RhdGEvUHJvcGVydHlcIjtcbmltcG9ydCB7UGV0LCBVbml0fSBmcm9tIFwiLi4vZGF0YS9Vbml0XCI7XG5pbXBvcnQge2dldH0gZnJvbSBcIi4uLy4uL3NlcnZpY2UvUm91bmRSb2JpblwiO1xuaW1wb3J0IHtyZW5haXNzYW5jZX0gZnJvbSBcIi4uLy4uL2RhdGEvUmVuYWlzc2FuY2VEYXRhXCI7XG5cbmV4cG9ydCBjb25zdCBBVkFJTEFCTEVfTk9XID0gXCJBdmFpbGFibGUgTm93XCI7XG5jb25zdCB0b2RheSA9IG1vbWVudCgpO1xuY29uc3QgdG9tb3Jyb3cgPSB0b2RheS5hZGQoMSwgXCJkYXlcIik7XG5cblxuZXhwb3J0IGNvbnN0IGNvbnZlcnRUb0h0dHBzID0gKHVybDogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgICBpZiAodXJsID09PSBudWxsKVxuICAgICAgICByZXR1cm4gXCJcIjtcbiAgICByZXR1cm4gdXJsLnJlcGxhY2UoL15odHRwOlxcL1xcLy9pLCAnaHR0cHM6Ly8nKTtcbn07XG5cbmV4cG9ydCBjb25zdCBjb252ZXJ0VG9GbG9vcnBsYW5DYXJkRGF0YSA9IChmbG9vcnBsYW5EZXRhaWxzOiBGbG9vcnBsYW5EZXRhaWxzKTogRmxvb3JwbGFuQ2FyZERhdGEgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAgIGlkOiBmbG9vcnBsYW5EZXRhaWxzLmlkLFxuICAgICAgICBuYW1lOiBmbG9vcnBsYW5EZXRhaWxzLm5hbWUsXG4gICAgICAgIGFjdGl2ZTogZmxvb3JwbGFuRGV0YWlscy5hY3RpdmUsXG4gICAgICAgIGJlZHJvb206IGZsb29ycGxhbkRldGFpbHMuYmVkcm9vbSxcbiAgICAgICAgYmF0aHJvb206IGZsb29ycGxhbkRldGFpbHMuYmF0aHJvb20sXG4gICAgICAgIGNvdmVySW1hZ2U6IGZsb29ycGxhbkRldGFpbHMuY292ZXJJbWFnZSxcbiAgICAgICAgZmVhdHVyZWQ6IGZsb29ycGxhbkRldGFpbHMuZmVhdHVyZWQsXG4gICAgICAgIHN0eWxlOiBmbG9vcnBsYW5EZXRhaWxzLnN0eWxlLFxuICAgICAgICBzcGVjaWFsUmVudDogZmxvb3JwbGFuRGV0YWlscy5zcGVjaWFsUmVudCxcbiAgICAgICAgc3BlY2lhbFJlbnRTdGFydERhdGU6IGZsb29ycGxhbkRldGFpbHMuc3BlY2lhbFJlbnRTdGFydERhdGUsXG4gICAgICAgIHNwZWNpYWxSZW50RW5kRGF0ZTogZmxvb3JwbGFuRGV0YWlscy5zcGVjaWFsUmVudEVuZERhdGUsXG4gICAgICAgIGFkZHJlc3M6IGZsb29ycGxhbkRldGFpbHMuYWRkcmVzcyxcbiAgICAgICAgemlwY29kZTogZmxvb3JwbGFuRGV0YWlscy56aXBjb2RlLFxuICAgICAgICB2aXJ0dWFsVG91ckxpbms6IGZsb29ycGxhbkRldGFpbHMudmlydHVhbFRvdXJMaW5rLFxuICAgICAgICB2aWRlb1RvdXJMaW5rOiBmbG9vcnBsYW5EZXRhaWxzLnZpZGVvVG91ckxpbmssXG4gICAgICAgIHBob3Rvc0ZvbGRlcklkOiBmbG9vcnBsYW5EZXRhaWxzLnBob3Rvc0ZvbGRlcklkLFxuICAgICAgICB1bml0czogZmxvb3JwbGFuRGV0YWlscy51bml0cyxcbiAgICAgICAgd2ViU3BlY2lhbHM6IGZsb29ycGxhbkRldGFpbHMud2ViU3BlY2lhbHNcbiAgICAgICAgICAgIC5maWx0ZXIod2ViU3BlY2lhbCA9PiB0b2RheS5pc0JldHdlZW4oZGF0ZVRvTW9tZW50KHdlYlNwZWNpYWwuc3RhcnREYXRlKSwgZGF0ZVRvTW9tZW50KHdlYlNwZWNpYWwuZW5kRGF0ZSkpKVxuICAgICAgICAgICAgLm1hcCh3ZWJTcGVjaWFsID0+IHdlYlNwZWNpYWwuZGVzY3JpcHRpb24pXG4gICAgfSBhcyBGbG9vcnBsYW5DYXJkRGF0YTtcbn1cbmV4cG9ydCBjb25zdCBnZXRBbGxQcm9wZXJ0eUZpbHRlckRhdGEgPSBhc3luYyAoKTogUHJvbWlzZTxQcm9wZXJ0eUZpbHRlckRhdGFbXT4gPT4ge1xuICAgIGxldCByZXNwb25zZSA9IGF3YWl0IGdldChcInByb3BlcnRpZXMvZmlsdGVyXCIpO1xuXG4gICAgY29uc3QgcHJvcGVydGllczogUHJvcGVydHlGaWx0ZXJEYXRhW10gPSByZXNwb25zZS5kYXRhXG4gICAgICAgIC5maWx0ZXIoKHByb3BlcnR5OiBQcm9wZXJ0eUZpbHRlckRhdGEpID0+IHByb3BlcnR5LmFjdGl2ZSlcbiAgICAgICAgLmZpbHRlcigocHJvcGVydHk6IFByb3BlcnR5RmlsdGVyRGF0YSkgPT4gcHJvcGVydHkubGVhc2VUeXBlID09PSBMZWFzZVR5cGUuWUVBUkxZKVxuICAgICAgICAuZmlsdGVyKChwcm9wZXJ0eTogUHJvcGVydHlGaWx0ZXJEYXRhKSA9PiAhcHJvcGVydHkubmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKFwiZ2FyYWdlXCIpKTtcblxuICAgIHByb3BlcnRpZXMuZm9yRWFjaChwcm9wZXJ0eSA9PiB7XG4gICAgICAgIHByb3BlcnR5LmZsb29ycGxhbnMgPSBwcm9wZXJ0eS5mbG9vcnBsYW5zLmZpbHRlcihmbG9vcnBsYW4gPT4gZmxvb3JwbGFuLmFjdGl2ZSk7XG4gICAgICAgIHByb3BlcnR5LmZsb29ycGxhbnMuZm9yRWFjaChmbG9vcnBsYW4gPT4ge1xuICAgICAgICAgICAgZmxvb3JwbGFuLnVuaXRzID0gZmxvb3JwbGFuLnVuaXRzLmZpbHRlcih1bml0ID0+IHVuaXQuYWN0aXZlKTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gcHJvcGVydGllcztcbn1cbmV4cG9ydCBjb25zdCBnZXRGbG9vcnBsYW5zRmlsdGVyRGF0YSA9IGFzeW5jIChwcm9wZXJ0eUlkOiBQcm9wZXJ0eUlkKTogUHJvbWlzZTxGbG9vcnBsYW5DYXJkRGF0YVtdPiA9PiB7XG4gICAgbGV0IHJlc3BvbnNlID0gYXdhaXQgZ2V0KFwicHJvcGVydGllcy9cIiArIHByb3BlcnR5SWQgKyBcIi9mbG9vcnBsYW5zL2ZpbHRlclwiKTtcblxuICAgIGNvbnN0IGZsb29ycGxhbnM6IEZsb29ycGxhbkNhcmREYXRhW10gPSByZXNwb25zZS5kYXRhXG4gICAgICAgIC5maWx0ZXIoKGZsb29ycGxhbjogRmxvb3JwbGFuQ2FyZERhdGEpID0+IGZsb29ycGxhbi5hY3RpdmUpO1xuXG4gICAgZmxvb3JwbGFucy5mb3JFYWNoKGZsb29ycGxhbiA9PiB7XG4gICAgICAgIGZsb29ycGxhbi51bml0cyA9IGZsb29ycGxhbi51bml0cy5maWx0ZXIodW5pdCA9PiB1bml0LmFjdGl2ZSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gZmxvb3JwbGFucztcbn07XG5leHBvcnQgY29uc3Qgc29ydEFuZEZpbHRlciA9IChmbG9vcnBsYW5zOiBGbG9vcnBsYW5DYXJkRGF0YVtdLCBjdXJyZW50RmlsdGVyczogQ3VycmVudEZpbHRlcnMpOiBGbG9vcnBsYW5DYXJkRGF0YVtdID0+IHtcbiAgICByZXR1cm4gc29ydEZsb29ycGxhbnMoZmxvb3JwbGFucy5maWx0ZXIoZmxvb3JwbGFuID0+IGZpbHRlck1hdGNoZXMoZmxvb3JwbGFuLCBjdXJyZW50RmlsdGVycykpLCBjdXJyZW50RmlsdGVycy5zb3J0QnkpO1xufTtcblxuXG5leHBvcnQgY29uc3QgaXNEYXRlV2l0aGluVHdlbHZlTW9udGhzID0gKGRhdGU6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IGRpZmYgPSBtb21lbnQoZGF0ZSwgXCJZWVlZLU1NLUREXCIpLmRpZmYodG9kYXksICdtb250aHMnLCBmYWxzZSk7XG4gICAgcmV0dXJuIGRpZmYgPj0gMCAmJiBkaWZmIDw9IDEyO1xufVxuZXhwb3J0IGNvbnN0IGlzRGF0ZUFmdGVyVG9kYXkgPSAoZGF0ZTogc3RyaW5nKSA9PiB7XG4gICAgcmV0dXJuIG1vbWVudChkYXRlLCBcIllZWVktTU0tRERcIikuaXNBZnRlcih0b2RheSk7XG59XG5leHBvcnQgY29uc3QgTU9OVEhfWUVBUl9GT1JNQVQgPSBcIk1NTU0gWVlZWVwiO1xuY29uc3QgZGF0ZVRvTW9udGhZZWFyID0gKGRhdGVTdHJpbmc6IHN0cmluZyB8IG51bGwpOiBzdHJpbmcgPT4gbW9tZW50KGRhdGVTdHJpbmcsIFwiWVlZWS1NTS1ERFwiKS5mb3JtYXQoTU9OVEhfWUVBUl9GT1JNQVQpO1xuXG5jb25zdCBpc0F2YWlsYWJsZU5vdyA9IChtb3ZlSW5EYXRlOiBtb21lbnQuTW9tZW50KSA9PiBtb3ZlSW5EYXRlLmlzQmVmb3JlKHRvbW9ycm93KTtcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRBdmFpbGFiaWxpdHlUb01vbnRoWWVhciA9IChkYXRlU3RyaW5nOiBzdHJpbmcpOiBzdHJpbmcgPT5cbiAgICBBVkFJTEFCTEVfTk9XID09PSBkYXRlU3RyaW5nID8gZGF0ZVN0cmluZyA6IG1vbWVudChkYXRlU3RyaW5nLCBcIk1NLVlZWVlcIikuZm9ybWF0KE1PTlRIX1lFQVJfRk9STUFUKTtcblxuZXhwb3J0IGNvbnN0IG1vbWVudFRvTW9udGhZZWFyID0gKGRhdGU6IE1vbWVudCkgPT4gZGF0ZS5mb3JtYXQoTU9OVEhfWUVBUl9GT1JNQVQpO1xuXG5cbmNvbnN0IGlzQXZhaWxhYmxlID0gKGZsb29ycGxhbjogRmxvb3JwbGFuQ2FyZERhdGEsIGF2YWlsYWJpbGl0eUZpbHRlcnM6IE1vbnRoW10pOiBib29sZWFuID0+IHtcblxuICAgIHJldHVybiBhdmFpbGFiaWxpdHlGaWx0ZXJzLmxlbmd0aCA9PT0gMCA/IHRydWUgOlxuXG4gICAgICAgIGZsb29ycGxhbi51bml0cy5zb21lKCh1bml0KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgaXNVbml0QXZhaWxhYmxlTm93ID0gaXNBdmFpbGFibGVOb3cobW9tZW50KHVuaXQubW92ZUluRGF0ZSkpXG4gICAgICAgICAgICAgICAgaWYgKGF2YWlsYWJpbGl0eUZpbHRlcnMuaW5kZXhPZihBVkFJTEFCTEVfTk9XKSA+IC0xIHx8IGF2YWlsYWJpbGl0eUZpbHRlcnMuaW5kZXhPZihtb21lbnRUb01vbnRoWWVhcih0b2RheSkpID4gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzVW5pdEF2YWlsYWJsZU5vdylcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICh1bml0LmF2YWlsYWJpbGl0eUV4dGVuc2lvbk1vbnRocyAmJiB1bml0LmF2YWlsYWJpbGl0eUV4dGVuc2lvbk1vbnRocyA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDE7IGkgPD0gdW5pdC5hdmFpbGFiaWxpdHlFeHRlbnNpb25Nb250aHM7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGV4dGVuc2lvbkRhdGUgPSBpc1VuaXRBdmFpbGFibGVOb3cgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vbWVudCgpLmFkZChpLCAnbW9udGgnKS5mb3JtYXQoTU9OVEhfWUVBUl9GT1JNQVQpIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRlVG9Nb21lbnQodW5pdC5tb3ZlSW5EYXRlKS5hZGQoaSwgJ21vbnRoJykuZm9ybWF0KE1PTlRIX1lFQVJfRk9STUFUKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChhdmFpbGFiaWxpdHlGaWx0ZXJzLmluZGV4T2YoZXh0ZW5zaW9uRGF0ZSkgPiAtMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBhdmFpbGFiaWxpdHlGaWx0ZXJzLmluZGV4T2YoZGF0ZVRvTW9udGhZZWFyKHVuaXQubW92ZUluRGF0ZSkpID4gLTE7XG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG59O1xuY29uc3QgaXNCZWRyb29tc01hdGNoID0gKGZsb29ycGxhbjogRmxvb3JwbGFuQ2FyZERhdGEsIGJlZHJvb21GaWx0ZXJzOiBudW1iZXJbXSk6IGJvb2xlYW4gPT4ge1xuICAgIHJldHVybiBiZWRyb29tRmlsdGVycy5sZW5ndGggPT09IDAgPyB0cnVlIDogYmVkcm9vbUZpbHRlcnMuaW5kZXhPZihmbG9vcnBsYW4uYmVkcm9vbSkgPiAtMTtcbn07XG5jb25zdCBpc1N0eWxlTWF0Y2ggPSAoZmxvb3JwbGFuOiBGbG9vcnBsYW5DYXJkRGF0YSwgc3R5bGVGaWx0ZXJzOiBGbG9vcnBsYW5TdHlsZVtdKTogYm9vbGVhbiA9PiB7XG4gICAgcmV0dXJuIHN0eWxlRmlsdGVycy5sZW5ndGggPT09IDAgPyB0cnVlIDogc3R5bGVGaWx0ZXJzLmluZGV4T2YoZmxvb3JwbGFuLnN0eWxlKSA+IC0xO1xufVxuY29uc3QgaXNJblByaWNlUmFuZ2UgPSAoZmxvb3JwbGFuOiBGbG9vcnBsYW5DYXJkRGF0YSwgbWluUmVudDogbnVtYmVyLCBtYXhSZW50OiBudW1iZXIpOiBib29sZWFuID0+IHtcbiAgICBjb25zdCBtaW5NYXggPSBtaW5pbXVtTWF4aW11bShmbG9vcnBsYW4udW5pdHMsIFwicmVudFwiKTtcbiAgICByZXR1cm4gbWluTWF4Lm1pbiA+PSBtaW5SZW50ICYmIG1pbk1heC5tYXggPD0gbWF4UmVudDtcbn1cbmNvbnN0IGlzRmxvb3JwbGFuSWRzTWF0Y2ggPSAoZmxvb3JwbGFuOiBGbG9vcnBsYW5DYXJkRGF0YSwgZmxvb3JwbGFuSWRzOiBzdHJpbmdbXSk6IGJvb2xlYW4gPT4ge1xuICAgIHJldHVybiBmbG9vcnBsYW5JZHMubGVuZ3RoID09PSAwID8gdHJ1ZSA6IGZsb29ycGxhbklkcy5pbmRleE9mKGZsb29ycGxhbi5pZCkgPiAtMTtcbn07XG5jb25zdCBmaWx0ZXJNYXRjaGVzID0gKGZsb29ycGxhbjogRmxvb3JwbGFuQ2FyZERhdGEsIGN1cnJlbnRGaWx0ZXJzOiBDdXJyZW50RmlsdGVycykgPT4ge1xuICAgIHJldHVybiBpc0F2YWlsYWJsZShmbG9vcnBsYW4sIGN1cnJlbnRGaWx0ZXJzLmF2YWlsYWJpbGl0eUZpbHRlcnMpICYmXG4gICAgICAgIGlzSW5QcmljZVJhbmdlKGZsb29ycGxhbiwgY3VycmVudEZpbHRlcnMubWluUmVudCwgY3VycmVudEZpbHRlcnMubWF4UmVudCkgJiZcbiAgICAgICAgaXNTdHlsZU1hdGNoKGZsb29ycGxhbiwgY3VycmVudEZpbHRlcnMuc3R5bGVGaWx0ZXJzKSAmJlxuICAgICAgICBpc0JlZHJvb21zTWF0Y2goZmxvb3JwbGFuLCBjdXJyZW50RmlsdGVycy5iZWRyb29tRmlsdGVycykgJiZcbiAgICAgICAgaXNGbG9vcnBsYW5JZHNNYXRjaChmbG9vcnBsYW4sIGN1cnJlbnRGaWx0ZXJzLmZsb29ycGxhbklkcyk7XG59XG5leHBvcnQgY29uc3Qgc29ydEZsb29ycGxhbnMgPSAoZmxvb3JwbGFuczogRmxvb3JwbGFuQ2FyZERhdGFbXSwgc29ydEJ5OiBTb3J0QnkpOiBGbG9vcnBsYW5DYXJkRGF0YVtdID0+IHtcblxuICAgIGlmIChTb3J0RmllbGRzW3NvcnRCeV0uc29ydEZpZWxkID09PSBcIm1pblJhdGVcIiAmJiBTb3J0RmllbGRzW3NvcnRCeV0ub3JkZXIgPT09IFwiZGVzY1wiKSB7XG4gICAgICAgIHJldHVybiBmbG9vcnBsYW5zLnNvcnQoKGEsIGIpID0+IG1pbmltdW1NYXhpbXVtKGIudW5pdHMsIFwicmVudFwiKS5taW4gLSBtaW5pbXVtTWF4aW11bShhLnVuaXRzLCBcInJlbnRcIikubWluKTtcbiAgICB9XG5cbiAgICBjb25zdCBtaW5SYXRlU29ydGVkID0gZmxvb3JwbGFucy5zb3J0KChhLCBiKSA9PiBtaW5pbXVtTWF4aW11bShhLnVuaXRzLCBcInJlbnRcIikubWluIC0gbWluaW11bU1heGltdW0oYi51bml0cywgXCJyZW50XCIpLm1pbik7XG4gICAgaWYgKFNvcnRGaWVsZHNbc29ydEJ5XS5zb3J0RmllbGQgPT09IFwibWluUmF0ZVwiICYmIFNvcnRGaWVsZHNbc29ydEJ5XS5vcmRlciA9PT0gXCJhc2NcIikge1xuICAgICAgICByZXR1cm4gbWluUmF0ZVNvcnRlZFxuICAgIH1cbiAgICByZXR1cm4gXy5vcmRlckJ5KG1pblJhdGVTb3J0ZWQsIFNvcnRGaWVsZHNbc29ydEJ5XS5zb3J0RmllbGQsIFNvcnRGaWVsZHNbc29ydEJ5XS5vcmRlcik7XG59O1xuXG5cbmV4cG9ydCBjb25zdCBmaWx0ZXJzRnJvbSA9IChmbG9vcnBsYW5zOiBGbG9vcnBsYW5DYXJkRGF0YVtdKTogRmxvb3JwbGFuRmlsdGVycyA9PiB7XG5cbiAgICAgICAgY29uc3QgYmVkcm9vbUZpbHRlcnMgPSBuZXcgU2V0PG51bWJlcj4oKTtcbiAgICAgICAgY29uc3QgYXZhaWxhYmlsaXR5RmlsdGVycyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICAgICAgICBjb25zdCBzdHlsZUZpbHRlcnMgPSBuZXcgU2V0PEZsb29ycGxhblN0eWxlPigpO1xuXG4gICAgICAgIGF2YWlsYWJpbGl0eUZpbHRlcnMuYWRkKEFWQUlMQUJMRV9OT1cpO1xuICAgICAgICBmbG9vcnBsYW5zLmZvckVhY2goZmxvb3JwbGFuID0+IHtcbiAgICAgICAgICAgICAgICBiZWRyb29tRmlsdGVycy5hZGQoZmxvb3JwbGFuLmJlZHJvb20pO1xuICAgICAgICAgICAgICAgIHN0eWxlRmlsdGVycy5hZGQoZmxvb3JwbGFuLnN0eWxlKTtcblxuICAgICAgICAgICAgICAgIGZsb29ycGxhbi51bml0cy5mb3JFYWNoKCh1bml0KSA9PiB7XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaXNVbml0QXZhaWxhYmxlTm93ID0gaXNBdmFpbGFibGVOb3cobW9tZW50KHVuaXQubW92ZUluRGF0ZSkpO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmICh1bml0Lm1vdmVJbkRhdGUgJiYgaXNVbml0QXZhaWxhYmxlTm93KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodW5pdC5hdmFpbGFiaWxpdHlFeHRlbnNpb25Nb250aHMgJiYgdW5pdC5hdmFpbGFiaWxpdHlFeHRlbnNpb25Nb250aHMgPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDE7IGkgPD0gdW5pdC5hdmFpbGFiaWxpdHlFeHRlbnNpb25Nb250aHM7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgZXh0ZW5zaW9uRGF0ZSA9IG1vbWVudCgpLmFkZChpLCAnbW9udGgnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXZhaWxhYmlsaXR5RmlsdGVycy5hZGQoZXh0ZW5zaW9uRGF0ZS5mb3JtYXQoTU9OVEhfWUVBUl9GT1JNQVQpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKHVuaXQubW92ZUluRGF0ZSAmJiAhaXNVbml0QXZhaWxhYmxlTm93ICYmIGlzRGF0ZVdpdGhpblR3ZWx2ZU1vbnRocyh1bml0Lm1vdmVJbkRhdGUpKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGF2YWlsYWJpbGl0eUZpbHRlcnMuYWRkKGRhdGVUb01vbnRoWWVhcih1bml0Lm1vdmVJbkRhdGUpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh1bml0LmF2YWlsYWJpbGl0eUV4dGVuc2lvbk1vbnRocyAmJiB1bml0LmF2YWlsYWJpbGl0eUV4dGVuc2lvbk1vbnRocyA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMTsgaSA8PSB1bml0LmF2YWlsYWJpbGl0eUV4dGVuc2lvbk1vbnRoczsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBleHRlbnNpb25EYXRlID0gZGF0ZVRvTW9tZW50KHVuaXQubW92ZUluRGF0ZSkuYWRkKGksICdtb250aCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdmFpbGFiaWxpdHlGaWx0ZXJzLmFkZChleHRlbnNpb25EYXRlLmZvcm1hdChNT05USF9ZRUFSX0ZPUk1BVCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBiZWRyb29tOiBiZWRyb29tRmlsdGVycyxcbiAgICAgICAgICAgIGF2YWlsYWJpbGl0eTogYXZhaWxhYmlsaXR5RmlsdGVycyxcbiAgICAgICAgICAgIHN0eWxlOiBzdHlsZUZpbHRlcnNcbiAgICAgICAgfVxuICAgIH1cbjtcblxuXG5leHBvcnQgY29uc3QgZ2V0RmVhdHVyZWRGbG9vcnBsYW5zID0gYXN5bmMgKCk6IFByb21pc2U8Rmxvb3JwbGFuU3BvdGxpZ2h0W10+ID0+IHtcblxuICAgIGxldCByZXNwb25zZSA9IGF3YWl0IGdldChcImZsb29ycGxhbnM/cHJvamVjdGlvbj1zcG90bGlnaHQmc2l6ZT0yMDBcIik7XG4gICAgcmV0dXJuIGF3YWl0IHJlc3BvbnNlLmRhdGEuX2VtYmVkZGVkLmZsb29ycGxhbnMuZmlsdGVyKChmbG9vcnBsYW46IEZsb29ycGxhblNwb3RsaWdodCkgPT4gZmxvb3JwbGFuLmZlYXR1cmVkICYmIGZsb29ycGxhbi5wcm9wZXJ0eS5hY3RpdmUpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEFsbEFjdGl2ZUZsb29ycGxhbnMgPSBhc3luYyAoKTogUHJvbWlzZTxGbG9vcnBsYW5EZXRhaWxzW10+ID0+IHtcblxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZ2V0KFwiZmxvb3JwbGFucz9wcm9qZWN0aW9uPWRldGFpbHMmc2l6ZT0yMDBcIik7XG4gICAgcmV0dXJuIHJlc3BvbnNlLmRhdGEuX2VtYmVkZGVkLmZsb29ycGxhbnNcbiAgICAgICAgLmZpbHRlcigoZmxvb3JwbGFuOiBGbG9vcnBsYW4pID0+IGZsb29ycGxhbi5hY3RpdmUpXG4gICAgICAgIC5maWx0ZXIoKGZsb29ycGxhbl8xOiBGbG9vcnBsYW4pID0+IGZsb29ycGxhbl8xLnN0eWxlICE9PSBcIkdBUkFHRVwiKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRGbG9vcnBsYW4gPSAoZmxvb3JwbGFuSWQ6IHN0cmluZyk6IFByb21pc2U8Rmxvb3JwbGFuPiA9PlxuICAgIGdldChcImZsb29ycGxhbnMvXCIgKyBmbG9vcnBsYW5JZCArIFwiP3Byb2plY3Rpb249d2l0aElkXCIpLnRoZW4ocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSk7XG5cbmV4cG9ydCBjb25zdCBnZXRTaW1pbGFyRmxvb3JwbGFucyA9IChmbG9vcnBsYW5JZDogc3RyaW5nKTogUHJvbWlzZTxTaW1pbGFyRmxvb3JwbGFuW10+ID0+XG4gICAgZ2V0KFwic2ltaWxhckZsb29ycGxhbnMvc2VhcmNoL2J5Rmxvb3JwbGFuSWQ/cHJvamVjdGlvbj13aXRoSWQmZmxvb3JwbGFuSWQ9XCIgKyBmbG9vcnBsYW5JZCkudGhlbihyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhLl9lbWJlZGRlZC5zaW1pbGFyRmxvb3JwbGFucyk7XG5cbmV4cG9ydCBjb25zdCBnZXRGbG9vcnBsYW5WYXJpYXRpb25zID0gKGZsb29ycGxhbklkOiBzdHJpbmcpOiBQcm9taXNlPEZsb29ycGxhblZhcmlhdGlvbltdPiA9PlxuICAgIGdldChcImZsb29ycGxhblZhcmlhdGlvbnMvc2VhcmNoL2J5Rmxvb3JwbGFuSWQ/cHJvamVjdGlvbj13aXRoSWQmZmxvb3JwbGFuSWQ9XCIgKyBmbG9vcnBsYW5JZCkudGhlbihyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhLl9lbWJlZGRlZC5mbG9vcnBsYW5WYXJpYXRpb25zKTtcblxuZXhwb3J0IGNvbnN0IGlzRmxvb3JwbGFuQXZhaWxhYmxlID0gKGZsb29ycGxhbjogRmxvb3JwbGFuIHwgRmxvb3JwbGFuQ2FyZERhdGEpOiBib29sZWFuID0+IGZsb29ycGxhbi51bml0cy5zb21lKCh1bml0KSA9PiB0b2RheS5pc0FmdGVyKGRhdGVUb01vbWVudCh1bml0Lm1vdmVJbkRhdGUpKSk7XG5leHBvcnQgY29uc3QgZ2V0VGVzdGltb25pYWxzID0gKGZsb29ycGxhbklkOiBzdHJpbmcpOiBQcm9taXNlPFRlc3RpbW9uaWFsW10+ID0+XG4gICAgZ2V0KFwidGVzdGltb25pYWxzL3NlYXJjaC9ieUZsb29ycGxhbklkP3Byb2plY3Rpb249d2l0aElkJmZsb29ycGxhbklkPVwiICsgZmxvb3JwbGFuSWQpLnRoZW4ocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YS5fZW1iZWRkZWQudGVzdGltb25pYWxzKTtcblxuZXhwb3J0IGNvbnN0IGdldFdlYlNwZWNpYWxzID0gKGZsb29ycGxhbklkOiBzdHJpbmcpOiBQcm9taXNlPFdlYlNwZWNpYWxbXT4gPT5cbiAgICBnZXQoXCJ3ZWJTcGVjaWFscy9zZWFyY2gvYnlGbG9vcnBsYW5JZD9wcm9qZWN0aW9uPXdpdGhJZCZmbG9vcnBsYW5JZD1cIiArIGZsb29ycGxhbklkKS50aGVuKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEuX2VtYmVkZGVkLndlYlNwZWNpYWxzKTtcblxuZXhwb3J0IGNvbnN0IHBlcm1pdHRlZFBldHMgPSAoZmxvb3JwbGFuOiBGbG9vcnBsYW4pOiBzdHJpbmdbXSA9PiB7XG5cbiAgICBjb25zdCB1bml0ID0gdW5pdFdpdGhNb3N0QWxsb3dlZFBldChbLi4uZmxvb3JwbGFuLnVuaXRzXSk7XG5cbiAgICBzd2l0Y2ggKHVuaXQ/LmFsbG93ZWRQZXQpIHtcbiAgICAgICAgY2FzZSBQZXQuTEFSR0VfRE9HX1NNQUxMX0RPR19DQVQ6XG4gICAgICAgICAgICByZXR1cm4gWydMYXJnZSBEb2cnLCAnU21hbGwgRG9nJywgJ0NhdCddO1xuICAgICAgICBjYXNlIFBldC5TTUFMTF9ET0dfQ0FUOlxuICAgICAgICAgICAgcmV0dXJuIFsnU21hbGwgRG9nJywgJ0NhdCddO1xuICAgICAgICBjYXNlIFBldC5DQVQ6XG4gICAgICAgICAgICByZXR1cm4gWydDYXQnXTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiBbJ05vbmUnXTtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBub3RQZXJtaXR0ZWRQZXRzID0gKGZsb29ycGxhbjogRmxvb3JwbGFuKTogc3RyaW5nW10gPT4ge1xuXG4gICAgY29uc3QgdW5pdCA9IHVuaXRXaXRoTW9zdEFsbG93ZWRQZXQoWy4uLmZsb29ycGxhbi51bml0c10pO1xuXG4gICAgc3dpdGNoICh1bml0Py5hbGxvd2VkUGV0KSB7XG4gICAgICAgIGNhc2UgUGV0LkxBUkdFX0RPR19TTUFMTF9ET0dfQ0FUOlxuICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICBjYXNlIFBldC5TTUFMTF9ET0dfQ0FUOlxuICAgICAgICAgICAgcmV0dXJuIFsnTGFyZ2UgRG9nJ107XG4gICAgICAgIGNhc2UgUGV0LkNBVDpcbiAgICAgICAgICAgIHJldHVybiBbJ0xhcmdlIERvZycsICdTbWFsbCBEb2cnXTtcbiAgICAgICAgY2FzZSBQZXQuTk9fUEVUOlxuICAgICAgICAgICAgcmV0dXJuIFsnTGFyZ2UgRG9nJywgJ1NtYWxsIERvZycsICdDYXQnXTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICB9XG59XG5leHBvcnQgY29uc3QgcGV0UG9saWN5ID0gKGZsb29ycGxhbjogRmxvb3JwbGFuKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcbiAgICBjb25zdCB1bml0ID0gdW5pdFdpdGhNb3N0QWxsb3dlZFBldChbLi4uZmxvb3JwbGFuLnVuaXRzXSk7XG4gICAgcmV0dXJuIHVuaXQ/LnBldFBvbGljeTtcbn1cbmNvbnN0IHVuaXRXaXRoTW9zdEFsbG93ZWRQZXQgPSAodW5pdHM6IFVuaXRbXSk6IFVuaXQgfCB1bmRlZmluZWQgPT4ge1xuICAgIGNvbnN0IHBldE9yZGluYWwgPSAocGV0OiBQZXQpID0+IE9iamVjdC5rZXlzKFBldCkuaW5kZXhPZihwZXQpO1xuICAgIHJldHVybiB1bml0cy5zb3J0KChhLCBiKSA9PiBwZXRPcmRpbmFsKGIuYWxsb3dlZFBldCkgLSBwZXRPcmRpbmFsKGEuYWxsb3dlZFBldCkpLnBvcCgpO1xufVxuXG5leHBvcnQgY29uc3QgZmxvb3JwbGFuQWRkcmVzcyA9IChjdXJyZW50Rmxvb3JwbGFuOiBGbG9vcnBsYW4pOiBGbG9vcnBsYW5BZGRyZXNzID0+IHtcbiAgICBjb25zdCBhZGRyZXNzOiBGbG9vcnBsYW5BZGRyZXNzID0ge2FkZHJlc3M6IFwiXCIsIGNpdHk6IHJlbmFpc3NhbmNlLmNpdHksIHN0YXRlOiByZW5haXNzYW5jZS5zdGF0ZSwgemlwY29kZTogXCJcIn07XG4gICAgaWYgKGN1cnJlbnRGbG9vcnBsYW4udW5pdHMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5hZGRyZXNzLCBhZGRyZXNzOiBjdXJyZW50Rmxvb3JwbGFuLnVuaXRzWzBdLmFkZHJlc3MsXG4gICAgICAgICAgICB6aXBjb2RlOiBjdXJyZW50Rmxvb3JwbGFuLnVuaXRzWzBdLnppcGNvZGVcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgICAuLi5hZGRyZXNzLCBhZGRyZXNzOiBjdXJyZW50Rmxvb3JwbGFuLnByb3BlcnR5LmFkZHJlc3MsXG4gICAgICAgIHppcGNvZGU6IGN1cnJlbnRGbG9vcnBsYW4ucHJvcGVydHkuemlwY29kZVxuICAgIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBGbG9vcnBsYW5BZGRyZXNzIHtcbiAgICBhZGRyZXNzOiBzdHJpbmc7XG4gICAgY2l0eTogc3RyaW5nO1xuICAgIHN0YXRlOiBzdHJpbmc7XG4gICAgemlwY29kZTogc3RyaW5nO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxPQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBQyxpQkFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsT0FBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBWUEsSUFBQUcsTUFB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
|
|
@@ -97,7 +97,7 @@ const ShortTermFloorplanHero = _ref => {
|
|
|
97
97
|
setAssets(images);
|
|
98
98
|
setIsAssetsLoading(false);
|
|
99
99
|
}
|
|
100
|
-
}, [floorplan
|
|
100
|
+
}, [floorplan]);
|
|
101
101
|
const printFloorplanAddress = () => {
|
|
102
102
|
return floorplan.address + ", " + _RenaissanceData.renaissance.city + ", " + _RenaissanceData.renaissance.state + " " + floorplan.zipcode;
|
|
103
103
|
};
|
|
@@ -228,4 +228,4 @@ const ShortTermFloorplanHero = _ref => {
|
|
|
228
228
|
}))))));
|
|
229
229
|
};
|
|
230
230
|
exports.ShortTermFloorplanHero = ShortTermFloorplanHero;
|
|
231
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfbXVuY2hlclVpIiwiX1V0aWxzIiwiX0Fzc2V0U2VydmljZSIsIl9SZW5haXNzYW5jZURhdGEiLCJfR3JpZEdhbGxlcnlTa2VsZXRvbiIsIl9HYWxsZXJ5TW9kYWwiLCJfR3JpZEdhbGxlcnlNb2JpbGUiLCJfVmlkZW9Ub3VycyIsIl9WaXJ0dWFsVG91ciIsIl9IZXJvQmFkZ2VTdGF0cyIsIl9Bc3NldE1vZGFsIiwiX0dyaWRHYWxsZXJ5Q292ZXIiLCJfR3JpZEdhbGxlcnkiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJTaG9ydFRlcm1GbG9vcnBsYW5IZXJvIiwiX3JlZiIsImZsb29ycGxhbiIsImNvbnRhY3RDbGlja0hhbmRsZXIiLCJhcHBseUNsaWNrSGFuZGxlciIsImhhbmRsZVJlZlRvTWFwIiwid2ViU3BlY2lhbHMiLCJhc3NldHMiLCJzZXRBc3NldHMiLCJ1c2VTdGF0ZSIsImlzQXNzZXRzTG9hZGluZyIsInNldElzQXNzZXRzTG9hZGluZyIsInZpZGVvVG91cnMiLCJzZXRWaWRlb1RvdXJzIiwidmlydHVhbFRvdXIiLCJzZXRWaXJ0dWFsVG91ciIsInVuZGVmaW5lZCIsInZpZGVvVG91ckltYWdlQmFja2dyb3VuZCIsInNldFZpZGVvVG91ckltYWdlQmFja2dyb3VuZCIsInZpcnR1YWxUb3VySW1hZ2VCYWNrZ3JvdW5kIiwic2V0VmlydHVhbFRvdXJJbWFnZUJhY2tncm91bmQiLCJzaG93Rmxvb3JwbGFuTW9kYWwiLCJzZXRTaG93Rmxvb3JwbGFuTW9kYWwiLCJ0b3RhbFBhZ2VzIiwic2V0VG90YWxQYWdlcyIsInRvdXJzQ291bnQiLCJzZXRUb3Vyc0NvdW50IiwiY3VycmVudFZpZXciLCJzZXRDdXJyZW50VmlldyIsImFzc2V0SW5Gb2N1cyIsInNldEFzc2V0SW5Gb2N1cyIsImFzc2V0SW5kZXgiLCJzZXRBc3NldEluZGV4Iiwic2hvd01vZGFsIiwic2V0U2hvd01vZGFsIiwiZmlyc3RQYWdlSW1hZ2VDb3VudCIsInNldEZpcnN0UGFnZUltYWdlQ291bnQiLCJHUklEX1NJWkUiLCJpbWFnZUNsaWNrZWRIYW5kbGVyIiwiaW1hZ2UiLCJmaW5kSW5kZXgiLCJ2YWx1ZSIsImlkIiwibW9kYWxDbG9zZUhhbmRsZXIiLCJ1c2VFZmZlY3QiLCJpbWFnZXMiLCJwdXNoIiwiZXh0cmFjdElkRnJvbSIsImNvdmVySW1hZ2UiLCJuYW1lIiwiZmlyc3RQYWdlQ291bnQiLCJwaG90b3NGb2xkZXJJZCIsImdldEFzc2V0c0Zyb20iLCJ0aGVuIiwiZ2FsbGVyeUFzc2V0cyIsImxlbmd0aCIsImJhY2tncm91bmRJbWFnZVVybCIsImFzc2V0VXJsRnJvbSIsInByb3BlcnR5IiwidmlydHVhbFRvdXJMaW5rIiwidG91ckxpbmtzIiwidmlkZW9Ub3VyTGluayIsInRocmVlU2l4dHlWaWRlb1RvdXJMaW5rIiwib3RoZXJBc3NldENvdW50cyIsImZpbmFsbHkiLCJwYWdlcyIsInJlbWFpbmluZyIsIk1hdGgiLCJ0cnVuYyIsInByaW50Rmxvb3JwbGFuQWRkcmVzcyIsImFkZHJlc3MiLCJyZW5haXNzYW5jZSIsImNpdHkiLCJzdGF0ZSIsInppcGNvZGUiLCJpc0ZpcnN0U2xpZGVyUGFnZSIsInNsaWRlSW5kZXgiLCJhc3NldHNUb1Nob3ciLCJjb25zb2xlIiwibG9nIiwic2xpY2UiLCJzdGFydEluZGV4IiwiZW5kSW5kZXgiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwiR3JpZEdhbGxlcnlTa2VsZXRvbiIsIkZyYWdtZW50IiwiR2FsbGVyeU1vZGFsIiwicHJvcGVydHlJZCIsIkl0ZW1TbGlkZXIiLCJzbGlkZXJJdGVtcyIsIkFycmF5IiwibWFwIiwieCIsIkdyaWRHYWxsZXJ5Q292ZXIiLCJmbG9vcnBsYW5BZGRyZXNzIiwiaGVyb0ltYWdlIiwiaXNBdmFpbGFibGVOb3ciLCJzaG93T25seUhlcm9JbWFnZSIsIkdyaWRHYWxsZXJ5IiwiR3JpZEdhbGxlcnlNb2JpbGUiLCJWaWRlb1RvdXJzIiwidmlkZW9Ub3VyVXJscyIsIlZpcnR1YWxUb3VyIiwidmlydHVhbFRvdXJVcmwiLCJIZXJvQmFkZ2VTdGF0cyIsInRvdGFsQXNzZXRzIiwiQXNzZXRNb2RhbCIsImFzc2V0VXJsIiwicGhvdG8iLCJhc3NldFRpdGxlIiwic2hvcnRUZXJtIiwicHJpY2VGb3I0YW5kTW9yZU1vbnRocyIsInByaWNlRm9yNVRvMTNEYXlzIiwiQnV0dG9uIiwic2l6ZSIsIm9uQ2xpY2siLCJJY29uIiwib3JpZW50YXRpb24iLCJidXNSb3V0ZXMiLCJidXNSb3V0ZSIsImluZGV4Iiwia2V5IiwiaHJlZiIsImJ1c1JvdXRlTGluayIsInRhcmdldCIsInJlbCIsInZhcmlhbnQiLCJTaGFyZUJ1dHRvbiIsInRpdGxlIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zaG9ydC10ZXJtL1Nob3J0VGVybUZsb29ycGxhbkhlcm8udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwge3VzZUVmZmVjdCwgdXNlU3RhdGV9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFwiLi9hc3NldHMvU2hvcnRUZXJtRmxvb3JwbGFuSGVyby5zY3NzXCI7XG5pbXBvcnQge0J1dHRvbiwgSWNvbiwgSXRlbVNsaWRlciwgU2hhcmVCdXR0b259IGZyb20gXCJAY29udGVudG11bmNoL211bmNoZXItdWlcIjtcbmltcG9ydCB7Rmxvb3JwbGFuU2hvcnRUZXJtfSBmcm9tIFwiLi9kYXRhL1Nob3J0VGVybVwiO1xuaW1wb3J0IHtBc3NldH0gZnJvbSBcIi4uL2Fzc2V0L2RhdGEvQXNzZXRcIjtcbmltcG9ydCB7ZXh0cmFjdElkRnJvbX0gZnJvbSBcIi4uL3V0aWxzL1V0aWxzXCI7XG5pbXBvcnQge2Fzc2V0VXJsRnJvbSwgZ2V0QXNzZXRzRnJvbX0gZnJvbSBcIi4uL2Fzc2V0L3NlcnZpY2UvQXNzZXRTZXJ2aWNlXCI7XG5pbXBvcnQge1dlYlNwZWNpYWx9IGZyb20gXCIuLi9mbG9vcnBsYW4vZGF0YS9GbG9vcnBsYW5cIjtcbmltcG9ydCB7cmVuYWlzc2FuY2V9IGZyb20gXCIuLi9kYXRhL1JlbmFpc3NhbmNlRGF0YVwiO1xuaW1wb3J0IHtHcmlkR2FsbGVyeVNrZWxldG9ufSBmcm9tIFwiLi4vZ2FsbGVyeS9HcmlkR2FsbGVyeVNrZWxldG9uXCI7XG5pbXBvcnQge0dhbGxlcnlNb2RhbH0gZnJvbSBcIi4uL2dhbGxlcnkvR2FsbGVyeU1vZGFsXCI7XG5pbXBvcnQge0dyaWRHYWxsZXJ5TW9iaWxlfSBmcm9tIFwiLi4vZ2FsbGVyeS9HcmlkR2FsbGVyeU1vYmlsZVwiO1xuaW1wb3J0IHtWaWRlb1RvdXJzfSBmcm9tIFwiLi4vZ2FsbGVyeS9WaWRlb1RvdXJzXCI7XG5pbXBvcnQge1ZpcnR1YWxUb3VyfSBmcm9tIFwiLi4vZ2FsbGVyeS9WaXJ0dWFsVG91clwiO1xuaW1wb3J0IHtIZXJvQmFkZ2VTdGF0c30gZnJvbSBcIi4uL2Zsb29ycGxhbi9zZWN0aW9uL0hlcm9CYWRnZVN0YXRzXCI7XG5pbXBvcnQge0Fzc2V0TW9kYWx9IGZyb20gXCIuLi9hc3NldC9Bc3NldE1vZGFsXCI7XG5pbXBvcnQge0dyaWRHYWxsZXJ5Q292ZXIsIFRvdXJUeXBlfSBmcm9tIFwiLi4vZ2FsbGVyeS9HcmlkR2FsbGVyeUNvdmVyXCI7XG5pbXBvcnQge0dyaWRHYWxsZXJ5fSBmcm9tIFwiLi4vZ2FsbGVyeS9HcmlkR2FsbGVyeVwiO1xuXG5leHBvcnQgY29uc3QgU2hvcnRUZXJtRmxvb3JwbGFuSGVybzogUmVhY3QuRkM8U2hvcnRUZXJtRmxvb3JwbGFuSGVyb1Byb3BzPiA9IChcbiAgICB7Zmxvb3JwbGFuLCBjb250YWN0Q2xpY2tIYW5kbGVyLCBhcHBseUNsaWNrSGFuZGxlciwgaGFuZGxlUmVmVG9NYXAsIHdlYlNwZWNpYWxzfSkgPT4ge1xuICAgIGNvbnN0IFthc3NldHMsIHNldEFzc2V0c10gPSB1c2VTdGF0ZTxBc3NldFtdPihbXSk7XG4gICAgY29uc3QgW2lzQXNzZXRzTG9hZGluZywgc2V0SXNBc3NldHNMb2FkaW5nXSA9IHVzZVN0YXRlKHRydWUpO1xuICAgIGNvbnN0IFt2aWRlb1RvdXJzLCBzZXRWaWRlb1RvdXJzXSA9IHVzZVN0YXRlPHN0cmluZ1tdPihbXSk7XG4gICAgY29uc3QgW3ZpcnR1YWxUb3VyLCBzZXRWaXJ0dWFsVG91cl0gPSB1c2VTdGF0ZTxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbiAgICBjb25zdCBbdmlkZW9Ub3VySW1hZ2VCYWNrZ3JvdW5kLCBzZXRWaWRlb1RvdXJJbWFnZUJhY2tncm91bmRdID0gdXNlU3RhdGU8c3RyaW5nPigpO1xuICAgIGNvbnN0IFt2aXJ0dWFsVG91ckltYWdlQmFja2dyb3VuZCwgc2V0VmlydHVhbFRvdXJJbWFnZUJhY2tncm91bmRdID0gdXNlU3RhdGU8c3RyaW5nPigpO1xuXG4gICAgY29uc3QgW3Nob3dGbG9vcnBsYW5Nb2RhbCwgc2V0U2hvd0Zsb29ycGxhbk1vZGFsXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCBbdG90YWxQYWdlcywgc2V0VG90YWxQYWdlc10gPSB1c2VTdGF0ZSgxKTtcbiAgICBjb25zdCBbdG91cnNDb3VudCwgc2V0VG91cnNDb3VudF0gPSB1c2VTdGF0ZSgxKTtcbiAgICBjb25zdCBbY3VycmVudFZpZXcsIHNldEN1cnJlbnRWaWV3XSA9IHVzZVN0YXRlPFwicGhvdG9cIiB8IFRvdXJUeXBlPihcInBob3RvXCIpO1xuICAgIGNvbnN0IFthc3NldEluRm9jdXMsIHNldEFzc2V0SW5Gb2N1c10gPSB1c2VTdGF0ZTxBc3NldD4oe30gYXMgQXNzZXQpO1xuICAgIGNvbnN0IFthc3NldEluZGV4LCBzZXRBc3NldEluZGV4XSA9IHVzZVN0YXRlKDApO1xuICAgIGNvbnN0IFtzaG93TW9kYWwsIHNldFNob3dNb2RhbF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgW2ZpcnN0UGFnZUltYWdlQ291bnQsIHNldEZpcnN0UGFnZUltYWdlQ291bnRdID0gdXNlU3RhdGUoNCk7XG5cbiAgICBjb25zdCBHUklEX1NJWkUgPSA4O1xuICAgIGNvbnN0IGltYWdlQ2xpY2tlZEhhbmRsZXIgPSAoaW1hZ2U6IEFzc2V0KSA9PiB7XG4gICAgICAgIHNldFNob3dNb2RhbCh0cnVlKTtcbiAgICAgICAgc2V0QXNzZXRJbkZvY3VzKGltYWdlKTtcbiAgICAgICAgc2V0QXNzZXRJbmRleChhc3NldHMuZmluZEluZGV4KHZhbHVlID0+IHZhbHVlLmlkID09PSBpbWFnZS5pZCkpO1xuICAgIH07XG4gICAgY29uc3QgbW9kYWxDbG9zZUhhbmRsZXIgPSAoKSA9PiB7XG4gICAgICAgIHNldFNob3dNb2RhbChmYWxzZSk7XG4gICAgICAgIHNldEFzc2V0SW5Gb2N1cyh7fSBhcyBBc3NldCk7XG4gICAgfTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBjb25zdCBpbWFnZXM6IEFzc2V0W10gPSBbXTtcbiAgICAgICAgaW1hZ2VzLnB1c2goe2lkOiBleHRyYWN0SWRGcm9tKGZsb29ycGxhbi5jb3ZlckltYWdlKSwgbmFtZTogXCJjb3ZlciBpbWFnZVwifSBhcyBBc3NldCk7XG5cbiAgICAgICAgbGV0IGZpcnN0UGFnZUNvdW50ID0gZmlyc3RQYWdlSW1hZ2VDb3VudDtcblxuICAgICAgICBpZiAoZmxvb3JwbGFuLnBob3Rvc0ZvbGRlcklkKSB7XG4gICAgICAgICAgICBnZXRBc3NldHNGcm9tKGZsb29ycGxhbi5waG90b3NGb2xkZXJJZCkudGhlbihnYWxsZXJ5QXNzZXRzID0+IHtcblxuICAgICAgICAgICAgICAgIGltYWdlcy5wdXNoKC4uLmdhbGxlcnlBc3NldHMpO1xuXG4gICAgICAgICAgICAgICAgaWYgKGltYWdlcy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGJhY2tncm91bmRJbWFnZVVybCA9IGFzc2V0VXJsRnJvbShpbWFnZXNbMV0uaWQsIGZsb29ycGxhbi5wcm9wZXJ0eS5pZCk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChmbG9vcnBsYW4udmlydHVhbFRvdXJMaW5rKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRWaXJ0dWFsVG91cihmbG9vcnBsYW4udmlydHVhbFRvdXJMaW5rKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldFZpcnR1YWxUb3VySW1hZ2VCYWNrZ3JvdW5kKGJhY2tncm91bmRJbWFnZVVybCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaXJzdFBhZ2VDb3VudCAtPSAxO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdG91ckxpbmtzID0gW107XG4gICAgICAgICAgICAgICAgICAgIGlmIChmbG9vcnBsYW4udmlkZW9Ub3VyTGluaylcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvdXJMaW5rcy5wdXNoKGZsb29ycGxhbi52aWRlb1RvdXJMaW5rKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZsb29ycGxhbi50aHJlZVNpeHR5VmlkZW9Ub3VyTGluaylcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvdXJMaW5rcy5wdXNoKGZsb29ycGxhbi50aHJlZVNpeHR5VmlkZW9Ub3VyTGluayk7XG4gICAgICAgICAgICAgICAgICAgIHNldFZpZGVvVG91cnModG91ckxpbmtzKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRvdXJMaW5rcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRWaWRlb1RvdXJJbWFnZUJhY2tncm91bmQoYmFja2dyb3VuZEltYWdlVXJsKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpcnN0UGFnZUNvdW50IC09IDE7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBsZXQgb3RoZXJBc3NldENvdW50cyA9ICh0b3VyTGlua3MubGVuZ3RoID4gMCA/IDEgOiAwKSArIChmbG9vcnBsYW4udmlydHVhbFRvdXJMaW5rID8gMSA6IDApO1xuICAgICAgICAgICAgICAgICAgICBzZXRUb3Vyc0NvdW50KG90aGVyQXNzZXRDb3VudHMpO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9KS5maW5hbGx5KCgpID0+IHtcblxuICAgICAgICAgICAgICAgIGxldCBwYWdlcyA9IDE7XG5cbiAgICAgICAgICAgICAgICBpZiAoaW1hZ2VzLmxlbmd0aCA+IGZpcnN0UGFnZUNvdW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlbWFpbmluZyA9IGltYWdlcy5sZW5ndGggLSBmaXJzdFBhZ2VDb3VudDtcbiAgICAgICAgICAgICAgICAgICAgcGFnZXMgKz0gcmVtYWluaW5nIC8gODtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlbWFpbmluZyAlIDggPiAwKVxuICAgICAgICAgICAgICAgICAgICAgICAgcGFnZXMgKz0gMTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBzZXRUb3RhbFBhZ2VzKE1hdGgudHJ1bmMocGFnZXMpKTtcbiAgICAgICAgICAgICAgICBzZXRGaXJzdFBhZ2VJbWFnZUNvdW50KGZpcnN0UGFnZUNvdW50KTtcbiAgICAgICAgICAgICAgICBzZXRBc3NldHMoaW1hZ2VzKTtcbiAgICAgICAgICAgICAgICBzZXRJc0Fzc2V0c0xvYWRpbmcoZmFsc2UpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzZXRBc3NldHMoaW1hZ2VzKTtcbiAgICAgICAgICAgIHNldElzQXNzZXRzTG9hZGluZyhmYWxzZSk7XG4gICAgICAgIH1cblxuICAgIH0sIFtmbG9vcnBsYW4sZmlyc3RQYWdlSW1hZ2VDb3VudF0pXG5cblxuICAgIGNvbnN0IHByaW50Rmxvb3JwbGFuQWRkcmVzcyA9ICgpID0+IHtcblxuICAgICAgICByZXR1cm4gZmxvb3JwbGFuLmFkZHJlc3MgKyBcIiwgXCIgKyByZW5haXNzYW5jZS5jaXR5ICsgXCIsIFwiICsgcmVuYWlzc2FuY2Uuc3RhdGUgKyBcIiBcIiArIGZsb29ycGxhbi56aXBjb2RlO1xuICAgIH1cbiAgICBjb25zdCBpc0ZpcnN0U2xpZGVyUGFnZSA9IChzbGlkZUluZGV4OiBudW1iZXIpID0+IHNsaWRlSW5kZXggPT09IDA7XG5cbiAgICBjb25zdCBhc3NldHNUb1Nob3cgPSAoc2xpZGVJbmRleDogbnVtYmVyKSA9PiB7XG5cbiAgICAgICAgaWYgKGlzRmlyc3RTbGlkZXJQYWdlKHNsaWRlSW5kZXgpKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcImZpcnN0UGFnZUltYWdlQ291bnRcIiwgZmlyc3RQYWdlSW1hZ2VDb3VudCk7XG4gICAgICAgICAgICByZXR1cm4gYXNzZXRzLnNsaWNlKDAsIGZpcnN0UGFnZUltYWdlQ291bnQgLSAxKTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgY29uc3Qgc3RhcnRJbmRleCA9IGZpcnN0UGFnZUltYWdlQ291bnQgLSAxICsgKEdSSURfU0laRSAqIChzbGlkZUluZGV4IC0gMSkpXG4gICAgICAgIGNvbnN0IGVuZEluZGV4ID0gZmlyc3RQYWdlSW1hZ2VDb3VudCAtIDEgKyAoR1JJRF9TSVpFICogc2xpZGVJbmRleClcblxuICAgICAgICByZXR1cm4gYXNzZXRzLnNsaWNlKHN0YXJ0SW5kZXgsIGVuZEluZGV4ID4gYXNzZXRzLmxlbmd0aCA/IGFzc2V0cy5sZW5ndGggOiBlbmRJbmRleCk7XG4gICAgfTtcbiAgICByZXR1cm4gKFxuICAgICAgICA8c2VjdGlvbiBjbGFzc05hbWU9XCJzZWN0aW9uLXNob3J0LXRlcm0tZmxvb3JwbGFuLS1oZXJvXCI+XG4gICAgICAgICAgICB7aXNBc3NldHNMb2FkaW5nID8gPEdyaWRHYWxsZXJ5U2tlbGV0b24vPiA6XG4gICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJnYWxsZXJ5LWhlcm9cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxHYWxsZXJ5TW9kYWwgYXNzZXRzPXthc3NldHN9IGFzc2V0SW5Gb2N1cz17YXNzZXRJbkZvY3VzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRBc3NldEluRm9jdXM9e3NldEFzc2V0SW5Gb2N1c30gc2hvd01vZGFsPXtzaG93TW9kYWx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFzc2V0SW5kZXg9e2Fzc2V0SW5kZXh9IHNldEFzc2V0SW5kZXg9e3NldEFzc2V0SW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGFsQ2xvc2VIYW5kbGVyPXttb2RhbENsb3NlSGFuZGxlcn0gcHJvcGVydHlJZD17Zmxvb3JwbGFuLnByb3BlcnR5LmlkfS8+XG4gICAgICAgICAgICAgICAgICAgICAgICB7Y3VycmVudFZpZXcgPT09IFwicGhvdG9cIiA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJwaG90by12aWV3IG1haW5cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJdGVtU2xpZGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xpZGVySXRlbXM9e1suLi5BcnJheSh0b3RhbFBhZ2VzKV0ubWFwKCh4LCBpKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaSA9PT0gMCkgPyA8R3JpZEdhbGxlcnlDb3ZlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFzc2V0cz17YXNzZXRzVG9TaG93KGkpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb29ycGxhbkFkZHJlc3M9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkcmVzczogZmxvb3JwbGFuLmFkZHJlc3MsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNpdHk6IHJlbmFpc3NhbmNlLmNpdHksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlOiByZW5haXNzYW5jZS5zdGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgemlwY29kZTogZmxvb3JwbGFuLnppcGNvZGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnR5SWQ9e2Zsb29ycGxhbi5wcm9wZXJ0eS5pZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZXJvSW1hZ2U9e2Fzc2V0c1swXX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWFnZUNsaWNrZWRIYW5kbGVyPXtpbWFnZUNsaWNrZWRIYW5kbGVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdlYlNwZWNpYWxzPXt3ZWJTcGVjaWFsc31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0F2YWlsYWJsZU5vdz17ZmFsc2V9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0Q3VycmVudFZpZXc9e3NldEN1cnJlbnRWaWV3fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZGVvVG91ckltYWdlQmFja2dyb3VuZD17dmlkZW9Ub3VySW1hZ2VCYWNrZ3JvdW5kfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpcnR1YWxUb3VySW1hZ2VCYWNrZ3JvdW5kPXt2aXJ0dWFsVG91ckltYWdlQmFja2dyb3VuZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93T25seUhlcm9JbWFnZT17YXNzZXRzLmxlbmd0aCA9PT0gMX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+IDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxHcmlkR2FsbGVyeVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlQ2xpY2tlZEhhbmRsZXI9e2ltYWdlQ2xpY2tlZEhhbmRsZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydHlJZD17Zmxvb3JwbGFuLnByb3BlcnR5LmlkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFzc2V0cz17YXNzZXRzVG9TaG93KGkpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfS8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInBob3RvLXZpZXcgbW9iaWxlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8R3JpZEdhbGxlcnlNb2JpbGUgYXNzZXRzPXthc3NldHN9IHRvdXJzQ291bnQ9e3RvdXJzQ291bnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvb3JwbGFuQWRkcmVzcz17e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRyZXNzOiBmbG9vcnBsYW4uYWRkcmVzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2l0eTogcmVuYWlzc2FuY2UuY2l0eSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGU6IHJlbmFpc3NhbmNlLnN0YXRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB6aXBjb2RlOiBmbG9vcnBsYW4uemlwY29kZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlydHVhbFRvdXI9e3ZpcnR1YWxUb3VyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldEN1cnJlbnRWaWV3PXtzZXRDdXJyZW50Vmlld31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWFnZUNsaWNrZWRIYW5kbGVyPXtpbWFnZUNsaWNrZWRIYW5kbGVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdlYlNwZWNpYWxzPXt3ZWJTcGVjaWFsc31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0F2YWlsYWJsZU5vdz17ZmFsc2V9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydHlJZD17Zmxvb3JwbGFuLnByb3BlcnR5LmlkfS8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvPiA6IFwiXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAge2N1cnJlbnRWaWV3ID09PSBcIlZpZGVvIFRvdXJcIiA/IDxWaWRlb1RvdXJzIHZpZGVvVG91clVybHM9e3ZpZGVvVG91cnN9Lz4gOiBcIlwifVxuICAgICAgICAgICAgICAgICAgICAgICAge2N1cnJlbnRWaWV3ID09PSBcIlZpcnR1YWwgVG91clwiID8gPFZpcnR1YWxUb3VyIHZpcnR1YWxUb3VyVXJsPXt2aXJ0dWFsVG91cn0vPiA6IFwiXCJ9XG4gICAgICAgICAgICAgICAgICAgICAgICA8SGVyb0JhZGdlU3RhdHMgY3VycmVudFZpZXc9e2N1cnJlbnRWaWV3fSBzZXRDdXJyZW50Vmlldz17c2V0Q3VycmVudFZpZXd9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG90YWxBc3NldHM9e2Fzc2V0cz8ubGVuZ3RofSB2aWRlb1RvdXJzPXt2aWRlb1RvdXJzfSB2aXJ0dWFsVG91cj17dmlydHVhbFRvdXJ9Lz5cblxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8Lz5cblxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPEFzc2V0TW9kYWwgYXNzZXRVcmw9e2Zsb29ycGxhbi5waG90b30gYXNzZXRUaXRsZT1cIkZsb29ycGxhbiBpbWFnZVwiIHNob3dNb2RhbD17c2hvd0Zsb29ycGxhbk1vZGFsfVxuICAgICAgICAgICAgICAgICAgICAgICAgc2V0U2hvd01vZGFsPXtzZXRTaG93Rmxvb3JwbGFuTW9kYWx9IHByb3BlcnR5SWQ9e2Zsb29ycGxhbi5wcm9wZXJ0eS5pZH0vPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsb29ycGxhbi0tdHdvLWNvbHVtbnNcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbG9vcnBsYW4tY29sdW1uLWxlZnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxoMz57Zmxvb3JwbGFuLm5hbWV9PC9oMz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxoND4ke2Zsb29ycGxhbi5zaG9ydFRlcm0ucHJpY2VGb3I0YW5kTW9yZU1vbnRoc30gLVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7Zmxvb3JwbGFuLnNob3J0VGVybS5wcmljZUZvcjVUbzEzRGF5c30vRGF5PC9oND5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cImZsb29ycGxhbi0tZGVzY3JpcHRpb25cIj57cHJpbnRGbG9vcnBsYW5BZGRyZXNzKCl9PC9wPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsb29ycGxhbi0tZmVhdHVyZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uIHNpemU9XCJzbWFsbFwiIG9uQ2xpY2s9eygpID0+IHNldFNob3dGbG9vcnBsYW5Nb2RhbCh0cnVlKX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJY29uIG5hbWU9XCJtYXhcIiBvcmllbnRhdGlvbj1cInJpZ2h0XCI+Vmlld0Zsb29ycGxhbjwvSWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Jm5ic3A7Jm5ic3A7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbiBzaXplPVwic21hbGxcIiBvbkNsaWNrPXsoKSA9PiBoYW5kbGVSZWZUb01hcCgpfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEljb24gb3JpZW50YXRpb249XCJyaWdodFwiIG5hbWU9XCJtYXBcIj5WaWV3IG9uIE1hcDwvSWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Zmxvb3JwbGFuLnByb3BlcnR5LmJ1c1JvdXRlcy5sZW5ndGggPiAwID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+QnVzIFJvdXRlczombmJzcDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtmbG9vcnBsYW4ucHJvcGVydHkuYnVzUm91dGVzLm1hcCgoYnVzUm91dGUsIGluZGV4KSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGtleT17XCJidXMtcm91dGUtXCIgKyBpbmRleH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9e2J1c1JvdXRlLmJ1c1JvdXRlTGlua30gdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsPVwibm9yZWZlcnJlclwiPntidXNSb3V0ZS5idXNSb3V0ZX08L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpbmRleCA8IGZsb29ycGxhbi5wcm9wZXJ0eS5idXNSb3V0ZXMubGVuZ3RoIC0gMSA/IFwiLCBcIiA6IFwiXCJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiXCJ9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWFpblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCIgZmxvb3JwbGFuLWNvbHVtbi1yaWdodFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b24gdmFyaWFudD1cInByaW1hcnlcIiBzaXplPVwibWVkaXVtXCIgb25DbGljaz17Y29udGFjdENsaWNrSGFuZGxlcn0+Y29udGFjdCB1czwvQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b24gdmFyaWFudD1cInRlcnRpYXJ5XCIgc2l6ZT1cIm1lZGl1bVwiIG9uQ2xpY2s9e2FwcGx5Q2xpY2tIYW5kbGVyfT5hcHBseTwvQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTaGFyZUJ1dHRvbiB0aXRsZT1cIkNoZWNrIG91dCB0aGlzIGFwYXJ0bWVudFwiIHNpemU9XCJsYXJnZVwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3NlY3Rpb24+XG4gICAgKTtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2hvcnRUZXJtRmxvb3JwbGFuSGVyb1Byb3BzIHtcbiAgICBmbG9vcnBsYW46IEZsb29ycGxhblNob3J0VGVybTtcbiAgICB3ZWJTcGVjaWFsczogV2ViU3BlY2lhbFtdO1xuICAgIGNvbnRhY3RDbGlja0hhbmRsZXI6ICgpID0+IHZvaWQ7XG4gICAgYXBwbHlDbGlja0hhbmRsZXI6ICgpID0+IHZvaWQ7XG4gICAgaGFuZGxlUmVmVG9NYXA6ICgpID0+IHZvaWQ7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBQSxPQUFBO0FBQ0EsSUFBQUMsVUFBQSxHQUFBRCxPQUFBO0FBR0EsSUFBQUUsTUFBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsYUFBQSxHQUFBSCxPQUFBO0FBRUEsSUFBQUksZ0JBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLG9CQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxhQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxrQkFBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsV0FBQSxHQUFBUixPQUFBO0FBQ0EsSUFBQVMsWUFBQSxHQUFBVCxPQUFBO0FBQ0EsSUFBQVUsZUFBQSxHQUFBVixPQUFBO0FBQ0EsSUFBQVcsV0FBQSxHQUFBWCxPQUFBO0FBQ0EsSUFBQVksaUJBQUEsR0FBQVosT0FBQTtBQUNBLElBQUFhLFlBQUEsR0FBQWIsT0FBQTtBQUFtRCxTQUFBYyx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSxDQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7QUFBQSxTQUFBaEIsd0JBQUFnQixDQUFBLEVBQUFFLENBQUEsU0FBQUEsQ0FBQSxJQUFBRixDQUFBLElBQUFBLENBQUEsQ0FBQUksVUFBQSxTQUFBSixDQUFBLGVBQUFBLENBQUEsdUJBQUFBLENBQUEseUJBQUFBLENBQUEsV0FBQUssT0FBQSxFQUFBTCxDQUFBLFFBQUFHLENBQUEs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
|
|
231
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfbXVuY2hlclVpIiwiX1V0aWxzIiwiX0Fzc2V0U2VydmljZSIsIl9SZW5haXNzYW5jZURhdGEiLCJfR3JpZEdhbGxlcnlTa2VsZXRvbiIsIl9HYWxsZXJ5TW9kYWwiLCJfR3JpZEdhbGxlcnlNb2JpbGUiLCJfVmlkZW9Ub3VycyIsIl9WaXJ0dWFsVG91ciIsIl9IZXJvQmFkZ2VTdGF0cyIsIl9Bc3NldE1vZGFsIiwiX0dyaWRHYWxsZXJ5Q292ZXIiLCJfR3JpZEdhbGxlcnkiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJTaG9ydFRlcm1GbG9vcnBsYW5IZXJvIiwiX3JlZiIsImZsb29ycGxhbiIsImNvbnRhY3RDbGlja0hhbmRsZXIiLCJhcHBseUNsaWNrSGFuZGxlciIsImhhbmRsZVJlZlRvTWFwIiwid2ViU3BlY2lhbHMiLCJhc3NldHMiLCJzZXRBc3NldHMiLCJ1c2VTdGF0ZSIsImlzQXNzZXRzTG9hZGluZyIsInNldElzQXNzZXRzTG9hZGluZyIsInZpZGVvVG91cnMiLCJzZXRWaWRlb1RvdXJzIiwidmlydHVhbFRvdXIiLCJzZXRWaXJ0dWFsVG91ciIsInVuZGVmaW5lZCIsInZpZGVvVG91ckltYWdlQmFja2dyb3VuZCIsInNldFZpZGVvVG91ckltYWdlQmFja2dyb3VuZCIsInZpcnR1YWxUb3VySW1hZ2VCYWNrZ3JvdW5kIiwic2V0VmlydHVhbFRvdXJJbWFnZUJhY2tncm91bmQiLCJzaG93Rmxvb3JwbGFuTW9kYWwiLCJzZXRTaG93Rmxvb3JwbGFuTW9kYWwiLCJ0b3RhbFBhZ2VzIiwic2V0VG90YWxQYWdlcyIsInRvdXJzQ291bnQiLCJzZXRUb3Vyc0NvdW50IiwiY3VycmVudFZpZXciLCJzZXRDdXJyZW50VmlldyIsImFzc2V0SW5Gb2N1cyIsInNldEFzc2V0SW5Gb2N1cyIsImFzc2V0SW5kZXgiLCJzZXRBc3NldEluZGV4Iiwic2hvd01vZGFsIiwic2V0U2hvd01vZGFsIiwiZmlyc3RQYWdlSW1hZ2VDb3VudCIsInNldEZpcnN0UGFnZUltYWdlQ291bnQiLCJHUklEX1NJWkUiLCJpbWFnZUNsaWNrZWRIYW5kbGVyIiwiaW1hZ2UiLCJmaW5kSW5kZXgiLCJ2YWx1ZSIsImlkIiwibW9kYWxDbG9zZUhhbmRsZXIiLCJ1c2VFZmZlY3QiLCJpbWFnZXMiLCJwdXNoIiwiZXh0cmFjdElkRnJvbSIsImNvdmVySW1hZ2UiLCJuYW1lIiwiZmlyc3RQYWdlQ291bnQiLCJwaG90b3NGb2xkZXJJZCIsImdldEFzc2V0c0Zyb20iLCJ0aGVuIiwiZ2FsbGVyeUFzc2V0cyIsImxlbmd0aCIsImJhY2tncm91bmRJbWFnZVVybCIsImFzc2V0VXJsRnJvbSIsInByb3BlcnR5IiwidmlydHVhbFRvdXJMaW5rIiwidG91ckxpbmtzIiwidmlkZW9Ub3VyTGluayIsInRocmVlU2l4dHlWaWRlb1RvdXJMaW5rIiwib3RoZXJBc3NldENvdW50cyIsImZpbmFsbHkiLCJwYWdlcyIsInJlbWFpbmluZyIsIk1hdGgiLCJ0cnVuYyIsInByaW50Rmxvb3JwbGFuQWRkcmVzcyIsImFkZHJlc3MiLCJyZW5haXNzYW5jZSIsImNpdHkiLCJzdGF0ZSIsInppcGNvZGUiLCJpc0ZpcnN0U2xpZGVyUGFnZSIsInNsaWRlSW5kZXgiLCJhc3NldHNUb1Nob3ciLCJjb25zb2xlIiwibG9nIiwic2xpY2UiLCJzdGFydEluZGV4IiwiZW5kSW5kZXgiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwiR3JpZEdhbGxlcnlTa2VsZXRvbiIsIkZyYWdtZW50IiwiR2FsbGVyeU1vZGFsIiwicHJvcGVydHlJZCIsIkl0ZW1TbGlkZXIiLCJzbGlkZXJJdGVtcyIsIkFycmF5IiwibWFwIiwieCIsIkdyaWRHYWxsZXJ5Q292ZXIiLCJmbG9vcnBsYW5BZGRyZXNzIiwiaGVyb0ltYWdlIiwiaXNBdmFpbGFibGVOb3ciLCJzaG93T25seUhlcm9JbWFnZSIsIkdyaWRHYWxsZXJ5IiwiR3JpZEdhbGxlcnlNb2JpbGUiLCJWaWRlb1RvdXJzIiwidmlkZW9Ub3VyVXJscyIsIlZpcnR1YWxUb3VyIiwidmlydHVhbFRvdXJVcmwiLCJIZXJvQmFkZ2VTdGF0cyIsInRvdGFsQXNzZXRzIiwiQXNzZXRNb2RhbCIsImFzc2V0VXJsIiwicGhvdG8iLCJhc3NldFRpdGxlIiwic2hvcnRUZXJtIiwicHJpY2VGb3I0YW5kTW9yZU1vbnRocyIsInByaWNlRm9yNVRvMTNEYXlzIiwiQnV0dG9uIiwic2l6ZSIsIm9uQ2xpY2siLCJJY29uIiwib3JpZW50YXRpb24iLCJidXNSb3V0ZXMiLCJidXNSb3V0ZSIsImluZGV4Iiwia2V5IiwiaHJlZiIsImJ1c1JvdXRlTGluayIsInRhcmdldCIsInJlbCIsInZhcmlhbnQiLCJTaGFyZUJ1dHRvbiIsInRpdGxlIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zaG9ydC10ZXJtL1Nob3J0VGVybUZsb29ycGxhbkhlcm8udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwge3VzZUVmZmVjdCwgdXNlU3RhdGV9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFwiLi9hc3NldHMvU2hvcnRUZXJtRmxvb3JwbGFuSGVyby5zY3NzXCI7XG5pbXBvcnQge0J1dHRvbiwgSWNvbiwgSXRlbVNsaWRlciwgU2hhcmVCdXR0b259IGZyb20gXCJAY29udGVudG11bmNoL211bmNoZXItdWlcIjtcbmltcG9ydCB7Rmxvb3JwbGFuU2hvcnRUZXJtfSBmcm9tIFwiLi9kYXRhL1Nob3J0VGVybVwiO1xuaW1wb3J0IHtBc3NldH0gZnJvbSBcIi4uL2Fzc2V0L2RhdGEvQXNzZXRcIjtcbmltcG9ydCB7ZXh0cmFjdElkRnJvbX0gZnJvbSBcIi4uL3V0aWxzL1V0aWxzXCI7XG5pbXBvcnQge2Fzc2V0VXJsRnJvbSwgZ2V0QXNzZXRzRnJvbX0gZnJvbSBcIi4uL2Fzc2V0L3NlcnZpY2UvQXNzZXRTZXJ2aWNlXCI7XG5pbXBvcnQge1dlYlNwZWNpYWx9IGZyb20gXCIuLi9mbG9vcnBsYW4vZGF0YS9GbG9vcnBsYW5cIjtcbmltcG9ydCB7cmVuYWlzc2FuY2V9IGZyb20gXCIuLi9kYXRhL1JlbmFpc3NhbmNlRGF0YVwiO1xuaW1wb3J0IHtHcmlkR2FsbGVyeVNrZWxldG9ufSBmcm9tIFwiLi4vZ2FsbGVyeS9HcmlkR2FsbGVyeVNrZWxldG9uXCI7XG5pbXBvcnQge0dhbGxlcnlNb2RhbH0gZnJvbSBcIi4uL2dhbGxlcnkvR2FsbGVyeU1vZGFsXCI7XG5pbXBvcnQge0dyaWRHYWxsZXJ5TW9iaWxlfSBmcm9tIFwiLi4vZ2FsbGVyeS9HcmlkR2FsbGVyeU1vYmlsZVwiO1xuaW1wb3J0IHtWaWRlb1RvdXJzfSBmcm9tIFwiLi4vZ2FsbGVyeS9WaWRlb1RvdXJzXCI7XG5pbXBvcnQge1ZpcnR1YWxUb3VyfSBmcm9tIFwiLi4vZ2FsbGVyeS9WaXJ0dWFsVG91clwiO1xuaW1wb3J0IHtIZXJvQmFkZ2VTdGF0c30gZnJvbSBcIi4uL2Zsb29ycGxhbi9zZWN0aW9uL0hlcm9CYWRnZVN0YXRzXCI7XG5pbXBvcnQge0Fzc2V0TW9kYWx9IGZyb20gXCIuLi9hc3NldC9Bc3NldE1vZGFsXCI7XG5pbXBvcnQge0dyaWRHYWxsZXJ5Q292ZXIsIFRvdXJUeXBlfSBmcm9tIFwiLi4vZ2FsbGVyeS9HcmlkR2FsbGVyeUNvdmVyXCI7XG5pbXBvcnQge0dyaWRHYWxsZXJ5fSBmcm9tIFwiLi4vZ2FsbGVyeS9HcmlkR2FsbGVyeVwiO1xuXG5leHBvcnQgY29uc3QgU2hvcnRUZXJtRmxvb3JwbGFuSGVybzogUmVhY3QuRkM8U2hvcnRUZXJtRmxvb3JwbGFuSGVyb1Byb3BzPiA9IChcbiAgICB7Zmxvb3JwbGFuLCBjb250YWN0Q2xpY2tIYW5kbGVyLCBhcHBseUNsaWNrSGFuZGxlciwgaGFuZGxlUmVmVG9NYXAsIHdlYlNwZWNpYWxzfSkgPT4ge1xuICAgIGNvbnN0IFthc3NldHMsIHNldEFzc2V0c10gPSB1c2VTdGF0ZTxBc3NldFtdPihbXSk7XG4gICAgY29uc3QgW2lzQXNzZXRzTG9hZGluZywgc2V0SXNBc3NldHNMb2FkaW5nXSA9IHVzZVN0YXRlKHRydWUpO1xuICAgIGNvbnN0IFt2aWRlb1RvdXJzLCBzZXRWaWRlb1RvdXJzXSA9IHVzZVN0YXRlPHN0cmluZ1tdPihbXSk7XG4gICAgY29uc3QgW3ZpcnR1YWxUb3VyLCBzZXRWaXJ0dWFsVG91cl0gPSB1c2VTdGF0ZTxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbiAgICBjb25zdCBbdmlkZW9Ub3VySW1hZ2VCYWNrZ3JvdW5kLCBzZXRWaWRlb1RvdXJJbWFnZUJhY2tncm91bmRdID0gdXNlU3RhdGU8c3RyaW5nPigpO1xuICAgIGNvbnN0IFt2aXJ0dWFsVG91ckltYWdlQmFja2dyb3VuZCwgc2V0VmlydHVhbFRvdXJJbWFnZUJhY2tncm91bmRdID0gdXNlU3RhdGU8c3RyaW5nPigpO1xuXG4gICAgY29uc3QgW3Nob3dGbG9vcnBsYW5Nb2RhbCwgc2V0U2hvd0Zsb29ycGxhbk1vZGFsXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCBbdG90YWxQYWdlcywgc2V0VG90YWxQYWdlc10gPSB1c2VTdGF0ZSgxKTtcbiAgICBjb25zdCBbdG91cnNDb3VudCwgc2V0VG91cnNDb3VudF0gPSB1c2VTdGF0ZSgxKTtcbiAgICBjb25zdCBbY3VycmVudFZpZXcsIHNldEN1cnJlbnRWaWV3XSA9IHVzZVN0YXRlPFwicGhvdG9cIiB8IFRvdXJUeXBlPihcInBob3RvXCIpO1xuICAgIGNvbnN0IFthc3NldEluRm9jdXMsIHNldEFzc2V0SW5Gb2N1c10gPSB1c2VTdGF0ZTxBc3NldD4oe30gYXMgQXNzZXQpO1xuICAgIGNvbnN0IFthc3NldEluZGV4LCBzZXRBc3NldEluZGV4XSA9IHVzZVN0YXRlKDApO1xuICAgIGNvbnN0IFtzaG93TW9kYWwsIHNldFNob3dNb2RhbF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgW2ZpcnN0UGFnZUltYWdlQ291bnQsIHNldEZpcnN0UGFnZUltYWdlQ291bnRdID0gdXNlU3RhdGUoNCk7XG5cbiAgICBjb25zdCBHUklEX1NJWkUgPSA4O1xuICAgIGNvbnN0IGltYWdlQ2xpY2tlZEhhbmRsZXIgPSAoaW1hZ2U6IEFzc2V0KSA9PiB7XG4gICAgICAgIHNldFNob3dNb2RhbCh0cnVlKTtcbiAgICAgICAgc2V0QXNzZXRJbkZvY3VzKGltYWdlKTtcbiAgICAgICAgc2V0QXNzZXRJbmRleChhc3NldHMuZmluZEluZGV4KHZhbHVlID0+IHZhbHVlLmlkID09PSBpbWFnZS5pZCkpO1xuICAgIH07XG4gICAgY29uc3QgbW9kYWxDbG9zZUhhbmRsZXIgPSAoKSA9PiB7XG4gICAgICAgIHNldFNob3dNb2RhbChmYWxzZSk7XG4gICAgICAgIHNldEFzc2V0SW5Gb2N1cyh7fSBhcyBBc3NldCk7XG4gICAgfTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBjb25zdCBpbWFnZXM6IEFzc2V0W10gPSBbXTtcbiAgICAgICAgaW1hZ2VzLnB1c2goe2lkOiBleHRyYWN0SWRGcm9tKGZsb29ycGxhbi5jb3ZlckltYWdlKSwgbmFtZTogXCJjb3ZlciBpbWFnZVwifSBhcyBBc3NldCk7XG5cbiAgICAgICAgbGV0IGZpcnN0UGFnZUNvdW50ID0gZmlyc3RQYWdlSW1hZ2VDb3VudDtcblxuICAgICAgICBpZiAoZmxvb3JwbGFuLnBob3Rvc0ZvbGRlcklkKSB7XG4gICAgICAgICAgICBnZXRBc3NldHNGcm9tKGZsb29ycGxhbi5waG90b3NGb2xkZXJJZCkudGhlbihnYWxsZXJ5QXNzZXRzID0+IHtcblxuICAgICAgICAgICAgICAgIGltYWdlcy5wdXNoKC4uLmdhbGxlcnlBc3NldHMpO1xuXG4gICAgICAgICAgICAgICAgaWYgKGltYWdlcy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGJhY2tncm91bmRJbWFnZVVybCA9IGFzc2V0VXJsRnJvbShpbWFnZXNbMV0uaWQsIGZsb29ycGxhbi5wcm9wZXJ0eS5pZCk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChmbG9vcnBsYW4udmlydHVhbFRvdXJMaW5rKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRWaXJ0dWFsVG91cihmbG9vcnBsYW4udmlydHVhbFRvdXJMaW5rKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldFZpcnR1YWxUb3VySW1hZ2VCYWNrZ3JvdW5kKGJhY2tncm91bmRJbWFnZVVybCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaXJzdFBhZ2VDb3VudCAtPSAxO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdG91ckxpbmtzID0gW107XG4gICAgICAgICAgICAgICAgICAgIGlmIChmbG9vcnBsYW4udmlkZW9Ub3VyTGluaylcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvdXJMaW5rcy5wdXNoKGZsb29ycGxhbi52aWRlb1RvdXJMaW5rKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZsb29ycGxhbi50aHJlZVNpeHR5VmlkZW9Ub3VyTGluaylcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvdXJMaW5rcy5wdXNoKGZsb29ycGxhbi50aHJlZVNpeHR5VmlkZW9Ub3VyTGluayk7XG4gICAgICAgICAgICAgICAgICAgIHNldFZpZGVvVG91cnModG91ckxpbmtzKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRvdXJMaW5rcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRWaWRlb1RvdXJJbWFnZUJhY2tncm91bmQoYmFja2dyb3VuZEltYWdlVXJsKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpcnN0UGFnZUNvdW50IC09IDE7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBsZXQgb3RoZXJBc3NldENvdW50cyA9ICh0b3VyTGlua3MubGVuZ3RoID4gMCA/IDEgOiAwKSArIChmbG9vcnBsYW4udmlydHVhbFRvdXJMaW5rID8gMSA6IDApO1xuICAgICAgICAgICAgICAgICAgICBzZXRUb3Vyc0NvdW50KG90aGVyQXNzZXRDb3VudHMpO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9KS5maW5hbGx5KCgpID0+IHtcblxuICAgICAgICAgICAgICAgIGxldCBwYWdlcyA9IDE7XG5cbiAgICAgICAgICAgICAgICBpZiAoaW1hZ2VzLmxlbmd0aCA+IGZpcnN0UGFnZUNvdW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlbWFpbmluZyA9IGltYWdlcy5sZW5ndGggLSBmaXJzdFBhZ2VDb3VudDtcbiAgICAgICAgICAgICAgICAgICAgcGFnZXMgKz0gcmVtYWluaW5nIC8gODtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlbWFpbmluZyAlIDggPiAwKVxuICAgICAgICAgICAgICAgICAgICAgICAgcGFnZXMgKz0gMTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBzZXRUb3RhbFBhZ2VzKE1hdGgudHJ1bmMocGFnZXMpKTtcbiAgICAgICAgICAgICAgICBzZXRGaXJzdFBhZ2VJbWFnZUNvdW50KGZpcnN0UGFnZUNvdW50KTtcbiAgICAgICAgICAgICAgICBzZXRBc3NldHMoaW1hZ2VzKTtcbiAgICAgICAgICAgICAgICBzZXRJc0Fzc2V0c0xvYWRpbmcoZmFsc2UpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzZXRBc3NldHMoaW1hZ2VzKTtcbiAgICAgICAgICAgIHNldElzQXNzZXRzTG9hZGluZyhmYWxzZSk7XG4gICAgICAgIH1cblxuICAgIH0sIFtmbG9vcnBsYW5dKVxuXG5cbiAgICBjb25zdCBwcmludEZsb29ycGxhbkFkZHJlc3MgPSAoKSA9PiB7XG5cbiAgICAgICAgcmV0dXJuIGZsb29ycGxhbi5hZGRyZXNzICsgXCIsIFwiICsgcmVuYWlzc2FuY2UuY2l0eSArIFwiLCBcIiArIHJlbmFpc3NhbmNlLnN0YXRlICsgXCIgXCIgKyBmbG9vcnBsYW4uemlwY29kZTtcbiAgICB9XG4gICAgY29uc3QgaXNGaXJzdFNsaWRlclBhZ2UgPSAoc2xpZGVJbmRleDogbnVtYmVyKSA9PiBzbGlkZUluZGV4ID09PSAwO1xuXG4gICAgY29uc3QgYXNzZXRzVG9TaG93ID0gKHNsaWRlSW5kZXg6IG51bWJlcikgPT4ge1xuXG4gICAgICAgIGlmIChpc0ZpcnN0U2xpZGVyUGFnZShzbGlkZUluZGV4KSkge1xuICAgICAgICAgICAgY29uc29sZS5sb2coXCJmaXJzdFBhZ2VJbWFnZUNvdW50XCIsIGZpcnN0UGFnZUltYWdlQ291bnQpO1xuICAgICAgICAgICAgcmV0dXJuIGFzc2V0cy5zbGljZSgwLCBmaXJzdFBhZ2VJbWFnZUNvdW50IC0gMSk7XG4gICAgICAgIH1cblxuXG4gICAgICAgIGNvbnN0IHN0YXJ0SW5kZXggPSBmaXJzdFBhZ2VJbWFnZUNvdW50IC0gMSArIChHUklEX1NJWkUgKiAoc2xpZGVJbmRleCAtIDEpKVxuICAgICAgICBjb25zdCBlbmRJbmRleCA9IGZpcnN0UGFnZUltYWdlQ291bnQgLSAxICsgKEdSSURfU0laRSAqIHNsaWRlSW5kZXgpXG5cbiAgICAgICAgcmV0dXJuIGFzc2V0cy5zbGljZShzdGFydEluZGV4LCBlbmRJbmRleCA+IGFzc2V0cy5sZW5ndGggPyBhc3NldHMubGVuZ3RoIDogZW5kSW5kZXgpO1xuICAgIH07XG4gICAgcmV0dXJuIChcbiAgICAgICAgPHNlY3Rpb24gY2xhc3NOYW1lPVwic2VjdGlvbi1zaG9ydC10ZXJtLWZsb29ycGxhbi0taGVyb1wiPlxuICAgICAgICAgICAge2lzQXNzZXRzTG9hZGluZyA/IDxHcmlkR2FsbGVyeVNrZWxldG9uLz4gOlxuICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZ2FsbGVyeS1oZXJvXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8R2FsbGVyeU1vZGFsIGFzc2V0cz17YXNzZXRzfSBhc3NldEluRm9jdXM9e2Fzc2V0SW5Gb2N1c31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0QXNzZXRJbkZvY3VzPXtzZXRBc3NldEluRm9jdXN9IHNob3dNb2RhbD17c2hvd01vZGFsfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhc3NldEluZGV4PXthc3NldEluZGV4fSBzZXRBc3NldEluZGV4PXtzZXRBc3NldEluZGV4fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RhbENsb3NlSGFuZGxlcj17bW9kYWxDbG9zZUhhbmRsZXJ9IHByb3BlcnR5SWQ9e2Zsb29ycGxhbi5wcm9wZXJ0eS5pZH0vPlxuICAgICAgICAgICAgICAgICAgICAgICAge2N1cnJlbnRWaWV3ID09PSBcInBob3RvXCIgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicGhvdG8tdmlldyBtYWluXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SXRlbVNsaWRlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsaWRlckl0ZW1zPXtbLi4uQXJyYXkodG90YWxQYWdlcyldLm1hcCgoeCwgaSkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGkgPT09IDApID8gPEdyaWRHYWxsZXJ5Q292ZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhc3NldHM9e2Fzc2V0c1RvU2hvdyhpKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9vcnBsYW5BZGRyZXNzPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZHJlc3M6IGZsb29ycGxhbi5hZGRyZXNzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaXR5OiByZW5haXNzYW5jZS5jaXR5LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZTogcmVuYWlzc2FuY2Uuc3RhdGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHppcGNvZGU6IGZsb29ycGxhbi56aXBjb2RlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0eUlkPXtmbG9vcnBsYW4ucHJvcGVydHkuaWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVyb0ltYWdlPXthc3NldHNbMF19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2VDbGlja2VkSGFuZGxlcj17aW1hZ2VDbGlja2VkSGFuZGxlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3ZWJTcGVjaWFscz17d2ViU3BlY2lhbHN9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNBdmFpbGFibGVOb3c9e2ZhbHNlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldEN1cnJlbnRWaWV3PXtzZXRDdXJyZW50Vmlld31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWRlb1RvdXJJbWFnZUJhY2tncm91bmQ9e3ZpZGVvVG91ckltYWdlQmFja2dyb3VuZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aXJ0dWFsVG91ckltYWdlQmFja2dyb3VuZD17dmlydHVhbFRvdXJJbWFnZUJhY2tncm91bmR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd09ubHlIZXJvSW1hZ2U9e2Fzc2V0cy5sZW5ndGggPT09IDF9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPiA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8R3JpZEdhbGxlcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWFnZUNsaWNrZWRIYW5kbGVyPXtpbWFnZUNsaWNrZWRIYW5kbGVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnR5SWQ9e2Zsb29ycGxhbi5wcm9wZXJ0eS5pZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhc3NldHM9e2Fzc2V0c1RvU2hvdyhpKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX0vPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJwaG90by12aWV3IG1vYmlsZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEdyaWRHYWxsZXJ5TW9iaWxlIGFzc2V0cz17YXNzZXRzfSB0b3Vyc0NvdW50PXt0b3Vyc0NvdW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb29ycGxhbkFkZHJlc3M9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkcmVzczogZmxvb3JwbGFuLmFkZHJlc3MsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNpdHk6IHJlbmFpc3NhbmNlLmNpdHksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlOiByZW5haXNzYW5jZS5zdGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgemlwY29kZTogZmxvb3JwbGFuLnppcGNvZGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpcnR1YWxUb3VyPXt2aXJ0dWFsVG91cn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRDdXJyZW50Vmlldz17c2V0Q3VycmVudFZpZXd9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2VDbGlja2VkSGFuZGxlcj17aW1hZ2VDbGlja2VkSGFuZGxlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3ZWJTcGVjaWFscz17d2ViU3BlY2lhbHN9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNBdmFpbGFibGVOb3c9e2ZhbHNlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnR5SWQ9e2Zsb29ycGxhbi5wcm9wZXJ0eS5pZH0vPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Lz4gOiBcIlwiXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtjdXJyZW50VmlldyA9PT0gXCJWaWRlbyBUb3VyXCIgPyA8VmlkZW9Ub3VycyB2aWRlb1RvdXJVcmxzPXt2aWRlb1RvdXJzfS8+IDogXCJcIn1cbiAgICAgICAgICAgICAgICAgICAgICAgIHtjdXJyZW50VmlldyA9PT0gXCJWaXJ0dWFsIFRvdXJcIiA/IDxWaXJ0dWFsVG91ciB2aXJ0dWFsVG91clVybD17dmlydHVhbFRvdXJ9Lz4gOiBcIlwifVxuICAgICAgICAgICAgICAgICAgICAgICAgPEhlcm9CYWRnZVN0YXRzIGN1cnJlbnRWaWV3PXtjdXJyZW50Vmlld30gc2V0Q3VycmVudFZpZXc9e3NldEN1cnJlbnRWaWV3fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvdGFsQXNzZXRzPXthc3NldHM/Lmxlbmd0aH0gdmlkZW9Ub3Vycz17dmlkZW9Ub3Vyc30gdmlydHVhbFRvdXI9e3ZpcnR1YWxUb3VyfS8+XG5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC8+XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxBc3NldE1vZGFsIGFzc2V0VXJsPXtmbG9vcnBsYW4ucGhvdG99IGFzc2V0VGl0bGU9XCJGbG9vcnBsYW4gaW1hZ2VcIiBzaG93TW9kYWw9e3Nob3dGbG9vcnBsYW5Nb2RhbH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHNldFNob3dNb2RhbD17c2V0U2hvd0Zsb29ycGxhbk1vZGFsfSBwcm9wZXJ0eUlkPXtmbG9vcnBsYW4ucHJvcGVydHkuaWR9Lz5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbG9vcnBsYW4tLXR3by1jb2x1bW5zXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxvb3JwbGFuLWNvbHVtbi1sZWZ0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aDM+e2Zsb29ycGxhbi5uYW1lfTwvaDM+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aDQ+JHtmbG9vcnBsYW4uc2hvcnRUZXJtLnByaWNlRm9yNGFuZE1vcmVNb250aHN9IC1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAke2Zsb29ycGxhbi5zaG9ydFRlcm0ucHJpY2VGb3I1VG8xM0RheXN9L0RheTwvaDQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJmbG9vcnBsYW4tLWRlc2NyaXB0aW9uXCI+e3ByaW50Rmxvb3JwbGFuQWRkcmVzcygpfTwvcD5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbG9vcnBsYW4tLWZlYXR1cmVkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbiBzaXplPVwic21hbGxcIiBvbkNsaWNrPXsoKSA9PiBzZXRTaG93Rmxvb3JwbGFuTW9kYWwodHJ1ZSl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SWNvbiBuYW1lPVwibWF4XCIgb3JpZW50YXRpb249XCJyaWdodFwiPlZpZXdGbG9vcnBsYW48L0ljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfCZuYnNwOyZuYnNwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b24gc2l6ZT1cInNtYWxsXCIgb25DbGljaz17KCkgPT4gaGFuZGxlUmVmVG9NYXAoKX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJY29uIG9yaWVudGF0aW9uPVwicmlnaHRcIiBuYW1lPVwibWFwXCI+VmlldyBvbiBNYXA8L0ljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge2Zsb29ycGxhbi5wcm9wZXJ0eS5idXNSb3V0ZXMubGVuZ3RoID4gMCA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPkJ1cyBSb3V0ZXM6Jm5ic3A7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Zmxvb3JwbGFuLnByb3BlcnR5LmJ1c1JvdXRlcy5tYXAoKGJ1c1JvdXRlLCBpbmRleCkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBrZXk9e1wiYnVzLXJvdXRlLVwiICsgaW5kZXh9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPXtidXNSb3V0ZS5idXNSb3V0ZUxpbmt9IHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbD1cIm5vcmVmZXJyZXJcIj57YnVzUm91dGUuYnVzUm91dGV9PC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aW5kZXggPCBmbG9vcnBsYW4ucHJvcGVydHkuYnVzUm91dGVzLmxlbmd0aCAtIDEgPyBcIiwgXCIgOiBcIlwifVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIlwifVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1haW5cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiIGZsb29ycGxhbi1jb2x1bW4tcmlnaHRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uIHZhcmlhbnQ9XCJwcmltYXJ5XCIgc2l6ZT1cIm1lZGl1bVwiIG9uQ2xpY2s9e2NvbnRhY3RDbGlja0hhbmRsZXJ9PmNvbnRhY3QgdXM8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uIHZhcmlhbnQ9XCJ0ZXJ0aWFyeVwiIHNpemU9XCJtZWRpdW1cIiBvbkNsaWNrPXthcHBseUNsaWNrSGFuZGxlcn0+YXBwbHk8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2hhcmVCdXR0b24gdGl0bGU9XCJDaGVjayBvdXQgdGhpcyBhcGFydG1lbnRcIiBzaXplPVwibGFyZ2VcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9zZWN0aW9uPlxuICAgICk7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIFNob3J0VGVybUZsb29ycGxhbkhlcm9Qcm9wcyB7XG4gICAgZmxvb3JwbGFuOiBGbG9vcnBsYW5TaG9ydFRlcm07XG4gICAgd2ViU3BlY2lhbHM6IFdlYlNwZWNpYWxbXTtcbiAgICBjb250YWN0Q2xpY2tIYW5kbGVyOiAoKSA9PiB2b2lkO1xuICAgIGFwcGx5Q2xpY2tIYW5kbGVyOiAoKSA9PiB2b2lkO1xuICAgIGhhbmRsZVJlZlRvTWFwOiAoKSA9PiB2b2lkO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQUEsT0FBQTtBQUNBLElBQUFDLFVBQUEsR0FBQUQsT0FBQTtBQUdBLElBQUFFLE1BQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLGFBQUEsR0FBQUgsT0FBQTtBQUVBLElBQUFJLGdCQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxvQkFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sYUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sa0JBQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLFdBQUEsR0FBQVIsT0FBQTtBQUNBLElBQUFTLFlBQUEsR0FBQVQsT0FBQTtBQUNBLElBQUFVLGVBQUEsR0FBQVYsT0FBQTtBQUNBLElBQUFXLFdBQUEsR0FBQVgsT0FBQTtBQUNBLElBQUFZLGlCQUFBLEdBQUFaLE9BQUE7QUFDQSxJQUFBYSxZQUFBLEdBQUFiLE9BQUE7QUFBbUQsU0FBQWMseUJBQUFDLENBQUEsNkJBQUFDLE9BQUEsbUJBQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEsQ0FBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxLQUFBRixDQUFBO0FBQUEsU0FBQWhCLHdCQUFBZ0IsQ0FBQSxFQUFBRSxDQUFBLFNBQUFBLENBQUEsSUFBQUYsQ0FBQSxJQUFBQSxDQUFBLENBQUFJLFVBQUEsU0FBQUosQ0FBQSxlQUFBQSxDQUFBLHVCQUFBQSxDQUFBLHlCQUFBQSxDQUFBLFdBQUFLLE9BQUEsRUFBQUwsQ0FBQSxRQUFBRyxDQUFBLEdBQUFKLHdCQUFBLENBQUFHLENB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
|