israeli-bank-scrapers 1.12.1 → 1.13.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/scrapers/mizrahi.js +4 -2
- package/package.json +1 -1
package/lib/scrapers/mizrahi.js
CHANGED
|
@@ -46,6 +46,8 @@ const afterLoginSelector = '#stickyHeaderScrollRegion';
|
|
|
46
46
|
const loginSpinnerSelector = 'div.ngx-overlay.loading-foreground';
|
|
47
47
|
const accountDropDownItemSelector = '#sky-account-combo-list ul li .sky-acc-value';
|
|
48
48
|
const pendingTrxIdentifierId = '#ctl00_ContentPlaceHolder2_panel1';
|
|
49
|
+
const emailUpdatePageHebrewTitle = "עדכון כתובת דוא''ל";
|
|
50
|
+
const emailUpdatePageEnglishTitle = 'Update email address';
|
|
49
51
|
|
|
50
52
|
function createLoginFields(credentials) {
|
|
51
53
|
return [{
|
|
@@ -59,7 +61,7 @@ function createLoginFields(credentials) {
|
|
|
59
61
|
|
|
60
62
|
function getPossibleLoginResults(page) {
|
|
61
63
|
return {
|
|
62
|
-
[_baseScraperWithBrowser.LoginResults.Success]: [AFTER_LOGIN_BASE_URL],
|
|
64
|
+
[_baseScraperWithBrowser.LoginResults.Success]: [AFTER_LOGIN_BASE_URL, async () => !!(await page.$x(`//title[contains(., "${emailUpdatePageHebrewTitle}") or contains(., "${emailUpdatePageEnglishTitle}")]`))],
|
|
63
65
|
[_baseScraperWithBrowser.LoginResults.InvalidPassword]: [async () => !!(await page.$(invalidPasswordSelector))],
|
|
64
66
|
[_baseScraperWithBrowser.LoginResults.ChangePassword]: [CHANGE_PASSWORD_URL]
|
|
65
67
|
};
|
|
@@ -195,4 +197,4 @@ class MizrahiScraper extends _baseScraperWithBrowser.BaseScraperWithBrowser {
|
|
|
195
197
|
|
|
196
198
|
var _default = MizrahiScraper;
|
|
197
199
|
exports.default = _default;
|
|
198
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9taXpyYWhpLnRzIl0sIm5hbWVzIjpbIkJBU0VfV0VCU0lURV9VUkwiLCJMT0dJTl9VUkwiLCJCQVNFX0FQUF9VUkwiLCJBRlRFUl9MT0dJTl9CQVNFX1VSTCIsIk9TSF9QQUdFIiwiVFJBTlNBQ1RJT05TX1JFUVVFU1RfVVJMIiwiUEVORElOR19UUkFOU0FDVElPTlNfUEFHRSIsIlBFTkRJTkdfVFJBTlNBQ1RJT05TX0lGUkFNRSIsIkNIQU5HRV9QQVNTV09SRF9VUkwiLCJEQVRFX0ZPUk1BVCIsIk1BWF9ST1dTX1BFUl9SRVFVRVNUIiwidXNlcm5hbWVTZWxlY3RvciIsInBhc3N3b3JkU2VsZWN0b3IiLCJzdWJtaXRCdXR0b25TZWxlY3RvciIsImludmFsaWRQYXNzd29yZFNlbGVjdG9yIiwiYWZ0ZXJMb2dpblNlbGVjdG9yIiwibG9naW5TcGlubmVyU2VsZWN0b3IiLCJhY2NvdW50RHJvcERvd25JdGVtU2VsZWN0b3IiLCJwZW5kaW5nVHJ4SWRlbnRpZmllcklkIiwiY3JlYXRlTG9naW5GaWVsZHMiLCJjcmVkZW50aWFscyIsInNlbGVjdG9yIiwidmFsdWUiLCJ1c2VybmFtZSIsInBhc3N3b3JkIiwiZ2V0UG9zc2libGVMb2dpblJlc3VsdHMiLCJwYWdlIiwiTG9naW5SZXN1bHRzIiwiU3VjY2VzcyIsIkludmFsaWRQYXNzd29yZCIsIiQiLCJDaGFuZ2VQYXNzd29yZCIsImdldFN0YXJ0TW9tZW50Iiwib3B0aW9uc1N0YXJ0RGF0ZSIsImRlZmF1bHRTdGFydE1vbWVudCIsInN1YnRyYWN0Iiwic3RhcnREYXRlIiwidG9EYXRlIiwibW9tZW50IiwibWF4IiwiY3JlYXRlRGF0YUZyb21SZXF1ZXN0IiwicmVxdWVzdCIsImRhdGEiLCJKU09OIiwicGFyc2UiLCJwb3N0RGF0YSIsImluRnJvbURhdGUiLCJmb3JtYXQiLCJpblRvRGF0ZSIsInRhYmxlIiwibWF4Um93IiwiY3JlYXRlSGVhZGVyc0Zyb21SZXF1ZXN0IiwibWl6cmFoaXhzcmZ0b2tlbiIsImhlYWRlcnMiLCJjb252ZXJ0VHJhbnNhY3Rpb25zIiwidHhucyIsIm1hcCIsInJvdyIsInR4bkRhdGUiLCJNQzAyUGV1bGFUYWFFWiIsIkhUTUw1X0ZNVCIsIkRBVEVUSU1FX0xPQ0FMX1NFQ09ORFMiLCJ0b0lTT1N0cmluZyIsInR5cGUiLCJUcmFuc2FjdGlvblR5cGVzIiwiTm9ybWFsIiwiaWRlbnRpZmllciIsIk1DMDJBc21haHRhTWVrb3JpdEVaIiwicGFyc2VJbnQiLCJ1bmRlZmluZWQiLCJkYXRlIiwicHJvY2Vzc2VkRGF0ZSIsIm9yaWdpbmFsQW1vdW50IiwiTUMwMlNjaHVtRVoiLCJvcmlnaW5hbEN1cnJlbmN5IiwiU0hFS0VMX0NVUlJFTkNZIiwiY2hhcmdlZEFtb3VudCIsImRlc2NyaXB0aW9uIiwiTUMwMlRudWFUZXVyRVoiLCJzdGF0dXMiLCJUcmFuc2FjdGlvblN0YXR1c2VzIiwiQ29tcGxldGVkIiwiZXh0cmFjdFBlbmRpbmdUcmFuc2FjdGlvbnMiLCJwZW5kaW5nVHhuIiwidHJzIiwidHIiLCJBcnJheSIsImZyb20iLCJxdWVyeVNlbGVjdG9yQWxsIiwidGQiLCJ0ZXh0Q29udGVudCIsInR4biIsImFtb3VudCIsIlBlbmRpbmciLCJwb3N0TG9naW4iLCJQcm9taXNlIiwicmFjZSIsIk1penJhaGlTY3JhcGVyIiwiQmFzZVNjcmFwZXJXaXRoQnJvd3NlciIsImdldExvZ2luT3B0aW9ucyIsImxvZ2luVXJsIiwiZmllbGRzIiwiY2hlY2tSZWFkaW5lc3MiLCJwb3N0QWN0aW9uIiwicG9zc2libGVSZXN1bHRzIiwiZmV0Y2hEYXRhIiwibnVtT2ZBY2NvdW50cyIsIiQkIiwibGVuZ3RoIiwicmVzdWx0cyIsImkiLCIkJGV2YWwiLCJlbHMiLCJjbGljayIsInB1c2giLCJmZXRjaEFjY291bnQiLCJzdWNjZXNzIiwiYWNjb3VudHMiLCJlIiwiZXJyb3JUeXBlIiwiU2NyYXBlckVycm9yVHlwZXMiLCJHZW5lcmljIiwiZXJyb3JNZXNzYWdlIiwibWVzc2FnZSIsIm5hdmlnYXRlVG8iLCJ3YWl0Rm9yUmVxdWVzdCIsIm9wdGlvbnMiLCJyZXNwb25zZSIsImhlYWRlciIsIkVycm9yIiwibWVzc2FnZXMiLCJ0ZXh0IiwicmVsZXZhbnRSb3dzIiwiYm9keSIsInJvd3MiLCJmaWx0ZXIiLCJSZWNUeXBlU3BlY2lmaWVkIiwib3NoVHhuIiwic3RhcnRNb21lbnQiLCJvc2hUeG5BZnRlclN0YXJ0RGF0ZSIsImlzU2FtZU9yQWZ0ZXIiLCJmcmFtZSIsImYiLCJ1cmwiLCJpbmNsdWRlcyIsImFsbFR4biIsImNvbmNhdCIsImFjY291bnROdW1iZXIiLCJBY2NvdW50TnVtYmVyIiwiYmFsYW5jZSIsIllpdHJhTGVsb0NoZWtpbSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFHQTs7QUFDQTs7QUFDQTs7QUFHQTs7QUFDQTs7OztBQTBCQSxNQUFNQSxnQkFBZ0IsR0FBRyxtQ0FBekI7QUFDQSxNQUFNQyxTQUFTLEdBQUksR0FBRUQsZ0JBQWlCLGlDQUF0QztBQUNBLE1BQU1FLFlBQVksR0FBRyxtQ0FBckI7QUFDQSxNQUFNQyxvQkFBb0IsR0FBRywyRUFBN0I7QUFDQSxNQUFNQyxRQUFRLEdBQUksR0FBRUYsWUFBYSwwQ0FBakM7QUFDQSxNQUFNRyx3QkFBd0IsR0FBSSxHQUFFSCxZQUFhLGdDQUFqRDtBQUNBLE1BQU1JLHlCQUF5QixHQUFJLEdBQUVKLFlBQWEsaUVBQWxEO0FBQ0EsTUFBTUssMkJBQTJCLEdBQUcsV0FBcEM7QUFDQSxNQUFNQyxtQkFBbUIsR0FBRywrRUFBNUI7QUFDQSxNQUFNQyxXQUFXLEdBQUcsWUFBcEI7QUFDQSxNQUFNQyxvQkFBb0IsR0FBRyxXQUE3QjtBQUVBLE1BQU1DLGdCQUFnQixHQUFHLGtCQUF6QjtBQUNBLE1BQU1DLGdCQUFnQixHQUFHLHVCQUF6QjtBQUNBLE1BQU1DLG9CQUFvQixHQUFHLHNCQUE3QjtBQUNBLE1BQU1DLHVCQUF1QixHQUFHLHFFQUFoQztBQUNBLE1BQU1DLGtCQUFrQixHQUFHLDJCQUEz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QmlEO0FBSDFCLEtBQVA7QUFLRDs7QUFuRWlEOztlQXNFckNyRCxjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgRnJhbWUsIFBhZ2UsIFJlcXVlc3QgfSBmcm9tICdwdXBwZXRlZXInO1xuaW1wb3J0IHsgU0hFS0VMX0NVUlJFTkNZIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7XG4gIHBhZ2VFdmFsQWxsLCB3YWl0VW50aWxFbGVtZW50RGlzYXBwZWFyLCB3YWl0VW50aWxFbGVtZW50Rm91bmQsIHdhaXRVbnRpbElmcmFtZUZvdW5kLFxufSBmcm9tICcuLi9oZWxwZXJzL2VsZW1lbnRzLWludGVyYWN0aW9ucyc7XG5pbXBvcnQgeyBmZXRjaFBvc3RXaXRoaW5QYWdlIH0gZnJvbSAnLi4vaGVscGVycy9mZXRjaCc7XG5pbXBvcnQgeyB3YWl0Rm9yVXJsIH0gZnJvbSAnLi4vaGVscGVycy9uYXZpZ2F0aW9uJztcbmltcG9ydCB7XG4gIFRyYW5zYWN0aW9uLCBUcmFuc2FjdGlvbnNBY2NvdW50LCBUcmFuc2FjdGlvblN0YXR1c2VzLCBUcmFuc2FjdGlvblR5cGVzLFxufSBmcm9tICcuLi90cmFuc2FjdGlvbnMnO1xuaW1wb3J0IHsgU2NyYXBlckNyZWRlbnRpYWxzLCBTY3JhcGVyRXJyb3JUeXBlcyB9IGZyb20gJy4vYmFzZS1zY3JhcGVyJztcbmltcG9ydCB7IEJhc2VTY3JhcGVyV2l0aEJyb3dzZXIsIExvZ2luUmVzdWx0cywgUG9zc2libGVMb2dpblJlc3VsdHMgfSBmcm9tICcuL2Jhc2Utc2NyYXBlci13aXRoLWJyb3dzZXInO1xuXG5pbnRlcmZhY2UgU2NyYXBlZFRyYW5zYWN0aW9uIHtcbiAgUmVjVHlwZVNwZWNpZmllZDogYm9vbGVhbjtcbiAgTUMwMlBldWxhVGFhRVo6IHN0cmluZztcbiAgTUMwMlNjaHVtRVo6IG51bWJlcjtcbiAgTUMwMkFzbWFodGFNZWtvcml0RVo6IHN0cmluZztcbiAgTUMwMlRudWFUZXVyRVo6IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIFNjcmFwZWRUcmFuc2FjdGlvbnNSZXN1bHQge1xuICBoZWFkZXI6IHtcbiAgICBzdWNjZXNzOiBib29sZWFuO1xuICAgIG1lc3NhZ2VzOiB7IHRleHQ6IHN0cmluZyB9W107XG4gIH07XG4gIGJvZHk6IHtcbiAgICBmaWVsZHM6IHtcbiAgICAgIEFjY291bnROdW1iZXI6IHN0cmluZztcbiAgICAgIFlpdHJhTGVsb0NoZWtpbTogc3RyaW5nO1xuICAgIH07XG4gICAgdGFibGU6IHtcbiAgICAgIHJvd3M6IFNjcmFwZWRUcmFuc2FjdGlvbltdO1xuICAgIH07XG4gIH07XG59XG5cbmNvbnN0IEJBU0VfV0VCU0lURV9VUkwgPSAnaHR0cHM6Ly93d3cubWl6cmFoaS10ZWZhaG90LmNvLmlsJztcbmNvbnN0IExPR0lOX1VSTCA9IGAke0JBU0VfV0VCU0lURV9VUkx9L2xvZ2luL2luZGV4Lmh0bWwjL2F1dGgtcGFnZS1oZWA7XG5jb25zdCBCQVNFX0FQUF9VUkwgPSAnaHR0cHM6Ly9tdG8ubWl6cmFoaS10ZWZhaG90LmNvLmlsJztcbmNvbnN0IEFGVEVSX0xPR0lOX0JBU0VfVVJMID0gL2h0dHBzOlxcL1xcL210b1xcLm1penJhaGktdGVmYWhvdFxcLmNvXFwuaWxcXC9uZ09ubGluZVxcL2luZGV4XFwuaHRtbCNcXC9tYWluXFwvdWlzLztcbmNvbnN0IE9TSF9QQUdFID0gYCR7QkFTRV9BUFBfVVJMfS9uZ09ubGluZS9pbmRleC5odG1sIy9tYWluL3Vpcy9vc2gvcDQyOC9gO1xuY29uc3QgVFJBTlNBQ1RJT05TX1JFUVVFU1RfVVJMID0gYCR7QkFTRV9BUFBfVVJMfS9PbmxpbmUvYXBpL1NreU9TSC9nZXQ0MjhJbmRleGA7XG5jb25zdCBQRU5ESU5HX1RSQU5TQUNUSU9OU19QQUdFID0gYCR7QkFTRV9BUFBfVVJMfS9uZ09ubGluZS9pbmRleC5odG1sIy9tYWluL3Vpcy9sZWdhY3kvT3NoL3A0MjAvL2xlZ2FjeS5Pc2gucDQyMGA7XG5jb25zdCBQRU5ESU5HX1RSQU5TQUNUSU9OU19JRlJBTUUgPSAncDQyMC5hc3B4JztcbmNvbnN0IENIQU5HRV9QQVNTV09SRF9VUkwgPSAvaHR0cHM6XFwvXFwvd3d3XFwubWl6cmFoaS10ZWZhaG90XFwuY29cXC5pbFxcL2xvZ2luXFwvXFx3K1xcL2luZGV4XFwuaHRtbCNcXC9jaGFuZ2UtcGFzcy87XG5jb25zdCBEQVRFX0ZPUk1BVCA9ICdERC9NTS9ZWVlZJztcbmNvbnN0IE1BWF9ST1dTX1BFUl9SRVFVRVNUID0gMTAwMDAwMDAwMDA7XG5cbmNvbnN0IHVzZXJuYW1lU2VsZWN0b3IgPSAnI2VtYWlsRGVza3RvcEhlYic7XG5jb25zdCBwYXNzd29yZFNlbGVjdG9yID0gJyNwYXNzd29yZElERGVza3RvcEhFQic7XG5jb25zdCBzdWJtaXRCdXR0b25TZWxlY3RvciA9ICcuZm9ybS1kZXNrdG9wIGJ1dHRvbic7XG5jb25zdCBpbnZhbGlkUGFzc3dvcmRTZWxlY3RvciA9ICdhW2hyZWYqPVwiaHR0cHM6Ly9zYy5taXpyYWhpLXRlZmFob3QuY28uaWwvU0NTZXJ2aWNlcy9TQy9QMDEwLmFzcHhcIl0nO1xuY29uc3QgYWZ0ZXJMb2dpblNlbGVjdG9yID0gJyNzdGlja3lIZWFkZXJTY3JvbGxSZWdpb24nO1xuY29uc3QgbG9naW5TcGlubmVyU2VsZWN0b3IgPSAnZGl2Lm5neC1vdmVybGF5LmxvYWRpbmctZm9yZWdyb3VuZCc7XG5jb25zdCBhY2NvdW50RHJvcERvd25JdGVtU2VsZWN0b3IgPSAnI3NreS1hY2NvdW50LWNvbWJvLWxpc3QgdWwgbGkgLnNreS1hY2MtdmFsdWUnO1xuY29uc3QgcGVuZGluZ1RyeElkZW50aWZpZXJJZCA9ICcjY3RsMDBfQ29udGVudFBsYWNlSG9sZGVyMl9wYW5lbDEnO1xuXG5mdW5jdGlvbiBjcmVhdGVMb2dpbkZpZWxkcyhjcmVkZW50aWFsczogU2NyYXBlckNyZWRlbnRpYWxzKSB7XG4gIHJldHVybiBbXG4gICAgeyBzZWxlY3RvcjogdXNlcm5hbWVTZWxlY3RvciwgdmFsdWU6IGNyZWRlbnRpYWxzLnVzZXJuYW1lIH0sXG4gICAgeyBzZWxlY3RvcjogcGFzc3dvcmRTZWxlY3RvciwgdmFsdWU6IGNyZWRlbnRpYWxzLnBhc3N3b3JkIH0sXG4gIF07XG59XG5cbmZ1bmN0aW9uIGdldFBvc3NpYmxlTG9naW5SZXN1bHRzKHBhZ2U6IFBhZ2UpOiBQb3NzaWJsZUxvZ2luUmVzdWx0cyB7XG4gIHJldHVybiB7XG4gICAgW0xvZ2luUmVzdWx0cy5TdWNjZXNzXTogW0FGVEVSX0xPR0lOX0JBU0VfVVJMXSxcbiAgICBbTG9naW5SZXN1bHRzLkludmFsaWRQYXNzd29yZF06IFthc3luYyAoKSA9PiAhIShhd2FpdCBwYWdlLiQoaW52YWxpZFBhc3N3b3JkU2VsZWN0b3IpKV0sXG4gICAgW0xvZ2luUmVzdWx0cy5DaGFuZ2VQYXNzd29yZF06IFtDSEFOR0VfUEFTU1dPUkRfVVJMXSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gZ2V0U3RhcnRNb21lbnQob3B0aW9uc1N0YXJ0RGF0ZTogRGF0ZSkge1xuICBjb25zdCBkZWZhdWx0U3RhcnRNb21lbnQgPSBtb21lbnQoKS5zdWJ0cmFjdCgxLCAneWVhcnMnKTtcbiAgY29uc3Qgc3RhcnREYXRlID0gb3B0aW9uc1N0YXJ0RGF0ZSB8fCBkZWZhdWx0U3RhcnRNb21lbnQudG9EYXRlKCk7XG4gIHJldHVybiBtb21lbnQubWF4KGRlZmF1bHRTdGFydE1vbWVudCwgbW9tZW50KHN0YXJ0RGF0ZSkpO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVEYXRhRnJvbVJlcXVlc3QocmVxdWVzdDogUmVxdWVzdCwgb3B0aW9uc1N0YXJ0RGF0ZTogRGF0ZSkge1xuICBjb25zdCBkYXRhID0gSlNPTi5wYXJzZShyZXF1ZXN0LnBvc3REYXRhKCkgfHwgJ3t9Jyk7XG5cbiAgZGF0YS5pbkZyb21EYXRlID0gZ2V0U3RhcnRNb21lbnQob3B0aW9uc1N0YXJ0RGF0ZSkuZm9ybWF0KERBVEVfRk9STUFUKTtcbiAgZGF0YS5pblRvRGF0ZSA9IG1vbWVudCgpLmZvcm1hdChEQVRFX0ZPUk1BVCk7XG4gIGRhdGEudGFibGUubWF4Um93ID0gTUFYX1JPV1NfUEVSX1JFUVVFU1Q7XG5cbiAgcmV0dXJuIGRhdGE7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUhlYWRlcnNGcm9tUmVxdWVzdChyZXF1ZXN0OiBSZXF1ZXN0KSB7XG4gIHJldHVybiB7XG4gICAgbWl6cmFoaXhzcmZ0b2tlbjogcmVxdWVzdC5oZWFkZXJzKCkubWl6cmFoaXhzcmZ0b2tlbixcbiAgICAnQ29udGVudC1UeXBlJzogcmVxdWVzdC5oZWFkZXJzKClbJ2NvbnRlbnQtdHlwZSddLFxuICB9O1xufVxuXG5cbmZ1bmN0aW9uIGNvbnZlcnRUcmFuc2FjdGlvbnModHhuczogU2NyYXBlZFRyYW5zYWN0aW9uW10pOiBUcmFuc2FjdGlvbltdIHtcbiAgcmV0dXJuIHR4bnMubWFwKChyb3cpID0+IHtcbiAgICBjb25zdCB0eG5EYXRlID0gbW9tZW50KHJvdy5NQzAyUGV1bGFUYWFFWiwgbW9tZW50LkhUTUw1X0ZNVC5EQVRFVElNRV9MT0NBTF9TRUNPTkRTKVxuICAgICAgLnRvSVNPU3RyaW5nKCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogVHJhbnNhY3Rpb25UeXBlcy5Ob3JtYWwsXG4gICAgICBpZGVudGlmaWVyOiByb3cuTUMwMkFzbWFodGFNZWtvcml0RVogPyBwYXJzZUludChyb3cuTUMwMkFzbWFodGFNZWtvcml0RVosIDEwKSA6IHVuZGVmaW5lZCxcbiAgICAgIGRhdGU6IHR4bkRhdGUsXG4gICAgICBwcm9jZXNzZWREYXRlOiB0eG5EYXRlLFxuICAgICAgb3JpZ2luYWxBbW91bnQ6IHJvdy5NQzAyU2NodW1FWixcbiAgICAgIG9yaWdpbmFsQ3VycmVuY3k6IFNIRUtFTF9DVVJSRU5DWSxcbiAgICAgIGNoYXJnZWRBbW91bnQ6IHJvdy5NQzAyU2NodW1FWixcbiAgICAgIGRlc2NyaXB0aW9uOiByb3cuTUMwMlRudWFUZXVyRVosXG4gICAgICBzdGF0dXM6IFRyYW5zYWN0aW9uU3RhdHVzZXMuQ29tcGxldGVkLFxuICAgIH07XG4gIH0pO1xufVxuXG5hc3luYyBmdW5jdGlvbiBleHRyYWN0UGVuZGluZ1RyYW5zYWN0aW9ucyhwYWdlOiBGcmFtZSk6IFByb21pc2U8VHJhbnNhY3Rpb25bXT4ge1xuICBjb25zdCBwZW5kaW5nVHhuID0gYXdhaXQgcGFnZUV2YWxBbGwocGFnZSwgJ3RyLnJnUm93JywgW10sICh0cnMpID0+IHtcbiAgICByZXR1cm4gdHJzLm1hcCgodHIpID0+IEFycmF5LmZyb20odHIucXVlcnlTZWxlY3RvckFsbCgndGQnKSwgKHRkOiBIVE1MVGFibGVEYXRhQ2VsbEVsZW1lbnQpID0+IHRkLnRleHRDb250ZW50IHx8ICcnKSk7XG4gIH0pO1xuXG4gIHJldHVybiBwZW5kaW5nVHhuLm1hcCgodHhuKSA9PiB7XG4gICAgY29uc3QgZGF0ZSA9IG1vbWVudCh0eG5bMF0sICdERC9NTS9ZWScpLnRvSVNPU3RyaW5nKCk7XG4gICAgY29uc3QgYW1vdW50ID0gcGFyc2VJbnQodHhuWzNdLCAxMCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6IFRyYW5zYWN0aW9uVHlwZXMuTm9ybWFsLFxuICAgICAgZGF0ZSxcbiAgICAgIHByb2Nlc3NlZERhdGU6IGRhdGUsXG4gICAgICBvcmlnaW5hbEFtb3VudDogYW1vdW50LFxuICAgICAgb3JpZ2luYWxDdXJyZW5jeTogU0hFS0VMX0NVUlJFTkNZLFxuICAgICAgY2hhcmdlZEFtb3VudDogYW1vdW50LFxuICAgICAgZGVzY3JpcHRpb246IHR4blsxXSxcbiAgICAgIHN0YXR1czogVHJhbnNhY3Rpb25TdGF0dXNlcy5QZW5kaW5nLFxuICAgIH07XG4gIH0pO1xufVxuXG5hc3luYyBmdW5jdGlvbiBwb3N0TG9naW4ocGFnZTogUGFnZSkge1xuICBhd2FpdCBQcm9taXNlLnJhY2UoW1xuICAgIHdhaXRVbnRpbEVsZW1lbnRGb3VuZChwYWdlLCBhZnRlckxvZ2luU2VsZWN0b3IpLFxuICAgIHdhaXRVbnRpbEVsZW1lbnRGb3VuZChwYWdlLCBpbnZhbGlkUGFzc3dvcmRTZWxlY3RvciksXG4gICAgd2FpdEZvclVybChwYWdlLCBDSEFOR0VfUEFTU1dPUkRfVVJMKSxcbiAgXSk7XG59XG5cbmNsYXNzIE1penJhaGlTY3JhcGVyIGV4dGVuZHMgQmFzZVNjcmFwZXJXaXRoQnJvd3NlciB7XG4gIGdldExvZ2luT3B0aW9ucyhjcmVkZW50aWFsczogU2NyYXBlckNyZWRlbnRpYWxzKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxvZ2luVXJsOiBMT0dJTl9VUkwsXG4gICAgICBmaWVsZHM6IGNyZWF0ZUxvZ2luRmllbGRzKGNyZWRlbnRpYWxzKSxcbiAgICAgIHN1Ym1pdEJ1dHRvblNlbGVjdG9yLFxuICAgICAgY2hlY2tSZWFkaW5lc3M6IGFzeW5jICgpID0+IHdhaXRVbnRpbEVsZW1lbnREaXNhcHBlYXIodGhpcy5wYWdlLCBsb2dpblNwaW5uZXJTZWxlY3RvciksXG4gICAgICBwb3N0QWN0aW9uOiBhc3luYyAoKSA9PiBwb3N0TG9naW4odGhpcy5wYWdlKSxcbiAgICAgIHBvc3NpYmxlUmVzdWx0czogZ2V0UG9zc2libGVMb2dpblJlc3VsdHModGhpcy5wYWdlKSxcbiAgICB9O1xuICB9XG5cbiAgYXN5bmMgZmV0Y2hEYXRhKCkge1xuICAgIGNvbnN0IG51bU9mQWNjb3VudHMgPSAoYXdhaXQgdGhpcy5wYWdlLiQkKGFjY291bnREcm9wRG93bkl0ZW1TZWxlY3RvcikpLmxlbmd0aDtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzdWx0czogVHJhbnNhY3Rpb25zQWNjb3VudFtdID0gW107XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG51bU9mQWNjb3VudHM7IGkgKz0gMSkge1xuICAgICAgICBhd2FpdCB0aGlzLnBhZ2UuJCRldmFsKGFjY291bnREcm9wRG93bkl0ZW1TZWxlY3RvciwgKGVscywgaSkgPT4gKGVsc1tpXSBhcyBIVE1MRWxlbWVudCkuY2xpY2soKSwgaSk7XG4gICAgICAgIHJlc3VsdHMucHVzaChhd2FpdCB0aGlzLmZldGNoQWNjb3VudCgpKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgc3VjY2VzczogdHJ1ZSxcbiAgICAgICAgYWNjb3VudHM6IHJlc3VsdHMsXG4gICAgICB9O1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHN1Y2Nlc3M6IGZhbHNlLFxuICAgICAgICBlcnJvclR5cGU6IFNjcmFwZXJFcnJvclR5cGVzLkdlbmVyaWMsXG4gICAgICAgIGVycm9yTWVzc2FnZTogKGUgYXMgRXJyb3IpLm1lc3NhZ2UsXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZmV0Y2hBY2NvdW50KCkge1xuICAgIGF3YWl0IHRoaXMubmF2aWdhdGVUbyhPU0hfUEFHRSwgdGhpcy5wYWdlKTtcblxuICAgIGNvbnN0IHJlcXVlc3QgPSBhd2FpdCB0aGlzLnBhZ2Uud2FpdEZvclJlcXVlc3QoVFJBTlNBQ1RJT05TX1JFUVVFU1RfVVJMKTtcbiAgICBjb25zdCBkYXRhID0gY3JlYXRlRGF0YUZyb21SZXF1ZXN0KHJlcXVlc3QsIHRoaXMub3B0aW9ucy5zdGFydERhdGUpO1xuICAgIGNvbnN0IGhlYWRlcnMgPSBjcmVhdGVIZWFkZXJzRnJvbVJlcXVlc3QocmVxdWVzdCk7XG5cbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoUG9zdFdpdGhpblBhZ2U8U2NyYXBlZFRyYW5zYWN0aW9uc1Jlc3VsdD4odGhpcy5wYWdlLFxuICAgICAgVFJBTlNBQ1RJT05TX1JFUVVFU1RfVVJMLCBkYXRhLCBoZWFkZXJzKTtcblxuICAgIGlmICghcmVzcG9uc2UgfHwgcmVzcG9uc2UuaGVhZGVyLnN1Y2Nlc3MgPT09IGZhbHNlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEVycm9yIGZldGNoaW5nIHRyYW5zYWN0aW9uLiBSZXNwb25zZSBtZXNzYWdlOiAke3Jlc3BvbnNlID8gcmVzcG9uc2UuaGVhZGVyLm1lc3NhZ2VzWzBdLnRleHQgOiAnJ31gKTtcbiAgICB9XG5cbiAgICBjb25zdCByZWxldmFudFJvd3MgPSByZXNwb25zZS5ib2R5LnRhYmxlLnJvd3MuZmlsdGVyKChyb3cpID0+IHJvdy5SZWNUeXBlU3BlY2lmaWVkKTtcbiAgICBjb25zdCBvc2hUeG4gPSBjb252ZXJ0VHJhbnNhY3Rpb25zKHJlbGV2YW50Um93cyk7XG5cbiAgICAvLyB3b3JrYXJvdW5kIGZvciBhIGJ1ZyB3aGljaCB0aGUgYmFuaydzIEFQSSByZXR1cm5zIHRyYW5zYWN0aW9ucyBiZWZvcmUgdGhlIHJlcXVlc3RlZCBzdGFydCBkYXRlXG4gICAgY29uc3Qgc3RhcnRNb21lbnQgPSBnZXRTdGFydE1vbWVudCh0aGlzLm9wdGlvbnMuc3RhcnREYXRlKTtcbiAgICBjb25zdCBvc2hUeG5BZnRlclN0YXJ0RGF0ZSA9IG9zaFR4bi5maWx0ZXIoKHR4bikgPT4gbW9tZW50KHR4bi5kYXRlKS5pc1NhbWVPckFmdGVyKHN0YXJ0TW9tZW50KSk7XG5cbiAgICBhd2FpdCB0aGlzLm5hdmlnYXRlVG8oUEVORElOR19UUkFOU0FDVElPTlNfUEFHRSwgdGhpcy5wYWdlKTtcbiAgICBjb25zdCBmcmFtZSA9IGF3YWl0IHdhaXRVbnRpbElmcmFtZUZvdW5kKHRoaXMucGFnZSwgKGYpID0+IGYudXJsKCkuaW5jbHVkZXMoUEVORElOR19UUkFOU0FDVElPTlNfSUZSQU1FKSk7XG4gICAgYXdhaXQgd2FpdFVudGlsRWxlbWVudEZvdW5kKGZyYW1lLCBwZW5kaW5nVHJ4SWRlbnRpZmllcklkKTtcbiAgICBjb25zdCBwZW5kaW5nVHhuID0gYXdhaXQgZXh0cmFjdFBlbmRpbmdUcmFuc2FjdGlvbnMoZnJhbWUpO1xuXG4gICAgY29uc3QgYWxsVHhuID0gb3NoVHhuQWZ0ZXJTdGFydERhdGUuY29uY2F0KHBlbmRpbmdUeG4pO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGFjY291bnROdW1iZXI6IHJlc3BvbnNlLmJvZHkuZmllbGRzLkFjY291bnROdW1iZXIsXG4gICAgICB0eG5zOiBhbGxUeG4sXG4gICAgICBiYWxhbmNlOiArcmVzcG9uc2UuYm9keS5maWVsZHMuWWl0cmFMZWxvQ2hla2ltLFxuICAgIH07XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgTWl6cmFoaVNjcmFwZXI7XG4iXX0=
|
|
200
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9taXpyYWhpLnRzIl0sIm5hbWVzIjpbIkJBU0VfV0VCU0lURV9VUkwiLCJMT0dJTl9VUkwiLCJCQVNFX0FQUF9VUkwiLCJBRlRFUl9MT0dJTl9CQVNFX1VSTCIsIk9TSF9QQUdFIiwiVFJBTlNBQ1RJT05TX1JFUVVFU1RfVVJMIiwiUEVORElOR19UUkFOU0FDVElPTlNfUEFHRSIsIlBFTkRJTkdfVFJBTlNBQ1RJT05TX0lGUkFNRSIsIkNIQU5HRV9QQVNTV09SRF9VUkwiLCJEQVRFX0ZPUk1BVCIsIk1BWF9ST1dTX1BFUl9SRVFVRVNUIiwidXNlcm5hbWVTZWxlY3RvciIsInBhc3N3b3JkU2VsZWN0b3IiLCJzdWJtaXRCdXR0b25TZWxlY3RvciIsImludmFsaWRQYXNzd29yZFNlbGVjdG9yIiwiYWZ0ZXJMb2dpblNlbGVjdG9yIiwibG9naW5TcGlubmVyU2VsZWN0b3IiLCJhY2NvdW50RHJvcERvd25JdGVtU2VsZWN0b3IiLCJwZW5kaW5nVHJ4SWRlbnRpZmllcklkIiwiZW1haWxVcGRhdGVQYWdlSGVicmV3VGl0bGUiLCJlbWFpbFVwZGF0ZVBhZ2VFbmdsaXNoVGl0bGUiLCJjcmVhdGVMb2dpbkZpZWxkcyIsImNyZWRlbnRpYWxzIiwic2VsZWN0b3IiLCJ2YWx1ZSIsInVzZXJuYW1lIiwicGFzc3dvcmQiLCJnZXRQb3NzaWJsZUxvZ2luUmVzdWx0cyIsInBhZ2UiLCJMb2dpblJlc3VsdHMiLCJTdWNjZXNzIiwiJHgiLCJJbnZhbGlkUGFzc3dvcmQiLCIkIiwiQ2hhbmdlUGFzc3dvcmQiLCJnZXRTdGFydE1vbWVudCIsIm9wdGlvbnNTdGFydERhdGUiLCJkZWZhdWx0U3RhcnRNb21lbnQiLCJzdWJ0cmFjdCIsInN0YXJ0RGF0ZSIsInRvRGF0ZSIsIm1vbWVudCIsIm1heCIsImNyZWF0ZURhdGFGcm9tUmVxdWVzdCIsInJlcXVlc3QiLCJkYXRhIiwiSlNPTiIsInBhcnNlIiwicG9zdERhdGEiLCJpbkZyb21EYXRlIiwiZm9ybWF0IiwiaW5Ub0RhdGUiLCJ0YWJsZSIsIm1heFJvdyIsImNyZWF0ZUhlYWRlcnNGcm9tUmVxdWVzdCIsIm1penJhaGl4c3JmdG9rZW4iLCJoZWFkZXJzIiwiY29udmVydFRyYW5zYWN0aW9ucyIsInR4bnMiLCJtYXAiLCJyb3ciLCJ0eG5EYXRlIiwiTUMwMlBldWxhVGFhRVoiLCJIVE1MNV9GTVQiLCJEQVRFVElNRV9MT0NBTF9TRUNPTkRTIiwidG9JU09TdHJpbmciLCJ0eXBlIiwiVHJhbnNhY3Rpb25UeXBlcyIsIk5vcm1hbCIsImlkZW50aWZpZXIiLCJNQzAyQXNtYWh0YU1la29yaXRFWiIsInBhcnNlSW50IiwidW5kZWZpbmVkIiwiZGF0ZSIsInByb2Nlc3NlZERhdGUiLCJvcmlnaW5hbEFtb3VudCIsIk1DMDJTY2h1bUVaIiwib3JpZ2luYWxDdXJyZW5jeSIsIlNIRUtFTF9DVVJSRU5DWSIsImNoYXJnZWRBbW91bnQiLCJkZXNjcmlwdGlvbiIsIk1DMDJUbnVhVGV1ckVaIiwic3RhdHVzIiwiVHJhbnNhY3Rpb25TdGF0dXNlcyIsIkNvbXBsZXRlZCIsImV4dHJhY3RQZW5kaW5nVHJhbnNhY3Rpb25zIiwicGVuZGluZ1R4biIsInRycyIsInRyIiwiQXJyYXkiLCJmcm9tIiwicXVlcnlTZWxlY3RvckFsbCIsInRkIiwidGV4dENvbnRlbnQiLCJ0eG4iLCJhbW91bnQiLCJQZW5kaW5nIiwicG9zdExvZ2luIiwiUHJvbWlzZSIsInJhY2UiLCJNaXpyYWhpU2NyYXBlciIsIkJhc2VTY3JhcGVyV2l0aEJyb3dzZXIiLCJnZXRMb2dpbk9wdGlvbnMiLCJsb2dpblVybCIsImZpZWxkcyIsImNoZWNrUmVhZGluZXNzIiwicG9zdEFjdGlvbiIsInBvc3NpYmxlUmVzdWx0cyIsImZldGNoRGF0YSIsIm51bU9mQWNjb3VudHMiLCIkJCIsImxlbmd0aCIsInJlc3VsdHMiLCJpIiwiJCRldmFsIiwiZWxzIiwiY2xpY2siLCJwdXNoIiwiZmV0Y2hBY2NvdW50Iiwic3VjY2VzcyIsImFjY291bnRzIiwiZSIsImVycm9yVHlwZSIsIlNjcmFwZXJFcnJvclR5cGVzIiwiR2VuZXJpYyIsImVycm9yTWVzc2FnZSIsIm1lc3NhZ2UiLCJuYXZpZ2F0ZVRvIiwid2FpdEZvclJlcXVlc3QiLCJvcHRpb25zIiwicmVzcG9uc2UiLCJoZWFkZXIiLCJFcnJvciIsIm1lc3NhZ2VzIiwidGV4dCIsInJlbGV2YW50Um93cyIsImJvZHkiLCJyb3dzIiwiZmlsdGVyIiwiUmVjVHlwZVNwZWNpZmllZCIsIm9zaFR4biIsInN0YXJ0TW9tZW50Iiwib3NoVHhuQWZ0ZXJTdGFydERhdGUiLCJpc1NhbWVPckFmdGVyIiwiZnJhbWUiLCJmIiwidXJsIiwiaW5jbHVkZXMiLCJhbGxUeG4iLCJjb25jYXQiLCJhY2NvdW50TnVtYmVyIiwiQWNjb3VudE51bWJlciIsImJhbGFuY2UiLCJZaXRyYUxlbG9DaGVraW0iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBRUE7O0FBQ0E7O0FBR0E7O0FBQ0E7O0FBQ0E7O0FBR0E7O0FBQ0E7Ozs7QUEwQkEsTUFBTUEsZ0JBQWdCLEdBQUcsbUNBQXpCO0FBQ0EsTUFBTUMsU0FBUyxHQUFJLEdBQUVELGdCQUFpQixpQ0FBdEM7QUFDQSxNQUFNRSxZQUFZLEdBQUcsbUNBQXJCO0FBQ0EsTUFBTUMsb0JBQW9CLEdBQUcsMkVBQTdCO0FBQ0EsTUFBTUMsUUFBUSxHQUFJLEdBQUVGLFlBQWEsMENBQWpDO0FBQ0EsTUFBTUcsd0JBQXdCLEdBQUksR0FBRUgsWUFBYSxnQ0FBakQ7QUFDQSxNQUFNSSx5QkFBeUIsR0FBSSxHQUFFSixZQUFhLGlFQUFsRDtBQUNBLE1BQU1LLDJCQUEyQixHQUFHLFdBQXBDO0FBQ0EsTUFBTUMsbUJBQW1CLEdBQUcsK0VBQTVCO0FBQ0EsTUFBTUMsV0FBVyxHQUFHLFlBQXBCO0FBQ0EsTUFBTUMsb0JBQW9CLEdBQUcsV0FBN0I7QUFFQSxNQUFNQyxnQkFBZ0IsR0FBRyxrQkFBekI7QUFDQSxNQUFNQyxnQkFBZ0IsR0FBRyx1QkFBekI7QUFDQSxNQUFNQyxvQkFBb0IsR0FBRyxz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QU1JLE1BQU0sR0FBR04sb0JBQW9CLENBQUNPLE1BQXJCLENBQTRCL0QsVUFBNUIsQ0FBZjtBQUVBLFdBQU87QUFDTGdFLE1BQUFBLGFBQWEsRUFBRXBCLFFBQVEsQ0FBQ00sSUFBVCxDQUFjaEMsTUFBZCxDQUFxQitDLGFBRC9CO0FBRUw3RixNQUFBQSxJQUFJLEVBQUUwRixNQUZEO0FBR0xJLE1BQUFBLE9BQU8sRUFBRSxDQUFDdEIsUUFBUSxDQUFDTSxJQUFULENBQWNoQyxNQUFkLENBQXFCaUQ7QUFIMUIsS0FBUDtBQUtEOztBQW5FaUQ7O2VBc0VyQ3JELGMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XG5pbXBvcnQgeyBGcmFtZSwgUGFnZSwgUmVxdWVzdCB9IGZyb20gJ3B1cHBldGVlcic7XG5pbXBvcnQgeyBTSEVLRUxfQ1VSUkVOQ1kgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHtcbiAgcGFnZUV2YWxBbGwsIHdhaXRVbnRpbEVsZW1lbnREaXNhcHBlYXIsIHdhaXRVbnRpbEVsZW1lbnRGb3VuZCwgd2FpdFVudGlsSWZyYW1lRm91bmQsXG59IGZyb20gJy4uL2hlbHBlcnMvZWxlbWVudHMtaW50ZXJhY3Rpb25zJztcbmltcG9ydCB7IGZldGNoUG9zdFdpdGhpblBhZ2UgfSBmcm9tICcuLi9oZWxwZXJzL2ZldGNoJztcbmltcG9ydCB7IHdhaXRGb3JVcmwgfSBmcm9tICcuLi9oZWxwZXJzL25hdmlnYXRpb24nO1xuaW1wb3J0IHtcbiAgVHJhbnNhY3Rpb24sIFRyYW5zYWN0aW9uc0FjY291bnQsIFRyYW5zYWN0aW9uU3RhdHVzZXMsIFRyYW5zYWN0aW9uVHlwZXMsXG59IGZyb20gJy4uL3RyYW5zYWN0aW9ucyc7XG5pbXBvcnQgeyBTY3JhcGVyQ3JlZGVudGlhbHMsIFNjcmFwZXJFcnJvclR5cGVzIH0gZnJvbSAnLi9iYXNlLXNjcmFwZXInO1xuaW1wb3J0IHsgQmFzZVNjcmFwZXJXaXRoQnJvd3NlciwgTG9naW5SZXN1bHRzLCBQb3NzaWJsZUxvZ2luUmVzdWx0cyB9IGZyb20gJy4vYmFzZS1zY3JhcGVyLXdpdGgtYnJvd3Nlcic7XG5cbmludGVyZmFjZSBTY3JhcGVkVHJhbnNhY3Rpb24ge1xuICBSZWNUeXBlU3BlY2lmaWVkOiBib29sZWFuO1xuICBNQzAyUGV1bGFUYWFFWjogc3RyaW5nO1xuICBNQzAyU2NodW1FWjogbnVtYmVyO1xuICBNQzAyQXNtYWh0YU1la29yaXRFWjogc3RyaW5nO1xuICBNQzAyVG51YVRldXJFWjogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgU2NyYXBlZFRyYW5zYWN0aW9uc1Jlc3VsdCB7XG4gIGhlYWRlcjoge1xuICAgIHN1Y2Nlc3M6IGJvb2xlYW47XG4gICAgbWVzc2FnZXM6IHsgdGV4dDogc3RyaW5nIH1bXTtcbiAgfTtcbiAgYm9keToge1xuICAgIGZpZWxkczoge1xuICAgICAgQWNjb3VudE51bWJlcjogc3RyaW5nO1xuICAgICAgWWl0cmFMZWxvQ2hla2ltOiBzdHJpbmc7XG4gICAgfTtcbiAgICB0YWJsZToge1xuICAgICAgcm93czogU2NyYXBlZFRyYW5zYWN0aW9uW107XG4gICAgfTtcbiAgfTtcbn1cblxuY29uc3QgQkFTRV9XRUJTSVRFX1VSTCA9ICdodHRwczovL3d3dy5taXpyYWhpLXRlZmFob3QuY28uaWwnO1xuY29uc3QgTE9HSU5fVVJMID0gYCR7QkFTRV9XRUJTSVRFX1VSTH0vbG9naW4vaW5kZXguaHRtbCMvYXV0aC1wYWdlLWhlYDtcbmNvbnN0IEJBU0VfQVBQX1VSTCA9ICdodHRwczovL210by5taXpyYWhpLXRlZmFob3QuY28uaWwnO1xuY29uc3QgQUZURVJfTE9HSU5fQkFTRV9VUkwgPSAvaHR0cHM6XFwvXFwvbXRvXFwubWl6cmFoaS10ZWZhaG90XFwuY29cXC5pbFxcL25nT25saW5lXFwvaW5kZXhcXC5odG1sI1xcL21haW5cXC91aXMvO1xuY29uc3QgT1NIX1BBR0UgPSBgJHtCQVNFX0FQUF9VUkx9L25nT25saW5lL2luZGV4Lmh0bWwjL21haW4vdWlzL29zaC9wNDI4L2A7XG5jb25zdCBUUkFOU0FDVElPTlNfUkVRVUVTVF9VUkwgPSBgJHtCQVNFX0FQUF9VUkx9L09ubGluZS9hcGkvU2t5T1NIL2dldDQyOEluZGV4YDtcbmNvbnN0IFBFTkRJTkdfVFJBTlNBQ1RJT05TX1BBR0UgPSBgJHtCQVNFX0FQUF9VUkx9L25nT25saW5lL2luZGV4Lmh0bWwjL21haW4vdWlzL2xlZ2FjeS9Pc2gvcDQyMC8vbGVnYWN5Lk9zaC5wNDIwYDtcbmNvbnN0IFBFTkRJTkdfVFJBTlNBQ1RJT05TX0lGUkFNRSA9ICdwNDIwLmFzcHgnO1xuY29uc3QgQ0hBTkdFX1BBU1NXT1JEX1VSTCA9IC9odHRwczpcXC9cXC93d3dcXC5taXpyYWhpLXRlZmFob3RcXC5jb1xcLmlsXFwvbG9naW5cXC9cXHcrXFwvaW5kZXhcXC5odG1sI1xcL2NoYW5nZS1wYXNzLztcbmNvbnN0IERBVEVfRk9STUFUID0gJ0REL01NL1lZWVknO1xuY29uc3QgTUFYX1JPV1NfUEVSX1JFUVVFU1QgPSAxMDAwMDAwMDAwMDtcblxuY29uc3QgdXNlcm5hbWVTZWxlY3RvciA9ICcjZW1haWxEZXNrdG9wSGViJztcbmNvbnN0IHBhc3N3b3JkU2VsZWN0b3IgPSAnI3Bhc3N3b3JkSUREZXNrdG9wSEVCJztcbmNvbnN0IHN1Ym1pdEJ1dHRvblNlbGVjdG9yID0gJy5mb3JtLWRlc2t0b3AgYnV0dG9uJztcbmNvbnN0IGludmFsaWRQYXNzd29yZFNlbGVjdG9yID0gJ2FbaHJlZio9XCJodHRwczovL3NjLm1penJhaGktdGVmYWhvdC5jby5pbC9TQ1NlcnZpY2VzL1NDL1AwMTAuYXNweFwiXSc7XG5jb25zdCBhZnRlckxvZ2luU2VsZWN0b3IgPSAnI3N0aWNreUhlYWRlclNjcm9sbFJlZ2lvbic7XG5jb25zdCBsb2dpblNwaW5uZXJTZWxlY3RvciA9ICdkaXYubmd4LW92ZXJsYXkubG9hZGluZy1mb3JlZ3JvdW5kJztcbmNvbnN0IGFjY291bnREcm9wRG93bkl0ZW1TZWxlY3RvciA9ICcjc2t5LWFjY291bnQtY29tYm8tbGlzdCB1bCBsaSAuc2t5LWFjYy12YWx1ZSc7XG5jb25zdCBwZW5kaW5nVHJ4SWRlbnRpZmllcklkID0gJyNjdGwwMF9Db250ZW50UGxhY2VIb2xkZXIyX3BhbmVsMSc7XG5jb25zdCBlbWFpbFVwZGF0ZVBhZ2VIZWJyZXdUaXRsZSA9IFwi16LXk9eb15XXnyDXm9eq15XXkdeqINeT15XXkCcn15xcIjtcbmNvbnN0IGVtYWlsVXBkYXRlUGFnZUVuZ2xpc2hUaXRsZSA9ICdVcGRhdGUgZW1haWwgYWRkcmVzcyc7XG5cblxuZnVuY3Rpb24gY3JlYXRlTG9naW5GaWVsZHMoY3JlZGVudGlhbHM6IFNjcmFwZXJDcmVkZW50aWFscykge1xuICByZXR1cm4gW1xuICAgIHsgc2VsZWN0b3I6IHVzZXJuYW1lU2VsZWN0b3IsIHZhbHVlOiBjcmVkZW50aWFscy51c2VybmFtZSB9LFxuICAgIHsgc2VsZWN0b3I6IHBhc3N3b3JkU2VsZWN0b3IsIHZhbHVlOiBjcmVkZW50aWFscy5wYXNzd29yZCB9LFxuICBdO1xufVxuXG5mdW5jdGlvbiBnZXRQb3NzaWJsZUxvZ2luUmVzdWx0cyhwYWdlOiBQYWdlKTogUG9zc2libGVMb2dpblJlc3VsdHMge1xuICByZXR1cm4ge1xuICAgIFtMb2dpblJlc3VsdHMuU3VjY2Vzc106IFtBRlRFUl9MT0dJTl9CQVNFX1VSTCwgYXN5bmMgKCkgPT4gISEoYXdhaXQgcGFnZS4keChgLy90aXRsZVtjb250YWlucyguLCBcIiR7ZW1haWxVcGRhdGVQYWdlSGVicmV3VGl0bGV9XCIpIG9yIGNvbnRhaW5zKC4sIFwiJHtlbWFpbFVwZGF0ZVBhZ2VFbmdsaXNoVGl0bGV9XCIpXWApKV0sXG4gICAgW0xvZ2luUmVzdWx0cy5JbnZhbGlkUGFzc3dvcmRdOiBbYXN5bmMgKCkgPT4gISEoYXdhaXQgcGFnZS4kKGludmFsaWRQYXNzd29yZFNlbGVjdG9yKSldLFxuICAgIFtMb2dpblJlc3VsdHMuQ2hhbmdlUGFzc3dvcmRdOiBbQ0hBTkdFX1BBU1NXT1JEX1VSTF0sXG4gIH07XG59XG5cbmZ1bmN0aW9uIGdldFN0YXJ0TW9tZW50KG9wdGlvbnNTdGFydERhdGU6IERhdGUpIHtcbiAgY29uc3QgZGVmYXVsdFN0YXJ0TW9tZW50ID0gbW9tZW50KCkuc3VidHJhY3QoMSwgJ3llYXJzJyk7XG4gIGNvbnN0IHN0YXJ0RGF0ZSA9IG9wdGlvbnNTdGFydERhdGUgfHwgZGVmYXVsdFN0YXJ0TW9tZW50LnRvRGF0ZSgpO1xuICByZXR1cm4gbW9tZW50Lm1heChkZWZhdWx0U3RhcnRNb21lbnQsIG1vbWVudChzdGFydERhdGUpKTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlRGF0YUZyb21SZXF1ZXN0KHJlcXVlc3Q6IFJlcXVlc3QsIG9wdGlvbnNTdGFydERhdGU6IERhdGUpIHtcbiAgY29uc3QgZGF0YSA9IEpTT04ucGFyc2UocmVxdWVzdC5wb3N0RGF0YSgpIHx8ICd7fScpO1xuXG4gIGRhdGEuaW5Gcm9tRGF0ZSA9IGdldFN0YXJ0TW9tZW50KG9wdGlvbnNTdGFydERhdGUpLmZvcm1hdChEQVRFX0ZPUk1BVCk7XG4gIGRhdGEuaW5Ub0RhdGUgPSBtb21lbnQoKS5mb3JtYXQoREFURV9GT1JNQVQpO1xuICBkYXRhLnRhYmxlLm1heFJvdyA9IE1BWF9ST1dTX1BFUl9SRVFVRVNUO1xuXG4gIHJldHVybiBkYXRhO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVIZWFkZXJzRnJvbVJlcXVlc3QocmVxdWVzdDogUmVxdWVzdCkge1xuICByZXR1cm4ge1xuICAgIG1penJhaGl4c3JmdG9rZW46IHJlcXVlc3QuaGVhZGVycygpLm1penJhaGl4c3JmdG9rZW4sXG4gICAgJ0NvbnRlbnQtVHlwZSc6IHJlcXVlc3QuaGVhZGVycygpWydjb250ZW50LXR5cGUnXSxcbiAgfTtcbn1cblxuXG5mdW5jdGlvbiBjb252ZXJ0VHJhbnNhY3Rpb25zKHR4bnM6IFNjcmFwZWRUcmFuc2FjdGlvbltdKTogVHJhbnNhY3Rpb25bXSB7XG4gIHJldHVybiB0eG5zLm1hcCgocm93KSA9PiB7XG4gICAgY29uc3QgdHhuRGF0ZSA9IG1vbWVudChyb3cuTUMwMlBldWxhVGFhRVosIG1vbWVudC5IVE1MNV9GTVQuREFURVRJTUVfTE9DQUxfU0VDT05EUylcbiAgICAgIC50b0lTT1N0cmluZygpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6IFRyYW5zYWN0aW9uVHlwZXMuTm9ybWFsLFxuICAgICAgaWRlbnRpZmllcjogcm93Lk1DMDJBc21haHRhTWVrb3JpdEVaID8gcGFyc2VJbnQocm93Lk1DMDJBc21haHRhTWVrb3JpdEVaLCAxMCkgOiB1bmRlZmluZWQsXG4gICAgICBkYXRlOiB0eG5EYXRlLFxuICAgICAgcHJvY2Vzc2VkRGF0ZTogdHhuRGF0ZSxcbiAgICAgIG9yaWdpbmFsQW1vdW50OiByb3cuTUMwMlNjaHVtRVosXG4gICAgICBvcmlnaW5hbEN1cnJlbmN5OiBTSEVLRUxfQ1VSUkVOQ1ksXG4gICAgICBjaGFyZ2VkQW1vdW50OiByb3cuTUMwMlNjaHVtRVosXG4gICAgICBkZXNjcmlwdGlvbjogcm93Lk1DMDJUbnVhVGV1ckVaLFxuICAgICAgc3RhdHVzOiBUcmFuc2FjdGlvblN0YXR1c2VzLkNvbXBsZXRlZCxcbiAgICB9O1xuICB9KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZXh0cmFjdFBlbmRpbmdUcmFuc2FjdGlvbnMocGFnZTogRnJhbWUpOiBQcm9taXNlPFRyYW5zYWN0aW9uW10+IHtcbiAgY29uc3QgcGVuZGluZ1R4biA9IGF3YWl0IHBhZ2VFdmFsQWxsKHBhZ2UsICd0ci5yZ1JvdycsIFtdLCAodHJzKSA9PiB7XG4gICAgcmV0dXJuIHRycy5tYXAoKHRyKSA9PiBBcnJheS5mcm9tKHRyLnF1ZXJ5U2VsZWN0b3JBbGwoJ3RkJyksICh0ZDogSFRNTFRhYmxlRGF0YUNlbGxFbGVtZW50KSA9PiB0ZC50ZXh0Q29udGVudCB8fCAnJykpO1xuICB9KTtcblxuICByZXR1cm4gcGVuZGluZ1R4bi5tYXAoKHR4bikgPT4ge1xuICAgIGNvbnN0IGRhdGUgPSBtb21lbnQodHhuWzBdLCAnREQvTU0vWVknKS50b0lTT1N0cmluZygpO1xuICAgIGNvbnN0IGFtb3VudCA9IHBhcnNlSW50KHR4blszXSwgMTApO1xuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiBUcmFuc2FjdGlvblR5cGVzLk5vcm1hbCxcbiAgICAgIGRhdGUsXG4gICAgICBwcm9jZXNzZWREYXRlOiBkYXRlLFxuICAgICAgb3JpZ2luYWxBbW91bnQ6IGFtb3VudCxcbiAgICAgIG9yaWdpbmFsQ3VycmVuY3k6IFNIRUtFTF9DVVJSRU5DWSxcbiAgICAgIGNoYXJnZWRBbW91bnQ6IGFtb3VudCxcbiAgICAgIGRlc2NyaXB0aW9uOiB0eG5bMV0sXG4gICAgICBzdGF0dXM6IFRyYW5zYWN0aW9uU3RhdHVzZXMuUGVuZGluZyxcbiAgICB9O1xuICB9KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gcG9zdExvZ2luKHBhZ2U6IFBhZ2UpIHtcbiAgYXdhaXQgUHJvbWlzZS5yYWNlKFtcbiAgICB3YWl0VW50aWxFbGVtZW50Rm91bmQocGFnZSwgYWZ0ZXJMb2dpblNlbGVjdG9yKSxcbiAgICB3YWl0VW50aWxFbGVtZW50Rm91bmQocGFnZSwgaW52YWxpZFBhc3N3b3JkU2VsZWN0b3IpLFxuICAgIHdhaXRGb3JVcmwocGFnZSwgQ0hBTkdFX1BBU1NXT1JEX1VSTCksXG4gIF0pO1xufVxuXG5jbGFzcyBNaXpyYWhpU2NyYXBlciBleHRlbmRzIEJhc2VTY3JhcGVyV2l0aEJyb3dzZXIge1xuICBnZXRMb2dpbk9wdGlvbnMoY3JlZGVudGlhbHM6IFNjcmFwZXJDcmVkZW50aWFscykge1xuICAgIHJldHVybiB7XG4gICAgICBsb2dpblVybDogTE9HSU5fVVJMLFxuICAgICAgZmllbGRzOiBjcmVhdGVMb2dpbkZpZWxkcyhjcmVkZW50aWFscyksXG4gICAgICBzdWJtaXRCdXR0b25TZWxlY3RvcixcbiAgICAgIGNoZWNrUmVhZGluZXNzOiBhc3luYyAoKSA9PiB3YWl0VW50aWxFbGVtZW50RGlzYXBwZWFyKHRoaXMucGFnZSwgbG9naW5TcGlubmVyU2VsZWN0b3IpLFxuICAgICAgcG9zdEFjdGlvbjogYXN5bmMgKCkgPT4gcG9zdExvZ2luKHRoaXMucGFnZSksXG4gICAgICBwb3NzaWJsZVJlc3VsdHM6IGdldFBvc3NpYmxlTG9naW5SZXN1bHRzKHRoaXMucGFnZSksXG4gICAgfTtcbiAgfVxuXG4gIGFzeW5jIGZldGNoRGF0YSgpIHtcbiAgICBjb25zdCBudW1PZkFjY291bnRzID0gKGF3YWl0IHRoaXMucGFnZS4kJChhY2NvdW50RHJvcERvd25JdGVtU2VsZWN0b3IpKS5sZW5ndGg7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3VsdHM6IFRyYW5zYWN0aW9uc0FjY291bnRbXSA9IFtdO1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBudW1PZkFjY291bnRzOyBpICs9IDEpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5wYWdlLiQkZXZhbChhY2NvdW50RHJvcERvd25JdGVtU2VsZWN0b3IsIChlbHMsIGkpID0+IChlbHNbaV0gYXMgSFRNTEVsZW1lbnQpLmNsaWNrKCksIGkpO1xuICAgICAgICByZXN1bHRzLnB1c2goYXdhaXQgdGhpcy5mZXRjaEFjY291bnQoKSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIHN1Y2Nlc3M6IHRydWUsXG4gICAgICAgIGFjY291bnRzOiByZXN1bHRzLFxuICAgICAgfTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBzdWNjZXNzOiBmYWxzZSxcbiAgICAgICAgZXJyb3JUeXBlOiBTY3JhcGVyRXJyb3JUeXBlcy5HZW5lcmljLFxuICAgICAgICBlcnJvck1lc3NhZ2U6IChlIGFzIEVycm9yKS5tZXNzYWdlLFxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGZldGNoQWNjb3VudCgpIHtcbiAgICBhd2FpdCB0aGlzLm5hdmlnYXRlVG8oT1NIX1BBR0UsIHRoaXMucGFnZSk7XG5cbiAgICBjb25zdCByZXF1ZXN0ID0gYXdhaXQgdGhpcy5wYWdlLndhaXRGb3JSZXF1ZXN0KFRSQU5TQUNUSU9OU19SRVFVRVNUX1VSTCk7XG4gICAgY29uc3QgZGF0YSA9IGNyZWF0ZURhdGFGcm9tUmVxdWVzdChyZXF1ZXN0LCB0aGlzLm9wdGlvbnMuc3RhcnREYXRlKTtcbiAgICBjb25zdCBoZWFkZXJzID0gY3JlYXRlSGVhZGVyc0Zyb21SZXF1ZXN0KHJlcXVlc3QpO1xuXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaFBvc3RXaXRoaW5QYWdlPFNjcmFwZWRUcmFuc2FjdGlvbnNSZXN1bHQ+KHRoaXMucGFnZSxcbiAgICAgIFRSQU5TQUNUSU9OU19SRVFVRVNUX1VSTCwgZGF0YSwgaGVhZGVycyk7XG5cbiAgICBpZiAoIXJlc3BvbnNlIHx8IHJlc3BvbnNlLmhlYWRlci5zdWNjZXNzID09PSBmYWxzZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBFcnJvciBmZXRjaGluZyB0cmFuc2FjdGlvbi4gUmVzcG9uc2UgbWVzc2FnZTogJHtyZXNwb25zZSA/IHJlc3BvbnNlLmhlYWRlci5tZXNzYWdlc1swXS50ZXh0IDogJyd9YCk7XG4gICAgfVxuXG4gICAgY29uc3QgcmVsZXZhbnRSb3dzID0gcmVzcG9uc2UuYm9keS50YWJsZS5yb3dzLmZpbHRlcigocm93KSA9PiByb3cuUmVjVHlwZVNwZWNpZmllZCk7XG4gICAgY29uc3Qgb3NoVHhuID0gY29udmVydFRyYW5zYWN0aW9ucyhyZWxldmFudFJvd3MpO1xuXG4gICAgLy8gd29ya2Fyb3VuZCBmb3IgYSBidWcgd2hpY2ggdGhlIGJhbmsncyBBUEkgcmV0dXJucyB0cmFuc2FjdGlvbnMgYmVmb3JlIHRoZSByZXF1ZXN0ZWQgc3RhcnQgZGF0ZVxuICAgIGNvbnN0IHN0YXJ0TW9tZW50ID0gZ2V0U3RhcnRNb21lbnQodGhpcy5vcHRpb25zLnN0YXJ0RGF0ZSk7XG4gICAgY29uc3Qgb3NoVHhuQWZ0ZXJTdGFydERhdGUgPSBvc2hUeG4uZmlsdGVyKCh0eG4pID0+IG1vbWVudCh0eG4uZGF0ZSkuaXNTYW1lT3JBZnRlcihzdGFydE1vbWVudCkpO1xuXG4gICAgYXdhaXQgdGhpcy5uYXZpZ2F0ZVRvKFBFTkRJTkdfVFJBTlNBQ1RJT05TX1BBR0UsIHRoaXMucGFnZSk7XG4gICAgY29uc3QgZnJhbWUgPSBhd2FpdCB3YWl0VW50aWxJZnJhbWVGb3VuZCh0aGlzLnBhZ2UsIChmKSA9PiBmLnVybCgpLmluY2x1ZGVzKFBFTkRJTkdfVFJBTlNBQ1RJT05TX0lGUkFNRSkpO1xuICAgIGF3YWl0IHdhaXRVbnRpbEVsZW1lbnRGb3VuZChmcmFtZSwgcGVuZGluZ1RyeElkZW50aWZpZXJJZCk7XG4gICAgY29uc3QgcGVuZGluZ1R4biA9IGF3YWl0IGV4dHJhY3RQZW5kaW5nVHJhbnNhY3Rpb25zKGZyYW1lKTtcblxuICAgIGNvbnN0IGFsbFR4biA9IG9zaFR4bkFmdGVyU3RhcnREYXRlLmNvbmNhdChwZW5kaW5nVHhuKTtcblxuICAgIHJldHVybiB7XG4gICAgICBhY2NvdW50TnVtYmVyOiByZXNwb25zZS5ib2R5LmZpZWxkcy5BY2NvdW50TnVtYmVyLFxuICAgICAgdHhuczogYWxsVHhuLFxuICAgICAgYmFsYW5jZTogK3Jlc3BvbnNlLmJvZHkuZmllbGRzLllpdHJhTGVsb0NoZWtpbSxcbiAgICB9O1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IE1penJhaGlTY3JhcGVyO1xuIl19
|