single-scripture-rcl 3.4.15-beta.27 → 3.4.16-beta.12
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.
|
@@ -506,7 +506,12 @@ export function getAlignments(verseObjects) {
|
|
|
506
506
|
}
|
|
507
507
|
|
|
508
508
|
/**
|
|
509
|
-
* do a fetch of manifest and book of the bible specified in fetchParams
|
|
509
|
+
* do a fetch of manifest and book of the bible specified in fetchParams.
|
|
510
|
+
*
|
|
511
|
+
* TRICKY - this function is being called by every scripture card simultaneously during book navigation, so it is
|
|
512
|
+
* very important that it does not cause significant delays (particularly on slower devices) and block UI or
|
|
513
|
+
* state updates.
|
|
514
|
+
*
|
|
510
515
|
* @param {BookFetchParams} fetchParams
|
|
511
516
|
*/
|
|
512
517
|
export function fetchBibleBookCore(_x) {
|
|
@@ -531,14 +536,11 @@ function _fetchBibleBookCore() {
|
|
|
531
536
|
|
|
532
537
|
// fetch manifest data
|
|
533
538
|
_context.next = 4;
|
|
534
|
-
return delay(100);
|
|
535
|
-
case 4:
|
|
536
|
-
_context.next = 6;
|
|
537
539
|
return core.resourceFromResourceLink(fetchParams);
|
|
538
|
-
case
|
|
540
|
+
case 4:
|
|
539
541
|
resource = _context.sent;
|
|
540
542
|
if (!(!(resource !== null && resource !== void 0 && resource.manifest) || !(resource !== null && resource !== void 0 && (_resource$project = resource.project) !== null && _resource$project !== void 0 && _resource$project.file))) {
|
|
541
|
-
_context.next =
|
|
543
|
+
_context.next = 9;
|
|
542
544
|
break;
|
|
543
545
|
}
|
|
544
546
|
errorMsg = resource !== null && resource !== void 0 && resource.manifest ? 'parsing resource manifest' : 'loading resource manifest';
|
|
@@ -547,23 +549,21 @@ function _fetchBibleBookCore() {
|
|
|
547
549
|
error: errorMsg,
|
|
548
550
|
resourceError: true
|
|
549
551
|
});
|
|
550
|
-
case
|
|
552
|
+
case 9:
|
|
551
553
|
console.log("fetchBibleBookCore() - LOADED bible manifest, fetching book ".concat(fetchParams === null || fetchParams === void 0 ? void 0 : fetchParams.resourceLink), fetchParams);
|
|
552
|
-
_context.next =
|
|
553
|
-
return delay(100);
|
|
554
|
-
case 14:
|
|
555
|
-
_context.next = 16;
|
|
554
|
+
_context.next = 12;
|
|
556
555
|
return resource === null || resource === void 0 || (_resource$project2 = resource.project) === null || _resource$project2 === void 0 ? void 0 : _resource$project2.file();
|
|
557
|
-
case
|
|
556
|
+
case 12:
|
|
558
557
|
response = _context.sent;
|
|
559
558
|
// parse book usfm
|
|
560
559
|
bibleUsfm = response && core.getResponseData(response);
|
|
561
|
-
_context.next =
|
|
560
|
+
_context.next = 16;
|
|
562
561
|
return delay(100);
|
|
563
|
-
case
|
|
562
|
+
case 16:
|
|
563
|
+
// allow UI to update between two computationally expensive functions
|
|
564
564
|
bookObjects = bibleUsfm && usfmjs.toJSON(bibleUsfm); // convert to bible objects
|
|
565
565
|
if (bookObjects) {
|
|
566
|
-
_context.next =
|
|
566
|
+
_context.next = 21;
|
|
567
567
|
break;
|
|
568
568
|
}
|
|
569
569
|
_errorMsg = bibleUsfm ? 'fetching book of the bible' : 'parsing book of the bible';
|
|
@@ -571,7 +571,7 @@ function _fetchBibleBookCore() {
|
|
|
571
571
|
return _context.abrupt("return", {
|
|
572
572
|
error: _errorMsg
|
|
573
573
|
});
|
|
574
|
-
case
|
|
574
|
+
case 21:
|
|
575
575
|
_ref3 = (response === null || response === void 0 ? void 0 : response.data) || {}, name = _ref3.name, sha = _ref3.sha, url = _ref3.url;
|
|
576
576
|
console.log("fetchBibleBookCore() - LOADED bible book, ".concat(fetchParams === null || fetchParams === void 0 ? void 0 : fetchParams.resourceLink), fetchParams);
|
|
577
577
|
return _context.abrupt("return", _objectSpread(_objectSpread({}, resource), {}, {
|
|
@@ -582,19 +582,19 @@ function _fetchBibleBookCore() {
|
|
|
582
582
|
sha: sha,
|
|
583
583
|
url: url
|
|
584
584
|
}));
|
|
585
|
-
case
|
|
586
|
-
_context.prev =
|
|
585
|
+
case 26:
|
|
586
|
+
_context.prev = 26;
|
|
587
587
|
_context.t0 = _context["catch"](0);
|
|
588
588
|
_errorMsg2 = 'hard error loading resource';
|
|
589
589
|
console.error("fetchBibleBookCore() - ".concat(_errorMsg2), fetchParams, _context.t0);
|
|
590
590
|
return _context.abrupt("return", {
|
|
591
591
|
error: _errorMsg2
|
|
592
592
|
});
|
|
593
|
-
case
|
|
593
|
+
case 31:
|
|
594
594
|
case "end":
|
|
595
595
|
return _context.stop();
|
|
596
596
|
}
|
|
597
|
-
}, _callee, null, [[0,
|
|
597
|
+
}, _callee, null, [[0, 26]]);
|
|
598
598
|
}));
|
|
599
599
|
return _fetchBibleBookCore.apply(this, arguments);
|
|
600
600
|
}
|
|
@@ -634,4 +634,4 @@ function _fetchBibleBook() {
|
|
|
634
634
|
}));
|
|
635
635
|
return _fetchBibleBook.apply(this, arguments);
|
|
636
636
|
}
|
|
637
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVnZW5lcmF0b3JSdW50aW1lIiwiZSIsInQiLCJyIiwiT2JqZWN0IiwicHJvdG90eXBlIiwibiIsImhhc093blByb3BlcnR5IiwibyIsImRlZmluZVByb3BlcnR5IiwidmFsdWUiLCJpIiwiU3ltYm9sIiwiYSIsIml0ZXJhdG9yIiwiYyIsImFzeW5jSXRlcmF0b3IiLCJ1IiwidG9TdHJpbmdUYWciLCJkZWZpbmUiLCJlbnVtZXJhYmxlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJ3cmFwIiwiR2VuZXJhdG9yIiwiY3JlYXRlIiwiQ29udGV4dCIsIm1ha2VJbnZva2VNZXRob2QiLCJ0cnlDYXRjaCIsInR5cGUiLCJhcmciLCJjYWxsIiwiaCIsImwiLCJmIiwicyIsInkiLCJHZW5lcmF0b3JGdW5jdGlvbiIsIkdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlIiwicCIsImQiLCJnZXRQcm90b3R5cGVPZiIsInYiLCJ2YWx1ZXMiLCJnIiwiZGVmaW5lSXRlcmF0b3JNZXRob2RzIiwiZm9yRWFjaCIsIl9pbnZva2UiLCJBc3luY0l0ZXJhdG9yIiwiaW52b2tlIiwiX3R5cGVvZiIsInJlc29sdmUiLCJfX2F3YWl0IiwidGhlbiIsImNhbGxJbnZva2VXaXRoTWV0aG9kQW5kQXJnIiwiRXJyb3IiLCJkb25lIiwibWV0aG9kIiwiZGVsZWdhdGUiLCJtYXliZUludm9rZURlbGVnYXRlIiwic2VudCIsIl9zZW50IiwiZGlzcGF0Y2hFeGNlcHRpb24iLCJhYnJ1cHQiLCJUeXBlRXJyb3IiLCJyZXN1bHROYW1lIiwibmV4dCIsIm5leHRMb2MiLCJwdXNoVHJ5RW50cnkiLCJ0cnlMb2MiLCJjYXRjaExvYyIsImZpbmFsbHlMb2MiLCJhZnRlckxvYyIsInRyeUVudHJpZXMiLCJwdXNoIiwicmVzZXRUcnlFbnRyeSIsImNvbXBsZXRpb24iLCJyZXNldCIsImlzTmFOIiwibGVuZ3RoIiwiZGlzcGxheU5hbWUiLCJpc0dlbmVyYXRvckZ1bmN0aW9uIiwiY29uc3RydWN0b3IiLCJuYW1lIiwibWFyayIsInNldFByb3RvdHlwZU9mIiwiX19wcm90b19fIiwiYXdyYXAiLCJhc3luYyIsIlByb21pc2UiLCJrZXlzIiwicmV2ZXJzZSIsInBvcCIsInByZXYiLCJjaGFyQXQiLCJzbGljZSIsInN0b3AiLCJydmFsIiwiaGFuZGxlIiwiY29tcGxldGUiLCJmaW5pc2giLCJfY2F0Y2giLCJkZWxlZ2F0ZVlpZWxkIiwiYXN5bmNHZW5lcmF0b3JTdGVwIiwiZ2VuIiwicmVqZWN0IiwiX25leHQiLCJfdGhyb3ciLCJrZXkiLCJpbmZvIiwiZXJyb3IiLCJfYXN5bmNUb0dlbmVyYXRvciIsImZuIiwic2VsZiIsImFyZ3MiLCJhcmd1bWVudHMiLCJhcHBseSIsImVyciIsInVuZGVmaW5lZCIsIl90b0NvbnN1bWFibGVBcnJheSIsImFyciIsIl9hcnJheVdpdGhvdXRIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXkiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVTcHJlYWQiLCJpdGVyIiwiQXJyYXkiLCJmcm9tIiwiaXNBcnJheSIsIl9hcnJheUxpa2VUb0FycmF5IiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJhbGxvd0FycmF5TGlrZSIsIml0IiwiRiIsIl9lIiwibm9ybWFsQ29tcGxldGlvbiIsImRpZEVyciIsInN0ZXAiLCJfZTIiLCJvd25LZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiX29iamVjdFNwcmVhZCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwib2JqIiwiX3RvUHJvcGVydHlLZXkiLCJfdG9QcmltaXRpdmUiLCJTdHJpbmciLCJpbnB1dCIsImhpbnQiLCJwcmltIiwidG9QcmltaXRpdmUiLCJyZXMiLCJOdW1iZXIiLCJfc2xpY2VkVG9BcnJheSIsIl9hcnJheVdpdGhIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXlMaW1pdCIsIl9ub25JdGVyYWJsZVJlc3QiLCJtaW5MZW4iLCJ0b1N0cmluZyIsInRlc3QiLCJsZW4iLCJhcnIyIiwiQ09OVEVOVF9OT1RfRk9VTkRfRVJST1IiLCJJTlZBTElEX01BTklGRVNUX0VSUk9SIiwiTE9BRElOR19TVEFURSIsIk1BTklGRVNUX05PVF9MT0FERURfRVJST1IiLCJTQ1JJUFRVUkVfTk9UX0xPQURFRF9FUlJPUiIsImNvcmUiLCJ1c2ZtanMiLCJCb29rRmV0Y2hQYXJhbXMiLCJTY3JpcHR1cmVSZWZlcmVuY2UiLCJTY3JpcHR1cmVSZXNvdXJjZSIsIlNlcnZlckNvbmZpZyIsIlZlcnNlT2JqZWN0c1R5cGUiLCJCT09LX05PVF9GT1VORF9FUlJPUl9NU0ciLCJMT0FESU5HX1JFU09VUkNFIiwiTUFOSUZFU1RfSU5WQUxJRF9FUlJPUl9NU0ciLCJNQU5JRkVTVF9OT1RfRk9VTkRfRVJST1JfTVNHIiwiTlRfT1JJR19MQU5HIiwiTlRfT1JJR19MQU5HX0JJQkxFIiwiT1JJR0lOQUxfU09VUkNFIiwiT1RfT1JJR19MQU5HIiwiT1RfT1JJR19MQU5HX0JJQkxFIiwiU0NSSVBUVVJFX05PVF9GT1VORF9FUlJPUl9NU0ciLCJUQVJHRVRfTElURVJBTCIsIlRBUkdFVF9TSU1QTElGSUVEIiwiZGVsYXkiLCJESVNBQkxFX1dPUkRfUE9QT1ZFUiIsImdldFJlc291cmNlTGluayIsInNjcmlwdHVyZSIsInJlZiIsImJyYW5jaCIsImNvbmNhdCIsIm93bmVyIiwibGFuZ3VhZ2VJZCIsInJlc291cmNlSWQiLCJwYXJzZVJlc291cmNlTGluayIsInJlc291cmNlTGluayIsIl9yZXNvdXJjZUxpbmskc3BsaXQiLCJzcGxpdCIsIl9yZXNvdXJjZUxpbmskc3BsaXQyIiwiZ2V0U2NyaXB0dXJlT2JqZWN0IiwiX3JlZiIsInRpdGxlIiwic2VydmVyIiwiZGlzYWJsZVdvcmRQb3BvdmVyIiwib3JpZ2luYWxMYW5ndWFnZU93bmVyIiwiZ2V0VmVyc2VEYXRhRnJvbVNjcmlwQ29uZmlnIiwic2NyaXB0dXJlQ29uZmlnIiwidmVyc2VOdW0iLCJfc2NyaXB0dXJlQ29uZmlnJHZlcnMiLCJ2ZXJzZXNGb3JSZWYiLCJmaW5kIiwidmVyc2VSZWYiLCJ2ZXJzZSIsImlzT3JpZ2luYWxCaWJsZSIsImlzT3JpZyIsImNsZWFudXBBY2NvdW50U2V0dGluZ3MiLCJzY3JpcHR1cmVTZXR0aW5ncyIsImN1cnJlbnRPd25lciIsImN1cnJlbnRMYW5ndWFnZUlkIiwic3BsaXRVcmwiLCJvcmlnaW5hbFJlcG9VcmwiLCJ1cmwiLCJVUkwiLCJvcmlnaW4iLCJwYXRobmFtZSIsInNlYXJjaCIsImdldFNjcmlwdHVyZVJlc291cmNlU2V0dGluZ3MiLCJib29rSWQiLCJzY3JpcHR1cmVTZXR0aW5nc18iLCJpc05ld1Rlc3RhbWVudCIsIl9zcGxpdFVybCIsImdldFNjcmlwdHVyZVZlcnNpb25TZXR0aW5ncyIsIl9yZWYyIiwibGFiZWwiLCJzZXRTY3JpcHR1cmUiLCJzY3JpcHR1cmVWZXJzaW9uSGlzdCIsImhpc3RvcnkiLCJnZXRMYXRlc3QiLCJpbmRleCIsImZpbmRJdGVtSW5kZXhCeUtleSIsInNjcmlwdHVyZVNlbGVjdG9yQ29uZmlnIiwib3B0aW9ucyIsImN1cnJlbnQiLCJhbGxvd1VzZXJJbnB1dCIsIm9uQ2hhbmdlIiwidmFsaWRhdGlvbkNCIiwiaXRlbSIsIm5ld0l0ZW0iLCJhZGRJdGVtVG9IaXN0b3J5IiwiZ2V0SXRlbUJ5VGl0bGUiLCJkZWxldGVJdGVtIiwiZGVsZXRlSW5kZXgiLCJyZW1vdmVJdGVtQnlJbmRleCIsImdldFJlcG9VcmwiLCJpc05UIiwicmVwb1VybCIsIl9yZXNvdXJjZUxpbmskc3BsaXQzIiwiX3Jlc291cmNlTGluayRzcGxpdDQiLCJnZXRFcnJvck1lc3NhZ2VGb3JSZXNvdXJjZUxpbmsiLCJlcnJvckNvZGUiLCJlcnJvck1zZyIsInZhbGlkYXRlRGNzVXJsIiwidmFsaWRSZXBvUGF0aCIsInZhbGlkVXJsIiwicGFydHMiLCJfcGFydHMiLCJwcm90b2NvbCIsImhvc3QiLCJ1c2VyIiwicmVwbyIsImhvc3RQYXJ0cyIsIl9pdGVyYXRvciIsIl9zdGVwIiwicGFydCIsIl9yZXBvJHNwbGl0IiwiX3JlcG8kc3BsaXQyIiwicHJvamVjdElkIiwiX3VudXNlZCIsImNvbnNvbGUiLCJsb2ciLCJnZXRSZXNvdXJjZUVycm9yTWVzc2FnZSIsInJlc291cmNlU3RhdHVzIiwibWVzc2FnZSIsImdldFJlc291cmNlTWVzc2FnZSIsImdldFJlc291cmNlTGlua1NwZWNpZmljIiwiZml4T2NjdXJyZW5jZSIsIm9jY3VycmVuY2UiLCJwYXJzZUludCIsImNsZWFudXBWZXJzZU9iamVjdHMiLCJ2ZXJzZU9iamVjdHMiLCJ2ZXJzZU9iamVjdHNfIiwidm8iLCJvY2N1cnJlbmNlcyIsIndvcmQiLCJjaGlsZHJlbiIsIm5ld1ZvIiwiZ2V0Qm9va05hbWVGcm9tVXNmbUZpbGVOYW1lIiwiZmlsZW5hbWUiLCJfZmlsZW5hbWUkbWF0Y2giLCJyZWdleCIsImJvb2tOYW1lIiwibWF0Y2giLCJnZXRCaWJsZUlkRnJvbVVzZm1Db250ZW50SUQiLCJiaWJsZVVzZm0iLCJpZEhlYWRlciIsInBvc0lkIiwiaW5kZXhPZiIsImlkU3RhcnQiLCJoZWFkZXJJZCIsInN1YnN0cmluZyIsInRyaW0iLCJoZWFkZXJCb29rSUQiLCJfaGVhZGVyQm9va0lEIiwidmVyc2VPYmplY3RzSGF2ZVdvcmRzIiwiX2l0ZXJhdG9yMiIsIl9zdGVwMiIsImZvdW5kV29yZHMiLCJnZXRBbGlnbm1lbnRzIiwiYWxpZ25tZW50c0xpc3QiLCJ0YWciLCJhbGlnbm1lbnQiLCJlbmRUYWciLCJfYWxpZ25tZW50IiwiZmV0Y2hCaWJsZUJvb2tDb3JlIiwiX3giLCJfZmV0Y2hCaWJsZUJvb2tDb3JlIiwiX2NhbGxlZSIsImZldGNoUGFyYW1zIiwiX3Jlc291cmNlJHByb2plY3QiLCJfcmVzb3VyY2UkcHJvamVjdDIiLCJyZXNvdXJjZSIsInJlc3BvbnNlIiwiYm9va09iamVjdHMiLCJfZXJyb3JNc2ciLCJfcmVmMyIsInNoYSIsIl9lcnJvck1zZzIiLCJfY2FsbGVlJCIsIl9jb250ZXh0IiwicmVzb3VyY2VGcm9tUmVzb3VyY2VMaW5rIiwibWFuaWZlc3QiLCJwcm9qZWN0IiwiZmlsZSIsIndhcm4iLCJyZXNvdXJjZUVycm9yIiwiZ2V0UmVzcG9uc2VEYXRhIiwidG9KU09OIiwiZGF0YSIsInQwIiwiZmV0Y2hCaWJsZUJvb2siLCJfeDIiLCJfeDMiLCJfeDQiLCJfeDUiLCJfZmV0Y2hCaWJsZUJvb2siLCJfY2FsbGVlMiIsImNvbmZpZyIsInJlZmVyZW5jZSIsInJlZl8iLCJyZXN1bHRzIiwiX2NhbGxlZTIkIiwiX2NvbnRleHQyIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL1NjcmlwdHVyZVNldHRpbmdzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENPTlRFTlRfTk9UX0ZPVU5EX0VSUk9SLFxuICBJTlZBTElEX01BTklGRVNUX0VSUk9SLFxuICBMT0FESU5HX1NUQVRFLFxuICBNQU5JRkVTVF9OT1RfTE9BREVEX0VSUk9SLFxuICBTQ1JJUFRVUkVfTk9UX0xPQURFRF9FUlJPUixcbn0gZnJvbSAndHJhbnNsYXRpb24taGVscHMtcmNsJ1xuaW1wb3J0IHsgY29yZSB9IGZyb20gJ3NjcmlwdHVyZS1yZXNvdXJjZXMtcmNsJ1xuaW1wb3J0IHVzZm1qcyBmcm9tICd1c2ZtLWpzJ1xuaW1wb3J0IHtcbiAgQm9va0ZldGNoUGFyYW1zLFxuICBTY3JpcHR1cmVSZWZlcmVuY2UsXG4gIFNjcmlwdHVyZVJlc291cmNlLFxuICBTZXJ2ZXJDb25maWcsXG4gIFZlcnNlT2JqZWN0c1R5cGUsXG59IGZyb20gJy4uL3R5cGVzJ1xuaW1wb3J0IHtcbiAgQk9PS19OT1RfRk9VTkRfRVJST1JfTVNHLFxuICBMT0FESU5HX1JFU09VUkNFLFxuICBNQU5JRkVTVF9JTlZBTElEX0VSUk9SX01TRyxcbiAgTUFOSUZFU1RfTk9UX0ZPVU5EX0VSUk9SX01TRyxcbiAgTlRfT1JJR19MQU5HLFxuICBOVF9PUklHX0xBTkdfQklCTEUsXG4gIE9SSUdJTkFMX1NPVVJDRSxcbiAgT1RfT1JJR19MQU5HLFxuICBPVF9PUklHX0xBTkdfQklCTEUsXG4gIFNDUklQVFVSRV9OT1RfRk9VTkRfRVJST1JfTVNHLFxuICBUQVJHRVRfTElURVJBTCxcbiAgVEFSR0VUX1NJTVBMSUZJRUQsXG59IGZyb20gJy4vY29tbW9uJ1xuaW1wb3J0IHsgZGVsYXkgfSBmcm9tICcuL2RlbGF5J1xuXG5leHBvcnQgY29uc3QgRElTQUJMRV9XT1JEX1BPUE9WRVIgPSB0cnVlIC8vIGRpc2FibGUgd29yZCBwb3BvdmVyIGZvciBldmVyeSBzY3JpcHR1cmUgcGFuZSBidXQgb3JpZ2luYWwgbGFuZ3VhZ2VzXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXNvdXJjZUxpbmsoc2NyaXB0dXJlKSB7XG4gIGNvbnN0IHJlZiA9IHNjcmlwdHVyZS5yZWYgfHwgc2NyaXB0dXJlLmJyYW5jaFxuICByZXR1cm4gYCR7c2NyaXB0dXJlLm93bmVyfS8ke3NjcmlwdHVyZS5sYW5ndWFnZUlkfS8ke3NjcmlwdHVyZS5yZXNvdXJjZUlkfS8ke3JlZn1gXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVJlc291cmNlTGluayhyZXNvdXJjZUxpbmspIHtcbiAgY29uc3QgW293bmVyLCBsYW5ndWFnZUlkLCByZXNvdXJjZUlkLCByZWZdID0gcmVzb3VyY2VMaW5rLnNwbGl0KCcvJylcbiAgcmV0dXJuIHtcbiAgICBvd25lcixcbiAgICBsYW5ndWFnZUlkLFxuICAgIHJlc291cmNlSWQsXG4gICAgcmVmLFxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTY3JpcHR1cmVPYmplY3Qoe1xuICB0aXRsZSxcbiAgc2VydmVyLFxuICBvd25lcixcbiAgcmVmLFxuICBsYW5ndWFnZUlkLFxuICByZXNvdXJjZUlkLFxuICByZXNvdXJjZUxpbmssXG4gIGRpc2FibGVXb3JkUG9wb3ZlcixcbiAgb3JpZ2luYWxMYW5ndWFnZU93bmVyLFxufSkge1xuICBjb25zdCBzY3JpcHR1cmUgPSB7XG4gICAgdGl0bGUsXG4gICAgc2VydmVyLFxuICAgIG93bmVyLFxuICAgIG9yaWdpbmFsTGFuZ3VhZ2VPd25lcixcbiAgICByZWYsXG4gICAgbGFuZ3VhZ2VJZCxcbiAgICByZXNvdXJjZUlkLFxuICAgIGRpc2FibGVXb3JkUG9wb3ZlcixcbiAgICByZXNvdXJjZUxpbmssXG4gIH1cblxuICBpZiAoIXJlc291cmNlTGluaykge1xuICAgIHNjcmlwdHVyZS5yZXNvdXJjZUxpbmsgPSBnZXRSZXNvdXJjZUxpbmsoe1xuICAgICAgb3duZXIsXG4gICAgICByZWYsXG4gICAgICBsYW5ndWFnZUlkLFxuICAgICAgcmVzb3VyY2VJZCxcbiAgICB9KVxuICB9XG4gIHJldHVybiBzY3JpcHR1cmVcbn1cblxuLyoqXG4gKiByZXR1cm4gdmVyc2UgZGF0YSBnaXZlbiBhIHNjcmlwdHVyZSBjb25maWcgYW5kIHZlcnNlIG51bWJlclxuICogQHBhcmFtIHNjcmlwdHVyZUNvbmZpZ1xuICogQHBhcmFtIHZlcnNlTnVtXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRWZXJzZURhdGFGcm9tU2NyaXBDb25maWcoc2NyaXB0dXJlQ29uZmlnLCB2ZXJzZU51bSkge1xuICByZXR1cm4gc2NyaXB0dXJlQ29uZmlnPy52ZXJzZXNGb3JSZWY/LmZpbmQoXG4gICAgdmVyc2VSZWYgPT4gdmVyc2VSZWYudmVyc2UgPT09IHZlcnNlTnVtXG4gIClcbn1cblxuLyoqXG4gKiByZXR1cm4gdHJ1ZSBpZiByZXNvdXJjZSBpcyBhbiBvcmlnaW5hbCBsYW5ndWFnZSBiaWJsZVxuICogQHBhcmFtIHJlc291cmNlSWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzT3JpZ2luYWxCaWJsZShyZXNvdXJjZUlkKSB7XG4gIGNvbnN0IGlzT3JpZyA9ICgocmVzb3VyY2VJZCA9PT0gTlRfT1JJR19MQU5HX0JJQkxFKSB8fCAocmVzb3VyY2VJZCA9PT0gT1RfT1JJR19MQU5HX0JJQkxFKSB8fCAocmVzb3VyY2VJZCA9PT0gT1JJR0lOQUxfU09VUkNFKSlcbiAgcmV0dXJuIGlzT3JpZ1xufVxuXG4vKipcbiAqIG1ha2Ugc3VyZSBzY3JpcHR1cmVTZXR0aW5ncyBhcmUgdXAgdG8gZGF0ZSB3aXRoIGN1cnJlbnQgb3duZXIgYW5kIGxhbmd1YWdlXG4gKiBAcGFyYW0ge29iamVjdH0gc2NyaXB0dXJlU2V0dGluZ3NcbiAqIEBwYXJhbSB7c3RyaW5nfSBjdXJyZW50T3duZXIgLSBvcHRpb25hbCBvdmVyLXJpZGUgZm9yIHRyYW5zaWVudCBjYXNlIHdoZXJlIG93bmVyIGluIHNjcmlwdHVyZSBzZXR0aW5ncyBoYXZlIG5vdCB5ZXQgdXBkYXRlZFxuICogQHBhcmFtIHtzdHJpbmd9IGN1cnJlbnRMYW5ndWFnZUlkIC0gb3B0aW9uYWwgb3Zlci1yaWRlIGZvciB0cmFuc2llbnQgY2FzZSB3aGVyZSBsYW5ndWFnZSBpbiBzY3JpcHR1cmUgc2V0dGluZ3MgaGF2ZSBub3QgeWV0IHVwZGF0ZWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNsZWFudXBBY2NvdW50U2V0dGluZ3Moc2NyaXB0dXJlU2V0dGluZ3M6IGFueSwgY3VycmVudE93bmVyOiBhbnksIGN1cnJlbnRMYW5ndWFnZUlkOiBhbnkpIHtcbiAgaWYgKGN1cnJlbnRPd25lciAmJiAoY3VycmVudE93bmVyICE9PSBzY3JpcHR1cmVTZXR0aW5ncy5vd25lcikpIHsgLy8gaWYgb3duZXIgY2hhbmdlZCwgdXBkYXRlIHNjcmlwdHVyZVNldHRpbmdzXG4gICAgc2NyaXB0dXJlU2V0dGluZ3Mub3duZXIgPSBjdXJyZW50T3duZXJcbiAgfVxuXG4gIGlmIChjdXJyZW50TGFuZ3VhZ2VJZCAmJiAoY3VycmVudExhbmd1YWdlSWQgIT09IHNjcmlwdHVyZVNldHRpbmdzLmxhbmd1YWdlSWQpKSB7IC8vIGlmIGxhbmd1YWdlIGNoYW5nZWQsIHVwZGF0ZSBzY3JpcHR1cmVTZXR0aW5nc1xuICAgIHNjcmlwdHVyZVNldHRpbmdzLmxhbmd1YWdlSWQgPSBjdXJyZW50TGFuZ3VhZ2VJZFxuICB9XG59XG5cbi8qKlxuICogc2VwYXJhdGUgVVJMIGludG8gc2VydmVyIGFuZCByZXNvdXJjZSBsaW5rXG4gKiBAcGFyYW0ge3N0cmluZ30gb3JpZ2luYWxSZXBvVXJsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzcGxpdFVybChvcmlnaW5hbFJlcG9VcmwpIHtcbiAgaWYgKG9yaWdpbmFsUmVwb1VybCkge1xuICAgIGNvbnN0IHVybCA9IG5ldyBVUkwob3JpZ2luYWxSZXBvVXJsKVxuICAgIGNvbnN0IHNlcnZlciA9IHVybC5vcmlnaW5cbiAgICBjb25zdCByZXNvdXJjZUxpbmsgPSB1cmwucGF0aG5hbWUgKyAodXJsLnNlYXJjaCB8fCAnJylcbiAgICByZXR1cm4geyBzZXJ2ZXIsIHJlc291cmNlTGluayB9XG4gIH1cbiAgcmV0dXJuIHt9XG59XG5cbi8qKlxuICogZ2V0IHRoZSBzY3JpcHR1cmUgc2V0dGluZ3MgbmVlZGVkIGZvciBmZXRjaCAtIGZvciBPcmlnTGFuZywgVUxULCBHTFQgd2lsbCByZXBsYWNlIG93bmVyIGFuZCBsYW5ndWFnZUlkIHdpdGggY29ycmVjdCB2YWx1ZXNcbiAqIEBwYXJhbSB7c3RyaW5nfSBib29rSWRcbiAqIEBwYXJhbSB7b2JqZWN0fSBzY3JpcHR1cmVTZXR0aW5nc19cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gaXNOZXdUZXN0YW1lbnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBvcmlnaW5hbFJlcG9VcmwgLSBvcHRpb25hbCBwYXRoIHRvIHJlcG8gZm9yIG9yaWdpbmFsIGxhbmd1YWdlXG4gKiBAcGFyYW0ge3N0cmluZ30gY3VycmVudExhbmd1YWdlSWQgLSBvcHRpb25hbCBvdmVyLXJpZGUgZm9yIHRyYW5zaWVudCBjYXNlIHdoZXJlIGxhbmd1YWdlIGluIHNjcmlwdHVyZSBzZXR0aW5ncyBoYXZlIG5vdCB5ZXQgdXBkYXRlZFxuICogQHBhcmFtIHtzdHJpbmd9IGN1cnJlbnRPd25lciAtIG9wdGlvbmFsIG92ZXItcmlkZSBmb3IgdHJhbnNpZW50IGNhc2Ugd2hlcmUgb3duZXIgaW4gc2NyaXB0dXJlIHNldHRpbmdzIGhhdmUgbm90IHlldCB1cGRhdGVkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRTY3JpcHR1cmVSZXNvdXJjZVNldHRpbmdzKFxuICBib29rSWQsIHNjcmlwdHVyZVNldHRpbmdzXywgaXNOZXdUZXN0YW1lbnQsXG4gIG9yaWdpbmFsUmVwb1VybD1udWxsLFxuICBjdXJyZW50TGFuZ3VhZ2VJZD1udWxsLFxuICBjdXJyZW50T3duZXI9bnVsbCxcbikge1xuICBjb25zdCBzY3JpcHR1cmVTZXR0aW5ncyA9IHsgLi4uc2NyaXB0dXJlU2V0dGluZ3NfIH1cbiAgc2NyaXB0dXJlU2V0dGluZ3MuZGlzYWJsZVdvcmRQb3BvdmVyID0gRElTQUJMRV9XT1JEX1BPUE9WRVJcbiAgY29uc3QgcmVzb3VyY2VJZCA9IHNjcmlwdHVyZVNldHRpbmdzXy5yZXNvdXJjZUlkXG5cbiAgaWYgKHJlc291cmNlSWQgPT09IE9SSUdJTkFMX1NPVVJDRSkge1xuICAgIC8vIHNlbGVjdCBvcmlnaW5hbCBsYW5ndWFnZSBCaWJsZSBiYXNlZCBvbiB3aGljaCB0ZXN0YW1lbnQgdGhlIGJvb2sgYmVsb25nc1xuICAgIHNjcmlwdHVyZVNldHRpbmdzLmxhbmd1YWdlSWQgPSBpc05ld1Rlc3RhbWVudCA/IE5UX09SSUdfTEFORyA6IE9UX09SSUdfTEFOR1xuICAgIHNjcmlwdHVyZVNldHRpbmdzLnJlc291cmNlSWQgPSBpc05ld1Rlc3RhbWVudFxuICAgICAgPyBOVF9PUklHX0xBTkdfQklCTEVcbiAgICAgIDogT1RfT1JJR19MQU5HX0JJQkxFXG5cbiAgICBpZiAoc2NyaXB0dXJlU2V0dGluZ3Mub3JpZ2luYWxMYW5ndWFnZU93bmVyKSB7XG4gICAgICBzY3JpcHR1cmVTZXR0aW5ncy5vd25lciA9IHNjcmlwdHVyZVNldHRpbmdzLm9yaWdpbmFsTGFuZ3VhZ2VPd25lclxuICAgIH1cblxuICAgIGlmIChvcmlnaW5hbFJlcG9VcmwpIHsgLy8gdXNlIHRoaXMgdXJsIGlmIGRlZmluZWRcbiAgICAgIGNvbnN0IHsgc2VydmVyLCByZXNvdXJjZUxpbmsgfSA9IHNwbGl0VXJsKG9yaWdpbmFsUmVwb1VybClcbiAgICAgIHNjcmlwdHVyZVNldHRpbmdzLnNlcnZlciA9IHNlcnZlclxuICAgICAgc2NyaXB0dXJlU2V0dGluZ3MucmVzb3VyY2VMaW5rID0gcmVzb3VyY2VMaW5rXG4gICAgfSBlbHNlIHsgLy8gZmFsbCBiYWNrIHRvIGFwcCBkZWZhdWx0c1xuICAgICAgc2NyaXB0dXJlU2V0dGluZ3MucmVzb3VyY2VMaW5rID0gZ2V0UmVzb3VyY2VMaW5rKHNjcmlwdHVyZVNldHRpbmdzKVxuICAgIH1cbiAgICBzY3JpcHR1cmVTZXR0aW5ncy5kaXNhYmxlV29yZFBvcG92ZXIgPSBmYWxzZVxuICB9IGVsc2UgaWYgKHJlc291cmNlSWQgPT09IFRBUkdFVF9MSVRFUkFMKSB7XG4gICAgY2xlYW51cEFjY291bnRTZXR0aW5ncyhzY3JpcHR1cmVTZXR0aW5ncywgY3VycmVudE93bmVyLCBjdXJyZW50TGFuZ3VhZ2VJZClcbiAgICBzY3JpcHR1cmVTZXR0aW5ncy5yZXNvdXJjZUlkID0gc2NyaXB0dXJlU2V0dGluZ3MubGFuZ3VhZ2VJZCA9PT0gJ2VuJyA/ICd1bHQnIDogJ2dsdCdcbiAgICBzY3JpcHR1cmVTZXR0aW5ncy5yZXNvdXJjZUxpbmsgPSBnZXRSZXNvdXJjZUxpbmsoc2NyaXB0dXJlU2V0dGluZ3MpXG4gIH0gZWxzZSBpZiAocmVzb3VyY2VJZCA9PT0gVEFSR0VUX1NJTVBMSUZJRUQpIHtcbiAgICBjbGVhbnVwQWNjb3VudFNldHRpbmdzKHNjcmlwdHVyZVNldHRpbmdzLCBjdXJyZW50T3duZXIsIGN1cnJlbnRMYW5ndWFnZUlkKVxuICAgIHNjcmlwdHVyZVNldHRpbmdzLnJlc291cmNlSWQgPSBzY3JpcHR1cmVTZXR0aW5ncy5sYW5ndWFnZUlkID09PSAnZW4nID8gJ3VzdCcgOiAnZ3N0J1xuICAgIHNjcmlwdHVyZVNldHRpbmdzLnJlc291cmNlTGluayA9IGdldFJlc291cmNlTGluayhzY3JpcHR1cmVTZXR0aW5ncylcbiAgfVxuICByZXR1cm4gc2NyaXB0dXJlU2V0dGluZ3Ncbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNjcmlwdHVyZVZlcnNpb25TZXR0aW5ncyh7XG4gIGxhYmVsLFxuICByZXNvdXJjZUxpbmssXG4gIHNldFNjcmlwdHVyZSxcbiAgc2NyaXB0dXJlVmVyc2lvbkhpc3QsXG59KSB7XG4gIGNvbnN0IGhpc3RvcnkgPSBzY3JpcHR1cmVWZXJzaW9uSGlzdC5nZXRMYXRlc3QoKVxuICBsZXQgaW5kZXggPSBzY3JpcHR1cmVWZXJzaW9uSGlzdC5maW5kSXRlbUluZGV4QnlLZXkoaGlzdG9yeSwgJ3Jlc291cmNlTGluaycsIHJlc291cmNlTGluaylcblxuICBjb25zdCBzY3JpcHR1cmVTZWxlY3RvckNvbmZpZyA9IHtcbiAgICBsYWJlbCwgLy8gbGFiZWwgZm9yIGNvbWJvYm94XG4gICAgb3B0aW9uczogaGlzdG9yeSxcbiAgICBjdXJyZW50OiBpbmRleCxcbiAgICBhbGxvd1VzZXJJbnB1dDogdHJ1ZSxcbiAgICBvbkNoYW5nZTogKHRpdGxlLCBpbmRleCwgdmFsaWRhdGlvbkNCPW51bGwpID0+IHtcbiAgICAgIGxldCBpdGVtXG5cbiAgICAgIGlmICgoaW5kZXggPCAwKSAmJiB0aXRsZSkge1xuICAgICAgICBjb25zdCBuZXdJdGVtID0ge1xuICAgICAgICAgIHVybDogdGl0bGUsXG4gICAgICAgICAgdGl0bGUsXG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaW5kZXggPSBzY3JpcHR1cmVWZXJzaW9uSGlzdC5hZGRJdGVtVG9IaXN0b3J5KG5ld0l0ZW0pXG5cbiAgICAgICAgaWYgKGluZGV4ID49IDApIHtcbiAgICAgICAgICBpdGVtID0gc2NyaXB0dXJlVmVyc2lvbkhpc3QuZ2V0TGF0ZXN0KClbaW5kZXhdXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGl0ZW0gPSBzY3JpcHR1cmVWZXJzaW9uSGlzdC5nZXRJdGVtQnlUaXRsZSh0aXRsZSlcbiAgICAgIH1cblxuICAgICAgaWYgKGl0ZW0pIHtcbiAgICAgICAgc2V0U2NyaXB0dXJlKGl0ZW0sIHZhbGlkYXRpb25DQilcbiAgICAgIH1cbiAgICB9LFxuICAgIGRlbGV0ZUl0ZW06IHRpdGxlID0+IHtcbiAgICAgIGNvbnN0IGhpc3RvcnkgPSBzY3JpcHR1cmVWZXJzaW9uSGlzdC5nZXRMYXRlc3QoKVxuICAgICAgY29uc3QgZGVsZXRlSW5kZXggPSBzY3JpcHR1cmVWZXJzaW9uSGlzdC5maW5kSXRlbUluZGV4QnlLZXkoaGlzdG9yeSwgJ3RpdGxlJywgdGl0bGUpXG4gICAgICBzY3JpcHR1cmVWZXJzaW9uSGlzdC5yZW1vdmVJdGVtQnlJbmRleChkZWxldGVJbmRleClcbiAgICB9LFxuICB9XG5cbiAgcmV0dXJuIHNjcmlwdHVyZVNlbGVjdG9yQ29uZmlnXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXBvVXJsKHJlc291cmNlTGluazogc3RyaW5nLCBzZXJ2ZXI6IHN0cmluZywgaXNOVDogYm9vbGVhbik6IHN0cmluZyB7XG4gIGxldCByZXBvVXJsXG5cbiAgdHJ5IHtcbiAgICBsZXQgW293bmVyLCBsYW5ndWFnZUlkLCByZXNvdXJjZUlkXSA9IHJlc291cmNlTGluay5zcGxpdCgnLycpXG5cbiAgICBzd2l0Y2ggKHJlc291cmNlSWQpIHtcbiAgICBjYXNlIE9SSUdJTkFMX1NPVVJDRTpcbiAgICAgIGxhbmd1YWdlSWQgPSBpc05UID8gTlRfT1JJR19MQU5HIDogT1RfT1JJR19MQU5HXG4gICAgICByZXNvdXJjZUlkID0gaXNOVFxuICAgICAgICA/IE5UX09SSUdfTEFOR19CSUJMRVxuICAgICAgICA6IE9UX09SSUdfTEFOR19CSUJMRVxuICAgICAgYnJlYWtcblxuICAgIGNhc2UgVEFSR0VUX0xJVEVSQUw6XG4gICAgICByZXNvdXJjZUlkID0gKGxhbmd1YWdlSWQgPT09ICdlbicpID8gJ3VsdCcgOiAnZ2x0J1xuICAgICAgYnJlYWtcblxuICAgIGNhc2UgVEFSR0VUX1NJTVBMSUZJRUQ6XG4gICAgICByZXNvdXJjZUlkID0gKGxhbmd1YWdlSWQgPT09ICdlbicpID8gJ3VzdCcgOiAnZ3N0J1xuICAgICAgYnJlYWtcbiAgICB9XG4gICAgcmVwb1VybCA9IGAke293bmVyfS8ke2xhbmd1YWdlSWR9XyR7cmVzb3VyY2VJZH1gXG4gIH0gY2F0Y2ggKGUpIHtcbiAgICAvLyByZXNvdXJjZUxpbmsgd2FzIGludmFsaWRcbiAgfVxuXG4gIC8vIEB0cy1pZ25vcmVcbiAgcmV0dXJuIGAke3NlcnZlciB8fCAnJ30vJHtyZXBvVXJsfWBcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEVycm9yTWVzc2FnZUZvclJlc291cmNlTGluayhcbiAgcmVzb3VyY2VMaW5rOiBzdHJpbmcsXG4gIHNlcnZlcjogc3RyaW5nLFxuICBlcnJvckNvZGU6IHN0cmluZyxcbiAgaXNOVDogYm9vbGVhbik6IHN0cmluZ1xue1xuICBjb25zdCByZXBvVXJsID0gZ2V0UmVwb1VybChyZXNvdXJjZUxpbmssIHNlcnZlciwgaXNOVClcbiAgY29uc3QgZXJyb3JNc2cgPSBlcnJvckNvZGUgKyByZXBvVXJsXG4gIHJldHVybiBlcnJvck1zZ1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVEY3NVcmwodXJsKSB7XG4gIGxldCB2YWxpZFJlcG9QYXRoID0gZmFsc2VcbiAgbGV0IHZhbGlkVXJsID0gZmFsc2VcblxuICB0cnkge1xuICAgIGNvbnN0IHBhcnRzID0gdXJsLnNwbGl0KCcvJylcbiAgICBjb25zdCBbcHJvdG9jb2wsICwgaG9zdCwgdXNlciwgcmVwb10gPSBwYXJ0c1xuICAgIHZhbGlkVXJsID0gKHByb3RvY29sID09PSAnaHR0cHM6JylcbiAgICBjb25zdCBob3N0UGFydHMgPSBob3N0ID8gaG9zdC5zcGxpdCgnLicpIDogW11cblxuICAgIGlmIChob3N0UGFydHMubGVuZ3RoID49IDIpIHtcbiAgICAgIGZvciAobGV0IHBhcnQgb2YgaG9zdFBhcnRzKSB7XG4gICAgICAgIGlmICghcGFydCkge1xuICAgICAgICAgIHZhbGlkVXJsID0gZmFsc2VcbiAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhbGlkVXJsID0gZmFsc2VcbiAgICB9XG5cbiAgICBpZiAoIHByb3RvY29sICYmIGhvc3QgJiYgdXNlciAmJiByZXBvICkge1xuICAgICAgY29uc3QgW2xhbmd1YWdlSWQsIHByb2plY3RJZF0gPSByZXBvLnNwbGl0KCdfJylcbiAgICAgIHZhbGlkUmVwb1BhdGggPSBsYW5ndWFnZUlkICYmIHByb2plY3RJZFxuICAgIH1cbiAgfSBjYXRjaCB7XG4gICAgY29uc29sZS5sb2coJ0ludmFsaWQgRENTIFVSTDogJyArIHVybClcbiAgfVxuICByZXR1cm4geyB2YWxpZFVybCwgdmFsaWRSZXBvUGF0aCB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXNvdXJjZUVycm9yTWVzc2FnZShyZXNvdXJjZVN0YXR1czogb2JqZWN0KSB7XG4gIGxldCBtZXNzYWdlID0gJydcblxuICBpZiAocmVzb3VyY2VTdGF0dXNbTUFOSUZFU1RfTk9UX0xPQURFRF9FUlJPUl0pIHtcbiAgICBtZXNzYWdlID0gTUFOSUZFU1RfTk9UX0ZPVU5EX0VSUk9SX01TR1xuICB9IGVsc2UgaWYgKHJlc291cmNlU3RhdHVzW0lOVkFMSURfTUFOSUZFU1RfRVJST1JdKSB7XG4gICAgbWVzc2FnZSA9IE1BTklGRVNUX0lOVkFMSURfRVJST1JfTVNHXG4gIH0gZWxzZSBpZiAocmVzb3VyY2VTdGF0dXNbQ09OVEVOVF9OT1RfRk9VTkRfRVJST1JdKSB7XG4gICAgbWVzc2FnZSA9IEJPT0tfTk9UX0ZPVU5EX0VSUk9SX01TR1xuICB9IGVsc2UgaWYgKHJlc291cmNlU3RhdHVzW1NDUklQVFVSRV9OT1RfTE9BREVEX0VSUk9SXSkge1xuICAgIG1lc3NhZ2UgPSBTQ1JJUFRVUkVfTk9UX0ZPVU5EX0VSUk9SX01TR1xuICB9XG4gIHJldHVybiBtZXNzYWdlXG59XG5cbi8qKlxuICogZGVjb2RlIHJlc291cmNlIHN0YXR1cyBpbnRvIHN0cmluZy4gIEN1cnJlbnRseSBvbmx5IEVuZ2xpc2hcbiAqIEBwYXJhbSByZXNvdXJjZVN0YXR1cyAtIG9iamVjdCB0aGF0IGNvbnRhaW5zIHN0YXRlIGFuZCBlcnJvcnMgdGhhdCBhcmUgZGV0ZWN0ZWRcbiAqIEBwYXJhbSBzZXJ2ZXIgLSBjb250YWlucyB0aGUgc2VydmVyIGJlaW5nIHVzZWRcbiAqIEBwYXJhbSByZXNvdXJjZUxpbmsgLSBwYXRoIHRvIHJlcG8gb24gc2VydmVyXG4gKiBAcGFyYW0gaXNOVCAtIHRydWUgaWYgTlQgYm9va1xuICogQHJldHVybiBlbXB0eSBzdHJpbmcgaWYgbm8gZXJyb3IsIGVsc2UgcmV0dXJucyB1c2VyIGVycm9yIG1lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFJlc291cmNlTWVzc2FnZShyZXNvdXJjZVN0YXR1czogb2JqZWN0LCBzZXJ2ZXI6IHN0cmluZywgcmVzb3VyY2VMaW5rOiBzdHJpbmcsIGlzTlQ6IGJvb2xlYW4pIHtcbiAgbGV0IG1lc3NhZ2UgPSAnJ1xuXG4gIGlmIChyZXNvdXJjZVN0YXR1c1tMT0FESU5HX1NUQVRFXSkge1xuICAgIG1lc3NhZ2UgPSBMT0FESU5HX1JFU09VUkNFXG4gIH0gZWxzZSB7XG4gICAgbWVzc2FnZSA9IGdldFJlc291cmNlRXJyb3JNZXNzYWdlKHJlc291cmNlU3RhdHVzKVxuXG4gICAgaWYgKG1lc3NhZ2UpIHtcbiAgICAgIG1lc3NhZ2UgPSBnZXRFcnJvck1lc3NhZ2VGb3JSZXNvdXJjZUxpbmsocmVzb3VyY2VMaW5rLCBzZXJ2ZXIsIG1lc3NhZ2UsIGlzTlQpXG4gICAgfVxuICB9XG4gIHJldHVybiBtZXNzYWdlXG59XG5cbi8qKlxuICogZ2VuZXJhdGUgcmVzb3VyY2Ugc3RyaW5nXG4gKiBAcGFyYW0gb3duZXJcbiAqIEBwYXJhbSBsYW5ndWFnZUlkXG4gKiBAcGFyYW0gcHJvamVjdElkXG4gKiBAcGFyYW0gcmVmXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXNvdXJjZUxpbmtTcGVjaWZpYyhvd25lcjogc3RyaW5nLCBsYW5ndWFnZUlkOiBzdHJpbmcsIHByb2plY3RJZDogc3RyaW5nLCByZWY6IHN0cmluZykge1xuICByZXR1cm4gYGFwaS92MS9yZXBvcy8ke293bmVyfS8ke2xhbmd1YWdlSWR9XyR7cHJvamVjdElkfS9jb250ZW50cz9yZWY9JHtyZWZ9YFxufVxuXG5leHBvcnQgZnVuY3Rpb24gZml4T2NjdXJyZW5jZShvY2N1cnJlbmNlKSB7XG4gIGlmICh0eXBlb2Ygb2NjdXJyZW5jZSA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gcGFyc2VJbnQob2NjdXJyZW5jZSlcbiAgfVxuICByZXR1cm4gb2NjdXJyZW5jZVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY2xlYW51cFZlcnNlT2JqZWN0cyh2ZXJzZU9iamVjdHMpIHtcbiAgaWYgKHZlcnNlT2JqZWN0cz8ubGVuZ3RoKSB7XG4gICAgY29uc3QgdmVyc2VPYmplY3RzXyA9IFsuLi52ZXJzZU9iamVjdHNdXG5cbiAgICBmb3IgKGxldCBpID0gMCwgbCA9IHZlcnNlT2JqZWN0c18ubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICBjb25zdCB2byA9IHZlcnNlT2JqZWN0c19baV1cblxuICAgICAgaWYgKHZvLnR5cGUgPT09ICd3b3JkJyAmJiAodm8ub2NjdXJyZW5jZSB8fCB2by5vY2N1cnJlbmNlcykpIHtcbiAgICAgICAgY29uc3Qgd29yZCA9IHsgLi4udm8gfVxuXG4gICAgICAgIGlmICh2by5vY2N1cnJlbmNlKSB7XG4gICAgICAgICAgd29yZC5vY2N1cnJlbmNlID0gZml4T2NjdXJyZW5jZSh2by5vY2N1cnJlbmNlKVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHZvLm9jY3VycmVuY2VzKSB7XG4gICAgICAgICAgd29yZC5vY2N1cnJlbmNlcyA9IGZpeE9jY3VycmVuY2Uodm8ub2NjdXJyZW5jZXMpXG4gICAgICAgIH1cbiAgICAgICAgdmVyc2VPYmplY3RzX1tpXSA9IHdvcmRcbiAgICAgIH0gZWxzZSBpZiAodm8uY2hpbGRyZW4pIHtcbiAgICAgICAgY29uc3QgY2hpbGRyZW4gPSBjbGVhbnVwVmVyc2VPYmplY3RzKHZvLmNoaWxkcmVuKVxuICAgICAgICBjb25zdCBuZXdWbyA9IHtcbiAgICAgICAgICAuLi52byxcbiAgICAgICAgICBjaGlsZHJlbixcbiAgICAgICAgfVxuICAgICAgICB2ZXJzZU9iamVjdHNfW2ldID0gbmV3Vm9cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHZlcnNlT2JqZWN0c19cbiAgfVxuICByZXR1cm4gW11cbn1cblxuLyoqXG4gKiB0YWtlIHRoZSBmaWxlbmFtZSBvZiB0aGUgYm9vayAoZS5nLiBcIjU3LVRJVC51c2ZtXCIpIGFuZCBwYXJzZSBvdXQgdGhlIGJvb2tJZFxuICogQHBhcmFtIHtzdHJpbmd9IGZpbGVuYW1lXG4gKiBAcmV0dXJuIHtzdHJpbmd9IGJvb2tJZCBpZiBmb3VuZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0Qm9va05hbWVGcm9tVXNmbUZpbGVOYW1lKGZpbGVuYW1lKSB7XG4gIGNvbnN0IHJlZ2V4ID0gL14oLio/KVxcLnVzZm0vXG4gIGNvbnN0IGJvb2tOYW1lID0gZmlsZW5hbWU/Lm1hdGNoKHJlZ2V4KT8uWzFdXG4gIHJldHVybiBib29rTmFtZVxufVxuXG4vKipcbiAqIHBhcnNlIHRoZSBVU0ZNIHRvIGZpbmQgYm9va0lEIGluIGhlYWRlclxuICogQHBhcmFtIHtzdHJpbmd9IGJpYmxlVXNmbVxuICogQHJldHVybiB7c3RyaW5nfSBib29rSWQgaWYgZm91bmRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEJpYmxlSWRGcm9tVXNmbUNvbnRlbnRJRChiaWJsZVVzZm0pIHtcbiAgY29uc3QgaWRIZWFkZXIgPSAnXFxcXGlkICdcbiAgY29uc3QgcG9zSWQgPSBiaWJsZVVzZm0/LmluZGV4T2YoaWRIZWFkZXIpXG5cbiAgaWYgKHBvc0lkID49IDApIHtcbiAgICBjb25zdCBpZFN0YXJ0ID0gcG9zSWQgKyBpZEhlYWRlci5sZW5ndGhcbiAgICBsZXQgaGVhZGVySWQgPSBiaWJsZVVzZm0/LnN1YnN0cmluZyggaWRTdGFydCwgaWRTdGFydCArIDEwMCkudHJpbSgpXG4gICAgbGV0IGhlYWRlckJvb2tJRCA9IG51bGxcblxuICAgIGlmIChoZWFkZXJJZD8ubGVuZ3RoID4gMSkge1xuICAgICAgaGVhZGVyQm9va0lEID0gaGVhZGVySWQ/LnNwbGl0KCcgJylcbiAgICAgIGhlYWRlckJvb2tJRCA9IGhlYWRlckJvb2tJRD8uWzBdLnRyaW0oKVxuICAgIH1cbiAgICByZXR1cm4gaGVhZGVyQm9va0lEXG4gIH1cbiAgcmV0dXJuIG51bGxcbn1cblxuLyoqXG4gKiBkZXRlcm1pbmVzIGlmIHRoZXJlIGFyZSBhbnkgd29yZHMgaW4gdmVyc2VPYmplY3RzXG4gKiBAcGFyYW0ge1ZlcnNlT2JqZWN0c1R5cGV9IHZlcnNlT2JqZWN0cyAtIGFycmF5IG9mIHZlcnNlT2JqZWN0cyB0byBzZWFyY2ggZm9yIHdvcmRzXG4gKiBAcmV0dXJuIHtib29sZWFufSB0cnVlIGlmIHdvcmQgaXMgZm91bmRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZlcnNlT2JqZWN0c0hhdmVXb3Jkcyh2ZXJzZU9iamVjdHM6IFZlcnNlT2JqZWN0c1R5cGUpIHtcbiAgaWYgKHZlcnNlT2JqZWN0cz8ubGVuZ3RoKSB7XG4gICAgZm9yIChjb25zdCB2byBvZiB2ZXJzZU9iamVjdHMpIHtcbiAgICAgIGlmICh2by50eXBlID09PSAnd29yZCcpIHtcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgIH0gZWxzZSBpZiAodm8uY2hpbGRyZW4pIHtcbiAgICAgICAgY29uc3QgZm91bmRXb3JkcyA9IHZlcnNlT2JqZWN0c0hhdmVXb3Jkcyh2by5jaGlsZHJlbilcblxuICAgICAgICBpZiAoZm91bmRXb3Jkcykge1xuICAgICAgICAgIHJldHVybiB0cnVlXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIGZhbHNlXG59XG5cbi8qKlxuICogZXh0cmFjdCBqdXN0IHRoZSBhbGlnbm1lbnRzIGZyb20gdmVyc2VPYmplY3RzXG4gKiBAcGFyYW0ge1ZlcnNlT2JqZWN0c1R5cGV9IHZlcnNlT2JqZWN0c1xuICogQHJldHVybnMge1ZlcnNlT2JqZWN0c1R5cGV9IC0ganVzdCBhbGlnbm1lbnRzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRBbGlnbm1lbnRzKHZlcnNlT2JqZWN0czogVmVyc2VPYmplY3RzVHlwZSk6VmVyc2VPYmplY3RzVHlwZSB7XG4gIGNvbnN0IGFsaWdubWVudHNMaXN0ID0gdmVyc2VPYmplY3RzLmZpbHRlcih2byA9PiB2by50YWcgPT09ICd6YWxuJylcblxuICAvLyByZW1vdmUgZW5kVGFnXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgYWxpZ25tZW50c0xpc3QubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCBhbGlnbm1lbnQgPSBhbGlnbm1lbnRzTGlzdFtpXVxuXG4gICAgaWYgKGFsaWdubWVudC5lbmRUYWcpIHtcbiAgICAgIGNvbnN0IF9hbGlnbm1lbnQgPSB7IC4uLmFsaWdubWVudCB9XG4gICAgICBkZWxldGUgX2FsaWdubWVudC5lbmRUYWdcbiAgICAgIGFsaWdubWVudHNMaXN0W2ldID0gX2FsaWdubWVudFxuICAgIH1cbiAgfVxuICByZXR1cm4gYWxpZ25tZW50c0xpc3Rcbn1cblxuLyoqXG4gKiBkbyBhIGZldGNoIG9mIG1hbmlmZXN0IGFuZCBib29rIG9mIHRoZSBiaWJsZSBzcGVjaWZpZWQgaW4gZmV0Y2hQYXJhbXNcbiAqIEBwYXJhbSB7Qm9va0ZldGNoUGFyYW1zfSBmZXRjaFBhcmFtc1xuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZmV0Y2hCaWJsZUJvb2tDb3JlKGZldGNoUGFyYW1zOiBCb29rRmV0Y2hQYXJhbXMpIHtcbiAgdHJ5IHtcbiAgICBjb25zb2xlLmxvZyhgZmV0Y2hCaWJsZUJvb2tDb3JlKCkgLSBGRVRDSElORyBiaWJsZSAke2ZldGNoUGFyYW1zPy5yZXNvdXJjZUxpbmt9YCwgZmV0Y2hQYXJhbXMpXG5cbiAgICAvLyBmZXRjaCBtYW5pZmVzdCBkYXRhXG4gICAgYXdhaXQgZGVsYXkoMTAwKVxuICAgIGNvbnN0IHJlc291cmNlID0gYXdhaXQgY29yZS5yZXNvdXJjZUZyb21SZXNvdXJjZUxpbmsoZmV0Y2hQYXJhbXMpXG5cbiAgICBpZiAoIXJlc291cmNlPy5tYW5pZmVzdCB8fCAhcmVzb3VyY2U/LnByb2plY3Q/LmZpbGUpIHtcbiAgICAgIGNvbnN0IGVycm9yTXNnID0gcmVzb3VyY2U/Lm1hbmlmZXN0ID8gJ3BhcnNpbmcgcmVzb3VyY2UgbWFuaWZlc3QnIDogJ2xvYWRpbmcgcmVzb3VyY2UgbWFuaWZlc3QnXG4gICAgICBjb25zb2xlLndhcm4oYGZldGNoQmlibGVCb29rQ29yZSgpIC0gZXJyb3IgJHtlcnJvck1zZ31gLCBmZXRjaFBhcmFtcyApXG4gICAgICByZXR1cm4geyBlcnJvcjogZXJyb3JNc2csIHJlc291cmNlRXJyb3I6IHRydWUgfVxuICAgIH1cblxuICAgIGNvbnNvbGUubG9nKGBmZXRjaEJpYmxlQm9va0NvcmUoKSAtIExPQURFRCBiaWJsZSBtYW5pZmVzdCwgZmV0Y2hpbmcgYm9vayAgJHtmZXRjaFBhcmFtcz8ucmVzb3VyY2VMaW5rfWAsIGZldGNoUGFyYW1zKVxuICAgIGF3YWl0IGRlbGF5KDEwMClcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHJlc291cmNlPy5wcm9qZWN0Py5maWxlKClcbiAgICAvLyBwYXJzZSBib29rIHVzZm1cbiAgICBjb25zdCBiaWJsZVVzZm0gPSByZXNwb25zZSAmJiBjb3JlLmdldFJlc3BvbnNlRGF0YShyZXNwb25zZSlcbiAgICBhd2FpdCBkZWxheSgxMDApXG4gICAgY29uc3QgYm9va09iamVjdHMgPSBiaWJsZVVzZm0gJiYgdXNmbWpzLnRvSlNPTihiaWJsZVVzZm0pIC8vIGNvbnZlcnQgdG8gYmlibGUgb2JqZWN0c1xuXG4gICAgaWYgKCFib29rT2JqZWN0cykge1xuICAgICAgY29uc3QgZXJyb3JNc2cgPSBiaWJsZVVzZm0gPyAnZmV0Y2hpbmcgYm9vayBvZiB0aGUgYmlibGUnIDogJ3BhcnNpbmcgYm9vayBvZiB0aGUgYmlibGUnXG4gICAgICBjb25zb2xlLndhcm4oYGZldGNoQmlibGVCb29rQ29yZSgpIC0gZXJyb3IgJHtlcnJvck1zZ31gLCBmZXRjaFBhcmFtcyApXG4gICAgICByZXR1cm4geyBlcnJvcjogZXJyb3JNc2cgfVxuICAgIH1cblxuICAgIGNvbnN0IHtcbiAgICAgIG5hbWUsXG4gICAgICBzaGEsXG4gICAgICB1cmwsXG4gICAgfSA9IHJlc3BvbnNlPy5kYXRhIHx8IHt9XG5cbiAgICBjb25zb2xlLmxvZyhgZmV0Y2hCaWJsZUJvb2tDb3JlKCkgLSBMT0FERUQgYmlibGUgYm9vaywgICR7ZmV0Y2hQYXJhbXM/LnJlc291cmNlTGlua31gLCBmZXRjaFBhcmFtcylcbiAgICByZXR1cm4ge1xuICAgICAgLi4ucmVzb3VyY2UsXG4gICAgICBiaWJsZVVzZm0sXG4gICAgICBib29rT2JqZWN0cyxcbiAgICAgIG5hbWUsXG4gICAgICByZXNwb25zZSxcbiAgICAgIHNoYSxcbiAgICAgIHVybCxcbiAgICB9XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBjb25zdCBlcnJvck1zZyA9ICdoYXJkIGVycm9yIGxvYWRpbmcgcmVzb3VyY2UnXG4gICAgY29uc29sZS5lcnJvcihgZmV0Y2hCaWJsZUJvb2tDb3JlKCkgLSAke2Vycm9yTXNnfWAsIGZldGNoUGFyYW1zLCBlIClcbiAgICByZXR1cm4geyBlcnJvcjogZXJyb3JNc2cgfVxuICB9XG59XG5cbi8qKlxuICogZG8gYSBmZXRjaCBvZiBtYW5pZmVzdCBhbmQgYm9vayBvZiB0aGUgYmlibGUgc3BlY2lmaWVkIGluIGZldGNoUGFyYW1zXG4gKiBAcGFyYW0ge3N0cmluZ30gc2VydmVyIC0gc2VydmVyIHRvIGFjY2Vzc1xuICogQHBhcmFtIHtTZXJ2ZXJDb25maWd9IGNvbmZpZ1xuICogQHBhcmFtIHtTY3JpcHR1cmVSZXNvdXJjZX0gcmVzb3VyY2VcbiAqIEBwYXJhbSB7U2NyaXB0dXJlUmVmZXJlbmNlfSByZWZlcmVuY2VcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGZldGNoQmlibGVCb29rKHNlcnZlcjogc3RyaW5nLCBjb25maWc6IFNlcnZlckNvbmZpZywgcmVzb3VyY2U6IFNjcmlwdHVyZVJlc291cmNlLCByZWZlcmVuY2U6IFNjcmlwdHVyZVJlZmVyZW5jZSkge1xuICBjb25zdCByZWZfID0gcmVzb3VyY2U/LmJyYW5jaCB8fCByZXNvdXJjZT8ucmVmXG4gIGNvbnN0IHJlc291cmNlTGluayA9IGdldFJlc291cmNlTGluayh7XG4gICAgLi4ucmVzb3VyY2UsXG4gICAgcmVzb3VyY2VJZDogcmVzb3VyY2U/LnByb2plY3RJZCB8fCAnJyxcbiAgICBwcm9qZWN0SWQ6IHJlZmVyZW5jZT8ucHJvamVjdElkIHx8ICcnLFxuICAgIHJlZjogcmVmXyxcbiAgfSlcblxuICBsZXQgZmV0Y2hQYXJhbXM6IEJvb2tGZXRjaFBhcmFtcyA9IHtcbiAgICBjb25maWc6IHtcbiAgICAgIC4uLmNvbmZpZyxcbiAgICAgIHNlcnZlcixcbiAgICB9LFxuICAgIHJlc291cmNlLFxuICAgIHJlZmVyZW5jZSxcbiAgICByZXNvdXJjZUxpbmssXG4gIH1cblxuICBjb25zdCByZXN1bHRzID0gYXdhaXQgZmV0Y2hCaWJsZUJvb2tDb3JlKGZldGNoUGFyYW1zKVxuICByZXR1cm4gcmVzdWx0c1xufVxuIl0sIm1hcHBpbmdzIjoiOytDQUNBLHFKQUFBQSxtQkFBQSxZQUFBQSxvQkFBQSxXQUFBQyxDQUFBLFNBQUFDLENBQUEsRUFBQUQsQ0FBQSxPQUFBRSxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsU0FBQSxFQUFBQyxDQUFBLEdBQUFILENBQUEsQ0FBQUksY0FBQSxFQUFBQyxDQUFBLEdBQUFKLE1BQUEsQ0FBQUssY0FBQSxjQUFBUCxDQUFBLEVBQUFELENBQUEsRUFBQUUsQ0FBQSxJQUFBRCxDQUFBLENBQUFELENBQUEsSUFBQUUsQ0FBQSxDQUFBTyxLQUFBLEtBQUFDLENBQUEsd0JBQUFDLE1BQUEsR0FBQUEsTUFBQSxPQUFBQyxDQUFBLEdBQUFGLENBQUEsQ0FBQUcsUUFBQSxrQkFBQUMsQ0FBQSxHQUFBSixD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
|
|
637
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVnZW5lcmF0b3JSdW50aW1lIiwiZSIsInQiLCJyIiwiT2JqZWN0IiwicHJvdG90eXBlIiwibiIsImhhc093blByb3BlcnR5IiwibyIsImRlZmluZVByb3BlcnR5IiwidmFsdWUiLCJpIiwiU3ltYm9sIiwiYSIsIml0ZXJhdG9yIiwiYyIsImFzeW5jSXRlcmF0b3IiLCJ1IiwidG9TdHJpbmdUYWciLCJkZWZpbmUiLCJlbnVtZXJhYmxlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJ3cmFwIiwiR2VuZXJhdG9yIiwiY3JlYXRlIiwiQ29udGV4dCIsIm1ha2VJbnZva2VNZXRob2QiLCJ0cnlDYXRjaCIsInR5cGUiLCJhcmciLCJjYWxsIiwiaCIsImwiLCJmIiwicyIsInkiLCJHZW5lcmF0b3JGdW5jdGlvbiIsIkdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlIiwicCIsImQiLCJnZXRQcm90b3R5cGVPZiIsInYiLCJ2YWx1ZXMiLCJnIiwiZGVmaW5lSXRlcmF0b3JNZXRob2RzIiwiZm9yRWFjaCIsIl9pbnZva2UiLCJBc3luY0l0ZXJhdG9yIiwiaW52b2tlIiwiX3R5cGVvZiIsInJlc29sdmUiLCJfX2F3YWl0IiwidGhlbiIsImNhbGxJbnZva2VXaXRoTWV0aG9kQW5kQXJnIiwiRXJyb3IiLCJkb25lIiwibWV0aG9kIiwiZGVsZWdhdGUiLCJtYXliZUludm9rZURlbGVnYXRlIiwic2VudCIsIl9zZW50IiwiZGlzcGF0Y2hFeGNlcHRpb24iLCJhYnJ1cHQiLCJUeXBlRXJyb3IiLCJyZXN1bHROYW1lIiwibmV4dCIsIm5leHRMb2MiLCJwdXNoVHJ5RW50cnkiLCJ0cnlMb2MiLCJjYXRjaExvYyIsImZpbmFsbHlMb2MiLCJhZnRlckxvYyIsInRyeUVudHJpZXMiLCJwdXNoIiwicmVzZXRUcnlFbnRyeSIsImNvbXBsZXRpb24iLCJyZXNldCIsImlzTmFOIiwibGVuZ3RoIiwiZGlzcGxheU5hbWUiLCJpc0dlbmVyYXRvckZ1bmN0aW9uIiwiY29uc3RydWN0b3IiLCJuYW1lIiwibWFyayIsInNldFByb3RvdHlwZU9mIiwiX19wcm90b19fIiwiYXdyYXAiLCJhc3luYyIsIlByb21pc2UiLCJrZXlzIiwicmV2ZXJzZSIsInBvcCIsInByZXYiLCJjaGFyQXQiLCJzbGljZSIsInN0b3AiLCJydmFsIiwiaGFuZGxlIiwiY29tcGxldGUiLCJmaW5pc2giLCJfY2F0Y2giLCJkZWxlZ2F0ZVlpZWxkIiwiYXN5bmNHZW5lcmF0b3JTdGVwIiwiZ2VuIiwicmVqZWN0IiwiX25leHQiLCJfdGhyb3ciLCJrZXkiLCJpbmZvIiwiZXJyb3IiLCJfYXN5bmNUb0dlbmVyYXRvciIsImZuIiwic2VsZiIsImFyZ3MiLCJhcmd1bWVudHMiLCJhcHBseSIsImVyciIsInVuZGVmaW5lZCIsIl90b0NvbnN1bWFibGVBcnJheSIsImFyciIsIl9hcnJheVdpdGhvdXRIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXkiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVTcHJlYWQiLCJpdGVyIiwiQXJyYXkiLCJmcm9tIiwiaXNBcnJheSIsIl9hcnJheUxpa2VUb0FycmF5IiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJhbGxvd0FycmF5TGlrZSIsIml0IiwiRiIsIl9lIiwibm9ybWFsQ29tcGxldGlvbiIsImRpZEVyciIsInN0ZXAiLCJfZTIiLCJvd25LZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiX29iamVjdFNwcmVhZCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwib2JqIiwiX3RvUHJvcGVydHlLZXkiLCJfdG9QcmltaXRpdmUiLCJTdHJpbmciLCJpbnB1dCIsImhpbnQiLCJwcmltIiwidG9QcmltaXRpdmUiLCJyZXMiLCJOdW1iZXIiLCJfc2xpY2VkVG9BcnJheSIsIl9hcnJheVdpdGhIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXlMaW1pdCIsIl9ub25JdGVyYWJsZVJlc3QiLCJtaW5MZW4iLCJ0b1N0cmluZyIsInRlc3QiLCJsZW4iLCJhcnIyIiwiQ09OVEVOVF9OT1RfRk9VTkRfRVJST1IiLCJJTlZBTElEX01BTklGRVNUX0VSUk9SIiwiTE9BRElOR19TVEFURSIsIk1BTklGRVNUX05PVF9MT0FERURfRVJST1IiLCJTQ1JJUFRVUkVfTk9UX0xPQURFRF9FUlJPUiIsImNvcmUiLCJ1c2ZtanMiLCJCb29rRmV0Y2hQYXJhbXMiLCJTY3JpcHR1cmVSZWZlcmVuY2UiLCJTY3JpcHR1cmVSZXNvdXJjZSIsIlNlcnZlckNvbmZpZyIsIlZlcnNlT2JqZWN0c1R5cGUiLCJCT09LX05PVF9GT1VORF9FUlJPUl9NU0ciLCJMT0FESU5HX1JFU09VUkNFIiwiTUFOSUZFU1RfSU5WQUxJRF9FUlJPUl9NU0ciLCJNQU5JRkVTVF9OT1RfRk9VTkRfRVJST1JfTVNHIiwiTlRfT1JJR19MQU5HIiwiTlRfT1JJR19MQU5HX0JJQkxFIiwiT1JJR0lOQUxfU09VUkNFIiwiT1RfT1JJR19MQU5HIiwiT1RfT1JJR19MQU5HX0JJQkxFIiwiU0NSSVBUVVJFX05PVF9GT1VORF9FUlJPUl9NU0ciLCJUQVJHRVRfTElURVJBTCIsIlRBUkdFVF9TSU1QTElGSUVEIiwiZGVsYXkiLCJESVNBQkxFX1dPUkRfUE9QT1ZFUiIsImdldFJlc291cmNlTGluayIsInNjcmlwdHVyZSIsInJlZiIsImJyYW5jaCIsImNvbmNhdCIsIm93bmVyIiwibGFuZ3VhZ2VJZCIsInJlc291cmNlSWQiLCJwYXJzZVJlc291cmNlTGluayIsInJlc291cmNlTGluayIsIl9yZXNvdXJjZUxpbmskc3BsaXQiLCJzcGxpdCIsIl9yZXNvdXJjZUxpbmskc3BsaXQyIiwiZ2V0U2NyaXB0dXJlT2JqZWN0IiwiX3JlZiIsInRpdGxlIiwic2VydmVyIiwiZGlzYWJsZVdvcmRQb3BvdmVyIiwib3JpZ2luYWxMYW5ndWFnZU93bmVyIiwiZ2V0VmVyc2VEYXRhRnJvbVNjcmlwQ29uZmlnIiwic2NyaXB0dXJlQ29uZmlnIiwidmVyc2VOdW0iLCJfc2NyaXB0dXJlQ29uZmlnJHZlcnMiLCJ2ZXJzZXNGb3JSZWYiLCJmaW5kIiwidmVyc2VSZWYiLCJ2ZXJzZSIsImlzT3JpZ2luYWxCaWJsZSIsImlzT3JpZyIsImNsZWFudXBBY2NvdW50U2V0dGluZ3MiLCJzY3JpcHR1cmVTZXR0aW5ncyIsImN1cnJlbnRPd25lciIsImN1cnJlbnRMYW5ndWFnZUlkIiwic3BsaXRVcmwiLCJvcmlnaW5hbFJlcG9VcmwiLCJ1cmwiLCJVUkwiLCJvcmlnaW4iLCJwYXRobmFtZSIsInNlYXJjaCIsImdldFNjcmlwdHVyZVJlc291cmNlU2V0dGluZ3MiLCJib29rSWQiLCJzY3JpcHR1cmVTZXR0aW5nc18iLCJpc05ld1Rlc3RhbWVudCIsIl9zcGxpdFVybCIsImdldFNjcmlwdHVyZVZlcnNpb25TZXR0aW5ncyIsIl9yZWYyIiwibGFiZWwiLCJzZXRTY3JpcHR1cmUiLCJzY3JpcHR1cmVWZXJzaW9uSGlzdCIsImhpc3RvcnkiLCJnZXRMYXRlc3QiLCJpbmRleCIsImZpbmRJdGVtSW5kZXhCeUtleSIsInNjcmlwdHVyZVNlbGVjdG9yQ29uZmlnIiwib3B0aW9ucyIsImN1cnJlbnQiLCJhbGxvd1VzZXJJbnB1dCIsIm9uQ2hhbmdlIiwidmFsaWRhdGlvbkNCIiwiaXRlbSIsIm5ld0l0ZW0iLCJhZGRJdGVtVG9IaXN0b3J5IiwiZ2V0SXRlbUJ5VGl0bGUiLCJkZWxldGVJdGVtIiwiZGVsZXRlSW5kZXgiLCJyZW1vdmVJdGVtQnlJbmRleCIsImdldFJlcG9VcmwiLCJpc05UIiwicmVwb1VybCIsIl9yZXNvdXJjZUxpbmskc3BsaXQzIiwiX3Jlc291cmNlTGluayRzcGxpdDQiLCJnZXRFcnJvck1lc3NhZ2VGb3JSZXNvdXJjZUxpbmsiLCJlcnJvckNvZGUiLCJlcnJvck1zZyIsInZhbGlkYXRlRGNzVXJsIiwidmFsaWRSZXBvUGF0aCIsInZhbGlkVXJsIiwicGFydHMiLCJfcGFydHMiLCJwcm90b2NvbCIsImhvc3QiLCJ1c2VyIiwicmVwbyIsImhvc3RQYXJ0cyIsIl9pdGVyYXRvciIsIl9zdGVwIiwicGFydCIsIl9yZXBvJHNwbGl0IiwiX3JlcG8kc3BsaXQyIiwicHJvamVjdElkIiwiX3VudXNlZCIsImNvbnNvbGUiLCJsb2ciLCJnZXRSZXNvdXJjZUVycm9yTWVzc2FnZSIsInJlc291cmNlU3RhdHVzIiwibWVzc2FnZSIsImdldFJlc291cmNlTWVzc2FnZSIsImdldFJlc291cmNlTGlua1NwZWNpZmljIiwiZml4T2NjdXJyZW5jZSIsIm9jY3VycmVuY2UiLCJwYXJzZUludCIsImNsZWFudXBWZXJzZU9iamVjdHMiLCJ2ZXJzZU9iamVjdHMiLCJ2ZXJzZU9iamVjdHNfIiwidm8iLCJvY2N1cnJlbmNlcyIsIndvcmQiLCJjaGlsZHJlbiIsIm5ld1ZvIiwiZ2V0Qm9va05hbWVGcm9tVXNmbUZpbGVOYW1lIiwiZmlsZW5hbWUiLCJfZmlsZW5hbWUkbWF0Y2giLCJyZWdleCIsImJvb2tOYW1lIiwibWF0Y2giLCJnZXRCaWJsZUlkRnJvbVVzZm1Db250ZW50SUQiLCJiaWJsZVVzZm0iLCJpZEhlYWRlciIsInBvc0lkIiwiaW5kZXhPZiIsImlkU3RhcnQiLCJoZWFkZXJJZCIsInN1YnN0cmluZyIsInRyaW0iLCJoZWFkZXJCb29rSUQiLCJfaGVhZGVyQm9va0lEIiwidmVyc2VPYmplY3RzSGF2ZVdvcmRzIiwiX2l0ZXJhdG9yMiIsIl9zdGVwMiIsImZvdW5kV29yZHMiLCJnZXRBbGlnbm1lbnRzIiwiYWxpZ25tZW50c0xpc3QiLCJ0YWciLCJhbGlnbm1lbnQiLCJlbmRUYWciLCJfYWxpZ25tZW50IiwiZmV0Y2hCaWJsZUJvb2tDb3JlIiwiX3giLCJfZmV0Y2hCaWJsZUJvb2tDb3JlIiwiX2NhbGxlZSIsImZldGNoUGFyYW1zIiwiX3Jlc291cmNlJHByb2plY3QiLCJfcmVzb3VyY2UkcHJvamVjdDIiLCJyZXNvdXJjZSIsInJlc3BvbnNlIiwiYm9va09iamVjdHMiLCJfZXJyb3JNc2ciLCJfcmVmMyIsInNoYSIsIl9lcnJvck1zZzIiLCJfY2FsbGVlJCIsIl9jb250ZXh0IiwicmVzb3VyY2VGcm9tUmVzb3VyY2VMaW5rIiwibWFuaWZlc3QiLCJwcm9qZWN0IiwiZmlsZSIsIndhcm4iLCJyZXNvdXJjZUVycm9yIiwiZ2V0UmVzcG9uc2VEYXRhIiwidG9KU09OIiwiZGF0YSIsInQwIiwiZmV0Y2hCaWJsZUJvb2siLCJfeDIiLCJfeDMiLCJfeDQiLCJfeDUiLCJfZmV0Y2hCaWJsZUJvb2siLCJfY2FsbGVlMiIsImNvbmZpZyIsInJlZmVyZW5jZSIsInJlZl8iLCJyZXN1bHRzIiwiX2NhbGxlZTIkIiwiX2NvbnRleHQyIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL1NjcmlwdHVyZVNldHRpbmdzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENPTlRFTlRfTk9UX0ZPVU5EX0VSUk9SLFxuICBJTlZBTElEX01BTklGRVNUX0VSUk9SLFxuICBMT0FESU5HX1NUQVRFLFxuICBNQU5JRkVTVF9OT1RfTE9BREVEX0VSUk9SLFxuICBTQ1JJUFRVUkVfTk9UX0xPQURFRF9FUlJPUixcbn0gZnJvbSAndHJhbnNsYXRpb24taGVscHMtcmNsJ1xuaW1wb3J0IHsgY29yZSB9IGZyb20gJ3NjcmlwdHVyZS1yZXNvdXJjZXMtcmNsJ1xuaW1wb3J0IHVzZm1qcyBmcm9tICd1c2ZtLWpzJ1xuaW1wb3J0IHtcbiAgQm9va0ZldGNoUGFyYW1zLFxuICBTY3JpcHR1cmVSZWZlcmVuY2UsXG4gIFNjcmlwdHVyZVJlc291cmNlLFxuICBTZXJ2ZXJDb25maWcsXG4gIFZlcnNlT2JqZWN0c1R5cGUsXG59IGZyb20gJy4uL3R5cGVzJ1xuaW1wb3J0IHtcbiAgQk9PS19OT1RfRk9VTkRfRVJST1JfTVNHLFxuICBMT0FESU5HX1JFU09VUkNFLFxuICBNQU5JRkVTVF9JTlZBTElEX0VSUk9SX01TRyxcbiAgTUFOSUZFU1RfTk9UX0ZPVU5EX0VSUk9SX01TRyxcbiAgTlRfT1JJR19MQU5HLFxuICBOVF9PUklHX0xBTkdfQklCTEUsXG4gIE9SSUdJTkFMX1NPVVJDRSxcbiAgT1RfT1JJR19MQU5HLFxuICBPVF9PUklHX0xBTkdfQklCTEUsXG4gIFNDUklQVFVSRV9OT1RfRk9VTkRfRVJST1JfTVNHLFxuICBUQVJHRVRfTElURVJBTCxcbiAgVEFSR0VUX1NJTVBMSUZJRUQsXG59IGZyb20gJy4vY29tbW9uJ1xuaW1wb3J0IHsgZGVsYXkgfSBmcm9tICcuL2RlbGF5J1xuXG5leHBvcnQgY29uc3QgRElTQUJMRV9XT1JEX1BPUE9WRVIgPSB0cnVlIC8vIGRpc2FibGUgd29yZCBwb3BvdmVyIGZvciBldmVyeSBzY3JpcHR1cmUgcGFuZSBidXQgb3JpZ2luYWwgbGFuZ3VhZ2VzXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXNvdXJjZUxpbmsoc2NyaXB0dXJlKSB7XG4gIGNvbnN0IHJlZiA9IHNjcmlwdHVyZS5yZWYgfHwgc2NyaXB0dXJlLmJyYW5jaFxuICByZXR1cm4gYCR7c2NyaXB0dXJlLm93bmVyfS8ke3NjcmlwdHVyZS5sYW5ndWFnZUlkfS8ke3NjcmlwdHVyZS5yZXNvdXJjZUlkfS8ke3JlZn1gXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVJlc291cmNlTGluayhyZXNvdXJjZUxpbmspIHtcbiAgY29uc3QgW293bmVyLCBsYW5ndWFnZUlkLCByZXNvdXJjZUlkLCByZWZdID0gcmVzb3VyY2VMaW5rLnNwbGl0KCcvJylcbiAgcmV0dXJuIHtcbiAgICBvd25lcixcbiAgICBsYW5ndWFnZUlkLFxuICAgIHJlc291cmNlSWQsXG4gICAgcmVmLFxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTY3JpcHR1cmVPYmplY3Qoe1xuICB0aXRsZSxcbiAgc2VydmVyLFxuICBvd25lcixcbiAgcmVmLFxuICBsYW5ndWFnZUlkLFxuICByZXNvdXJjZUlkLFxuICByZXNvdXJjZUxpbmssXG4gIGRpc2FibGVXb3JkUG9wb3ZlcixcbiAgb3JpZ2luYWxMYW5ndWFnZU93bmVyLFxufSkge1xuICBjb25zdCBzY3JpcHR1cmUgPSB7XG4gICAgdGl0bGUsXG4gICAgc2VydmVyLFxuICAgIG93bmVyLFxuICAgIG9yaWdpbmFsTGFuZ3VhZ2VPd25lcixcbiAgICByZWYsXG4gICAgbGFuZ3VhZ2VJZCxcbiAgICByZXNvdXJjZUlkLFxuICAgIGRpc2FibGVXb3JkUG9wb3ZlcixcbiAgICByZXNvdXJjZUxpbmssXG4gIH1cblxuICBpZiAoIXJlc291cmNlTGluaykge1xuICAgIHNjcmlwdHVyZS5yZXNvdXJjZUxpbmsgPSBnZXRSZXNvdXJjZUxpbmsoe1xuICAgICAgb3duZXIsXG4gICAgICByZWYsXG4gICAgICBsYW5ndWFnZUlkLFxuICAgICAgcmVzb3VyY2VJZCxcbiAgICB9KVxuICB9XG4gIHJldHVybiBzY3JpcHR1cmVcbn1cblxuLyoqXG4gKiByZXR1cm4gdmVyc2UgZGF0YSBnaXZlbiBhIHNjcmlwdHVyZSBjb25maWcgYW5kIHZlcnNlIG51bWJlclxuICogQHBhcmFtIHNjcmlwdHVyZUNvbmZpZ1xuICogQHBhcmFtIHZlcnNlTnVtXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRWZXJzZURhdGFGcm9tU2NyaXBDb25maWcoc2NyaXB0dXJlQ29uZmlnLCB2ZXJzZU51bSkge1xuICByZXR1cm4gc2NyaXB0dXJlQ29uZmlnPy52ZXJzZXNGb3JSZWY/LmZpbmQoXG4gICAgdmVyc2VSZWYgPT4gdmVyc2VSZWYudmVyc2UgPT09IHZlcnNlTnVtXG4gIClcbn1cblxuLyoqXG4gKiByZXR1cm4gdHJ1ZSBpZiByZXNvdXJjZSBpcyBhbiBvcmlnaW5hbCBsYW5ndWFnZSBiaWJsZVxuICogQHBhcmFtIHJlc291cmNlSWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzT3JpZ2luYWxCaWJsZShyZXNvdXJjZUlkKSB7XG4gIGNvbnN0IGlzT3JpZyA9ICgocmVzb3VyY2VJZCA9PT0gTlRfT1JJR19MQU5HX0JJQkxFKSB8fCAocmVzb3VyY2VJZCA9PT0gT1RfT1JJR19MQU5HX0JJQkxFKSB8fCAocmVzb3VyY2VJZCA9PT0gT1JJR0lOQUxfU09VUkNFKSlcbiAgcmV0dXJuIGlzT3JpZ1xufVxuXG4vKipcbiAqIG1ha2Ugc3VyZSBzY3JpcHR1cmVTZXR0aW5ncyBhcmUgdXAgdG8gZGF0ZSB3aXRoIGN1cnJlbnQgb3duZXIgYW5kIGxhbmd1YWdlXG4gKiBAcGFyYW0ge29iamVjdH0gc2NyaXB0dXJlU2V0dGluZ3NcbiAqIEBwYXJhbSB7c3RyaW5nfSBjdXJyZW50T3duZXIgLSBvcHRpb25hbCBvdmVyLXJpZGUgZm9yIHRyYW5zaWVudCBjYXNlIHdoZXJlIG93bmVyIGluIHNjcmlwdHVyZSBzZXR0aW5ncyBoYXZlIG5vdCB5ZXQgdXBkYXRlZFxuICogQHBhcmFtIHtzdHJpbmd9IGN1cnJlbnRMYW5ndWFnZUlkIC0gb3B0aW9uYWwgb3Zlci1yaWRlIGZvciB0cmFuc2llbnQgY2FzZSB3aGVyZSBsYW5ndWFnZSBpbiBzY3JpcHR1cmUgc2V0dGluZ3MgaGF2ZSBub3QgeWV0IHVwZGF0ZWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNsZWFudXBBY2NvdW50U2V0dGluZ3Moc2NyaXB0dXJlU2V0dGluZ3M6IGFueSwgY3VycmVudE93bmVyOiBhbnksIGN1cnJlbnRMYW5ndWFnZUlkOiBhbnkpIHtcbiAgaWYgKGN1cnJlbnRPd25lciAmJiAoY3VycmVudE93bmVyICE9PSBzY3JpcHR1cmVTZXR0aW5ncy5vd25lcikpIHsgLy8gaWYgb3duZXIgY2hhbmdlZCwgdXBkYXRlIHNjcmlwdHVyZVNldHRpbmdzXG4gICAgc2NyaXB0dXJlU2V0dGluZ3Mub3duZXIgPSBjdXJyZW50T3duZXJcbiAgfVxuXG4gIGlmIChjdXJyZW50TGFuZ3VhZ2VJZCAmJiAoY3VycmVudExhbmd1YWdlSWQgIT09IHNjcmlwdHVyZVNldHRpbmdzLmxhbmd1YWdlSWQpKSB7IC8vIGlmIGxhbmd1YWdlIGNoYW5nZWQsIHVwZGF0ZSBzY3JpcHR1cmVTZXR0aW5nc1xuICAgIHNjcmlwdHVyZVNldHRpbmdzLmxhbmd1YWdlSWQgPSBjdXJyZW50TGFuZ3VhZ2VJZFxuICB9XG59XG5cbi8qKlxuICogc2VwYXJhdGUgVVJMIGludG8gc2VydmVyIGFuZCByZXNvdXJjZSBsaW5rXG4gKiBAcGFyYW0ge3N0cmluZ30gb3JpZ2luYWxSZXBvVXJsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzcGxpdFVybChvcmlnaW5hbFJlcG9VcmwpIHtcbiAgaWYgKG9yaWdpbmFsUmVwb1VybCkge1xuICAgIGNvbnN0IHVybCA9IG5ldyBVUkwob3JpZ2luYWxSZXBvVXJsKVxuICAgIGNvbnN0IHNlcnZlciA9IHVybC5vcmlnaW5cbiAgICBjb25zdCByZXNvdXJjZUxpbmsgPSB1cmwucGF0aG5hbWUgKyAodXJsLnNlYXJjaCB8fCAnJylcbiAgICByZXR1cm4geyBzZXJ2ZXIsIHJlc291cmNlTGluayB9XG4gIH1cbiAgcmV0dXJuIHt9XG59XG5cbi8qKlxuICogZ2V0IHRoZSBzY3JpcHR1cmUgc2V0dGluZ3MgbmVlZGVkIGZvciBmZXRjaCAtIGZvciBPcmlnTGFuZywgVUxULCBHTFQgd2lsbCByZXBsYWNlIG93bmVyIGFuZCBsYW5ndWFnZUlkIHdpdGggY29ycmVjdCB2YWx1ZXNcbiAqIEBwYXJhbSB7c3RyaW5nfSBib29rSWRcbiAqIEBwYXJhbSB7b2JqZWN0fSBzY3JpcHR1cmVTZXR0aW5nc19cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gaXNOZXdUZXN0YW1lbnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBvcmlnaW5hbFJlcG9VcmwgLSBvcHRpb25hbCBwYXRoIHRvIHJlcG8gZm9yIG9yaWdpbmFsIGxhbmd1YWdlXG4gKiBAcGFyYW0ge3N0cmluZ30gY3VycmVudExhbmd1YWdlSWQgLSBvcHRpb25hbCBvdmVyLXJpZGUgZm9yIHRyYW5zaWVudCBjYXNlIHdoZXJlIGxhbmd1YWdlIGluIHNjcmlwdHVyZSBzZXR0aW5ncyBoYXZlIG5vdCB5ZXQgdXBkYXRlZFxuICogQHBhcmFtIHtzdHJpbmd9IGN1cnJlbnRPd25lciAtIG9wdGlvbmFsIG92ZXItcmlkZSBmb3IgdHJhbnNpZW50IGNhc2Ugd2hlcmUgb3duZXIgaW4gc2NyaXB0dXJlIHNldHRpbmdzIGhhdmUgbm90IHlldCB1cGRhdGVkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRTY3JpcHR1cmVSZXNvdXJjZVNldHRpbmdzKFxuICBib29rSWQsIHNjcmlwdHVyZVNldHRpbmdzXywgaXNOZXdUZXN0YW1lbnQsXG4gIG9yaWdpbmFsUmVwb1VybD1udWxsLFxuICBjdXJyZW50TGFuZ3VhZ2VJZD1udWxsLFxuICBjdXJyZW50T3duZXI9bnVsbCxcbikge1xuICBjb25zdCBzY3JpcHR1cmVTZXR0aW5ncyA9IHsgLi4uc2NyaXB0dXJlU2V0dGluZ3NfIH1cbiAgc2NyaXB0dXJlU2V0dGluZ3MuZGlzYWJsZVdvcmRQb3BvdmVyID0gRElTQUJMRV9XT1JEX1BPUE9WRVJcbiAgY29uc3QgcmVzb3VyY2VJZCA9IHNjcmlwdHVyZVNldHRpbmdzXy5yZXNvdXJjZUlkXG5cbiAgaWYgKHJlc291cmNlSWQgPT09IE9SSUdJTkFMX1NPVVJDRSkge1xuICAgIC8vIHNlbGVjdCBvcmlnaW5hbCBsYW5ndWFnZSBCaWJsZSBiYXNlZCBvbiB3aGljaCB0ZXN0YW1lbnQgdGhlIGJvb2sgYmVsb25nc1xuICAgIHNjcmlwdHVyZVNldHRpbmdzLmxhbmd1YWdlSWQgPSBpc05ld1Rlc3RhbWVudCA/IE5UX09SSUdfTEFORyA6IE9UX09SSUdfTEFOR1xuICAgIHNjcmlwdHVyZVNldHRpbmdzLnJlc291cmNlSWQgPSBpc05ld1Rlc3RhbWVudFxuICAgICAgPyBOVF9PUklHX0xBTkdfQklCTEVcbiAgICAgIDogT1RfT1JJR19MQU5HX0JJQkxFXG5cbiAgICBpZiAoc2NyaXB0dXJlU2V0dGluZ3Mub3JpZ2luYWxMYW5ndWFnZU93bmVyKSB7XG4gICAgICBzY3JpcHR1cmVTZXR0aW5ncy5vd25lciA9IHNjcmlwdHVyZVNldHRpbmdzLm9yaWdpbmFsTGFuZ3VhZ2VPd25lclxuICAgIH1cblxuICAgIGlmIChvcmlnaW5hbFJlcG9VcmwpIHsgLy8gdXNlIHRoaXMgdXJsIGlmIGRlZmluZWRcbiAgICAgIGNvbnN0IHsgc2VydmVyLCByZXNvdXJjZUxpbmsgfSA9IHNwbGl0VXJsKG9yaWdpbmFsUmVwb1VybClcbiAgICAgIHNjcmlwdHVyZVNldHRpbmdzLnNlcnZlciA9IHNlcnZlclxuICAgICAgc2NyaXB0dXJlU2V0dGluZ3MucmVzb3VyY2VMaW5rID0gcmVzb3VyY2VMaW5rXG4gICAgfSBlbHNlIHsgLy8gZmFsbCBiYWNrIHRvIGFwcCBkZWZhdWx0c1xuICAgICAgc2NyaXB0dXJlU2V0dGluZ3MucmVzb3VyY2VMaW5rID0gZ2V0UmVzb3VyY2VMaW5rKHNjcmlwdHVyZVNldHRpbmdzKVxuICAgIH1cbiAgICBzY3JpcHR1cmVTZXR0aW5ncy5kaXNhYmxlV29yZFBvcG92ZXIgPSBmYWxzZVxuICB9IGVsc2UgaWYgKHJlc291cmNlSWQgPT09IFRBUkdFVF9MSVRFUkFMKSB7XG4gICAgY2xlYW51cEFjY291bnRTZXR0aW5ncyhzY3JpcHR1cmVTZXR0aW5ncywgY3VycmVudE93bmVyLCBjdXJyZW50TGFuZ3VhZ2VJZClcbiAgICBzY3JpcHR1cmVTZXR0aW5ncy5yZXNvdXJjZUlkID0gc2NyaXB0dXJlU2V0dGluZ3MubGFuZ3VhZ2VJZCA9PT0gJ2VuJyA/ICd1bHQnIDogJ2dsdCdcbiAgICBzY3JpcHR1cmVTZXR0aW5ncy5yZXNvdXJjZUxpbmsgPSBnZXRSZXNvdXJjZUxpbmsoc2NyaXB0dXJlU2V0dGluZ3MpXG4gIH0gZWxzZSBpZiAocmVzb3VyY2VJZCA9PT0gVEFSR0VUX1NJTVBMSUZJRUQpIHtcbiAgICBjbGVhbnVwQWNjb3VudFNldHRpbmdzKHNjcmlwdHVyZVNldHRpbmdzLCBjdXJyZW50T3duZXIsIGN1cnJlbnRMYW5ndWFnZUlkKVxuICAgIHNjcmlwdHVyZVNldHRpbmdzLnJlc291cmNlSWQgPSBzY3JpcHR1cmVTZXR0aW5ncy5sYW5ndWFnZUlkID09PSAnZW4nID8gJ3VzdCcgOiAnZ3N0J1xuICAgIHNjcmlwdHVyZVNldHRpbmdzLnJlc291cmNlTGluayA9IGdldFJlc291cmNlTGluayhzY3JpcHR1cmVTZXR0aW5ncylcbiAgfVxuICByZXR1cm4gc2NyaXB0dXJlU2V0dGluZ3Ncbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNjcmlwdHVyZVZlcnNpb25TZXR0aW5ncyh7XG4gIGxhYmVsLFxuICByZXNvdXJjZUxpbmssXG4gIHNldFNjcmlwdHVyZSxcbiAgc2NyaXB0dXJlVmVyc2lvbkhpc3QsXG59KSB7XG4gIGNvbnN0IGhpc3RvcnkgPSBzY3JpcHR1cmVWZXJzaW9uSGlzdC5nZXRMYXRlc3QoKVxuICBsZXQgaW5kZXggPSBzY3JpcHR1cmVWZXJzaW9uSGlzdC5maW5kSXRlbUluZGV4QnlLZXkoaGlzdG9yeSwgJ3Jlc291cmNlTGluaycsIHJlc291cmNlTGluaylcblxuICBjb25zdCBzY3JpcHR1cmVTZWxlY3RvckNvbmZpZyA9IHtcbiAgICBsYWJlbCwgLy8gbGFiZWwgZm9yIGNvbWJvYm94XG4gICAgb3B0aW9uczogaGlzdG9yeSxcbiAgICBjdXJyZW50OiBpbmRleCxcbiAgICBhbGxvd1VzZXJJbnB1dDogdHJ1ZSxcbiAgICBvbkNoYW5nZTogKHRpdGxlLCBpbmRleCwgdmFsaWRhdGlvbkNCPW51bGwpID0+IHtcbiAgICAgIGxldCBpdGVtXG5cbiAgICAgIGlmICgoaW5kZXggPCAwKSAmJiB0aXRsZSkge1xuICAgICAgICBjb25zdCBuZXdJdGVtID0ge1xuICAgICAgICAgIHVybDogdGl0bGUsXG4gICAgICAgICAgdGl0bGUsXG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaW5kZXggPSBzY3JpcHR1cmVWZXJzaW9uSGlzdC5hZGRJdGVtVG9IaXN0b3J5KG5ld0l0ZW0pXG5cbiAgICAgICAgaWYgKGluZGV4ID49IDApIHtcbiAgICAgICAgICBpdGVtID0gc2NyaXB0dXJlVmVyc2lvbkhpc3QuZ2V0TGF0ZXN0KClbaW5kZXhdXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGl0ZW0gPSBzY3JpcHR1cmVWZXJzaW9uSGlzdC5nZXRJdGVtQnlUaXRsZSh0aXRsZSlcbiAgICAgIH1cblxuICAgICAgaWYgKGl0ZW0pIHtcbiAgICAgICAgc2V0U2NyaXB0dXJlKGl0ZW0sIHZhbGlkYXRpb25DQilcbiAgICAgIH1cbiAgICB9LFxuICAgIGRlbGV0ZUl0ZW06IHRpdGxlID0+IHtcbiAgICAgIGNvbnN0IGhpc3RvcnkgPSBzY3JpcHR1cmVWZXJzaW9uSGlzdC5nZXRMYXRlc3QoKVxuICAgICAgY29uc3QgZGVsZXRlSW5kZXggPSBzY3JpcHR1cmVWZXJzaW9uSGlzdC5maW5kSXRlbUluZGV4QnlLZXkoaGlzdG9yeSwgJ3RpdGxlJywgdGl0bGUpXG4gICAgICBzY3JpcHR1cmVWZXJzaW9uSGlzdC5yZW1vdmVJdGVtQnlJbmRleChkZWxldGVJbmRleClcbiAgICB9LFxuICB9XG5cbiAgcmV0dXJuIHNjcmlwdHVyZVNlbGVjdG9yQ29uZmlnXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXBvVXJsKHJlc291cmNlTGluazogc3RyaW5nLCBzZXJ2ZXI6IHN0cmluZywgaXNOVDogYm9vbGVhbik6IHN0cmluZyB7XG4gIGxldCByZXBvVXJsXG5cbiAgdHJ5IHtcbiAgICBsZXQgW293bmVyLCBsYW5ndWFnZUlkLCByZXNvdXJjZUlkXSA9IHJlc291cmNlTGluay5zcGxpdCgnLycpXG5cbiAgICBzd2l0Y2ggKHJlc291cmNlSWQpIHtcbiAgICBjYXNlIE9SSUdJTkFMX1NPVVJDRTpcbiAgICAgIGxhbmd1YWdlSWQgPSBpc05UID8gTlRfT1JJR19MQU5HIDogT1RfT1JJR19MQU5HXG4gICAgICByZXNvdXJjZUlkID0gaXNOVFxuICAgICAgICA/IE5UX09SSUdfTEFOR19CSUJMRVxuICAgICAgICA6IE9UX09SSUdfTEFOR19CSUJMRVxuICAgICAgYnJlYWtcblxuICAgIGNhc2UgVEFSR0VUX0xJVEVSQUw6XG4gICAgICByZXNvdXJjZUlkID0gKGxhbmd1YWdlSWQgPT09ICdlbicpID8gJ3VsdCcgOiAnZ2x0J1xuICAgICAgYnJlYWtcblxuICAgIGNhc2UgVEFSR0VUX1NJTVBMSUZJRUQ6XG4gICAgICByZXNvdXJjZUlkID0gKGxhbmd1YWdlSWQgPT09ICdlbicpID8gJ3VzdCcgOiAnZ3N0J1xuICAgICAgYnJlYWtcbiAgICB9XG4gICAgcmVwb1VybCA9IGAke293bmVyfS8ke2xhbmd1YWdlSWR9XyR7cmVzb3VyY2VJZH1gXG4gIH0gY2F0Y2ggKGUpIHtcbiAgICAvLyByZXNvdXJjZUxpbmsgd2FzIGludmFsaWRcbiAgfVxuXG4gIC8vIEB0cy1pZ25vcmVcbiAgcmV0dXJuIGAke3NlcnZlciB8fCAnJ30vJHtyZXBvVXJsfWBcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEVycm9yTWVzc2FnZUZvclJlc291cmNlTGluayhcbiAgcmVzb3VyY2VMaW5rOiBzdHJpbmcsXG4gIHNlcnZlcjogc3RyaW5nLFxuICBlcnJvckNvZGU6IHN0cmluZyxcbiAgaXNOVDogYm9vbGVhbik6IHN0cmluZ1xue1xuICBjb25zdCByZXBvVXJsID0gZ2V0UmVwb1VybChyZXNvdXJjZUxpbmssIHNlcnZlciwgaXNOVClcbiAgY29uc3QgZXJyb3JNc2cgPSBlcnJvckNvZGUgKyByZXBvVXJsXG4gIHJldHVybiBlcnJvck1zZ1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVEY3NVcmwodXJsKSB7XG4gIGxldCB2YWxpZFJlcG9QYXRoID0gZmFsc2VcbiAgbGV0IHZhbGlkVXJsID0gZmFsc2VcblxuICB0cnkge1xuICAgIGNvbnN0IHBhcnRzID0gdXJsLnNwbGl0KCcvJylcbiAgICBjb25zdCBbcHJvdG9jb2wsICwgaG9zdCwgdXNlciwgcmVwb10gPSBwYXJ0c1xuICAgIHZhbGlkVXJsID0gKHByb3RvY29sID09PSAnaHR0cHM6JylcbiAgICBjb25zdCBob3N0UGFydHMgPSBob3N0ID8gaG9zdC5zcGxpdCgnLicpIDogW11cblxuICAgIGlmIChob3N0UGFydHMubGVuZ3RoID49IDIpIHtcbiAgICAgIGZvciAobGV0IHBhcnQgb2YgaG9zdFBhcnRzKSB7XG4gICAgICAgIGlmICghcGFydCkge1xuICAgICAgICAgIHZhbGlkVXJsID0gZmFsc2VcbiAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhbGlkVXJsID0gZmFsc2VcbiAgICB9XG5cbiAgICBpZiAoIHByb3RvY29sICYmIGhvc3QgJiYgdXNlciAmJiByZXBvICkge1xuICAgICAgY29uc3QgW2xhbmd1YWdlSWQsIHByb2plY3RJZF0gPSByZXBvLnNwbGl0KCdfJylcbiAgICAgIHZhbGlkUmVwb1BhdGggPSBsYW5ndWFnZUlkICYmIHByb2plY3RJZFxuICAgIH1cbiAgfSBjYXRjaCB7XG4gICAgY29uc29sZS5sb2coJ0ludmFsaWQgRENTIFVSTDogJyArIHVybClcbiAgfVxuICByZXR1cm4geyB2YWxpZFVybCwgdmFsaWRSZXBvUGF0aCB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXNvdXJjZUVycm9yTWVzc2FnZShyZXNvdXJjZVN0YXR1czogb2JqZWN0KSB7XG4gIGxldCBtZXNzYWdlID0gJydcblxuICBpZiAocmVzb3VyY2VTdGF0dXNbTUFOSUZFU1RfTk9UX0xPQURFRF9FUlJPUl0pIHtcbiAgICBtZXNzYWdlID0gTUFOSUZFU1RfTk9UX0ZPVU5EX0VSUk9SX01TR1xuICB9IGVsc2UgaWYgKHJlc291cmNlU3RhdHVzW0lOVkFMSURfTUFOSUZFU1RfRVJST1JdKSB7XG4gICAgbWVzc2FnZSA9IE1BTklGRVNUX0lOVkFMSURfRVJST1JfTVNHXG4gIH0gZWxzZSBpZiAocmVzb3VyY2VTdGF0dXNbQ09OVEVOVF9OT1RfRk9VTkRfRVJST1JdKSB7XG4gICAgbWVzc2FnZSA9IEJPT0tfTk9UX0ZPVU5EX0VSUk9SX01TR1xuICB9IGVsc2UgaWYgKHJlc291cmNlU3RhdHVzW1NDUklQVFVSRV9OT1RfTE9BREVEX0VSUk9SXSkge1xuICAgIG1lc3NhZ2UgPSBTQ1JJUFRVUkVfTk9UX0ZPVU5EX0VSUk9SX01TR1xuICB9XG4gIHJldHVybiBtZXNzYWdlXG59XG5cbi8qKlxuICogZGVjb2RlIHJlc291cmNlIHN0YXR1cyBpbnRvIHN0cmluZy4gIEN1cnJlbnRseSBvbmx5IEVuZ2xpc2hcbiAqIEBwYXJhbSByZXNvdXJjZVN0YXR1cyAtIG9iamVjdCB0aGF0IGNvbnRhaW5zIHN0YXRlIGFuZCBlcnJvcnMgdGhhdCBhcmUgZGV0ZWN0ZWRcbiAqIEBwYXJhbSBzZXJ2ZXIgLSBjb250YWlucyB0aGUgc2VydmVyIGJlaW5nIHVzZWRcbiAqIEBwYXJhbSByZXNvdXJjZUxpbmsgLSBwYXRoIHRvIHJlcG8gb24gc2VydmVyXG4gKiBAcGFyYW0gaXNOVCAtIHRydWUgaWYgTlQgYm9va1xuICogQHJldHVybiBlbXB0eSBzdHJpbmcgaWYgbm8gZXJyb3IsIGVsc2UgcmV0dXJucyB1c2VyIGVycm9yIG1lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFJlc291cmNlTWVzc2FnZShyZXNvdXJjZVN0YXR1czogb2JqZWN0LCBzZXJ2ZXI6IHN0cmluZywgcmVzb3VyY2VMaW5rOiBzdHJpbmcsIGlzTlQ6IGJvb2xlYW4pIHtcbiAgbGV0IG1lc3NhZ2UgPSAnJ1xuXG4gIGlmIChyZXNvdXJjZVN0YXR1c1tMT0FESU5HX1NUQVRFXSkge1xuICAgIG1lc3NhZ2UgPSBMT0FESU5HX1JFU09VUkNFXG4gIH0gZWxzZSB7XG4gICAgbWVzc2FnZSA9IGdldFJlc291cmNlRXJyb3JNZXNzYWdlKHJlc291cmNlU3RhdHVzKVxuXG4gICAgaWYgKG1lc3NhZ2UpIHtcbiAgICAgIG1lc3NhZ2UgPSBnZXRFcnJvck1lc3NhZ2VGb3JSZXNvdXJjZUxpbmsocmVzb3VyY2VMaW5rLCBzZXJ2ZXIsIG1lc3NhZ2UsIGlzTlQpXG4gICAgfVxuICB9XG4gIHJldHVybiBtZXNzYWdlXG59XG5cbi8qKlxuICogZ2VuZXJhdGUgcmVzb3VyY2Ugc3RyaW5nXG4gKiBAcGFyYW0gb3duZXJcbiAqIEBwYXJhbSBsYW5ndWFnZUlkXG4gKiBAcGFyYW0gcHJvamVjdElkXG4gKiBAcGFyYW0gcmVmXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXNvdXJjZUxpbmtTcGVjaWZpYyhvd25lcjogc3RyaW5nLCBsYW5ndWFnZUlkOiBzdHJpbmcsIHByb2plY3RJZDogc3RyaW5nLCByZWY6IHN0cmluZykge1xuICByZXR1cm4gYGFwaS92MS9yZXBvcy8ke293bmVyfS8ke2xhbmd1YWdlSWR9XyR7cHJvamVjdElkfS9jb250ZW50cz9yZWY9JHtyZWZ9YFxufVxuXG5leHBvcnQgZnVuY3Rpb24gZml4T2NjdXJyZW5jZShvY2N1cnJlbmNlKSB7XG4gIGlmICh0eXBlb2Ygb2NjdXJyZW5jZSA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gcGFyc2VJbnQob2NjdXJyZW5jZSlcbiAgfVxuICByZXR1cm4gb2NjdXJyZW5jZVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY2xlYW51cFZlcnNlT2JqZWN0cyh2ZXJzZU9iamVjdHMpIHtcbiAgaWYgKHZlcnNlT2JqZWN0cz8ubGVuZ3RoKSB7XG4gICAgY29uc3QgdmVyc2VPYmplY3RzXyA9IFsuLi52ZXJzZU9iamVjdHNdXG5cbiAgICBmb3IgKGxldCBpID0gMCwgbCA9IHZlcnNlT2JqZWN0c18ubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICBjb25zdCB2byA9IHZlcnNlT2JqZWN0c19baV1cblxuICAgICAgaWYgKHZvLnR5cGUgPT09ICd3b3JkJyAmJiAodm8ub2NjdXJyZW5jZSB8fCB2by5vY2N1cnJlbmNlcykpIHtcbiAgICAgICAgY29uc3Qgd29yZCA9IHsgLi4udm8gfVxuXG4gICAgICAgIGlmICh2by5vY2N1cnJlbmNlKSB7XG4gICAgICAgICAgd29yZC5vY2N1cnJlbmNlID0gZml4T2NjdXJyZW5jZSh2by5vY2N1cnJlbmNlKVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHZvLm9jY3VycmVuY2VzKSB7XG4gICAgICAgICAgd29yZC5vY2N1cnJlbmNlcyA9IGZpeE9jY3VycmVuY2Uodm8ub2NjdXJyZW5jZXMpXG4gICAgICAgIH1cbiAgICAgICAgdmVyc2VPYmplY3RzX1tpXSA9IHdvcmRcbiAgICAgIH0gZWxzZSBpZiAodm8uY2hpbGRyZW4pIHtcbiAgICAgICAgY29uc3QgY2hpbGRyZW4gPSBjbGVhbnVwVmVyc2VPYmplY3RzKHZvLmNoaWxkcmVuKVxuICAgICAgICBjb25zdCBuZXdWbyA9IHtcbiAgICAgICAgICAuLi52byxcbiAgICAgICAgICBjaGlsZHJlbixcbiAgICAgICAgfVxuICAgICAgICB2ZXJzZU9iamVjdHNfW2ldID0gbmV3Vm9cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHZlcnNlT2JqZWN0c19cbiAgfVxuICByZXR1cm4gW11cbn1cblxuLyoqXG4gKiB0YWtlIHRoZSBmaWxlbmFtZSBvZiB0aGUgYm9vayAoZS5nLiBcIjU3LVRJVC51c2ZtXCIpIGFuZCBwYXJzZSBvdXQgdGhlIGJvb2tJZFxuICogQHBhcmFtIHtzdHJpbmd9IGZpbGVuYW1lXG4gKiBAcmV0dXJuIHtzdHJpbmd9IGJvb2tJZCBpZiBmb3VuZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0Qm9va05hbWVGcm9tVXNmbUZpbGVOYW1lKGZpbGVuYW1lKSB7XG4gIGNvbnN0IHJlZ2V4ID0gL14oLio/KVxcLnVzZm0vXG4gIGNvbnN0IGJvb2tOYW1lID0gZmlsZW5hbWU/Lm1hdGNoKHJlZ2V4KT8uWzFdXG4gIHJldHVybiBib29rTmFtZVxufVxuXG4vKipcbiAqIHBhcnNlIHRoZSBVU0ZNIHRvIGZpbmQgYm9va0lEIGluIGhlYWRlclxuICogQHBhcmFtIHtzdHJpbmd9IGJpYmxlVXNmbVxuICogQHJldHVybiB7c3RyaW5nfSBib29rSWQgaWYgZm91bmRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEJpYmxlSWRGcm9tVXNmbUNvbnRlbnRJRChiaWJsZVVzZm0pIHtcbiAgY29uc3QgaWRIZWFkZXIgPSAnXFxcXGlkICdcbiAgY29uc3QgcG9zSWQgPSBiaWJsZVVzZm0/LmluZGV4T2YoaWRIZWFkZXIpXG5cbiAgaWYgKHBvc0lkID49IDApIHtcbiAgICBjb25zdCBpZFN0YXJ0ID0gcG9zSWQgKyBpZEhlYWRlci5sZW5ndGhcbiAgICBsZXQgaGVhZGVySWQgPSBiaWJsZVVzZm0/LnN1YnN0cmluZyggaWRTdGFydCwgaWRTdGFydCArIDEwMCkudHJpbSgpXG4gICAgbGV0IGhlYWRlckJvb2tJRCA9IG51bGxcblxuICAgIGlmIChoZWFkZXJJZD8ubGVuZ3RoID4gMSkge1xuICAgICAgaGVhZGVyQm9va0lEID0gaGVhZGVySWQ/LnNwbGl0KCcgJylcbiAgICAgIGhlYWRlckJvb2tJRCA9IGhlYWRlckJvb2tJRD8uWzBdLnRyaW0oKVxuICAgIH1cbiAgICByZXR1cm4gaGVhZGVyQm9va0lEXG4gIH1cbiAgcmV0dXJuIG51bGxcbn1cblxuLyoqXG4gKiBkZXRlcm1pbmVzIGlmIHRoZXJlIGFyZSBhbnkgd29yZHMgaW4gdmVyc2VPYmplY3RzXG4gKiBAcGFyYW0ge1ZlcnNlT2JqZWN0c1R5cGV9IHZlcnNlT2JqZWN0cyAtIGFycmF5IG9mIHZlcnNlT2JqZWN0cyB0byBzZWFyY2ggZm9yIHdvcmRzXG4gKiBAcmV0dXJuIHtib29sZWFufSB0cnVlIGlmIHdvcmQgaXMgZm91bmRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZlcnNlT2JqZWN0c0hhdmVXb3Jkcyh2ZXJzZU9iamVjdHM6IFZlcnNlT2JqZWN0c1R5cGUpIHtcbiAgaWYgKHZlcnNlT2JqZWN0cz8ubGVuZ3RoKSB7XG4gICAgZm9yIChjb25zdCB2byBvZiB2ZXJzZU9iamVjdHMpIHtcbiAgICAgIGlmICh2by50eXBlID09PSAnd29yZCcpIHtcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgIH0gZWxzZSBpZiAodm8uY2hpbGRyZW4pIHtcbiAgICAgICAgY29uc3QgZm91bmRXb3JkcyA9IHZlcnNlT2JqZWN0c0hhdmVXb3Jkcyh2by5jaGlsZHJlbilcblxuICAgICAgICBpZiAoZm91bmRXb3Jkcykge1xuICAgICAgICAgIHJldHVybiB0cnVlXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIGZhbHNlXG59XG5cbi8qKlxuICogZXh0cmFjdCBqdXN0IHRoZSBhbGlnbm1lbnRzIGZyb20gdmVyc2VPYmplY3RzXG4gKiBAcGFyYW0ge1ZlcnNlT2JqZWN0c1R5cGV9IHZlcnNlT2JqZWN0c1xuICogQHJldHVybnMge1ZlcnNlT2JqZWN0c1R5cGV9IC0ganVzdCBhbGlnbm1lbnRzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRBbGlnbm1lbnRzKHZlcnNlT2JqZWN0czogVmVyc2VPYmplY3RzVHlwZSk6VmVyc2VPYmplY3RzVHlwZSB7XG4gIGNvbnN0IGFsaWdubWVudHNMaXN0ID0gdmVyc2VPYmplY3RzLmZpbHRlcih2byA9PiB2by50YWcgPT09ICd6YWxuJylcblxuICAvLyByZW1vdmUgZW5kVGFnXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgYWxpZ25tZW50c0xpc3QubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCBhbGlnbm1lbnQgPSBhbGlnbm1lbnRzTGlzdFtpXVxuXG4gICAgaWYgKGFsaWdubWVudC5lbmRUYWcpIHtcbiAgICAgIGNvbnN0IF9hbGlnbm1lbnQgPSB7IC4uLmFsaWdubWVudCB9XG4gICAgICBkZWxldGUgX2FsaWdubWVudC5lbmRUYWdcbiAgICAgIGFsaWdubWVudHNMaXN0W2ldID0gX2FsaWdubWVudFxuICAgIH1cbiAgfVxuICByZXR1cm4gYWxpZ25tZW50c0xpc3Rcbn1cblxuLyoqXG4gKiBkbyBhIGZldGNoIG9mIG1hbmlmZXN0IGFuZCBib29rIG9mIHRoZSBiaWJsZSBzcGVjaWZpZWQgaW4gZmV0Y2hQYXJhbXMuXG4gKlxuICogICAgVFJJQ0tZIC0gdGhpcyBmdW5jdGlvbiBpcyBiZWluZyBjYWxsZWQgYnkgZXZlcnkgc2NyaXB0dXJlIGNhcmQgc2ltdWx0YW5lb3VzbHkgZHVyaW5nIGJvb2sgbmF2aWdhdGlvbiwgc28gaXQgaXNcbiAqICAgICAgdmVyeSBpbXBvcnRhbnQgdGhhdCBpdCBkb2VzIG5vdCBjYXVzZSBzaWduaWZpY2FudCBkZWxheXMgKHBhcnRpY3VsYXJseSBvbiBzbG93ZXIgZGV2aWNlcykgYW5kIGJsb2NrIFVJIG9yXG4gKiAgICAgIHN0YXRlIHVwZGF0ZXMuXG4gKlxuICogQHBhcmFtIHtCb29rRmV0Y2hQYXJhbXN9IGZldGNoUGFyYW1zXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBmZXRjaEJpYmxlQm9va0NvcmUoZmV0Y2hQYXJhbXM6IEJvb2tGZXRjaFBhcmFtcykge1xuICB0cnkge1xuICAgIGNvbnNvbGUubG9nKGBmZXRjaEJpYmxlQm9va0NvcmUoKSAtIEZFVENISU5HIGJpYmxlICR7ZmV0Y2hQYXJhbXM/LnJlc291cmNlTGlua31gLCBmZXRjaFBhcmFtcylcblxuICAgIC8vIGZldGNoIG1hbmlmZXN0IGRhdGFcbiAgICBjb25zdCByZXNvdXJjZSA9IGF3YWl0IGNvcmUucmVzb3VyY2VGcm9tUmVzb3VyY2VMaW5rKGZldGNoUGFyYW1zKVxuXG4gICAgaWYgKCFyZXNvdXJjZT8ubWFuaWZlc3QgfHwgIXJlc291cmNlPy5wcm9qZWN0Py5maWxlKSB7XG4gICAgICBjb25zdCBlcnJvck1zZyA9IHJlc291cmNlPy5tYW5pZmVzdCA/ICdwYXJzaW5nIHJlc291cmNlIG1hbmlmZXN0JyA6ICdsb2FkaW5nIHJlc291cmNlIG1hbmlmZXN0J1xuICAgICAgY29uc29sZS53YXJuKGBmZXRjaEJpYmxlQm9va0NvcmUoKSAtIGVycm9yICR7ZXJyb3JNc2d9YCwgZmV0Y2hQYXJhbXMgKVxuICAgICAgcmV0dXJuIHsgZXJyb3I6IGVycm9yTXNnLCByZXNvdXJjZUVycm9yOiB0cnVlIH1cbiAgICB9XG5cbiAgICBjb25zb2xlLmxvZyhgZmV0Y2hCaWJsZUJvb2tDb3JlKCkgLSBMT0FERUQgYmlibGUgbWFuaWZlc3QsIGZldGNoaW5nIGJvb2sgICR7ZmV0Y2hQYXJhbXM/LnJlc291cmNlTGlua31gLCBmZXRjaFBhcmFtcylcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHJlc291cmNlPy5wcm9qZWN0Py5maWxlKClcbiAgICAvLyBwYXJzZSBib29rIHVzZm1cbiAgICBjb25zdCBiaWJsZVVzZm0gPSByZXNwb25zZSAmJiBjb3JlLmdldFJlc3BvbnNlRGF0YShyZXNwb25zZSlcbiAgICBhd2FpdCBkZWxheSgxMDApIC8vIGFsbG93IFVJIHRvIHVwZGF0ZSBiZXR3ZWVuIHR3byBjb21wdXRhdGlvbmFsbHkgZXhwZW5zaXZlIGZ1bmN0aW9uc1xuICAgIGNvbnN0IGJvb2tPYmplY3RzID0gYmlibGVVc2ZtICYmIHVzZm1qcy50b0pTT04oYmlibGVVc2ZtKSAvLyBjb252ZXJ0IHRvIGJpYmxlIG9iamVjdHNcblxuICAgIGlmICghYm9va09iamVjdHMpIHtcbiAgICAgIGNvbnN0IGVycm9yTXNnID0gYmlibGVVc2ZtID8gJ2ZldGNoaW5nIGJvb2sgb2YgdGhlIGJpYmxlJyA6ICdwYXJzaW5nIGJvb2sgb2YgdGhlIGJpYmxlJ1xuICAgICAgY29uc29sZS53YXJuKGBmZXRjaEJpYmxlQm9va0NvcmUoKSAtIGVycm9yICR7ZXJyb3JNc2d9YCwgZmV0Y2hQYXJhbXMgKVxuICAgICAgcmV0dXJuIHsgZXJyb3I6IGVycm9yTXNnIH1cbiAgICB9XG5cbiAgICBjb25zdCB7XG4gICAgICBuYW1lLFxuICAgICAgc2hhLFxuICAgICAgdXJsLFxuICAgIH0gPSByZXNwb25zZT8uZGF0YSB8fCB7fVxuXG4gICAgY29uc29sZS5sb2coYGZldGNoQmlibGVCb29rQ29yZSgpIC0gTE9BREVEIGJpYmxlIGJvb2ssICAke2ZldGNoUGFyYW1zPy5yZXNvdXJjZUxpbmt9YCwgZmV0Y2hQYXJhbXMpXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnJlc291cmNlLFxuICAgICAgYmlibGVVc2ZtLFxuICAgICAgYm9va09iamVjdHMsXG4gICAgICBuYW1lLFxuICAgICAgcmVzcG9uc2UsXG4gICAgICBzaGEsXG4gICAgICB1cmwsXG4gICAgfVxuICB9IGNhdGNoIChlKSB7XG4gICAgY29uc3QgZXJyb3JNc2cgPSAnaGFyZCBlcnJvciBsb2FkaW5nIHJlc291cmNlJ1xuICAgIGNvbnNvbGUuZXJyb3IoYGZldGNoQmlibGVCb29rQ29yZSgpIC0gJHtlcnJvck1zZ31gLCBmZXRjaFBhcmFtcywgZSApXG4gICAgcmV0dXJuIHsgZXJyb3I6IGVycm9yTXNnIH1cbiAgfVxufVxuXG4vKipcbiAqIGRvIGEgZmV0Y2ggb2YgbWFuaWZlc3QgYW5kIGJvb2sgb2YgdGhlIGJpYmxlIHNwZWNpZmllZCBpbiBmZXRjaFBhcmFtc1xuICogQHBhcmFtIHtzdHJpbmd9IHNlcnZlciAtIHNlcnZlciB0byBhY2Nlc3NcbiAqIEBwYXJhbSB7U2VydmVyQ29uZmlnfSBjb25maWdcbiAqIEBwYXJhbSB7U2NyaXB0dXJlUmVzb3VyY2V9IHJlc291cmNlXG4gKiBAcGFyYW0ge1NjcmlwdHVyZVJlZmVyZW5jZX0gcmVmZXJlbmNlXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBmZXRjaEJpYmxlQm9vayhzZXJ2ZXI6IHN0cmluZywgY29uZmlnOiBTZXJ2ZXJDb25maWcsIHJlc291cmNlOiBTY3JpcHR1cmVSZXNvdXJjZSwgcmVmZXJlbmNlOiBTY3JpcHR1cmVSZWZlcmVuY2UpIHtcbiAgY29uc3QgcmVmXyA9IHJlc291cmNlPy5icmFuY2ggfHwgcmVzb3VyY2U/LnJlZlxuICBjb25zdCByZXNvdXJjZUxpbmsgPSBnZXRSZXNvdXJjZUxpbmsoe1xuICAgIC4uLnJlc291cmNlLFxuICAgIHJlc291cmNlSWQ6IHJlc291cmNlPy5wcm9qZWN0SWQgfHwgJycsXG4gICAgcHJvamVjdElkOiByZWZlcmVuY2U/LnByb2plY3RJZCB8fCAnJyxcbiAgICByZWY6IHJlZl8sXG4gIH0pXG5cbiAgbGV0IGZldGNoUGFyYW1zOiBCb29rRmV0Y2hQYXJhbXMgPSB7XG4gICAgY29uZmlnOiB7XG4gICAgICAuLi5jb25maWcsXG4gICAgICBzZXJ2ZXIsXG4gICAgfSxcbiAgICByZXNvdXJjZSxcbiAgICByZWZlcmVuY2UsXG4gICAgcmVzb3VyY2VMaW5rLFxuICB9XG5cbiAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IGZldGNoQmlibGVCb29rQ29yZShmZXRjaFBhcmFtcylcbiAgcmV0dXJuIHJlc3VsdHNcbn1cbiJdLCJtYXBwaW5ncyI6IjsrQ0FDQSxxSkFBQUEsbUJBQUEsWUFBQUEsb0JBQUEsV0FB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
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "single-scripture-rcl",
|
|
3
3
|
"description": "A React Component Library for Rendering a Single Scripture Resource.",
|
|
4
|
-
"version": "3.4.
|
|
4
|
+
"version": "3.4.16-beta.12",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "https://github.com/unfoldingWord/single-scripture-rcl.git"
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"react": "^17.x",
|
|
29
29
|
"react-dom": "^17.x",
|
|
30
30
|
"react-icons": "^4.8.0",
|
|
31
|
-
"scripture-resources-rcl": "^5.2
|
|
31
|
+
"scripture-resources-rcl": "^5.5.7-beta.2",
|
|
32
32
|
"tc-ui-toolkit": "^5.3.3",
|
|
33
33
|
"translation-helps-rcl": "^3.4.2",
|
|
34
34
|
"word-aligner": "^1.0.0",
|
|
@@ -82,7 +82,7 @@
|
|
|
82
82
|
"react-dom": "^17.0.1",
|
|
83
83
|
"react-icons": "^4.8.0",
|
|
84
84
|
"react-styleguidist": "11.2.0",
|
|
85
|
-
"scripture-resources-rcl": "^5.
|
|
85
|
+
"scripture-resources-rcl": "^5.5.7-beta.2",
|
|
86
86
|
"style-loader": "^2.0.0",
|
|
87
87
|
"tc-ui-toolkit": "^5.3.3",
|
|
88
88
|
"translation-helps-rcl": "^3.4.2",
|
|
@@ -103,7 +103,6 @@
|
|
|
103
103
|
"source-map-loader": "^1.1.3",
|
|
104
104
|
"styled-components": "^5.2.1",
|
|
105
105
|
"ts-loader": "^8.0.12",
|
|
106
|
-
"typescript": "^5.2.2"
|
|
107
|
-
"uw-quote-helpers": "0.0.1-beta.15"
|
|
106
|
+
"typescript": "^5.2.2"
|
|
108
107
|
}
|
|
109
108
|
}
|