@renaissancerentals/renaissance-component 12.2.12 → 12.2.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -29,7 +29,8 @@ const FloorplanSection = _ref => {
|
|
|
29
29
|
applyClickHandler,
|
|
30
30
|
floorplanId,
|
|
31
31
|
locationRef,
|
|
32
|
-
handleRefToLocation
|
|
32
|
+
handleRefToLocation,
|
|
33
|
+
handleHtmlTitleUpdate
|
|
33
34
|
} = _ref;
|
|
34
35
|
const [floorplan, setFloorplan] = (0, _react.useState)({});
|
|
35
36
|
const [similarFloorplans, setSimilarFloorplans] = (0, _react.useState)([]);
|
|
@@ -51,6 +52,9 @@ const FloorplanSection = _ref => {
|
|
|
51
52
|
(0, _react.useEffect)(() => {
|
|
52
53
|
(0, _FloorplanService.getFloorplan)(floorplanId).then(floorplanData => {
|
|
53
54
|
setFloorplan(floorplanData);
|
|
55
|
+
if (handleHtmlTitleUpdate) {
|
|
56
|
+
handleHtmlTitleUpdate(floorplanData.htmlTitle);
|
|
57
|
+
}
|
|
54
58
|
floorplanData.units = floorplanData.units.filter(unit => unit.active);
|
|
55
59
|
if (_Property.LeaseType.SHORT_TERM === floorplanData.property.leaseType) {
|
|
56
60
|
setIsLoading(false);
|
|
@@ -200,4 +204,4 @@ const FloorplanSection = _ref => {
|
|
|
200
204
|
}))))));
|
|
201
205
|
};
|
|
202
206
|
exports.FloorplanSection = FloorplanSection;
|
|
203
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfRmxvb3JwbGFuIiwiX0Zsb29ycGxhblNlcnZpY2UiLCJfR3JpZEdhbGxlcnlTa2VsZXRvbiIsIl9GbG9vcnBsYW5IZXJvIiwiX1V0aWxzIiwiX0NhcmQiLCJfVGVzdGltb25pYWxzQ2FyZCIsIl9NYXBTZWN0aW9uIiwiX1NpbWlsYXJGbG9vcnBsYW5DYXJkIiwiX211bmNoZXJVaSIsIl9tb21lbnQiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX1Byb3BlcnR5IiwiX1Nob3J0VGVybUZsb29ycGxhblNlY3Rpb24iLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJGbG9vcnBsYW5TZWN0aW9uIiwiX3JlZiIsIl9mbG9vcnBsYW4kcHJvcGVydHkiLCJfZmxvb3JwbGFuJHByb3BlcnR5MiIsImNvbnRhY3RDbGlja0hhbmRsZXIiLCJhcHBseUNsaWNrSGFuZGxlciIsImZsb29ycGxhbklkIiwibG9jYXRpb25SZWYiLCJoYW5kbGVSZWZUb0xvY2F0aW9uIiwiZmxvb3JwbGFuIiwic2V0Rmxvb3JwbGFuIiwidXNlU3RhdGUiLCJzaW1pbGFyRmxvb3JwbGFucyIsInNldFNpbWlsYXJGbG9vcnBsYW5zIiwiZmxvb3JwbGFuVmFyaWF0aW9ucyIsInNldEZsb29ycGxhblZhcmlhdGlvbnMiLCJ0ZXN0aW1vbmlhbHMiLCJzZXRUZXN0aW1vbmlhbHMiLCJ3ZWJTcGVjaWFscyIsInNldFdlYlNwZWNpYWxzIiwiaXNMb2FkaW5nIiwic2V0SXNMb2FkaW5nIiwiZXJyb3JMb2FkaW5nIiwic2V0RXJyb3JMb2FkaW5nIiwibWFwUmVmIiwidXNlUmVmIiwiaGFuZGxlUmVmVG9NYXAiLCJfbWFwUmVmJGN1cnJlbnQiLCJjdXJyZW50Iiwic2Nyb2xsSW50b1ZpZXciLCJiZWhhdmlvciIsImJsb2NrIiwidXNlRWZmZWN0IiwiZ2V0Rmxvb3JwbGFuIiwidGhlbiIsImZsb29ycGxhbkRhdGEiLCJ1bml0cyIsImZpbHRlciIsInVuaXQiLCJhY3RpdmUiLCJMZWFzZVR5cGUiLCJTSE9SVF9URVJNIiwicHJvcGVydHkiLCJsZWFzZVR5cGUiLCJQcm9taXNlIiwiYWxsIiwiZ2V0Rmxvb3JwbGFuVmFyaWF0aW9ucyIsImdldFNpbWlsYXJGbG9vcnBsYW5zIiwiZ2V0VGVzdGltb25pYWxzIiwiZ2V0V2ViU3BlY2lhbHMiLCJkYXRhIiwidG9kYXkiLCJtb21lbnQiLCJ2YWxpZFdlYlNwZWNpYWxzIiwiZm9yRWFjaCIsIndlYlNwZWNpYWwiLCJkYXRlVG9Nb21lbnQiLCJzdGFydERhdGUiLCJpc0JlZm9yZSIsImVuZERhdGUiLCJpc0FmdGVyIiwicHVzaCIsImNhdGNoIiwiZmluYWxseSIsImF2YWlsYWJsZURhdGVzIiwic29ydEF2YWlsYWJsZURhdGVzIiwiYiIsIk1PTlRIX1lFQVJfRk9STUFUIiwiZGlmZiIsImRhdGVzIiwiU2V0IiwidG9tb3Jyb3ciLCJhZGQiLCJpc0F2YWlsYWJsZU5vdyIsIm1vdmVJbkRhdGUiLCJmb3JtYXQiLCJhdmFpbGFiaWxpdHlFeHRlbnNpb25Nb250aHMiLCJleHRlbnNpb25EYXRlIiwiQXJyYXkiLCJmcm9tIiwic29ydCIsInJlc2lkZW50VXRpbGl0eURldGFpbHMiLCJ1dGlsaXR5IiwiYXZlcmFnZU1vbnRobHlCaWxsIiwiY2FwaXRhbGl6ZUZpcnN0TGV0dGVyIiwibmFtZSIsInRvVVNEIiwiaXNBdmVyYWdlTW9udGhseUJpbGxQcmVzZW50IiwidXRpbGl0aWVzIiwidHlwZSIsIlV0aWxpdHlUeXBlIiwiUkVTSURFTlRfVVRJTElUWSIsInNvbWUiLCJpc1dpdGhpblR3ZWx2ZU1vbnRocyIsImRhdGUiLCJ0d2VsdmVNb250aHNGcm9tTm93IiwiY3JlYXRlRWxlbWVudCIsIlNob3J0VGVybUZsb29ycGxhblNlY3Rpb24iLCJjbGFzc05hbWUiLCJHcmlkR2FsbGVyeVNrZWxldG9uIiwiRnJhZ21lbnQiLCJGbG9vcnBsYW5IZXJvIiwiQ2FyZCIsInRpdGxlIiwiYmVkcm9vbSIsImJhdGhyb29tIiwiZW51bVRvU3RyaW5nIiwic3R5bGUiLCJsZW5ndGgiLCJyYW5nZUZyb20iLCJkZXNjcmlwdGlvbiIsImFtZW5pdGllcyIsIlVsIiwiYW1lbml0eSIsImZlYXR1cmVkIiwibWFwIiwiTGkiLCJrZXkiLCJpZCIsImJ1bGxldEljb24iLCJpc0ZlYXR1cmVkIiwidmFyaWF0aW9uIiwiVGVzdGltb25pYWxzQ2FyZCIsInBlcm1pdHRlZFBldHMiLCJwZXQiLCJidWxsZXRDb2xvciIsIm5vdFBlcm1pdHRlZFBldHMiLCJwZXRQb2xpY3kiLCJhdmFpbGFibGVEYXRlIiwiSU5DTFVERURfVVRJTElUWSIsIlNpbWlsYXJGbG9vcnBsYW5DYXJkIiwicGhvbmUiLCJocmVmIiwiZm9ybWF0UGhvbmVOdW1iZXIiLCJCdXR0b24iLCJ2YXJpYW50Iiwib25DbGljayIsInNpemUiLCJyZWYiLCJNYXBTZWN0aW9uIiwic3JjIiwiZmxvb3JwbGFuQWRkcmVzc1RvR29vZ2xlTWFwIiwiZmxvb3JwbGFuQWRkcmVzcyIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZmxvb3JwbGFuL3NlY3Rpb24vRmxvb3JwbGFuU2VjdGlvbi50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7dXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7XG4gICAgRmxvb3JwbGFuLFxuICAgIEZsb29ycGxhblZhcmlhdGlvbixcbiAgICBTaW1pbGFyRmxvb3JwbGFuLFxuICAgIFRlc3RpbW9uaWFsLFxuICAgIFV0aWxpdHlOYW1lLFxuICAgIFV0aWxpdHlUeXBlLFxuICAgIFdlYlNwZWNpYWxcbn0gZnJvbSBcIi4uL2RhdGEvRmxvb3JwbGFuXCI7XG5pbXBvcnQge1xuICAgIGZsb29ycGxhbkFkZHJlc3MsXG4gICAgZ2V0Rmxvb3JwbGFuLFxuICAgIGdldEZsb29ycGxhblZhcmlhdGlvbnMsXG4gICAgZ2V0U2ltaWxhckZsb29ycGxhbnMsXG4gICAgZ2V0VGVzdGltb25pYWxzLFxuICAgIGdldFdlYlNwZWNpYWxzLFxuICAgIE1PTlRIX1lFQVJfRk9STUFULFxuICAgIG5vdFBlcm1pdHRlZFBldHMsXG4gICAgcGVybWl0dGVkUGV0cyxcbiAgICBwZXRQb2xpY3lcbn0gZnJvbSBcIi4uL3NlcnZpY2UvRmxvb3JwbGFuU2VydmljZVwiO1xuaW1wb3J0IFwiLi9hc3NldHMvRmxvb3JwbGFuU2VjdGlvbi5zY3NzXCI7XG5pbXBvcnQge0dyaWRHYWxsZXJ5U2tlbGV0b259IGZyb20gXCIuLi8uLi9nYWxsZXJ5L0dyaWRHYWxsZXJ5U2tlbGV0b25cIjtcbmltcG9ydCB7Rmxvb3JwbGFuSGVyb30gZnJvbSBcIi4vRmxvb3JwbGFuSGVyb1wiO1xuaW1wb3J0IHtcbiAgICBjYXBpdGFsaXplRmlyc3RMZXR0ZXIsXG4gICAgZGF0ZVRvTW9tZW50LFxuICAgIGVudW1Ub1N0cmluZyxcbiAgICBmbG9vcnBsYW5BZGRyZXNzVG9Hb29nbGVNYXAsXG4gICAgZm9ybWF0UGhvbmVOdW1iZXIsXG4gICAgcmFuZ2VGcm9tLFxuICAgIHRvVVNEXG59IGZyb20gXCIuLi8uLi91dGlscy9VdGlsc1wiO1xuaW1wb3J0IHtDYXJkfSBmcm9tIFwiLi4vLi4vY2FyZC9DYXJkXCI7XG5pbXBvcnQge1Rlc3RpbW9uaWFsc0NhcmR9IGZyb20gXCIuLi9jYXJkL1Rlc3RpbW9uaWFsc0NhcmRcIjtcbmltcG9ydCB7TWFwU2VjdGlvbn0gZnJvbSBcIi4uLy4uL21hcC9NYXBTZWN0aW9uXCI7XG5pbXBvcnQge1NpbWlsYXJGbG9vcnBsYW5DYXJkfSBmcm9tIFwiLi4vY2FyZC9TaW1pbGFyRmxvb3JwbGFuQ2FyZFwiO1xuaW1wb3J0IHtCdXR0b24sIExpLCBVbH0gZnJvbSBcIkBjb250ZW50bXVuY2gvbXVuY2hlci11aVwiO1xuaW1wb3J0IG1vbWVudCBmcm9tIFwibW9tZW50XCI7XG5pbXBvcnQge0xlYXNlVHlwZX0gZnJvbSBcIi4uLy4uL3Byb3BlcnR5L2RhdGEvUHJvcGVydHlcIjtcbmltcG9ydCB7U2hvcnRUZXJtRmxvb3JwbGFuU2VjdGlvbn0gZnJvbSBcIi4uLy4uL3Nob3J0LXRlcm0vU2hvcnRUZXJtRmxvb3JwbGFuU2VjdGlvblwiO1xuXG5leHBvcnQgY29uc3QgRmxvb3JwbGFuU2VjdGlvbjogUmVhY3QuRkM8Rmxvb3JwbGFuU2VjdGlvblByb3BzPiA9IChcbiAgICB7XG4gICAgICAgIGNvbnRhY3RDbGlja0hhbmRsZXIsXG4gICAgICAgIGFwcGx5Q2xpY2tIYW5kbGVyLFxuICAgICAgICBmbG9vcnBsYW5JZCxcbiAgICAgICAgbG9jYXRpb25SZWYsXG4gICAgICAgIGhhbmRsZVJlZlRvTG9jYXRpb25cbiAgICB9KSA9PiB7XG4gICAgY29uc3QgW2Zsb29ycGxhbiwgc2V0Rmxvb3JwbGFuXSA9IHVzZVN0YXRlPEZsb29ycGxhbj4oe30gYXMgRmxvb3JwbGFuKTtcbiAgICBjb25zdCBbc2ltaWxhckZsb29ycGxhbnMsIHNldFNpbWlsYXJGbG9vcnBsYW5zXSA9IHVzZVN0YXRlPFNpbWlsYXJGbG9vcnBsYW5bXT4oW10pO1xuICAgIGNvbnN0IFtmbG9vcnBsYW5WYXJpYXRpb25zLCBzZXRGbG9vcnBsYW5WYXJpYXRpb25zXSA9IHVzZVN0YXRlPEZsb29ycGxhblZhcmlhdGlvbltdPihbXSk7XG4gICAgY29uc3QgW3Rlc3RpbW9uaWFscywgc2V0VGVzdGltb25pYWxzXSA9IHVzZVN0YXRlPFRlc3RpbW9uaWFsW10+KFtdKTtcbiAgICBjb25zdCBbd2ViU3BlY2lhbHMsIHNldFdlYlNwZWNpYWxzXSA9IHVzZVN0YXRlPFdlYlNwZWNpYWxbXT4oW10pO1xuXG4gICAgY29uc3QgW2lzTG9hZGluZywgc2V0SXNMb2FkaW5nXSA9IHVzZVN0YXRlKHRydWUpO1xuICAgIGNvbnN0IFtlcnJvckxvYWRpbmcsIHNldEVycm9yTG9hZGluZ10gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgICBjb25zdCBtYXBSZWY6IFJlYWN0LlJlZjxIVE1MRGl2RWxlbWVudD4gPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICAgIGNvbnN0IGhhbmRsZVJlZlRvTWFwID0gKCkgPT4ge1xuICAgICAgICBpZiAoaGFuZGxlUmVmVG9Mb2NhdGlvbilcbiAgICAgICAgICAgIGhhbmRsZVJlZlRvTG9jYXRpb24oKTtcbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBtYXBSZWYuY3VycmVudD8uc2Nyb2xsSW50b1ZpZXcoe1xuICAgICAgICAgICAgICAgIGJlaGF2aW9yOiBcInNtb290aFwiLFxuICAgICAgICAgICAgICAgIGJsb2NrOiBcInN0YXJ0XCJcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBnZXRGbG9vcnBsYW4oZmxvb3JwbGFuSWQpLnRoZW4oZmxvb3JwbGFuRGF0YSA9PiB7XG4gICAgICAgICAgICBzZXRGbG9vcnBsYW4oZmxvb3JwbGFuRGF0YSk7XG4gICAgICAgICAgICBmbG9vcnBsYW5EYXRhLnVuaXRzID0gZmxvb3JwbGFuRGF0YS51bml0cy5maWx0ZXIodW5pdCA9PiB1bml0LmFjdGl2ZSk7XG4gICAgICAgICAgICBpZiAoTGVhc2VUeXBlLlNIT1JUX1RFUk0gPT09IGZsb29ycGxhbkRhdGEucHJvcGVydHkubGVhc2VUeXBlKSB7XG4gICAgICAgICAgICAgICAgc2V0SXNMb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgUHJvbWlzZS5hbGwoW1xuICAgICAgICAgICAgICAgICAgICBnZXRGbG9vcnBsYW5WYXJpYXRpb25zKGZsb29ycGxhbklkKSxcbiAgICAgICAgICAgICAgICAgICAgZ2V0U2ltaWxhckZsb29ycGxhbnMoZmxvb3JwbGFuSWQpLFxuICAgICAgICAgICAgICAgICAgICBnZXRUZXN0aW1vbmlhbHMoZmxvb3JwbGFuSWQpLFxuICAgICAgICAgICAgICAgICAgICBnZXRXZWJTcGVjaWFscyhmbG9vcnBsYW5JZClcbiAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICAgICAgICAudGhlbigoZGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdG9kYXkgPSBtb21lbnQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldEZsb29ycGxhblZhcmlhdGlvbnMoZGF0YVswXSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRTaW1pbGFyRmxvb3JwbGFucyhkYXRhWzFdKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldFRlc3RpbW9uaWFscyhkYXRhWzJdKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZhbGlkV2ViU3BlY2lhbHM6IFdlYlNwZWNpYWxbXSA9IFtdO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YVszXS5mb3JFYWNoKHdlYlNwZWNpYWwgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkYXRlVG9Nb21lbnQod2ViU3BlY2lhbC5zdGFydERhdGUpLmlzQmVmb3JlKHRvZGF5KSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRlVG9Nb21lbnQod2ViU3BlY2lhbC5lbmREYXRlKS5pc0FmdGVyKHRvZGF5KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZFdlYlNwZWNpYWxzLnB1c2god2ViU3BlY2lhbCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRXZWJTcGVjaWFscyh2YWxpZFdlYlNwZWNpYWxzKTtcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgLmNhdGNoKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldEVycm9yTG9hZGluZyh0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2V0SXNMb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pLmNhdGNoKCgpID0+IHtcbiAgICAgICAgICAgIHNldEVycm9yTG9hZGluZyh0cnVlKTtcbiAgICAgICAgICAgIHNldElzTG9hZGluZyhmYWxzZSk7XG4gICAgICAgIH0pO1xuXG4gICAgfSwgW2Zsb29ycGxhbklkXSk7XG5cbiAgICBjb25zdCBhdmFpbGFibGVEYXRlcyA9ICgpOiBzdHJpbmdbXSA9PiB7XG4gICAgICAgIGNvbnN0IHNvcnRBdmFpbGFibGVEYXRlcyA9IChhOiBzdHJpbmcsIGI6IHN0cmluZykgPT4gbW9tZW50KGEsIE1PTlRIX1lFQVJfRk9STUFUKS5kaWZmKG1vbWVudChiLCBNT05USF9ZRUFSX0ZPUk1BVCkpO1xuICAgICAgICBjb25zdCBkYXRlcyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICAgICAgICBjb25zdCB0b2RheSA9IG1vbWVudCgpO1xuXG4gICAgICAgIGNvbnN0IHRvbW9ycm93ID0gdG9kYXkuYWRkKDEsIFwiZGF5XCIpO1xuICAgICAgICBjb25zdCBpc0F2YWlsYWJsZU5vdyA9IChtb3ZlSW5EYXRlOiBtb21lbnQuTW9tZW50KSA9PiBtb3ZlSW5EYXRlLmlzQmVmb3JlKHRvbW9ycm93KTtcblxuICAgICAgICBmbG9vcnBsYW4udW5pdHMuZm9yRWFjaCh1bml0ID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG1vdmVJbkRhdGUgPSBkYXRlVG9Nb21lbnQodW5pdC5tb3ZlSW5EYXRlKTtcbiAgICAgICAgICAgIGlmIChpc0F2YWlsYWJsZU5vdyhtb3ZlSW5EYXRlKSkge1xuICAgICAgICAgICAgICAgIGRhdGVzLmFkZCh0b2RheS5mb3JtYXQoTU9OVEhfWUVBUl9GT1JNQVQpKTtcbiAgICAgICAgICAgICAgICBpZiAodW5pdC5hdmFpbGFiaWxpdHlFeHRlbnNpb25Nb250aHMgJiYgdW5pdC5hdmFpbGFiaWxpdHlFeHRlbnNpb25Nb250aHMgPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAxOyBpIDw9IHVuaXQuYXZhaWxhYmlsaXR5RXh0ZW5zaW9uTW9udGhzOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBleHRlbnNpb25EYXRlID0gbW9tZW50KCkuYWRkKGksICdtb250aCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGF0ZXMuYWRkKGV4dGVuc2lvbkRhdGUuZm9ybWF0KE1PTlRIX1lFQVJfRk9STUFUKSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGRhdGVzLmFkZChtb3ZlSW5EYXRlLmZvcm1hdChNT05USF9ZRUFSX0ZPUk1BVCkpO1xuICAgICAgICAgICAgICAgIGlmICh1bml0LmF2YWlsYWJpbGl0eUV4dGVuc2lvbk1vbnRocyAmJiB1bml0LmF2YWlsYWJpbGl0eUV4dGVuc2lvbk1vbnRocyA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDE7IGkgPD0gdW5pdC5hdmFpbGFiaWxpdHlFeHRlbnNpb25Nb250aHM7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGV4dGVuc2lvbkRhdGUgPSBkYXRlVG9Nb21lbnQodW5pdC5tb3ZlSW5EYXRlKS5hZGQoaSwgJ21vbnRoJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRlcy5hZGQoZXh0ZW5zaW9uRGF0ZS5mb3JtYXQoTU9OVEhfWUVBUl9GT1JNQVQpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbShkYXRlcykuc29ydChzb3J0QXZhaWxhYmxlRGF0ZXMpO1xuICAgIH1cblxuICAgIGNvbnN0IHJlc2lkZW50VXRpbGl0eURldGFpbHMgPSAodXRpbGl0eTogVXRpbGl0eU5hbWUpID0+XG4gICAgICAgIHV0aWxpdHkuYXZlcmFnZU1vbnRobHlCaWxsID9cbiAgICAgICAgICAgIGNhcGl0YWxpemVGaXJzdExldHRlcih1dGlsaXR5Lm5hbWUpICsgXCIgLSBBdmcvTW8gXCIgKyB0b1VTRCh1dGlsaXR5LmF2ZXJhZ2VNb250aGx5QmlsbClcbiAgICAgICAgICAgIDogY2FwaXRhbGl6ZUZpcnN0TGV0dGVyKHV0aWxpdHkubmFtZSk7XG5cbiAgICBjb25zdCBpc0F2ZXJhZ2VNb250aGx5QmlsbFByZXNlbnQgPSAoKSA9PiBmbG9vcnBsYW4udXRpbGl0aWVzLmZpbHRlcih1dGlsaXR5ID0+IHV0aWxpdHkudHlwZSA9PT0gVXRpbGl0eVR5cGUuUkVTSURFTlRfVVRJTElUWSkuc29tZSh1dGlsaXR5ID0+IHV0aWxpdHkuYXZlcmFnZU1vbnRobHlCaWxsICE9IG51bGwpO1xuXG5cbiAgICBjb25zdCBpc1dpdGhpblR3ZWx2ZU1vbnRocyA9IChkYXRlOiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc3QgY3VycmVudCA9IG1vbWVudChkYXRlLCBcIk1NTSBZWVlZXCIpO1xuICAgICAgICBjb25zdCB0d2VsdmVNb250aHNGcm9tTm93ID0gbW9tZW50KCkuYWRkKDEsIFwieWVhclwiKTtcbiAgICAgICAgcmV0dXJuIGN1cnJlbnQuaXNCZWZvcmUodHdlbHZlTW9udGhzRnJvbU5vdyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgICAgTGVhc2VUeXBlLlNIT1JUX1RFUk0gPT09IGZsb29ycGxhbi5wcm9wZXJ0eT8ubGVhc2VUeXBlID9cbiAgICAgICAgICAgIDxTaG9ydFRlcm1GbG9vcnBsYW5TZWN0aW9uIGNvbnRhY3RDbGlja0hhbmRsZXI9e2NvbnRhY3RDbGlja0hhbmRsZXJ9IGFwcGx5Q2xpY2tIYW5kbGVyPXthcHBseUNsaWNrSGFuZGxlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb29ycGxhbklkPXtmbG9vcnBsYW5JZH0vPiA6XG4gICAgICAgICAgICA8c2VjdGlvbiBjbGFzc05hbWU9XCJzZWN0aW9uLWZsb29ycGxhblwiPlxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nID8gPHNlY3Rpb24gY2xhc3NOYW1lPVwic2VjdGlvbi1mbG9vcnBsYW4tLWhlcm9cIj48R3JpZEdhbGxlcnlTa2VsZXRvbi8+PC9zZWN0aW9uPiA6IDw+XG4gICAgICAgICAgICAgICAgICAgICAgICB7ZXJyb3JMb2FkaW5nID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzc05hbWU9XCJkaXYtZnVsbC0tY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMj5VaC1vaCwgdGhpcyBpcyBhIDQwNDwvaDI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPiA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZsb29ycGxhbkhlcm8gZmxvb3JwbGFuPXtmbG9vcnBsYW59IGNvbnRhY3RDbGlja0hhbmRsZXI9e2NvbnRhY3RDbGlja0hhbmRsZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdlYlNwZWNpYWxzPXt3ZWJTcGVjaWFsc31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwbHlDbGlja0hhbmRsZXI9e2FwcGx5Q2xpY2tIYW5kbGVyfSBoYW5kbGVSZWZUb01hcD17aGFuZGxlUmVmVG9NYXB9Lz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxvb3JwbGFuLS1jYXJkc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDYXJkIHRpdGxlPVwiRGV0YWlsc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJmbG9vcnBsYW4tY2FyZC0tZmVhdHVyZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtmbG9vcnBsYW4uYmVkcm9vbX0gQmVkcm9vbVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB7Zmxvb3JwbGFuLmJhdGhyb29tfSBCYXRocm9vbSB7ZW51bVRvU3RyaW5nKGZsb29ycGxhbi5zdHlsZSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2Zsb29ycGxhbi51bml0cy5sZW5ndGggPiAwID8gPD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cImZsb29ycGxhbi1jYXJkLS1mZWF0dXJlZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtyYW5nZUZyb20oZmxvb3JwbGFuLnVuaXRzLCBcInNxdWFyZUZvb3RcIil9IFNxdWFyZSBGZWV0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJmbG9vcnBsYW4tY2FyZC0tZmVhdHVyZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3JhbmdlRnJvbShmbG9vcnBsYW4udW5pdHMsIFwicmVudFwiKX0vbW9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cImZsb29ycGxhbi1jYXJkLS1mZWF0dXJlZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7cmFuZ2VGcm9tKGZsb29ycGxhbi51bml0cywgXCJkZXBvc2l0XCIpfSBTZWN1cml0eSBEZXBvc2l0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvPiA6IFwiXCJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2Zsb29ycGxhbi5kZXNjcmlwdGlvbn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQ2FyZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb29ycGxhbi5hbWVuaXRpZXMubGVuZ3RoID4gMCA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q2FyZCB0aXRsZT1cIkFtZW5pdGllc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxVbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvb3JwbGFuLmFtZW5pdGllcy5maWx0ZXIoYW1lbml0eSA9PiBhbWVuaXR5LmZlYXR1cmVkKS5tYXAoYW1lbml0eSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaSBrZXk9e1wiZmxvb3JwbGFuLWFtZW5pdHktXCIgKyBhbWVuaXR5LmlkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWxsZXRJY29uPVwic3RhclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzRmVhdHVyZWQ9e3RydWV9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7YW1lbml0eS5uYW1lfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9MaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb29ycGxhbi5hbWVuaXRpZXMuZmlsdGVyKGFtZW5pdHkgPT4gIWFtZW5pdHkuZmVhdHVyZWQpLm1hcChhbWVuaXR5ID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExpIGtleT17XCJmbG9vcnBsYW4tYW1lbml0eS1cIiArIGFtZW5pdHkuaWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1bGxldEljb249XCJkb3RcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2FtZW5pdHkubmFtZX1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvb3JwbGFuVmFyaWF0aW9ucy5sZW5ndGggPiAwID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1PlZhcmlhdGlvbnM8L2g1PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxVbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvb3JwbGFuVmFyaWF0aW9ucy5tYXAoKHZhcmlhdGlvbiwgaSkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGkga2V5PXtcImZsb29ycGxhbi12YXJpYXRpb24tXCIgKyBpfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3ZhcmlhdGlvbi52YXJpYXRpb259XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9MaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvVWw+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvPiA6IFwiXCJ9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQ2FyZD4gOiA8PjwvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGltb25pYWxzLmxlbmd0aCA+IDAgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFRlc3RpbW9uaWFsc0NhcmQgdGVzdGltb25pYWxzPXt0ZXN0aW1vbmlhbHN9Lz4gOiA8PjwvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPENhcmQgdGl0bGU9XCJQZXRzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNT5QZXJtaXR0ZWQ8L2g1PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGVybWl0dGVkUGV0cyhmbG9vcnBsYW4pLm1hcCgocGV0LCBpKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGkga2V5PXtcImZsb29ycGxhbi1wZXJtaXR0ZWQtcGV0LVwiICsgaX0gYnVsbGV0SWNvbj1cImNoZWNrXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1bGxldENvbG9yPVwiZ3JlZW5cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtwZXR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7bm90UGVybWl0dGVkUGV0cyhmbG9vcnBsYW4pLmxlbmd0aCA+IDAgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPD48aDU+Tm90IFBlcm1pdHRlZDwvaDU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub3RQZXJtaXR0ZWRQZXRzKGZsb29ycGxhbikubWFwKChwZXQsIGkpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExpIGtleT17XCJmbG9vcnBsYW4tbm90LXBlcm1pdHRlZC1wZXQtXCIgKyBpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWxsZXRDb2xvcj1cImJyb3duXCIgYnVsbGV0SWNvbj1cImNsb3NlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtwZXR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9MaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvVWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Lz4gOiBcIlwifVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBldFBvbGljeShmbG9vcnBsYW4pID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDU+QWRkaXRpb25hbCBJbmZvcm1hdGlvbjwvaDU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPntwZXRQb2xpY3koZmxvb3JwbGFuKX08L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC8+IDogXCJcIlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQ2FyZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Zmxvb3JwbGFuLnVuaXRzLmxlbmd0aCA+IDAgPyA8PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q2FyZCB0aXRsZT1cIkF2YWlsYWJpbGl0eVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXZhaWxhYmxlRGF0ZXMoKS5maWx0ZXIoYXZhaWxhYmxlRGF0ZSA9PiBpc1dpdGhpblR3ZWx2ZU1vbnRocyhhdmFpbGFibGVEYXRlKSkubWFwKGF2YWlsYWJsZURhdGUgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaSBrZXk9e1wiZmxvb3JwbGFuLXVuaXQtYXZhaWxhYmlsaXR5LVwiICsgYXZhaWxhYmxlRGF0ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWxsZXRJY29uPVwiY2FsZW5kYXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdmFpbGFibGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiA8c3Ryb25nPntjYXBpdGFsaXplRmlyc3RMZXR0ZXIoYXZhaWxhYmxlRGF0ZSl9PC9zdHJvbmc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9VbD5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0NhcmQ+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPENhcmQgdGl0bGU9XCJVdGlsaXRpZXNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNT5QYWlkIEJ5IExhbmRsb3JkPC9oNT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxVbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb29ycGxhbi51dGlsaXRpZXMuZmlsdGVyKHV0aWxpdHkgPT4gdXRpbGl0eS50eXBlID09PSBVdGlsaXR5VHlwZS5JTkNMVURFRF9VVElMSVRZKS5tYXAodXRpbGl0eSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExpIGtleT17XCJmbG9vcnBsYW4taW5jbHVkZWQtdXRpbGl0eS1cIiArIHV0aWxpdHkuaWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVsbGV0SWNvbj1cImhvbWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Y2FwaXRhbGl6ZUZpcnN0TGV0dGVyKHV0aWxpdHkubmFtZSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9VbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNT5QYWlkIEJ5IFJlc2lkZW50PC9oNT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxVbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb29ycGxhbi51dGlsaXRpZXMuZmlsdGVyKHV0aWxpdHkgPT4gdXRpbGl0eS50eXBlID09PSBVdGlsaXR5VHlwZS5SRVNJREVOVF9VVElMSVRZKS5tYXAodXRpbGl0eSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExpIGtleT17XCJmbG9vcnBsYW4tcmVzaWRlbnQtdXRpbGl0eS1cIiArIHV0aWxpdHkuaWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVsbGV0SWNvbj1cImRvbGxhclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtyZXNpZGVudFV0aWxpdHlEZXRhaWxzKHV0aWxpdHkpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9MaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvVWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aXNBdmVyYWdlTW9udGhseUJpbGxQcmVzZW50KCkgPyA8cD48aT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqKkF2ZXJhZ2UgdXRpbGl0aWVzIHNob3duIGFib3ZlIGFyZSBhbiBlc3RpbWF0ZS4gQWN0dWFsIG1vbnRobHlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1dGlsaXR5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29zdHMgY2FuIHZhcnkgc2lnbmlmaWNhbnRseSBiYXNlZCBvbiBpbmRpdmlkdWFsIHVzYWdlLCB0aW1lIG9mXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVhcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgd2VhdGhlciwgYW5kIG90aGVyIGZhY3RvcnNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaT48L3A+IDogXCJcIn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0NhcmQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC8+IDogXCJcIn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7c2ltaWxhckZsb29ycGxhbnMubGVuZ3RoID4gMCA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTaW1pbGFyRmxvb3JwbGFuQ2FyZCBzaW1pbGFyRmxvb3JwbGFucz17c2ltaWxhckZsb29ycGxhbnN9Lz4gOiBcIlwifVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb250YWN0LWNhcmRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPENhcmQgZmVhdHVyZWQ9e3RydWV9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PGk+UXVlc3Rpb25zPzwvaT48L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48aT5DYWxsIG9yIHRleHQgdXMgYW55dGltZTo8L2k+PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2Zsb29ycGxhbi5wcm9wZXJ0eT8ucGhvbmUgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9e1widGVsOlwiICsgZmxvb3JwbGFuLnByb3BlcnR5LnBob25lfT57Zm9ybWF0UGhvbmVOdW1iZXIoZmxvb3JwbGFuLnByb3BlcnR5LnBob25lKX08L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJcIn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b24gdmFyaWFudD1cInRlcnRpYXJ5XCIgb25DbGljaz17Y29udGFjdENsaWNrSGFuZGxlcn0gc2l6ZT1cImxhcmdlXCI+Q29udGFjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgwrs8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9DYXJkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q2FyZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHJlZj17bG9jYXRpb25SZWYgPyBsb2NhdGlvblJlZiA6IG1hcFJlZn0gaWQ9XCJsb2NhdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJyZWZlcmVuY2VcIj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxNYXBTZWN0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyYz17Zmxvb3JwbGFuQWRkcmVzc1RvR29vZ2xlTWFwKGZsb29ycGxhbkFkZHJlc3MoZmxvb3JwbGFuKSl9Lz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQ2FyZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICk7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIEZsb29ycGxhblNlY3Rpb25Qcm9wcyB7XG4gICAgY29udGFjdENsaWNrSGFuZGxlcjogKCkgPT4gdm9pZDtcbiAgICBhcHBseUNsaWNrSGFuZGxlcjogKCkgPT4gdm9pZDtcbiAgICBmbG9vcnBsYW5JZDogc3RyaW5nO1xuICAgIGxvY2F0aW9uUmVmPzogUmVhY3QuUmVmPEhUTUxEaXZFbGVtZW50PjtcbiAgICBoYW5kbGVSZWZUb0xvY2F0aW9uPzogKCkgPT4gdm9pZDtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsVUFBQSxHQUFBRCxPQUFBO0FBU0EsSUFBQUUsaUJBQUEsR0FBQUYsT0FBQTtBQVlBQSxPQUFBO0FBQ0EsSUFBQUcsb0JBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLGNBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLE1BQUEsR0FBQUwsT0FBQTtBQVNBLElBQUFNLEtBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLGlCQUFBLEdBQUFQLE9BQUE7QUFDQSxJQUFBUSxXQUFBLEdBQUFSLE9BQUE7QUFDQSxJQUFBUyxxQkFBQSxHQUFBVCxPQUFBO0FBQ0EsSUFBQVUsVUFBQSxHQUFBVixPQUFBO0FBQ0EsSUFBQVcsT0FBQSxHQUFBQyxzQkFBQSxDQUFBWixPQUFBO0FB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
|
|
207
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfRmxvb3JwbGFuIiwiX0Zsb29ycGxhblNlcnZpY2UiLCJfR3JpZEdhbGxlcnlTa2VsZXRvbiIsIl9GbG9vcnBsYW5IZXJvIiwiX1V0aWxzIiwiX0NhcmQiLCJfVGVzdGltb25pYWxzQ2FyZCIsIl9NYXBTZWN0aW9uIiwiX1NpbWlsYXJGbG9vcnBsYW5DYXJkIiwiX211bmNoZXJVaSIsIl9tb21lbnQiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX1Byb3BlcnR5IiwiX1Nob3J0VGVybUZsb29ycGxhblNlY3Rpb24iLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJGbG9vcnBsYW5TZWN0aW9uIiwiX3JlZiIsIl9mbG9vcnBsYW4kcHJvcGVydHkiLCJfZmxvb3JwbGFuJHByb3BlcnR5MiIsImNvbnRhY3RDbGlja0hhbmRsZXIiLCJhcHBseUNsaWNrSGFuZGxlciIsImZsb29ycGxhbklkIiwibG9jYXRpb25SZWYiLCJoYW5kbGVSZWZUb0xvY2F0aW9uIiwiaGFuZGxlSHRtbFRpdGxlVXBkYXRlIiwiZmxvb3JwbGFuIiwic2V0Rmxvb3JwbGFuIiwidXNlU3RhdGUiLCJzaW1pbGFyRmxvb3JwbGFucyIsInNldFNpbWlsYXJGbG9vcnBsYW5zIiwiZmxvb3JwbGFuVmFyaWF0aW9ucyIsInNldEZsb29ycGxhblZhcmlhdGlvbnMiLCJ0ZXN0aW1vbmlhbHMiLCJzZXRUZXN0aW1vbmlhbHMiLCJ3ZWJTcGVjaWFscyIsInNldFdlYlNwZWNpYWxzIiwiaXNMb2FkaW5nIiwic2V0SXNMb2FkaW5nIiwiZXJyb3JMb2FkaW5nIiwic2V0RXJyb3JMb2FkaW5nIiwibWFwUmVmIiwidXNlUmVmIiwiaGFuZGxlUmVmVG9NYXAiLCJfbWFwUmVmJGN1cnJlbnQiLCJjdXJyZW50Iiwic2Nyb2xsSW50b1ZpZXciLCJiZWhhdmlvciIsImJsb2NrIiwidXNlRWZmZWN0IiwiZ2V0Rmxvb3JwbGFuIiwidGhlbiIsImZsb29ycGxhbkRhdGEiLCJodG1sVGl0bGUiLCJ1bml0cyIsImZpbHRlciIsInVuaXQiLCJhY3RpdmUiLCJMZWFzZVR5cGUiLCJTSE9SVF9URVJNIiwicHJvcGVydHkiLCJsZWFzZVR5cGUiLCJQcm9taXNlIiwiYWxsIiwiZ2V0Rmxvb3JwbGFuVmFyaWF0aW9ucyIsImdldFNpbWlsYXJGbG9vcnBsYW5zIiwiZ2V0VGVzdGltb25pYWxzIiwiZ2V0V2ViU3BlY2lhbHMiLCJkYXRhIiwidG9kYXkiLCJtb21lbnQiLCJ2YWxpZFdlYlNwZWNpYWxzIiwiZm9yRWFjaCIsIndlYlNwZWNpYWwiLCJkYXRlVG9Nb21lbnQiLCJzdGFydERhdGUiLCJpc0JlZm9yZSIsImVuZERhdGUiLCJpc0FmdGVyIiwicHVzaCIsImNhdGNoIiwiZmluYWxseSIsImF2YWlsYWJsZURhdGVzIiwic29ydEF2YWlsYWJsZURhdGVzIiwiYiIsIk1PTlRIX1lFQVJfRk9STUFUIiwiZGlmZiIsImRhdGVzIiwiU2V0IiwidG9tb3Jyb3ciLCJhZGQiLCJpc0F2YWlsYWJsZU5vdyIsIm1vdmVJbkRhdGUiLCJmb3JtYXQiLCJhdmFpbGFiaWxpdHlFeHRlbnNpb25Nb250aHMiLCJleHRlbnNpb25EYXRlIiwiQXJyYXkiLCJmcm9tIiwic29ydCIsInJlc2lkZW50VXRpbGl0eURldGFpbHMiLCJ1dGlsaXR5IiwiYXZlcmFnZU1vbnRobHlCaWxsIiwiY2FwaXRhbGl6ZUZpcnN0TGV0dGVyIiwibmFtZSIsInRvVVNEIiwiaXNBdmVyYWdlTW9udGhseUJpbGxQcmVzZW50IiwidXRpbGl0aWVzIiwidHlwZSIsIlV0aWxpdHlUeXBlIiwiUkVTSURFTlRfVVRJTElUWSIsInNvbWUiLCJpc1dpdGhpblR3ZWx2ZU1vbnRocyIsImRhdGUiLCJ0d2VsdmVNb250aHNGcm9tTm93IiwiY3JlYXRlRWxlbWVudCIsIlNob3J0VGVybUZsb29ycGxhblNlY3Rpb24iLCJjbGFzc05hbWUiLCJHcmlkR2FsbGVyeVNrZWxldG9uIiwiRnJhZ21lbnQiLCJGbG9vcnBsYW5IZXJvIiwiQ2FyZCIsInRpdGxlIiwiYmVkcm9vbSIsImJhdGhyb29tIiwiZW51bVRvU3RyaW5nIiwic3R5bGUiLCJsZW5ndGgiLCJyYW5nZUZyb20iLCJkZXNjcmlwdGlvbiIsImFtZW5pdGllcyIsIlVsIiwiYW1lbml0eSIsImZlYXR1cmVkIiwibWFwIiwiTGkiLCJrZXkiLCJpZCIsImJ1bGxldEljb24iLCJpc0ZlYXR1cmVkIiwidmFyaWF0aW9uIiwiVGVzdGltb25pYWxzQ2FyZCIsInBlcm1pdHRlZFBldHMiLCJwZXQiLCJidWxsZXRDb2xvciIsIm5vdFBlcm1pdHRlZFBldHMiLCJwZXRQb2xpY3kiLCJhdmFpbGFibGVEYXRlIiwiSU5DTFVERURfVVRJTElUWSIsIlNpbWlsYXJGbG9vcnBsYW5DYXJkIiwicGhvbmUiLCJocmVmIiwiZm9ybWF0UGhvbmVOdW1iZXIiLCJCdXR0b24iLCJ2YXJpYW50Iiwib25DbGljayIsInNpemUiLCJyZWYiLCJNYXBTZWN0aW9uIiwic3JjIiwiZmxvb3JwbGFuQWRkcmVzc1RvR29vZ2xlTWFwIiwiZmxvb3JwbGFuQWRkcmVzcyIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZmxvb3JwbGFuL3NlY3Rpb24vRmxvb3JwbGFuU2VjdGlvbi50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7dXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7XG4gICAgRmxvb3JwbGFuLFxuICAgIEZsb29ycGxhblZhcmlhdGlvbixcbiAgICBTaW1pbGFyRmxvb3JwbGFuLFxuICAgIFRlc3RpbW9uaWFsLFxuICAgIFV0aWxpdHlOYW1lLFxuICAgIFV0aWxpdHlUeXBlLFxuICAgIFdlYlNwZWNpYWxcbn0gZnJvbSBcIi4uL2RhdGEvRmxvb3JwbGFuXCI7XG5pbXBvcnQge1xuICAgIGZsb29ycGxhbkFkZHJlc3MsXG4gICAgZ2V0Rmxvb3JwbGFuLFxuICAgIGdldEZsb29ycGxhblZhcmlhdGlvbnMsXG4gICAgZ2V0U2ltaWxhckZsb29ycGxhbnMsXG4gICAgZ2V0VGVzdGltb25pYWxzLFxuICAgIGdldFdlYlNwZWNpYWxzLFxuICAgIE1PTlRIX1lFQVJfRk9STUFULFxuICAgIG5vdFBlcm1pdHRlZFBldHMsXG4gICAgcGVybWl0dGVkUGV0cyxcbiAgICBwZXRQb2xpY3lcbn0gZnJvbSBcIi4uL3NlcnZpY2UvRmxvb3JwbGFuU2VydmljZVwiO1xuaW1wb3J0IFwiLi9hc3NldHMvRmxvb3JwbGFuU2VjdGlvbi5zY3NzXCI7XG5pbXBvcnQge0dyaWRHYWxsZXJ5U2tlbGV0b259IGZyb20gXCIuLi8uLi9nYWxsZXJ5L0dyaWRHYWxsZXJ5U2tlbGV0b25cIjtcbmltcG9ydCB7Rmxvb3JwbGFuSGVyb30gZnJvbSBcIi4vRmxvb3JwbGFuSGVyb1wiO1xuaW1wb3J0IHtcbiAgICBjYXBpdGFsaXplRmlyc3RMZXR0ZXIsXG4gICAgZGF0ZVRvTW9tZW50LFxuICAgIGVudW1Ub1N0cmluZyxcbiAgICBmbG9vcnBsYW5BZGRyZXNzVG9Hb29nbGVNYXAsXG4gICAgZm9ybWF0UGhvbmVOdW1iZXIsXG4gICAgcmFuZ2VGcm9tLFxuICAgIHRvVVNEXG59IGZyb20gXCIuLi8uLi91dGlscy9VdGlsc1wiO1xuaW1wb3J0IHtDYXJkfSBmcm9tIFwiLi4vLi4vY2FyZC9DYXJkXCI7XG5pbXBvcnQge1Rlc3RpbW9uaWFsc0NhcmR9IGZyb20gXCIuLi9jYXJkL1Rlc3RpbW9uaWFsc0NhcmRcIjtcbmltcG9ydCB7TWFwU2VjdGlvbn0gZnJvbSBcIi4uLy4uL21hcC9NYXBTZWN0aW9uXCI7XG5pbXBvcnQge1NpbWlsYXJGbG9vcnBsYW5DYXJkfSBmcm9tIFwiLi4vY2FyZC9TaW1pbGFyRmxvb3JwbGFuQ2FyZFwiO1xuaW1wb3J0IHtCdXR0b24sIExpLCBVbH0gZnJvbSBcIkBjb250ZW50bXVuY2gvbXVuY2hlci11aVwiO1xuaW1wb3J0IG1vbWVudCBmcm9tIFwibW9tZW50XCI7XG5pbXBvcnQge0xlYXNlVHlwZX0gZnJvbSBcIi4uLy4uL3Byb3BlcnR5L2RhdGEvUHJvcGVydHlcIjtcbmltcG9ydCB7U2hvcnRUZXJtRmxvb3JwbGFuU2VjdGlvbn0gZnJvbSBcIi4uLy4uL3Nob3J0LXRlcm0vU2hvcnRUZXJtRmxvb3JwbGFuU2VjdGlvblwiO1xuXG5leHBvcnQgY29uc3QgRmxvb3JwbGFuU2VjdGlvbjogUmVhY3QuRkM8Rmxvb3JwbGFuU2VjdGlvblByb3BzPiA9IChcbiAgICB7XG4gICAgICAgIGNvbnRhY3RDbGlja0hhbmRsZXIsXG4gICAgICAgIGFwcGx5Q2xpY2tIYW5kbGVyLFxuICAgICAgICBmbG9vcnBsYW5JZCxcbiAgICAgICAgbG9jYXRpb25SZWYsXG4gICAgICAgIGhhbmRsZVJlZlRvTG9jYXRpb24sXG4gICAgICAgIGhhbmRsZUh0bWxUaXRsZVVwZGF0ZVxuICAgIH0pID0+IHtcbiAgICBjb25zdCBbZmxvb3JwbGFuLCBzZXRGbG9vcnBsYW5dID0gdXNlU3RhdGU8Rmxvb3JwbGFuPih7fSBhcyBGbG9vcnBsYW4pO1xuICAgIGNvbnN0IFtzaW1pbGFyRmxvb3JwbGFucywgc2V0U2ltaWxhckZsb29ycGxhbnNdID0gdXNlU3RhdGU8U2ltaWxhckZsb29ycGxhbltdPihbXSk7XG4gICAgY29uc3QgW2Zsb29ycGxhblZhcmlhdGlvbnMsIHNldEZsb29ycGxhblZhcmlhdGlvbnNdID0gdXNlU3RhdGU8Rmxvb3JwbGFuVmFyaWF0aW9uW10+KFtdKTtcbiAgICBjb25zdCBbdGVzdGltb25pYWxzLCBzZXRUZXN0aW1vbmlhbHNdID0gdXNlU3RhdGU8VGVzdGltb25pYWxbXT4oW10pO1xuICAgIGNvbnN0IFt3ZWJTcGVjaWFscywgc2V0V2ViU3BlY2lhbHNdID0gdXNlU3RhdGU8V2ViU3BlY2lhbFtdPihbXSk7XG5cbiAgICBjb25zdCBbaXNMb2FkaW5nLCBzZXRJc0xvYWRpbmddID0gdXNlU3RhdGUodHJ1ZSk7XG4gICAgY29uc3QgW2Vycm9yTG9hZGluZywgc2V0RXJyb3JMb2FkaW5nXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICAgIGNvbnN0IG1hcFJlZjogUmVhY3QuUmVmPEhUTUxEaXZFbGVtZW50PiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gICAgY29uc3QgaGFuZGxlUmVmVG9NYXAgPSAoKSA9PiB7XG4gICAgICAgIGlmIChoYW5kbGVSZWZUb0xvY2F0aW9uKVxuICAgICAgICAgICAgaGFuZGxlUmVmVG9Mb2NhdGlvbigpO1xuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIG1hcFJlZi5jdXJyZW50Py5zY3JvbGxJbnRvVmlldyh7XG4gICAgICAgICAgICAgICAgYmVoYXZpb3I6IFwic21vb3RoXCIsXG4gICAgICAgICAgICAgICAgYmxvY2s6IFwic3RhcnRcIlxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGdldEZsb29ycGxhbihmbG9vcnBsYW5JZCkudGhlbihmbG9vcnBsYW5EYXRhID0+IHtcbiAgICAgICAgICAgIHNldEZsb29ycGxhbihmbG9vcnBsYW5EYXRhKTtcblxuICAgICAgICAgICAgaWYgKGhhbmRsZUh0bWxUaXRsZVVwZGF0ZSkge1xuICAgICAgICAgICAgICAgIGhhbmRsZUh0bWxUaXRsZVVwZGF0ZShmbG9vcnBsYW5EYXRhLmh0bWxUaXRsZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGZsb29ycGxhbkRhdGEudW5pdHMgPSBmbG9vcnBsYW5EYXRhLnVuaXRzLmZpbHRlcih1bml0ID0+IHVuaXQuYWN0aXZlKTtcbiAgICAgICAgICAgIGlmIChMZWFzZVR5cGUuU0hPUlRfVEVSTSA9PT0gZmxvb3JwbGFuRGF0YS5wcm9wZXJ0eS5sZWFzZVR5cGUpIHtcbiAgICAgICAgICAgICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBQcm9taXNlLmFsbChbXG4gICAgICAgICAgICAgICAgICAgIGdldEZsb29ycGxhblZhcmlhdGlvbnMoZmxvb3JwbGFuSWQpLFxuICAgICAgICAgICAgICAgICAgICBnZXRTaW1pbGFyRmxvb3JwbGFucyhmbG9vcnBsYW5JZCksXG4gICAgICAgICAgICAgICAgICAgIGdldFRlc3RpbW9uaWFscyhmbG9vcnBsYW5JZCksXG4gICAgICAgICAgICAgICAgICAgIGdldFdlYlNwZWNpYWxzKGZsb29ycGxhbklkKVxuICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgICAgICAgIC50aGVuKChkYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0b2RheSA9IG1vbWVudCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc2V0Rmxvb3JwbGFuVmFyaWF0aW9ucyhkYXRhWzBdKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldFNpbWlsYXJGbG9vcnBsYW5zKGRhdGFbMV0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGVzdGltb25pYWxzKGRhdGFbMl0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsaWRXZWJTcGVjaWFsczogV2ViU3BlY2lhbFtdID0gW107XG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhWzNdLmZvckVhY2god2ViU3BlY2lhbCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRhdGVUb01vbWVudCh3ZWJTcGVjaWFsLnN0YXJ0RGF0ZSkuaXNCZWZvcmUodG9kYXkpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGVUb01vbWVudCh3ZWJTcGVjaWFsLmVuZERhdGUpLmlzQWZ0ZXIodG9kYXkpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkV2ViU3BlY2lhbHMucHVzaCh3ZWJTcGVjaWFsKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldFdlYlNwZWNpYWxzKHZhbGlkV2ViU3BlY2lhbHMpO1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAuY2F0Y2goKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2V0RXJyb3JMb2FkaW5nKHRydWUpO1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAuZmluYWxseSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSkuY2F0Y2goKCkgPT4ge1xuICAgICAgICAgICAgc2V0RXJyb3JMb2FkaW5nKHRydWUpO1xuICAgICAgICAgICAgc2V0SXNMb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgfSk7XG5cbiAgICB9LCBbZmxvb3JwbGFuSWRdKTtcblxuICAgIGNvbnN0IGF2YWlsYWJsZURhdGVzID0gKCk6IHN0cmluZ1tdID0+IHtcbiAgICAgICAgY29uc3Qgc29ydEF2YWlsYWJsZURhdGVzID0gKGE6IHN0cmluZywgYjogc3RyaW5nKSA9PiBtb21lbnQoYSwgTU9OVEhfWUVBUl9GT1JNQVQpLmRpZmYobW9tZW50KGIsIE1PTlRIX1lFQVJfRk9STUFUKSk7XG4gICAgICAgIGNvbnN0IGRhdGVzID0gbmV3IFNldDxzdHJpbmc+KCk7XG4gICAgICAgIGNvbnN0IHRvZGF5ID0gbW9tZW50KCk7XG5cbiAgICAgICAgY29uc3QgdG9tb3Jyb3cgPSB0b2RheS5hZGQoMSwgXCJkYXlcIik7XG4gICAgICAgIGNvbnN0IGlzQXZhaWxhYmxlTm93ID0gKG1vdmVJbkRhdGU6IG1vbWVudC5Nb21lbnQpID0+IG1vdmVJbkRhdGUuaXNCZWZvcmUodG9tb3Jyb3cpO1xuXG4gICAgICAgIGZsb29ycGxhbi51bml0cy5mb3JFYWNoKHVuaXQgPT4ge1xuICAgICAgICAgICAgY29uc3QgbW92ZUluRGF0ZSA9IGRhdGVUb01vbWVudCh1bml0Lm1vdmVJbkRhdGUpO1xuICAgICAgICAgICAgaWYgKGlzQXZhaWxhYmxlTm93KG1vdmVJbkRhdGUpKSB7XG4gICAgICAgICAgICAgICAgZGF0ZXMuYWRkKHRvZGF5LmZvcm1hdChNT05USF9ZRUFSX0ZPUk1BVCkpO1xuICAgICAgICAgICAgICAgIGlmICh1bml0LmF2YWlsYWJpbGl0eUV4dGVuc2lvbk1vbnRocyAmJiB1bml0LmF2YWlsYWJpbGl0eUV4dGVuc2lvbk1vbnRocyA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDE7IGkgPD0gdW5pdC5hdmFpbGFiaWxpdHlFeHRlbnNpb25Nb250aHM7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGV4dGVuc2lvbkRhdGUgPSBtb21lbnQoKS5hZGQoaSwgJ21vbnRoJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRlcy5hZGQoZXh0ZW5zaW9uRGF0ZS5mb3JtYXQoTU9OVEhfWUVBUl9GT1JNQVQpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgZGF0ZXMuYWRkKG1vdmVJbkRhdGUuZm9ybWF0KE1PTlRIX1lFQVJfRk9STUFUKSk7XG4gICAgICAgICAgICAgICAgaWYgKHVuaXQuYXZhaWxhYmlsaXR5RXh0ZW5zaW9uTW9udGhzICYmIHVuaXQuYXZhaWxhYmlsaXR5RXh0ZW5zaW9uTW9udGhzID4gMCkge1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMTsgaSA8PSB1bml0LmF2YWlsYWJpbGl0eUV4dGVuc2lvbk1vbnRoczsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgZXh0ZW5zaW9uRGF0ZSA9IGRhdGVUb01vbWVudCh1bml0Lm1vdmVJbkRhdGUpLmFkZChpLCAnbW9udGgnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGVzLmFkZChleHRlbnNpb25EYXRlLmZvcm1hdChNT05USF9ZRUFSX0ZPUk1BVCkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBBcnJheS5mcm9tKGRhdGVzKS5zb3J0KHNvcnRBdmFpbGFibGVEYXRlcyk7XG4gICAgfVxuXG4gICAgY29uc3QgcmVzaWRlbnRVdGlsaXR5RGV0YWlscyA9ICh1dGlsaXR5OiBVdGlsaXR5TmFtZSkgPT5cbiAgICAgICAgdXRpbGl0eS5hdmVyYWdlTW9udGhseUJpbGwgP1xuICAgICAgICAgICAgY2FwaXRhbGl6ZUZpcnN0TGV0dGVyKHV0aWxpdHkubmFtZSkgKyBcIiAtIEF2Zy9NbyBcIiArIHRvVVNEKHV0aWxpdHkuYXZlcmFnZU1vbnRobHlCaWxsKVxuICAgICAgICAgICAgOiBjYXBpdGFsaXplRmlyc3RMZXR0ZXIodXRpbGl0eS5uYW1lKTtcblxuICAgIGNvbnN0IGlzQXZlcmFnZU1vbnRobHlCaWxsUHJlc2VudCA9ICgpID0+IGZsb29ycGxhbi51dGlsaXRpZXMuZmlsdGVyKHV0aWxpdHkgPT4gdXRpbGl0eS50eXBlID09PSBVdGlsaXR5VHlwZS5SRVNJREVOVF9VVElMSVRZKS5zb21lKHV0aWxpdHkgPT4gdXRpbGl0eS5hdmVyYWdlTW9udGhseUJpbGwgIT0gbnVsbCk7XG5cblxuICAgIGNvbnN0IGlzV2l0aGluVHdlbHZlTW9udGhzID0gKGRhdGU6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCBjdXJyZW50ID0gbW9tZW50KGRhdGUsIFwiTU1NIFlZWVlcIik7XG4gICAgICAgIGNvbnN0IHR3ZWx2ZU1vbnRoc0Zyb21Ob3cgPSBtb21lbnQoKS5hZGQoMSwgXCJ5ZWFyXCIpO1xuICAgICAgICByZXR1cm4gY3VycmVudC5pc0JlZm9yZSh0d2VsdmVNb250aHNGcm9tTm93KTtcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgICBMZWFzZVR5cGUuU0hPUlRfVEVSTSA9PT0gZmxvb3JwbGFuLnByb3BlcnR5Py5sZWFzZVR5cGUgP1xuICAgICAgICAgICAgPFNob3J0VGVybUZsb29ycGxhblNlY3Rpb24gY29udGFjdENsaWNrSGFuZGxlcj17Y29udGFjdENsaWNrSGFuZGxlcn0gYXBwbHlDbGlja0hhbmRsZXI9e2FwcGx5Q2xpY2tIYW5kbGVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvb3JwbGFuSWQ9e2Zsb29ycGxhbklkfS8+IDpcbiAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzTmFtZT1cInNlY3Rpb24tZmxvb3JwbGFuXCI+XG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBpc0xvYWRpbmcgPyA8c2VjdGlvbiBjbGFzc05hbWU9XCJzZWN0aW9uLWZsb29ycGxhbi0taGVyb1wiPjxHcmlkR2FsbGVyeVNrZWxldG9uLz48L3NlY3Rpb24+IDogPD5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtlcnJvckxvYWRpbmcgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzTmFtZT1cImRpdi1mdWxsLS1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyPlVoLW9oLCB0aGlzIGlzIGEgNDA0PC9oMj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+IDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rmxvb3JwbGFuSGVybyBmbG9vcnBsYW49e2Zsb29ycGxhbn0gY29udGFjdENsaWNrSGFuZGxlcj17Y29udGFjdENsaWNrSGFuZGxlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2ViU3BlY2lhbHM9e3dlYlNwZWNpYWxzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBseUNsaWNrSGFuZGxlcj17YXBwbHlDbGlja0hhbmRsZXJ9IGhhbmRsZVJlZlRvTWFwPXtoYW5kbGVSZWZUb01hcH0vPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbG9vcnBsYW4tLWNhcmRzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPENhcmQgdGl0bGU9XCJEZXRhaWxzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cImZsb29ycGxhbi1jYXJkLS1mZWF0dXJlZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2Zsb29ycGxhbi5iZWRyb29tfSBCZWRyb29tXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHtmbG9vcnBsYW4uYmF0aHJvb219IEJhdGhyb29tIHtlbnVtVG9TdHJpbmcoZmxvb3JwbGFuLnN0eWxlKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Zmxvb3JwbGFuLnVuaXRzLmxlbmd0aCA+IDAgPyA8PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwiZmxvb3JwbGFuLWNhcmQtLWZlYXR1cmVkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3JhbmdlRnJvbShmbG9vcnBsYW4udW5pdHMsIFwic3F1YXJlRm9vdFwiKX0gU3F1YXJlIEZlZXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cImZsb29ycGxhbi1jYXJkLS1mZWF0dXJlZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7cmFuZ2VGcm9tKGZsb29ycGxhbi51bml0cywgXCJyZW50XCIpfS9tb1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwiZmxvb3JwbGFuLWNhcmQtLWZlYXR1cmVkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtyYW5nZUZyb20oZmxvb3JwbGFuLnVuaXRzLCBcImRlcG9zaXRcIil9IFNlY3VyaXR5IERlcG9zaXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC8+IDogXCJcIn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Zmxvb3JwbGFuLmRlc2NyaXB0aW9ufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9DYXJkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvb3JwbGFuLmFtZW5pdGllcy5sZW5ndGggPiAwID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDYXJkIHRpdGxlPVwiQW1lbml0aWVzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9vcnBsYW4uYW1lbml0aWVzLmZpbHRlcihhbWVuaXR5ID0+IGFtZW5pdHkuZmVhdHVyZWQpLm1hcChhbWVuaXR5ID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExpIGtleT17XCJmbG9vcnBsYW4tYW1lbml0eS1cIiArIGFtZW5pdHkuaWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1bGxldEljb249XCJzdGFyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNGZWF0dXJlZD17dHJ1ZX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHthbWVuaXR5Lm5hbWV9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvb3JwbGFuLmFtZW5pdGllcy5maWx0ZXIoYW1lbml0eSA9PiAhYW1lbml0eS5mZWF0dXJlZCkubWFwKGFtZW5pdHkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGkga2V5PXtcImZsb29ycGxhbi1hbWVuaXR5LVwiICsgYW1lbml0eS5pZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVsbGV0SWNvbj1cImRvdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7YW1lbml0eS5uYW1lfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9MaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvVWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9vcnBsYW5WYXJpYXRpb25zLmxlbmd0aCA+IDAgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDU+VmFyaWF0aW9uczwvaDU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9vcnBsYW5WYXJpYXRpb25zLm1hcCgodmFyaWF0aW9uLCBpKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaSBrZXk9e1wiZmxvb3JwbGFuLXZhcmlhdGlvbi1cIiArIGl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dmFyaWF0aW9uLnZhcmlhdGlvbn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9VbD5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC8+IDogXCJcIn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9DYXJkPiA6IDw+PC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0aW1vbmlhbHMubGVuZ3RoID4gMCA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VGVzdGltb25pYWxzQ2FyZCB0ZXN0aW1vbmlhbHM9e3Rlc3RpbW9uaWFsc30vPiA6IDw+PC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q2FyZCB0aXRsZT1cIlBldHNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1PlBlcm1pdHRlZDwvaDU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxVbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZXJtaXR0ZWRQZXRzKGZsb29ycGxhbikubWFwKChwZXQsIGkpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaSBrZXk9e1wiZmxvb3JwbGFuLXBlcm1pdHRlZC1wZXQtXCIgKyBpfSBidWxsZXRJY29uPVwiY2hlY2tcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVsbGV0Q29sb3I9XCJncmVlblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3BldH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9MaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvVWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtub3RQZXJtaXR0ZWRQZXRzKGZsb29ycGxhbikubGVuZ3RoID4gMCA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8PjxoNT5Ob3QgUGVybWl0dGVkPC9oNT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdFBlcm1pdHRlZFBldHMoZmxvb3JwbGFuKS5tYXAoKHBldCwgaSkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGkga2V5PXtcImZsb29ycGxhbi1ub3QtcGVybWl0dGVkLXBldC1cIiArIGl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1bGxldENvbG9yPVwiYnJvd25cIiBidWxsZXRJY29uPVwiY2xvc2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3BldH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9VbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvPiA6IFwiXCJ9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGV0UG9saWN5KGZsb29ycGxhbikgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNT5BZGRpdGlvbmFsIEluZm9ybWF0aW9uPC9oNT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+e3BldFBvbGljeShmbG9vcnBsYW4pfTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Lz4gOiBcIlwiXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9DYXJkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtmbG9vcnBsYW4udW5pdHMubGVuZ3RoID4gMCA/IDw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDYXJkIHRpdGxlPVwiQXZhaWxhYmlsaXR5XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdmFpbGFibGVEYXRlcygpLmZpbHRlcihhdmFpbGFibGVEYXRlID0+IGlzV2l0aGluVHdlbHZlTW9udGhzKGF2YWlsYWJsZURhdGUpKS5tYXAoYXZhaWxhYmxlRGF0ZSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExpIGtleT17XCJmbG9vcnBsYW4tdW5pdC1hdmFpbGFiaWxpdHktXCIgKyBhdmFpbGFibGVEYXRlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1bGxldEljb249XCJjYWxlbmRhclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEF2YWlsYWJsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIDxzdHJvbmc+e2NhcGl0YWxpemVGaXJzdExldHRlcihhdmFpbGFibGVEYXRlKX08L3N0cm9uZz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1VsPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQ2FyZD5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q2FyZCB0aXRsZT1cIlV0aWxpdGllc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1PlBhaWQgQnkgTGFuZGxvcmQ8L2g1PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvb3JwbGFuLnV0aWxpdGllcy5maWx0ZXIodXRpbGl0eSA9PiB1dGlsaXR5LnR5cGUgPT09IFV0aWxpdHlUeXBlLklOQ0xVREVEX1VUSUxJVFkpLm1hcCh1dGlsaXR5ID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGkga2V5PXtcImZsb29ycGxhbi1pbmNsdWRlZC11dGlsaXR5LVwiICsgdXRpbGl0eS5pZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWxsZXRJY29uPVwiaG9tZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtjYXBpdGFsaXplRmlyc3RMZXR0ZXIodXRpbGl0eS5uYW1lKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1PlBhaWQgQnkgUmVzaWRlbnQ8L2g1PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvb3JwbGFuLnV0aWxpdGllcy5maWx0ZXIodXRpbGl0eSA9PiB1dGlsaXR5LnR5cGUgPT09IFV0aWxpdHlUeXBlLlJFU0lERU5UX1VUSUxJVFkpLm1hcCh1dGlsaXR5ID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGkga2V5PXtcImZsb29ycGxhbi1yZXNpZGVudC11dGlsaXR5LVwiICsgdXRpbGl0eS5pZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWxsZXRJY29uPVwiZG9sbGFyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3Jlc2lkZW50VXRpbGl0eURldGFpbHModXRpbGl0eSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9VbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpc0F2ZXJhZ2VNb250aGx5QmlsbFByZXNlbnQoKSA/IDxwPjxpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoqQXZlcmFnZSB1dGlsaXRpZXMgc2hvd24gYWJvdmUgYXJlIGFuIGVzdGltYXRlLiBBY3R1YWwgbW9udGhseVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHV0aWxpdHlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3N0cyBjYW4gdmFyeSBzaWduaWZpY2FudGx5IGJhc2VkIG9uIGluZGl2aWR1YWwgdXNhZ2UsIHRpbWUgb2ZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5ZWFyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSB3ZWF0aGVyLCBhbmQgb3RoZXIgZmFjdG9yc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9pPjwvcD4gOiBcIlwifVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQ2FyZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Lz4gOiBcIlwifVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtzaW1pbGFyRmxvb3JwbGFucy5sZW5ndGggPiAwID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFNpbWlsYXJGbG9vcnBsYW5DYXJkIHNpbWlsYXJGbG9vcnBsYW5zPXtzaW1pbGFyRmxvb3JwbGFuc30vPiA6IFwiXCJ9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbnRhY3QtY2FyZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q2FyZCBmZWF0dXJlZD17dHJ1ZX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48aT5RdWVzdGlvbnM/PC9pPjwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxpPkNhbGwgb3IgdGV4dCB1cyBhbnl0aW1lOjwvaT48L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Zmxvb3JwbGFuLnByb3BlcnR5Py5waG9uZSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj17XCJ0ZWw6XCIgKyBmbG9vcnBsYW4ucHJvcGVydHkucGhvbmV9Pntmb3JtYXRQaG9uZU51bWJlcihmbG9vcnBsYW4ucHJvcGVydHkucGhvbmUpfTwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIlwifVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbiB2YXJpYW50PVwidGVydGlhcnlcIiBvbkNsaWNrPXtjb250YWN0Q2xpY2tIYW5kbGVyfSBzaXplPVwibGFyZ2VcIj5Db250YWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDCuzwvQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0NhcmQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDYXJkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgcmVmPXtsb2NhdGlvblJlZiA/IGxvY2F0aW9uUmVmIDogbWFwUmVmfSBpZD1cImxvY2F0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInJlZmVyZW5jZVwiPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPE1hcFNlY3Rpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjPXtmbG9vcnBsYW5BZGRyZXNzVG9Hb29nbGVNYXAoZmxvb3JwbGFuQWRkcmVzcyhmbG9vcnBsYW4pKX0vPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9DYXJkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgKTtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmxvb3JwbGFuU2VjdGlvblByb3BzIHtcbiAgICBjb250YWN0Q2xpY2tIYW5kbGVyOiAoKSA9PiB2b2lkO1xuICAgIGFwcGx5Q2xpY2tIYW5kbGVyOiAoKSA9PiB2b2lkO1xuICAgIGZsb29ycGxhbklkOiBzdHJpbmc7XG4gICAgbG9jYXRpb25SZWY/OiBSZWFjdC5SZWY8SFRNTERpdkVsZW1lbnQ+O1xuICAgIGhhbmRsZVJlZlRvTG9jYXRpb24/OiAoKSA9PiB2b2lkO1xuICAgIGhhbmRsZUh0bWxUaXRsZVVwZGF0ZT86ICh0aXRsZTogc3RyaW5nKSA9PiB2b2lkO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxVQUFBLEdBQUFELE9BQUE7QUFTQSxJQUFBRSxpQkFBQSxHQUFBRixPQUFBO0FBWUFBLE9BQUE7QUFDQSxJQUFBRyxv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
|