@renaissancerentals/renaissance-component 12.3.7 → 12.3.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/application/ApplicationCompletion.d.ts +3 -0
- package/lib/application/ApplicationCompletion.js +53 -0
- package/lib/application/ApplicationSection.js +66 -15
- package/lib/application/assets/ApplicationCompletion.scss +44 -0
- package/lib/application/assets/ApplicationSection.scss +35 -29
- package/lib/assets/App.scss +2 -1
- package/lib/floorplan/section/FloorplanHero.js +3 -3
- package/lib/floorplan/service/FloorplanService.d.ts +3 -3
- package/lib/floorplan/service/FloorplanService.js +1 -1
- package/lib/gallery/GridGalleryCover.d.ts +2 -2
- package/lib/gallery/GridGalleryCover.js +3 -3
- package/lib/gallery/GridGalleryMobile.d.ts +2 -2
- package/lib/gallery/GridGalleryMobile.js +3 -3
- package/lib/short-term/ShortTermFloorplanHero.js +3 -3
- package/lib/unit/data/Unit.d.ts +14 -1
- package/lib/unit/data/Unit.js +1 -1
- package/lib/unit/section/UnitHero.d.ts +12 -0
- package/lib/unit/section/UnitHero.js +234 -0
- package/lib/unit/section/UnitPrice.d.ts +8 -0
- package/lib/unit/section/UnitPrice.js +41 -0
- package/lib/unit/section/UnitSection.d.ts +11 -0
- package/lib/unit/section/UnitSection.js +211 -0
- package/lib/unit/section/assets/UnitSection.scss +90 -0
- package/lib/unit/service/UnitService.d.ts +7 -2
- package/lib/unit/service/UnitService.js +44 -2
- package/lib/utils/Utils.d.ts +2 -2
- package/lib/utils/Utils.js +2 -2
- package/package.json +2 -2
|
@@ -129,7 +129,7 @@ const ShortTermFloorplanHero = _ref => {
|
|
|
129
129
|
}, /*#__PURE__*/_react.default.createElement(_muncherUi.ItemSlider, {
|
|
130
130
|
sliderItems: [...Array(totalPages)].map((x, i) => i === 0 ? /*#__PURE__*/_react.default.createElement(_GridGalleryCover.GridGalleryCover, {
|
|
131
131
|
assets: assetsToShow(i),
|
|
132
|
-
|
|
132
|
+
address: {
|
|
133
133
|
address: floorplan.address,
|
|
134
134
|
city: _RenaissanceData.renaissance.city,
|
|
135
135
|
state: _RenaissanceData.renaissance.state,
|
|
@@ -154,7 +154,7 @@ const ShortTermFloorplanHero = _ref => {
|
|
|
154
154
|
}, /*#__PURE__*/_react.default.createElement(_GridGalleryMobile.GridGalleryMobile, {
|
|
155
155
|
assets: assets,
|
|
156
156
|
toursCount: toursCount,
|
|
157
|
-
|
|
157
|
+
address: {
|
|
158
158
|
address: floorplan.address,
|
|
159
159
|
city: _RenaissanceData.renaissance.city,
|
|
160
160
|
state: _RenaissanceData.renaissance.state,
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfbXVuY2hlclVpIiwiX1V0aWxzIiwiX0Fzc2V0U2VydmljZSIsIl9SZW5haXNzYW5jZURhdGEiLCJfR3JpZEdhbGxlcnlTa2VsZXRvbiIsIl9HYWxsZXJ5TW9kYWwiLCJfR3JpZEdhbGxlcnlNb2JpbGUiLCJfVmlkZW9Ub3VycyIsIl9WaXJ0dWFsVG91ciIsIl9IZXJvQmFkZ2VTdGF0cyIsIl9Bc3NldE1vZGFsIiwiX0dyaWRHYWxsZXJ5Q292ZXIiLCJfR3JpZEdhbGxlcnkiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJTaG9ydFRlcm1GbG9vcnBsYW5IZXJvIiwiX3JlZiIsImZsb29ycGxhbiIsImNvbnRhY3RDbGlja0hhbmRsZXIiLCJhcHBseUNsaWNrSGFuZGxlciIsImhhbmRsZVJlZlRvTWFwIiwid2ViU3BlY2lhbHMiLCJhc3NldHMiLCJzZXRBc3NldHMiLCJ1c2VTdGF0ZSIsImlzQXNzZXRzTG9hZGluZyIsInNldElzQXNzZXRzTG9hZGluZyIsInZpZGVvVG91cnMiLCJzZXRWaWRlb1RvdXJzIiwidmlydHVhbFRvdXIiLCJzZXRWaXJ0dWFsVG91ciIsInVuZGVmaW5lZCIsInZpZGVvVG91ckltYWdlQmFja2dyb3VuZCIsInNldFZpZGVvVG91ckltYWdlQmFja2dyb3VuZCIsInZpcnR1YWxUb3VySW1hZ2VCYWNrZ3JvdW5kIiwic2V0VmlydHVhbFRvdXJJbWFnZUJhY2tncm91bmQiLCJzaG93Rmxvb3JwbGFuTW9kYWwiLCJzZXRTaG93Rmxvb3JwbGFuTW9kYWwiLCJ0b3RhbFBhZ2VzIiwic2V0VG90YWxQYWdlcyIsInRvdXJzQ291bnQiLCJzZXRUb3Vyc0NvdW50IiwiY3VycmVudFZpZXciLCJzZXRDdXJyZW50VmlldyIsImFzc2V0SW5Gb2N1cyIsInNldEFzc2V0SW5Gb2N1cyIsImFzc2V0SW5kZXgiLCJzZXRBc3NldEluZGV4Iiwic2hvd01vZGFsIiwic2V0U2hvd01vZGFsIiwiZmlyc3RQYWdlSW1hZ2VDb3VudCIsInNldEZpcnN0UGFnZUltYWdlQ291bnQiLCJHUklEX1NJWkUiLCJpbWFnZUNsaWNrZWRIYW5kbGVyIiwiaW1hZ2UiLCJmaW5kSW5kZXgiLCJ2YWx1ZSIsImlkIiwibW9kYWxDbG9zZUhhbmRsZXIiLCJ1c2VFZmZlY3QiLCJpbWFnZXMiLCJwdXNoIiwiZXh0cmFjdElkRnJvbSIsImNvdmVySW1hZ2UiLCJuYW1lIiwiZmlyc3RQYWdlQ291bnQiLCJwaG90b3NGb2xkZXJJZCIsImdldEFzc2V0c0Zyb20iLCJ0aGVuIiwiZ2FsbGVyeUFzc2V0cyIsImxlbmd0aCIsImJhY2tncm91bmRJbWFnZVVybCIsImFzc2V0VXJsRnJvbSIsInByb3BlcnR5IiwidmlydHVhbFRvdXJMaW5rIiwidG91ckxpbmtzIiwidmlkZW9Ub3VyTGluayIsInRocmVlU2l4dHlWaWRlb1RvdXJMaW5rIiwib3RoZXJBc3NldENvdW50cyIsImZpbmFsbHkiLCJwYWdlcyIsInJlbWFpbmluZyIsIk1hdGgiLCJ0cnVuYyIsInByaW50Rmxvb3JwbGFuQWRkcmVzcyIsImFkZHJlc3MiLCJyZW5haXNzYW5jZSIsImNpdHkiLCJzdGF0ZSIsInppcGNvZGUiLCJpc0ZpcnN0U2xpZGVyUGFnZSIsInNsaWRlSW5kZXgiLCJhc3NldHNUb1Nob3ciLCJjb25zb2xlIiwibG9nIiwic2xpY2UiLCJzdGFydEluZGV4IiwiZW5kSW5kZXgiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwiR3JpZEdhbGxlcnlTa2VsZXRvbiIsIkZyYWdtZW50IiwiR2FsbGVyeU1vZGFsIiwicHJvcGVydHlJZCIsIkl0ZW1TbGlkZXIiLCJzbGlkZXJJdGVtcyIsIkFycmF5IiwibWFwIiwieCIsIkdyaWRHYWxsZXJ5Q292ZXIiLCJmbG9vcnBsYW5BZGRyZXNzIiwiaGVyb0ltYWdlIiwiaXNBdmFpbGFibGVOb3ciLCJzaG93T25seUhlcm9JbWFnZSIsIkdyaWRHYWxsZXJ5IiwiR3JpZEdhbGxlcnlNb2JpbGUiLCJWaWRlb1RvdXJzIiwidmlkZW9Ub3VyVXJscyIsIlZpcnR1YWxUb3VyIiwidmlydHVhbFRvdXJVcmwiLCJIZXJvQmFkZ2VTdGF0cyIsInRvdGFsQXNzZXRzIiwiQXNzZXRNb2RhbCIsImFzc2V0VXJsIiwicGhvdG8iLCJhc3NldFRpdGxlIiwicHJpY2VGb3I0YW5kTW9yZU1vbnRocyIsInByaWNlRm9yNVRvMTNEYXlzIiwiQnV0dG9uIiwic2l6ZSIsIm9uQ2xpY2siLCJJY29uIiwib3JpZW50YXRpb24iLCJidXNSb3V0ZXMiLCJidXNSb3V0ZSIsImluZGV4Iiwia2V5IiwiaHJlZiIsImJ1c1JvdXRlTGluayIsInRhcmdldCIsInJlbCIsInZhcmlhbnQiLCJTaGFyZUJ1dHRvbiIsInRpdGxlIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zaG9ydC10ZXJtL1Nob3J0VGVybUZsb29ycGxhbkhlcm8udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwge3VzZUVmZmVjdCwgdXNlU3RhdGV9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFwiLi9hc3NldHMvU2hvcnRUZXJtRmxvb3JwbGFuSGVyby5zY3NzXCI7XG5pbXBvcnQge0J1dHRvbiwgSWNvbiwgSXRlbVNsaWRlciwgU2hhcmVCdXR0b259IGZyb20gXCJAY29udGVudG11bmNoL211bmNoZXItdWlcIjtcbmltcG9ydCB7Rmxvb3JwbGFuU2hvcnRUZXJtfSBmcm9tIFwiLi9kYXRhL1Nob3J0VGVybVwiO1xuaW1wb3J0IHtBc3NldH0gZnJvbSBcIi4uL2Fzc2V0L2RhdGEvQXNzZXRcIjtcbmltcG9ydCB7ZXh0cmFjdElkRnJvbX0gZnJvbSBcIi4uL3V0aWxzL1V0aWxzXCI7XG5pbXBvcnQge2Fzc2V0VXJsRnJvbSwgZ2V0QXNzZXRzRnJvbX0gZnJvbSBcIi4uL2Fzc2V0L3NlcnZpY2UvQXNzZXRTZXJ2aWNlXCI7XG5pbXBvcnQge1dlYlNwZWNpYWx9IGZyb20gXCIuLi9mbG9vcnBsYW4vZGF0YS9GbG9vcnBsYW5cIjtcbmltcG9ydCB7cmVuYWlzc2FuY2V9IGZyb20gXCIuLi9kYXRhL1JlbmFpc3NhbmNlRGF0YVwiO1xuaW1wb3J0IHtHcmlkR2FsbGVyeVNrZWxldG9ufSBmcm9tIFwiLi4vZ2FsbGVyeS9HcmlkR2FsbGVyeVNrZWxldG9uXCI7XG5pbXBvcnQge0dhbGxlcnlNb2RhbH0gZnJvbSBcIi4uL2dhbGxlcnkvR2FsbGVyeU1vZGFsXCI7XG5pbXBvcnQge0dyaWRHYWxsZXJ5TW9iaWxlfSBmcm9tIFwiLi4vZ2FsbGVyeS9HcmlkR2FsbGVyeU1vYmlsZVwiO1xuaW1wb3J0IHtWaWRlb1RvdXJzfSBmcm9tIFwiLi4vZ2FsbGVyeS9WaWRlb1RvdXJzXCI7XG5pbXBvcnQge1ZpcnR1YWxUb3VyfSBmcm9tIFwiLi4vZ2FsbGVyeS9WaXJ0dWFsVG91clwiO1xuaW1wb3J0IHtIZXJvQmFkZ2VTdGF0c30gZnJvbSBcIi4uL2Zsb29ycGxhbi9zZWN0aW9uL0hlcm9CYWRnZVN0YXRzXCI7XG5pbXBvcnQge0Fzc2V0TW9kYWx9IGZyb20gXCIuLi9hc3NldC9Bc3NldE1vZGFsXCI7XG5pbXBvcnQge0dyaWRHYWxsZXJ5Q292ZXIsIFRvdXJUeXBlfSBmcm9tIFwiLi4vZ2FsbGVyeS9HcmlkR2FsbGVyeUNvdmVyXCI7XG5pbXBvcnQge0dyaWRHYWxsZXJ5fSBmcm9tIFwiLi4vZ2FsbGVyeS9HcmlkR2FsbGVyeVwiO1xuXG5leHBvcnQgY29uc3QgU2hvcnRUZXJtRmxvb3JwbGFuSGVybzogUmVhY3QuRkM8U2hvcnRUZXJtRmxvb3JwbGFuSGVyb1Byb3BzPiA9IChcbiAgICB7Zmxvb3JwbGFuLCBjb250YWN0Q2xpY2tIYW5kbGVyLCBhcHBseUNsaWNrSGFuZGxlciwgaGFuZGxlUmVmVG9NYXAsIHdlYlNwZWNpYWxzfSkgPT4ge1xuICAgIGNvbnN0IFthc3NldHMsIHNldEFzc2V0c10gPSB1c2VTdGF0ZTxBc3NldFtdPihbXSk7XG4gICAgY29uc3QgW2lzQXNzZXRzTG9hZGluZywgc2V0SXNBc3NldHNMb2FkaW5nXSA9IHVzZVN0YXRlKHRydWUpO1xuICAgIGNvbnN0IFt2aWRlb1RvdXJzLCBzZXRWaWRlb1RvdXJzXSA9IHVzZVN0YXRlPHN0cmluZ1tdPihbXSk7XG4gICAgY29uc3QgW3ZpcnR1YWxUb3VyLCBzZXRWaXJ0dWFsVG91cl0gPSB1c2VTdGF0ZTxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbiAgICBjb25zdCBbdmlkZW9Ub3VySW1hZ2VCYWNrZ3JvdW5kLCBzZXRWaWRlb1RvdXJJbWFnZUJhY2tncm91bmRdID0gdXNlU3RhdGU8c3RyaW5nPigpO1xuICAgIGNvbnN0IFt2aXJ0dWFsVG91ckltYWdlQmFja2dyb3VuZCwgc2V0VmlydHVhbFRvdXJJbWFnZUJhY2tncm91bmRdID0gdXNlU3RhdGU8c3RyaW5nPigpO1xuXG4gICAgY29uc3QgW3Nob3dGbG9vcnBsYW5Nb2RhbCwgc2V0U2hvd0Zsb29ycGxhbk1vZGFsXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCBbdG90YWxQYWdlcywgc2V0VG90YWxQYWdlc10gPSB1c2VTdGF0ZSgxKTtcbiAgICBjb25zdCBbdG91cnNDb3VudCwgc2V0VG91cnNDb3VudF0gPSB1c2VTdGF0ZSgxKTtcbiAgICBjb25zdCBbY3VycmVudFZpZXcsIHNldEN1cnJlbnRWaWV3XSA9IHVzZVN0YXRlPFwicGhvdG9cIiB8IFRvdXJUeXBlPihcInBob3RvXCIpO1xuICAgIGNvbnN0IFthc3NldEluRm9jdXMsIHNldEFzc2V0SW5Gb2N1c10gPSB1c2VTdGF0ZTxBc3NldD4oe30gYXMgQXNzZXQpO1xuICAgIGNvbnN0IFthc3NldEluZGV4LCBzZXRBc3NldEluZGV4XSA9IHVzZVN0YXRlKDApO1xuICAgIGNvbnN0IFtzaG93TW9kYWwsIHNldFNob3dNb2RhbF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgW2ZpcnN0UGFnZUltYWdlQ291bnQsIHNldEZpcnN0UGFnZUltYWdlQ291bnRdID0gdXNlU3RhdGUoNCk7XG5cbiAgICBjb25zdCBHUklEX1NJWkUgPSA4O1xuICAgIGNvbnN0IGltYWdlQ2xpY2tlZEhhbmRsZXIgPSAoaW1hZ2U6IEFzc2V0KSA9PiB7XG4gICAgICAgIHNldFNob3dNb2RhbCh0cnVlKTtcbiAgICAgICAgc2V0QXNzZXRJbkZvY3VzKGltYWdlKTtcbiAgICAgICAgc2V0QXNzZXRJbmRleChhc3NldHMuZmluZEluZGV4KHZhbHVlID0+IHZhbHVlLmlkID09PSBpbWFnZS5pZCkpO1xuICAgIH07XG4gICAgY29uc3QgbW9kYWxDbG9zZUhhbmRsZXIgPSAoKSA9PiB7XG4gICAgICAgIHNldFNob3dNb2RhbChmYWxzZSk7XG4gICAgICAgIHNldEFzc2V0SW5Gb2N1cyh7fSBhcyBBc3NldCk7XG4gICAgfTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBjb25zdCBpbWFnZXM6IEFzc2V0W10gPSBbXTtcbiAgICAgICAgaW1hZ2VzLnB1c2goe2lkOiBleHRyYWN0SWRGcm9tKGZsb29ycGxhbi5jb3ZlckltYWdlKSwgbmFtZTogXCJjb3ZlciBpbWFnZVwifSBhcyBBc3NldCk7XG5cbiAgICAgICAgbGV0IGZpcnN0UGFnZUNvdW50ID0gZmlyc3RQYWdlSW1hZ2VDb3VudDtcblxuICAgICAgICBpZiAoZmxvb3JwbGFuLnBob3Rvc0ZvbGRlcklkKSB7XG4gICAgICAgICAgICBnZXRBc3NldHNGcm9tKGZsb29ycGxhbi5waG90b3NGb2xkZXJJZCkudGhlbihnYWxsZXJ5QXNzZXRzID0+IHtcblxuICAgICAgICAgICAgICAgIGltYWdlcy5wdXNoKC4uLmdhbGxlcnlBc3NldHMpO1xuXG4gICAgICAgICAgICAgICAgaWYgKGltYWdlcy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGJhY2tncm91bmRJbWFnZVVybCA9IGFzc2V0VXJsRnJvbShpbWFnZXNbMV0uaWQsIGZsb29ycGxhbi5wcm9wZXJ0eS5pZCk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChmbG9vcnBsYW4udmlydHVhbFRvdXJMaW5rKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRWaXJ0dWFsVG91cihmbG9vcnBsYW4udmlydHVhbFRvdXJMaW5rKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldFZpcnR1YWxUb3VySW1hZ2VCYWNrZ3JvdW5kKGJhY2tncm91bmRJbWFnZVVybCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaXJzdFBhZ2VDb3VudCAtPSAxO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdG91ckxpbmtzID0gW107XG4gICAgICAgICAgICAgICAgICAgIGlmIChmbG9vcnBsYW4udmlkZW9Ub3VyTGluaylcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvdXJMaW5rcy5wdXNoKGZsb29ycGxhbi52aWRlb1RvdXJMaW5rKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZsb29ycGxhbi50aHJlZVNpeHR5VmlkZW9Ub3VyTGluaylcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvdXJMaW5rcy5wdXNoKGZsb29ycGxhbi50aHJlZVNpeHR5VmlkZW9Ub3VyTGluayk7XG4gICAgICAgICAgICAgICAgICAgIHNldFZpZGVvVG91cnModG91ckxpbmtzKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRvdXJMaW5rcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRWaWRlb1RvdXJJbWFnZUJhY2tncm91bmQoYmFja2dyb3VuZEltYWdlVXJsKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpcnN0UGFnZUNvdW50IC09IDE7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBsZXQgb3RoZXJBc3NldENvdW50cyA9ICh0b3VyTGlua3MubGVuZ3RoID4gMCA/IDEgOiAwKSArIChmbG9vcnBsYW4udmlydHVhbFRvdXJMaW5rID8gMSA6IDApO1xuICAgICAgICAgICAgICAgICAgICBzZXRUb3Vyc0NvdW50KG90aGVyQXNzZXRDb3VudHMpO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9KS5maW5hbGx5KCgpID0+IHtcblxuICAgICAgICAgICAgICAgIGxldCBwYWdlcyA9IDE7XG5cbiAgICAgICAgICAgICAgICBpZiAoaW1hZ2VzLmxlbmd0aCA+IGZpcnN0UGFnZUNvdW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlbWFpbmluZyA9IGltYWdlcy5sZW5ndGggLSBmaXJzdFBhZ2VDb3VudDtcbiAgICAgICAgICAgICAgICAgICAgcGFnZXMgKz0gcmVtYWluaW5nIC8gODtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlbWFpbmluZyAlIDggPiAwKVxuICAgICAgICAgICAgICAgICAgICAgICAgcGFnZXMgKz0gMTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBzZXRUb3RhbFBhZ2VzKE1hdGgudHJ1bmMocGFnZXMpKTtcbiAgICAgICAgICAgICAgICBzZXRGaXJzdFBhZ2VJbWFnZUNvdW50KGZpcnN0UGFnZUNvdW50KTtcbiAgICAgICAgICAgICAgICBzZXRBc3NldHMoaW1hZ2VzKTtcbiAgICAgICAgICAgICAgICBzZXRJc0Fzc2V0c0xvYWRpbmcoZmFsc2UpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzZXRBc3NldHMoaW1hZ2VzKTtcbiAgICAgICAgICAgIHNldElzQXNzZXRzTG9hZGluZyhmYWxzZSk7XG4gICAgICAgIH1cblxuICAgIH0sIFtmbG9vcnBsYW5dKVxuXG5cbiAgICBjb25zdCBwcmludEZsb29ycGxhbkFkZHJlc3MgPSAoKSA9PiB7XG5cbiAgICAgICAgcmV0dXJuIGZsb29ycGxhbi5hZGRyZXNzICsgXCIsIFwiICsgcmVuYWlzc2FuY2UuY2l0eSArIFwiLCBcIiArIHJlbmFpc3NhbmNlLnN0YXRlICsgXCIgXCIgKyBmbG9vcnBsYW4uemlwY29kZTtcbiAgICB9XG4gICAgY29uc3QgaXNGaXJzdFNsaWRlclBhZ2UgPSAoc2xpZGVJbmRleDogbnVtYmVyKSA9PiBzbGlkZUluZGV4ID09PSAwO1xuXG4gICAgY29uc3QgYXNzZXRzVG9TaG93ID0gKHNsaWRlSW5kZXg6IG51bWJlcikgPT4ge1xuXG4gICAgICAgIGlmIChpc0ZpcnN0U2xpZGVyUGFnZShzbGlkZUluZGV4KSkge1xuICAgICAgICAgICAgY29uc29sZS5sb2coXCJmaXJzdFBhZ2VJbWFnZUNvdW50XCIsIGZpcnN0UGFnZUltYWdlQ291bnQpO1xuICAgICAgICAgICAgcmV0dXJuIGFzc2V0cy5zbGljZSgwLCBmaXJzdFBhZ2VJbWFnZUNvdW50IC0gMSk7XG4gICAgICAgIH1cblxuXG4gICAgICAgIGNvbnN0IHN0YXJ0SW5kZXggPSBmaXJzdFBhZ2VJbWFnZUNvdW50IC0gMSArIChHUklEX1NJWkUgKiAoc2xpZGVJbmRleCAtIDEpKVxuICAgICAgICBjb25zdCBlbmRJbmRleCA9IGZpcnN0UGFnZUltYWdlQ291bnQgLSAxICsgKEdSSURfU0laRSAqIHNsaWRlSW5kZXgpXG5cbiAgICAgICAgcmV0dXJuIGFzc2V0cy5zbGljZShzdGFydEluZGV4LCBlbmRJbmRleCA+IGFzc2V0cy5sZW5ndGggPyBhc3NldHMubGVuZ3RoIDogZW5kSW5kZXgpO1xuICAgIH07XG4gICAgcmV0dXJuIChcbiAgICAgICAgPHNlY3Rpb24gY2xhc3NOYW1lPVwic2VjdGlvbi1zaG9ydC10ZXJtLWZsb29ycGxhbi0taGVyb1wiPlxuICAgICAgICAgICAge2lzQXNzZXRzTG9hZGluZyA/IDxHcmlkR2FsbGVyeVNrZWxldG9uLz4gOlxuICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZ2FsbGVyeS1oZXJvXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8R2FsbGVyeU1vZGFsIGFzc2V0cz17YXNzZXRzfSBhc3NldEluRm9jdXM9e2Fzc2V0SW5Gb2N1c31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0QXNzZXRJbkZvY3VzPXtzZXRBc3NldEluRm9jdXN9IHNob3dNb2RhbD17c2hvd01vZGFsfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhc3NldEluZGV4PXthc3NldEluZGV4fSBzZXRBc3NldEluZGV4PXtzZXRBc3NldEluZGV4fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RhbENsb3NlSGFuZGxlcj17bW9kYWxDbG9zZUhhbmRsZXJ9IHByb3BlcnR5SWQ9e2Zsb29ycGxhbi5wcm9wZXJ0eS5pZH0vPlxuICAgICAgICAgICAgICAgICAgICAgICAge2N1cnJlbnRWaWV3ID09PSBcInBob3RvXCIgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicGhvdG8tdmlldyBtYWluXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SXRlbVNsaWRlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsaWRlckl0ZW1zPXtbLi4uQXJyYXkodG90YWxQYWdlcyldLm1hcCgoeCwgaSkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGkgPT09IDApID8gPEdyaWRHYWxsZXJ5Q292ZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhc3NldHM9e2Fzc2V0c1RvU2hvdyhpKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9vcnBsYW5BZGRyZXNzPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZHJlc3M6IGZsb29ycGxhbi5hZGRyZXNzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaXR5OiByZW5haXNzYW5jZS5jaXR5LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZTogcmVuYWlzc2FuY2Uuc3RhdGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHppcGNvZGU6IGZsb29ycGxhbi56aXBjb2RlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0eUlkPXtmbG9vcnBsYW4ucHJvcGVydHkuaWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVyb0ltYWdlPXthc3NldHNbMF19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2VDbGlja2VkSGFuZGxlcj17aW1hZ2VDbGlja2VkSGFuZGxlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3ZWJTcGVjaWFscz17d2ViU3BlY2lhbHN9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNBdmFpbGFibGVOb3c9e2ZhbHNlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldEN1cnJlbnRWaWV3PXtzZXRDdXJyZW50Vmlld31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWRlb1RvdXJJbWFnZUJhY2tncm91bmQ9e3ZpZGVvVG91ckltYWdlQmFja2dyb3VuZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aXJ0dWFsVG91ckltYWdlQmFja2dyb3VuZD17dmlydHVhbFRvdXJJbWFnZUJhY2tncm91bmR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd09ubHlIZXJvSW1hZ2U9e2Fzc2V0cy5sZW5ndGggPT09IDF9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPiA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8R3JpZEdhbGxlcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWFnZUNsaWNrZWRIYW5kbGVyPXtpbWFnZUNsaWNrZWRIYW5kbGVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnR5SWQ9e2Zsb29ycGxhbi5wcm9wZXJ0eS5pZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhc3NldHM9e2Fzc2V0c1RvU2hvdyhpKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX0vPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJwaG90by12aWV3IG1vYmlsZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEdyaWRHYWxsZXJ5TW9iaWxlIGFzc2V0cz17YXNzZXRzfSB0b3Vyc0NvdW50PXt0b3Vyc0NvdW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb29ycGxhbkFkZHJlc3M9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkcmVzczogZmxvb3JwbGFuLmFkZHJlc3MsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNpdHk6IHJlbmFpc3NhbmNlLmNpdHksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlOiByZW5haXNzYW5jZS5zdGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgemlwY29kZTogZmxvb3JwbGFuLnppcGNvZGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpcnR1YWxUb3VyPXt2aXJ0dWFsVG91cn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRDdXJyZW50Vmlldz17c2V0Q3VycmVudFZpZXd9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2VDbGlja2VkSGFuZGxlcj17aW1hZ2VDbGlja2VkSGFuZGxlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3ZWJTcGVjaWFscz17d2ViU3BlY2lhbHN9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNBdmFpbGFibGVOb3c9e2ZhbHNlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnR5SWQ9e2Zsb29ycGxhbi5wcm9wZXJ0eS5pZH0vPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Lz4gOiBcIlwiXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtjdXJyZW50VmlldyA9PT0gXCJWaWRlbyBUb3VyXCIgPyA8VmlkZW9Ub3VycyB2aWRlb1RvdXJVcmxzPXt2aWRlb1RvdXJzfS8+IDogXCJcIn1cbiAgICAgICAgICAgICAgICAgICAgICAgIHtjdXJyZW50VmlldyA9PT0gXCJWaXJ0dWFsIFRvdXJcIiA/IDxWaXJ0dWFsVG91ciB2aXJ0dWFsVG91clVybD17dmlydHVhbFRvdXJ9Lz4gOiBcIlwifVxuICAgICAgICAgICAgICAgICAgICAgICAgPEhlcm9CYWRnZVN0YXRzIGN1cnJlbnRWaWV3PXtjdXJyZW50Vmlld30gc2V0Q3VycmVudFZpZXc9e3NldEN1cnJlbnRWaWV3fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvdGFsQXNzZXRzPXthc3NldHM/Lmxlbmd0aH0gdmlkZW9Ub3Vycz17dmlkZW9Ub3Vyc30gdmlydHVhbFRvdXI9e3ZpcnR1YWxUb3VyfS8+XG5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC8+XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxBc3NldE1vZGFsIGFzc2V0VXJsPXtmbG9vcnBsYW4ucGhvdG99IGFzc2V0VGl0bGU9XCJGbG9vcnBsYW4gaW1hZ2VcIiBzaG93TW9kYWw9e3Nob3dGbG9vcnBsYW5Nb2RhbH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHNldFNob3dNb2RhbD17c2V0U2hvd0Zsb29ycGxhbk1vZGFsfSBwcm9wZXJ0eUlkPXtmbG9vcnBsYW4ucHJvcGVydHkuaWR9Lz5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbG9vcnBsYW4tLXR3by1jb2x1bW5zXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxvb3JwbGFuLWNvbHVtbi1sZWZ0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aDM+e2Zsb29ycGxhbi5uYW1lfTwvaDM+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aDQ+JHtmbG9vcnBsYW4ucHJpY2VGb3I0YW5kTW9yZU1vbnRoc30gLVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7Zmxvb3JwbGFuLnByaWNlRm9yNVRvMTNEYXlzfS9EYXk8L2g0PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwiZmxvb3JwbGFuLS1kZXNjcmlwdGlvblwiPntwcmludEZsb29ycGxhbkFkZHJlc3MoKX08L3A+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxvb3JwbGFuLS1mZWF0dXJlZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b24gc2l6ZT1cInNtYWxsXCIgb25DbGljaz17KCkgPT4gc2V0U2hvd0Zsb29ycGxhbk1vZGFsKHRydWUpfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEljb24gbmFtZT1cIm1heFwiIG9yaWVudGF0aW9uPVwicmlnaHRcIj5WaWV3Rmxvb3JwbGFuPC9JY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwmbmJzcDsmbmJzcDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uIHNpemU9XCJzbWFsbFwiIG9uQ2xpY2s9eygpID0+IGhhbmRsZVJlZlRvTWFwKCl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SWNvbiBvcmllbnRhdGlvbj1cInJpZ2h0XCIgbmFtZT1cIm1hcFwiPlZpZXcgb24gTWFwPC9JY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtmbG9vcnBsYW4ucHJvcGVydHkuYnVzUm91dGVzLmxlbmd0aCA+IDAgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5CdXMgUm91dGVzOiZuYnNwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2Zsb29ycGxhbi5wcm9wZXJ0eS5idXNSb3V0ZXMubWFwKChidXNSb3V0ZSwgaW5kZXgpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4ga2V5PXtcImJ1cy1yb3V0ZS1cIiArIGluZGV4fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj17YnVzUm91dGUuYnVzUm91dGVMaW5rfSB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWw9XCJub3JlZmVycmVyXCI+e2J1c1JvdXRlLmJ1c1JvdXRlfTwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2luZGV4IDwgZmxvb3JwbGFuLnByb3BlcnR5LmJ1c1JvdXRlcy5sZW5ndGggLSAxID8gXCIsIFwiIDogXCJcIn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJcIn1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtYWluXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIiBmbG9vcnBsYW4tY29sdW1uLXJpZ2h0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbiB2YXJpYW50PVwicHJpbWFyeVwiIHNpemU9XCJtZWRpdW1cIiBvbkNsaWNrPXtjb250YWN0Q2xpY2tIYW5kbGVyfT5jb250YWN0IHVzPC9CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbiB2YXJpYW50PVwidGVydGlhcnlcIiBzaXplPVwibWVkaXVtXCIgb25DbGljaz17YXBwbHlDbGlja0hhbmRsZXJ9PmFwcGx5PC9CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFNoYXJlQnV0dG9uIHRpdGxlPVwiQ2hlY2sgb3V0IHRoaXMgYXBhcnRtZW50XCIgc2l6ZT1cImxhcmdlXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvc2VjdGlvbj5cbiAgICApO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBTaG9ydFRlcm1GbG9vcnBsYW5IZXJvUHJvcHMge1xuICAgIGZsb29ycGxhbjogRmxvb3JwbGFuU2hvcnRUZXJtO1xuICAgIHdlYlNwZWNpYWxzOiBXZWJTcGVjaWFsW107XG4gICAgY29udGFjdENsaWNrSGFuZGxlcjogKCkgPT4gdm9pZDtcbiAgICBhcHBseUNsaWNrSGFuZGxlcjogKCkgPT4gdm9pZDtcbiAgICBoYW5kbGVSZWZUb01hcDogKCkgPT4gdm9pZDtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0FBLE9BQUE7QUFDQSxJQUFBQyxVQUFBLEdBQUFELE9BQUE7QUFHQSxJQUFBRSxNQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxhQUFBLEdBQUFILE9BQUE7QUFFQSxJQUFBSSxnQkFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssb0JBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLGFBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLGtCQUFBLEdBQUFQLE9BQUE7QUFDQSxJQUFBUSxXQUFBLEdBQUFSLE9BQUE7QUFDQSxJQUFBUyxZQUFBLEdBQUFULE9BQUE7QUFDQSxJQUFBVSxlQUFBLEdBQUFWLE9BQUE7QUFDQSxJQUFBVyxXQUFBLEdBQUFYLE9BQUE7QUFDQSxJQUFBWSxpQkFBQSxHQUFBWixPQUFBO0FBQ0EsSUFBQWEsWUFBQSxHQUFBYixPQUFBO0FBQW1ELFNBQUFjLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLENBQUFDLENBQUEsV0FBQUEsQ0FBQSxHQUFBRyxDQUFBLEdBQUFELENBQUEsS0FBQUYsQ0FBQTtBQUFBLFNBQUFoQix3QkFBQWdCLENBQUEsRUFBQUUsQ0FBQSxTQUFBQSxDQUFBLElBQUFGLENBQUEsSUFBQUEsQ0FBQSxDQUFBSSxVQUFBLFNBQUFKLENBQUEsZUFBQUEsQ0FBQSx1QkFBQUEsQ0FBQSx5QkFBQUEsQ0FBQSxXQUFBSyxPQUFBLEVBQUFMLENBQUEsUUFBQUcsQ0FBQSxHQUFBSix3QkFBQSxDQUFBRyxDQUFBLE9BQUFDLENBQUEsSUFBQUEsQ0FBQSxDQUFBRyxH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
|
|
231
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfbXVuY2hlclVpIiwiX1V0aWxzIiwiX0Fzc2V0U2VydmljZSIsIl9SZW5haXNzYW5jZURhdGEiLCJfR3JpZEdhbGxlcnlTa2VsZXRvbiIsIl9HYWxsZXJ5TW9kYWwiLCJfR3JpZEdhbGxlcnlNb2JpbGUiLCJfVmlkZW9Ub3VycyIsIl9WaXJ0dWFsVG91ciIsIl9IZXJvQmFkZ2VTdGF0cyIsIl9Bc3NldE1vZGFsIiwiX0dyaWRHYWxsZXJ5Q292ZXIiLCJfR3JpZEdhbGxlcnkiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJTaG9ydFRlcm1GbG9vcnBsYW5IZXJvIiwiX3JlZiIsImZsb29ycGxhbiIsImNvbnRhY3RDbGlja0hhbmRsZXIiLCJhcHBseUNsaWNrSGFuZGxlciIsImhhbmRsZVJlZlRvTWFwIiwid2ViU3BlY2lhbHMiLCJhc3NldHMiLCJzZXRBc3NldHMiLCJ1c2VTdGF0ZSIsImlzQXNzZXRzTG9hZGluZyIsInNldElzQXNzZXRzTG9hZGluZyIsInZpZGVvVG91cnMiLCJzZXRWaWRlb1RvdXJzIiwidmlydHVhbFRvdXIiLCJzZXRWaXJ0dWFsVG91ciIsInVuZGVmaW5lZCIsInZpZGVvVG91ckltYWdlQmFja2dyb3VuZCIsInNldFZpZGVvVG91ckltYWdlQmFja2dyb3VuZCIsInZpcnR1YWxUb3VySW1hZ2VCYWNrZ3JvdW5kIiwic2V0VmlydHVhbFRvdXJJbWFnZUJhY2tncm91bmQiLCJzaG93Rmxvb3JwbGFuTW9kYWwiLCJzZXRTaG93Rmxvb3JwbGFuTW9kYWwiLCJ0b3RhbFBhZ2VzIiwic2V0VG90YWxQYWdlcyIsInRvdXJzQ291bnQiLCJzZXRUb3Vyc0NvdW50IiwiY3VycmVudFZpZXciLCJzZXRDdXJyZW50VmlldyIsImFzc2V0SW5Gb2N1cyIsInNldEFzc2V0SW5Gb2N1cyIsImFzc2V0SW5kZXgiLCJzZXRBc3NldEluZGV4Iiwic2hvd01vZGFsIiwic2V0U2hvd01vZGFsIiwiZmlyc3RQYWdlSW1hZ2VDb3VudCIsInNldEZpcnN0UGFnZUltYWdlQ291bnQiLCJHUklEX1NJWkUiLCJpbWFnZUNsaWNrZWRIYW5kbGVyIiwiaW1hZ2UiLCJmaW5kSW5kZXgiLCJ2YWx1ZSIsImlkIiwibW9kYWxDbG9zZUhhbmRsZXIiLCJ1c2VFZmZlY3QiLCJpbWFnZXMiLCJwdXNoIiwiZXh0cmFjdElkRnJvbSIsImNvdmVySW1hZ2UiLCJuYW1lIiwiZmlyc3RQYWdlQ291bnQiLCJwaG90b3NGb2xkZXJJZCIsImdldEFzc2V0c0Zyb20iLCJ0aGVuIiwiZ2FsbGVyeUFzc2V0cyIsImxlbmd0aCIsImJhY2tncm91bmRJbWFnZVVybCIsImFzc2V0VXJsRnJvbSIsInByb3BlcnR5IiwidmlydHVhbFRvdXJMaW5rIiwidG91ckxpbmtzIiwidmlkZW9Ub3VyTGluayIsInRocmVlU2l4dHlWaWRlb1RvdXJMaW5rIiwib3RoZXJBc3NldENvdW50cyIsImZpbmFsbHkiLCJwYWdlcyIsInJlbWFpbmluZyIsIk1hdGgiLCJ0cnVuYyIsInByaW50Rmxvb3JwbGFuQWRkcmVzcyIsImFkZHJlc3MiLCJyZW5haXNzYW5jZSIsImNpdHkiLCJzdGF0ZSIsInppcGNvZGUiLCJpc0ZpcnN0U2xpZGVyUGFnZSIsInNsaWRlSW5kZXgiLCJhc3NldHNUb1Nob3ciLCJjb25zb2xlIiwibG9nIiwic2xpY2UiLCJzdGFydEluZGV4IiwiZW5kSW5kZXgiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwiR3JpZEdhbGxlcnlTa2VsZXRvbiIsIkZyYWdtZW50IiwiR2FsbGVyeU1vZGFsIiwicHJvcGVydHlJZCIsIkl0ZW1TbGlkZXIiLCJzbGlkZXJJdGVtcyIsIkFycmF5IiwibWFwIiwieCIsIkdyaWRHYWxsZXJ5Q292ZXIiLCJoZXJvSW1hZ2UiLCJpc0F2YWlsYWJsZU5vdyIsInNob3dPbmx5SGVyb0ltYWdlIiwiR3JpZEdhbGxlcnkiLCJHcmlkR2FsbGVyeU1vYmlsZSIsIlZpZGVvVG91cnMiLCJ2aWRlb1RvdXJVcmxzIiwiVmlydHVhbFRvdXIiLCJ2aXJ0dWFsVG91clVybCIsIkhlcm9CYWRnZVN0YXRzIiwidG90YWxBc3NldHMiLCJBc3NldE1vZGFsIiwiYXNzZXRVcmwiLCJwaG90byIsImFzc2V0VGl0bGUiLCJwcmljZUZvcjRhbmRNb3JlTW9udGhzIiwicHJpY2VGb3I1VG8xM0RheXMiLCJCdXR0b24iLCJzaXplIiwib25DbGljayIsIkljb24iLCJvcmllbnRhdGlvbiIsImJ1c1JvdXRlcyIsImJ1c1JvdXRlIiwiaW5kZXgiLCJrZXkiLCJocmVmIiwiYnVzUm91dGVMaW5rIiwidGFyZ2V0IiwicmVsIiwidmFyaWFudCIsIlNoYXJlQnV0dG9uIiwidGl0bGUiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Nob3J0LXRlcm0vU2hvcnRUZXJtRmxvb3JwbGFuSGVyby50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7dXNlRWZmZWN0LCB1c2VTdGF0ZX0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgXCIuL2Fzc2V0cy9TaG9ydFRlcm1GbG9vcnBsYW5IZXJvLnNjc3NcIjtcbmltcG9ydCB7QnV0dG9uLCBJY29uLCBJdGVtU2xpZGVyLCBTaGFyZUJ1dHRvbn0gZnJvbSBcIkBjb250ZW50bXVuY2gvbXVuY2hlci11aVwiO1xuaW1wb3J0IHtGbG9vcnBsYW5TaG9ydFRlcm19IGZyb20gXCIuL2RhdGEvU2hvcnRUZXJtXCI7XG5pbXBvcnQge0Fzc2V0fSBmcm9tIFwiLi4vYXNzZXQvZGF0YS9Bc3NldFwiO1xuaW1wb3J0IHtleHRyYWN0SWRGcm9tfSBmcm9tIFwiLi4vdXRpbHMvVXRpbHNcIjtcbmltcG9ydCB7YXNzZXRVcmxGcm9tLCBnZXRBc3NldHNGcm9tfSBmcm9tIFwiLi4vYXNzZXQvc2VydmljZS9Bc3NldFNlcnZpY2VcIjtcbmltcG9ydCB7V2ViU3BlY2lhbH0gZnJvbSBcIi4uL2Zsb29ycGxhbi9kYXRhL0Zsb29ycGxhblwiO1xuaW1wb3J0IHtyZW5haXNzYW5jZX0gZnJvbSBcIi4uL2RhdGEvUmVuYWlzc2FuY2VEYXRhXCI7XG5pbXBvcnQge0dyaWRHYWxsZXJ5U2tlbGV0b259IGZyb20gXCIuLi9nYWxsZXJ5L0dyaWRHYWxsZXJ5U2tlbGV0b25cIjtcbmltcG9ydCB7R2FsbGVyeU1vZGFsfSBmcm9tIFwiLi4vZ2FsbGVyeS9HYWxsZXJ5TW9kYWxcIjtcbmltcG9ydCB7R3JpZEdhbGxlcnlNb2JpbGV9IGZyb20gXCIuLi9nYWxsZXJ5L0dyaWRHYWxsZXJ5TW9iaWxlXCI7XG5pbXBvcnQge1ZpZGVvVG91cnN9IGZyb20gXCIuLi9nYWxsZXJ5L1ZpZGVvVG91cnNcIjtcbmltcG9ydCB7VmlydHVhbFRvdXJ9IGZyb20gXCIuLi9nYWxsZXJ5L1ZpcnR1YWxUb3VyXCI7XG5pbXBvcnQge0hlcm9CYWRnZVN0YXRzfSBmcm9tIFwiLi4vZmxvb3JwbGFuL3NlY3Rpb24vSGVyb0JhZGdlU3RhdHNcIjtcbmltcG9ydCB7QXNzZXRNb2RhbH0gZnJvbSBcIi4uL2Fzc2V0L0Fzc2V0TW9kYWxcIjtcbmltcG9ydCB7R3JpZEdhbGxlcnlDb3ZlciwgVG91clR5cGV9IGZyb20gXCIuLi9nYWxsZXJ5L0dyaWRHYWxsZXJ5Q292ZXJcIjtcbmltcG9ydCB7R3JpZEdhbGxlcnl9IGZyb20gXCIuLi9nYWxsZXJ5L0dyaWRHYWxsZXJ5XCI7XG5cbmV4cG9ydCBjb25zdCBTaG9ydFRlcm1GbG9vcnBsYW5IZXJvOiBSZWFjdC5GQzxTaG9ydFRlcm1GbG9vcnBsYW5IZXJvUHJvcHM+ID0gKFxuICAgIHtmbG9vcnBsYW4sIGNvbnRhY3RDbGlja0hhbmRsZXIsIGFwcGx5Q2xpY2tIYW5kbGVyLCBoYW5kbGVSZWZUb01hcCwgd2ViU3BlY2lhbHN9KSA9PiB7XG4gICAgY29uc3QgW2Fzc2V0cywgc2V0QXNzZXRzXSA9IHVzZVN0YXRlPEFzc2V0W10+KFtdKTtcbiAgICBjb25zdCBbaXNBc3NldHNMb2FkaW5nLCBzZXRJc0Fzc2V0c0xvYWRpbmddID0gdXNlU3RhdGUodHJ1ZSk7XG4gICAgY29uc3QgW3ZpZGVvVG91cnMsIHNldFZpZGVvVG91cnNdID0gdXNlU3RhdGU8c3RyaW5nW10+KFtdKTtcbiAgICBjb25zdCBbdmlydHVhbFRvdXIsIHNldFZpcnR1YWxUb3VyXSA9IHVzZVN0YXRlPHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuICAgIGNvbnN0IFt2aWRlb1RvdXJJbWFnZUJhY2tncm91bmQsIHNldFZpZGVvVG91ckltYWdlQmFja2dyb3VuZF0gPSB1c2VTdGF0ZTxzdHJpbmc+KCk7XG4gICAgY29uc3QgW3ZpcnR1YWxUb3VySW1hZ2VCYWNrZ3JvdW5kLCBzZXRWaXJ0dWFsVG91ckltYWdlQmFja2dyb3VuZF0gPSB1c2VTdGF0ZTxzdHJpbmc+KCk7XG5cbiAgICBjb25zdCBbc2hvd0Zsb29ycGxhbk1vZGFsLCBzZXRTaG93Rmxvb3JwbGFuTW9kYWxdID0gdXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IFt0b3RhbFBhZ2VzLCBzZXRUb3RhbFBhZ2VzXSA9IHVzZVN0YXRlKDEpO1xuICAgIGNvbnN0IFt0b3Vyc0NvdW50LCBzZXRUb3Vyc0NvdW50XSA9IHVzZVN0YXRlKDEpO1xuICAgIGNvbnN0IFtjdXJyZW50Vmlldywgc2V0Q3VycmVudFZpZXddID0gdXNlU3RhdGU8XCJwaG90b1wiIHwgVG91clR5cGU+KFwicGhvdG9cIik7XG4gICAgY29uc3QgW2Fzc2V0SW5Gb2N1cywgc2V0QXNzZXRJbkZvY3VzXSA9IHVzZVN0YXRlPEFzc2V0Pih7fSBhcyBBc3NldCk7XG4gICAgY29uc3QgW2Fzc2V0SW5kZXgsIHNldEFzc2V0SW5kZXhdID0gdXNlU3RhdGUoMCk7XG4gICAgY29uc3QgW3Nob3dNb2RhbCwgc2V0U2hvd01vZGFsXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCBbZmlyc3RQYWdlSW1hZ2VDb3VudCwgc2V0Rmlyc3RQYWdlSW1hZ2VDb3VudF0gPSB1c2VTdGF0ZSg0KTtcblxuICAgIGNvbnN0IEdSSURfU0laRSA9IDg7XG4gICAgY29uc3QgaW1hZ2VDbGlja2VkSGFuZGxlciA9IChpbWFnZTogQXNzZXQpID0+IHtcbiAgICAgICAgc2V0U2hvd01vZGFsKHRydWUpO1xuICAgICAgICBzZXRBc3NldEluRm9jdXMoaW1hZ2UpO1xuICAgICAgICBzZXRBc3NldEluZGV4KGFzc2V0cy5maW5kSW5kZXgodmFsdWUgPT4gdmFsdWUuaWQgPT09IGltYWdlLmlkKSk7XG4gICAgfTtcbiAgICBjb25zdCBtb2RhbENsb3NlSGFuZGxlciA9ICgpID0+IHtcbiAgICAgICAgc2V0U2hvd01vZGFsKGZhbHNlKTtcbiAgICAgICAgc2V0QXNzZXRJbkZvY3VzKHt9IGFzIEFzc2V0KTtcbiAgICB9O1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGltYWdlczogQXNzZXRbXSA9IFtdO1xuICAgICAgICBpbWFnZXMucHVzaCh7aWQ6IGV4dHJhY3RJZEZyb20oZmxvb3JwbGFuLmNvdmVySW1hZ2UpLCBuYW1lOiBcImNvdmVyIGltYWdlXCJ9IGFzIEFzc2V0KTtcblxuICAgICAgICBsZXQgZmlyc3RQYWdlQ291bnQgPSBmaXJzdFBhZ2VJbWFnZUNvdW50O1xuXG4gICAgICAgIGlmIChmbG9vcnBsYW4ucGhvdG9zRm9sZGVySWQpIHtcbiAgICAgICAgICAgIGdldEFzc2V0c0Zyb20oZmxvb3JwbGFuLnBob3Rvc0ZvbGRlcklkKS50aGVuKGdhbGxlcnlBc3NldHMgPT4ge1xuXG4gICAgICAgICAgICAgICAgaW1hZ2VzLnB1c2goLi4uZ2FsbGVyeUFzc2V0cyk7XG5cbiAgICAgICAgICAgICAgICBpZiAoaW1hZ2VzLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYmFja2dyb3VuZEltYWdlVXJsID0gYXNzZXRVcmxGcm9tKGltYWdlc1sxXS5pZCwgZmxvb3JwbGFuLnByb3BlcnR5LmlkKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZsb29ycGxhbi52aXJ0dWFsVG91ckxpbmspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldFZpcnR1YWxUb3VyKGZsb29ycGxhbi52aXJ0dWFsVG91ckxpbmspO1xuICAgICAgICAgICAgICAgICAgICAgICAgc2V0VmlydHVhbFRvdXJJbWFnZUJhY2tncm91bmQoYmFja2dyb3VuZEltYWdlVXJsKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpcnN0UGFnZUNvdW50IC09IDE7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBjb25zdCB0b3VyTGlua3MgPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZsb29ycGxhbi52aWRlb1RvdXJMaW5rKVxuICAgICAgICAgICAgICAgICAgICAgICAgdG91ckxpbmtzLnB1c2goZmxvb3JwbGFuLnZpZGVvVG91ckxpbmspO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZmxvb3JwbGFuLnRocmVlU2l4dHlWaWRlb1RvdXJMaW5rKVxuICAgICAgICAgICAgICAgICAgICAgICAgdG91ckxpbmtzLnB1c2goZmxvb3JwbGFuLnRocmVlU2l4dHlWaWRlb1RvdXJMaW5rKTtcbiAgICAgICAgICAgICAgICAgICAgc2V0VmlkZW9Ub3Vycyh0b3VyTGlua3MpO1xuICAgICAgICAgICAgICAgICAgICBpZiAodG91ckxpbmtzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldFZpZGVvVG91ckltYWdlQmFja2dyb3VuZChiYWNrZ3JvdW5kSW1hZ2VVcmwpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3RQYWdlQ291bnQgLT0gMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGxldCBvdGhlckFzc2V0Q291bnRzID0gKHRvdXJMaW5rcy5sZW5ndGggPiAwID8gMSA6IDApICsgKGZsb29ycGxhbi52aXJ0dWFsVG91ckxpbmsgPyAxIDogMCk7XG4gICAgICAgICAgICAgICAgICAgIHNldFRvdXJzQ291bnQob3RoZXJBc3NldENvdW50cyk7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH0pLmZpbmFsbHkoKCkgPT4ge1xuXG4gICAgICAgICAgICAgICAgbGV0IHBhZ2VzID0gMTtcblxuICAgICAgICAgICAgICAgIGlmIChpbWFnZXMubGVuZ3RoID4gZmlyc3RQYWdlQ291bnQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVtYWluaW5nID0gaW1hZ2VzLmxlbmd0aCAtIGZpcnN0UGFnZUNvdW50O1xuICAgICAgICAgICAgICAgICAgICBwYWdlcyArPSByZW1haW5pbmcgLyA4O1xuICAgICAgICAgICAgICAgICAgICBpZiAocmVtYWluaW5nICUgOCA+IDApXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWdlcyArPSAxO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHNldFRvdGFsUGFnZXMoTWF0aC50cnVuYyhwYWdlcykpO1xuICAgICAgICAgICAgICAgIHNldEZpcnN0UGFnZUltYWdlQ291bnQoZmlyc3RQYWdlQ291bnQpO1xuICAgICAgICAgICAgICAgIHNldEFzc2V0cyhpbWFnZXMpO1xuICAgICAgICAgICAgICAgIHNldElzQXNzZXRzTG9hZGluZyhmYWxzZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHNldEFzc2V0cyhpbWFnZXMpO1xuICAgICAgICAgICAgc2V0SXNBc3NldHNMb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgfVxuXG4gICAgfSwgW2Zsb29ycGxhbl0pXG5cblxuICAgIGNvbnN0IHByaW50Rmxvb3JwbGFuQWRkcmVzcyA9ICgpID0+IHtcblxuICAgICAgICByZXR1cm4gZmxvb3JwbGFuLmFkZHJlc3MgKyBcIiwgXCIgKyByZW5haXNzYW5jZS5jaXR5ICsgXCIsIFwiICsgcmVuYWlzc2FuY2Uuc3RhdGUgKyBcIiBcIiArIGZsb29ycGxhbi56aXBjb2RlO1xuICAgIH1cbiAgICBjb25zdCBpc0ZpcnN0U2xpZGVyUGFnZSA9IChzbGlkZUluZGV4OiBudW1iZXIpID0+IHNsaWRlSW5kZXggPT09IDA7XG5cbiAgICBjb25zdCBhc3NldHNUb1Nob3cgPSAoc2xpZGVJbmRleDogbnVtYmVyKSA9PiB7XG5cbiAgICAgICAgaWYgKGlzRmlyc3RTbGlkZXJQYWdlKHNsaWRlSW5kZXgpKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcImZpcnN0UGFnZUltYWdlQ291bnRcIiwgZmlyc3RQYWdlSW1hZ2VDb3VudCk7XG4gICAgICAgICAgICByZXR1cm4gYXNzZXRzLnNsaWNlKDAsIGZpcnN0UGFnZUltYWdlQ291bnQgLSAxKTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgY29uc3Qgc3RhcnRJbmRleCA9IGZpcnN0UGFnZUltYWdlQ291bnQgLSAxICsgKEdSSURfU0laRSAqIChzbGlkZUluZGV4IC0gMSkpXG4gICAgICAgIGNvbnN0IGVuZEluZGV4ID0gZmlyc3RQYWdlSW1hZ2VDb3VudCAtIDEgKyAoR1JJRF9TSVpFICogc2xpZGVJbmRleClcblxuICAgICAgICByZXR1cm4gYXNzZXRzLnNsaWNlKHN0YXJ0SW5kZXgsIGVuZEluZGV4ID4gYXNzZXRzLmxlbmd0aCA/IGFzc2V0cy5sZW5ndGggOiBlbmRJbmRleCk7XG4gICAgfTtcbiAgICByZXR1cm4gKFxuICAgICAgICA8c2VjdGlvbiBjbGFzc05hbWU9XCJzZWN0aW9uLXNob3J0LXRlcm0tZmxvb3JwbGFuLS1oZXJvXCI+XG4gICAgICAgICAgICB7aXNBc3NldHNMb2FkaW5nID8gPEdyaWRHYWxsZXJ5U2tlbGV0b24vPiA6XG4gICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJnYWxsZXJ5LWhlcm9cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxHYWxsZXJ5TW9kYWwgYXNzZXRzPXthc3NldHN9IGFzc2V0SW5Gb2N1cz17YXNzZXRJbkZvY3VzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRBc3NldEluRm9jdXM9e3NldEFzc2V0SW5Gb2N1c30gc2hvd01vZGFsPXtzaG93TW9kYWx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFzc2V0SW5kZXg9e2Fzc2V0SW5kZXh9IHNldEFzc2V0SW5kZXg9e3NldEFzc2V0SW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGFsQ2xvc2VIYW5kbGVyPXttb2RhbENsb3NlSGFuZGxlcn0gcHJvcGVydHlJZD17Zmxvb3JwbGFuLnByb3BlcnR5LmlkfS8+XG4gICAgICAgICAgICAgICAgICAgICAgICB7Y3VycmVudFZpZXcgPT09IFwicGhvdG9cIiA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJwaG90by12aWV3IG1haW5cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJdGVtU2xpZGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xpZGVySXRlbXM9e1suLi5BcnJheSh0b3RhbFBhZ2VzKV0ubWFwKCh4LCBpKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaSA9PT0gMCkgPyA8R3JpZEdhbGxlcnlDb3ZlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFzc2V0cz17YXNzZXRzVG9TaG93KGkpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZHJlc3M9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkcmVzczogZmxvb3JwbGFuLmFkZHJlc3MsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNpdHk6IHJlbmFpc3NhbmNlLmNpdHksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlOiByZW5haXNzYW5jZS5zdGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgemlwY29kZTogZmxvb3JwbGFuLnppcGNvZGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnR5SWQ9e2Zsb29ycGxhbi5wcm9wZXJ0eS5pZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZXJvSW1hZ2U9e2Fzc2V0c1swXX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWFnZUNsaWNrZWRIYW5kbGVyPXtpbWFnZUNsaWNrZWRIYW5kbGVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdlYlNwZWNpYWxzPXt3ZWJTcGVjaWFsc31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0F2YWlsYWJsZU5vdz17ZmFsc2V9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0Q3VycmVudFZpZXc9e3NldEN1cnJlbnRWaWV3fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZGVvVG91ckltYWdlQmFja2dyb3VuZD17dmlkZW9Ub3VySW1hZ2VCYWNrZ3JvdW5kfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpcnR1YWxUb3VySW1hZ2VCYWNrZ3JvdW5kPXt2aXJ0dWFsVG91ckltYWdlQmFja2dyb3VuZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93T25seUhlcm9JbWFnZT17YXNzZXRzLmxlbmd0aCA9PT0gMX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+IDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxHcmlkR2FsbGVyeVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlQ2xpY2tlZEhhbmRsZXI9e2ltYWdlQ2xpY2tlZEhhbmRsZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydHlJZD17Zmxvb3JwbGFuLnByb3BlcnR5LmlkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFzc2V0cz17YXNzZXRzVG9TaG93KGkpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfS8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInBob3RvLXZpZXcgbW9iaWxlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8R3JpZEdhbGxlcnlNb2JpbGUgYXNzZXRzPXthc3NldHN9IHRvdXJzQ291bnQ9e3RvdXJzQ291bnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkcmVzcz17e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRyZXNzOiBmbG9vcnBsYW4uYWRkcmVzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2l0eTogcmVuYWlzc2FuY2UuY2l0eSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGU6IHJlbmFpc3NhbmNlLnN0YXRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB6aXBjb2RlOiBmbG9vcnBsYW4uemlwY29kZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlydHVhbFRvdXI9e3ZpcnR1YWxUb3VyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldEN1cnJlbnRWaWV3PXtzZXRDdXJyZW50Vmlld31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWFnZUNsaWNrZWRIYW5kbGVyPXtpbWFnZUNsaWNrZWRIYW5kbGVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdlYlNwZWNpYWxzPXt3ZWJTcGVjaWFsc31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0F2YWlsYWJsZU5vdz17ZmFsc2V9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydHlJZD17Zmxvb3JwbGFuLnByb3BlcnR5LmlkfS8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvPiA6IFwiXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAge2N1cnJlbnRWaWV3ID09PSBcIlZpZGVvIFRvdXJcIiA/IDxWaWRlb1RvdXJzIHZpZGVvVG91clVybHM9e3ZpZGVvVG91cnN9Lz4gOiBcIlwifVxuICAgICAgICAgICAgICAgICAgICAgICAge2N1cnJlbnRWaWV3ID09PSBcIlZpcnR1YWwgVG91clwiID8gPFZpcnR1YWxUb3VyIHZpcnR1YWxUb3VyVXJsPXt2aXJ0dWFsVG91cn0vPiA6IFwiXCJ9XG4gICAgICAgICAgICAgICAgICAgICAgICA8SGVyb0JhZGdlU3RhdHMgY3VycmVudFZpZXc9e2N1cnJlbnRWaWV3fSBzZXRDdXJyZW50Vmlldz17c2V0Q3VycmVudFZpZXd9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG90YWxBc3NldHM9e2Fzc2V0cz8ubGVuZ3RofSB2aWRlb1RvdXJzPXt2aWRlb1RvdXJzfSB2aXJ0dWFsVG91cj17dmlydHVhbFRvdXJ9Lz5cblxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8Lz5cblxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPEFzc2V0TW9kYWwgYXNzZXRVcmw9e2Zsb29ycGxhbi5waG90b30gYXNzZXRUaXRsZT1cIkZsb29ycGxhbiBpbWFnZVwiIHNob3dNb2RhbD17c2hvd0Zsb29ycGxhbk1vZGFsfVxuICAgICAgICAgICAgICAgICAgICAgICAgc2V0U2hvd01vZGFsPXtzZXRTaG93Rmxvb3JwbGFuTW9kYWx9IHByb3BlcnR5SWQ9e2Zsb29ycGxhbi5wcm9wZXJ0eS5pZH0vPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsb29ycGxhbi0tdHdvLWNvbHVtbnNcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbG9vcnBsYW4tY29sdW1uLWxlZnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxoMz57Zmxvb3JwbGFuLm5hbWV9PC9oMz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxoND4ke2Zsb29ycGxhbi5wcmljZUZvcjRhbmRNb3JlTW9udGhzfSAtXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtmbG9vcnBsYW4ucHJpY2VGb3I1VG8xM0RheXN9L0RheTwvaDQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJmbG9vcnBsYW4tLWRlc2NyaXB0aW9uXCI+e3ByaW50Rmxvb3JwbGFuQWRkcmVzcygpfTwvcD5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbG9vcnBsYW4tLWZlYXR1cmVkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbiBzaXplPVwic21hbGxcIiBvbkNsaWNrPXsoKSA9PiBzZXRTaG93Rmxvb3JwbGFuTW9kYWwodHJ1ZSl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SWNvbiBuYW1lPVwibWF4XCIgb3JpZW50YXRpb249XCJyaWdodFwiPlZpZXdGbG9vcnBsYW48L0ljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfCZuYnNwOyZuYnNwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b24gc2l6ZT1cInNtYWxsXCIgb25DbGljaz17KCkgPT4gaGFuZGxlUmVmVG9NYXAoKX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJY29uIG9yaWVudGF0aW9uPVwicmlnaHRcIiBuYW1lPVwibWFwXCI+VmlldyBvbiBNYXA8L0ljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge2Zsb29ycGxhbi5wcm9wZXJ0eS5idXNSb3V0ZXMubGVuZ3RoID4gMCA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPkJ1cyBSb3V0ZXM6Jm5ic3A7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Zmxvb3JwbGFuLnByb3BlcnR5LmJ1c1JvdXRlcy5tYXAoKGJ1c1JvdXRlLCBpbmRleCkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBrZXk9e1wiYnVzLXJvdXRlLVwiICsgaW5kZXh9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPXtidXNSb3V0ZS5idXNSb3V0ZUxpbmt9IHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbD1cIm5vcmVmZXJyZXJcIj57YnVzUm91dGUuYnVzUm91dGV9PC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aW5kZXggPCBmbG9vcnBsYW4ucHJvcGVydHkuYnVzUm91dGVzLmxlbmd0aCAtIDEgPyBcIiwgXCIgOiBcIlwifVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIlwifVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1haW5cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiIGZsb29ycGxhbi1jb2x1bW4tcmlnaHRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uIHZhcmlhbnQ9XCJwcmltYXJ5XCIgc2l6ZT1cIm1lZGl1bVwiIG9uQ2xpY2s9e2NvbnRhY3RDbGlja0hhbmRsZXJ9PmNvbnRhY3QgdXM8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uIHZhcmlhbnQ9XCJ0ZXJ0aWFyeVwiIHNpemU9XCJtZWRpdW1cIiBvbkNsaWNrPXthcHBseUNsaWNrSGFuZGxlcn0+YXBwbHk8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2hhcmVCdXR0b24gdGl0bGU9XCJDaGVjayBvdXQgdGhpcyBhcGFydG1lbnRcIiBzaXplPVwibGFyZ2VcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9zZWN0aW9uPlxuICAgICk7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIFNob3J0VGVybUZsb29ycGxhbkhlcm9Qcm9wcyB7XG4gICAgZmxvb3JwbGFuOiBGbG9vcnBsYW5TaG9ydFRlcm07XG4gICAgd2ViU3BlY2lhbHM6IFdlYlNwZWNpYWxbXTtcbiAgICBjb250YWN0Q2xpY2tIYW5kbGVyOiAoKSA9PiB2b2lkO1xuICAgIGFwcGx5Q2xpY2tIYW5kbGVyOiAoKSA9PiB2b2lkO1xuICAgIGhhbmRsZVJlZlRvTWFwOiAoKSA9PiB2b2lkO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQUEsT0FBQTtBQUNBLElBQUFDLFVBQUEsR0FBQUQsT0FBQTtBQUdBLElBQUFFLE1BQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLGFBQUEsR0FBQUgsT0FBQTtBQUVBLElBQUFJLGdCQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxvQkFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sYUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sa0JBQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLFdBQUEsR0FBQVIsT0FBQTtBQUNBLElBQUFTLFlBQUEsR0FBQVQsT0FBQTtBQUNBLElBQUFVLGVBQUEsR0FBQVYsT0FBQTtBQUNBLElBQUFXLFdBQUEsR0FBQVgsT0FBQTtBQUNBLElBQUFZLGlCQUFBLEdBQUFaLE9BQUE7QUFDQSxJQUFBYSxZQUFBLEdBQUFiLE9BQUE7QUFBbUQsU0FBQWMseUJBQUFDLENBQUEsNkJBQUFDLE9BQUEsbUJBQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEsQ0FBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxLQUFBRixDQUFBO0FBQUEsU0FBQWhCLHdCQUFBZ0IsQ0FBQSxFQUFBRSxDQUFBLFNBQUFBLENBQUEsSUFBQUYsQ0FBQSxJQUFBQSxDQUFBLENBQUFJLFVBQUEsU0FBQUosQ0FBQSxlQUFBQSxDQUFBLHVCQUFBQSxDQUFBLHlCQUFBQSxDQUFBLFdBQUFLLE9BQUEsRUFBQUwsQ0FBQSxRQUFBRyxDQUFBLEdBQUFKLHdCQUFBLENBQUFHLENBQUEsT0FBQUMsQ0FBQSxJQUFBQSxDQUFBLENBQUFHLEdBQUEsQ0FBQU4sQ0FBQSxVQUFBRyxDQUFBLENBQUFJLEdBQUEs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
|
package/lib/unit/data/Unit.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FloorplanStyle } from "../../floorplan/data/Floorplan";
|
|
1
|
+
import { Floorplan, FloorplanStyle } from "../../floorplan/data/Floorplan";
|
|
2
2
|
import { Address } from "../../property/data/Property";
|
|
3
3
|
export declare enum Pet {
|
|
4
4
|
NO_PET = "NO_PET",
|
|
@@ -30,6 +30,9 @@ export interface Unit {
|
|
|
30
30
|
petPolicy: string;
|
|
31
31
|
rent: number;
|
|
32
32
|
discountedRent: number;
|
|
33
|
+
discountedRentStartDate: string;
|
|
34
|
+
discountedRentEndDate: string;
|
|
35
|
+
discountedRentDescription: string;
|
|
33
36
|
deposit: number;
|
|
34
37
|
endUnit: boolean;
|
|
35
38
|
furnished: boolean;
|
|
@@ -38,11 +41,18 @@ export interface Unit {
|
|
|
38
41
|
level: Level;
|
|
39
42
|
garages: number;
|
|
40
43
|
turnoverRate: UnitTurnoverRate;
|
|
44
|
+
features: string;
|
|
45
|
+
patioIncluded: boolean;
|
|
41
46
|
address: string;
|
|
42
47
|
zipcode: string;
|
|
43
48
|
billingLink: string;
|
|
44
49
|
moveInDate: string;
|
|
45
50
|
availabilityExtensionMonths: number | null;
|
|
51
|
+
unitFolderId: string;
|
|
52
|
+
photosFolderId: string;
|
|
53
|
+
photosCount: number;
|
|
54
|
+
coverImage: string;
|
|
55
|
+
floorplanImage: string;
|
|
46
56
|
photosLink: string;
|
|
47
57
|
videoTourLink: string;
|
|
48
58
|
threeSixtyVideoTourLink: string;
|
|
@@ -73,6 +83,9 @@ export interface UnitCardData {
|
|
|
73
83
|
photosFolderId: string;
|
|
74
84
|
webSpecials: string[];
|
|
75
85
|
}
|
|
86
|
+
export interface UnitFloorplan extends Unit {
|
|
87
|
+
floorplan: Floorplan;
|
|
88
|
+
}
|
|
76
89
|
export declare enum Level {
|
|
77
90
|
GROUND = "GROUND",
|
|
78
91
|
MIDDLE = "MIDDLE",
|
package/lib/unit/data/Unit.js
CHANGED
|
@@ -23,4 +23,4 @@ let UnitTurnoverRate = exports.UnitTurnoverRate = /*#__PURE__*/function (UnitTur
|
|
|
23
23
|
UnitTurnoverRate["FIVE_DAYS"] = "FIVE_DAYS";
|
|
24
24
|
return UnitTurnoverRate;
|
|
25
25
|
}({});
|
|
26
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJQZXQiLCJleHBvcnRzIiwiTGV2ZWwiLCJVbml0VHVybm92ZXJSYXRlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3VuaXQvZGF0YS9Vbml0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Rmxvb3JwbGFuLCBGbG9vcnBsYW5TdHlsZX0gZnJvbSBcIi4uLy4uL2Zsb29ycGxhbi9kYXRhL0Zsb29ycGxhblwiO1xuaW1wb3J0IHtBZGRyZXNzfSBmcm9tIFwiLi4vLi4vcHJvcGVydHkvZGF0YS9Qcm9wZXJ0eVwiO1xuXG5leHBvcnQgZW51bSBQZXQge1xuICAgIE5PX1BFVCA9IFwiTk9fUEVUXCIsIENBVCA9IFwiQ0FUXCIsIFNNQUxMX0RPR19DQVQgPSBcIlNNQUxMX0RPR19DQVRcIiwgTEFSR0VfRE9HX1NNQUxMX0RPR19DQVQgPSBcIkxBUkdFX0RPR19TTUFMTF9ET0dfQ0FUXCJcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVbml0RGV0YWlscyB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBzcXVhcmVGb290OiBudW1iZXI7XG4gICAgYWxsb3dlZFBldDogUGV0O1xuICAgIHJlbnQ6IG51bWJlcjtcbiAgICBkaXNjb3VudGVkUmVudDogbnVtYmVyIHwgbnVsbDtcbiAgICBkZXBvc2l0OiBudW1iZXI7XG4gICAgZ2FyYWdlczogbnVtYmVyO1xuICAgIG1vdmVJbkRhdGU6IHN0cmluZyB8IG51bGw7XG4gICAgYXZhaWxhYmlsaXR5RXh0ZW5zaW9uTW9udGhzOiBudW1iZXIgfCBudWxsO1xuICAgIGZ1cm5pc2hlZDogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVbml0U3BvdGxpZ2h0IGV4dGVuZHMgQWRkcmVzcyB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBzcXVhcmVGb290OiBudW1iZXI7XG4gICAgcmVudDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVuaXQge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgc3F1YXJlRm9vdDogbnVtYmVyO1xuICAgIGFsbG93ZWRQZXQ6IFBldDtcbiAgICBwZXRQb2xpY3k6IHN0cmluZztcbiAgICByZW50OiBudW1iZXI7XG4gICAgZGlzY291bnRlZFJlbnQ6IG51bWJlcjtcbiAgICBkaXNjb3VudGVkUmVudFN0YXJ0RGF0ZTogc3RyaW5nO1xuICAgIGRpc2NvdW50ZWRSZW50RW5kRGF0ZTogc3RyaW5nO1xuICAgIGRpc2NvdW50ZWRSZW50RGVzY3JpcHRpb246IHN0cmluZztcbiAgICBkZXBvc2l0OiBudW1iZXI7XG4gICAgZW5kVW5pdDogYm9vbGVhbjtcbiAgICBmdXJuaXNoZWQ6IGJvb2xlYW47XG4gICAgbXVycGh5QmVkUHJvdmlkZWQ6IGJvb2xlYW47XG4gICAgYWZmb3JkYWJsZUhvdXNpbmc6IGJvb2xlYW47XG4gICAgbGV2ZWw6IExldmVsO1xuICAgIGdhcmFnZXM6IG51bWJlcjtcbiAgICB0dXJub3ZlclJhdGU6IFVuaXRUdXJub3ZlclJhdGU7XG4gICAgZmVhdHVyZXM6IHN0cmluZztcbiAgICBwYXRpb0luY2x1ZGVkOiBib29sZWFuO1xuICAgIGFkZHJlc3M6IHN0cmluZztcbiAgICB6aXBjb2RlOiBzdHJpbmc7XG4gICAgYmlsbGluZ0xpbms6IHN0cmluZztcbiAgICBtb3ZlSW5EYXRlOiBzdHJpbmc7XG4gICAgYXZhaWxhYmlsaXR5RXh0ZW5zaW9uTW9udGhzOiBudW1iZXIgfCBudWxsO1xuICAgIHVuaXRGb2xkZXJJZDogc3RyaW5nO1xuICAgIHBob3Rvc0ZvbGRlcklkOiBzdHJpbmc7XG4gICAgcGhvdG9zQ291bnQ6IG51bWJlcjtcbiAgICBjb3ZlckltYWdlOiBzdHJpbmc7XG4gICAgZmxvb3JwbGFuSW1hZ2U6IHN0cmluZztcbiAgICBwaG90b3NMaW5rOiBzdHJpbmc7XG4gICAgdmlkZW9Ub3VyTGluazogc3RyaW5nO1xuICAgIHRocmVlU2l4dHlWaWRlb1RvdXJMaW5rOiBzdHJpbmc7XG4gICAgdmlydHVhbFRvdXJMaW5rOiBzdHJpbmc7XG4gICAgbGFzdE1vZGlmaWVkQnk6IHN0cmluZztcbiAgICBsYXN0TW9kaWZpZWREYXRlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVW5pdENhcmREYXRhIHtcbiAgICBpZDogc3RyaW5nO1xuICAgIHJlbnQ6IG51bWJlcjtcbiAgICBzcXVhcmVGb290OiBudW1iZXI7XG4gICAgbW92ZUluRGF0ZTogc3RyaW5nO1xuICAgIGF2YWlsYWJpbGl0eUV4dGVuc2lvbk1vbnRoczogbnVtYmVyIHwgbnVsbDtcbiAgICBmbG9vcnBsYW5JZDogc3RyaW5nO1xuICAgIGZsb29ycGxhbk5hbWU6IHN0cmluZztcbiAgICBiZWRyb29tOiBudW1iZXI7XG4gICAgYmF0aHJvb206IG51bWJlcjtcbiAgICBjb3ZlckltYWdlOiBzdHJpbmc7XG4gICAgZmVhdHVyZWQ6IGJvb2xlYW47XG4gICAgc3R5bGU6IEZsb29ycGxhblN0eWxlO1xuICAgIHNwZWNpYWxSZW50OiBudW1iZXIsXG4gICAgc3BlY2lhbFJlbnRTdGFydERhdGU6IHN0cmluZztcbiAgICBzcGVjaWFsUmVudEVuZERhdGU6IHN0cmluZztcbiAgICBhZGRyZXNzOiBzdHJpbmc7XG4gICAgemlwY29kZTogc3RyaW5nO1xuICAgIHZpcnR1YWxUb3VyTGluazogc3RyaW5nO1xuICAgIHZpZGVvVG91ckxpbms6IHN0cmluZztcbiAgICBwaG90b3NGb2xkZXJJZDogc3RyaW5nO1xuICAgIHdlYlNwZWNpYWxzOiBzdHJpbmcgW107XG59XG5cblxuZXhwb3J0IGludGVyZmFjZSBVbml0Rmxvb3JwbGFuIGV4dGVuZHMgVW5pdCB7XG4gICAgZmxvb3JwbGFuOiBGbG9vcnBsYW5cbn1cblxuZXhwb3J0IGVudW0gTGV2ZWwge1xuICAgIEdST1VORCA9IFwiR1JPVU5EXCIsIE1JRERMRSA9IFwiTUlERExFXCIsIFRPUCA9IFwiVE9QXCIsIE1VTFRJID0gXCJNVUxUSVwiXG59XG5cbmV4cG9ydCBlbnVtIFVuaXRUdXJub3ZlclJhdGUge1xuICAgIEZPVVJfREFZUyA9IFwiRk9VUl9EQVlTXCIsIEZJVkVfREFZUyA9IFwiRklWRV9EQVlTXCJcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0lBR1lBLEdBQUcsR0FBQUMsT0FBQSxDQUFBRCxHQUFBLDBCQUFIQSxHQUFHO0VBQUhBLEdBQUc7RUFBSEEsR0FBRztFQUFIQSxHQUFHO0VBQUhBLEdBQUc7RUFBQSxPQUFIQSxHQUFHO0FBQUE7QUFBQSxJQTBGSEUsS0FBSyxHQUFBRCxPQUFBLENBQUFDLEtBQUEsMEJBQUxBLEtBQUs7RUFBTEEsS0FBSztFQUFMQSxLQUFLO0VBQUxBLEtBQUs7RUFBTEEsS0FBSztFQUFBLE9BQUxBLEtBQUs7QUFBQTtBQUFBLElBSUxDLGdCQUFnQixHQUFBRixPQUFBLENBQUFFLGdCQUFBLDBCQUFoQkEsZ0JBQWdCO0VBQWhCQSxnQkFBZ0I7RUFBaEJBLGdCQUFnQjtFQUFBLE9BQWhCQSxnQkFBZ0I7QUFBQSJ9
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import "../../floorplan/section/assets/FloorplanHero.scss";
|
|
3
|
+
import { UnitFloorplan } from "../data/Unit";
|
|
4
|
+
import { WebSpecial } from "../../floorplan/data/Floorplan";
|
|
5
|
+
export declare const UnitHero: React.FC<UnitHeroProps>;
|
|
6
|
+
export interface UnitHeroProps {
|
|
7
|
+
unit: UnitFloorplan;
|
|
8
|
+
webSpecials: WebSpecial[];
|
|
9
|
+
contactClickHandler: () => void;
|
|
10
|
+
applyClickHandler: () => void;
|
|
11
|
+
handleRefToMap: () => void;
|
|
12
|
+
}
|
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.UnitHero = void 0;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
require("../../floorplan/section/assets/FloorplanHero.scss");
|
|
9
|
+
var _muncherUi = require("@contentmunch/muncher-ui");
|
|
10
|
+
var _AssetService = require("../../asset/service/AssetService");
|
|
11
|
+
var _GridGallerySkeleton = require("../../gallery/GridGallerySkeleton");
|
|
12
|
+
var _Utils = require("../../utils/Utils");
|
|
13
|
+
var _AssetModal = require("../../asset/AssetModal");
|
|
14
|
+
var _VideoTours = require("../../gallery/VideoTours");
|
|
15
|
+
var _VirtualTour = require("../../gallery/VirtualTour");
|
|
16
|
+
var _GalleryModal = require("../../gallery/GalleryModal");
|
|
17
|
+
var _GridGalleryMobile = require("../../gallery/GridGalleryMobile");
|
|
18
|
+
var _GridGalleryCover = require("../../gallery/GridGalleryCover");
|
|
19
|
+
var _GridGallery = require("../../gallery/GridGallery");
|
|
20
|
+
var _UnitService = require("../service/UnitService");
|
|
21
|
+
var _HeroBadgeStats = require("../../floorplan/section/HeroBadgeStats");
|
|
22
|
+
var _UnitPrice = require("./UnitPrice");
|
|
23
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
24
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
25
|
+
const UnitHero = _ref => {
|
|
26
|
+
let {
|
|
27
|
+
unit,
|
|
28
|
+
contactClickHandler,
|
|
29
|
+
applyClickHandler,
|
|
30
|
+
handleRefToMap,
|
|
31
|
+
webSpecials
|
|
32
|
+
} = _ref;
|
|
33
|
+
const [assets, setAssets] = (0, _react.useState)([]);
|
|
34
|
+
const [isAssetsLoading, setIsAssetsLoading] = (0, _react.useState)(true);
|
|
35
|
+
const [videoTours, setVideoTours] = (0, _react.useState)([]);
|
|
36
|
+
const [virtualTour, setVirtualTour] = (0, _react.useState)(undefined);
|
|
37
|
+
const [videoTourImageBackground, setVideoTourImageBackground] = (0, _react.useState)();
|
|
38
|
+
const [virtualTourImageBackground, setVirtualTourImageBackground] = (0, _react.useState)();
|
|
39
|
+
const [showFloorplanModal, setShowFloorplanModal] = (0, _react.useState)(false);
|
|
40
|
+
const [totalPages, setTotalPages] = (0, _react.useState)(1);
|
|
41
|
+
const [toursCount, setToursCount] = (0, _react.useState)(1);
|
|
42
|
+
const [currentView, setCurrentView] = (0, _react.useState)("photo");
|
|
43
|
+
const [assetInFocus, setAssetInFocus] = (0, _react.useState)({});
|
|
44
|
+
const [assetIndex, setAssetIndex] = (0, _react.useState)(0);
|
|
45
|
+
const [showModal, setShowModal] = (0, _react.useState)(false);
|
|
46
|
+
const [firstPageImageCount, setFirstPageImageCount] = (0, _react.useState)(4);
|
|
47
|
+
const GRID_SIZE = 8;
|
|
48
|
+
const imageClickedHandler = image => {
|
|
49
|
+
setShowModal(true);
|
|
50
|
+
setAssetInFocus(image);
|
|
51
|
+
setAssetIndex(assets.findIndex(value => value.id === image.id));
|
|
52
|
+
};
|
|
53
|
+
const modalCloseHandler = () => {
|
|
54
|
+
setShowModal(false);
|
|
55
|
+
setAssetInFocus({});
|
|
56
|
+
};
|
|
57
|
+
(0, _react.useEffect)(() => {
|
|
58
|
+
const images = [];
|
|
59
|
+
if (unit.coverImage) images.push({
|
|
60
|
+
id: (0, _Utils.extractIdFrom)(unit.coverImage),
|
|
61
|
+
name: "cover image"
|
|
62
|
+
});else if (unit.floorplan.coverImage) images.push({
|
|
63
|
+
id: (0, _Utils.extractIdFrom)(unit.floorplan.coverImage),
|
|
64
|
+
name: "cover image"
|
|
65
|
+
});
|
|
66
|
+
let firstPageCount = firstPageImageCount;
|
|
67
|
+
if (unit.photosFolderId) {
|
|
68
|
+
(0, _AssetService.getAssetsFrom)(unit.photosFolderId).then(galleryAssets => {
|
|
69
|
+
images.push(...galleryAssets);
|
|
70
|
+
if (images.length > 1) {
|
|
71
|
+
const backgroundImageUrl = (0, _AssetService.assetUrlFrom)(images[1].id, unit.floorplan.property.id);
|
|
72
|
+
if (unit.virtualTourLink) {
|
|
73
|
+
setVirtualTour(unit.virtualTourLink);
|
|
74
|
+
setVirtualTourImageBackground(backgroundImageUrl);
|
|
75
|
+
firstPageCount -= 1;
|
|
76
|
+
}
|
|
77
|
+
const tourLinks = [];
|
|
78
|
+
if (unit.videoTourLink) tourLinks.push(unit.videoTourLink);
|
|
79
|
+
if (unit.threeSixtyVideoTourLink) tourLinks.push(unit.threeSixtyVideoTourLink);
|
|
80
|
+
setVideoTours(tourLinks);
|
|
81
|
+
if (tourLinks.length > 0) {
|
|
82
|
+
setVideoTourImageBackground(backgroundImageUrl);
|
|
83
|
+
firstPageCount -= 1;
|
|
84
|
+
}
|
|
85
|
+
let otherAssetCounts = (tourLinks.length > 0 ? 1 : 0) + (unit.virtualTourLink ? 1 : 0);
|
|
86
|
+
setToursCount(otherAssetCounts);
|
|
87
|
+
}
|
|
88
|
+
}).finally(() => {
|
|
89
|
+
let pages = 1;
|
|
90
|
+
if (images.length > firstPageCount) {
|
|
91
|
+
const remaining = images.length - firstPageCount;
|
|
92
|
+
pages += remaining / 8;
|
|
93
|
+
if (remaining % 8 > 0) pages += 1;
|
|
94
|
+
}
|
|
95
|
+
setTotalPages(Math.trunc(pages));
|
|
96
|
+
setFirstPageImageCount(firstPageCount);
|
|
97
|
+
setAssets(images);
|
|
98
|
+
setIsAssetsLoading(false);
|
|
99
|
+
});
|
|
100
|
+
} else {
|
|
101
|
+
setAssets(images);
|
|
102
|
+
setIsAssetsLoading(false);
|
|
103
|
+
}
|
|
104
|
+
}, [unit]);
|
|
105
|
+
const printUnitAddress = () => {
|
|
106
|
+
const address = (0, _UnitService.addressFromUnit)(unit);
|
|
107
|
+
let printAddress = "";
|
|
108
|
+
if (address.address) {
|
|
109
|
+
printAddress += address.address + ", ";
|
|
110
|
+
}
|
|
111
|
+
printAddress += address.city + ", " + address.state + " " + address.zipcode;
|
|
112
|
+
return printAddress;
|
|
113
|
+
};
|
|
114
|
+
const isFirstSliderPage = slideIndex => slideIndex === 0;
|
|
115
|
+
const assetsToShow = slideIndex => {
|
|
116
|
+
if (isFirstSliderPage(slideIndex)) {
|
|
117
|
+
console.log("firstPageImageCount", firstPageImageCount);
|
|
118
|
+
return assets.slice(0, firstPageImageCount - 1);
|
|
119
|
+
}
|
|
120
|
+
const startIndex = firstPageImageCount - 1 + GRID_SIZE * (slideIndex - 1);
|
|
121
|
+
const endIndex = firstPageImageCount - 1 + GRID_SIZE * slideIndex;
|
|
122
|
+
return assets.slice(startIndex, endIndex > assets.length ? assets.length : endIndex);
|
|
123
|
+
};
|
|
124
|
+
return /*#__PURE__*/_react.default.createElement("section", {
|
|
125
|
+
className: "section-floorplan--hero"
|
|
126
|
+
}, isAssetsLoading ? /*#__PURE__*/_react.default.createElement(_GridGallerySkeleton.GridGallerySkeleton, null) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
127
|
+
className: "gallery-hero"
|
|
128
|
+
}, /*#__PURE__*/_react.default.createElement(_GalleryModal.GalleryModal, {
|
|
129
|
+
assets: assets,
|
|
130
|
+
assetInFocus: assetInFocus,
|
|
131
|
+
setAssetInFocus: setAssetInFocus,
|
|
132
|
+
showModal: showModal,
|
|
133
|
+
assetIndex: assetIndex,
|
|
134
|
+
setAssetIndex: setAssetIndex,
|
|
135
|
+
modalCloseHandler: modalCloseHandler,
|
|
136
|
+
propertyId: unit.floorplan.property.id
|
|
137
|
+
}), currentView === "photo" ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
138
|
+
className: "photo-view main"
|
|
139
|
+
}, /*#__PURE__*/_react.default.createElement(_muncherUi.ItemSlider, {
|
|
140
|
+
sliderItems: [...Array(totalPages)].map((x, i) => i == 0 ? /*#__PURE__*/_react.default.createElement(_GridGalleryCover.GridGalleryCover, {
|
|
141
|
+
assets: assetsToShow(i),
|
|
142
|
+
address: (0, _UnitService.addressFromUnit)(unit),
|
|
143
|
+
propertyId: unit.floorplan.property.id,
|
|
144
|
+
heroImage: assets[0],
|
|
145
|
+
imageClickedHandler: imageClickedHandler,
|
|
146
|
+
webSpecials: webSpecials,
|
|
147
|
+
isAvailableNow: (0, _UnitService.isUnitAvailable)(unit),
|
|
148
|
+
setCurrentView: setCurrentView,
|
|
149
|
+
videoTourImageBackground: videoTourImageBackground,
|
|
150
|
+
virtualTourImageBackground: virtualTourImageBackground,
|
|
151
|
+
showOnlyHeroImage: assets.length === 1
|
|
152
|
+
}) : /*#__PURE__*/_react.default.createElement(_GridGallery.GridGallery, {
|
|
153
|
+
imageClickedHandler: imageClickedHandler,
|
|
154
|
+
propertyId: unit.floorplan.property.id,
|
|
155
|
+
assets: assetsToShow(i)
|
|
156
|
+
}))
|
|
157
|
+
})), /*#__PURE__*/_react.default.createElement("div", {
|
|
158
|
+
className: "photo-view mobile"
|
|
159
|
+
}, /*#__PURE__*/_react.default.createElement(_GridGalleryMobile.GridGalleryMobile, {
|
|
160
|
+
assets: assets,
|
|
161
|
+
toursCount: toursCount,
|
|
162
|
+
address: (0, _UnitService.addressFromUnit)(unit),
|
|
163
|
+
virtualTour: virtualTour,
|
|
164
|
+
setCurrentView: setCurrentView,
|
|
165
|
+
imageClickedHandler: imageClickedHandler,
|
|
166
|
+
webSpecials: webSpecials,
|
|
167
|
+
isAvailableNow: (0, _UnitService.isUnitAvailable)(unit),
|
|
168
|
+
propertyId: unit.floorplan.property.id
|
|
169
|
+
}))) : "", currentView === "Video Tour" ? /*#__PURE__*/_react.default.createElement(_VideoTours.VideoTours, {
|
|
170
|
+
videoTourUrls: videoTours
|
|
171
|
+
}) : "", currentView === "Virtual Tour" ? /*#__PURE__*/_react.default.createElement(_VirtualTour.VirtualTour, {
|
|
172
|
+
virtualTourUrl: virtualTour
|
|
173
|
+
}) : "", /*#__PURE__*/_react.default.createElement(_HeroBadgeStats.HeroBadgeStats, {
|
|
174
|
+
currentView: currentView,
|
|
175
|
+
setCurrentView: setCurrentView,
|
|
176
|
+
totalAssets: assets === null || assets === void 0 ? void 0 : assets.length,
|
|
177
|
+
videoTours: videoTours,
|
|
178
|
+
virtualTour: virtualTour
|
|
179
|
+
}))), /*#__PURE__*/_react.default.createElement(_AssetModal.AssetModal, {
|
|
180
|
+
assetUrl: unit.floorplanImage ? unit.floorplanImage : unit.floorplan.photo,
|
|
181
|
+
assetTitle: "Floorplan image",
|
|
182
|
+
showModal: showFloorplanModal,
|
|
183
|
+
setShowModal: setShowFloorplanModal,
|
|
184
|
+
propertyId: unit.floorplan.property.id
|
|
185
|
+
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
186
|
+
className: "container"
|
|
187
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
188
|
+
className: "floorplan--two-columns"
|
|
189
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
190
|
+
className: "floorplan-column-left"
|
|
191
|
+
}, /*#__PURE__*/_react.default.createElement("h3", null, unit.floorplan.name), /*#__PURE__*/_react.default.createElement("h4", null, /*#__PURE__*/_react.default.createElement(_UnitPrice.UnitPrice, {
|
|
192
|
+
unit: unit,
|
|
193
|
+
invertColor: true
|
|
194
|
+
})), /*#__PURE__*/_react.default.createElement("p", {
|
|
195
|
+
className: "floorplan--description"
|
|
196
|
+
}, printUnitAddress()), /*#__PURE__*/_react.default.createElement("div", {
|
|
197
|
+
className: "floorplan--featured"
|
|
198
|
+
}, /*#__PURE__*/_react.default.createElement(_muncherUi.Button, {
|
|
199
|
+
size: "small",
|
|
200
|
+
onClick: () => setShowFloorplanModal(true)
|
|
201
|
+
}, /*#__PURE__*/_react.default.createElement(_muncherUi.Icon, {
|
|
202
|
+
name: "max",
|
|
203
|
+
orientation: "right"
|
|
204
|
+
}, "ViewFloorplan")), "|\xA0\xA0", /*#__PURE__*/_react.default.createElement(_muncherUi.Button, {
|
|
205
|
+
size: "small",
|
|
206
|
+
onClick: () => handleRefToMap()
|
|
207
|
+
}, /*#__PURE__*/_react.default.createElement(_muncherUi.Icon, {
|
|
208
|
+
orientation: "right",
|
|
209
|
+
name: "map"
|
|
210
|
+
}, "View on Map")), unit.floorplan.property.busRoutes.length > 0 ? /*#__PURE__*/_react.default.createElement("p", null, "Bus Routes:\xA0", unit.floorplan.property.busRoutes.map((busRoute, index) => /*#__PURE__*/_react.default.createElement("span", {
|
|
211
|
+
key: "bus-route-" + index
|
|
212
|
+
}, /*#__PURE__*/_react.default.createElement("a", {
|
|
213
|
+
href: busRoute.busRouteLink,
|
|
214
|
+
target: "_blank",
|
|
215
|
+
rel: "noreferrer"
|
|
216
|
+
}, busRoute.busRoute), index < unit.floorplan.property.busRoutes.length - 1 ? ", " : ""))) : "")), /*#__PURE__*/_react.default.createElement("div", {
|
|
217
|
+
className: "main"
|
|
218
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
219
|
+
className: " floorplan-column-right"
|
|
220
|
+
}, /*#__PURE__*/_react.default.createElement(_muncherUi.Button, {
|
|
221
|
+
variant: "primary",
|
|
222
|
+
size: "medium",
|
|
223
|
+
onClick: contactClickHandler
|
|
224
|
+
}, "contact us"), /*#__PURE__*/_react.default.createElement(_muncherUi.Button, {
|
|
225
|
+
variant: "tertiary",
|
|
226
|
+
size: "medium",
|
|
227
|
+
onClick: applyClickHandler
|
|
228
|
+
}, "apply"), /*#__PURE__*/_react.default.createElement(_muncherUi.ShareButton, {
|
|
229
|
+
title: "Check out this apartment",
|
|
230
|
+
size: "large"
|
|
231
|
+
}))))));
|
|
232
|
+
};
|
|
233
|
+
exports.UnitHero = UnitHero;
|
|
234
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfbXVuY2hlclVpIiwiX0Fzc2V0U2VydmljZSIsIl9HcmlkR2FsbGVyeVNrZWxldG9uIiwiX1V0aWxzIiwiX0Fzc2V0TW9kYWwiLCJfVmlkZW9Ub3VycyIsIl9WaXJ0dWFsVG91ciIsIl9HYWxsZXJ5TW9kYWwiLCJfR3JpZEdhbGxlcnlNb2JpbGUiLCJfR3JpZEdhbGxlcnlDb3ZlciIsIl9HcmlkR2FsbGVyeSIsIl9Vbml0U2VydmljZSIsIl9IZXJvQmFkZ2VTdGF0cyIsIl9Vbml0UHJpY2UiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJVbml0SGVybyIsIl9yZWYiLCJ1bml0IiwiY29udGFjdENsaWNrSGFuZGxlciIsImFwcGx5Q2xpY2tIYW5kbGVyIiwiaGFuZGxlUmVmVG9NYXAiLCJ3ZWJTcGVjaWFscyIsImFzc2V0cyIsInNldEFzc2V0cyIsInVzZVN0YXRlIiwiaXNBc3NldHNMb2FkaW5nIiwic2V0SXNBc3NldHNMb2FkaW5nIiwidmlkZW9Ub3VycyIsInNldFZpZGVvVG91cnMiLCJ2aXJ0dWFsVG91ciIsInNldFZpcnR1YWxUb3VyIiwidW5kZWZpbmVkIiwidmlkZW9Ub3VySW1hZ2VCYWNrZ3JvdW5kIiwic2V0VmlkZW9Ub3VySW1hZ2VCYWNrZ3JvdW5kIiwidmlydHVhbFRvdXJJbWFnZUJhY2tncm91bmQiLCJzZXRWaXJ0dWFsVG91ckltYWdlQmFja2dyb3VuZCIsInNob3dGbG9vcnBsYW5Nb2RhbCIsInNldFNob3dGbG9vcnBsYW5Nb2RhbCIsInRvdGFsUGFnZXMiLCJzZXRUb3RhbFBhZ2VzIiwidG91cnNDb3VudCIsInNldFRvdXJzQ291bnQiLCJjdXJyZW50VmlldyIsInNldEN1cnJlbnRWaWV3IiwiYXNzZXRJbkZvY3VzIiwic2V0QXNzZXRJbkZvY3VzIiwiYXNzZXRJbmRleCIsInNldEFzc2V0SW5kZXgiLCJzaG93TW9kYWwiLCJzZXRTaG93TW9kYWwiLCJmaXJzdFBhZ2VJbWFnZUNvdW50Iiwic2V0Rmlyc3RQYWdlSW1hZ2VDb3VudCIsIkdSSURfU0laRSIsImltYWdlQ2xpY2tlZEhhbmRsZXIiLCJpbWFnZSIsImZpbmRJbmRleCIsInZhbHVlIiwiaWQiLCJtb2RhbENsb3NlSGFuZGxlciIsInVzZUVmZmVjdCIsImltYWdlcyIsImNvdmVySW1hZ2UiLCJwdXNoIiwiZXh0cmFjdElkRnJvbSIsIm5hbWUiLCJmbG9vcnBsYW4iLCJmaXJzdFBhZ2VDb3VudCIsInBob3Rvc0ZvbGRlcklkIiwiZ2V0QXNzZXRzRnJvbSIsInRoZW4iLCJnYWxsZXJ5QXNzZXRzIiwibGVuZ3RoIiwiYmFja2dyb3VuZEltYWdlVXJsIiwiYXNzZXRVcmxGcm9tIiwicHJvcGVydHkiLCJ2aXJ0dWFsVG91ckxpbmsiLCJ0b3VyTGlua3MiLCJ2aWRlb1RvdXJMaW5rIiwidGhyZWVTaXh0eVZpZGVvVG91ckxpbmsiLCJvdGhlckFzc2V0Q291bnRzIiwiZmluYWxseSIsInBhZ2VzIiwicmVtYWluaW5nIiwiTWF0aCIsInRydW5jIiwicHJpbnRVbml0QWRkcmVzcyIsImFkZHJlc3MiLCJhZGRyZXNzRnJvbVVuaXQiLCJwcmludEFkZHJlc3MiLCJjaXR5Iiwic3RhdGUiLCJ6aXBjb2RlIiwiaXNGaXJzdFNsaWRlclBhZ2UiLCJzbGlkZUluZGV4IiwiYXNzZXRzVG9TaG93IiwiY29uc29sZSIsImxvZyIsInNsaWNlIiwic3RhcnRJbmRleCIsImVuZEluZGV4IiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsIkdyaWRHYWxsZXJ5U2tlbGV0b24iLCJGcmFnbWVudCIsIkdhbGxlcnlNb2RhbCIsInByb3BlcnR5SWQiLCJJdGVtU2xpZGVyIiwic2xpZGVySXRlbXMiLCJBcnJheSIsIm1hcCIsIngiLCJHcmlkR2FsbGVyeUNvdmVyIiwiaGVyb0ltYWdlIiwiaXNBdmFpbGFibGVOb3ciLCJpc1VuaXRBdmFpbGFibGUiLCJzaG93T25seUhlcm9JbWFnZSIsIkdyaWRHYWxsZXJ5IiwiR3JpZEdhbGxlcnlNb2JpbGUiLCJWaWRlb1RvdXJzIiwidmlkZW9Ub3VyVXJscyIsIlZpcnR1YWxUb3VyIiwidmlydHVhbFRvdXJVcmwiLCJIZXJvQmFkZ2VTdGF0cyIsInRvdGFsQXNzZXRzIiwiQXNzZXRNb2RhbCIsImFzc2V0VXJsIiwiZmxvb3JwbGFuSW1hZ2UiLCJwaG90byIsImFzc2V0VGl0bGUiLCJVbml0UHJpY2UiLCJpbnZlcnRDb2xvciIsIkJ1dHRvbiIsInNpemUiLCJvbkNsaWNrIiwiSWNvbiIsIm9yaWVudGF0aW9uIiwiYnVzUm91dGVzIiwiYnVzUm91dGUiLCJpbmRleCIsImtleSIsImhyZWYiLCJidXNSb3V0ZUxpbmsiLCJ0YXJnZXQiLCJyZWwiLCJ2YXJpYW50IiwiU2hhcmVCdXR0b24iLCJ0aXRsZSIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdW5pdC9zZWN0aW9uL1VuaXRIZXJvLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHt1c2VFZmZlY3QsIHVzZVN0YXRlfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBcIi4uLy4uL2Zsb29ycGxhbi9zZWN0aW9uL2Fzc2V0cy9GbG9vcnBsYW5IZXJvLnNjc3NcIjtcbmltcG9ydCB7QnV0dG9uLCBJY29uLCBJdGVtU2xpZGVyLCBTaGFyZUJ1dHRvbn0gZnJvbSBcIkBjb250ZW50bXVuY2gvbXVuY2hlci11aVwiO1xuaW1wb3J0IHtBc3NldH0gZnJvbSBcIi4uLy4uL2Fzc2V0L2RhdGEvQXNzZXRcIjtcbmltcG9ydCB7YXNzZXRVcmxGcm9tLCBnZXRBc3NldHNGcm9tfSBmcm9tIFwiLi4vLi4vYXNzZXQvc2VydmljZS9Bc3NldFNlcnZpY2VcIjtcbmltcG9ydCB7R3JpZEdhbGxlcnlTa2VsZXRvbn0gZnJvbSBcIi4uLy4uL2dhbGxlcnkvR3JpZEdhbGxlcnlTa2VsZXRvblwiO1xuaW1wb3J0IHtleHRyYWN0SWRGcm9tfSBmcm9tIFwiLi4vLi4vdXRpbHMvVXRpbHNcIjtcbmltcG9ydCB7QXNzZXRNb2RhbH0gZnJvbSBcIi4uLy4uL2Fzc2V0L0Fzc2V0TW9kYWxcIjtcbmltcG9ydCB7VmlkZW9Ub3Vyc30gZnJvbSBcIi4uLy4uL2dhbGxlcnkvVmlkZW9Ub3Vyc1wiO1xuaW1wb3J0IHtWaXJ0dWFsVG91cn0gZnJvbSBcIi4uLy4uL2dhbGxlcnkvVmlydHVhbFRvdXJcIjtcbmltcG9ydCB7R2FsbGVyeU1vZGFsfSBmcm9tIFwiLi4vLi4vZ2FsbGVyeS9HYWxsZXJ5TW9kYWxcIjtcbmltcG9ydCB7R3JpZEdhbGxlcnlNb2JpbGV9IGZyb20gXCIuLi8uLi9nYWxsZXJ5L0dyaWRHYWxsZXJ5TW9iaWxlXCI7XG5pbXBvcnQge0dyaWRHYWxsZXJ5Q292ZXIsIFRvdXJUeXBlfSBmcm9tIFwiLi4vLi4vZ2FsbGVyeS9HcmlkR2FsbGVyeUNvdmVyXCI7XG5pbXBvcnQge0dyaWRHYWxsZXJ5fSBmcm9tIFwiLi4vLi4vZ2FsbGVyeS9HcmlkR2FsbGVyeVwiO1xuaW1wb3J0IHtVbml0Rmxvb3JwbGFufSBmcm9tIFwiLi4vZGF0YS9Vbml0XCI7XG5pbXBvcnQge2FkZHJlc3NGcm9tVW5pdCwgaXNVbml0QXZhaWxhYmxlfSBmcm9tIFwiLi4vc2VydmljZS9Vbml0U2VydmljZVwiO1xuaW1wb3J0IHtIZXJvQmFkZ2VTdGF0c30gZnJvbSBcIi4uLy4uL2Zsb29ycGxhbi9zZWN0aW9uL0hlcm9CYWRnZVN0YXRzXCI7XG5pbXBvcnQge1dlYlNwZWNpYWx9IGZyb20gXCIuLi8uLi9mbG9vcnBsYW4vZGF0YS9GbG9vcnBsYW5cIjtcbmltcG9ydCB7VW5pdFByaWNlfSBmcm9tIFwiLi9Vbml0UHJpY2VcIjtcblxuZXhwb3J0IGNvbnN0IFVuaXRIZXJvOiBSZWFjdC5GQzxVbml0SGVyb1Byb3BzPiA9IChcbiAgICB7dW5pdCwgY29udGFjdENsaWNrSGFuZGxlciwgYXBwbHlDbGlja0hhbmRsZXIsIGhhbmRsZVJlZlRvTWFwLCB3ZWJTcGVjaWFsc30pID0+IHtcbiAgICBjb25zdCBbYXNzZXRzLCBzZXRBc3NldHNdID0gdXNlU3RhdGU8QXNzZXRbXT4oW10pO1xuICAgIGNvbnN0IFtpc0Fzc2V0c0xvYWRpbmcsIHNldElzQXNzZXRzTG9hZGluZ10gPSB1c2VTdGF0ZSh0cnVlKTtcbiAgICBjb25zdCBbdmlkZW9Ub3Vycywgc2V0VmlkZW9Ub3Vyc10gPSB1c2VTdGF0ZTxzdHJpbmdbXT4oW10pO1xuICAgIGNvbnN0IFt2aXJ0dWFsVG91ciwgc2V0VmlydHVhbFRvdXJdID0gdXNlU3RhdGU8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG4gICAgY29uc3QgW3ZpZGVvVG91ckltYWdlQmFja2dyb3VuZCwgc2V0VmlkZW9Ub3VySW1hZ2VCYWNrZ3JvdW5kXSA9IHVzZVN0YXRlPHN0cmluZz4oKTtcbiAgICBjb25zdCBbdmlydHVhbFRvdXJJbWFnZUJhY2tncm91bmQsIHNldFZpcnR1YWxUb3VySW1hZ2VCYWNrZ3JvdW5kXSA9IHVzZVN0YXRlPHN0cmluZz4oKTtcblxuICAgIGNvbnN0IFtzaG93Rmxvb3JwbGFuTW9kYWwsIHNldFNob3dGbG9vcnBsYW5Nb2RhbF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgW3RvdGFsUGFnZXMsIHNldFRvdGFsUGFnZXNdID0gdXNlU3RhdGUoMSk7XG4gICAgY29uc3QgW3RvdXJzQ291bnQsIHNldFRvdXJzQ291bnRdID0gdXNlU3RhdGUoMSk7XG4gICAgY29uc3QgW2N1cnJlbnRWaWV3LCBzZXRDdXJyZW50Vmlld10gPSB1c2VTdGF0ZTxcInBob3RvXCIgfCBUb3VyVHlwZT4oXCJwaG90b1wiKTtcbiAgICBjb25zdCBbYXNzZXRJbkZvY3VzLCBzZXRBc3NldEluRm9jdXNdID0gdXNlU3RhdGU8QXNzZXQ+KHt9IGFzIEFzc2V0KTtcbiAgICBjb25zdCBbYXNzZXRJbmRleCwgc2V0QXNzZXRJbmRleF0gPSB1c2VTdGF0ZSgwKTtcbiAgICBjb25zdCBbc2hvd01vZGFsLCBzZXRTaG93TW9kYWxdID0gdXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IFtmaXJzdFBhZ2VJbWFnZUNvdW50LCBzZXRGaXJzdFBhZ2VJbWFnZUNvdW50XSA9IHVzZVN0YXRlKDQpO1xuXG4gICAgY29uc3QgR1JJRF9TSVpFID0gODtcbiAgICBjb25zdCBpbWFnZUNsaWNrZWRIYW5kbGVyID0gKGltYWdlOiBBc3NldCkgPT4ge1xuICAgICAgICBzZXRTaG93TW9kYWwodHJ1ZSk7XG4gICAgICAgIHNldEFzc2V0SW5Gb2N1cyhpbWFnZSk7XG4gICAgICAgIHNldEFzc2V0SW5kZXgoYXNzZXRzLmZpbmRJbmRleCh2YWx1ZSA9PiB2YWx1ZS5pZCA9PT0gaW1hZ2UuaWQpKTtcbiAgICB9O1xuICAgIGNvbnN0IG1vZGFsQ2xvc2VIYW5kbGVyID0gKCkgPT4ge1xuICAgICAgICBzZXRTaG93TW9kYWwoZmFsc2UpO1xuICAgICAgICBzZXRBc3NldEluRm9jdXMoe30gYXMgQXNzZXQpO1xuICAgIH07XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcblxuXG4gICAgICAgIGNvbnN0IGltYWdlczogQXNzZXRbXSA9IFtdO1xuICAgICAgICBpZiAodW5pdC5jb3ZlckltYWdlKVxuICAgICAgICAgICAgaW1hZ2VzLnB1c2goe2lkOiBleHRyYWN0SWRGcm9tKHVuaXQuY292ZXJJbWFnZSksIG5hbWU6IFwiY292ZXIgaW1hZ2VcIn0gYXMgQXNzZXQpO1xuICAgICAgICBlbHNlIGlmICh1bml0LmZsb29ycGxhbi5jb3ZlckltYWdlKVxuICAgICAgICAgICAgaW1hZ2VzLnB1c2goe2lkOiBleHRyYWN0SWRGcm9tKHVuaXQuZmxvb3JwbGFuLmNvdmVySW1hZ2UpLCBuYW1lOiBcImNvdmVyIGltYWdlXCJ9IGFzIEFzc2V0KTtcblxuXG4gICAgICAgIGxldCBmaXJzdFBhZ2VDb3VudCA9IGZpcnN0UGFnZUltYWdlQ291bnQ7XG5cbiAgICAgICAgaWYgKHVuaXQucGhvdG9zRm9sZGVySWQpIHtcbiAgICAgICAgICAgIGdldEFzc2V0c0Zyb20odW5pdC5waG90b3NGb2xkZXJJZCkudGhlbihnYWxsZXJ5QXNzZXRzID0+IHtcblxuICAgICAgICAgICAgICAgIGltYWdlcy5wdXNoKC4uLmdhbGxlcnlBc3NldHMpO1xuXG4gICAgICAgICAgICAgICAgaWYgKGltYWdlcy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGJhY2tncm91bmRJbWFnZVVybCA9IGFzc2V0VXJsRnJvbShpbWFnZXNbMV0uaWQsIHVuaXQuZmxvb3JwbGFuLnByb3BlcnR5LmlkKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHVuaXQudmlydHVhbFRvdXJMaW5rKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRWaXJ0dWFsVG91cih1bml0LnZpcnR1YWxUb3VyTGluayk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRWaXJ0dWFsVG91ckltYWdlQmFja2dyb3VuZChiYWNrZ3JvdW5kSW1hZ2VVcmwpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3RQYWdlQ291bnQgLT0gMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRvdXJMaW5rcyA9IFtdO1xuICAgICAgICAgICAgICAgICAgICBpZiAodW5pdC52aWRlb1RvdXJMaW5rKVxuICAgICAgICAgICAgICAgICAgICAgICAgdG91ckxpbmtzLnB1c2godW5pdC52aWRlb1RvdXJMaW5rKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHVuaXQudGhyZWVTaXh0eVZpZGVvVG91ckxpbmspXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3VyTGlua3MucHVzaCh1bml0LnRocmVlU2l4dHlWaWRlb1RvdXJMaW5rKTtcbiAgICAgICAgICAgICAgICAgICAgc2V0VmlkZW9Ub3Vycyh0b3VyTGlua3MpO1xuICAgICAgICAgICAgICAgICAgICBpZiAodG91ckxpbmtzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldFZpZGVvVG91ckltYWdlQmFja2dyb3VuZChiYWNrZ3JvdW5kSW1hZ2VVcmwpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3RQYWdlQ291bnQgLT0gMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGxldCBvdGhlckFzc2V0Q291bnRzID0gKHRvdXJMaW5rcy5sZW5ndGggPiAwID8gMSA6IDApICsgKHVuaXQudmlydHVhbFRvdXJMaW5rID8gMSA6IDApO1xuICAgICAgICAgICAgICAgICAgICBzZXRUb3Vyc0NvdW50KG90aGVyQXNzZXRDb3VudHMpO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9KS5maW5hbGx5KCgpID0+IHtcblxuICAgICAgICAgICAgICAgIGxldCBwYWdlcyA9IDE7XG5cbiAgICAgICAgICAgICAgICBpZiAoaW1hZ2VzLmxlbmd0aCA+IGZpcnN0UGFnZUNvdW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlbWFpbmluZyA9IGltYWdlcy5sZW5ndGggLSBmaXJzdFBhZ2VDb3VudDtcbiAgICAgICAgICAgICAgICAgICAgcGFnZXMgKz0gcmVtYWluaW5nIC8gODtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlbWFpbmluZyAlIDggPiAwKVxuICAgICAgICAgICAgICAgICAgICAgICAgcGFnZXMgKz0gMTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBzZXRUb3RhbFBhZ2VzKE1hdGgudHJ1bmMocGFnZXMpKTtcbiAgICAgICAgICAgICAgICBzZXRGaXJzdFBhZ2VJbWFnZUNvdW50KGZpcnN0UGFnZUNvdW50KTtcbiAgICAgICAgICAgICAgICBzZXRBc3NldHMoaW1hZ2VzKTtcbiAgICAgICAgICAgICAgICBzZXRJc0Fzc2V0c0xvYWRpbmcoZmFsc2UpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzZXRBc3NldHMoaW1hZ2VzKTtcbiAgICAgICAgICAgIHNldElzQXNzZXRzTG9hZGluZyhmYWxzZSk7XG4gICAgICAgIH1cblxuICAgIH0sIFt1bml0XSlcblxuXG4gICAgY29uc3QgcHJpbnRVbml0QWRkcmVzcyA9ICgpID0+IHtcbiAgICAgICAgY29uc3QgYWRkcmVzcyA9IGFkZHJlc3NGcm9tVW5pdCh1bml0KTtcblxuICAgICAgICBsZXQgcHJpbnRBZGRyZXNzID0gXCJcIjtcbiAgICAgICAgaWYgKGFkZHJlc3MuYWRkcmVzcykge1xuICAgICAgICAgICAgcHJpbnRBZGRyZXNzICs9IGFkZHJlc3MuYWRkcmVzcyArIFwiLCBcIjtcbiAgICAgICAgfVxuICAgICAgICBwcmludEFkZHJlc3MgKz0gYWRkcmVzcy5jaXR5ICsgXCIsIFwiICsgYWRkcmVzcy5zdGF0ZSArIFwiIFwiICsgYWRkcmVzcy56aXBjb2RlO1xuICAgICAgICByZXR1cm4gcHJpbnRBZGRyZXNzO1xuICAgIH1cbiAgICBjb25zdCBpc0ZpcnN0U2xpZGVyUGFnZSA9IChzbGlkZUluZGV4OiBudW1iZXIpID0+IHNsaWRlSW5kZXggPT09IDA7XG5cbiAgICBjb25zdCBhc3NldHNUb1Nob3cgPSAoc2xpZGVJbmRleDogbnVtYmVyKSA9PiB7XG5cbiAgICAgICAgaWYgKGlzRmlyc3RTbGlkZXJQYWdlKHNsaWRlSW5kZXgpKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcImZpcnN0UGFnZUltYWdlQ291bnRcIiwgZmlyc3RQYWdlSW1hZ2VDb3VudCk7XG4gICAgICAgICAgICByZXR1cm4gYXNzZXRzLnNsaWNlKDAsIGZpcnN0UGFnZUltYWdlQ291bnQgLSAxKTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgY29uc3Qgc3RhcnRJbmRleCA9IGZpcnN0UGFnZUltYWdlQ291bnQgLSAxICsgKEdSSURfU0laRSAqIChzbGlkZUluZGV4IC0gMSkpXG4gICAgICAgIGNvbnN0IGVuZEluZGV4ID0gZmlyc3RQYWdlSW1hZ2VDb3VudCAtIDEgKyAoR1JJRF9TSVpFICogc2xpZGVJbmRleClcblxuICAgICAgICByZXR1cm4gYXNzZXRzLnNsaWNlKHN0YXJ0SW5kZXgsIGVuZEluZGV4ID4gYXNzZXRzLmxlbmd0aCA/IGFzc2V0cy5sZW5ndGggOiBlbmRJbmRleCk7XG4gICAgfTtcbiAgICByZXR1cm4gKFxuICAgICAgICA8c2VjdGlvbiBjbGFzc05hbWU9XCJzZWN0aW9uLWZsb29ycGxhbi0taGVyb1wiPlxuICAgICAgICAgICAge2lzQXNzZXRzTG9hZGluZyA/IDxHcmlkR2FsbGVyeVNrZWxldG9uLz4gOlxuICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZ2FsbGVyeS1oZXJvXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8R2FsbGVyeU1vZGFsIGFzc2V0cz17YXNzZXRzfSBhc3NldEluRm9jdXM9e2Fzc2V0SW5Gb2N1c31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0QXNzZXRJbkZvY3VzPXtzZXRBc3NldEluRm9jdXN9IHNob3dNb2RhbD17c2hvd01vZGFsfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhc3NldEluZGV4PXthc3NldEluZGV4fSBzZXRBc3NldEluZGV4PXtzZXRBc3NldEluZGV4fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RhbENsb3NlSGFuZGxlcj17bW9kYWxDbG9zZUhhbmRsZXJ9IHByb3BlcnR5SWQ9e3VuaXQuZmxvb3JwbGFuLnByb3BlcnR5LmlkfS8+XG4gICAgICAgICAgICAgICAgICAgICAgICB7Y3VycmVudFZpZXcgPT09IFwicGhvdG9cIiA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJwaG90by12aWV3IG1haW5cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJdGVtU2xpZGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xpZGVySXRlbXM9e1suLi5BcnJheSh0b3RhbFBhZ2VzKV0ubWFwKCh4LCBpKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaSA9PSAwKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8R3JpZEdhbGxlcnlDb3ZlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFzc2V0cz17YXNzZXRzVG9TaG93KGkpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZHJlc3M9e2FkZHJlc3NGcm9tVW5pdCh1bml0KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0eUlkPXt1bml0LmZsb29ycGxhbi5wcm9wZXJ0eS5pZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZXJvSW1hZ2U9e2Fzc2V0c1swXX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWFnZUNsaWNrZWRIYW5kbGVyPXtpbWFnZUNsaWNrZWRIYW5kbGVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdlYlNwZWNpYWxzPXt3ZWJTcGVjaWFsc31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0F2YWlsYWJsZU5vdz17aXNVbml0QXZhaWxhYmxlKHVuaXQpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldEN1cnJlbnRWaWV3PXtzZXRDdXJyZW50Vmlld31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWRlb1RvdXJJbWFnZUJhY2tncm91bmQ9e3ZpZGVvVG91ckltYWdlQmFja2dyb3VuZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aXJ0dWFsVG91ckltYWdlQmFja2dyb3VuZD17dmlydHVhbFRvdXJJbWFnZUJhY2tncm91bmR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd09ubHlIZXJvSW1hZ2U9e2Fzc2V0cy5sZW5ndGggPT09IDF9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEdyaWRHYWxsZXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2VDbGlja2VkSGFuZGxlcj17aW1hZ2VDbGlja2VkSGFuZGxlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0eUlkPXt1bml0LmZsb29ycGxhbi5wcm9wZXJ0eS5pZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhc3NldHM9e2Fzc2V0c1RvU2hvdyhpKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX0vPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJwaG90by12aWV3IG1vYmlsZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEdyaWRHYWxsZXJ5TW9iaWxlIGFzc2V0cz17YXNzZXRzfSB0b3Vyc0NvdW50PXt0b3Vyc0NvdW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZHJlc3M9e2FkZHJlc3NGcm9tVW5pdCh1bml0KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aXJ0dWFsVG91cj17dmlydHVhbFRvdXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0Q3VycmVudFZpZXc9e3NldEN1cnJlbnRWaWV3fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlQ2xpY2tlZEhhbmRsZXI9e2ltYWdlQ2xpY2tlZEhhbmRsZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2ViU3BlY2lhbHM9e3dlYlNwZWNpYWxzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzQXZhaWxhYmxlTm93PXtpc1VuaXRBdmFpbGFibGUodW5pdCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydHlJZD17dW5pdC5mbG9vcnBsYW4ucHJvcGVydHkuaWR9Lz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC8+IDogXCJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICB7Y3VycmVudFZpZXcgPT09IFwiVmlkZW8gVG91clwiID8gPFZpZGVvVG91cnMgdmlkZW9Ub3VyVXJscz17dmlkZW9Ub3Vyc30vPiA6IFwiXCJ9XG4gICAgICAgICAgICAgICAgICAgICAgICB7Y3VycmVudFZpZXcgPT09IFwiVmlydHVhbCBUb3VyXCIgPyA8VmlydHVhbFRvdXIgdmlydHVhbFRvdXJVcmw9e3ZpcnR1YWxUb3VyfS8+IDogXCJcIn1cbiAgICAgICAgICAgICAgICAgICAgICAgIDxIZXJvQmFkZ2VTdGF0cyBjdXJyZW50Vmlldz17Y3VycmVudFZpZXd9IHNldEN1cnJlbnRWaWV3PXtzZXRDdXJyZW50Vmlld31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3RhbEFzc2V0cz17YXNzZXRzPy5sZW5ndGh9IHZpZGVvVG91cnM9e3ZpZGVvVG91cnN9IHZpcnR1YWxUb3VyPXt2aXJ0dWFsVG91cn0vPlxuXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvPlxuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8QXNzZXRNb2RhbCBhc3NldFVybD17dW5pdC5mbG9vcnBsYW5JbWFnZSA/IHVuaXQuZmxvb3JwbGFuSW1hZ2UgOiB1bml0LmZsb29ycGxhbi5waG90b31cbiAgICAgICAgICAgICAgICAgICAgICAgIGFzc2V0VGl0bGU9XCJGbG9vcnBsYW4gaW1hZ2VcIiBzaG93TW9kYWw9e3Nob3dGbG9vcnBsYW5Nb2RhbH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHNldFNob3dNb2RhbD17c2V0U2hvd0Zsb29ycGxhbk1vZGFsfSBwcm9wZXJ0eUlkPXt1bml0LmZsb29ycGxhbi5wcm9wZXJ0eS5pZH0vPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsb29ycGxhbi0tdHdvLWNvbHVtbnNcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbG9vcnBsYW4tY29sdW1uLWxlZnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxoMz57dW5pdC5mbG9vcnBsYW4ubmFtZX08L2gzPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGg0PjxVbml0UHJpY2UgdW5pdD17dW5pdH0gaW52ZXJ0Q29sb3I9e3RydWV9Lz48L2g0PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwiZmxvb3JwbGFuLS1kZXNjcmlwdGlvblwiPntwcmludFVuaXRBZGRyZXNzKCl9PC9wPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsb29ycGxhbi0tZmVhdHVyZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uIHNpemU9XCJzbWFsbFwiIG9uQ2xpY2s9eygpID0+IHNldFNob3dGbG9vcnBsYW5Nb2RhbCh0cnVlKX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJY29uIG5hbWU9XCJtYXhcIiBvcmllbnRhdGlvbj1cInJpZ2h0XCI+Vmlld0Zsb29ycGxhbjwvSWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Jm5ic3A7Jm5ic3A7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbiBzaXplPVwic21hbGxcIiBvbkNsaWNrPXsoKSA9PiBoYW5kbGVSZWZUb01hcCgpfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEljb24gb3JpZW50YXRpb249XCJyaWdodFwiIG5hbWU9XCJtYXBcIj5WaWV3IG9uIE1hcDwvSWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dW5pdC5mbG9vcnBsYW4ucHJvcGVydHkuYnVzUm91dGVzLmxlbmd0aCA+IDAgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5CdXMgUm91dGVzOiZuYnNwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3VuaXQuZmxvb3JwbGFuLnByb3BlcnR5LmJ1c1JvdXRlcy5tYXAoKGJ1c1JvdXRlLCBpbmRleCkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBrZXk9e1wiYnVzLXJvdXRlLVwiICsgaW5kZXh9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPXtidXNSb3V0ZS5idXNSb3V0ZUxpbmt9IHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbD1cIm5vcmVmZXJyZXJcIj57YnVzUm91dGUuYnVzUm91dGV9PC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aW5kZXggPCB1bml0LmZsb29ycGxhbi5wcm9wZXJ0eS5idXNSb3V0ZXMubGVuZ3RoIC0gMSA/IFwiLCBcIiA6IFwiXCJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiXCJ9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWFpblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCIgZmxvb3JwbGFuLWNvbHVtbi1yaWdodFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b24gdmFyaWFudD1cInByaW1hcnlcIiBzaXplPVwibWVkaXVtXCIgb25DbGljaz17Y29udGFjdENsaWNrSGFuZGxlcn0+Y29udGFjdCB1czwvQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b24gdmFyaWFudD1cInRlcnRpYXJ5XCIgc2l6ZT1cIm1lZGl1bVwiIG9uQ2xpY2s9e2FwcGx5Q2xpY2tIYW5kbGVyfT5hcHBseTwvQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTaGFyZUJ1dHRvbiB0aXRsZT1cIkNoZWNrIG91dCB0aGlzIGFwYXJ0bWVudFwiIHNpemU9XCJsYXJnZVwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3NlY3Rpb24+XG4gICAgKTtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgVW5pdEhlcm9Qcm9wcyB7XG4gICAgdW5pdDogVW5pdEZsb29ycGxhbjtcbiAgICB3ZWJTcGVjaWFsczogV2ViU3BlY2lhbFtdO1xuICAgIGNvbnRhY3RDbGlja0hhbmRsZXI6ICgpID0+IHZvaWQ7XG4gICAgYXBwbHlDbGlja0hhbmRsZXI6ICgpID0+IHZvaWQ7XG4gICAgaGFuZGxlUmVmVG9NYXA6ICgpID0+IHZvaWQ7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBQSxPQUFBO0FBQ0EsSUFBQUMsVUFBQSxHQUFBRCxPQUFBO0FBRUEsSUFBQUUsYUFBQSxHQUFB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
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import "../../floorplan/card/assets/FloorplanPrice.scss";
|
|
3
|
+
import { UnitFloorplan } from "../data/Unit";
|
|
4
|
+
export declare const UnitPrice: React.FC<UnitPriceProps>;
|
|
5
|
+
export interface UnitPriceProps {
|
|
6
|
+
unit: UnitFloorplan;
|
|
7
|
+
invertColor?: boolean;
|
|
8
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.UnitPrice = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _Utils = require("../../utils/Utils");
|
|
9
|
+
var _moment = _interopRequireDefault(require("moment/moment"));
|
|
10
|
+
require("../../floorplan/card/assets/FloorplanPrice.scss");
|
|
11
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
12
|
+
const UnitPrice = _ref => {
|
|
13
|
+
let {
|
|
14
|
+
unit,
|
|
15
|
+
invertColor
|
|
16
|
+
} = _ref;
|
|
17
|
+
const hasSpecialRent = () => {
|
|
18
|
+
const currentDate = (0, _moment.default)();
|
|
19
|
+
if (unit.discountedRent && unit.discountedRentStartDate && unit.discountedRentEndDate) {
|
|
20
|
+
const startDate = (0, _Utils.dateToMoment)(unit.discountedRentStartDate);
|
|
21
|
+
const endDate = (0, _Utils.dateToMoment)(unit.discountedRentEndDate);
|
|
22
|
+
return currentDate.isBetween(startDate, endDate);
|
|
23
|
+
}
|
|
24
|
+
return false;
|
|
25
|
+
};
|
|
26
|
+
const getRentClass = () => hasSpecialRent() ? "strike-through" : "";
|
|
27
|
+
const priceForSpecialRent = () => hasSpecialRent() ? /*#__PURE__*/_react.default.createElement("span", {
|
|
28
|
+
className: "special"
|
|
29
|
+
}, "Now starting at ", (0, _Utils.toUSD)(unit.discountedRent), "/mo") : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
|
|
30
|
+
return /*#__PURE__*/_react.default.createElement("span", {
|
|
31
|
+
className: invertColor ? "floorplan-price floorplan-price-inverted" : "floorplan-price"
|
|
32
|
+
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
33
|
+
className: getRentClass()
|
|
34
|
+
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
35
|
+
className: "rent"
|
|
36
|
+
}, (0, _Utils.toUSD)(unit.rent))), /*#__PURE__*/_react.default.createElement("span", {
|
|
37
|
+
className: "floorplan-special-price"
|
|
38
|
+
}, priceForSpecialRent()));
|
|
39
|
+
};
|
|
40
|
+
exports.UnitPrice = UnitPrice;
|
|
41
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9VdGlscyIsIl9tb21lbnQiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsIlVuaXRQcmljZSIsIl9yZWYiLCJ1bml0IiwiaW52ZXJ0Q29sb3IiLCJoYXNTcGVjaWFsUmVudCIsImN1cnJlbnREYXRlIiwibW9tZW50IiwiZGlzY291bnRlZFJlbnQiLCJkaXNjb3VudGVkUmVudFN0YXJ0RGF0ZSIsImRpc2NvdW50ZWRSZW50RW5kRGF0ZSIsInN0YXJ0RGF0ZSIsImRhdGVUb01vbWVudCIsImVuZERhdGUiLCJpc0JldHdlZW4iLCJnZXRSZW50Q2xhc3MiLCJwcmljZUZvclNwZWNpYWxSZW50IiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsInRvVVNEIiwiRnJhZ21lbnQiLCJyZW50IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91bml0L3NlY3Rpb24vVW5pdFByaWNlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQge2RhdGVUb01vbWVudCwgdG9VU0R9IGZyb20gXCIuLi8uLi91dGlscy9VdGlsc1wiO1xuaW1wb3J0IG1vbWVudCBmcm9tIFwibW9tZW50L21vbWVudFwiO1xuaW1wb3J0IFwiLi4vLi4vZmxvb3JwbGFuL2NhcmQvYXNzZXRzL0Zsb29ycGxhblByaWNlLnNjc3NcIjtcbmltcG9ydCB7VW5pdEZsb29ycGxhbn0gZnJvbSBcIi4uL2RhdGEvVW5pdFwiO1xuXG5leHBvcnQgY29uc3QgVW5pdFByaWNlOiBSZWFjdC5GQzxVbml0UHJpY2VQcm9wcz4gPSAoXG4gICAge1xuICAgICAgICB1bml0LFxuICAgICAgICBpbnZlcnRDb2xvclxuICAgIH0pID0+IHtcblxuICAgIGNvbnN0IGhhc1NwZWNpYWxSZW50ID0gKCkgPT4ge1xuICAgICAgICBjb25zdCBjdXJyZW50RGF0ZSA9IG1vbWVudCgpO1xuXG4gICAgICAgIGlmICh1bml0LmRpc2NvdW50ZWRSZW50ICYmIHVuaXQuZGlzY291bnRlZFJlbnRTdGFydERhdGUgJiYgdW5pdC5kaXNjb3VudGVkUmVudEVuZERhdGUpIHtcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IGRhdGVUb01vbWVudCh1bml0LmRpc2NvdW50ZWRSZW50U3RhcnREYXRlKTtcbiAgICAgICAgICAgIGNvbnN0IGVuZERhdGUgPSBkYXRlVG9Nb21lbnQodW5pdC5kaXNjb3VudGVkUmVudEVuZERhdGUpO1xuXG4gICAgICAgICAgICByZXR1cm4gY3VycmVudERhdGUuaXNCZXR3ZWVuKHN0YXJ0RGF0ZSwgZW5kRGF0ZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbnN0IGdldFJlbnRDbGFzcyA9ICgpID0+IGhhc1NwZWNpYWxSZW50KCkgPyBcInN0cmlrZS10aHJvdWdoXCIgOiBcIlwiO1xuXG5cbiAgICBjb25zdCBwcmljZUZvclNwZWNpYWxSZW50ID0gKCkgPT4gaGFzU3BlY2lhbFJlbnQoKSA/IDxzcGFuXG4gICAgICAgIGNsYXNzTmFtZT1cInNwZWNpYWxcIj5Ob3cgc3RhcnRpbmcgYXQge3RvVVNEKHVuaXQuZGlzY291bnRlZFJlbnQhISl9L21vPC9zcGFuPiA6IDw+PC8+XG4gICAgcmV0dXJuIChcbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtpbnZlcnRDb2xvciA/IFwiZmxvb3JwbGFuLXByaWNlIGZsb29ycGxhbi1wcmljZS1pbnZlcnRlZFwiIDogXCJmbG9vcnBsYW4tcHJpY2VcIn0+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtnZXRSZW50Q2xhc3MoKX0+PHNwYW4gY2xhc3NOYW1lPVwicmVudFwiPnt0b1VTRCh1bml0LnJlbnQpfTwvc3Bhbj48L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJmbG9vcnBsYW4tc3BlY2lhbC1wcmljZVwiPntwcmljZUZvclNwZWNpYWxSZW50KCl9PC9zcGFuPlxuICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgKTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVbml0UHJpY2VQcm9wcyB7XG4gICAgdW5pdDogVW5pdEZsb29ycGxhbjtcbiAgICBpbnZlcnRDb2xvcj86IGJvb2xlYW47XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLE9BQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBQSxPQUFBO0FBQXlELFNBQUFELHVCQUFBSSxHQUFBLFdBQUFBLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLEdBQUFELEdBQUEsS0FBQUUsT0FBQSxFQUFBRixHQUFBO0FBR2xELE1BQU1HLFNBQW1DLEdBQUdDLElBQUEsSUFJekM7RUFBQSxJQUhOO0lBQ0lDLElBQUk7SUFDSkM7RUFDSixDQUFDLEdBQUFGLElBQUE7RUFFRCxNQUFNRyxjQUFjLEdBQUdBLENBQUEsS0FBTTtJQUN6QixNQUFNQyxXQUFXLEdBQUcsSUFBQUMsZUFBTSxFQUFDLENBQUM7SUFFNUIsSUFBSUosSUFBSSxDQUFDSyxjQUFjLElBQUlMLElBQUksQ0FBQ00sdUJBQXVCLElBQUlOLElBQUksQ0FBQ08scUJBQXFCLEVBQUU7TUFDbkYsTUFBTUMsU0FBUyxHQUFHLElBQUFDLG1CQUFZLEVBQUNULElBQUksQ0FBQ00sdUJBQXVCLENBQUM7TUFDNUQsTUFBTUksT0FBTyxHQUFHLElBQUFELG1CQUFZLEVBQUNULElBQUksQ0FBQ08scUJBQXFCLENBQUM7TUFFeEQsT0FBT0osV0FBVyxDQUFDUSxTQUFTLENBQUNILFNBQVMsRUFBRUUsT0FBTyxDQUFDO0lBQ3BEO0lBQ0EsT0FBTyxLQUFLO0VBQ2hCLENBQUM7RUFFRCxNQUFNRSxZQUFZLEdBQUdBLENBQUEsS0FBTVYsY0FBYyxDQUFDLENBQUMsR0FBRyxnQkFBZ0IsR0FBRyxFQUFFO0VBR25FLE1BQU1XLG1CQUFtQixHQUFHQSxDQUFBLEtBQU1YLGNBQWMsQ0FBQyxDQUFDLGdCQUFHWixNQUFBLENBQUFPLE9BQUEsQ0FBQWlCLGFBQUE7SUFDakRDLFNBQVMsRUFBQztFQUFTLEdBQUMsa0JBQWdCLEVBQUMsSUFBQUMsWUFBSyxFQUFDaEIsSUFBSSxDQUFDSyxjQUFnQixDQUFDLEVBQUMsS0FBUyxDQUFDLGdCQUFHZixNQUFBLENBQUFPLE9BQUEsQ0FBQWlCLGFBQUEsQ0FBQXhCLE1BQUEsQ0FBQU8sT0FBQSxDQUFBb0IsUUFBQSxNQUFJLENBQUM7RUFDeEYsb0JBQ0kzQixNQUFBLENBQUFPLE9BQUEsQ0FBQWlCLGFBQUE7SUFBTUMsU0FBUyxFQUFFZCxXQUFXLEdBQUcsMENBQTBDLEdBQUc7RUFBa0IsZ0JBQ3RGWCxNQUFBLENBQUFPLE9BQUEsQ0FBQWlCLGFBQUE7SUFBTUMsU0FBUyxFQUFFSCxZQUFZLENBQUM7RUFBRSxnQkFBQ3RCLE1BQUEsQ0FBQU8sT0FBQSxDQUFBaUIsYUFBQTtJQUFNQyxTQUFTLEVBQUM7RUFBTSxHQUFFLElBQUFDLFlBQUssRUFBQ2hCLElBQUksQ0FBQ2tCLElBQUksQ0FBUSxDQUFPLENBQUMsZUFDNUY1QixNQUFBLENBQUFPLE9BQUEsQ0FBQWlCLGFBQUE7SUFBTUMsU0FBUyxFQUFDO0VBQXlCLEdBQUVGLG1CQUFtQixDQUFDLENBQVEsQ0FDakUsQ0FBQztBQUduQixDQUFDO0FBQUFNLE9BQUEsQ0FBQXJCLFNBQUEsR0FBQUEsU0FBQSJ9
|