@renaissancerentals/renaissance-component 10.1.52 → 11.0.0
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/announcement/Banner.js +6 -21
- package/lib/application/ApplicationModal.js +5 -12
- package/lib/application/ApplicationSection.js +19 -46
- package/lib/application/service/ApplicationService.js +1 -5
- package/lib/asset/AssetModal.js +9 -26
- package/lib/asset/VideoModal.js +3 -10
- package/lib/asset/service/AssetService.js +1 -25
- package/lib/card/Card.js +3 -9
- package/lib/contact/ContactModal.js +8 -15
- package/lib/contact/ContactSection.js +37 -73
- package/lib/contact/ContactSectionSkeleton.js +1 -7
- package/lib/contact/data/Contact.js +1 -1
- package/lib/contact/service/ContactService.js +1 -12
- package/lib/data/RenaissanceData.js +1 -1
- package/lib/feature/FeatureSection.js +1 -6
- package/lib/floorplan/card/FloorplanCard.js +14 -39
- package/lib/floorplan/card/FloorplanCardSkeleton.js +1 -7
- package/lib/floorplan/card/FloorplanCardSlider.js +10 -30
- package/lib/floorplan/card/FloorplanSliderCard.js +4 -15
- package/lib/floorplan/card/SimilarFloorplanCard.js +8 -33
- package/lib/floorplan/card/TestimonialsCard.js +1 -8
- package/lib/floorplan/data/Calendar.js +1 -1
- package/lib/floorplan/data/Floorplan.d.ts +0 -2
- package/lib/floorplan/data/Floorplan.js +1 -6
- package/lib/floorplan/data/FloorplanFilters.js +1 -7
- package/lib/floorplan/data/Unit.js +1 -6
- package/lib/floorplan/filter/FloorplanDropDown.js +7 -23
- package/lib/floorplan/section/FloorplanHero.js +38 -86
- package/lib/floorplan/section/FloorplanSection.js +30 -73
- package/lib/floorplan/section/FloorplanSectionSkeleton.js +2 -15
- package/lib/floorplan/section/FloorplansHeader.js +39 -97
- package/lib/floorplan/section/FloorplansHeaderSekeleton.js +1 -8
- package/lib/floorplan/section/FloorplansSection.js +30 -54
- package/lib/floorplan/section/HeroBadgeStats.js +5 -16
- package/lib/floorplan/section/filter/Availability.js +3 -12
- package/lib/floorplan/section/filter/Bedroom.js +3 -11
- package/lib/floorplan/section/filter/Price.js +4 -11
- package/lib/floorplan/section/filter/Sort.js +6 -22
- package/lib/floorplan/section/filter/Style.js +3 -10
- package/lib/floorplan/service/FloorplanService.js +1 -75
- package/lib/footer/Footer.js +2 -13
- package/lib/gallery/DriveGallery.js +18 -43
- package/lib/gallery/Gallery.js +19 -50
- package/lib/gallery/GalleryHeroMain.js +8 -26
- package/lib/gallery/GalleryHeroMobile.js +6 -28
- package/lib/gallery/GalleryHeroSkeleton.js +1 -7
- package/lib/gallery/GalleryModal.js +12 -32
- package/lib/gallery/HeroImageCard.js +4 -9
- package/lib/gallery/ImageCard.js +3 -9
- package/lib/gallery/ImageCardSkeleton.js +2 -8
- package/lib/gallery/VideoTours.js +1 -6
- package/lib/gallery/VirtualTour.js +1 -5
- package/lib/header/InfoHeader.js +1 -6
- package/lib/index.js +1 -51
- package/lib/input/Captcha.js +6 -25
- package/lib/map/MapSection.js +1 -6
- package/lib/property/LeaseOfficeSkeleton.js +1 -7
- package/lib/property/PropertyLocation.js +3 -15
- package/lib/property/PropertyLocationSkeleton.js +1 -7
- package/lib/property/data/Property.js +1 -5
- package/lib/property/service/PropertyService.js +1 -5
- package/lib/review/ReviewSection.js +9 -35
- package/lib/service/AdminApi.js +1 -6
- package/lib/service/Api.js +1 -6
- package/lib/service/AssetApi.js +1 -7
- package/lib/service/GraphqlQuery.js +1 -6
- package/lib/sublet/SubletCard.js +5 -24
- package/lib/sublet/SubletImage.js +11 -32
- package/lib/sublet/SubletMessageModal.js +22 -48
- package/lib/sublet/SubletNotFound.js +1 -6
- package/lib/sublet/SubletSection.js +44 -93
- package/lib/sublet/SubletsSection.js +8 -27
- package/lib/sublet/data/Sublet.js +1 -1
- package/lib/sublet/services/SubletService.js +5 -19
- package/lib/summer-house/SummerHouseFeatures.js +1 -7
- package/lib/summer-house/SummerHousePricing.js +1 -6
- package/lib/summer-house/data/SummerHouseAmenities.js +1 -1
- package/lib/team/TeamSection.js +3 -16
- package/lib/team/card/TeamCard.js +2 -12
- package/lib/team/card/TeamCardSkeleton.js +1 -7
- package/lib/team/service/TeamService.js +1 -5
- package/lib/utils/PrettyPrintJson.js +1 -5
- package/lib/utils/Utils.js +1 -42
- package/lib/video/Video.js +11 -33
- package/package.json +4 -4
|
@@ -4,42 +4,25 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.sortFloorplans = exports.sortAndFilter = exports.petPolicy = exports.permittedPets = exports.notPermittedPets = exports.momentToMonthYear = exports.isFloorplanAvailable = exports.getUnitsFor = exports.getTestimonials = exports.getSimilarFloorplans = exports.getFloorplansFilterData = exports.getFloorplanVariations = exports.getFloorplan = exports.getFeaturedFloorplans = exports.getAllPropertyFilterData = exports.getAllActiveFloorplans = exports.filtersFrom = exports.convertToHttps = void 0;
|
|
7
|
-
|
|
8
7
|
var _lodash = _interopRequireDefault(require("lodash"));
|
|
9
|
-
|
|
10
8
|
var _FloorplanFilters = require("../data/FloorplanFilters");
|
|
11
|
-
|
|
12
9
|
var _moment = _interopRequireDefault(require("moment"));
|
|
13
|
-
|
|
14
10
|
var _AdminApi = _interopRequireDefault(require("../../service/AdminApi"));
|
|
15
|
-
|
|
16
11
|
var _Utils = require("../../utils/Utils");
|
|
17
|
-
|
|
18
12
|
var _Unit = require("../data/Unit");
|
|
19
|
-
|
|
20
13
|
var _GraphqlQuery = _interopRequireDefault(require("../../service/GraphqlQuery"));
|
|
21
|
-
|
|
22
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
23
|
-
|
|
24
15
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
25
|
-
|
|
26
16
|
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
27
|
-
|
|
28
17
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
29
|
-
|
|
30
18
|
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
31
|
-
|
|
32
19
|
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
33
|
-
|
|
34
20
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
35
|
-
|
|
36
21
|
var convertToHttps = function convertToHttps(url) {
|
|
37
22
|
if (url === null) return "";
|
|
38
23
|
return url.replace(/^http:\/\//i, 'https://');
|
|
39
24
|
};
|
|
40
|
-
|
|
41
25
|
exports.convertToHttps = convertToHttps;
|
|
42
|
-
|
|
43
26
|
var getAllPropertyFilterDataQuery = function getAllPropertyFilterDataQuery() {
|
|
44
27
|
return '{ \
|
|
45
28
|
properties { \
|
|
@@ -55,7 +38,6 @@ var getAllPropertyFilterDataQuery = function getAllPropertyFilterDataQuery() {
|
|
|
55
38
|
} \
|
|
56
39
|
}';
|
|
57
40
|
};
|
|
58
|
-
|
|
59
41
|
var getAllPropertyFilterData = function getAllPropertyFilterData() {
|
|
60
42
|
return (0, _GraphqlQuery.default)(getAllPropertyFilterDataQuery()).then(function (response) {
|
|
61
43
|
var properties = response.data.data.properties.filter(function (property) {
|
|
@@ -74,9 +56,7 @@ var getAllPropertyFilterData = function getAllPropertyFilterData() {
|
|
|
74
56
|
return properties;
|
|
75
57
|
});
|
|
76
58
|
};
|
|
77
|
-
|
|
78
59
|
exports.getAllPropertyFilterData = getAllPropertyFilterData;
|
|
79
|
-
|
|
80
60
|
var getFloorplansFilterDataQuery = function getFloorplansFilterDataQuery(propertyId) {
|
|
81
61
|
return '{ \
|
|
82
62
|
property(id: "' + propertyId + '") { \
|
|
@@ -91,7 +71,6 @@ var getFloorplansFilterDataQuery = function getFloorplansFilterDataQuery(propert
|
|
|
91
71
|
} \
|
|
92
72
|
}';
|
|
93
73
|
};
|
|
94
|
-
|
|
95
74
|
var getFloorplansFilterData = function getFloorplansFilterData(propertyId) {
|
|
96
75
|
return (0, _GraphqlQuery.default)(getFloorplansFilterDataQuery(propertyId)).then(function (response) {
|
|
97
76
|
var floorplans = response.data.data.property.floorplans.filter(function (floorplan) {
|
|
@@ -105,80 +84,61 @@ var getFloorplansFilterData = function getFloorplansFilterData(propertyId) {
|
|
|
105
84
|
return floorplans;
|
|
106
85
|
});
|
|
107
86
|
};
|
|
108
|
-
|
|
109
87
|
exports.getFloorplansFilterData = getFloorplansFilterData;
|
|
110
|
-
|
|
111
88
|
var sortAndFilter = function sortAndFilter(floorplans, currentFilters) {
|
|
112
89
|
return sortFloorplans(floorplans.filter(function (floorplan) {
|
|
113
90
|
return filterMatches(floorplan, currentFilters);
|
|
114
91
|
}), currentFilters.sortBy);
|
|
115
92
|
};
|
|
116
|
-
|
|
117
93
|
exports.sortAndFilter = sortAndFilter;
|
|
118
|
-
|
|
119
94
|
var isDateWithinTwelveMonths = function isDateWithinTwelveMonths(date) {
|
|
120
95
|
var today = (0, _moment.default)();
|
|
121
96
|
var diff = (0, _moment.default)(date, "YYYY-MM-DD").diff(today, 'months', false);
|
|
122
97
|
return diff > 0 && diff < 12;
|
|
123
98
|
};
|
|
124
|
-
|
|
125
99
|
var dateToMonthYear = function dateToMonthYear(dateString) {
|
|
126
100
|
return (0, _moment.default)(dateString, "YYYY-MM-DD").format('MMM YYYY');
|
|
127
101
|
};
|
|
128
|
-
|
|
129
102
|
var momentToMonthYear = function momentToMonthYear(date) {
|
|
130
103
|
return date.format('MMM YYYY');
|
|
131
104
|
};
|
|
132
|
-
|
|
133
105
|
exports.momentToMonthYear = momentToMonthYear;
|
|
134
|
-
|
|
135
106
|
var isAvailable = function isAvailable(floorplan, availabilityFilters) {
|
|
136
107
|
return availabilityFilters.length === 0 ? true : floorplan.units.some(function (unit) {
|
|
137
108
|
return availabilityFilters.indexOf(dateToMonthYear(unit.moveInDate)) > -1;
|
|
138
109
|
});
|
|
139
110
|
};
|
|
140
|
-
|
|
141
111
|
var isBedroomsMatch = function isBedroomsMatch(floorplan, bedroomFilters) {
|
|
142
112
|
return bedroomFilters.length === 0 ? true : bedroomFilters.indexOf(floorplan.bedroom) > -1;
|
|
143
113
|
};
|
|
144
|
-
|
|
145
114
|
var isStyleMatch = function isStyleMatch(floorplan, styleFilters) {
|
|
146
115
|
return styleFilters.length === 0 ? true : styleFilters.indexOf(floorplan.style) > -1;
|
|
147
116
|
};
|
|
148
|
-
|
|
149
117
|
var isInPriceRange = function isInPriceRange(floorplan, minRent, maxRent) {
|
|
150
118
|
var minMax = (0, _Utils.minumMaximum)(floorplan.units, "rent");
|
|
151
119
|
return minMax.min >= minRent && minMax.max <= maxRent;
|
|
152
120
|
};
|
|
153
|
-
|
|
154
121
|
var isFloorplanIdsMatch = function isFloorplanIdsMatch(floorplan, floorplanIds) {
|
|
155
122
|
return floorplanIds.length === 0 ? true : floorplanIds.indexOf(floorplan.id) > -1;
|
|
156
123
|
};
|
|
157
|
-
|
|
158
124
|
var filterMatches = function filterMatches(floorplan, currentFilters) {
|
|
159
125
|
return isAvailable(floorplan, currentFilters.availabilityFilters) && isInPriceRange(floorplan, currentFilters.minRent, currentFilters.maxRent) && isStyleMatch(floorplan, currentFilters.styleFilters) && isBedroomsMatch(floorplan, currentFilters.bedroomFilters) && isFloorplanIdsMatch(floorplan, currentFilters.floorplanIds);
|
|
160
126
|
};
|
|
161
|
-
|
|
162
127
|
var sortFloorplans = function sortFloorplans(floorplans, sortBy) {
|
|
163
128
|
if (_FloorplanFilters.SortFields[sortBy].sortField === "minRate" && _FloorplanFilters.SortFields[sortBy].order === "desc") {
|
|
164
129
|
return floorplans.sort(function (a, b) {
|
|
165
130
|
return (0, _Utils.minumMaximum)(b.units, "rent").min - (0, _Utils.minumMaximum)(a.units, "rent").min;
|
|
166
131
|
});
|
|
167
132
|
}
|
|
168
|
-
|
|
169
133
|
var minRateSorted = floorplans.sort(function (a, b) {
|
|
170
134
|
return (0, _Utils.minumMaximum)(a.units, "rent").min - (0, _Utils.minumMaximum)(b.units, "rent").min;
|
|
171
135
|
});
|
|
172
|
-
|
|
173
136
|
if (_FloorplanFilters.SortFields[sortBy].sortField === "minRate" && _FloorplanFilters.SortFields[sortBy].order === "asc") {
|
|
174
137
|
return minRateSorted;
|
|
175
138
|
}
|
|
176
|
-
|
|
177
139
|
return _lodash.default.orderBy(minRateSorted, _FloorplanFilters.SortFields[sortBy].sortField, _FloorplanFilters.SortFields[sortBy].order);
|
|
178
140
|
};
|
|
179
|
-
|
|
180
141
|
exports.sortFloorplans = sortFloorplans;
|
|
181
|
-
|
|
182
142
|
var filtersFrom = function filtersFrom(floorplans) {
|
|
183
143
|
var bedroomFilters = new Set();
|
|
184
144
|
var availabilityFilters = new Set();
|
|
@@ -196,9 +156,7 @@ var filtersFrom = function filtersFrom(floorplans) {
|
|
|
196
156
|
style: styleFilters
|
|
197
157
|
};
|
|
198
158
|
};
|
|
199
|
-
|
|
200
159
|
exports.filtersFrom = filtersFrom;
|
|
201
|
-
|
|
202
160
|
var getFeaturedFloorplans = function getFeaturedFloorplans() {
|
|
203
161
|
return _AdminApi.default.get("floorplans?projection=spotlight&size=200").then(function (response) {
|
|
204
162
|
return response.data._embedded.floorplans.filter(function (floorplan) {
|
|
@@ -206,9 +164,7 @@ var getFeaturedFloorplans = function getFeaturedFloorplans() {
|
|
|
206
164
|
});
|
|
207
165
|
});
|
|
208
166
|
};
|
|
209
|
-
|
|
210
167
|
exports.getFeaturedFloorplans = getFeaturedFloorplans;
|
|
211
|
-
|
|
212
168
|
var getAllActiveFloorplans = function getAllActiveFloorplans() {
|
|
213
169
|
return _AdminApi.default.get("floorplans?projection=details&size=200").then(function (response) {
|
|
214
170
|
return response.data._embedded.floorplans.filter(function (floorplan) {
|
|
@@ -218,115 +174,85 @@ var getAllActiveFloorplans = function getAllActiveFloorplans() {
|
|
|
218
174
|
});
|
|
219
175
|
});
|
|
220
176
|
};
|
|
221
|
-
|
|
222
177
|
exports.getAllActiveFloorplans = getAllActiveFloorplans;
|
|
223
|
-
|
|
224
178
|
var getFloorplan = function getFloorplan(floorplanId) {
|
|
225
179
|
return _AdminApi.default.get("floorplans/" + floorplanId + "?projection=withId").then(function (response) {
|
|
226
180
|
return response.data;
|
|
227
181
|
});
|
|
228
182
|
};
|
|
229
|
-
|
|
230
183
|
exports.getFloorplan = getFloorplan;
|
|
231
|
-
|
|
232
184
|
var getUnitsFor = function getUnitsFor(floorplanId) {
|
|
233
185
|
return _AdminApi.default.get("units/byFloorplan?floorplanId=" + floorplanId).then(function (response) {
|
|
234
186
|
return response.data;
|
|
235
187
|
});
|
|
236
188
|
};
|
|
237
|
-
|
|
238
189
|
exports.getUnitsFor = getUnitsFor;
|
|
239
|
-
|
|
240
190
|
var getSimilarFloorplans = function getSimilarFloorplans(floorplanId) {
|
|
241
191
|
return _AdminApi.default.get("similarFloorplans/byFloorplan?floorplanId=" + floorplanId).then(function (response) {
|
|
242
192
|
return response.data;
|
|
243
193
|
});
|
|
244
194
|
};
|
|
245
|
-
|
|
246
195
|
exports.getSimilarFloorplans = getSimilarFloorplans;
|
|
247
|
-
|
|
248
196
|
var getFloorplanVariations = function getFloorplanVariations(floorplanId) {
|
|
249
197
|
return _AdminApi.default.get("floorplanVariations/byFloorplan?floorplanId=" + floorplanId).then(function (response) {
|
|
250
198
|
return response.data;
|
|
251
199
|
});
|
|
252
200
|
};
|
|
253
|
-
|
|
254
201
|
exports.getFloorplanVariations = getFloorplanVariations;
|
|
255
202
|
var today = (0, _moment.default)();
|
|
256
|
-
|
|
257
203
|
var isFloorplanAvailable = function isFloorplanAvailable(floorplan) {
|
|
258
204
|
return floorplan.units.some(function (unit) {
|
|
259
205
|
return today.isAfter((0, _Utils.dateToMoment)(unit.moveInDate));
|
|
260
206
|
});
|
|
261
207
|
};
|
|
262
|
-
|
|
263
208
|
exports.isFloorplanAvailable = isFloorplanAvailable;
|
|
264
|
-
|
|
265
209
|
var getTestimonials = function getTestimonials(floorplanId) {
|
|
266
210
|
return _AdminApi.default.get("testimonials/byFloorplan?floorplanId=" + floorplanId).then(function (response) {
|
|
267
211
|
return response.data;
|
|
268
212
|
});
|
|
269
213
|
};
|
|
270
|
-
|
|
271
214
|
exports.getTestimonials = getTestimonials;
|
|
272
|
-
|
|
273
215
|
var permittedPets = function permittedPets(floorplan) {
|
|
274
216
|
var unit = unitWithMostAllowedPet(_toConsumableArray(floorplan.units));
|
|
275
|
-
|
|
276
217
|
switch (unit === null || unit === void 0 ? void 0 : unit.allowedPet) {
|
|
277
218
|
case _Unit.Pet.LARGE_DOG_SMALL_DOG_CAT:
|
|
278
219
|
return ['Large Dog', 'Small Dog', 'Cat'];
|
|
279
|
-
|
|
280
220
|
case _Unit.Pet.SMALL_DOG_CAT:
|
|
281
221
|
return ['Small Dog', 'Cat'];
|
|
282
|
-
|
|
283
222
|
case _Unit.Pet.CAT:
|
|
284
223
|
return ['Cat'];
|
|
285
|
-
|
|
286
224
|
default:
|
|
287
225
|
return ['None'];
|
|
288
226
|
}
|
|
289
227
|
};
|
|
290
|
-
|
|
291
228
|
exports.permittedPets = permittedPets;
|
|
292
|
-
|
|
293
229
|
var notPermittedPets = function notPermittedPets(floorplan) {
|
|
294
230
|
var unit = unitWithMostAllowedPet(_toConsumableArray(floorplan.units));
|
|
295
|
-
|
|
296
231
|
switch (unit === null || unit === void 0 ? void 0 : unit.allowedPet) {
|
|
297
232
|
case _Unit.Pet.LARGE_DOG_SMALL_DOG_CAT:
|
|
298
233
|
return [];
|
|
299
|
-
|
|
300
234
|
case _Unit.Pet.SMALL_DOG_CAT:
|
|
301
235
|
return ['Large Dog'];
|
|
302
|
-
|
|
303
236
|
case _Unit.Pet.CAT:
|
|
304
237
|
return ['Large Dog', 'Small Dog'];
|
|
305
|
-
|
|
306
238
|
case _Unit.Pet.NO_PET:
|
|
307
239
|
return ['Large Dog', 'Small Dog', 'Cat'];
|
|
308
|
-
|
|
309
240
|
default:
|
|
310
241
|
return [];
|
|
311
242
|
}
|
|
312
243
|
};
|
|
313
|
-
|
|
314
244
|
exports.notPermittedPets = notPermittedPets;
|
|
315
|
-
|
|
316
245
|
var petPolicy = function petPolicy(floorplan) {
|
|
317
246
|
var unit = unitWithMostAllowedPet(_toConsumableArray(floorplan.units));
|
|
318
247
|
return unit === null || unit === void 0 ? void 0 : unit.petPolicy;
|
|
319
248
|
};
|
|
320
|
-
|
|
321
249
|
exports.petPolicy = petPolicy;
|
|
322
|
-
|
|
323
250
|
var unitWithMostAllowedPet = function unitWithMostAllowedPet(units) {
|
|
324
251
|
var petOrdinal = function petOrdinal(pet) {
|
|
325
252
|
return Object.keys(_Unit.Pet).indexOf(pet);
|
|
326
253
|
};
|
|
327
|
-
|
|
328
254
|
return units.sort(function (a, b) {
|
|
329
255
|
return petOrdinal(b.allowedPet) - petOrdinal(a.allowedPet);
|
|
330
256
|
}).pop();
|
|
331
257
|
};
|
|
332
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb252ZXJ0VG9IdHRwcyIsInVybCIsInJlcGxhY2UiLCJnZXRBbGxQcm9wZXJ0eUZpbHRlckRhdGFRdWVyeSIsImdldEFsbFByb3BlcnR5RmlsdGVyRGF0YSIsIkdyYXBocWxRdWVyeSIsInRoZW4iLCJyZXNwb25zZSIsInByb3BlcnRpZXMiLCJkYXRhIiwiZmlsdGVyIiwicHJvcGVydHkiLCJhY3RpdmUiLCJmb3JFYWNoIiwiZmxvb3JwbGFucyIsImZsb29ycGxhbiIsInVuaXRzIiwidW5pdCIsImdldEZsb29ycGxhbnNGaWx0ZXJEYXRhUXVlcnkiLCJwcm9wZXJ0eUlkIiwiZ2V0Rmxvb3JwbGFuc0ZpbHRlckRhdGEiLCJzb3J0QW5kRmlsdGVyIiwiY3VycmVudEZpbHRlcnMiLCJzb3J0Rmxvb3JwbGFucyIsImZpbHRlck1hdGNoZXMiLCJzb3J0QnkiLCJpc0RhdGVXaXRoaW5Ud2VsdmVNb250aHMiLCJkYXRlIiwidG9kYXkiLCJtb21lbnQiLCJkaWZmIiwiZGF0ZVRvTW9udGhZZWFyIiwiZGF0ZVN0cmluZyIsImZvcm1hdCIsIm1vbWVudFRvTW9udGhZZWFyIiwiaXNBdmFpbGFibGUiLCJhdmFpbGFiaWxpdHlGaWx0ZXJzIiwibGVuZ3RoIiwic29tZSIsImluZGV4T2YiLCJtb3ZlSW5EYXRlIiwiaXNCZWRyb29tc01hdGNoIiwiYmVkcm9vbUZpbHRlcnMiLCJiZWRyb29tIiwiaXNTdHlsZU1hdGNoIiwic3R5bGVGaWx0ZXJzIiwic3R5bGUiLCJpc0luUHJpY2VSYW5nZSIsIm1pblJlbnQiLCJtYXhSZW50IiwibWluTWF4IiwibWludW1NYXhpbXVtIiwibWluIiwibWF4IiwiaXNGbG9vcnBsYW5JZHNNYXRjaCIsImZsb29ycGxhbklkcyIsImlkIiwiU29ydEZpZWxkcyIsInNvcnRGaWVsZCIsIm9yZGVyIiwic29ydCIsImEiLCJiIiwibWluUmF0ZVNvcnRlZCIsIl8iLCJvcmRlckJ5IiwiZmlsdGVyc0Zyb20iLCJTZXQiLCJhZGQiLCJ2YWx1ZSIsImF2YWlsYWJpbGl0eSIsImdldEZlYXR1cmVkRmxvb3JwbGFucyIsIkFkbWluQXBpIiwiZ2V0IiwiX2VtYmVkZGVkIiwiZmVhdHVyZWQiLCJnZXRBbGxBY3RpdmVGbG9vcnBsYW5zIiwiZ2V0Rmxvb3JwbGFuIiwiZmxvb3JwbGFuSWQiLCJnZXRVbml0c0ZvciIsImdldFNpbWlsYXJGbG9vcnBsYW5zIiwiZ2V0Rmxvb3JwbGFuVmFyaWF0aW9ucyIsImlzRmxvb3JwbGFuQXZhaWxhYmxlIiwiaXNBZnRlciIsImRhdGVUb01vbWVudCIsImdldFRlc3RpbW9uaWFscyIsInBlcm1pdHRlZFBldHMiLCJ1bml0V2l0aE1vc3RBbGxvd2VkUGV0IiwiYWxsb3dlZFBldCIsIlBldCIsIkxBUkdFX0RPR19TTUFMTF9ET0dfQ0FUIiwiU01BTExfRE9HX0NBVCIsIkNBVCIsIm5vdFBlcm1pdHRlZFBldHMiLCJOT19QRVQiLCJwZXRQb2xpY3kiLCJwZXRPcmRpbmFsIiwicGV0IiwiT2JqZWN0Iiwia2V5cyIsInBvcCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9mbG9vcnBsYW4vc2VydmljZS9GbG9vcnBsYW5TZXJ2aWNlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQge01vbnRofSBmcm9tIFwiLi4vZGF0YS9DYWxlbmRhclwiO1xuaW1wb3J0IHtDdXJyZW50RmlsdGVycywgRmxvb3JwbGFuRmlsdGVycywgU29ydEJ5LCBTb3J0RmllbGRzfSBmcm9tIFwiLi4vZGF0YS9GbG9vcnBsYW5GaWx0ZXJzXCI7XG5pbXBvcnQgbW9tZW50LCB7TW9tZW50fSBmcm9tIFwibW9tZW50XCI7XG5pbXBvcnQgQWRtaW5BcGkgZnJvbSBcIi4uLy4uL3NlcnZpY2UvQWRtaW5BcGlcIjtcbmltcG9ydCB7XG4gICAgRmxvb3JwbGFuLFxuICAgIEZsb29ycGxhbkNhcmREYXRhLFxuICAgIEZsb29ycGxhbkRldGFpbHMsXG4gICAgRmxvb3JwbGFuU3BvdGxpZ2h0LFxuICAgIEZsb29ycGxhblN0eWxlLFxuICAgIEZsb29ycGxhblZhcmlhdGlvbixcbiAgICBTaW1pbGFyRmxvb3JwbGFuLFxuICAgIFRlc3RpbW9uaWFsXG59IGZyb20gXCIuLi9kYXRhL0Zsb29ycGxhblwiO1xuaW1wb3J0IHtkYXRlVG9Nb21lbnQsIG1pbnVtTWF4aW11bX0gZnJvbSBcIi4uLy4uL3V0aWxzL1V0aWxzXCI7XG5pbXBvcnQge1Byb3BlcnR5RmlsdGVyRGF0YSwgUHJvcGVydHlJZH0gZnJvbSBcIi4uLy4uL3Byb3BlcnR5L2RhdGEvUHJvcGVydHlcIjtcbmltcG9ydCB7UGV0LCBVbml0fSBmcm9tIFwiLi4vZGF0YS9Vbml0XCI7XG5pbXBvcnQgR3JhcGhxbFF1ZXJ5IGZyb20gXCIuLi8uLi9zZXJ2aWNlL0dyYXBocWxRdWVyeVwiO1xuXG5cbmV4cG9ydCBjb25zdCBjb252ZXJ0VG9IdHRwcyA9ICh1cmw6IHN0cmluZyk6IHN0cmluZyA9PiB7XG4gICAgaWYgKHVybCA9PT0gbnVsbClcbiAgICAgICAgcmV0dXJuIFwiXCI7XG4gICAgcmV0dXJuIHVybC5yZXBsYWNlKC9eaHR0cDpcXC9cXC8vaSwgJ2h0dHBzOi8vJyk7XG59O1xuY29uc3QgZ2V0QWxsUHJvcGVydHlGaWx0ZXJEYXRhUXVlcnkgPSAoKSA9PiB7XG4gICAgcmV0dXJuICd7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXG4gICAgICAgIHByb3BlcnRpZXMgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXG4gICAgICAgICAgICBuYW1lIGFjdGl2ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXG4gICAgICAgICAgICBmbG9vcnBsYW5zIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXG4gICAgICAgICAgICAgICAgaWQgbmFtZSBhY3RpdmUgYmVkcm9vbSBiYXRocm9vbSBjb3ZlckltYWdlIGZlYXR1cmVkIFxcXG4gICAgICAgICAgICAgICAgdmlydHVhbFRvdXJMaW5rIHZpZGVvVG91ckxpbmsgc3R5bGUgICAgICAgICAgICAgICAgIFxcXG4gICAgICAgICAgICAgICAgcGhvdG9zRm9sZGVySWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXG4gICAgICAgICAgICAgICAgdW5pdHMgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXG4gICAgICAgICAgICAgICAgICAgIHJlbnQgc3F1YXJlRm9vdCBhY3RpdmUgbW92ZUluRGF0ZSAgICAgICAgICAgICAgIFxcXG4gICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXG4gICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXG4gICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXG4gICAgfSdcbn1cbmV4cG9ydCBjb25zdCBnZXRBbGxQcm9wZXJ0eUZpbHRlckRhdGEgPSAoKTogUHJvbWlzZTxQcm9wZXJ0eUZpbHRlckRhdGFbXT4gPT4ge1xuICAgIHJldHVybiBHcmFwaHFsUXVlcnkoZ2V0QWxsUHJvcGVydHlGaWx0ZXJEYXRhUXVlcnkoKSkudGhlbihyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwcm9wZXJ0aWVzOiBQcm9wZXJ0eUZpbHRlckRhdGFbXSA9IHJlc3BvbnNlLmRhdGEuZGF0YS5wcm9wZXJ0aWVzLmZpbHRlcigocHJvcGVydHk6IFByb3BlcnR5RmlsdGVyRGF0YSkgPT4gcHJvcGVydHkuYWN0aXZlKTtcblxuICAgICAgICAgICAgcHJvcGVydGllcy5mb3JFYWNoKHByb3BlcnR5ID0+IHtcbiAgICAgICAgICAgICAgICBwcm9wZXJ0eS5mbG9vcnBsYW5zID0gcHJvcGVydHkuZmxvb3JwbGFucy5maWx0ZXIoZmxvb3JwbGFuID0+IGZsb29ycGxhbi5hY3RpdmUpO1xuICAgICAgICAgICAgICAgIHByb3BlcnR5LmZsb29ycGxhbnMuZm9yRWFjaChmbG9vcnBsYW4gPT4ge1xuICAgICAgICAgICAgICAgICAgICBmbG9vcnBsYW4udW5pdHMgPSBmbG9vcnBsYW4udW5pdHMuZmlsdGVyKHVuaXQgPT4gdW5pdC5hY3RpdmUpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gcHJvcGVydGllcztcbiAgICAgICAgfVxuICAgICk7XG59XG5jb25zdCBnZXRGbG9vcnBsYW5zRmlsdGVyRGF0YVF1ZXJ5ID0gKHByb3BlcnR5SWQ6IFN0cmluZykgPT4ge1xuICAgIHJldHVybiAneyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFxuICAgICAgICBwcm9wZXJ0eShpZDogXCInICsgcHJvcGVydHlJZCArICdcIikgeyAgICAgICAgICAgICAgICAgICAgICAgIFxcXG4gICAgICAgICAgICBmbG9vcnBsYW5zIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXG4gICAgICAgICAgICAgICAgaWQgbmFtZSBhY3RpdmUgYmVkcm9vbSBiYXRocm9vbSBjb3ZlckltYWdlIGZlYXR1cmVkIFxcXG4gICAgICAgICAgICAgICAgdmlydHVhbFRvdXJMaW5rIHZpZGVvVG91ckxpbmsgc3R5bGUgICAgICAgICAgICAgICAgIFxcXG4gICAgICAgICAgICAgICAgcGhvdG9zRm9sZGVySWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXG4gICAgICAgICAgICAgICAgdW5pdHMgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXG4gICAgICAgICAgICAgICAgICAgIHJlbnQgc3F1YXJlRm9vdCBhY3RpdmUgbW92ZUluRGF0ZSAgICAgICAgICAgICAgIFxcXG4gICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXG4gICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXG4gICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXG4gICAgfSdcbn1cbmV4cG9ydCBjb25zdCBnZXRGbG9vcnBsYW5zRmlsdGVyRGF0YSA9IChwcm9wZXJ0eUlkOiBQcm9wZXJ0eUlkKTogUHJvbWlzZTxGbG9vcnBsYW5DYXJkRGF0YVtdPiA9PiB7XG4gICAgcmV0dXJuIEdyYXBocWxRdWVyeShnZXRGbG9vcnBsYW5zRmlsdGVyRGF0YVF1ZXJ5KHByb3BlcnR5SWQpKS50aGVuKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGZsb29ycGxhbnM6IEZsb29ycGxhbkNhcmREYXRhW10gPSByZXNwb25zZS5kYXRhLmRhdGEucHJvcGVydHkuZmxvb3JwbGFucy5maWx0ZXIoKGZsb29ycGxhbjogRmxvb3JwbGFuQ2FyZERhdGEpID0+IGZsb29ycGxhbi5hY3RpdmUpO1xuICAgICAgICAgICAgZmxvb3JwbGFucy5mb3JFYWNoKGZsb29ycGxhbiA9PiB7XG4gICAgICAgICAgICAgICAgZmxvb3JwbGFuLnVuaXRzID0gZmxvb3JwbGFuLnVuaXRzLmZpbHRlcih1bml0ID0+IHVuaXQuYWN0aXZlKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIGZsb29ycGxhbnM7XG4gICAgICAgIH1cbiAgICApO1xufTtcbmV4cG9ydCBjb25zdCBzb3J0QW5kRmlsdGVyID0gKGZsb29ycGxhbnM6IEZsb29ycGxhbkNhcmREYXRhW10sIGN1cnJlbnRGaWx0ZXJzOiBDdXJyZW50RmlsdGVycyk6IEZsb29ycGxhbkNhcmREYXRhW10gPT4ge1xuICAgIHJldHVybiBzb3J0Rmxvb3JwbGFucyhmbG9vcnBsYW5zLmZpbHRlcihmbG9vcnBsYW4gPT4gZmlsdGVyTWF0Y2hlcyhmbG9vcnBsYW4sIGN1cnJlbnRGaWx0ZXJzKSksIGN1cnJlbnRGaWx0ZXJzLnNvcnRCeSk7XG59O1xuXG5cbmNvbnN0IGlzRGF0ZVdpdGhpblR3ZWx2ZU1vbnRocyA9IChkYXRlOiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCB0b2RheSA9IG1vbWVudCgpO1xuICAgIGNvbnN0IGRpZmYgPSBtb21lbnQoZGF0ZSwgXCJZWVlZLU1NLUREXCIpLmRpZmYodG9kYXksICdtb250aHMnLCBmYWxzZSk7XG4gICAgcmV0dXJuIGRpZmYgPiAwICYmIGRpZmYgPCAxMjtcbn1cbmNvbnN0IGRhdGVUb01vbnRoWWVhciA9IChkYXRlU3RyaW5nOiBzdHJpbmcgfCBudWxsKTogc3RyaW5nID0+IG1vbWVudChkYXRlU3RyaW5nLCBcIllZWVktTU0tRERcIikuZm9ybWF0KCdNTU0gWVlZWScpO1xuXG5leHBvcnQgY29uc3QgbW9tZW50VG9Nb250aFllYXIgPSAoZGF0ZTogTW9tZW50KSA9PiBkYXRlLmZvcm1hdCgnTU1NIFlZWVknKTtcbmNvbnN0IGlzQXZhaWxhYmxlID0gKGZsb29ycGxhbjogRmxvb3JwbGFuQ2FyZERhdGEsIGF2YWlsYWJpbGl0eUZpbHRlcnM6IE1vbnRoW10pOiBib29sZWFuID0+IHtcbiAgICByZXR1cm4gYXZhaWxhYmlsaXR5RmlsdGVycy5sZW5ndGggPT09IDAgPyB0cnVlIDpcbiAgICAgICAgZmxvb3JwbGFuLnVuaXRzLnNvbWUoKHVuaXQpID0+IGF2YWlsYWJpbGl0eUZpbHRlcnMuaW5kZXhPZihkYXRlVG9Nb250aFllYXIodW5pdC5tb3ZlSW5EYXRlKSkgPiAtMSk7XG59O1xuY29uc3QgaXNCZWRyb29tc01hdGNoID0gKGZsb29ycGxhbjogRmxvb3JwbGFuQ2FyZERhdGEsIGJlZHJvb21GaWx0ZXJzOiBudW1iZXJbXSk6IGJvb2xlYW4gPT4ge1xuICAgIHJldHVybiBiZWRyb29tRmlsdGVycy5sZW5ndGggPT09IDAgPyB0cnVlIDogYmVkcm9vbUZpbHRlcnMuaW5kZXhPZihmbG9vcnBsYW4uYmVkcm9vbSkgPiAtMTtcbn07XG5jb25zdCBpc1N0eWxlTWF0Y2ggPSAoZmxvb3JwbGFuOiBGbG9vcnBsYW5DYXJkRGF0YSwgc3R5bGVGaWx0ZXJzOiBGbG9vcnBsYW5TdHlsZVtdKTogYm9vbGVhbiA9PiB7XG4gICAgcmV0dXJuIHN0eWxlRmlsdGVycy5sZW5ndGggPT09IDAgPyB0cnVlIDogc3R5bGVGaWx0ZXJzLmluZGV4T2YoZmxvb3JwbGFuLnN0eWxlKSA+IC0xO1xufVxuY29uc3QgaXNJblByaWNlUmFuZ2UgPSAoZmxvb3JwbGFuOiBGbG9vcnBsYW5DYXJkRGF0YSwgbWluUmVudDogbnVtYmVyLCBtYXhSZW50OiBudW1iZXIpOiBib29sZWFuID0+IHtcbiAgICBjb25zdCBtaW5NYXggPSBtaW51bU1heGltdW0oZmxvb3JwbGFuLnVuaXRzLCBcInJlbnRcIik7XG4gICAgcmV0dXJuIG1pbk1heC5taW4gPj0gbWluUmVudCAmJiBtaW5NYXgubWF4IDw9IG1heFJlbnQ7XG59XG5jb25zdCBpc0Zsb29ycGxhbklkc01hdGNoID0gKGZsb29ycGxhbjogRmxvb3JwbGFuQ2FyZERhdGEsIGZsb29ycGxhbklkczogc3RyaW5nW10pOiBib29sZWFuID0+IHtcbiAgICByZXR1cm4gZmxvb3JwbGFuSWRzLmxlbmd0aCA9PT0gMCA/IHRydWUgOiBmbG9vcnBsYW5JZHMuaW5kZXhPZihmbG9vcnBsYW4uaWQpID4gLTE7XG59O1xuY29uc3QgZmlsdGVyTWF0Y2hlcyA9IChmbG9vcnBsYW46IEZsb29ycGxhbkNhcmREYXRhLCBjdXJyZW50RmlsdGVyczogQ3VycmVudEZpbHRlcnMpID0+IHtcbiAgICByZXR1cm4gaXNBdmFpbGFibGUoZmxvb3JwbGFuLCBjdXJyZW50RmlsdGVycy5hdmFpbGFiaWxpdHlGaWx0ZXJzKSAmJlxuICAgICAgICBpc0luUHJpY2VSYW5nZShmbG9vcnBsYW4sIGN1cnJlbnRGaWx0ZXJzLm1pblJlbnQsIGN1cnJlbnRGaWx0ZXJzLm1heFJlbnQpICYmXG4gICAgICAgIGlzU3R5bGVNYXRjaChmbG9vcnBsYW4sIGN1cnJlbnRGaWx0ZXJzLnN0eWxlRmlsdGVycykgJiZcbiAgICAgICAgaXNCZWRyb29tc01hdGNoKGZsb29ycGxhbiwgY3VycmVudEZpbHRlcnMuYmVkcm9vbUZpbHRlcnMpICYmXG4gICAgICAgIGlzRmxvb3JwbGFuSWRzTWF0Y2goZmxvb3JwbGFuLCBjdXJyZW50RmlsdGVycy5mbG9vcnBsYW5JZHMpO1xufVxuZXhwb3J0IGNvbnN0IHNvcnRGbG9vcnBsYW5zID0gKGZsb29ycGxhbnM6IEZsb29ycGxhbkNhcmREYXRhW10sIHNvcnRCeTogU29ydEJ5KTogRmxvb3JwbGFuQ2FyZERhdGFbXSA9PiB7XG5cbiAgICBpZiAoU29ydEZpZWxkc1tzb3J0QnldLnNvcnRGaWVsZCA9PT0gXCJtaW5SYXRlXCIgJiYgU29ydEZpZWxkc1tzb3J0QnldLm9yZGVyID09PSBcImRlc2NcIikge1xuICAgICAgICByZXR1cm4gZmxvb3JwbGFucy5zb3J0KChhLCBiKSA9PiBtaW51bU1heGltdW0oYi51bml0cywgXCJyZW50XCIpLm1pbiAtIG1pbnVtTWF4aW11bShhLnVuaXRzLCBcInJlbnRcIikubWluKTtcbiAgICB9XG5cbiAgICBjb25zdCBtaW5SYXRlU29ydGVkID0gZmxvb3JwbGFucy5zb3J0KChhLCBiKSA9PiBtaW51bU1heGltdW0oYS51bml0cywgXCJyZW50XCIpLm1pbiAtIG1pbnVtTWF4aW11bShiLnVuaXRzLCBcInJlbnRcIikubWluKTtcbiAgICBpZiAoU29ydEZpZWxkc1tzb3J0QnldLnNvcnRGaWVsZCA9PT0gXCJtaW5SYXRlXCIgJiYgU29ydEZpZWxkc1tzb3J0QnldLm9yZGVyID09PSBcImFzY1wiKSB7XG4gICAgICAgIHJldHVybiBtaW5SYXRlU29ydGVkXG4gICAgfVxuICAgIHJldHVybiBfLm9yZGVyQnkobWluUmF0ZVNvcnRlZCwgU29ydEZpZWxkc1tzb3J0QnldLnNvcnRGaWVsZCwgU29ydEZpZWxkc1tzb3J0QnldLm9yZGVyKTtcbn07XG5cblxuZXhwb3J0IGNvbnN0IGZpbHRlcnNGcm9tID0gKGZsb29ycGxhbnM6IEZsb29ycGxhbkNhcmREYXRhW10pOiBGbG9vcnBsYW5GaWx0ZXJzID0+IHtcblxuICAgIGNvbnN0IGJlZHJvb21GaWx0ZXJzID0gbmV3IFNldDxudW1iZXI+KCk7XG4gICAgY29uc3QgYXZhaWxhYmlsaXR5RmlsdGVycyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICAgIGNvbnN0IHN0eWxlRmlsdGVycyA9IG5ldyBTZXQ8Rmxvb3JwbGFuU3R5bGU+KCk7XG5cbiAgICBmbG9vcnBsYW5zLmZvckVhY2goZmxvb3JwbGFuID0+IHtcbiAgICAgICAgYmVkcm9vbUZpbHRlcnMuYWRkKGZsb29ycGxhbi5iZWRyb29tKTtcbiAgICAgICAgc3R5bGVGaWx0ZXJzLmFkZChmbG9vcnBsYW4uc3R5bGUpO1xuXG4gICAgICAgIGZsb29ycGxhbi51bml0cy5mb3JFYWNoKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgaWYgKHZhbHVlLm1vdmVJbkRhdGUgJiYgaXNEYXRlV2l0aGluVHdlbHZlTW9udGhzKHZhbHVlLm1vdmVJbkRhdGUpKVxuICAgICAgICAgICAgICAgIGF2YWlsYWJpbGl0eUZpbHRlcnMuYWRkKGRhdGVUb01vbnRoWWVhcih2YWx1ZS5tb3ZlSW5EYXRlKSk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xuICAgIHJldHVybiB7XG4gICAgICAgIGJlZHJvb206IGJlZHJvb21GaWx0ZXJzLFxuICAgICAgICBhdmFpbGFiaWxpdHk6IGF2YWlsYWJpbGl0eUZpbHRlcnMsXG4gICAgICAgIHN0eWxlOiBzdHlsZUZpbHRlcnNcbiAgICB9XG59O1xuXG5cbmV4cG9ydCBjb25zdCBnZXRGZWF0dXJlZEZsb29ycGxhbnMgPSAoKTogUHJvbWlzZTxGbG9vcnBsYW5TcG90bGlnaHRbXT4gPT4ge1xuXG4gICAgcmV0dXJuIEFkbWluQXBpLmdldChcImZsb29ycGxhbnM/cHJvamVjdGlvbj1zcG90bGlnaHQmc2l6ZT0yMDBcIilcbiAgICAgICAgLnRoZW4ocmVzcG9uc2UgPT5cbiAgICAgICAgICAgIHJlc3BvbnNlLmRhdGEuX2VtYmVkZGVkLmZsb29ycGxhbnMuZmlsdGVyKChmbG9vcnBsYW46IEZsb29ycGxhblNwb3RsaWdodCkgPT4gZmxvb3JwbGFuLmZlYXR1cmVkICYmIGZsb29ycGxhbi5wcm9wZXJ0eS5hY3RpdmUpXG4gICAgICAgICk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0QWxsQWN0aXZlRmxvb3JwbGFucyA9ICgpOiBQcm9taXNlPEZsb29ycGxhbkRldGFpbHNbXT4gPT4ge1xuXG4gICAgcmV0dXJuIEFkbWluQXBpLmdldChcImZsb29ycGxhbnM/cHJvamVjdGlvbj1kZXRhaWxzJnNpemU9MjAwXCIpXG4gICAgICAgIC50aGVuKHJlc3BvbnNlID0+XG4gICAgICAgICAgICByZXNwb25zZS5kYXRhLl9lbWJlZGRlZC5mbG9vcnBsYW5zXG4gICAgICAgICAgICAgICAgLmZpbHRlcigoZmxvb3JwbGFuOiBGbG9vcnBsYW4pID0+IGZsb29ycGxhbi5hY3RpdmUpXG4gICAgICAgICAgICAgICAgLmZpbHRlcigoZmxvb3JwbGFuOiBGbG9vcnBsYW4pID0+IGZsb29ycGxhbi5zdHlsZSAhPT0gXCJHQVJBR0VcIilcbiAgICAgICAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRGbG9vcnBsYW4gPSAoZmxvb3JwbGFuSWQ6IHN0cmluZyk6IFByb21pc2U8Rmxvb3JwbGFuPiA9PlxuICAgIEFkbWluQXBpLmdldChcImZsb29ycGxhbnMvXCIgKyBmbG9vcnBsYW5JZCArIFwiP3Byb2plY3Rpb249d2l0aElkXCIpLnRoZW4ocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSk7XG5cbmV4cG9ydCBjb25zdCBnZXRVbml0c0ZvciA9IChmbG9vcnBsYW5JZDogc3RyaW5nKTogUHJvbWlzZTxVbml0W10+ID0+XG4gICAgQWRtaW5BcGkuZ2V0KFwidW5pdHMvYnlGbG9vcnBsYW4/Zmxvb3JwbGFuSWQ9XCIgKyBmbG9vcnBsYW5JZCkudGhlbihyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKTtcblxuZXhwb3J0IGNvbnN0IGdldFNpbWlsYXJGbG9vcnBsYW5zID0gKGZsb29ycGxhbklkOiBzdHJpbmcpOiBQcm9taXNlPFNpbWlsYXJGbG9vcnBsYW5bXT4gPT5cbiAgICBBZG1pbkFwaS5nZXQoXCJzaW1pbGFyRmxvb3JwbGFucy9ieUZsb29ycGxhbj9mbG9vcnBsYW5JZD1cIiArIGZsb29ycGxhbklkKS50aGVuKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpO1xuXG5leHBvcnQgY29uc3QgZ2V0Rmxvb3JwbGFuVmFyaWF0aW9ucyA9IChmbG9vcnBsYW5JZDogc3RyaW5nKTogUHJvbWlzZTxGbG9vcnBsYW5WYXJpYXRpb25bXT4gPT5cbiAgICBBZG1pbkFwaS5nZXQoXCJmbG9vcnBsYW5WYXJpYXRpb25zL2J5Rmxvb3JwbGFuP2Zsb29ycGxhbklkPVwiICsgZmxvb3JwbGFuSWQpLnRoZW4ocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSk7XG5jb25zdCB0b2RheSA9IG1vbWVudCgpO1xuZXhwb3J0IGNvbnN0IGlzRmxvb3JwbGFuQXZhaWxhYmxlID0gKGZsb29ycGxhbjogRmxvb3JwbGFuKTogYm9vbGVhbiA9PiBmbG9vcnBsYW4udW5pdHMuc29tZSgodW5pdCkgPT4gdG9kYXkuaXNBZnRlcihkYXRlVG9Nb21lbnQodW5pdC5tb3ZlSW5EYXRlKSkpO1xuZXhwb3J0IGNvbnN0IGdldFRlc3RpbW9uaWFscyA9IChmbG9vcnBsYW5JZDogc3RyaW5nKTogUHJvbWlzZTxUZXN0aW1vbmlhbFtdPiA9PlxuICAgIEFkbWluQXBpLmdldChcInRlc3RpbW9uaWFscy9ieUZsb29ycGxhbj9mbG9vcnBsYW5JZD1cIiArIGZsb29ycGxhbklkKS50aGVuKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpO1xuXG5cbmV4cG9ydCBjb25zdCBwZXJtaXR0ZWRQZXRzID0gKGZsb29ycGxhbjogRmxvb3JwbGFuKTogc3RyaW5nW10gPT4ge1xuXG4gICAgY29uc3QgdW5pdCA9IHVuaXRXaXRoTW9zdEFsbG93ZWRQZXQoWy4uLmZsb29ycGxhbi51bml0c10pO1xuXG4gICAgc3dpdGNoICh1bml0Py5hbGxvd2VkUGV0KSB7XG4gICAgICAgIGNhc2UgUGV0LkxBUkdFX0RPR19TTUFMTF9ET0dfQ0FUOlxuICAgICAgICAgICAgcmV0dXJuIFsnTGFyZ2UgRG9nJywgJ1NtYWxsIERvZycsICdDYXQnXTtcbiAgICAgICAgY2FzZSBQZXQuU01BTExfRE9HX0NBVDpcbiAgICAgICAgICAgIHJldHVybiBbJ1NtYWxsIERvZycsICdDYXQnXTtcbiAgICAgICAgY2FzZSBQZXQuQ0FUOlxuICAgICAgICAgICAgcmV0dXJuIFsnQ2F0J107XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gWydOb25lJ107XG4gICAgfVxufVxuXG5leHBvcnQgY29uc3Qgbm90UGVybWl0dGVkUGV0cyA9IChmbG9vcnBsYW46IEZsb29ycGxhbik6IHN0cmluZ1tdID0+IHtcblxuICAgIGNvbnN0IHVuaXQgPSB1bml0V2l0aE1vc3RBbGxvd2VkUGV0KFsuLi5mbG9vcnBsYW4udW5pdHNdKTtcblxuICAgIHN3aXRjaCAodW5pdD8uYWxsb3dlZFBldCkge1xuICAgICAgICBjYXNlIFBldC5MQVJHRV9ET0dfU01BTExfRE9HX0NBVDpcbiAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgY2FzZSBQZXQuU01BTExfRE9HX0NBVDpcbiAgICAgICAgICAgIHJldHVybiBbJ0xhcmdlIERvZyddO1xuICAgICAgICBjYXNlIFBldC5DQVQ6XG4gICAgICAgICAgICByZXR1cm4gWydMYXJnZSBEb2cnLCAnU21hbGwgRG9nJ107XG4gICAgICAgIGNhc2UgUGV0Lk5PX1BFVDpcbiAgICAgICAgICAgIHJldHVybiBbJ0xhcmdlIERvZycsICdTbWFsbCBEb2cnLCAnQ2F0J107XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gW107XG4gICAgfVxufVxuZXhwb3J0IGNvbnN0IHBldFBvbGljeSA9IChmbG9vcnBsYW46IEZsb29ycGxhbik6IHN0cmluZyB8IHVuZGVmaW5lZCA9PiB7XG4gICAgY29uc3QgdW5pdCA9IHVuaXRXaXRoTW9zdEFsbG93ZWRQZXQoWy4uLmZsb29ycGxhbi51bml0c10pO1xuICAgIHJldHVybiB1bml0Py5wZXRQb2xpY3k7XG59XG5jb25zdCB1bml0V2l0aE1vc3RBbGxvd2VkUGV0ID0gKHVuaXRzOiBVbml0W10pOiBVbml0IHwgdW5kZWZpbmVkID0+IHtcbiAgICBjb25zdCBwZXRPcmRpbmFsID0gKHBldDogUGV0KSA9PiBPYmplY3Qua2V5cyhQZXQpLmluZGV4T2YocGV0KTtcbiAgICByZXR1cm4gdW5pdHMuc29ydCgoYSwgYikgPT4gcGV0T3JkaW5hbChiLmFsbG93ZWRQZXQpIC0gcGV0T3JkaW5hbChhLmFsbG93ZWRQZXQpKS5wb3AoKTtcbn1cblxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBV0E7O0FBRUE7O0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHTyxJQUFNQSxjQUFjLEdBQUcsU0FBakJBLGNBQWlCLENBQUNDLEdBQUQsRUFBeUI7RUFDbkQsSUFBSUEsR0FBRyxLQUFLLElBQVosRUFDSSxPQUFPLEVBQVA7RUFDSixPQUFPQSxHQUFHLENBQUNDLE9BQUosQ0FBWSxhQUFaLEVBQTJCLFVBQTNCLENBQVA7QUFDSCxDQUpNOzs7O0FBS1AsSUFBTUMsNkJBQTZCLEdBQUcsU0FBaENBLDZCQUFnQyxHQUFNO0VBQ3hDLE9BQU87QUFDWDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFaSTtBQWFILENBZEQ7O0FBZU8sSUFBTUMsd0JBQXdCLEdBQUcsU0FBM0JBLHdCQUEyQixHQUFxQztFQUN6RSxPQUFPLElB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
|
|
258
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9kYXNoIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfRmxvb3JwbGFuRmlsdGVycyIsIl9tb21lbnQiLCJfQWRtaW5BcGkiLCJfVXRpbHMiLCJfVW5pdCIsIl9HcmFwaHFsUXVlcnkiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsIl90b0NvbnN1bWFibGVBcnJheSIsImFyciIsIl9hcnJheVdpdGhvdXRIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXkiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVTcHJlYWQiLCJUeXBlRXJyb3IiLCJvIiwibWluTGVuIiwiX2FycmF5TGlrZVRvQXJyYXkiLCJuIiwiT2JqZWN0IiwicHJvdG90eXBlIiwidG9TdHJpbmciLCJjYWxsIiwic2xpY2UiLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJBcnJheSIsImZyb20iLCJ0ZXN0IiwiaXRlciIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiaXNBcnJheSIsImxlbiIsImxlbmd0aCIsImkiLCJhcnIyIiwiY29udmVydFRvSHR0cHMiLCJ1cmwiLCJyZXBsYWNlIiwiZXhwb3J0cyIsImdldEFsbFByb3BlcnR5RmlsdGVyRGF0YVF1ZXJ5IiwiZ2V0QWxsUHJvcGVydHlGaWx0ZXJEYXRhIiwiR3JhcGhxbFF1ZXJ5IiwidGhlbiIsInJlc3BvbnNlIiwicHJvcGVydGllcyIsImRhdGEiLCJmaWx0ZXIiLCJwcm9wZXJ0eSIsImFjdGl2ZSIsImZvckVhY2giLCJmbG9vcnBsYW5zIiwiZmxvb3JwbGFuIiwidW5pdHMiLCJ1bml0IiwiZ2V0Rmxvb3JwbGFuc0ZpbHRlckRhdGFRdWVyeSIsInByb3BlcnR5SWQiLCJnZXRGbG9vcnBsYW5zRmlsdGVyRGF0YSIsInNvcnRBbmRGaWx0ZXIiLCJjdXJyZW50RmlsdGVycyIsInNvcnRGbG9vcnBsYW5zIiwiZmlsdGVyTWF0Y2hlcyIsInNvcnRCeSIsImlzRGF0ZVdpdGhpblR3ZWx2ZU1vbnRocyIsImRhdGUiLCJ0b2RheSIsIm1vbWVudCIsImRpZmYiLCJkYXRlVG9Nb250aFllYXIiLCJkYXRlU3RyaW5nIiwiZm9ybWF0IiwibW9tZW50VG9Nb250aFllYXIiLCJpc0F2YWlsYWJsZSIsImF2YWlsYWJpbGl0eUZpbHRlcnMiLCJzb21lIiwiaW5kZXhPZiIsIm1vdmVJbkRhdGUiLCJpc0JlZHJvb21zTWF0Y2giLCJiZWRyb29tRmlsdGVycyIsImJlZHJvb20iLCJpc1N0eWxlTWF0Y2giLCJzdHlsZUZpbHRlcnMiLCJzdHlsZSIsImlzSW5QcmljZVJhbmdlIiwibWluUmVudCIsIm1heFJlbnQiLCJtaW5NYXgiLCJtaW51bU1heGltdW0iLCJtaW4iLCJtYXgiLCJpc0Zsb29ycGxhbklkc01hdGNoIiwiZmxvb3JwbGFuSWRzIiwiaWQiLCJTb3J0RmllbGRzIiwic29ydEZpZWxkIiwib3JkZXIiLCJzb3J0IiwiYSIsImIiLCJtaW5SYXRlU29ydGVkIiwiXyIsIm9yZGVyQnkiLCJmaWx0ZXJzRnJvbSIsIlNldCIsImFkZCIsInZhbHVlIiwiYXZhaWxhYmlsaXR5IiwiZ2V0RmVhdHVyZWRGbG9vcnBsYW5zIiwiQWRtaW5BcGkiLCJnZXQiLCJfZW1iZWRkZWQiLCJmZWF0dXJlZCIsImdldEFsbEFjdGl2ZUZsb29ycGxhbnMiLCJnZXRGbG9vcnBsYW4iLCJmbG9vcnBsYW5JZCIsImdldFVuaXRzRm9yIiwiZ2V0U2ltaWxhckZsb29ycGxhbnMiLCJnZXRGbG9vcnBsYW5WYXJpYXRpb25zIiwiaXNGbG9vcnBsYW5BdmFpbGFibGUiLCJpc0FmdGVyIiwiZGF0ZVRvTW9tZW50IiwiZ2V0VGVzdGltb25pYWxzIiwicGVybWl0dGVkUGV0cyIsInVuaXRXaXRoTW9zdEFsbG93ZWRQZXQiLCJhbGxvd2VkUGV0IiwiUGV0IiwiTEFSR0VfRE9HX1NNQUxMX0RPR19DQVQiLCJTTUFMTF9ET0dfQ0FUIiwiQ0FUIiwibm90UGVybWl0dGVkUGV0cyIsIk5PX1BFVCIsInBldFBvbGljeSIsInBldE9yZGluYWwiLCJwZXQiLCJrZXlzIiwicG9wIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Zsb29ycGxhbi9zZXJ2aWNlL0Zsb29ycGxhblNlcnZpY2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7TW9udGh9IGZyb20gXCIuLi9kYXRhL0NhbGVuZGFyXCI7XG5pbXBvcnQge0N1cnJlbnRGaWx0ZXJzLCBGbG9vcnBsYW5GaWx0ZXJzLCBTb3J0QnksIFNvcnRGaWVsZHN9IGZyb20gXCIuLi9kYXRhL0Zsb29ycGxhbkZpbHRlcnNcIjtcbmltcG9ydCBtb21lbnQsIHtNb21lbnR9IGZyb20gXCJtb21lbnRcIjtcbmltcG9ydCBBZG1pbkFwaSBmcm9tIFwiLi4vLi4vc2VydmljZS9BZG1pbkFwaVwiO1xuaW1wb3J0IHtcbiAgICBGbG9vcnBsYW4sXG4gICAgRmxvb3JwbGFuQ2FyZERhdGEsXG4gICAgRmxvb3JwbGFuRGV0YWlscyxcbiAgICBGbG9vcnBsYW5TcG90bGlnaHQsXG4gICAgRmxvb3JwbGFuU3R5bGUsXG4gICAgRmxvb3JwbGFuVmFyaWF0aW9uLFxuICAgIFNpbWlsYXJGbG9vcnBsYW4sXG4gICAgVGVzdGltb25pYWxcbn0gZnJvbSBcIi4uL2RhdGEvRmxvb3JwbGFuXCI7XG5pbXBvcnQge2RhdGVUb01vbWVudCwgbWludW1NYXhpbXVtfSBmcm9tIFwiLi4vLi4vdXRpbHMvVXRpbHNcIjtcbmltcG9ydCB7UHJvcGVydHlGaWx0ZXJEYXRhLCBQcm9wZXJ0eUlkfSBmcm9tIFwiLi4vLi4vcHJvcGVydHkvZGF0YS9Qcm9wZXJ0eVwiO1xuaW1wb3J0IHtQZXQsIFVuaXR9IGZyb20gXCIuLi9kYXRhL1VuaXRcIjtcbmltcG9ydCBHcmFwaHFsUXVlcnkgZnJvbSBcIi4uLy4uL3NlcnZpY2UvR3JhcGhxbFF1ZXJ5XCI7XG5cblxuZXhwb3J0IGNvbnN0IGNvbnZlcnRUb0h0dHBzID0gKHVybDogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgICBpZiAodXJsID09PSBudWxsKVxuICAgICAgICByZXR1cm4gXCJcIjtcbiAgICByZXR1cm4gdXJsLnJlcGxhY2UoL15odHRwOlxcL1xcLy9pLCAnaHR0cHM6Ly8nKTtcbn07XG5jb25zdCBnZXRBbGxQcm9wZXJ0eUZpbHRlckRhdGFRdWVyeSA9ICgpID0+IHtcbiAgICByZXR1cm4gJ3sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcbiAgICAgICAgcHJvcGVydGllcyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcbiAgICAgICAgICAgIG5hbWUgYWN0aXZlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcbiAgICAgICAgICAgIGZsb29ycGxhbnMgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcbiAgICAgICAgICAgICAgICBpZCBuYW1lIGFjdGl2ZSBiZWRyb29tIGJhdGhyb29tIGNvdmVySW1hZ2UgZmVhdHVyZWQgXFxcbiAgICAgICAgICAgICAgICB2aXJ0dWFsVG91ckxpbmsgdmlkZW9Ub3VyTGluayBzdHlsZSAgICAgICAgICAgICAgICAgXFxcbiAgICAgICAgICAgICAgICBwaG90b3NGb2xkZXJJZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcbiAgICAgICAgICAgICAgICB1bml0cyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcbiAgICAgICAgICAgICAgICAgICAgcmVudCBzcXVhcmVGb290IGFjdGl2ZSBtb3ZlSW5EYXRlICAgICAgICAgICAgICAgXFxcbiAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcbiAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcbiAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcbiAgICB9J1xufVxuZXhwb3J0IGNvbnN0IGdldEFsbFByb3BlcnR5RmlsdGVyRGF0YSA9ICgpOiBQcm9taXNlPFByb3BlcnR5RmlsdGVyRGF0YVtdPiA9PiB7XG4gICAgcmV0dXJuIEdyYXBocWxRdWVyeShnZXRBbGxQcm9wZXJ0eUZpbHRlckRhdGFRdWVyeSgpKS50aGVuKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHByb3BlcnRpZXM6IFByb3BlcnR5RmlsdGVyRGF0YVtdID0gcmVzcG9uc2UuZGF0YS5kYXRhLnByb3BlcnRpZXMuZmlsdGVyKChwcm9wZXJ0eTogUHJvcGVydHlGaWx0ZXJEYXRhKSA9PiBwcm9wZXJ0eS5hY3RpdmUpO1xuXG4gICAgICAgICAgICBwcm9wZXJ0aWVzLmZvckVhY2gocHJvcGVydHkgPT4ge1xuICAgICAgICAgICAgICAgIHByb3BlcnR5LmZsb29ycGxhbnMgPSBwcm9wZXJ0eS5mbG9vcnBsYW5zLmZpbHRlcihmbG9vcnBsYW4gPT4gZmxvb3JwbGFuLmFjdGl2ZSk7XG4gICAgICAgICAgICAgICAgcHJvcGVydHkuZmxvb3JwbGFucy5mb3JFYWNoKGZsb29ycGxhbiA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGZsb29ycGxhbi51bml0cyA9IGZsb29ycGxhbi51bml0cy5maWx0ZXIodW5pdCA9PiB1bml0LmFjdGl2ZSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0aWVzO1xuICAgICAgICB9XG4gICAgKTtcbn1cbmNvbnN0IGdldEZsb29ycGxhbnNGaWx0ZXJEYXRhUXVlcnkgPSAocHJvcGVydHlJZDogU3RyaW5nKSA9PiB7XG4gICAgcmV0dXJuICd7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXG4gICAgICAgIHByb3BlcnR5KGlkOiBcIicgKyBwcm9wZXJ0eUlkICsgJ1wiKSB7ICAgICAgICAgICAgICAgICAgICAgICAgXFxcbiAgICAgICAgICAgIGZsb29ycGxhbnMgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcbiAgICAgICAgICAgICAgICBpZCBuYW1lIGFjdGl2ZSBiZWRyb29tIGJhdGhyb29tIGNvdmVySW1hZ2UgZmVhdHVyZWQgXFxcbiAgICAgICAgICAgICAgICB2aXJ0dWFsVG91ckxpbmsgdmlkZW9Ub3VyTGluayBzdHlsZSAgICAgICAgICAgICAgICAgXFxcbiAgICAgICAgICAgICAgICBwaG90b3NGb2xkZXJJZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcbiAgICAgICAgICAgICAgICB1bml0cyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcbiAgICAgICAgICAgICAgICAgICAgcmVudCBzcXVhcmVGb290IGFjdGl2ZSBtb3ZlSW5EYXRlICAgICAgICAgICAgICAgXFxcbiAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcbiAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcbiAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcbiAgICB9J1xufVxuZXhwb3J0IGNvbnN0IGdldEZsb29ycGxhbnNGaWx0ZXJEYXRhID0gKHByb3BlcnR5SWQ6IFByb3BlcnR5SWQpOiBQcm9taXNlPEZsb29ycGxhbkNhcmREYXRhW10+ID0+IHtcbiAgICByZXR1cm4gR3JhcGhxbFF1ZXJ5KGdldEZsb29ycGxhbnNGaWx0ZXJEYXRhUXVlcnkocHJvcGVydHlJZCkpLnRoZW4ocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgY29uc3QgZmxvb3JwbGFuczogRmxvb3JwbGFuQ2FyZERhdGFbXSA9IHJlc3BvbnNlLmRhdGEuZGF0YS5wcm9wZXJ0eS5mbG9vcnBsYW5zLmZpbHRlcigoZmxvb3JwbGFuOiBGbG9vcnBsYW5DYXJkRGF0YSkgPT4gZmxvb3JwbGFuLmFjdGl2ZSk7XG4gICAgICAgICAgICBmbG9vcnBsYW5zLmZvckVhY2goZmxvb3JwbGFuID0+IHtcbiAgICAgICAgICAgICAgICBmbG9vcnBsYW4udW5pdHMgPSBmbG9vcnBsYW4udW5pdHMuZmlsdGVyKHVuaXQgPT4gdW5pdC5hY3RpdmUpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gZmxvb3JwbGFucztcbiAgICAgICAgfVxuICAgICk7XG59O1xuZXhwb3J0IGNvbnN0IHNvcnRBbmRGaWx0ZXIgPSAoZmxvb3JwbGFuczogRmxvb3JwbGFuQ2FyZERhdGFbXSwgY3VycmVudEZpbHRlcnM6IEN1cnJlbnRGaWx0ZXJzKTogRmxvb3JwbGFuQ2FyZERhdGFbXSA9PiB7XG4gICAgcmV0dXJuIHNvcnRGbG9vcnBsYW5zKGZsb29ycGxhbnMuZmlsdGVyKGZsb29ycGxhbiA9PiBmaWx0ZXJNYXRjaGVzKGZsb29ycGxhbiwgY3VycmVudEZpbHRlcnMpKSwgY3VycmVudEZpbHRlcnMuc29ydEJ5KTtcbn07XG5cblxuY29uc3QgaXNEYXRlV2l0aGluVHdlbHZlTW9udGhzID0gKGRhdGU6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IHRvZGF5ID0gbW9tZW50KCk7XG4gICAgY29uc3QgZGlmZiA9IG1vbWVudChkYXRlLCBcIllZWVktTU0tRERcIikuZGlmZih0b2RheSwgJ21vbnRocycsIGZhbHNlKTtcbiAgICByZXR1cm4gZGlmZiA+IDAgJiYgZGlmZiA8IDEyO1xufVxuY29uc3QgZGF0ZVRvTW9udGhZZWFyID0gKGRhdGVTdHJpbmc6IHN0cmluZyB8IG51bGwpOiBzdHJpbmcgPT4gbW9tZW50KGRhdGVTdHJpbmcsIFwiWVlZWS1NTS1ERFwiKS5mb3JtYXQoJ01NTSBZWVlZJyk7XG5cbmV4cG9ydCBjb25zdCBtb21lbnRUb01vbnRoWWVhciA9IChkYXRlOiBNb21lbnQpID0+IGRhdGUuZm9ybWF0KCdNTU0gWVlZWScpO1xuY29uc3QgaXNBdmFpbGFibGUgPSAoZmxvb3JwbGFuOiBGbG9vcnBsYW5DYXJkRGF0YSwgYXZhaWxhYmlsaXR5RmlsdGVyczogTW9udGhbXSk6IGJvb2xlYW4gPT4ge1xuICAgIHJldHVybiBhdmFpbGFiaWxpdHlGaWx0ZXJzLmxlbmd0aCA9PT0gMCA/IHRydWUgOlxuICAgICAgICBmbG9vcnBsYW4udW5pdHMuc29tZSgodW5pdCkgPT4gYXZhaWxhYmlsaXR5RmlsdGVycy5pbmRleE9mKGRhdGVUb01vbnRoWWVhcih1bml0Lm1vdmVJbkRhdGUpKSA+IC0xKTtcbn07XG5jb25zdCBpc0JlZHJvb21zTWF0Y2ggPSAoZmxvb3JwbGFuOiBGbG9vcnBsYW5DYXJkRGF0YSwgYmVkcm9vbUZpbHRlcnM6IG51bWJlcltdKTogYm9vbGVhbiA9PiB7XG4gICAgcmV0dXJuIGJlZHJvb21GaWx0ZXJzLmxlbmd0aCA9PT0gMCA/IHRydWUgOiBiZWRyb29tRmlsdGVycy5pbmRleE9mKGZsb29ycGxhbi5iZWRyb29tKSA+IC0xO1xufTtcbmNvbnN0IGlzU3R5bGVNYXRjaCA9IChmbG9vcnBsYW46IEZsb29ycGxhbkNhcmREYXRhLCBzdHlsZUZpbHRlcnM6IEZsb29ycGxhblN0eWxlW10pOiBib29sZWFuID0+IHtcbiAgICByZXR1cm4gc3R5bGVGaWx0ZXJzLmxlbmd0aCA9PT0gMCA/IHRydWUgOiBzdHlsZUZpbHRlcnMuaW5kZXhPZihmbG9vcnBsYW4uc3R5bGUpID4gLTE7XG59XG5jb25zdCBpc0luUHJpY2VSYW5nZSA9IChmbG9vcnBsYW46IEZsb29ycGxhbkNhcmREYXRhLCBtaW5SZW50OiBudW1iZXIsIG1heFJlbnQ6IG51bWJlcik6IGJvb2xlYW4gPT4ge1xuICAgIGNvbnN0IG1pbk1heCA9IG1pbnVtTWF4aW11bShmbG9vcnBsYW4udW5pdHMsIFwicmVudFwiKTtcbiAgICByZXR1cm4gbWluTWF4Lm1pbiA+PSBtaW5SZW50ICYmIG1pbk1heC5tYXggPD0gbWF4UmVudDtcbn1cbmNvbnN0IGlzRmxvb3JwbGFuSWRzTWF0Y2ggPSAoZmxvb3JwbGFuOiBGbG9vcnBsYW5DYXJkRGF0YSwgZmxvb3JwbGFuSWRzOiBzdHJpbmdbXSk6IGJvb2xlYW4gPT4ge1xuICAgIHJldHVybiBmbG9vcnBsYW5JZHMubGVuZ3RoID09PSAwID8gdHJ1ZSA6IGZsb29ycGxhbklkcy5pbmRleE9mKGZsb29ycGxhbi5pZCkgPiAtMTtcbn07XG5jb25zdCBmaWx0ZXJNYXRjaGVzID0gKGZsb29ycGxhbjogRmxvb3JwbGFuQ2FyZERhdGEsIGN1cnJlbnRGaWx0ZXJzOiBDdXJyZW50RmlsdGVycykgPT4ge1xuICAgIHJldHVybiBpc0F2YWlsYWJsZShmbG9vcnBsYW4sIGN1cnJlbnRGaWx0ZXJzLmF2YWlsYWJpbGl0eUZpbHRlcnMpICYmXG4gICAgICAgIGlzSW5QcmljZVJhbmdlKGZsb29ycGxhbiwgY3VycmVudEZpbHRlcnMubWluUmVudCwgY3VycmVudEZpbHRlcnMubWF4UmVudCkgJiZcbiAgICAgICAgaXNTdHlsZU1hdGNoKGZsb29ycGxhbiwgY3VycmVudEZpbHRlcnMuc3R5bGVGaWx0ZXJzKSAmJlxuICAgICAgICBpc0JlZHJvb21zTWF0Y2goZmxvb3JwbGFuLCBjdXJyZW50RmlsdGVycy5iZWRyb29tRmlsdGVycykgJiZcbiAgICAgICAgaXNGbG9vcnBsYW5JZHNNYXRjaChmbG9vcnBsYW4sIGN1cnJlbnRGaWx0ZXJzLmZsb29ycGxhbklkcyk7XG59XG5leHBvcnQgY29uc3Qgc29ydEZsb29ycGxhbnMgPSAoZmxvb3JwbGFuczogRmxvb3JwbGFuQ2FyZERhdGFbXSwgc29ydEJ5OiBTb3J0QnkpOiBGbG9vcnBsYW5DYXJkRGF0YVtdID0+IHtcblxuICAgIGlmIChTb3J0RmllbGRzW3NvcnRCeV0uc29ydEZpZWxkID09PSBcIm1pblJhdGVcIiAmJiBTb3J0RmllbGRzW3NvcnRCeV0ub3JkZXIgPT09IFwiZGVzY1wiKSB7XG4gICAgICAgIHJldHVybiBmbG9vcnBsYW5zLnNvcnQoKGEsIGIpID0+IG1pbnVtTWF4aW11bShiLnVuaXRzLCBcInJlbnRcIikubWluIC0gbWludW1NYXhpbXVtKGEudW5pdHMsIFwicmVudFwiKS5taW4pO1xuICAgIH1cblxuICAgIGNvbnN0IG1pblJhdGVTb3J0ZWQgPSBmbG9vcnBsYW5zLnNvcnQoKGEsIGIpID0+IG1pbnVtTWF4aW11bShhLnVuaXRzLCBcInJlbnRcIikubWluIC0gbWludW1NYXhpbXVtKGIudW5pdHMsIFwicmVudFwiKS5taW4pO1xuICAgIGlmIChTb3J0RmllbGRzW3NvcnRCeV0uc29ydEZpZWxkID09PSBcIm1pblJhdGVcIiAmJiBTb3J0RmllbGRzW3NvcnRCeV0ub3JkZXIgPT09IFwiYXNjXCIpIHtcbiAgICAgICAgcmV0dXJuIG1pblJhdGVTb3J0ZWRcbiAgICB9XG4gICAgcmV0dXJuIF8ub3JkZXJCeShtaW5SYXRlU29ydGVkLCBTb3J0RmllbGRzW3NvcnRCeV0uc29ydEZpZWxkLCBTb3J0RmllbGRzW3NvcnRCeV0ub3JkZXIpO1xufTtcblxuXG5leHBvcnQgY29uc3QgZmlsdGVyc0Zyb20gPSAoZmxvb3JwbGFuczogRmxvb3JwbGFuQ2FyZERhdGFbXSk6IEZsb29ycGxhbkZpbHRlcnMgPT4ge1xuXG4gICAgY29uc3QgYmVkcm9vbUZpbHRlcnMgPSBuZXcgU2V0PG51bWJlcj4oKTtcbiAgICBjb25zdCBhdmFpbGFiaWxpdHlGaWx0ZXJzID0gbmV3IFNldDxzdHJpbmc+KCk7XG4gICAgY29uc3Qgc3R5bGVGaWx0ZXJzID0gbmV3IFNldDxGbG9vcnBsYW5TdHlsZT4oKTtcblxuICAgIGZsb29ycGxhbnMuZm9yRWFjaChmbG9vcnBsYW4gPT4ge1xuICAgICAgICBiZWRyb29tRmlsdGVycy5hZGQoZmxvb3JwbGFuLmJlZHJvb20pO1xuICAgICAgICBzdHlsZUZpbHRlcnMuYWRkKGZsb29ycGxhbi5zdHlsZSk7XG5cbiAgICAgICAgZmxvb3JwbGFuLnVuaXRzLmZvckVhY2goKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICBpZiAodmFsdWUubW92ZUluRGF0ZSAmJiBpc0RhdGVXaXRoaW5Ud2VsdmVNb250aHModmFsdWUubW92ZUluRGF0ZSkpXG4gICAgICAgICAgICAgICAgYXZhaWxhYmlsaXR5RmlsdGVycy5hZGQoZGF0ZVRvTW9udGhZZWFyKHZhbHVlLm1vdmVJbkRhdGUpKTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgYmVkcm9vbTogYmVkcm9vbUZpbHRlcnMsXG4gICAgICAgIGF2YWlsYWJpbGl0eTogYXZhaWxhYmlsaXR5RmlsdGVycyxcbiAgICAgICAgc3R5bGU6IHN0eWxlRmlsdGVyc1xuICAgIH1cbn07XG5cblxuZXhwb3J0IGNvbnN0IGdldEZlYXR1cmVkRmxvb3JwbGFucyA9ICgpOiBQcm9taXNlPEZsb29ycGxhblNwb3RsaWdodFtdPiA9PiB7XG5cbiAgICByZXR1cm4gQWRtaW5BcGkuZ2V0KFwiZmxvb3JwbGFucz9wcm9qZWN0aW9uPXNwb3RsaWdodCZzaXplPTIwMFwiKVxuICAgICAgICAudGhlbihyZXNwb25zZSA9PlxuICAgICAgICAgICAgcmVzcG9uc2UuZGF0YS5fZW1iZWRkZWQuZmxvb3JwbGFucy5maWx0ZXIoKGZsb29ycGxhbjogRmxvb3JwbGFuU3BvdGxpZ2h0KSA9PiBmbG9vcnBsYW4uZmVhdHVyZWQgJiYgZmxvb3JwbGFuLnByb3BlcnR5LmFjdGl2ZSlcbiAgICAgICAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRBbGxBY3RpdmVGbG9vcnBsYW5zID0gKCk6IFByb21pc2U8Rmxvb3JwbGFuRGV0YWlsc1tdPiA9PiB7XG5cbiAgICByZXR1cm4gQWRtaW5BcGkuZ2V0KFwiZmxvb3JwbGFucz9wcm9qZWN0aW9uPWRldGFpbHMmc2l6ZT0yMDBcIilcbiAgICAgICAgLnRoZW4ocmVzcG9uc2UgPT5cbiAgICAgICAgICAgIHJlc3BvbnNlLmRhdGEuX2VtYmVkZGVkLmZsb29ycGxhbnNcbiAgICAgICAgICAgICAgICAuZmlsdGVyKChmbG9vcnBsYW46IEZsb29ycGxhbikgPT4gZmxvb3JwbGFuLmFjdGl2ZSlcbiAgICAgICAgICAgICAgICAuZmlsdGVyKChmbG9vcnBsYW46IEZsb29ycGxhbikgPT4gZmxvb3JwbGFuLnN0eWxlICE9PSBcIkdBUkFHRVwiKVxuICAgICAgICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEZsb29ycGxhbiA9IChmbG9vcnBsYW5JZDogc3RyaW5nKTogUHJvbWlzZTxGbG9vcnBsYW4+ID0+XG4gICAgQWRtaW5BcGkuZ2V0KFwiZmxvb3JwbGFucy9cIiArIGZsb29ycGxhbklkICsgXCI/cHJvamVjdGlvbj13aXRoSWRcIikudGhlbihyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKTtcblxuZXhwb3J0IGNvbnN0IGdldFVuaXRzRm9yID0gKGZsb29ycGxhbklkOiBzdHJpbmcpOiBQcm9taXNlPFVuaXRbXT4gPT5cbiAgICBBZG1pbkFwaS5nZXQoXCJ1bml0cy9ieUZsb29ycGxhbj9mbG9vcnBsYW5JZD1cIiArIGZsb29ycGxhbklkKS50aGVuKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpO1xuXG5leHBvcnQgY29uc3QgZ2V0U2ltaWxhckZsb29ycGxhbnMgPSAoZmxvb3JwbGFuSWQ6IHN0cmluZyk6IFByb21pc2U8U2ltaWxhckZsb29ycGxhbltdPiA9PlxuICAgIEFkbWluQXBpLmdldChcInNpbWlsYXJGbG9vcnBsYW5zL2J5Rmxvb3JwbGFuP2Zsb29ycGxhbklkPVwiICsgZmxvb3JwbGFuSWQpLnRoZW4ocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSk7XG5cbmV4cG9ydCBjb25zdCBnZXRGbG9vcnBsYW5WYXJpYXRpb25zID0gKGZsb29ycGxhbklkOiBzdHJpbmcpOiBQcm9taXNlPEZsb29ycGxhblZhcmlhdGlvbltdPiA9PlxuICAgIEFkbWluQXBpLmdldChcImZsb29ycGxhblZhcmlhdGlvbnMvYnlGbG9vcnBsYW4/Zmxvb3JwbGFuSWQ9XCIgKyBmbG9vcnBsYW5JZCkudGhlbihyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKTtcbmNvbnN0IHRvZGF5ID0gbW9tZW50KCk7XG5leHBvcnQgY29uc3QgaXNGbG9vcnBsYW5BdmFpbGFibGUgPSAoZmxvb3JwbGFuOiBGbG9vcnBsYW4pOiBib29sZWFuID0+IGZsb29ycGxhbi51bml0cy5zb21lKCh1bml0KSA9PiB0b2RheS5pc0FmdGVyKGRhdGVUb01vbWVudCh1bml0Lm1vdmVJbkRhdGUpKSk7XG5leHBvcnQgY29uc3QgZ2V0VGVzdGltb25pYWxzID0gKGZsb29ycGxhbklkOiBzdHJpbmcpOiBQcm9taXNlPFRlc3RpbW9uaWFsW10+ID0+XG4gICAgQWRtaW5BcGkuZ2V0KFwidGVzdGltb25pYWxzL2J5Rmxvb3JwbGFuP2Zsb29ycGxhbklkPVwiICsgZmxvb3JwbGFuSWQpLnRoZW4ocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSk7XG5cblxuZXhwb3J0IGNvbnN0IHBlcm1pdHRlZFBldHMgPSAoZmxvb3JwbGFuOiBGbG9vcnBsYW4pOiBzdHJpbmdbXSA9PiB7XG5cbiAgICBjb25zdCB1bml0ID0gdW5pdFdpdGhNb3N0QWxsb3dlZFBldChbLi4uZmxvb3JwbGFuLnVuaXRzXSk7XG5cbiAgICBzd2l0Y2ggKHVuaXQ/LmFsbG93ZWRQZXQpIHtcbiAgICAgICAgY2FzZSBQZXQuTEFSR0VfRE9HX1NNQUxMX0RPR19DQVQ6XG4gICAgICAgICAgICByZXR1cm4gWydMYXJnZSBEb2cnLCAnU21hbGwgRG9nJywgJ0NhdCddO1xuICAgICAgICBjYXNlIFBldC5TTUFMTF9ET0dfQ0FUOlxuICAgICAgICAgICAgcmV0dXJuIFsnU21hbGwgRG9nJywgJ0NhdCddO1xuICAgICAgICBjYXNlIFBldC5DQVQ6XG4gICAgICAgICAgICByZXR1cm4gWydDYXQnXTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiBbJ05vbmUnXTtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBub3RQZXJtaXR0ZWRQZXRzID0gKGZsb29ycGxhbjogRmxvb3JwbGFuKTogc3RyaW5nW10gPT4ge1xuXG4gICAgY29uc3QgdW5pdCA9IHVuaXRXaXRoTW9zdEFsbG93ZWRQZXQoWy4uLmZsb29ycGxhbi51bml0c10pO1xuXG4gICAgc3dpdGNoICh1bml0Py5hbGxvd2VkUGV0KSB7XG4gICAgICAgIGNhc2UgUGV0LkxBUkdFX0RPR19TTUFMTF9ET0dfQ0FUOlxuICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICBjYXNlIFBldC5TTUFMTF9ET0dfQ0FUOlxuICAgICAgICAgICAgcmV0dXJuIFsnTGFyZ2UgRG9nJ107XG4gICAgICAgIGNhc2UgUGV0LkNBVDpcbiAgICAgICAgICAgIHJldHVybiBbJ0xhcmdlIERvZycsICdTbWFsbCBEb2cnXTtcbiAgICAgICAgY2FzZSBQZXQuTk9fUEVUOlxuICAgICAgICAgICAgcmV0dXJuIFsnTGFyZ2UgRG9nJywgJ1NtYWxsIERvZycsICdDYXQnXTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICB9XG59XG5leHBvcnQgY29uc3QgcGV0UG9saWN5ID0gKGZsb29ycGxhbjogRmxvb3JwbGFuKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcbiAgICBjb25zdCB1bml0ID0gdW5pdFdpdGhNb3N0QWxsb3dlZFBldChbLi4uZmxvb3JwbGFuLnVuaXRzXSk7XG4gICAgcmV0dXJuIHVuaXQ/LnBldFBvbGljeTtcbn1cbmNvbnN0IHVuaXRXaXRoTW9zdEFsbG93ZWRQZXQgPSAodW5pdHM6IFVuaXRbXSk6IFVuaXQgfCB1bmRlZmluZWQgPT4ge1xuICAgIGNvbnN0IHBldE9yZGluYWwgPSAocGV0OiBQZXQpID0+IE9iamVjdC5rZXlzKFBldCkuaW5kZXhPZihwZXQpO1xuICAgIHJldHVybiB1bml0cy5zb3J0KChhLCBiKSA9PiBwZXRPcmRpbmFsKGIuYWxsb3dlZFBldCkgLSBwZXRPcmRpbmFsKGEuYWxsb3dlZFBldCkpLnBvcCgpO1xufVxuXG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLE9BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLGlCQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxPQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRyxTQUFBLEdBQUFKLHNCQUFBLENBQUFDLE9BQUE7QUFXQSxJQUFBSSxNQUFBLEdBQUFKLE9BQUE7QUFFQSxJQUFBSyxLQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxhQUFBLEdBQUFQLHNCQUFBLENBQUFDLE9BQUE7QUFBc0QsU0FBQUQsdUJBQUFRLEdBQUEsV0FBQUEsR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsR0FBQUQsR0FBQSxLQUFBRSxPQUFBLEVBQUFGLEdBQUE7QUFBQSxTQUFBRyxtQkFBQUMsR0FBQSxXQUFBQyxrQkFBQSxDQUFBRCxHQUFBLEtBQUFFLGdCQUFBLENBQUFGLEdBQUEsS0FBQUcsMkJBQUEsQ0FBQUgsR0FBQSxLQUFBSSxrQkFBQTtBQUFBLFNBQUFBLG1CQUFBLGNBQUFDLFNBQUE7QUFBQSxTQUFBRiw0QkFBQUcsQ0FBQSxFQUFBQyxNQUFBLFNBQUFELENBQUEscUJBQUFBLENBQUEsc0JBQUFFLGlCQUFBLENBQUFGLENBQUEsRUFBQUMsTUFBQSxPQUFBRSxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsU0FBQSxDQUFBQyxRQUFBLENBQUFDLElBQUEsQ0FBQVAsQ0FBQSxFQUFBUSxLQUFBLGFBQUFMLENBQUEsaUJBQUFILENBQUEsQ0FBQVMsV0FBQSxFQUFBTixDQUFBLEdBQUFILENBQUEsQ0FBQVMsV0FBQSxDQUFBQyxJQUFBLE1BQUFQLENBQUEsY0FBQUEsQ0FBQSxtQkFBQVEsS0FBQSxDQUFBQyxJQUFBLENBQUFaLENBQUEsT0FBQUcsQ0FBQSwrREFBQVUsSUFBQSxDQUFBVixDQUFBLFVBQUFELGlCQUFBLENBQUFGLENBQUEsRUFBQUMsTUFBQTtBQUFBLFNBQUFMLGlCQUFBa0IsSUFBQSxlQUFBQyxNQUFBLG9CQUFBRCxJQUFBLENBQUFDLE1BQUEsQ0FBQUMsUUFBQSxhQUFBRixJQUFBLCtCQUFBSCxLQUFBLENBQUFDLElBQUEsQ0FBQUUsSUFBQTtBQUFBLFNBQUFuQixtQkFBQUQsR0FBQSxRQUFBaUIsS0FBQSxDQUFBTSxPQUFBLENBQUF2QixHQUFBLFVBQUFRLGlCQUFBLENBQUFSLEdBQUE7QUFBQSxTQUFBUSxrQkFBQVIsR0FBQSxFQUFBd0IsR0FBQSxRQUFBQSxHQUFBLFlBQUFBLEdBQUEsR0FBQXhCLEdBQUEsQ0FBQXlCLE1BQUEsRUFBQUQsR0FBQSxHQUFBeEIsR0FBQSxDQUFBeUIsTUFBQSxXQUFBQyxDQUFBLE1BQUFDLElBQUEsT0FBQVYsS0FBQSxDQUFBTyxHQUFBLEdBQUFFLENBQUEsR0FBQUYsR0FBQSxFQUFBRSxDQUFBLE1BQUFDLElBQUEsQ0FBQUQsQ0FBQSxJQUFBMUIsR0FBQSxDQUFBMEIsQ0FBQSxZQUFBQyxJQUFBO0FBRy9DLElBQU1DLGNBQWMsR0FBRyxTQUFqQkEsY0FBY0EsQ0FBSUMsR0FBVyxFQUFhO0VBQ25ELElBQUlBLEdBQUcsS0FBSyxJQUFJLEVBQ1osT0FBTyxFQUFFO0VBQ2IsT0FBT0EsR0FBRyxDQUFDQyxPQUFPLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQztBQUNqRCxDQUFDO0FBQUNDLE9BQUEsQ0FBQUgsY0FBQSxHQUFBQSxjQUFBO0FBQ0YsSUFBTUksNkJBQTZCLEdBQUcsU0FBaENBLDZCQUE2QkEsQ0FBQSxFQUFTO0VBQ3hDLE9BQU87QUFDWDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOLENBQUM7QUFDTSxJQUFNQyx3QkFBd0IsR0FBRyxTQUEzQkEsd0JBQXdCQSxDQUFBLEVBQXdDO0VBQ3pFLE9BQU8sSUFBQUMscUJBQVksRUFBQ0YsNkJBQTZCLENBQUMsQ0FBQyxDQUFDLENBQUNHLElBQUksQ0FBQyxVQUFBQyxRQUFRLEVBQUk7SUFDOUQsSUFBTUMsVUFBZ0MsR0FBR0QsUUFBUSxDQUFDRSxJQUFJLENBQUNBLElBQUksQ0FBQ0QsVUFBVSxDQUFDRSxNQUFNLENBQUMsVUFBQ0MsUUFBNEI7TUFBQSxPQUFLQSxRQUFRLENBQUNDLE1BQU07SUFBQSxFQUFDO0lBRWhJSixVQUFVLENBQUNLLE9BQU8sQ0FBQyxVQUFBRixRQUFRLEVBQUk7TUFDM0JBLFFBQVEsQ0FBQ0csVUFBVSxHQUFHSCxRQUFRLENBQUNHLFVBQVUsQ0FBQ0osTUFBTSxDQUFDLFVBQUFLLFNBQVM7UUFBQSxPQUFJQSxTQUFTLENBQUNILE1BQU07TUFBQSxFQUFDO01BQy9FRCxRQUFRLENBQUNHLFVBQVUsQ0FBQ0QsT0FBTyxDQUFDLFVBQUFFLFNBQVMsRUFBSTtRQUNyQ0EsU0FBUyxDQUFDQyxLQUFLLEdBQUdELFNBQVMsQ0FBQ0MsS0FBSyxDQUFDTixNQUFNLENBQUMsVUFBQU8sSUFBSTtVQUFBLE9BQUlBLElBQUksQ0FBQ0wsTUFBTTtRQUFBLEVBQUM7TUFDakUsQ0FBQyxDQUFDO0lBQ04sQ0FBQyxDQUFDO0lBQ0YsT0FBT0osVUFBVTtFQUNyQixDQUNKLENBQUM7QUFDTCxDQUFDO0FBQUFOLE9BQUEsQ0FBQUUsd0JBQUEsR0FBQUEsd0JBQUE7QUFDRCxJQUFNYyw0QkFBNEIsR0FBRyxTQUEvQkEsNEJBQTRCQSxDQUFJQyxVQUFrQixFQUFLO0VBQ3pELE9BQU87QUFDWCx1QkFBdUIsR0FBR0EsVUFBVSxHQUFHO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTixDQUFDO0FBQ00sSUFBTUMsdUJBQXVCLEdBQUcsU0FBMUJBLHVCQUF1QkEsQ0FBSUQsVUFBc0IsRUFBbUM7RUFDN0YsT0FBTyxJQUFBZCxxQkFBWSxFQUFDYSw0QkFBNEIsQ0FBQ0MsVUFBVSxDQUFDLENBQUMsQ0FBQ2IsSUFBSSxDQUFDLFVBQUFDLFFBQVEsRUFBSTtJQUN2RSxJQUFNTyxVQUErQixHQUFHUCxRQUFRLENBQUNFLElBQUksQ0FBQ0EsSUFBSSxDQUFDRSxRQUFRLENBQUNHLFVBQVUsQ0FBQ0osTUFBTSxDQUFDLFVBQUNLLFNBQTRCO01BQUEsT0FBS0EsU0FBUyxDQUFDSCxNQUFNO0lBQUEsRUFBQztJQUN6SUUsVUFBVSxDQUFDRCxPQUFPLENBQUMsVUFBQUUsU0FBUyxFQUFJO01BQzVCQSxTQUFTLENBQUNDLEtBQUssR0FBR0QsU0FBUyxDQUFDQyxLQUFLLENBQUNOLE1BQU0sQ0FBQyxVQUFBTyxJQUFJO1FBQUEsT0FBSUEsSUFBSSxDQUFDTCxNQUFNO01BQUEsRUFBQztJQUNqRSxDQUFDLENBQUM7SUFDRixPQUFPRSxVQUFVO0VBQ3JCLENBQ0osQ0FBQztBQUNMLENBQUM7QUFBQ1osT0FBQSxDQUFBa0IsdUJBQUEsR0FBQUEsdUJBQUE7QUFDSyxJQUFNQyxhQUFhLEdBQUcsU0FBaEJBLGFBQWFBLENBQUlQLFVBQStCLEVBQUVRLGNBQThCLEVBQTBCO0VBQ25ILE9BQU9DLGNBQWMsQ0FBQ1QsVUFBVSxDQUFDSixNQUFNLENBQUMsVUFBQUssU0FBUztJQUFBLE9BQUlTLGFBQWEsQ0FBQ1QsU0FBUyxFQUFFTyxjQUFjLENBQUM7RUFBQSxFQUFDLEVBQUVBLGNBQWMsQ0FBQ0csTUFBTSxDQUFDO0FBQzFILENBQUM7QUFBQ3ZCLE9BQUEsQ0FBQW1CLGFBQUEsR0FBQUEsYUFBQTtBQUdGLElBQU1LLHdCQUF3QixHQUFHLFNBQTNCQSx3QkFBd0JBLENBQUlDLElBQVksRUFBSztFQUMvQyxJQUFNQyxLQUFLLEdBQUcsSUFBQUMsZUFBTSxFQUFDLENBQUM7RUFDdEIsSUFBTUMsSUFBSSxHQUFHLElBQUFELGVBQU0sRUFBQ0YsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDRyxJQUFJLENBQUNGLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDO0VBQ3BFLE9BQU9FLElBQUksR0FBRyxDQUFDLElBQUlBLElBQUksR0FBRyxFQUFFO0FBQ2hDLENBQUM7QUFDRCxJQUFNQyxlQUFlLEdBQUcsU0FBbEJBLGVBQWVBLENBQUlDLFVBQXlCO0VBQUEsT0FBYSxJQUFBSCxlQUFNLEVBQUNHLFVBQVUsRUFBRSxZQUFZLENBQUMsQ0FBQ0MsTUFBTSxDQUFDLFVBQVUsQ0FBQztBQUFBO0FBRTNHLElBQU1DLGlCQUFpQixHQUFHLFNBQXBCQSxpQkFBaUJBLENBQUlQLElBQVk7RUFBQSxPQUFLQSxJQUFJLENBQUNNLE1BQU0sQ0FBQyxVQUFVLENBQUM7QUFBQTtBQUFDL0IsT0FBQSxDQUFBZ0MsaUJBQUEsR0FBQUEsaUJBQUE7QUFDM0UsSUFBTUMsV0FBVyxHQUFHLFNBQWRBLFdBQVdBLENBQUlwQixTQUE0QixFQUFFcUIsbUJBQTRCLEVBQWM7RUFDekYsT0FBT0EsbUJBQW1CLENBQUN4QyxNQUFNLEtBQUssQ0FBQyxHQUFHLElBQUksR0FDMUNtQixTQUFTLENBQUNDLEtBQUssQ0FBQ3FCLElBQUksQ0FBQyxVQUFDcEIsSUFBSTtJQUFBLE9BQUttQixtQkFBbUIsQ0FBQ0UsT0FBTyxDQUFDUCxlQUFlLENBQUNkLElBQUksQ0FBQ3NCLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0VBQUEsRUFBQztBQUMxRyxDQUFDO0FBQ0QsSUFBTUMsZUFBZSxHQUFHLFNBQWxCQSxlQUFlQSxDQUFJekIsU0FBNEIsRUFBRTBCLGNBQXdCLEVBQWM7RUFDekYsT0FBT0EsY0FBYyxDQUFDN0MsTUFBTSxLQUFLLENBQUMsR0FBRyxJQUFJLEdBQUc2QyxjQUFjLENBQUNILE9BQU8sQ0FBQ3ZCLFNBQVMsQ0FBQzJCLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUM5RixDQUFDO0FBQ0QsSUFBTUMsWUFBWSxHQUFHLFNBQWZBLFlBQVlBLENBQUk1QixTQUE0QixFQUFFNkIsWUFBOEIsRUFBYztFQUM1RixPQUFPQSxZQUFZLENBQUNoRCxNQUFNLEtBQUssQ0FBQyxHQUFHLElBQUksR0FBR2dELFlBQVksQ0FBQ04sT0FBTyxDQUFDdkIsU0FBUyxDQUFDOEIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3hGLENBQUM7QUFDRCxJQUFNQyxjQUFjLEdBQUcsU0FBakJBLGNBQWNBLENBQUkvQixTQUE0QixFQUFFZ0MsT0FBZSxFQUFFQyxPQUFlLEVBQWM7RUFDaEcsSUFBTUMsTUFBTSxHQUFHLElBQUFDLG1CQUFZLEVBQUNuQyxTQUFTLENBQUNDLEtBQUssRUFBRSxNQUFNLENBQUM7RUFDcEQsT0FBT2lDLE1BQU0sQ0FBQ0UsR0FBRyxJQUFJSixPQUFPLElBQUlFLE1BQU0sQ0FBQ0csR0FBRyxJQUFJSixPQUFPO0FBQ3pELENBQUM7QUFDRCxJQUFNSyxtQkFBbUIsR0FBRyxTQUF0QkEsbUJBQW1CQSxDQUFJdEMsU0FBNEIsRUFBRXVDLFlBQXNCLEVBQWM7RUFDM0YsT0FBT0EsWUFBWSxDQUFDMUQsTUFBTSxLQUFLLENBQUMsR0FBRyxJQUFJLEdBQUcwRCxZQUFZLENBQUNoQixPQUFPLENBQUN2QixTQUFTLENBQUN3QyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDckYsQ0FBQztBQUNELElBQU0vQixhQUFhLEdBQUcsU0FBaEJBLGFBQWFBLENBQUlULFNBQTRCLEVBQUVPLGNBQThCLEVBQUs7RUFDcEYsT0FBT2EsV0FBVyxDQUFDcEIsU0FBUyxFQUFFTyxjQUFjLENBQUNjLG1CQUFtQixDQUFDLElBQzdEVSxjQUFjLENBQUMvQixTQUFTLEVBQUVPLGNBQWMsQ0FBQ3lCLE9BQU8sRUFBRXpCLGNBQWMsQ0FBQzBCLE9BQU8sQ0FBQyxJQUN6RUwsWUFBWSxDQUFDNUIsU0FBUyxFQUFFTyxjQUFjLENBQUNzQixZQUFZLENBQUMsSUFDcERKLGVBQWUsQ0FBQ3pCLFNBQVMsRUFBRU8sY0FBYyxDQUFDbUIsY0FBYyxDQUFDLElBQ3pEWSxtQkFBbUIsQ0FBQ3RDLFNBQVMsRUFBRU8sY0FBYyxDQUFDZ0MsWUFBWSxDQUFDO0FBQ25FLENBQUM7QUFDTSxJQUFNL0IsY0FBYyxHQUFHLFNBQWpCQSxjQUFjQSxDQUFJVCxVQUErQixFQUFFVyxNQUFjLEVBQTBCO0VBRXBHLElBQUkrQiw0QkFBVSxDQUFDL0IsTUFBTSxDQUFDLENBQUNnQyxTQUFTLEtBQUssU0FBUyxJQUFJRCw0QkFBVSxDQUFDL0IsTUFBTSxDQUFDLENBQUNpQyxLQUFLLEtBQUssTUFBTSxFQUFFO0lBQ25GLE9BQU81QyxVQUFVLENBQUM2QyxJQUFJLENBQUMsVUFBQ0MsQ0FBQyxFQUFFQyxDQUFDO01BQUEsT0FBSyxJQUFBWCxtQkFBWSxFQUFDVyxDQUFDLENBQUM3QyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUNtQyxHQUFHLEdBQUcsSUFBQUQsbUJBQVksRUFBQ1UsQ0FBQyxDQUFDNUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDbUMsR0FBRztJQUFBLEVBQUM7RUFDM0c7RUFFQSxJQUFNVyxhQUFhLEdBQUdoRCxVQUFVLENBQUM2QyxJQUFJLENBQUMsVUFBQ0MsQ0FBQyxFQUFFQyxDQUFDO0lBQUEsT0FBSyxJQUFBWCxtQkFBWSxFQUFDVSxDQUFDLENBQUM1QyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUNtQyxHQUFHLEdBQUcsSUFBQUQsbUJBQVksRUFBQ1csQ0FBQyxDQUFDN0MsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDbUMsR0FBRztFQUFBLEVBQUM7RUFDdEgsSUFBSUssNEJBQVUsQ0FBQy9CLE1BQU0sQ0FBQyxDQUFDZ0MsU0FBUyxLQUFLLFNBQVMsSUFBSUQsNEJBQVUsQ0FBQy9CLE1BQU0sQ0FBQyxDQUFDaUMsS0FBSyxLQUFLLEtBQUssRUFBRTtJQUNsRixPQUFPSSxhQUFhO0VBQ3hCO0VBQ0EsT0FBT0MsZUFBQyxDQUFDQyxPQUFPLENBQUNGLGFBQWEsRUFBRU4sNEJBQVUsQ0FBQy9CLE1BQU0sQ0FBQyxDQUFDZ0MsU0FBUyxFQUFFRCw0QkFBVSxDQUFDL0IsTUFBTSxDQUFDLENBQUNpQyxLQUFLLENBQUM7QUFDM0YsQ0FBQztBQUFDeEQsT0FBQSxDQUFBcUIsY0FBQSxHQUFBQSxjQUFBO0FBR0ssSUFBTTBDLFdBQVcsR0FBRyxTQUFkQSxXQUFXQSxDQUFJbkQsVUFBK0IsRUFBdUI7RUFFOUUsSUFBTTJCLGNBQWMsR0FBRyxJQUFJeUIsR0FBRyxDQUFTLENBQUM7RUFDeEMsSUFBTTlCLG1CQUFtQixHQUFHLElBQUk4QixHQUFHLENBQVMsQ0FBQztFQUM3QyxJQUFNdEIsWUFBWSxHQUFHLElBQUlzQixHQUFHLENBQWlCLENBQUM7RUFFOUNwRCxVQUFVLENBQUNELE9BQU8sQ0FBQyxVQUFBRSxTQUFTLEVBQUk7SUFDNUIwQixjQUFjLENBQUMwQixHQUFHLENBQUNwRCxTQUFTLENBQUMyQixPQUFPLENBQUM7SUFDckNFLFlBQVksQ0FBQ3VCLEdBQUcsQ0FBQ3BELFNBQVMsQ0FBQzhCLEtBQUssQ0FBQztJQUVqQzlCLFNBQVMsQ0FBQ0MsS0FBSyxDQUFDSCxPQUFPLENBQUMsVUFBQ3VELEtBQUssRUFBSztNQUMvQixJQUFJQSxLQUFLLENBQUM3QixVQUFVLElBQUliLHdCQUF3QixDQUFDMEMsS0FBSyxDQUFDN0IsVUFBVSxDQUFDLEVBQzlESCxtQkFBbUIsQ0FBQytCLEdBQUcsQ0FBQ3BDLGVBQWUsQ0FBQ3FDLEtBQUssQ0FBQzdCLFVBQVUsQ0FBQyxDQUFDO0lBQ2xFLENBQUMsQ0FBQztFQUNOLENBQUMsQ0FBQztFQUNGLE9BQU87SUFDSEcsT0FBTyxFQUFFRCxjQUFjO0lBQ3ZCNEIsWUFBWSxFQUFFakMsbUJBQW1CO0lBQ2pDUyxLQUFLLEVBQUVEO0VBQ1gsQ0FBQztBQUNMLENBQUM7QUFBQzFDLE9BQUEsQ0FBQStELFdBQUEsR0FBQUEsV0FBQTtBQUdLLElBQU1LLHFCQUFxQixHQUFHLFNBQXhCQSxxQkFBcUJBLENBQUEsRUFBd0M7RUFFdEUsT0FBT0MsaUJBQVEsQ0FBQ0MsR0FBRyxDQUFDLDBDQUEwQyxDQUFDLENBQzFEbEUsSUFBSSxDQUFDLFVBQUFDLFFBQVE7SUFBQSxPQUNWQSxRQUFRLENBQUNFLElBQUksQ0FBQ2dFLFNBQVMsQ0FBQzNELFVBQVUsQ0FBQ0osTUFBTSxDQUFDLFVBQUNLLFNBQTZCO01BQUEsT0FBS0EsU0FBUyxDQUFDMkQsUUFBUSxJQUFJM0QsU0FBUyxDQUFDSixRQUFRLENBQUNDLE1BQU07SUFBQSxFQUFDO0VBQUEsQ0FDakksQ0FBQztBQUNULENBQUM7QUFBQ1YsT0FBQSxDQUFBb0UscUJBQUEsR0FBQUEscUJBQUE7QUFFSyxJQUFNSyxzQkFBc0IsR0FBRyxTQUF6QkEsc0JBQXNCQSxDQUFBLEVBQXNDO0VBRXJFLE9BQU9KLGlCQUFRLENBQUNDLEdBQUcsQ0FBQyx3Q0FBd0MsQ0FBQyxDQUN4RGxFLElBQUksQ0FBQyxVQUFBQyxRQUFRO0lBQUEsT0FDVkEsUUFBUSxDQUFDRSxJQUFJLENBQUNnRSxTQUFTLENBQUMzRCxVQUFVLENBQzdCSixNQUFNLENBQUMsVUFBQ0ssU0FBb0I7TUFBQSxPQUFLQSxTQUFTLENBQUNILE1BQU07SUFBQSxFQUFDLENBQ2xERixNQUFNLENBQUMsVUFBQ0ssU0FBb0I7TUFBQSxPQUFLQSxTQUFTLENBQUM4QixLQUFLLEtBQUssUUFBUTtJQUFBLEVBQUM7RUFBQSxDQUN2RSxDQUFDO0FBQ1QsQ0FBQztBQUFDM0MsT0FBQSxDQUFBeUUsc0JBQUEsR0FBQUEsc0JBQUE7QUFFSyxJQUFNQyxZQUFZLEdBQUcsU0FBZkEsWUFBWUEsQ0FBSUMsV0FBbUI7RUFBQSxPQUM1Q04saUJBQVEsQ0FBQ0MsR0FBRyxDQUFDLGFBQWEsR0FBR0ssV0FBVyxHQUFHLG9CQUFvQixDQUFDLENBQUN2RSxJQUFJLENBQUMsVUFBQUMsUUFBUTtJQUFBLE9BQUlBLFFBQVEsQ0FBQ0UsSUFBSTtFQUFBLEVBQUM7QUFBQTtBQUFDUCxPQUFBLENBQUEwRSxZQUFBLEdBQUFBLFlBQUE7QUFFOUYsSUFBTUUsV0FBVyxHQUFHLFNBQWRBLFdBQVdBLENBQUlELFdBQW1CO0VBQUEsT0FDM0NOLGlCQUFRLENBQUNDLEdBQUcsQ0FBQyxnQ0FBZ0MsR0FBR0ssV0FBVyxDQUFDLENBQUN2RSxJQUFJLENBQUMsVUFBQUMsUUFBUTtJQUFBLE9BQUlBLFFBQVEsQ0FBQ0UsSUFBSTtFQUFBLEVBQUM7QUFBQTtBQUFDUCxPQUFBLENBQUE0RSxXQUFBLEdBQUFBLFdBQUE7QUFFMUYsSUFBTUMsb0JBQW9CLEdBQUcsU0FBdkJBLG9CQUFvQkEsQ0FBSUYsV0FBbUI7RUFBQSxPQUNwRE4saUJBQVEsQ0FBQ0MsR0FBRyxDQUFDLDRDQUE0QyxHQUFHSyxXQUFXLENBQUMsQ0FBQ3ZFLElBQUksQ0FBQyxVQUFBQyxRQUFRO0lBQUEsT0FBSUEsUUFBUSxDQUFDRSxJQUFJO0VBQUEsRUFBQztBQUFBO0FBQUNQLE9BQUEsQ0FBQTZFLG9CQUFBLEdBQUFBLG9CQUFBO0FBRXRHLElBQU1DLHNCQUFzQixHQUFHLFNBQXpCQSxzQkFBc0JBLENBQUlILFdBQW1CO0VBQUEsT0FDdEROLGlCQUFRLENBQUNDLEdBQUcsQ0FBQyw4Q0FBOEMsR0FBR0ssV0FBVyxDQUFDLENBQUN2RSxJQUFJLENBQUMsVUFBQUMsUUFBUTtJQUFBLE9BQUlBLFFBQVEsQ0FBQ0UsSUFBSTtFQUFBLEVBQUM7QUFBQTtBQUFDUCxPQUFBLENBQUE4RSxzQkFBQSxHQUFBQSxzQkFBQTtBQUMvRyxJQUFNcEQsS0FBSyxHQUFHLElBQUFDLGVBQU0sRUFBQyxDQUFDO0FBQ2YsSUFBTW9ELG9CQUFvQixHQUFHLFNBQXZCQSxvQkFBb0JBLENBQUlsRSxTQUFvQjtFQUFBLE9BQWNBLFNBQVMsQ0FBQ0MsS0FBSyxDQUFDcUIsSUFBSSxDQUFDLFVBQUNwQixJQUFJO0lBQUEsT0FBS1csS0FBSyxDQUFDc0QsT0FBTyxDQUFDLElBQUFDLG1CQUFZLEVBQUNsRSxJQUFJLENBQUNzQixVQUFVLENBQUMsQ0FBQztFQUFBLEVBQUM7QUFBQTtBQUFDckMsT0FBQSxDQUFBK0Usb0JBQUEsR0FBQUEsb0JBQUE7QUFDN0ksSUFBTUcsZUFBZSxHQUFHLFNBQWxCQSxlQUFlQSxDQUFJUCxXQUFtQjtFQUFBLE9BQy9DTixpQkFBUSxDQUFDQyxHQUFHLENBQUMsdUNBQXVDLEdBQUdLLFdBQVcsQ0FBQyxDQUFDdkUsSUFBSSxDQUFDLFVBQUFDLFFBQVE7SUFBQSxPQUFJQSxRQUFRLENBQUNFLElBQUk7RUFBQSxFQUFDO0FBQUE7QUFBQ1AsT0FBQSxDQUFBa0YsZUFBQSxHQUFBQSxlQUFBO0FBR2pHLElBQU1DLGFBQWEsR0FBRyxTQUFoQkEsYUFBYUEsQ0FBSXRFLFNBQW9CLEVBQWU7RUFFN0QsSUFBTUUsSUFBSSxHQUFHcUUsc0JBQXNCLENBQUFwSCxrQkFBQSxDQUFLNkMsU0FBUyxDQUFDQyxLQUFLLENBQUMsQ0FBQztFQUV6RCxRQUFRQyxJQUFJLGFBQUpBLElBQUksdUJBQUpBLElBQUksQ0FBRXNFLFVBQVU7SUFDcEIsS0FBS0MsU0FBRyxDQUFDQyx1QkFBdUI7TUFDNUIsT0FBTyxDQUFDLFdBQVcsRUFBRSxXQUFXLEVBQUUsS0FBSyxDQUFDO0lBQzVDLEtBQUtELFNBQUcsQ0FBQ0UsYUFBYTtNQUNsQixPQUFPLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQztJQUMvQixLQUFLRixTQUFHLENBQUNHLEdBQUc7TUFDUixPQUFPLENBQUMsS0FBSyxDQUFDO0lBQ2xCO01BQ0ksT0FBTyxDQUFDLE1BQU0sQ0FBQztFQUN2QjtBQUNKLENBQUM7QUFBQXpGLE9BQUEsQ0FBQW1GLGFBQUEsR0FBQUEsYUFBQTtBQUVNLElBQU1PLGdCQUFnQixHQUFHLFNBQW5CQSxnQkFBZ0JBLENBQUk3RSxTQUFvQixFQUFlO0VBRWhFLElBQU1FLElBQUksR0FBR3FFLHNCQUFzQixDQUFBcEgsa0JBQUEsQ0FBSzZDLFNBQVMsQ0FBQ0MsS0FBSyxDQUFDLENBQUM7RUFFekQsUUFBUUMsSUFBSSxhQUFKQSxJQUFJLHVCQUFKQSxJQUFJLENBQUVzRSxVQUFVO0lBQ3BCLEtBQUtDLFNBQUcsQ0FBQ0MsdUJBQXVCO01BQzVCLE9BQU8sRUFBRTtJQUNiLEtBQUtELFNBQUcsQ0FBQ0UsYUFBYTtNQUNsQixPQUFPLENBQUMsV0FBVyxDQUFDO0lBQ3hCLEtBQUtGLFNBQUcsQ0FBQ0csR0FBRztNQUNSLE9BQU8sQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFDO0lBQ3JDLEtBQUtILFNBQUcsQ0FBQ0ssTUFBTTtNQUNYLE9BQU8sQ0FBQyxXQUFXLEVBQUUsV0FBVyxFQUFFLEtBQUssQ0FBQztJQUM1QztNQUNJLE9BQU8sRUFBRTtFQUNqQjtBQUNKLENBQUM7QUFBQTNGLE9BQUEsQ0FBQTBGLGdCQUFBLEdBQUFBLGdCQUFBO0FBQ00sSUFBTUUsU0FBUyxHQUFHLFNBQVpBLFNBQVNBLENBQUkvRSxTQUFvQixFQUF5QjtFQUNuRSxJQUFNRSxJQUFJLEdBQUdxRSxzQkFBc0IsQ0FBQXBILGtCQUFBLENBQUs2QyxTQUFTLENBQUNDLEtBQUssQ0FBQyxDQUFDO0VBQ3pELE9BQU9DLElBQUksYUFBSkEsSUFBSSx1QkFBSkEsSUFBSSxDQUFFNkUsU0FBUztBQUMxQixDQUFDO0FBQUE1RixPQUFBLENBQUE0RixTQUFBLEdBQUFBLFNBQUE7QUFDRCxJQUFNUixzQkFBc0IsR0FBRyxTQUF6QkEsc0JBQXNCQSxDQUFJdEUsS0FBYSxFQUF1QjtFQUNoRSxJQUFNK0UsVUFBVSxHQUFHLFNBQWJBLFVBQVVBLENBQUlDLEdBQVE7SUFBQSxPQUFLbkgsTUFBTSxDQUFDb0gsSUFBSSxDQUFDVCxTQUFHLENBQUMsQ0FBQ2xELE9BQU8sQ0FBQzBELEdBQUcsQ0FBQztFQUFBO0VBQzlELE9BQU9oRixLQUFLLENBQUMyQyxJQUFJLENBQUMsVUFBQ0MsQ0FBQyxFQUFFQyxDQUFDO0lBQUEsT0FBS2tDLFVBQVUsQ0FBQ2xDLENBQUMsQ0FBQzBCLFVBQVUsQ0FBQyxHQUFHUSxVQUFVLENBQUNuQyxDQUFDLENBQUMyQixVQUFVLENBQUM7RUFBQSxFQUFDLENBQUNXLEdBQUcsQ0FBQyxDQUFDO0FBQzFGLENBQUMifQ==
|
package/lib/footer/Footer.js
CHANGED
|
@@ -4,28 +4,18 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.Footer = void 0;
|
|
7
|
-
|
|
8
7
|
var _react = _interopRequireDefault(require("react"));
|
|
9
|
-
|
|
10
8
|
var _renrenMobileLogo = _interopRequireDefault(require("./assets/renren-mobile-logo.png"));
|
|
11
|
-
|
|
12
9
|
var _accessibilityLogo = _interopRequireDefault(require("./assets/accessibility-logo.png"));
|
|
13
|
-
|
|
14
10
|
var _renrenLogo = _interopRequireDefault(require("./assets/renren-logo.png"));
|
|
15
|
-
|
|
16
11
|
var _equalHousingLogo = _interopRequireDefault(require("./assets/equal-housing-logo.png"));
|
|
17
|
-
|
|
18
12
|
var _chamberLogo = _interopRequireDefault(require("./assets/chamber-logo.png"));
|
|
19
|
-
|
|
20
13
|
var _rainbowLogo = _interopRequireDefault(require("./assets/rainbow-logo.png"));
|
|
21
|
-
|
|
22
14
|
require("./assets/Footer.scss");
|
|
23
|
-
|
|
24
15
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
25
|
-
|
|
26
16
|
var Footer = function Footer(_ref) {
|
|
27
17
|
var nav = _ref.nav,
|
|
28
|
-
|
|
18
|
+
accessibilityLink = _ref.accessibilityLink;
|
|
29
19
|
return /*#__PURE__*/_react.default.createElement("footer", null, /*#__PURE__*/_react.default.createElement("div", {
|
|
30
20
|
className: "mobile"
|
|
31
21
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -100,6 +90,5 @@ var Footer = function Footer(_ref) {
|
|
|
100
90
|
height: "23"
|
|
101
91
|
}))))));
|
|
102
92
|
};
|
|
103
|
-
|
|
104
93
|
exports.Footer = Footer;
|
|
105
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
94
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZW5yZW5Nb2JpbGVMb2dvIiwiX2FjY2Vzc2liaWxpdHlMb2dvIiwiX3JlbnJlbkxvZ28iLCJfZXF1YWxIb3VzaW5nTG9nbyIsIl9jaGFtYmVyTG9nbyIsIl9yYWluYm93TG9nbyIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiRm9vdGVyIiwiX3JlZiIsIm5hdiIsImFjY2Vzc2liaWxpdHlMaW5rIiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsInNyYyIsImVxdWFsSG91c2luZ0xvZ28iLCJhbHQiLCJoZWlnaHQiLCJocmVmIiwicmVucmVuTW9iaWxlIiwidGFyZ2V0IiwiY2hhbWJlckxvZ28iLCJhY2Nlc3NpYmlsaXR5TG9nbyIsInJhaW5ib3dMb2dvIiwicmVucmVuTG9nbyIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvZm9vdGVyL0Zvb3Rlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCByZW5yZW5Nb2JpbGUgZnJvbSAnLi9hc3NldHMvcmVucmVuLW1vYmlsZS1sb2dvLnBuZyc7XG5pbXBvcnQgYWNjZXNzaWJpbGl0eUxvZ28gZnJvbSAnLi9hc3NldHMvYWNjZXNzaWJpbGl0eS1sb2dvLnBuZyc7XG5pbXBvcnQgcmVucmVuTG9nbyBmcm9tICcuL2Fzc2V0cy9yZW5yZW4tbG9nby5wbmcnO1xuaW1wb3J0IGVxdWFsSG91c2luZ0xvZ28gZnJvbSAnLi9hc3NldHMvZXF1YWwtaG91c2luZy1sb2dvLnBuZyc7XG5pbXBvcnQgY2hhbWJlckxvZ28gZnJvbSAnLi9hc3NldHMvY2hhbWJlci1sb2dvLnBuZyc7XG5pbXBvcnQgcmFpbmJvd0xvZ28gZnJvbSAnLi9hc3NldHMvcmFpbmJvdy1sb2dvLnBuZyc7XG5pbXBvcnQgJy4vYXNzZXRzL0Zvb3Rlci5zY3NzJztcblxuZXhwb3J0IGNvbnN0IEZvb3RlcjogUmVhY3QuRkM8Rm9vdGVyUHJvcHM+ID0gKHtuYXYsIGFjY2Vzc2liaWxpdHlMaW5rfSkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICAgIDxmb290ZXI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1vYmlsZVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZGl2LWZvb3Rlci1sb2dvXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXY+PGltZyBzcmM9e2VxdWFsSG91c2luZ0xvZ299IGFsdD1cImVxdWFsIGhvdXNpbmcgb3Bwb3J0dW5pdHkgXCIgaGVpZ2h0PVwiNjBcIi8+PC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cImh0dHBzOi8vd3d3LnJlbmFpc3NhbmNlcmVudGFscy5jb21cIiBjbGFzc05hbWU9XCJocmVmLWxvZ29cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPXtyZW5yZW5Nb2JpbGV9IGFsdD1cInJlbmFpc3NhbmNlIHJlbnRhbHMgXCIgaGVpZ2h0PVwiOTBcIi8+XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCJodHRwczovL3d3dy5jaGFtYmVyYmxvb21pbmd0b24ub3JnL1wiIHRhcmdldD1cIl9ibGFua1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPXtjaGFtYmVyTG9nb30gYWx0PVwiY2hhbWJlciBtZW1iZXIgIFwiIGhlaWdodD1cIjYwXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8YSBocmVmPXthY2Nlc3NpYmlsaXR5TGluayA/IGFjY2Vzc2liaWxpdHlMaW5rIDogXCJodHRwczovL3d3dy5yZW5haXNzYW5jZXJlbnRhbHMuY29tL2FjY2Vzc2liaWxpdHlcIn0+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPXthY2Nlc3NpYmlsaXR5TG9nb30gYWx0PVwiYWNjZXNzaWJpbGl0eVwiIGhlaWdodD1cIjIzXCIvPlxuICAgICAgICAgICAgICAgIDwvYT5cblxuICAgICAgICAgICAgICAgIDxuYXY+XG4gICAgICAgICAgICAgICAgICAgIHtuYXZ9XG4gICAgICAgICAgICAgICAgPC9uYXY+XG4gICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9e3JhaW5ib3dMb2dvfSBhbHQ9XCJ3ZSB3ZWxjb21lIGFsbCBcIiBoZWlnaHQ9XCIzMFwiLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWFpblwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGVmdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5hdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7bmF2fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uYXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cImh0dHBzOi8vd3d3LnJlbmFpc3NhbmNlcmVudGFscy5jb21cIiBjbGFzc05hbWU9XCJocmVmLWxvZ29cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz17cmVucmVuTG9nb30gaGVpZ2h0PVwiMTUwXCIgYWx0PVwicmVuYWlzc2FuY2UgcmVudGFscywgd2UgYnVpbGQgY29tbXVuaXR5XCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyaWdodFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaXJzdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+PGltZyBzcmM9e2VxdWFsSG91c2luZ0xvZ299IGFsdD1cImVxdWFsIGhvdXNpbmcgb3Bwb3J0dW5pdHkgXCIgaGVpZ2h0PVwiNjBcIi8+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cImh0dHBzOi8vd3d3LmNoYW1iZXJibG9vbWluZ3Rvbi5vcmcvXCIgdGFyZ2V0PVwiX2JsYW5rXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz17Y2hhbWJlckxvZ299IGFsdD1cImNoYW1iZXIgbWVtYmVyICBcIiBoZWlnaHQ9XCI2MFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPXtyYWluYm93TG9nb30gYWx0PVwid2Ugd2VsY29tZSBhbGwgXCIgaGVpZ2h0PVwiMzBcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9e2FjY2Vzc2liaWxpdHlMaW5rID8gYWNjZXNzaWJpbGl0eUxpbmsgOiBcImh0dHBzOi8vd3d3LnJlbmFpc3NhbmNlcmVudGFscy5jb20vYWNjZXNzaWJpbGl0eVwifT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz17YWNjZXNzaWJpbGl0eUxvZ299IGFsdD1cImFjY2Vzc2liaWxpdHkgXCIgaGVpZ2h0PVwiMjNcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZm9vdGVyPlxuICAgICk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9vdGVyUHJvcHMge1xuICAgIG5hdjogUmVhY3QuUmVhY3ROb2RlO1xuICAgIGFjY2Vzc2liaWxpdHlMaW5rPzogc3RyaW5nO1xufSJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsaUJBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLGtCQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRyxXQUFBLEdBQUFKLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSSxpQkFBQSxHQUFBTCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUssWUFBQSxHQUFBTixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQU0sWUFBQSxHQUFBUCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0FBLE9BQUE7QUFBOEIsU0FBQUQsdUJBQUFRLEdBQUEsV0FBQUEsR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsR0FBQUQsR0FBQSxLQUFBRSxPQUFBLEVBQUFGLEdBQUE7QUFFdkIsSUFBTUcsTUFBNkIsR0FBRyxTQUFoQ0EsTUFBNkJBLENBQUFDLElBQUEsRUFBaUM7RUFBQSxJQUE1QkMsR0FBRyxHQUFBRCxJQUFBLENBQUhDLEdBQUc7SUFBRUMsaUJBQWlCLEdBQUFGLElBQUEsQ0FBakJFLGlCQUFpQjtFQUNqRSxvQkFDSWYsTUFBQSxDQUFBVyxPQUFBLENBQUFLLGFBQUEsOEJBQ0loQixNQUFBLENB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
|
|
@@ -1,84 +1,60 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.DriveGallery = void 0;
|
|
9
|
-
|
|
10
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
-
|
|
12
9
|
var _Gallery = require("./Gallery");
|
|
13
|
-
|
|
14
10
|
var _muncherUi = require("@contentmunch/muncher-ui");
|
|
15
|
-
|
|
16
11
|
require("./assets/DriveGallery.scss");
|
|
17
|
-
|
|
18
12
|
var _AssetService = require("../asset/service/AssetService");
|
|
19
|
-
|
|
20
13
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
21
|
-
|
|
22
14
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
23
|
-
|
|
24
15
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
25
|
-
|
|
26
16
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
27
|
-
|
|
28
17
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
29
|
-
|
|
30
18
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
31
|
-
|
|
32
|
-
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
33
|
-
|
|
19
|
+
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) { ; } } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
34
20
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
35
|
-
|
|
36
21
|
var DriveGallery = function DriveGallery(_ref) {
|
|
37
22
|
var driveId = _ref.driveId,
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
23
|
+
type = _ref.type,
|
|
24
|
+
initialSize = _ref.initialSize,
|
|
25
|
+
showName = _ref.showName,
|
|
26
|
+
propertyId = _ref.propertyId;
|
|
43
27
|
var _useState = (0, _react.useState)(true),
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
28
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
29
|
+
isLoading = _useState2[0],
|
|
30
|
+
setIsLoading = _useState2[1];
|
|
48
31
|
var _useState3 = (0, _react.useState)([]),
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
32
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
33
|
+
images = _useState4[0],
|
|
34
|
+
setImages = _useState4[1];
|
|
53
35
|
var _useState5 = (0, _react.useState)([]),
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
36
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
37
|
+
currentImages = _useState6[0],
|
|
38
|
+
setCurrentImages = _useState6[1];
|
|
58
39
|
var _useState7 = (0, _react.useState)(true),
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
40
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
41
|
+
showButton = _useState8[0],
|
|
42
|
+
setShowButton = _useState8[1];
|
|
63
43
|
(0, _react.useEffect)(function () {
|
|
64
44
|
(0, _AssetService.getAssetsFrom)(driveId).then(function (galleryImages) {
|
|
65
45
|
setImages(galleryImages);
|
|
66
|
-
|
|
67
46
|
if (initialSize && initialSize < galleryImages.length) {
|
|
68
47
|
setCurrentImages(galleryImages.slice(0, initialSize));
|
|
69
48
|
} else {
|
|
70
49
|
setCurrentImages(galleryImages);
|
|
71
50
|
}
|
|
72
|
-
|
|
73
51
|
setIsLoading(false);
|
|
74
52
|
});
|
|
75
53
|
}, [driveId, initialSize]);
|
|
76
|
-
|
|
77
54
|
var handleButtonClick = function handleButtonClick() {
|
|
78
55
|
setShowButton(false);
|
|
79
56
|
setCurrentImages(images);
|
|
80
57
|
};
|
|
81
|
-
|
|
82
58
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
83
59
|
className: "drive-gallery"
|
|
84
60
|
}, /*#__PURE__*/_react.default.createElement(_Gallery.Gallery, {
|
|
@@ -93,10 +69,9 @@ var DriveGallery = function DriveGallery(_ref) {
|
|
|
93
69
|
onClick: handleButtonClick
|
|
94
70
|
}, "More Pictures \xBB") : "");
|
|
95
71
|
};
|
|
96
|
-
|
|
97
72
|
exports.DriveGallery = DriveGallery;
|
|
98
73
|
DriveGallery.defaultProps = {
|
|
99
74
|
type: "simple",
|
|
100
75
|
showName: true
|
|
101
76
|
};
|
|
102
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJEcml2ZUdhbGxlcnkiLCJkcml2ZUlkIiwidHlwZSIsImluaXRpYWxTaXplIiwic2hvd05hbWUiLCJwcm9wZXJ0eUlkIiwidXNlU3RhdGUiLCJpc0xvYWRpbmciLCJzZXRJc0xvYWRpbmciLCJpbWFnZXMiLCJzZXRJbWFnZXMiLCJjdXJyZW50SW1hZ2VzIiwic2V0Q3VycmVudEltYWdlcyIsInNob3dCdXR0b24iLCJzZXRTaG93QnV0dG9uIiwidXNlRWZmZWN0IiwiZ2V0QXNzZXRzRnJvbSIsInRoZW4iLCJnYWxsZXJ5SW1hZ2VzIiwibGVuZ3RoIiwic2xpY2UiLCJoYW5kbGVCdXR0b25DbGljayIsImRlZmF1bHRQcm9wcyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nYWxsZXJ5L0RyaXZlR2FsbGVyeS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7dXNlRWZmZWN0LCB1c2VTdGF0ZX0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQge0dhbGxlcnksIEdhbGxlcnlUeXBlfSBmcm9tIFwiLi9HYWxsZXJ5XCI7XG5pbXBvcnQge0J1dHRvbn0gZnJvbSBcIkBjb250ZW50bXVuY2gvbXVuY2hlci11aVwiO1xuaW1wb3J0IFwiLi9hc3NldHMvRHJpdmVHYWxsZXJ5LnNjc3NcIjtcbmltcG9ydCB7Z2V0QXNzZXRzRnJvbX0gZnJvbSBcIi4uL2Fzc2V0L3NlcnZpY2UvQXNzZXRTZXJ2aWNlXCI7XG5pbXBvcnQge0Fzc2V0fSBmcm9tIFwiLi4vYXNzZXQvZGF0YS9Bc3NldFwiO1xuXG5leHBvcnQgY29uc3QgRHJpdmVHYWxsZXJ5OiBSZWFjdC5GQzxEcml2ZUdhbGxlcnlQcm9wcz4gPSAoe2RyaXZlSWQsIHR5cGUsIGluaXRpYWxTaXplLCBzaG93TmFtZSxwcm9wZXJ0eUlkfSkgPT4ge1xuICAgIGNvbnN0IFtpc0xvYWRpbmcsIHNldElzTG9hZGluZ10gPSB1c2VTdGF0ZTxib29sZWFuPih0cnVlKTtcbiAgICBjb25zdCBbaW1hZ2VzLCBzZXRJbWFnZXNdID0gdXNlU3RhdGU8QXNzZXRbXT4oW10pO1xuICAgIGNvbnN0IFtjdXJyZW50SW1hZ2VzLCBzZXRDdXJyZW50SW1hZ2VzXSA9IHVzZVN0YXRlPEFzc2V0W10+KFtdKTtcbiAgICBjb25zdCBbc2hvd0J1dHRvbiwgc2V0U2hvd0J1dHRvbl0gPSB1c2VTdGF0ZTxib29sZWFuPih0cnVlKTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGdldEFzc2V0c0Zyb20oZHJpdmVJZCkudGhlbihnYWxsZXJ5SW1hZ2VzID0+IHtcbiAgICAgICAgICAgIHNldEltYWdlcyhnYWxsZXJ5SW1hZ2VzKTtcbiAgICAgICAgICAgIGlmIChpbml0aWFsU2l6ZSAmJiBpbml0aWFsU2l6ZSA8IGdhbGxlcnlJbWFnZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgc2V0Q3VycmVudEltYWdlcyhnYWxsZXJ5SW1hZ2VzLnNsaWNlKDAsIGluaXRpYWxTaXplKSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHNldEN1cnJlbnRJbWFnZXMoZ2FsbGVyeUltYWdlcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpO1xuICAgICAgICB9KVxuICAgIH0sIFtkcml2ZUlkLCBpbml0aWFsU2l6ZV0pO1xuXG4gICAgY29uc3QgaGFuZGxlQnV0dG9uQ2xpY2sgPSAoKSA9PiB7XG4gICAgICAgIHNldFNob3dCdXR0b24oZmFsc2UpO1xuICAgICAgICBzZXRDdXJyZW50SW1hZ2VzKGltYWdlcyk7XG4gICAgfTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZHJpdmUtZ2FsbGVyeVwiPlxuICAgICAgICAgICAgPEdhbGxlcnkgYWxsSW1hZ2VzPXtpbWFnZXN9IGltYWdlcz17Y3VycmVudEltYWdlc30gaXNMb2FkaW5nPXtpc0xvYWRpbmd9IHR5cGU9e3R5cGV9IHNob3dOYW1lPXtzaG93TmFtZX0gcHJvcGVydHlJZD17cHJvcGVydHlJZH0vPlxuICAgICAgICAgICAge3Nob3dCdXR0b24gPyA8QnV0dG9uIHZhcmlhbnQ9e1wic2Vjb25kYXJ5XCJ9IG9uQ2xpY2s9e2hhbmRsZUJ1dHRvbkNsaWNrfT5Nb3JlIFBpY3R1cmVzIMK7PC9CdXR0b24+IDogXCJcIn1cbiAgICAgICAgPC9kaXY+XG5cbiAgICApO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBEcml2ZUdhbGxlcnlQcm9wcyB7XG4gICAgZHJpdmVJZDogc3RyaW5nO1xuICAgIHR5cGU/OiBHYWxsZXJ5VHlwZTtcbiAgICBpbml0aWFsU2l6ZT86IG51bWJlcjtcbiAgICBzaG93TmFtZT86IGJvb2xlYW47XG4gICAgcHJvcGVydHlJZDpzdHJpbmc7XG59XG5cbkRyaXZlR2FsbGVyeS5kZWZhdWx0UHJvcHMgPSB7XG4gICAgdHlwZTogXCJzaW1wbGVcIixcbiAgICBzaG93TmFtZTogdHJ1ZVxufSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUdPLElBQU1BLFlBQXlDLEdBQUcsU0FBNUNBLFlBQTRDLE9BQXVEO0VBQUEsSUFBckRDLE9BQXFELFFBQXJEQSxPQUFxRDtFQUFBLElBQTVDQyxJQUE0QyxRQUE1Q0EsSUFBNEM7RUFBQSxJQUF0Q0MsV0FBc0MsUUFBdENBLFdBQXNDO0VBQUEsSUFBekJDLFFBQXlCLFFBQXpCQSxRQUF5QjtFQUFBLElBQWhCQyxVQUFnQixRQUFoQkEsVUFBZ0I7O0VBQzVHLGdCQUFrQyxJQUFBQyxlQUFBLEVBQWtCLElBQWxCLENBQWxDO0VBQUE7RUFBQSxJQUFPQyxTQUFQO0VBQUEsSUFBa0JDLFlBQWxCOztFQUNBLGlCQUE0QixJQUFBRixlQUFBLEVBQWtCLEVBQWxCLENBQTVCO0VBQUE7RUFBQSxJQUFPRyxNQUFQO0VBQUEsSUFBZUMsU0FBZjs7RUFDQSxpQkFBMEMsSUFBQUosZUFBQSxFQUFrQixFQUFsQixDQUExQztFQUFBO0VBQUEsSUFBT0ssYUFBUDtFQUFBLElBQXNCQyxnQkFBdEI7O0VBQ0EsaUJBQW9DLElBQUFOLGVBQUEsRUFBa0IsSUFBbEIsQ0FBcEM7RUFBQTtFQUFBLElBQU9PLFVBQVA7RUFBQSxJQUFtQkMsYUFBbkI7O0VBRUEsSUFBQUMsZ0JBQUEsRUFBVSxZQUFNO0lBQ1osSUFBQUMsMkJBQUEsRUFBY2YsT0FBZCxFQUF1QmdCLElBQXZCLENBQTRCLFVBQUFDLGFBQWEsRUFBSTtNQUN6Q1IsU0FBUyxDQUFDUSxhQUFELENBQVQ7O01BQ0EsSUFBSWYsV0FBVyxJQUFJQSxXQUFXLEdBQUdlLGFBQWEsQ0FBQ0MsTUFBL0MsRUFBdUQ7UUFDbkRQLGdCQUFnQixDQUFDTSxhQUFhLENBQUNFLEtBQWQsQ0FBb0IsQ0FBcEIsRUFBdUJqQixXQUF2QixDQUFELENBQWhCO01BQ0gsQ0FGRCxNQUVPO1FBQ0hTLGdCQUFnQixDQUFDTSxhQUFELENBQWhCO01BQ0g7O01BQ0RWLFlBQVksQ0FBQyxLQUFELENBQVo7SUFDSCxDQVJEO0VBU0gsQ0FWRCxFQVVHLENBQUNQLE9BQUQsRUFBVUUsV0FBVixDQVZIOztFQVlBLElBQU1rQixpQkFBaUIsR0FBRyxTQUFwQkEsaUJBQW9CLEdBQU07SUFDNUJQLGFBQWEsQ0FBQyxLQUFELENBQWI7SUFDQUYsZ0JBQWdCLENBQUNILE1BQUQsQ0FBaEI7RUFDSCxDQUhEOztFQUtBLG9CQUNJO0lBQUssU0FBUyxFQUFDO0VBQWYsZ0JBQ0ksNkJBQUMsZ0JBQUQ7SUFBUyxTQUFTLEVBQUVBLE1BQXBCO0lBQTRCLE1BQU0sRUFBRUUsYUFBcEM7SUFBbUQsU0FBUyxFQUFFSixTQUE5RDtJQUF5RSxJQUFJLEVBQUVMLElBQS9FO0lBQXFGLFFBQVEsRUFBRUUsUUFBL0Y7SUFBeUcsVUFBVSxFQUFFQztFQUFySCxFQURKLEVBRUtRLFVBQVUsZ0JBQUcsNkJBQUMsaUJBQUQ7SUFBUSxPQUFPLEVBQUUsV0FBakI7SUFBOEIsT0FBTyxFQUFFUTtFQUF2Qyx3QkFBSCxHQUF3RixFQUZ2RyxDQURKO0FBT0gsQ0E5Qk07OztBQXdDUHJCLFlBQVksQ0FBQ3NCLFlBQWIsR0FBNEI7RUFDeEJwQixJQUFJLEVBQUUsUUFEa0I7RUFFeEJFLFFBQVEsRUFBRTtBQUZjLENBQTVCIn0=
|
|
77
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfR2FsbGVyeSIsIl9tdW5jaGVyVWkiLCJfQXNzZXRTZXJ2aWNlIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJfc2xpY2VkVG9BcnJheSIsImFyciIsImkiLCJfYXJyYXlXaXRoSG9sZXMiLCJfaXRlcmFibGVUb0FycmF5TGltaXQiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVSZXN0IiwiVHlwZUVycm9yIiwibyIsIm1pbkxlbiIsIl9hcnJheUxpa2VUb0FycmF5IiwibiIsInRvU3RyaW5nIiwic2xpY2UiLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJBcnJheSIsImZyb20iLCJ0ZXN0IiwibGVuIiwibGVuZ3RoIiwiYXJyMiIsIl9pIiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJfcyIsIl9lIiwiX3giLCJfciIsIl9hcnIiLCJfbiIsIl9kIiwibmV4dCIsImRvbmUiLCJwdXNoIiwidmFsdWUiLCJlcnIiLCJyZXR1cm4iLCJpc0FycmF5IiwiRHJpdmVHYWxsZXJ5IiwiX3JlZiIsImRyaXZlSWQiLCJ0eXBlIiwiaW5pdGlhbFNpemUiLCJzaG93TmFtZSIsInByb3BlcnR5SWQiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJpc0xvYWRpbmciLCJzZXRJc0xvYWRpbmciLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImltYWdlcyIsInNldEltYWdlcyIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwiY3VycmVudEltYWdlcyIsInNldEN1cnJlbnRJbWFnZXMiLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsInNob3dCdXR0b24iLCJzZXRTaG93QnV0dG9uIiwidXNlRWZmZWN0IiwiZ2V0QXNzZXRzRnJvbSIsInRoZW4iLCJnYWxsZXJ5SW1hZ2VzIiwiaGFuZGxlQnV0dG9uQ2xpY2siLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwiR2FsbGVyeSIsImFsbEltYWdlcyIsIkJ1dHRvbiIsInZhcmlhbnQiLCJvbkNsaWNrIiwiZXhwb3J0cyIsImRlZmF1bHRQcm9wcyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nYWxsZXJ5L0RyaXZlR2FsbGVyeS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7dXNlRWZmZWN0LCB1c2VTdGF0ZX0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQge0dhbGxlcnksIEdhbGxlcnlUeXBlfSBmcm9tIFwiLi9HYWxsZXJ5XCI7XG5pbXBvcnQge0J1dHRvbn0gZnJvbSBcIkBjb250ZW50bXVuY2gvbXVuY2hlci11aVwiO1xuaW1wb3J0IFwiLi9hc3NldHMvRHJpdmVHYWxsZXJ5LnNjc3NcIjtcbmltcG9ydCB7Z2V0QXNzZXRzRnJvbX0gZnJvbSBcIi4uL2Fzc2V0L3NlcnZpY2UvQXNzZXRTZXJ2aWNlXCI7XG5pbXBvcnQge0Fzc2V0fSBmcm9tIFwiLi4vYXNzZXQvZGF0YS9Bc3NldFwiO1xuXG5leHBvcnQgY29uc3QgRHJpdmVHYWxsZXJ5OiBSZWFjdC5GQzxEcml2ZUdhbGxlcnlQcm9wcz4gPSAoe2RyaXZlSWQsIHR5cGUsIGluaXRpYWxTaXplLCBzaG93TmFtZSxwcm9wZXJ0eUlkfSkgPT4ge1xuICAgIGNvbnN0IFtpc0xvYWRpbmcsIHNldElzTG9hZGluZ10gPSB1c2VTdGF0ZTxib29sZWFuPih0cnVlKTtcbiAgICBjb25zdCBbaW1hZ2VzLCBzZXRJbWFnZXNdID0gdXNlU3RhdGU8QXNzZXRbXT4oW10pO1xuICAgIGNvbnN0IFtjdXJyZW50SW1hZ2VzLCBzZXRDdXJyZW50SW1hZ2VzXSA9IHVzZVN0YXRlPEFzc2V0W10+KFtdKTtcbiAgICBjb25zdCBbc2hvd0J1dHRvbiwgc2V0U2hvd0J1dHRvbl0gPSB1c2VTdGF0ZTxib29sZWFuPih0cnVlKTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGdldEFzc2V0c0Zyb20oZHJpdmVJZCkudGhlbihnYWxsZXJ5SW1hZ2VzID0+IHtcbiAgICAgICAgICAgIHNldEltYWdlcyhnYWxsZXJ5SW1hZ2VzKTtcbiAgICAgICAgICAgIGlmIChpbml0aWFsU2l6ZSAmJiBpbml0aWFsU2l6ZSA8IGdhbGxlcnlJbWFnZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgc2V0Q3VycmVudEltYWdlcyhnYWxsZXJ5SW1hZ2VzLnNsaWNlKDAsIGluaXRpYWxTaXplKSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHNldEN1cnJlbnRJbWFnZXMoZ2FsbGVyeUltYWdlcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpO1xuICAgICAgICB9KVxuICAgIH0sIFtkcml2ZUlkLCBpbml0aWFsU2l6ZV0pO1xuXG4gICAgY29uc3QgaGFuZGxlQnV0dG9uQ2xpY2sgPSAoKSA9PiB7XG4gICAgICAgIHNldFNob3dCdXR0b24oZmFsc2UpO1xuICAgICAgICBzZXRDdXJyZW50SW1hZ2VzKGltYWdlcyk7XG4gICAgfTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZHJpdmUtZ2FsbGVyeVwiPlxuICAgICAgICAgICAgPEdhbGxlcnkgYWxsSW1hZ2VzPXtpbWFnZXN9IGltYWdlcz17Y3VycmVudEltYWdlc30gaXNMb2FkaW5nPXtpc0xvYWRpbmd9IHR5cGU9e3R5cGV9IHNob3dOYW1lPXtzaG93TmFtZX0gcHJvcGVydHlJZD17cHJvcGVydHlJZH0vPlxuICAgICAgICAgICAge3Nob3dCdXR0b24gPyA8QnV0dG9uIHZhcmlhbnQ9e1wic2Vjb25kYXJ5XCJ9IG9uQ2xpY2s9e2hhbmRsZUJ1dHRvbkNsaWNrfT5Nb3JlIFBpY3R1cmVzIMK7PC9CdXR0b24+IDogXCJcIn1cbiAgICAgICAgPC9kaXY+XG5cbiAgICApO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBEcml2ZUdhbGxlcnlQcm9wcyB7XG4gICAgZHJpdmVJZDogc3RyaW5nO1xuICAgIHR5cGU/OiBHYWxsZXJ5VHlwZTtcbiAgICBpbml0aWFsU2l6ZT86IG51bWJlcjtcbiAgICBzaG93TmFtZT86IGJvb2xlYW47XG4gICAgcHJvcGVydHlJZDpzdHJpbmc7XG59XG5cbkRyaXZlR2FsbGVyeS5kZWZhdWx0UHJvcHMgPSB7XG4gICAgdHlwZTogXCJzaW1wbGVcIixcbiAgICBzaG93TmFtZTogdHJ1ZVxufSJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFFBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFVBQUEsR0FBQUYsT0FBQTtBQUNBQSxPQUFBO0FBQ0EsSUFBQUcsYUFBQSxHQUFBSCxPQUFBO0FBQTRELFNBQUFJLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlCQUFBLE9BQUFELE9BQUEsUUFBQUUsZ0JBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsV0FBQSxXQUFBQSxXQUFBLEdBQUFHLGdCQUFBLEdBQUFELGlCQUFBLEtBQUFGLFdBQUE7QUFBQSxTQUFBTix3QkFBQVUsR0FBQSxFQUFBSixXQUFBLFNBQUFBLFdBQUEsSUFBQUksR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsV0FBQUQsR0FBQSxRQUFBQSxHQUFBLGFBQUFFLE9BQUEsQ0FBQUYsR0FBQSx5QkFBQUEsR0FBQSw0QkFBQUcsT0FBQSxFQUFBSCxHQUFBLFVB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
|